From eebe766fc6f2444a690b8bfd2b0de41c91547e95 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 15 May 2014 14:16:36 +0200
Subject: [PATCH 001/158] - fixed default selected value in DATETIME form
 element

---
 interface/lib/classes/tform.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 5fc06279bc..05740b1768 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -1509,7 +1509,7 @@ class tform {
 	 */
 	function _getDateTimeHTML($form_element, $default_value, $display_seconds=false)
 	{
-		$_datetime = strtotime($default_value);
+		$_datetime = ($default_value && $default_value != '0000-00-00 00:00:00' ? strtotime($default_value) : false);
 		$_showdate = ($_datetime === false) ? false : true;
 
 		$dselect = array('day', 'month', 'year', 'hour', 'minute');
-- 
GitLab


From 8385934b059c4ea11d527ea580e9af31153b360d Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Tue, 20 May 2014 10:40:35 +0200
Subject: [PATCH 002/158] - backups: plugin checks mount point of wrong backup
 directory (e.g. /var/backup/web10 instead of /var/backup).

---
 server/plugins-available/backup_plugin.inc.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php
index 46be0a6006..c3ed1aee4f 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -75,10 +75,10 @@ class backup_plugin {
 			$backup_dir_is_ready = true;
 			$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
 			if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
-				if(!$app->system->is_mounted($backup_dir)){
+				if(!$app->system->is_mounted($server_config['backup_dir'])){
 					exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
 					sleep(1);
-					if(!$app->system->is_mounted($backup_dir)) $backup_dir_is_ready = false;
+					if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
 				}
 			}
 
-- 
GitLab


From f93b6f4590d459f3aa7951ebdbcd4faa191fd366 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 21 May 2014 14:16:59 +0200
Subject: [PATCH 003/158] Fixed a syntax error in mail_user_password_edit.php

---
 interface/web/mailuser/mail_user_password_edit.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/interface/web/mailuser/mail_user_password_edit.php b/interface/web/mailuser/mail_user_password_edit.php
index f6d6d78231..07a19259ea 100644
--- a/interface/web/mailuser/mail_user_password_edit.php
+++ b/interface/web/mailuser/mail_user_password_edit.php
@@ -51,7 +51,8 @@ $app->load('tform_actions');
 class page_action extends tform_actions {
 
 	function onSubmit() {
-
+		global $app, $conf;
+		
 		$this->id = $app->functions->intval($_SESSION['s']['user']['mailuser_id']);
 
 		parent::onSubmit();
-- 
GitLab


From f1eacebbfa9aebc255b1b4c56c682b96da405b6c Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Thu, 22 May 2014 09:37:23 +0200
Subject: [PATCH 004/158] - Added client field to DNS and DNS slave list views.

---
 .../dns/lib/lang/de_dns_slave_admin_list.lng  | 10 +++
 .../dns/lib/lang/de_dns_soa_admin_list.lng    | 11 +++
 .../dns/lib/lang/en_dns_slave_admin_list.lng  | 10 +++
 .../dns/lib/lang/en_dns_soa_admin_list.lng    | 11 +++
 interface/web/dns/list/dns_slave.list.php     | 22 ++++-
 interface/web/dns/list/dns_soa.list.php       | 22 ++++-
 .../dns/templates/dns_slave_admin_list.htm    | 83 ++++++++++++++++++
 .../web/dns/templates/dns_soa_admin_list.htm  | 86 +++++++++++++++++++
 8 files changed, 253 insertions(+), 2 deletions(-)
 create mode 100644 interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/templates/dns_slave_admin_list.htm
 create mode 100644 interface/web/dns/templates/dns_soa_admin_list.htm

diff --git a/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..974e214f63
--- /dev/null
+++ b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Slave DNS-Zonen';
+$wb['active_txt'] = 'Aktiv';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen';
+$wb['eg_domain_tld'] = 'Format: domain.tld.';
+$wb['sys_groupid_txt'] = 'Kunde';
+?>
diff --git a/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..363369c65b
--- /dev/null
+++ b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS Zonen';
+$wb['active_txt'] = 'Aktiv';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'E-Mail';
+$wb['add_new_record_txt'] = 'Neue DNS Zone (SOA) hinzufügen';
+$wb['add_new_record_wizard_txt'] = 'Neue DNS Zone per Assistent hinzufügen';
+$wb['sys_groupid_txt'] = 'Kunde';
+?>
diff --git a/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/list/dns_slave.list.php b/interface/web/dns/list/dns_slave.list.php
index 5a242de14c..5c0be05fb3 100644
--- a/interface/web/dns/list/dns_slave.list.php
+++ b/interface/web/dns/list/dns_slave.list.php
@@ -13,7 +13,11 @@
 
 
 // Name of the list
-$liste["name"]    = "dns_slave";
+if($_SESSION['s']['user']['typ'] == 'admin') {
+	$liste["name"]     = "dns_slave_admin";
+} else {
+	$liste["name"]     = "dns_slave";
+}
 
 // Database table
 $liste["table"]   = "dns_slave";
@@ -70,6 +74,22 @@ $liste["item"][] = array(   'field' => "server_id",
 	),
 	'width' => "",
 	'value' => "");
+	
+if($_SESSION['s']['user']['typ'] == 'admin') {
+	$liste["item"][] = array( 'field'  => "sys_groupid",
+		'datatype' => "INTEGER",
+		'formtype' => "SELECT",
+		'op'  => "=",
+		'prefix' => "",
+		'suffix' => "",
+		'datasource' => array (  'type' => 'SQL',
+			'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
+			'keyfield'=> 'groupid',
+			'valuefield'=> 'name'
+		),
+		'width'  => "",
+		'value'  => "");
+}
 
 $liste["item"][] = array(   'field' => "origin",
 	'datatype' => "VARCHAR",
diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php
index e3b240a7cd..d6f56414e0 100644
--- a/interface/web/dns/list/dns_soa.list.php
+++ b/interface/web/dns/list/dns_soa.list.php
@@ -13,7 +13,11 @@
 
 
 // Name of the list
-$liste["name"]     = "dns_soa";
+if($_SESSION['s']['user']['typ'] == 'admin') {
+	$liste["name"]     = "dns_soa_admin";
+} else {
+	$liste["name"]     = "dns_soa";
+}
 
 // Database table
 $liste["table"]    = "dns_soa";
@@ -70,6 +74,22 @@ $liste["item"][] = array( 'field'  => "server_id",
 	),
 	'width'  => "",
 	'value'  => "");
+	
+if($_SESSION['s']['user']['typ'] == 'admin') {
+	$liste["item"][] = array( 'field'  => "sys_groupid",
+		'datatype' => "INTEGER",
+		'formtype' => "SELECT",
+		'op'  => "=",
+		'prefix' => "",
+		'suffix' => "",
+		'datasource' => array (  'type' => 'SQL',
+			'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
+			'keyfield'=> 'groupid',
+			'valuefield'=> 'name'
+		),
+		'width'  => "",
+		'value'  => "");
+}
 
 $liste["item"][] = array( 'field'  => "origin",
 	'datatype' => "VARCHAR",
diff --git a/interface/web/dns/templates/dns_slave_admin_list.htm b/interface/web/dns/templates/dns_slave_admin_list.htm
new file mode 100644
index 0000000000..d4f13ce8c4
--- /dev/null
+++ b/interface/web/dns/templates/dns_slave_admin_list.htm
@@ -0,0 +1,83 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_dns_slave">
+
+    <div class="pnl_toolsarea">
+        <tmpl_if name='datalog_changes_count' op='>' value='0'>
+        <div>
+            <div class="systemmonitor-state state-info">
+                <div class="status"></div>
+                <div class="statusMsg">
+                    {tmpl_var name="datalog_changes_txt"}
+                    <ul>
+                    <tmpl_loop name="datalog_changes">
+                        <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
+                    </tmpl_loop>
+                    </ul>
+                    {tmpl_var name="datalog_changes_end_txt"}
+                </div>
+            </div><br />
+        </div>
+        </tmpl_if>
+        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+            <div class="buttons">
+                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_slave_edit.php');">
+                    <span>{tmpl_var name="add_new_record_txt"}</span>
+                </button>
+            </div>
+        </fieldset>
+    </div>
+
+    <div class="pnl_listarea">
+        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+            <table class="list">
+                <thead>
+                <tr class="caption">
+                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+					<th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
+                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
+                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
+                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+                </tr>
+                <tr class="filter">
+                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+					<td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
+                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
+                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
+                    <td class="tbl_col_buttons">
+                        <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_slave_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+                    </td>
+                </tr>
+                </thead>
+                <tbody>
+                <tmpl_loop name="records">
+                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                        <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
+						<td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
+                        <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+                        <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
+                        <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
+                        <td class="tbl_col_buttons">
+                            <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_slave_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                        </td>
+                    </tr>
+                </tmpl_loop>
+                <tmpl_unless name="records">
+                    <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                        <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+                    </tr>
+                </tmpl_unless>
+                </tbody>
+                <tfoot>
+                <tr>
+                    <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
+                </tr>
+                </tfoot>
+            </table>
+        </fieldset>
+    </div>
+
+</div>
diff --git a/interface/web/dns/templates/dns_soa_admin_list.htm b/interface/web/dns/templates/dns_soa_admin_list.htm
new file mode 100644
index 0000000000..b77f884499
--- /dev/null
+++ b/interface/web/dns/templates/dns_soa_admin_list.htm
@@ -0,0 +1,86 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_dns_soa">
+
+    <div class="pnl_toolsarea">
+        <tmpl_if name='datalog_changes_count' op='>' value='0'>
+        <div>
+            <div class="systemmonitor-state state-info">
+                <div class="status"></div>
+                <div class="statusMsg">
+                    {tmpl_var name="datalog_changes_txt"}
+                    <ul>
+                    <tmpl_loop name="datalog_changes">
+                        <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
+                    </tmpl_loop>
+                    </ul>
+                    {tmpl_var name="datalog_changes_end_txt"}
+                </div>
+            </div><br />
+        </div>
+        </tmpl_if>
+        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+            <div class="buttons">
+                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name="add_new_record_wizard_txt"}</span></button>
+                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_soa_edit.php');"><span>{tmpl_var name="add_new_record_txt"}</span></button>
+                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_import.php');"><span>Import Zone File</span></button>
+            </div>
+        </fieldset>
+    </div>
+
+    <div class="pnl_listarea">
+        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+            <table class="list">
+            <thead>
+                <tr class="caption">
+                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+					<th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
+                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
+                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
+                    <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
+                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+                </tr>
+                <tr class="filter">
+                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+					<td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
+                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
+                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
+                    <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></td>
+                    <td class="tbl_col_buttons">
+                        <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_soa_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+                    </td>
+                </tr>
+            </thead>
+            <tbody>
+                <tmpl_loop name="records">
+                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                        <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
+						<td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
+                        <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+                        <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
+                        <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
+                        <td class="tbl_col_mbox"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
+                        <td class="tbl_col_buttons">   
+                            <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                        </td>
+                    </tr>
+                </tmpl_loop>
+                <tmpl_unless name="records">
+                    <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                        <td colspan="7">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+                    </tr>
+                </tmpl_unless>
+            </tbody>
+            <tfoot>
+                <tr>
+                    <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
+                </tr>
+            </tfoot>
+            </table>
+        </fieldset>
+    </div>
+
+</div>
\ No newline at end of file
-- 
GitLab


From 896a5820ec4bd985d1772d7e9b72602fbc6ebf91 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Fri, 23 May 2014 01:36:48 +0200
Subject: [PATCH 005/158] - Fixed "no_domain_perm" error when trying to add
 proxy directives for subdomains or alias domains (nginx).

---
 interface/web/sites/web_aliasdomain_edit.php | 10 +++++++++-
 interface/web/sites/web_subdomain_edit.php   |  9 ++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php
index 4131109821..008e7078a7 100644
--- a/interface/web/sites/web_aliasdomain_edit.php
+++ b/interface/web/sites/web_aliasdomain_edit.php
@@ -123,9 +123,17 @@ class page_action extends tform_actions {
 
 	function onSubmit() {
 		global $app, $conf;
+		
+		// Get the record of the parent domain
+		if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
+			$tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+			if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
+			unset($tmp);
+		}
 
 		// Get the record of the parent domain
 		$parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
+		
 		if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
 		/* check if the domain module is used - and check if the selected domain can be used! */
 		$app->uses('ini_parser,getconf');
@@ -153,7 +161,7 @@ class page_action extends tform_actions {
 
 		//* make sure that the domain is lowercase
 		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
-
+		
 		parent::onSubmit();
 	}
 
diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php
index 0d485c4394..4d079ff7e2 100644
--- a/interface/web/sites/web_subdomain_edit.php
+++ b/interface/web/sites/web_subdomain_edit.php
@@ -130,6 +130,13 @@ class page_action extends tform_actions {
 
 	function onSubmit() {
 		global $app, $conf;
+		
+		// Get the record of the parent domain
+		if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
+			$tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+			if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
+			unset($tmp);
+		}
 
 		// Get the record of the parent domain
 		$parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
@@ -162,7 +169,7 @@ class page_action extends tform_actions {
 
 		//* make sure that the domain is lowercase
 		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
-
+		
 		parent::onSubmit();
 	}
 
-- 
GitLab


From bcd725da57d20004a30e6934d5bc9669241461e4 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Tue, 27 May 2014 19:08:59 +0200
Subject: [PATCH 006/158] - Implemented non-interactive install/update mode.

---
 install/autoinstall.conf_sample.php |  44 +++++++
 install/install.php                 | 172 +++++++++++++++++++++++-----
 install/lib/installer_base.lib.php  |  15 ++-
 install/update.php                  |  60 ++++++++--
 4 files changed, 245 insertions(+), 46 deletions(-)
 create mode 100644 install/autoinstall.conf_sample.php

diff --git a/install/autoinstall.conf_sample.php b/install/autoinstall.conf_sample.php
new file mode 100644
index 0000000000..92ec008963
--- /dev/null
+++ b/install/autoinstall.conf_sample.php
@@ -0,0 +1,44 @@
+<?php
+$autoinstall['language'] = 'en'; // de, en (default)
+$autoinstall['install_mode'] = 'standard'; // standard (default), expert
+
+$autoinstall['hostname'] = 'server1.example.com'; // default
+$autoinstall['mysql_hostname'] = 'localhost'; // default: localhost
+$autoinstall['mysql_root_user'] = 'root'; // default: root
+$autoinstall['mysql_root_password'] = 'howtoforge';
+$autoinstall['mysql_database'] = 'dbispconfig'; // default: dbispcongig
+$autoinstall['mysql_charset'] = 'utf8'; // default: utf8
+$autoinstall['http_server'] = 'nginx'; // apache (default), nginx
+$autoinstall['ispconfig_port'] = '8080'; // default: 8080
+$autoinstall['ispconfig_use_ssl'] = 'y'; // y (default), n
+
+/* optional expert mode settings, needed only for expert mode */
+$autoinstall['mysql_ispconfig_user'] = 'ispconfig'; // default: ispconfig
+$autoinstall['mysql_ispconfig_password'] = md5(uniqid(rand()));
+$autoinstall['join_multiserver_setup'] = 'n'; // y, n (default)
+$autoinstall['mysql_master_hostname'] = 'master.example.com';
+$autoinstall['mysql_master_root_user'] = 'root';
+$autoinstall['mysql_master_root_password'] = 'howtoforge';
+$autoinstall['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
+$autoinstall['configure_mail'] = 'y'; // y (default), n
+$autoinstall['configure_jailkit'] = 'y'; // y (default), n
+$autoinstall['configure_ftp'] = 'y'; // y (default), n
+$autoinstall['configure_dns'] = 'y'; // y (default), n
+$autoinstall['configure_apache'] = 'y'; // y (default), n
+$autoinstall['configure_nginx'] = 'y'; // y (default), n
+$autoinstall['configure_firewall'] = 'y'; // y (default), n
+$autoinstall['install_ispconfig_web_interface'] = 'y'; // y (default), n
+
+/* optional update settings, needed only for updates */
+$autoupdate['do_backup'] = 'yes'; // yes (default), no
+$autoupdate['mysql_root_password'] = 'howtoforge';
+$autoupdate['mysql_master_hostname'] = 'master.example.com';
+$autoupdate['mysql_master_root_user'] = 'root';
+$autoupdate['mysql_master_root_password'] = 'howtoforge';
+$autoupdate['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
+$autoupdate['reconfigure_permissions_in_master_database'] = 'no'; // no (default), yes
+$autoupdate['reconfigure_services'] = 'yes'; // yes (default), no
+$autoupdate['ispconfig_port'] = '8080'; // default: 8080
+$autoupdate['create_new_ispconfig_ssl_cert'] = 'no'; // no (default), yes
+$autoupdate['reconfigure_crontab'] = 'yes'; // yes (default), no
+?>
\ No newline at end of file
diff --git a/install/install.php b/install/install.php
index 796b0273fd..838209ec12 100644
--- a/install/install.php
+++ b/install/install.php
@@ -78,6 +78,10 @@ $dist = get_distname();
 
 if($dist['id'] == '') die('Linux distribution or version not recognized.');
 
+//** Include the autoinstaller configuration (for non-interactive setups)
+error_reporting(E_ALL ^ E_NOTICE);
+if(is_file('autoinstall.conf.php')) include_once 'autoinstall.conf.php';
+
 //** Include the distribution-specific installer class library and configuration
 if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
 include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -109,7 +113,12 @@ if(is_dir('/usr/local/ispconfig')) {
 $inst->find_installed_apps();
 
 //** Select the language and set default timezone
-$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en');
+if($autoinstall['language'] == 'default') $autoinstall['language'] = 'en';
+if($autoinstall['language'] == 'en' || $autoinstall['language'] == 'de'){
+	$conf['language'] = $autoinstall['language'];
+} else {
+	$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en');
+}
 $conf['timezone'] = get_system_timezone();
 
 //* Set default theme
@@ -117,13 +126,19 @@ $conf['theme'] = 'default';
 $conf['language_file_import_enabled'] = true;
 
 //** Select installation mode
-$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard');
+if($autoinstall['install_mode'] == 'default') $autoinstall['install_mode'] = 'standard';
+if($autoinstall['install_mode'] == 'standard' || $autoinstall['install_mode'] == 'expert'){
+	$install_mode = $autoinstall['install_mode'];
+} else {
+	$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard');
+}
 
 
 //** Get the hostname
 $tmp_out = array();
 exec('hostname -f', $tmp_out);
-$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]);
+if($autoinstall['hostname'] == 'default') $autoinstall['hostname'] = @$tmp_out[0];
+$conf['hostname'] = ($autoinstall['hostname'] != '' ? $autoinstall['hostname'] : $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]));
 unset($tmp_out);
 
 // Check if the mysql functions are loaded in PHP
@@ -132,16 +147,24 @@ if(!function_exists('mysql_connect')) die('No PHP MySQL functions available. Ple
 //** Get MySQL root credentials
 $finished = false;
 do {
-	$tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host']);
-	$tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user']);
-	$tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
-	$tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database']);
-	$tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset']);
+	if($autoinstall['mysql_hostname'] == 'default') $autoinstall['mysql_hostname'] = $conf['mysql']['host'];
+	if($autoinstall['mysql_root_user'] == 'default') $autoinstall['mysql_root_user'] = $conf['mysql']['admin_user'];
+	if($autoinstall['mysql_database'] == 'default') $autoinstall['mysql_database'] = $conf['mysql']['database'];
+	if($autoinstall['mysql_charset'] == 'default') $autoinstall['mysql_charset'] = $conf['mysql']['charset'];
+	
+	$tmp_mysql_server_host = ($autoinstall['mysql_hostname'] != ''? $autoinstall['mysql_hostname'] : $inst->free_query('MySQL server hostname', $conf['mysql']['host']));
+	$tmp_mysql_server_admin_user = ($autoinstall['mysql_root_user'] != ''? $autoinstall['mysql_root_user'] : $inst->free_query('MySQL root username', $conf['mysql']['admin_user']));
+	$tmp_mysql_server_admin_password = (isset($autoinstall['mysql_root_password'])? $autoinstall['mysql_root_password'] : $inst->free_query('MySQL root password', $conf['mysql']['admin_password']));
+	$tmp_mysql_server_database = ($autoinstall['mysql_database'] != ''? $autoinstall['mysql_database'] : $inst->free_query('MySQL database to create', $conf['mysql']['database']));
+	$tmp_mysql_server_charset = ($autoinstall['mysql_charset'] != ''? $autoinstall['mysql_charset'] : $inst->free_query('MySQL charset', $conf['mysql']['charset']));
 
 	if($install_mode == 'expert') {
 		swriteln("The next two questions are about the internal ISPConfig database user and password.\nIt is recommended to accept the defaults which are 'ispconfig' as username and a random password.\nIf you use a different password, use only numbers and chars for the password.\n");
-		$conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']);
-		$conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']);
+		
+		if($autoinstall['mysql_ispconfig_user'] == 'default') $autoinstall['mysql_ispconfig_user'] = $conf['mysql']['ispconfig_user'];
+		
+		$conf['mysql']['ispconfig_user'] = ($autoinstall['mysql_ispconfig_user'] != ''? $autoinstall['mysql_ispconfig_user'] : $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']));
+		$conf['mysql']['ispconfig_password'] = (isset($autoinstall['mysql_ispconfig_password'])? $autoinstall['mysql_ispconfig_password'] : $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']));
 	}
 
 	//* Initialize the MySQL server connection
@@ -176,7 +199,12 @@ if($install_mode == 'standard') {
 
 	//* Configure Webserver - Apache or nginx
 	if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
-		$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+		if($autoinstall['http_server'] == 'default') $autoinstall['http_server'] = 'apache';
+		if($autoinstall['http_server'] == 'apache' || $autoinstall['http_server'] == 'nginx'){
+			$http_server_to_use = $autoinstall['http_server'];
+		} else {
+			$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+		}
 		if($http_server_to_use == 'apache'){
 			$conf['nginx']['installed'] = false;
 		} else {
@@ -293,13 +321,19 @@ if($install_mode == 'standard') {
 	swriteln('Installing ISPConfig');
 
 	//** Customize the port ISPConfig runs on
-	$ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
+	if($autoinstall['isspconfig_port'] == 'default') $autoinstall['ispconfig_port'] = '8080';
+	$ispconfig_vhost_port = (intval($autoinstall['ispconfig_port']) > 0 ? intval($autoinstall['ispconfig_port']) : $inst->free_query('ISPConfig Port', '8080'));
 	if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
 	if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
 	unset($ispconfig_vhost_port);
 
-	if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
-		$inst->make_ispconfig_ssl_cert();
+	if($autoinstall['ispconfig_use_ssl'] == 'default') $autoinstall['ispconfig_use_ssl'] = 'y';
+	if($autoinstall['ispconfig_use_ssl'] == 'y' || $autoinstall['ispconfig_use_ssl'] == 'n'){
+		if($autoinstall['ispconfig_use_ssl'] == 'y') $inst->make_ispconfig_ssl_cert();
+	} else {
+		if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
+			$inst->make_ispconfig_ssl_cert();
+		}
 	}
 
 	$inst->install_ispconfig();
@@ -354,17 +388,26 @@ if($install_mode == 'standard') {
 	//** Get Server ID
 	// $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
 	// Server ID is an autoInc value of the mysql database now
+	$tmp_join_multiserver_setup = 'n';
+	if($autoinstall['join_multiserver_setup'] == 'default') $autoinstall['join_multiserver_setup'] = 'n';
+	if($autoinstall['join_multiserver_setup'] == 'y' || $autoinstall['join_multiserver_setup'] == 'n'){
+		$tmp_join_multiserver_setup = $autoinstall['join_multiserver_setup'];
+	} else {
+		$tmp_join_multiserver_setup = strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n'));
+	}
 
-	if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n')) == 'y') {
+	if($tmp_join_multiserver_setup == 'y') {
 		$conf['mysql']['master_slave_setup'] = 'y';
 
 		//** Get MySQL root credentials
 		$finished = false;
 		do {
-			$tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
-			$tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
-			$tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
-			$tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
+			if($autoinstall['mysql_master_database'] == 'default') $autoinstall['mysql_master_database'] = $conf['mysql']['master_database'];
+			
+			$tmp_mysql_server_host = ($autoinstall['mysql_master_hostname'] != ''? $autoinstall['mysql_master_hostname'] : $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']));
+			$tmp_mysql_server_admin_user = ($autoinstall['mysql_master_root_user'] != ''? $autoinstall['mysql_master_root_user'] : $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']));
+			$tmp_mysql_server_admin_password = (isset($autoinstall['mysql_master_root_password'])? $autoinstall['mysql_master_root_password'] : $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']));
+			$tmp_mysql_server_database = ($autoinstall['mysql_master_database'] != ''? $autoinstall['mysql_master_database'] : $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']));
 
 			//* Initialize the MySQL server connection
 			if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -397,7 +440,12 @@ if($install_mode == 'standard') {
 
 	//* Configure Webserver - Apache or nginx
 	if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
-		$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+		if($autoinstall['http_server'] == 'default') $autoinstall['http_server'] = 'apache';
+		if($autoinstall['http_server'] == 'apache' || $autoinstall['http_server'] == 'nginx'){
+			$http_server_to_use = $autoinstall['http_server'];
+		} else {
+			$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+		}
 		if($http_server_to_use == 'apache'){
 			$conf['nginx']['installed'] = false;
 		} else {
@@ -410,8 +458,15 @@ if($install_mode == 'standard') {
 	swriteln('');
 	$inst->add_database_server_record();
 
+	$tmp_configure_mail = 'y';
+	if($autoinstall['configure_mail'] == 'default') $autoinstall['configure_mail'] = 'y';
+	if($autoinstall['configure_mail'] == 'y' || $autoinstall['configure_mail'] == 'n'){
+		$tmp_configure_mail = $autoinstall['configure_mail'];
+	} else {
+		$tmp_configure_mail = strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y'));
+	}
 
-	if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y') ) == 'y') {
+	if($tmp_configure_mail == 'y') {
 
 		$conf['services']['mail'] = true;
 
@@ -470,20 +525,41 @@ if($install_mode == 'standard') {
 	}
 
 	//** Configure Jailkit
-	if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y') ) == 'y') {
+	$tmp_configure_jailkit = 'y';
+	if($autoinstall['configure_jailkit'] == 'default') $autoinstall['configure_jailkit'] = 'y';
+	if($autoinstall['configure_jailkit'] == 'y' || $autoinstall['configure_jailkit'] == 'n'){
+		$tmp_configure_jailkit = $autoinstall['configure_jailkit'];
+	} else {
+		$tmp_configure_jailkit = strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y'));
+	}
+	if($tmp_configure_jailkit == 'y') {
 		swriteln('Configuring Jailkit');
 		$inst->configure_jailkit();
 	}
 
 	//** Configure Pureftpd
-	if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y') ) == 'y') {
+	$tmp_configure_ftp = 'y';
+	if($autoinstall['configure_ftp'] == 'default') $autoinstall['configure_ftp'] = 'y';
+	if($autoinstall['configure_ftp'] == 'y' || $autoinstall['configure_ftp'] == 'n'){
+		$tmp_configure_ftp = $autoinstall['configure_ftp'];
+	} else {
+		$tmp_configure_ftp = strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y'));
+	}
+	if($tmp_configure_ftp == 'y') {
 		swriteln('Configuring Pureftpd');
 		$inst->configure_pureftpd();
 		if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
 	}
 
 	//** Configure DNS
-	if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y')) == 'y') {
+	$tmp_configure_dns = 'y';
+	if($autoinstall['configure_dns'] == 'default') $autoinstall['configure_dns'] = 'y';
+	if($autoinstall['configure_dns'] == 'y' || $autoinstall['configure_dns'] == 'n'){
+		$tmp_configure_dns = $autoinstall['configure_dns'];
+	} else {
+		$tmp_configure_dns = strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y'));
+	}
+	if($tmp_configure_dns == 'y') {
 		$conf['services']['dns'] = true;
 		//* Configure DNS
 		if($conf['powerdns']['installed'] == true) {
@@ -522,7 +598,14 @@ if($install_mode == 'standard') {
 	//** Configure Apache
 	if($conf['apache']['installed'] == true){
 		swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.\n");
-		if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y')) == 'y') {
+		$tmp_configure_apache = 'y';
+		if($autoinstall['configure_apache'] == 'default') $autoinstall['configure_apache'] = 'y';
+		if($autoinstall['configure_apache'] == 'y' || $autoinstall['configure_apache'] == 'n'){
+			$tmp_configure_apache = $autoinstall['configure_apache'];
+		} else {
+			$tmp_configure_apache = strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y'));
+		}
+		if($tmp_configure_apache == 'y') {
 			$conf['services']['web'] = true;
 			swriteln('Configuring Apache');
 			$inst->configure_apache();
@@ -540,7 +623,14 @@ if($install_mode == 'standard') {
 	//** Configure nginx
 	if($conf['nginx']['installed'] == true){
 		swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n");
-		if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y')) == 'y') {
+		$tmp_configure_nginx = 'y';
+		if($autoinstall['configure_nginx'] == 'default') $autoinstall['configure_nginx'] = 'y';
+		if($autoinstall['configure_nginx'] == 'y' || $autoinstall['configure_nginx'] == 'n'){
+			$tmp_configure_nginx = $autoinstall['configure_nginx'];
+		} else {
+			$tmp_configure_nginx = strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y'));
+		}
+		if($tmp_configure_nginx == 'y') {
 			$conf['services']['web'] = true;
 			swriteln('Configuring nginx');
 			$inst->configure_nginx();
@@ -556,7 +646,14 @@ if($install_mode == 'standard') {
 	}
 
 	//** Configure Firewall
-	if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y')) == 'y') {
+	$tmp_configure_firewall = 'y';
+	if($autoinstall['configure_firewall'] == 'default') $autoinstall['configure_firewall'] = 'y';
+	if($autoinstall['configure_firewall'] == 'y' || $autoinstall['configure_firewall'] == 'n'){
+		$tmp_configure_firewall = $autoinstall['configure_firewall'];
+	} else {
+		$tmp_configure_firewall = strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y'));
+	}
+	if($tmp_configure_firewall == 'y') {
 		//if($conf['bastille']['installed'] == true) {
 		//* Configure Bastille Firewall
 		$conf['services']['firewall'] = true;
@@ -579,7 +676,14 @@ if($install_mode == 'standard') {
 
 	//** Configure ISPConfig :-)
 	$install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y';
-	if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default)) == 'y') {
+	$tmp_install_ispconfig_web_interface = $install_ispconfig_interface_default;
+	if($autoinstall['install_ispconfig_web_interface'] == 'default') $autoinstall['install_ispconfig_web_interface'] = $install_ispconfig_interface_default;
+	if($autoinstall['install_ispconfig_web_interface'] == 'y' || $autoinstall['install_ispconfig_web_interface'] == 'n'){
+		$tmp_install_ispconfig_web_interface = $autoinstall['install_ispconfig_web_interface'];
+	} else {
+		$tmp_install_ispconfig_web_interface = strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default));
+	}
+	if($tmp_install_ispconfig_web_interface == 'y') {
 		swriteln('Installing ISPConfig');
 
 		//** We want to check if the server is a module or cgi based php enabled server
@@ -597,13 +701,19 @@ if($install_mode == 'standard') {
 		*/
 
 		//** Customise the port ISPConfig runs on
-		$ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
+		if($autoinstall['ispconfig_port'] == 'default') $autoinstall['ispconfig_port'] = '8080';
+		$ispconfig_vhost_port = (intval($autoinstall['ispconfig_port']) > 0 ? intval($autoinstall['ispconfig_port']) : $inst->free_query('ISPConfig Port', '8080'));
 		if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
 		if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
 		unset($ispconfig_vhost_port);
 
-		if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
-			$inst->make_ispconfig_ssl_cert();
+		if($autoinstall['ispconfig_use_ssl'] == 'default') $autoinstall['ispconfig_use_ssl'] = 'y';
+		if($autoinstall['ispconfig_use_ssl'] == 'y' || $autoinstall['ispconfig_use_ssl'] == 'n'){
+			if($autoinstall['ispconfig_use_ssl'] == 'y') $inst->make_ispconfig_ssl_cert();
+		} else {
+			if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
+				$inst->make_ispconfig_ssl_cert();
+			}
 		}
 
 		$inst->install_ispconfig_interface = true;
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 7d6348bf39..2fc9e0b87a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -750,8 +750,13 @@ class installer_base {
 
 		if(!stristr($options, 'dont-create-certs')) {
 			//* Create the SSL certificate
-			$command = 'cd '.$config_dir.'; '
-				.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+			if(is_file('autoinstall.conf.php')){
+				$command = 'cd '.$config_dir.'; '
+					.'openssl req -new -subj \'/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd\' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+			} else {
+				$command = 'cd '.$config_dir.'; '
+					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+			}
 			exec($command);
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -1683,7 +1688,11 @@ class installer_base {
 
 		$ssl_pw = substr(md5(mt_rand()), 0, 6);
 		exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096");
-		exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
+		if(is_file('autoinstall.conf.php')){
+			exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd' -key $ssl_key_file -out $ssl_csr_file");
+		} else {
+			exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
+		}
 		exec("openssl req -x509 -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -in $ssl_csr_file -out $ssl_crt_file -days 3650");
 		exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure");
 		rename($ssl_key_file, $ssl_key_file.'.secure');
diff --git a/install/update.php b/install/update.php
index 6a1b9d13e2..1862ef218b 100644
--- a/install/update.php
+++ b/install/update.php
@@ -83,6 +83,10 @@ unset($conf);
 
 if($dist['id'] == '') die('Linux distribution or version not recognized.');
 
+//** Include the autoinstaller configuration (for non-interactive setups)
+error_reporting(E_ALL ^ E_NOTICE);
+if(is_file('autoinstall.conf.php')) include_once 'autoinstall.conf.php';
+
 //** Include the distribution-specific installer class library and configuration
 if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
 include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -131,7 +135,13 @@ $inst->find_installed_apps();
 echo "This application will update ISPConfig 3 on your server.\n\n";
 
 //* Make a backup before we start the update
-$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes');
+if($autoupdate['do_backup'] == 'default') $autoupdate['do_backup'] = 'yes';
+if($autoupdate['do_backup'] == 'yes' || $autoupdate['do_backup'] == 'no'){
+	$do_backup = $autoupdate['do_backup'];
+} else {
+	$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes');
+}
+
 if($do_backup == 'yes') {
 
 	//* Create the backup directory
@@ -180,7 +190,7 @@ do {
 		$finished = true;
 	} else {
 		swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
-		$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
+		$conf["mysql"]["admin_password"] = (isset($autoupdate['mysql_root_password'])? $autoupdate['mysql_root_password'] : $inst->free_query('MySQL root password', $conf['mysql']['admin_password']));
 	}
 } while ($finished == false);
 unset($finished);
@@ -198,10 +208,12 @@ if($conf['mysql']['master_slave_setup'] == 'y') {
 	//** Get MySQL root credentials
 	$finished = false;
 	do {
-		$tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
-		$tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
-		$tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
-		$tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
+		if($autoupdate['mysql_master_database'] == 'default') $autoupdate['mysql_master_database'] = $conf['mysql']['master_database'];
+		
+		$tmp_mysql_server_host = ($autoupdate['mysql_master_hostname'] != ''? $autoupdate['mysql_master_hostname'] : $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']));
+		$tmp_mysql_server_admin_user = ($autoupdate['mysql_master_root_user'] != ''? $autoupdate['mysql_master_root_user'] : $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']));
+		$tmp_mysql_server_admin_password = (isset($autoupdate['mysql_master_root_password'])? $autoupdate['mysql_master_root_password'] : $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']));
+		$tmp_mysql_server_database = ($autoupdate['mysql_master_database'] != ''? $autoupdate['mysql_master_database'] : $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']));
 
 		//* Initialize the MySQL server connection
 		if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -244,7 +256,12 @@ updateDbAndIni();
  */
 //if($conf_old['dbmaster_user'] != '' or $conf_old['dbmaster_host'] != '') {
 //** Update master database rights
-$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no');
+if($autoupdate['reconfigure_permissions_in_master_database'] == 'default') $autoupdate['reconfigure_permissions_in_master_database'] = 'no';
+if($autoupdate['reconfigure_permissions_in_master_database'] == 'no' || $autoupdate['reconfigure_permissions_in_master_database'] == 'yes'){
+	$reconfigure_master_database_rights_answer = $autoupdate['reconfigure_permissions_in_master_database'];
+} else {
+	$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no');
+}
 
 if($reconfigure_master_database_rights_answer == 'yes') {
 	$inst->grant_master_database_rights();
@@ -252,7 +269,12 @@ if($reconfigure_master_database_rights_answer == 'yes') {
 //}
 
 //** Shall the services be reconfigured during update
-$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes');
+if($autoupdate['reconfigure_services'] == 'default') $autoupdate['reconfigure_services'] = 'yes';
+if($autoupdate['reconfigure_services'] == 'yes' || $autoupdate['reconfigure_services'] == 'no'){
+	$reconfigure_services_answer = $autoupdate['reconfigure_services'];
+} else {
+	$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes');
+}
 
 if($reconfigure_services_answer == 'yes') {
 
@@ -379,15 +401,23 @@ if($conf['nginx']['installed'] == true){
 if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
 	//** Customise the port ISPConfig runs on
 	$ispconfig_port_number = get_ispconfig_port_number();
+	if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number;
 	if($conf['webserver']['server_type'] == 'nginx'){
-		$conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+		$conf['nginx']['vhost_port'] = (intval($autoupdate['ispconfig_port']) > 0 ? intval($autoupdate['ispconfig_port']) : $inst->free_query('ISPConfig Port', $ispconfig_port_number));
 	} else {
-		$conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+		$conf['apache']['vhost_port'] = (intval($autoupdate['ispconfig_port']) > 0 ? intval($autoupdate['ispconfig_port']) : $inst->free_query('ISPConfig Port', $ispconfig_port_number));
 	}
 
 
 	// $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
-	if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no')) == 'yes') {
+	$tmp_create_new_ispconfig_ssl_cert = 'no';
+	if($autoupdate['create_new_ispconfig_ssl_cert'] == 'default') $autoupdate['create_new_ispconfig_ssl_cert'] = 'no';
+	if($autoupdate['create_new_ispconfig_ssl_cert'] == 'no' || $autoupdate['create_new_ispconfig_ssl_cert'] == 'yes'){
+		$tmp_create_new_ispconfig_ssl_cert = $autoupdate['create_new_ispconfig_ssl_cert'];
+	} else {
+		$tmp_create_new_ispconfig_ssl_cert = strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no'));
+	}
+	if($tmp_create_new_ispconfig_ssl_cert == 'yes') {
 		$inst->make_ispconfig_ssl_cert();
 	}
 }
@@ -395,7 +425,13 @@ if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
 $inst->install_ispconfig();
 
 //** Configure Crontab
-$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes');
+if($autoupdate['reconfigure_crontab'] == 'default') $autoupdate['reconfigure_crontab'] = 'yes';
+if($autoupdate['reconfigure_crontab'] == 'no' || $autoupdate['reconfigure_crontab'] == 'yes'){
+	$update_crontab_answer = $autoupdate['reconfigure_crontab'];
+} else {
+	$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes');
+}
+
 if($update_crontab_answer == 'yes') {
 	swriteln('Updating Crontab');
 	$inst->install_crontab();
-- 
GitLab


From b491adf094bbf9bc9c5b8a386511ddafd8c97855 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Sun, 1 Jun 2014 19:41:17 +0200
Subject: [PATCH 007/158] - FPM socket permissions need to be 660 also under
 Apache, otherwise you get the following error:

[Sun Jun 01 18:52:24 2014] [error] [client 146.52.61.243] (13)Permission denied: FastCGI: failed to connect to server "/var/www/clients/client1/web2/cgi-bin/php5-fcgi-1.2.3.4-80-example.de": connect() failed
[Sun Jun 01 18:52:24 2014] [error] [client 146.52.61.243] FastCGI: incomplete headers (0 bytes) received from server "/var/www/clients/client1/web2/cgi-bin/php5-fcgi-1.2.3.4-80-example.de"
---
 server/plugins-available/apache2_plugin.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 5f81fa6714..e3833b03ac 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -2654,7 +2654,7 @@ class apache2_plugin {
 
 		$fpm_socket = $socket_dir.$pool_name.'.sock';
 		$tpl->setVar('fpm_socket', $fpm_socket);
-		$tpl->setVar('fpm_listen_mode', '0600');
+		$tpl->setVar('fpm_listen_mode', '0660');
 
 		$tpl->setVar('fpm_pool', $pool_name);
 		$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
-- 
GitLab


From 8fef1d91e66f478e4ede672508ac7f3063157937 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 2 Jun 2014 10:48:56 +0200
Subject: [PATCH 008/158] - set -Indexes option globally

---
 install/tpl/apache_ispconfig.conf.master | 1 +
 1 file changed, 1 insertion(+)

diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index be6f637b7b..9086033101 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -18,6 +18,7 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m
 
 # Do not allow access to the root file system of the server for security reasons
 <Directory />
+	Options -Indexes
     AllowOverride None
 	<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
 	Require all denied
-- 
GitLab


From e6fd3515639cbfbb54a8263c3eec26a961bd6a89 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 5 Jun 2014 16:23:47 +0200
Subject: [PATCH 009/158] - removed [PT] flags as it is causing problems with
 some php applications due to information in SCRIPT_NAME and PHP_SELF

---
 server/conf/vhost.conf.master | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 5a110cc119..f67b280f94 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -336,7 +336,7 @@
 		RewriteCond %{REQUEST_URI} !^<tmpl_var name='rewrite_target'>
 </tmpl_if>
 		
-		RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if>  <tmpl_if name='rewrite_type' value=''><tmpl_if name="rewrite_is_url" op="==" value="n">[PT]</tmpl_if></tmpl_else><tmpl_var name='rewrite_type'></tmpl_if>
+		RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if>  <tmpl_var name='rewrite_type'>
 	
 </tmpl_loop>
 </tmpl_if>
-- 
GitLab


From 5a6670bd3c1083f3c6f6652202e7c776745b5eff Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 6 Jun 2014 16:28:46 +0200
Subject: [PATCH 010/158] - fixed vhost template. website settings were
 overriding handlers of apache config files, e. g. roundcube

---
 server/conf/vhost.conf.master | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index f67b280f94..0dd805af84 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -57,6 +57,10 @@
 		</IfModule>
 
 		<Directory {tmpl_var name='web_document_root_www'}>
+				# Clear PHP settings of this website
+				<FilesMatch ".+\.ph(p[345]?|t|tml)$">
+						SetHandler None
+				</FilesMatch>
 				Options +FollowSymLinks
 				AllowOverride <tmpl_var name='allow_override'>
 				<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
@@ -85,6 +89,10 @@
 </tmpl_if>
 		</Directory>
 		<Directory {tmpl_var name='web_document_root'}>
+				# Clear PHP settings of this website
+				<FilesMatch ".+\.ph(p[345]?|t|tml)$">
+						SetHandler None
+				</FilesMatch>
 				Options +FollowSymLinks
 				AllowOverride <tmpl_var name='allow_override'>
 				<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
@@ -186,10 +194,6 @@
 			SuexecUserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
 		</IfModule>
 </tmpl_if>
-		# Clear PHP settings of this website
-		<FilesMatch ".+\.ph(p[345]?|t|tml)$">
-				SetHandler None
-		</FilesMatch>
 <tmpl_if name='php' op='==' value='mod'>
 		# mod_php enabled
 		AddType application/x-httpd-php .php .php3 .php4 .php5
-- 
GitLab


From c71d48f6593a35abf71e9dae97dd7a56499f20d9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 6 Jun 2014 16:41:17 +0200
Subject: [PATCH 011/158] Fixed mailman problem when catchall email addresses
 are used on the same domain name.

---
 install/dist/lib/opensuse.lib.php        | 1 +
 install/tpl/debian_postfix.conf.master   | 2 +-
 install/tpl/fedora_postfix.conf.master   | 2 +-
 install/tpl/opensuse_postfix.conf.master | 4 +++-
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 6e6a618678..7ff56de893 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -125,6 +125,7 @@ class installer_dist extends installer_base {
 
 		//* Create aliasaes
 		exec('/usr/lib/mailman/bin/genaliases 2>/dev/null');
+		if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
 	}
 
 	function configure_postfix($options = '')
diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index e17880e950..bab660e102 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -1,7 +1,7 @@
 alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
 alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
 virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
+virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
 virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
 virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
 virtual_mailbox_base = {vmail_mailbox_base}
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index 0911f2a7e5..e2c68c0e1c 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -1,5 +1,5 @@
 virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/etc/mailman/virtual-mailman
+virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
 virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
 virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
 virtual_mailbox_base = {vmail_mailbox_base}
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index 90ed2859fb..149e2bdfd0 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -1,5 +1,7 @@
+alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
+alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
 virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
+virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
 virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
 virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
 virtual_mailbox_base = {vmail_mailbox_base}
-- 
GitLab


From f43ef975d75a57973886e7f8eabb068d2ac15cc0 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Mon, 16 Jun 2014 18:06:06 +0200
Subject: [PATCH 012/158] - Make sure ISPConfig shows the correct error message
 (instad of an SQL error) when a website is renamed after an alias domain that
 still exists. - It should be possible to create two websites with the same
 domain on the same server as long as the IP differs. I therefore changed the
 serverdomain index of the web_domain table to include the IP address.

---
 install/sql/incremental/upd_0078.sql          | 1 +
 install/sql/ispconfig3.sql                    | 2 +-
 interface/lib/classes/validate_domain.inc.php | 5 +++--
 3 files changed, 5 insertions(+), 3 deletions(-)
 create mode 100644 install/sql/incremental/upd_0078.sql

diff --git a/install/sql/incremental/upd_0078.sql b/install/sql/incremental/upd_0078.sql
new file mode 100644
index 0000000000..39b8c1ce9c
--- /dev/null
+++ b/install/sql/incremental/upd_0078.sql
@@ -0,0 +1 @@
+ALTER TABLE  `web_domain` DROP INDEX `serverdomain`, ADD UNIQUE  `serverdomain` (  `server_id` , `ip_address`, `domain` );
\ No newline at end of file
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 21c0644710..bf68e5d7cb 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1879,7 +1879,7 @@ CREATE TABLE `web_domain` (
   `added_date` date NOT NULL DEFAULT '0000-00-00',
   `added_by` varchar(255) DEFAULT NULL,
   PRIMARY KEY  (`domain_id`),
-  UNIQUE KEY `serverdomain` (  `server_id` ,  `domain` )
+  UNIQUE KEY `serverdomain` (  `server_id` , `ip_address`,  `domain` )
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
 -- --------------------------------------------------------
diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 988945df4c..788b34bd60 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -137,7 +137,8 @@ class validate_domain {
 		//if($check['cnt'] > 0) return false;
 
 		// we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
-		$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
+		$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' && $domain['parent_domain_id'] > 0 ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
+		
 
 		if(is_array($checks) && !empty($checks)){
 			foreach($checks as $check){
@@ -207,7 +208,7 @@ class validate_domain {
 			//$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
 			//if($check['cnt'] > 0) return false;
 			// we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
-			$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
+			$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' && $domain['parent_domain_id'] > 0 ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
 			if(is_array($checks) && !empty($checks)){
 				foreach($checks as $check){
 					if($domain['ip_address'] == '*') return false;
-- 
GitLab


From 9d57538ce8181a02f1652647aa940471fbee2cf3 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 17 Jun 2014 10:26:03 +0200
Subject: [PATCH 013/158] Allow + and @ in FTP user names for compatibility
 with cpanel.

---
 interface/web/sites/form/ftp_user.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index 20e4565ff8..2b97832be7 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -91,7 +91,7 @@ $form["tabs"]['ftp'] = array (
 			'validators' => array (  0 => array ( 'type' => 'UNIQUE',
 					'errmsg'=> 'username_error_unique'),
 				1 => array ( 'type' => 'REGEX',
-					'regex' => '/^[\w\.\-]{0,64}$/',
+					'regex' => '/^[\w\.\-@\+]{0,64}$/',
 					'errmsg'=> 'username_error_regex'),
 			),
 			'default' => '',
-- 
GitLab


From b509d0056fda3793f81d3332c8f601559ae268aa Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 18 Jun 2014 09:20:20 +0200
Subject: [PATCH 014/158] Changed a function in tform.inc.php to make it
 compatible with php 5.1 (used in Centos 5.10).

---
 interface/lib/classes/tform.inc.php | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 05740b1768..452230414a 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -252,7 +252,9 @@ class tform {
 			unset($tmp_recordid);
 
 			$querystring = str_replace("{AUTHSQL}", $this->getAuthSQL('r'), $querystring);
-			$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring);
+			//$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring);
+			//*Used the ld form to be compatible with php < 5.3
+			$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
 
 			// Getting the records
 			$tmp_records = $app->db->queryAllRecords($querystring);
@@ -293,10 +295,12 @@ class tform {
 		return $values;
 
 	}
-
+	
+	/*
 	function table_auth_sql($matches){
 		return $this->getAuthSQL('r', $matches[1]);
 	}
+	*/
 
 	//* If the parameter 'valuelimit' is set
 	function applyValueLimit($limit, $values) {
-- 
GitLab


From 117ecd60c809bbc19a3c1f795f6db9e53465cdec Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Thu, 19 Jun 2014 13:00:44 +0200
Subject: [PATCH 015/158] - autoselect password if you use "Generate Password"
 function (saves a click if you want to copy the password).

---
 interface/web/js/scrigo.js.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index 4e51cd56ae..85a321c551 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -809,7 +809,7 @@ function generatePassword(passwordFieldID, repeatPasswordFieldID){
 	oldPWField.remove();
 	var pword = password(<?php echo $min_password_length; ?>, false, 1);
 	jQuery('#'+repeatPasswordFieldID).val(pword);
-	newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup');
+	newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup').select();
 }
 
 var funcDisableClick = function(e) { e.preventDefault(); return false; };
-- 
GitLab


From 1b8648682c8b403b8947afb8db711734a330b29e Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Thu, 19 Jun 2014 13:27:07 +0200
Subject: [PATCH 016/158] - force Google Chrome to NOT autocomplete
 user/password fields.

---
 interface/web/themes/blue/templates/main.tpl.htm              | 1 +
 interface/web/themes/default-304/templates/main.tpl.htm       | 1 +
 interface/web/themes/default/templates/main.tpl.htm           | 1 +
 interface/web/themes/default_64_navimg/templates/main.tpl.htm | 1 +
 interface/web/themes/default_combobox/templates/main.tpl.htm  | 1 +
 interface/web/themes/default_no_navimg/templates/main.tpl.htm | 1 +
 6 files changed, 6 insertions(+)

diff --git a/interface/web/themes/blue/templates/main.tpl.htm b/interface/web/themes/blue/templates/main.tpl.htm
index 70c4f26cd4..0007256e0a 100644
--- a/interface/web/themes/blue/templates/main.tpl.htm
+++ b/interface/web/themes/blue/templates/main.tpl.htm
@@ -161,6 +161,7 @@
                 <!-- begin: #content -->
                 <section id="content">
                     <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+						<input type="text" style="display:none" /><input type="password" style="display:none"/>
                         <div id="pageContent"><!-- AJAX CONTENT --></div>
                     </form>
                     <div id="ie_clearing">&nbsp;</div>
diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm
index 862693bada..7f227e18af 100644
--- a/interface/web/themes/default-304/templates/main.tpl.htm
+++ b/interface/web/themes/default-304/templates/main.tpl.htm
@@ -168,6 +168,7 @@
                             <a id="content" name="content"></a>
                             <!-- skiplink anchor: Content -->
                             <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+								<input type="text" style="display:none" /><input type="password" style="display:none"/>
                                 <div id="pageContent"><!-- AJAX CONTENT --></div>
                             </form>
                         </div>
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index 9146291bbf..3339d9f3bd 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -164,6 +164,7 @@
                 <!-- begin: #content -->
                 <section id="content">
                     <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+						<input type="text" style="display:none" /><input type="password" style="display:none"/>
                         <div id="pageContent"><!-- AJAX CONTENT --></div>
                     </form>
                     <div id="ie_clearing">&nbsp;</div>
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
index c0180e1e95..6d0395ba1f 100644
--- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -168,6 +168,7 @@
                         <a id="content" name="content"></a>
                         <!-- skiplink anchor: Content -->
                         <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+						<input type="text" style="display:none" /><input type="password" style="display:none"/>
                         <div id="pageContent"><!-- AJAX CONTENT --></div>
                         </form>
                     </div>
diff --git a/interface/web/themes/default_combobox/templates/main.tpl.htm b/interface/web/themes/default_combobox/templates/main.tpl.htm
index 142794e07a..1df185fdad 100644
--- a/interface/web/themes/default_combobox/templates/main.tpl.htm
+++ b/interface/web/themes/default_combobox/templates/main.tpl.htm
@@ -323,6 +323,7 @@
                         <a id="content" name="content"></a>
                         <!-- skiplink anchor: Content -->
                         <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+						<input type="text" style="display:none" /><input type="password" style="display:none"/>
                         <div id="pageContent"><!-- AJAX CONTENT --></div>
                         </form>
                     </div>
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
index 5f45a0af9e..adfc656e0b 100644
--- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -169,6 +169,7 @@
                         <a id="content" name="content"></a>
                         <!-- skiplink anchor: Content -->
                         <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+						<input type="text" style="display:none" /><input type="password" style="display:none"/>
                         <div id="pageContent"><!-- AJAX CONTENT --></div>
                         </form>
                     </div>
-- 
GitLab


From d5b5d443196f85cd540bb6af0a4d2350579788ca Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 20 Jun 2014 18:51:17 +0200
Subject: [PATCH 017/158] Changed warning message for git version update.

---
 server/scripts/ispconfig_update.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php
index 3512de9e93..2a5deedbcd 100644
--- a/server/scripts/ispconfig_update.php
+++ b/server/scripts/ispconfig_update.php
@@ -86,9 +86,9 @@ echo " _____ ___________   _____              __ _
                                              |___/ ";
 echo "\n".str_repeat('-', 80)."\n";
 echo "\n\n>> Update  \n\n";
-echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\nNote: Update all slave server, before you update master server.\n\n";
+echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n";
 
-$method = simple_query('Select update method', array('stable', 'svn'), 'stable');
+$method = simple_query('Select update method', array('stable', 'git'), 'stable');
 
 if($method == 'stable') {
 	$new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
-- 
GitLab


From 71c5c2929078372d68b2d2dee65261a2bbbd3b25 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 1 Jul 2014 18:42:46 +0200
Subject: [PATCH 018/158] Fixed: reseller has_clients if limit_client is != 0,
 e.g. -1 or > 0. Thanks to Sergio for pointing out this issue.

---
 interface/lib/classes/auth.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 706dd04090..070662fda8 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -50,7 +50,7 @@ class auth {
 
 		$userid = $app->functions->intval($userid);
 		$client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
-		if($client['limit_client'] > 0) {
+		if($client['limit_client'] != 0) {
 			return true;
 		} else {
 			return false;
-- 
GitLab


From 883f1fcb49818c49dcfbaaf9e7e18a5b74ab7965 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Tue, 8 Jul 2014 14:48:01 +0200
Subject: [PATCH 019/158] - Change from merge request #73 in master - keeping
 sql files in sync

---
 install/sql/ispconfig3.sql | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index bf68e5d7cb..e1bfa900dd 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -897,8 +897,8 @@ CREATE TABLE `mail_user` (
   `login` varchar(255) NOT NULL default '',
   `password` varchar(255) NOT NULL default '',
   `name` varchar(255) NOT NULL default '',
-  `uid` int(11) unsigned NOT NULL default '5000',
-  `gid` int(11) unsigned NOT NULL default '5000',
+  `uid` int(11) NOT NULL default '5000',
+  `gid` int(11) NOT NULL default '5000',
   `maildir` varchar(255) NOT NULL default '',
   `quota` bigint(20) NOT NULL default '-1',
   `cc` varchar(255) NOT NULL default '',
-- 
GitLab


From b04e827ae6c3c41de9ca7c16373e143f06797ce1 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 9 Jul 2014 12:50:10 +0200
Subject: [PATCH 020/158] - Cleaned up autoinstall code - Added autoinstall for
 centos, opensuse and gentoo - Added ini style config autoinstall option -
 Autoinstall sample configuration files are now in docs folder - Removed old
 autoupdate file

---
 .../autoinstall.conf_sample.php               |   8 +
 .../autoinstall.ini.sample                    |  50 +++
 install/autoupdate.php                        | 338 ------------------
 install/dist/lib/fedora.lib.php               |   9 +-
 install/dist/lib/gentoo.lib.php               |  10 +-
 install/dist/lib/opensuse.lib.php             |  10 +-
 install/install.php                           | 215 ++++-------
 install/lib/installer_base.lib.php            |  44 ++-
 install/update.php                            |  99 ++---
 9 files changed, 242 insertions(+), 541 deletions(-)
 rename {install => docs/autoinstall samples}/autoinstall.conf_sample.php (85%)
 create mode 100644 docs/autoinstall samples/autoinstall.ini.sample
 delete mode 100644 install/autoupdate.php

diff --git a/install/autoinstall.conf_sample.php b/docs/autoinstall samples/autoinstall.conf_sample.php
similarity index 85%
rename from install/autoinstall.conf_sample.php
rename to docs/autoinstall samples/autoinstall.conf_sample.php
index 92ec008963..ccd36aae6a 100644
--- a/install/autoinstall.conf_sample.php
+++ b/docs/autoinstall samples/autoinstall.conf_sample.php	
@@ -12,6 +12,14 @@ $autoinstall['http_server'] = 'nginx'; // apache (default), nginx
 $autoinstall['ispconfig_port'] = '8080'; // default: 8080
 $autoinstall['ispconfig_use_ssl'] = 'y'; // y (default), n
 
+/* SSL Settings */
+$autoinstall['ssl_cert_country'] = 'AU';
+$autoinstall['ssl_cert_state'] = 'Some-State';
+$autoinstall['ssl_cert_locality'] = 'Chicago';
+$autoinstall['ssl_cert_organisation'] = 'Internet Widgits Pty Ltd';
+$autoinstall['ssl_cert_organisation_unit'] = 'IT department';
+$autoinstall['ssl_cert_common_name'] = $autoinstall['hostname'];
+
 /* optional expert mode settings, needed only for expert mode */
 $autoinstall['mysql_ispconfig_user'] = 'ispconfig'; // default: ispconfig
 $autoinstall['mysql_ispconfig_password'] = md5(uniqid(rand()));
diff --git a/docs/autoinstall samples/autoinstall.ini.sample b/docs/autoinstall samples/autoinstall.ini.sample
new file mode 100644
index 0000000000..1f4d9d7da0
--- /dev/null
+++ b/docs/autoinstall samples/autoinstall.ini.sample	
@@ -0,0 +1,50 @@
+[install]
+language=en
+install_mode=standard
+hostname=server1.example.com
+mysql_hostname=localhost
+mysql_root_user=root
+mysql_root_password=ispconfig
+mysql_database=dbispconfig
+mysql_charset=utf8
+http_server=apache
+ispconfig_port=8080
+ispconfig_use_ssl=y
+
+[ssl_cert]
+ssl_cert_country=AU
+ssl_cert_state=Some-State
+ssl_cert_locality=Chicago
+ssl_cert_organisation=Internet Widgits Pty Ltd
+ssl_cert_organisation_unit=IT department
+ssl_cert_common_name=server1.example.com
+
+[expert]
+mysql_ispconfig_user=ispconfig
+mysql_ispconfig_password=afStEratXBsgatRtsa42CadwhQ
+join_multiserver_setup=n
+mysql_master_hostname=master.example.com
+mysql_master_root_user=root
+mysql_master_root_password=ispconfig
+mysql_master_database=dbispconfig
+configure_mail=y
+configure_jailkit=y
+configure_ftp=y
+configure_dns=y
+configure_apache=y
+configure_nginx=y
+configure_firewall=y
+install_ispconfig_web_interface=y
+
+[update]
+do_backup=yes
+mysql_root_password=ispconfig
+mysql_master_hostname=master.example.com
+mysql_master_root_user=root
+mysql_master_root_password=ispconfig
+mysql_master_database=dbispconfig
+reconfigure_permissions_in_master_database=no
+reconfigure_services=yes
+ispconfig_port=8080
+create_new_ispconfig_ssl_cert=no
+reconfigure_crontab=yes
\ No newline at end of file
diff --git a/install/autoupdate.php b/install/autoupdate.php
deleted file mode 100644
index 8960e13587..0000000000
--- a/install/autoupdate.php
+++ /dev/null
@@ -1,338 +0,0 @@
-<?php
-/*
-Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-	ISPConfig 3 updater.
-*/
-
-die("Autoupdate has been removed.\nPlease start the update on the shell with the command ispconfig_update.sh as root user.\n");
-
-error_reporting(E_ALL|E_STRICT);
-
-/*
- * If the auto-updater flag is not on (the file does not exist) then cancel the auto-update!
-*/
-if (!file_exists('autoupdate')) {
-
-	//** The banner on the command line
-	echo "\n\n".str_repeat('-', 80)."\n";
-	echo " _____ ___________   _____              __ _         ____
-|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
-  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
-  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
- _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
- \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
-                                              __/ |
-                                             |___/ ";
-	echo "\n".str_repeat('-', 80)."\n";
-	echo "\n\n>>This script is for internal use only! Please use update.php!  \n\n";
-	exit;
-}
-
-//** Include the library with the basic installer functions
-require_once 'lib/install.lib.php';
-
-//** Include the library with the basic updater functions
-require_once 'lib/update.lib.php';
-
-//** Include the base class of the installer class
-require_once 'lib/installer_base.lib.php';
-
-//** Ensure that current working directory is install directory
-$cur_dir = getcwd();
-if(realpath(dirname(__FILE__)) != $cur_dir) die("Please run installation/update from _inside_ the install directory!\n");
-
-//** Install logfile
-define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log');
-define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../'));
-
-//** Get distribution identifier
-$dist = get_distname();
-
-include_once "/usr/local/ispconfig/server/lib/config.inc.php";
-$conf_old = $conf;
-unset($conf);
-
-if($dist['id'] == '') die('Linux distribution or version not recognized.');
-
-//** Include the distribution-specific installer class library and configuration
-if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
-include_once 'dist/lib/'.$dist['id'].'.lib.php';
-include_once 'dist/conf/'.$dist['id'].'.conf.php';
-
-//** Get hostname
-exec('hostname -f', $tmp_out);
-$conf['hostname'] = $tmp_out[0];
-unset($tmp_out);
-
-//** Set the mysql login information
-$conf["mysql"]["host"] = $conf_old["db_host"];
-$conf["mysql"]["database"] = $conf_old["db_database"];
-$conf['mysql']['charset'] = 'utf8';
-$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"];
-$conf["mysql"]["ispconfig_password"] = $conf_old["db_password"];
-$conf['language'] = $conf_old['language'];
-if($conf['language'] == '{language}') $conf['language'] = 'en';
-
-if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"];
-if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"];
-if(isset($conf_old["dbmaster_user"])) $conf["mysql"]["master_ispconfig_user"] = $conf_old["dbmaster_user"];
-if(isset($conf_old["dbmaster_password"])) $conf["mysql"]["master_ispconfig_password"] = $conf_old["dbmaster_password"];
-
-//* Check if this is a master / slave setup
-$conf['mysql']['master_slave_setup'] = 'n';
-if($conf["mysql"]["master_host"] != '' && $conf["mysql"]["host"] != $conf["mysql"]["master_host"]) {
-	$conf['mysql']['master_slave_setup'] = 'y';
-}
-
-// Resolve the IP address of the mysql hostname.
-if(!$conf['mysql']['ip'] = gethostbyname($conf['mysql']['host'])) die('Unable to resolve hostname'.$conf['mysql']['host']);
-
-$conf['server_id'] = intval($conf_old["server_id"]);
-$conf['ispconfig_log_priority'] = $conf_old["log_priority"];
-
-$inst = new installer();
-$inst->is_update = true;
-
-//** Detect the installed applications
-$inst->find_installed_apps();
-
-//** Initialize the MySQL server connection
-include_once 'lib/mysql.lib.php';
-
-//** Database update is a bit brute force and should be rebuild later ;)
-
-/*
- * Try to read the DB-admin settings
- */
-$clientdb_host   = '';
-$clientdb_user   = '';
-$clientdb_password  = '';
-include_once "/usr/local/ispconfig/server/lib/mysql_clientdb.conf";
-$conf["mysql"]["admin_user"] = $clientdb_user;
-$conf["mysql"]["admin_password"] = $clientdb_password;
-$clientdb_host   = '';
-$clientdb_user   = '';
-$clientdb_password  = '';
-
-//** There is a error if user for mysql admin_password if empty
-if( empty($conf["mysql"]["admin_password"]) ) {
-	die("internal error - MYSQL-Root passord not known");
-}
-
-//** Test mysql root connection
-if(!@mysql_connect($conf["mysql"]["host"], $conf["mysql"]["admin_user"], $conf["mysql"]["admin_password"])) {
-	die("internal error - MYSQL-Root passord wrong");
-}
-
-/*
- *  Check all tables
-*/
-checkDbHealth();
-
-/*
- *  Prepare the dump of the database
-*/
-prepareDBDump();
-
-//* initialize the database
-$inst->db = new db();
-
-/*
- * The next line is a bit tricky!
- * At the automated update we have no connection to the master-db (we don't need it, because
- * there are only TWO points, where this is needed)
- * 1) update the rights --> the autoupdater sets the rights of all clients when the server is
- *    autoupdated)
- * 2) update the server-settings (is web installed, is mail installed) --> the autoupdates
- *    doesn't change any of this settings, so there ist no need to update this.
- * This means, the autoupdater did not need any connection to the master-db (only to the local bd
- * of the master-server). To avoid any problems, we set the master-db to the local one.
- */
-$inst->dbmaster = $inst->db;
-
-/*
- * If it is NOT a master-slave - Setup then we are at the Master-DB. So set all rights
-*/
-if($conf['mysql']['master_slave_setup'] != 'y') {
-	$inst->grant_master_database_rights(true);
-}
-
-/*
- *  dump the new Database and reconfigure the server.ini
- */
-updateDbAndIni();
-
-/*
- * Reconfigure all Services
- */
-if($conf['services']['mail'] == true) {
-	//** Configure postfix
-	swriteln('Configuring Postfix');
-	$inst->configure_postfix('dont-create-certs');
-
-	//** Configure mailman
-	if($conf['mailman']['installed'] == true) {
-		swriteln('Configuring Mailman');
-		$inst->configure_mailman('update');
-	}
-
-	//* Configure Jailkit
-	swriteln('Configuring Jailkit');
-	$inst->configure_jailkit();
-
-	if($conf['dovecot']['installed'] == true) {
-		//* Configure dovecot
-		swriteln('Configuring Dovecot');
-		$inst->configure_dovecot();
-	} else {
-		//** Configure saslauthd
-		swriteln('Configuring SASL');
-		$inst->configure_saslauthd();
-
-		//** Configure PAM
-		swriteln('Configuring PAM');
-		$inst->configure_pam();
-
-		//* Configure courier
-		swriteln('Configuring Courier');
-		$inst->configure_courier();
-	}
-
-	//** Configure Spamasassin
-	swriteln('Configuring Spamassassin');
-	$inst->configure_spamassassin();
-
-	//** Configure Amavis
-	swriteln('Configuring Amavisd');
-	$inst->configure_amavis();
-
-	//** Configure Getmail
-	swriteln('Configuring Getmail');
-	$inst->configure_getmail();
-}
-
-if($conf['services']['web'] == true) {
-	//** Configure Pureftpd
-	swriteln('Configuring Pureftpd');
-	$inst->configure_pureftpd();
-}
-
-if($conf['services']['dns'] == true) {
-	//* Configure DNS
-	if($conf['powerdns']['installed'] == true) {
-		swriteln('Configuring PowerDNS');
-		$inst->configure_powerdns();
-	} elseif($conf['bind']['installed'] == true) {
-		swriteln('Configuring BIND');
-		$inst->configure_bind();
-	} else {
-		swriteln('Configuring MyDNS');
-		$inst->configure_mydns();
-	}
-}
-
-if($conf['services']['web']) {
-	if($conf['webserver']['server_type'] == 'apache'){
-		//** Configure Apache
-		swriteln('Configuring Apache');
-		$inst->configure_apache();
-
-		//** Configure vlogger
-		swriteln('Configuring vlogger');
-		$inst->configure_vlogger();
-	} else {
-		//** Configure nginx
-		swriteln('Configuring nginx');
-		$inst->configure_nginx();
-	}
-
-	//** Configure apps vhost
-	swriteln('Configuring Apps vhost');
-	$inst->configure_apps_vhost();
-}
-
-
-//* Configure DBServer
-swriteln('Configuring Database');
-$inst->configure_dbserver();
-
-
-//if(@is_dir('/etc/Bastille')) {
-//* Configure Firewall
-swriteln('Configuring Firewall');
-$inst->configure_firewall();
-//}
-
-//** Configure ISPConfig
-swriteln('Updating ISPConfig');
-
-
-//** Customise the port ISPConfig runs on
-$conf['apache']['vhost_port'] = get_ispconfig_port_number();
-
-$inst->install_ispconfig();
-
-//** Configure Crontab
-swriteln('Updating Crontab');
-$inst->install_crontab();
-
-//** Restart services:
-swriteln('Restarting services ...');
-if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'reload'));
-if($conf['services']['mail']) {
-	if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart'));
-	if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart'));
-	if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart'));
-	if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart'));
-	if($conf['courier']['installed'] == true){
-		if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart'));
-		if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart'));
-		if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart'));
-		if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart'));
-		if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart'));
-	}
-	if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart'));
-	if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system($inst->getinitcommand($conf['mailman']['init_script'], 'restart'));
-}
-if($conf['services']['web']) {
-	if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart'));
-	//* Reload is enough for nginx
-	if($conf['webserver']['server_type'] == 'nginx' && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload'));
-	if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
-}
-if($conf['services']['dns']) {
-	if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null');
-	if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null');
-	if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null');
-}
-
-echo "Update finished.\n";
-
-?>
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 87fadb0284..d3efe6022f 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -229,8 +229,13 @@ class installer_dist extends installer_base {
 
 		if(!stristr($options, 'dont-create-certs')) {
 			//* Create the SSL certificate
-			$command = 'cd '.$config_dir.'; '
-				.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
+			if(AUTOINSTALL){
+				$command = 'cd '.$config_dir.'; '
+					."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+			} else {
+				$command = 'cd '.$config_dir.'; '
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+			}
 			exec($command);
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index b14cffe877..9a0d7c94ab 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -119,9 +119,13 @@ class installer extends installer_base
 		//* Create the SSL certificate
 		if (!stristr($options, 'dont-create-certs'))
 		{
-			$command = 'cd '.$config_dir.'; '
-				.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
-			exec($command);
+			if(AUTOINSTALL){
+				$command = 'cd '.$config_dir.'; '
+					."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+			} else {
+				$command = 'cd '.$config_dir.'; '
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+			}
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 7ff56de893..caef5409a8 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -257,9 +257,13 @@ class installer_dist extends installer_base {
 
 		if(!stristr($options, 'dont-create-certs')) {
 			//* Create the SSL certificate
-			$command = 'cd '.$config_dir.'; '
-				.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
-			exec($command);
+			if(AUTOINSTALL){
+				$command = 'cd '.$config_dir.'; '
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+			} else {
+				$command = 'cd '.$config_dir.'; '
+					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+			}
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
diff --git a/install/install.php b/install/install.php
index 838209ec12..108ed05b2e 100644
--- a/install/install.php
+++ b/install/install.php
@@ -30,6 +30,30 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 /*
 	ISPConfig 3 installer.
+	
+	-------------------------------------------------------------------------------------
+	- Interactive install
+	-------------------------------------------------------------------------------------
+	run:
+	
+	php install.php
+	
+	-------------------------------------------------------------------------------------
+	- Noninteractive (autoinstall) mode
+	-------------------------------------------------------------------------------------
+	
+	The autoinstall mode can read the installer questions from a .ini style file or from
+	a php config file. Examples for both file types are in the docs folder. 
+	See autoinstall.ini.sample and autoinstall.conf_sample.php.
+	
+	run:
+	
+	php install.php --autoinstall=autoinstall.ini
+	
+	or
+	
+	php install.php --autoinstall=autoinstall.conf.php
+	
 */
 
 error_reporting(E_ALL|E_STRICT);
@@ -80,7 +104,27 @@ if($dist['id'] == '') die('Linux distribution or version not recognized.');
 
 //** Include the autoinstaller configuration (for non-interactive setups)
 error_reporting(E_ALL ^ E_NOTICE);
-if(is_file('autoinstall.conf.php')) include_once 'autoinstall.conf.php';
+
+//** Get commandline options
+$cmd_opt = getopt('', array('autoinstall::'));
+
+//** Load autoinstall file
+if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
+	$path_parts = pathinfo($cmd_opt['autoinstall']);
+	if($path_parts['extension'] == 'php') {
+		include_once $cmd_opt['autoinstall'];
+	} elseif($path_parts['extension'] == 'ini') {
+		$tmp = ini_to_array(file_get_contents('autoinstall.ini'));
+		$autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
+		unset($tmp);
+	}
+	unset($path_parts);
+	define('AUTOINSTALL', true);
+} else {
+	$autoinstall = array();
+	define('AUTOINSTALL', false);
+}
+
 
 //** Include the distribution-specific installer class library and configuration
 if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
@@ -113,12 +157,7 @@ if(is_dir('/usr/local/ispconfig')) {
 $inst->find_installed_apps();
 
 //** Select the language and set default timezone
-if($autoinstall['language'] == 'default') $autoinstall['language'] = 'en';
-if($autoinstall['language'] == 'en' || $autoinstall['language'] == 'de'){
-	$conf['language'] = $autoinstall['language'];
-} else {
-	$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en');
-}
+$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en','language');
 $conf['timezone'] = get_system_timezone();
 
 //* Set default theme
@@ -126,19 +165,13 @@ $conf['theme'] = 'default';
 $conf['language_file_import_enabled'] = true;
 
 //** Select installation mode
-if($autoinstall['install_mode'] == 'default') $autoinstall['install_mode'] = 'standard';
-if($autoinstall['install_mode'] == 'standard' || $autoinstall['install_mode'] == 'expert'){
-	$install_mode = $autoinstall['install_mode'];
-} else {
-	$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard');
-}
+$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard','install_mode');
 
 
 //** Get the hostname
 $tmp_out = array();
 exec('hostname -f', $tmp_out);
-if($autoinstall['hostname'] == 'default') $autoinstall['hostname'] = @$tmp_out[0];
-$conf['hostname'] = ($autoinstall['hostname'] != '' ? $autoinstall['hostname'] : $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]));
+$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0],'hostname');
 unset($tmp_out);
 
 // Check if the mysql functions are loaded in PHP
@@ -147,24 +180,17 @@ if(!function_exists('mysql_connect')) die('No PHP MySQL functions available. Ple
 //** Get MySQL root credentials
 $finished = false;
 do {
-	if($autoinstall['mysql_hostname'] == 'default') $autoinstall['mysql_hostname'] = $conf['mysql']['host'];
-	if($autoinstall['mysql_root_user'] == 'default') $autoinstall['mysql_root_user'] = $conf['mysql']['admin_user'];
-	if($autoinstall['mysql_database'] == 'default') $autoinstall['mysql_database'] = $conf['mysql']['database'];
-	if($autoinstall['mysql_charset'] == 'default') $autoinstall['mysql_charset'] = $conf['mysql']['charset'];
+	$tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host'],'mysql_hostname');	 
+	$tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user'],'mysql_root_user');	 
+	$tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');	 
+	$tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database'],'mysql_database');	 
+	$tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset'],'mysql_charset');
 	
-	$tmp_mysql_server_host = ($autoinstall['mysql_hostname'] != ''? $autoinstall['mysql_hostname'] : $inst->free_query('MySQL server hostname', $conf['mysql']['host']));
-	$tmp_mysql_server_admin_user = ($autoinstall['mysql_root_user'] != ''? $autoinstall['mysql_root_user'] : $inst->free_query('MySQL root username', $conf['mysql']['admin_user']));
-	$tmp_mysql_server_admin_password = (isset($autoinstall['mysql_root_password'])? $autoinstall['mysql_root_password'] : $inst->free_query('MySQL root password', $conf['mysql']['admin_password']));
-	$tmp_mysql_server_database = ($autoinstall['mysql_database'] != ''? $autoinstall['mysql_database'] : $inst->free_query('MySQL database to create', $conf['mysql']['database']));
-	$tmp_mysql_server_charset = ($autoinstall['mysql_charset'] != ''? $autoinstall['mysql_charset'] : $inst->free_query('MySQL charset', $conf['mysql']['charset']));
-
 	if($install_mode == 'expert') {
 		swriteln("The next two questions are about the internal ISPConfig database user and password.\nIt is recommended to accept the defaults which are 'ispconfig' as username and a random password.\nIf you use a different password, use only numbers and chars for the password.\n");
 		
-		if($autoinstall['mysql_ispconfig_user'] == 'default') $autoinstall['mysql_ispconfig_user'] = $conf['mysql']['ispconfig_user'];
-		
-		$conf['mysql']['ispconfig_user'] = ($autoinstall['mysql_ispconfig_user'] != ''? $autoinstall['mysql_ispconfig_user'] : $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']));
-		$conf['mysql']['ispconfig_password'] = (isset($autoinstall['mysql_ispconfig_password'])? $autoinstall['mysql_ispconfig_password'] : $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']));
+		$conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user'],'mysql_ispconfig_user');	 
+		$conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password'],'mysql_ispconfig_password');
 	}
 
 	//* Initialize the MySQL server connection
@@ -199,12 +225,7 @@ if($install_mode == 'standard') {
 
 	//* Configure Webserver - Apache or nginx
 	if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
-		if($autoinstall['http_server'] == 'default') $autoinstall['http_server'] = 'apache';
-		if($autoinstall['http_server'] == 'apache' || $autoinstall['http_server'] == 'nginx'){
-			$http_server_to_use = $autoinstall['http_server'];
-		} else {
-			$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
-		}
+		$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
 		if($http_server_to_use == 'apache'){
 			$conf['nginx']['installed'] = false;
 		} else {
@@ -321,19 +342,13 @@ if($install_mode == 'standard') {
 	swriteln('Installing ISPConfig');
 
 	//** Customize the port ISPConfig runs on
-	if($autoinstall['isspconfig_port'] == 'default') $autoinstall['ispconfig_port'] = '8080';
-	$ispconfig_vhost_port = (intval($autoinstall['ispconfig_port']) > 0 ? intval($autoinstall['ispconfig_port']) : $inst->free_query('ISPConfig Port', '8080'));
+	$ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
 	if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
 	if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
 	unset($ispconfig_vhost_port);
 
-	if($autoinstall['ispconfig_use_ssl'] == 'default') $autoinstall['ispconfig_use_ssl'] = 'y';
-	if($autoinstall['ispconfig_use_ssl'] == 'y' || $autoinstall['ispconfig_use_ssl'] == 'n'){
-		if($autoinstall['ispconfig_use_ssl'] == 'y') $inst->make_ispconfig_ssl_cert();
-	} else {
-		if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
-			$inst->make_ispconfig_ssl_cert();
-		}
+	if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {	 
+		$inst->make_ispconfig_ssl_cert();
 	}
 
 	$inst->install_ispconfig();
@@ -388,26 +403,16 @@ if($install_mode == 'standard') {
 	//** Get Server ID
 	// $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
 	// Server ID is an autoInc value of the mysql database now
-	$tmp_join_multiserver_setup = 'n';
-	if($autoinstall['join_multiserver_setup'] == 'default') $autoinstall['join_multiserver_setup'] = 'n';
-	if($autoinstall['join_multiserver_setup'] == 'y' || $autoinstall['join_multiserver_setup'] == 'n'){
-		$tmp_join_multiserver_setup = $autoinstall['join_multiserver_setup'];
-	} else {
-		$tmp_join_multiserver_setup = strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n'));
-	}
-
-	if($tmp_join_multiserver_setup == 'y') {
+	if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') {
 		$conf['mysql']['master_slave_setup'] = 'y';
 
 		//** Get MySQL root credentials
 		$finished = false;
 		do {
-			if($autoinstall['mysql_master_database'] == 'default') $autoinstall['mysql_master_database'] = $conf['mysql']['master_database'];
-			
-			$tmp_mysql_server_host = ($autoinstall['mysql_master_hostname'] != ''? $autoinstall['mysql_master_hostname'] : $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']));
-			$tmp_mysql_server_admin_user = ($autoinstall['mysql_master_root_user'] != ''? $autoinstall['mysql_master_root_user'] : $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']));
-			$tmp_mysql_server_admin_password = (isset($autoinstall['mysql_master_root_password'])? $autoinstall['mysql_master_root_password'] : $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']));
-			$tmp_mysql_server_database = ($autoinstall['mysql_master_database'] != ''? $autoinstall['mysql_master_database'] : $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']));
+			$tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); 
+			$tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');	 
+			$tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); 
+			$tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
 
 			//* Initialize the MySQL server connection
 			if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -440,12 +445,7 @@ if($install_mode == 'standard') {
 
 	//* Configure Webserver - Apache or nginx
 	if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
-		if($autoinstall['http_server'] == 'default') $autoinstall['http_server'] = 'apache';
-		if($autoinstall['http_server'] == 'apache' || $autoinstall['http_server'] == 'nginx'){
-			$http_server_to_use = $autoinstall['http_server'];
-		} else {
-			$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
-		}
+		$http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
 		if($http_server_to_use == 'apache'){
 			$conf['nginx']['installed'] = false;
 		} else {
@@ -458,15 +458,7 @@ if($install_mode == 'standard') {
 	swriteln('');
 	$inst->add_database_server_record();
 
-	$tmp_configure_mail = 'y';
-	if($autoinstall['configure_mail'] == 'default') $autoinstall['configure_mail'] = 'y';
-	if($autoinstall['configure_mail'] == 'y' || $autoinstall['configure_mail'] == 'n'){
-		$tmp_configure_mail = $autoinstall['configure_mail'];
-	} else {
-		$tmp_configure_mail = strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y'));
-	}
-
-	if($tmp_configure_mail == 'y') {
+	if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') {
 
 		$conf['services']['mail'] = true;
 
@@ -525,41 +517,20 @@ if($install_mode == 'standard') {
 	}
 
 	//** Configure Jailkit
-	$tmp_configure_jailkit = 'y';
-	if($autoinstall['configure_jailkit'] == 'default') $autoinstall['configure_jailkit'] = 'y';
-	if($autoinstall['configure_jailkit'] == 'y' || $autoinstall['configure_jailkit'] == 'n'){
-		$tmp_configure_jailkit = $autoinstall['configure_jailkit'];
-	} else {
-		$tmp_configure_jailkit = strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y'));
-	}
-	if($tmp_configure_jailkit == 'y') {
+	if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y','configure_jailkit') ) == 'y') {
 		swriteln('Configuring Jailkit');
 		$inst->configure_jailkit();
 	}
 
 	//** Configure Pureftpd
-	$tmp_configure_ftp = 'y';
-	if($autoinstall['configure_ftp'] == 'default') $autoinstall['configure_ftp'] = 'y';
-	if($autoinstall['configure_ftp'] == 'y' || $autoinstall['configure_ftp'] == 'n'){
-		$tmp_configure_ftp = $autoinstall['configure_ftp'];
-	} else {
-		$tmp_configure_ftp = strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y'));
-	}
-	if($tmp_configure_ftp == 'y') {
+	if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y','configure_ftp') ) == 'y') {
 		swriteln('Configuring Pureftpd');
 		$inst->configure_pureftpd();
 		if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
 	}
 
 	//** Configure DNS
-	$tmp_configure_dns = 'y';
-	if($autoinstall['configure_dns'] == 'default') $autoinstall['configure_dns'] = 'y';
-	if($autoinstall['configure_dns'] == 'y' || $autoinstall['configure_dns'] == 'n'){
-		$tmp_configure_dns = $autoinstall['configure_dns'];
-	} else {
-		$tmp_configure_dns = strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y'));
-	}
-	if($tmp_configure_dns == 'y') {
+	if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') {
 		$conf['services']['dns'] = true;
 		//* Configure DNS
 		if($conf['powerdns']['installed'] == true) {
@@ -598,14 +569,7 @@ if($install_mode == 'standard') {
 	//** Configure Apache
 	if($conf['apache']['installed'] == true){
 		swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.\n");
-		$tmp_configure_apache = 'y';
-		if($autoinstall['configure_apache'] == 'default') $autoinstall['configure_apache'] = 'y';
-		if($autoinstall['configure_apache'] == 'y' || $autoinstall['configure_apache'] == 'n'){
-			$tmp_configure_apache = $autoinstall['configure_apache'];
-		} else {
-			$tmp_configure_apache = strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y'));
-		}
-		if($tmp_configure_apache == 'y') {
+		if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y','configure_apache')) == 'y') {
 			$conf['services']['web'] = true;
 			swriteln('Configuring Apache');
 			$inst->configure_apache();
@@ -623,14 +587,7 @@ if($install_mode == 'standard') {
 	//** Configure nginx
 	if($conf['nginx']['installed'] == true){
 		swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n");
-		$tmp_configure_nginx = 'y';
-		if($autoinstall['configure_nginx'] == 'default') $autoinstall['configure_nginx'] = 'y';
-		if($autoinstall['configure_nginx'] == 'y' || $autoinstall['configure_nginx'] == 'n'){
-			$tmp_configure_nginx = $autoinstall['configure_nginx'];
-		} else {
-			$tmp_configure_nginx = strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y'));
-		}
-		if($tmp_configure_nginx == 'y') {
+		if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y','configure_nginx')) == 'y') {
 			$conf['services']['web'] = true;
 			swriteln('Configuring nginx');
 			$inst->configure_nginx();
@@ -646,14 +603,7 @@ if($install_mode == 'standard') {
 	}
 
 	//** Configure Firewall
-	$tmp_configure_firewall = 'y';
-	if($autoinstall['configure_firewall'] == 'default') $autoinstall['configure_firewall'] = 'y';
-	if($autoinstall['configure_firewall'] == 'y' || $autoinstall['configure_firewall'] == 'n'){
-		$tmp_configure_firewall = $autoinstall['configure_firewall'];
-	} else {
-		$tmp_configure_firewall = strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y'));
-	}
-	if($tmp_configure_firewall == 'y') {
+	if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') {
 		//if($conf['bastille']['installed'] == true) {
 		//* Configure Bastille Firewall
 		$conf['services']['firewall'] = true;
@@ -676,14 +626,7 @@ if($install_mode == 'standard') {
 
 	//** Configure ISPConfig :-)
 	$install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y';
-	$tmp_install_ispconfig_web_interface = $install_ispconfig_interface_default;
-	if($autoinstall['install_ispconfig_web_interface'] == 'default') $autoinstall['install_ispconfig_web_interface'] = $install_ispconfig_interface_default;
-	if($autoinstall['install_ispconfig_web_interface'] == 'y' || $autoinstall['install_ispconfig_web_interface'] == 'n'){
-		$tmp_install_ispconfig_web_interface = $autoinstall['install_ispconfig_web_interface'];
-	} else {
-		$tmp_install_ispconfig_web_interface = strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default));
-	}
-	if($tmp_install_ispconfig_web_interface == 'y') {
+	if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') {
 		swriteln('Installing ISPConfig');
 
 		//** We want to check if the server is a module or cgi based php enabled server
@@ -701,19 +644,13 @@ if($install_mode == 'standard') {
 		*/
 
 		//** Customise the port ISPConfig runs on
-		if($autoinstall['ispconfig_port'] == 'default') $autoinstall['ispconfig_port'] = '8080';
-		$ispconfig_vhost_port = (intval($autoinstall['ispconfig_port']) > 0 ? intval($autoinstall['ispconfig_port']) : $inst->free_query('ISPConfig Port', '8080'));
+		$ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
 		if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
 		if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
 		unset($ispconfig_vhost_port);
 
-		if($autoinstall['ispconfig_use_ssl'] == 'default') $autoinstall['ispconfig_use_ssl'] = 'y';
-		if($autoinstall['ispconfig_use_ssl'] == 'y' || $autoinstall['ispconfig_use_ssl'] == 'n'){
-			if($autoinstall['ispconfig_use_ssl'] == 'y') $inst->make_ispconfig_ssl_cert();
-		} else {
-			if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
-				$inst->make_ispconfig_ssl_cert();
-			}
+		if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {
+			$inst->make_ispconfig_ssl_cert();
 		}
 
 		$inst->install_ispconfig_interface = true;
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 2fc9e0b87a..2cd48a0797 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -56,12 +56,21 @@ class installer_base {
 		echo 'WARNING: '.$msg."\n";
 	}
 
-	public function simple_query($query, $answers, $default) {
+	public function simple_query($query, $answers, $default, $name = '') {
+		global $autoinstall;
 		$finished = false;
 		do {
-			$answers_str = implode(',', $answers);
-			swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
-			$input = sread();
+			if($name != '' && $autoinstall[$name] != '') {
+				if($autoinstall[$name] == 'default') {
+					$input = $default;
+				} else {
+					$input = $autoinstall[$name];
+				}
+			} else {
+				$answers_str = implode(',', $answers);
+				swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
+				$input = sread();
+			}
 
 			//* Stop the installation
 			if($input == 'quit') {
@@ -86,9 +95,18 @@ class installer_base {
 		return $answer;
 	}
 
-	public function free_query($query, $default) {
-		swrite($this->lng($query).' ['.$default.']: ');
-		$input = sread();
+	public function free_query($query, $default, $name = '') {
+		global $autoinstall;
+		if($name != '' && $autoinstall[$name] != '') {
+			if($autoinstall[$name] == 'default') {
+				$input = $default;
+			} else {
+				$input = $autoinstall[$name];
+			}
+		} else {
+			swrite($this->lng($query).' ['.$default.']: ');
+			$input = sread();
+		}
 
 		//* Stop the installation
 		if($input == 'quit') {
@@ -638,7 +656,7 @@ class installer_base {
 	}
 
 	public function configure_postfix($options = '') {
-		global $conf;
+		global $conf,$autoinstall;
 		$cf = $conf['postfix'];
 		$config_dir = $cf['config_dir'];
 
@@ -750,9 +768,9 @@ class installer_base {
 
 		if(!stristr($options, 'dont-create-certs')) {
 			//* Create the SSL certificate
-			if(is_file('autoinstall.conf.php')){
+			if(AUTOINSTALL){
 				$command = 'cd '.$config_dir.'; '
-					.'openssl req -new -subj \'/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd\' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
 			} else {
 				$command = 'cd '.$config_dir.'; '
 					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
@@ -1676,7 +1694,7 @@ class installer_base {
 	}
 
 	public function make_ispconfig_ssl_cert() {
-		global $conf;
+		global $conf,$autoinstall;
 
 		$install_dir = $conf['ispconfig_install_dir'];
 
@@ -1688,8 +1706,8 @@ class installer_base {
 
 		$ssl_pw = substr(md5(mt_rand()), 0, 6);
 		exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096");
-		if(is_file('autoinstall.conf.php')){
-			exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd' -key $ssl_key_file -out $ssl_csr_file");
+		if(AUTOINSTALL){
+			exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -key $ssl_key_file -out $ssl_csr_file");
 		} else {
 			exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
 		}
diff --git a/install/update.php b/install/update.php
index 1862ef218b..36eb201817 100644
--- a/install/update.php
+++ b/install/update.php
@@ -30,6 +30,30 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 /*
 	ISPConfig 3 updater.
+	
+	-------------------------------------------------------------------------------------
+	- Interactive update
+	-------------------------------------------------------------------------------------
+	run:
+	
+	php update.php
+	
+	-------------------------------------------------------------------------------------
+	- Noninteractive (autoupdate) mode
+	-------------------------------------------------------------------------------------
+	
+	The autoupdate mode can read the updater questions from a .ini style file or from
+	a php config file. Examples for both file types are in the docs folder. 
+	See autoinstall.ini.sample and autoinstall.conf_sample.php.
+	
+	run:
+	
+	php update.php --autoinstall=autoinstall.ini
+	
+	or
+	
+	php update.php --autoinstall=autoinstall.conf.php
+	
 */
 
 error_reporting(E_ALL|E_STRICT);
@@ -85,7 +109,26 @@ if($dist['id'] == '') die('Linux distribution or version not recognized.');
 
 //** Include the autoinstaller configuration (for non-interactive setups)
 error_reporting(E_ALL ^ E_NOTICE);
-if(is_file('autoinstall.conf.php')) include_once 'autoinstall.conf.php';
+
+//** Get commandline options
+$cmd_opt = getopt('', array('autoinstall::'));
+
+//** Load autoinstall file
+if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
+	$path_parts = pathinfo($cmd_opt['autoinstall']);
+	if($path_parts['extension'] == 'php') {
+		include_once $cmd_opt['autoinstall'];
+	} elseif($path_parts['extension'] == 'ini') {
+		$tmp = ini_to_array(file_get_contents('autoinstall.ini'));
+		$autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
+		unset($tmp);
+	}
+	unset($path_parts);
+	define('AUTOINSTALL', true);
+} else {
+	$autoinstall = array();
+	define('AUTOINSTALL', false);
+}
 
 //** Include the distribution-specific installer class library and configuration
 if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
@@ -135,12 +178,7 @@ $inst->find_installed_apps();
 echo "This application will update ISPConfig 3 on your server.\n\n";
 
 //* Make a backup before we start the update
-if($autoupdate['do_backup'] == 'default') $autoupdate['do_backup'] = 'yes';
-if($autoupdate['do_backup'] == 'yes' || $autoupdate['do_backup'] == 'no'){
-	$do_backup = $autoupdate['do_backup'];
-} else {
-	$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes');
-}
+$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes','do_backup');
 
 if($do_backup == 'yes') {
 
@@ -190,7 +228,7 @@ do {
 		$finished = true;
 	} else {
 		swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
-		$conf["mysql"]["admin_password"] = (isset($autoupdate['mysql_root_password'])? $autoupdate['mysql_root_password'] : $inst->free_query('MySQL root password', $conf['mysql']['admin_password']));
+		$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
 	}
 } while ($finished == false);
 unset($finished);
@@ -208,12 +246,10 @@ if($conf['mysql']['master_slave_setup'] == 'y') {
 	//** Get MySQL root credentials
 	$finished = false;
 	do {
-		if($autoupdate['mysql_master_database'] == 'default') $autoupdate['mysql_master_database'] = $conf['mysql']['master_database'];
-		
-		$tmp_mysql_server_host = ($autoupdate['mysql_master_hostname'] != ''? $autoupdate['mysql_master_hostname'] : $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']));
-		$tmp_mysql_server_admin_user = ($autoupdate['mysql_master_root_user'] != ''? $autoupdate['mysql_master_root_user'] : $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']));
-		$tmp_mysql_server_admin_password = (isset($autoupdate['mysql_master_root_password'])? $autoupdate['mysql_master_root_password'] : $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']));
-		$tmp_mysql_server_database = ($autoupdate['mysql_master_database'] != ''? $autoupdate['mysql_master_database'] : $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']));
+		$tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
+		$tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');	 
+		$tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
+		$tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
 
 		//* Initialize the MySQL server connection
 		if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -256,12 +292,7 @@ updateDbAndIni();
  */
 //if($conf_old['dbmaster_user'] != '' or $conf_old['dbmaster_host'] != '') {
 //** Update master database rights
-if($autoupdate['reconfigure_permissions_in_master_database'] == 'default') $autoupdate['reconfigure_permissions_in_master_database'] = 'no';
-if($autoupdate['reconfigure_permissions_in_master_database'] == 'no' || $autoupdate['reconfigure_permissions_in_master_database'] == 'yes'){
-	$reconfigure_master_database_rights_answer = $autoupdate['reconfigure_permissions_in_master_database'];
-} else {
-	$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no');
-}
+$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no','reconfigure_permissions_in_master_database');
 
 if($reconfigure_master_database_rights_answer == 'yes') {
 	$inst->grant_master_database_rights();
@@ -269,12 +300,7 @@ if($reconfigure_master_database_rights_answer == 'yes') {
 //}
 
 //** Shall the services be reconfigured during update
-if($autoupdate['reconfigure_services'] == 'default') $autoupdate['reconfigure_services'] = 'yes';
-if($autoupdate['reconfigure_services'] == 'yes' || $autoupdate['reconfigure_services'] == 'no'){
-	$reconfigure_services_answer = $autoupdate['reconfigure_services'];
-} else {
-	$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes');
-}
+$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');
 
 if($reconfigure_services_answer == 'yes') {
 
@@ -403,21 +429,14 @@ if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
 	$ispconfig_port_number = get_ispconfig_port_number();
 	if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number;
 	if($conf['webserver']['server_type'] == 'nginx'){
-		$conf['nginx']['vhost_port'] = (intval($autoupdate['ispconfig_port']) > 0 ? intval($autoupdate['ispconfig_port']) : $inst->free_query('ISPConfig Port', $ispconfig_port_number));
+		$conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
 	} else {
-		$conf['apache']['vhost_port'] = (intval($autoupdate['ispconfig_port']) > 0 ? intval($autoupdate['ispconfig_port']) : $inst->free_query('ISPConfig Port', $ispconfig_port_number));
+		$conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
 	}
 
 
 	// $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
-	$tmp_create_new_ispconfig_ssl_cert = 'no';
-	if($autoupdate['create_new_ispconfig_ssl_cert'] == 'default') $autoupdate['create_new_ispconfig_ssl_cert'] = 'no';
-	if($autoupdate['create_new_ispconfig_ssl_cert'] == 'no' || $autoupdate['create_new_ispconfig_ssl_cert'] == 'yes'){
-		$tmp_create_new_ispconfig_ssl_cert = $autoupdate['create_new_ispconfig_ssl_cert'];
-	} else {
-		$tmp_create_new_ispconfig_ssl_cert = strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no'));
-	}
-	if($tmp_create_new_ispconfig_ssl_cert == 'yes') {
+	if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no','create_new_ispconfig_ssl_cert')) == 'yes') {
 		$inst->make_ispconfig_ssl_cert();
 	}
 }
@@ -425,13 +444,7 @@ if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
 $inst->install_ispconfig();
 
 //** Configure Crontab
-if($autoupdate['reconfigure_crontab'] == 'default') $autoupdate['reconfigure_crontab'] = 'yes';
-if($autoupdate['reconfigure_crontab'] == 'no' || $autoupdate['reconfigure_crontab'] == 'yes'){
-	$update_crontab_answer = $autoupdate['reconfigure_crontab'];
-} else {
-	$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes');
-}
-
+$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab');
 if($update_crontab_answer == 'yes') {
 	swriteln('Updating Crontab');
 	$inst->install_crontab();
-- 
GitLab


From 524b0e69a7d1275022967fedee3022fc100fc600 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 9 Jul 2014 13:05:06 +0200
Subject: [PATCH 021/158] Renamed autoinstall_samples folder.

---
 .../autoinstall.conf_sample.php                                   | 0
 .../autoinstall.ini.sample                                        | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename docs/{autoinstall samples => autoinstall_samples}/autoinstall.conf_sample.php (100%)
 rename docs/{autoinstall samples => autoinstall_samples}/autoinstall.ini.sample (100%)

diff --git a/docs/autoinstall samples/autoinstall.conf_sample.php b/docs/autoinstall_samples/autoinstall.conf_sample.php
similarity index 100%
rename from docs/autoinstall samples/autoinstall.conf_sample.php
rename to docs/autoinstall_samples/autoinstall.conf_sample.php
diff --git a/docs/autoinstall samples/autoinstall.ini.sample b/docs/autoinstall_samples/autoinstall.ini.sample
similarity index 100%
rename from docs/autoinstall samples/autoinstall.ini.sample
rename to docs/autoinstall_samples/autoinstall.ini.sample
-- 
GitLab


From 35846d387500082d24ae6218df1481856ac464e8 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 9 Jul 2014 13:10:28 +0200
Subject: [PATCH 022/158] Fixed issue in gentoo autoinstall.

---
 install/dist/lib/gentoo.lib.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 9a0d7c94ab..4200a01398 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -121,10 +121,10 @@ class installer extends installer_base
 		{
 			if(AUTOINSTALL){
 				$command = 'cd '.$config_dir.'; '
-					."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
 			} else {
 				$command = 'cd '.$config_dir.'; '
-					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
 			}
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
-- 
GitLab


From 2150f0df966a438410603cacd2e4bdd3bf46909c Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Fri, 11 Jul 2014 14:34:29 +0200
Subject: [PATCH 023/158] - Raised pm.max_children to 500 for apps vhost and
 ispconfig vhost.

---
 install/tpl/apps_php_fpm_pool.conf.master | 2 +-
 install/tpl/php_fpm_pool.conf.master      | 2 +-
 server/conf/apps_php_fpm_pool.conf.master | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master
index ce6a92fcfb..7997e9bb69 100644
--- a/install/tpl/apps_php_fpm_pool.conf.master
+++ b/install/tpl/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@ user = {fpm_user}
 group = {fpm_group}
 
 pm = dynamic
-pm.max_children = 50
+pm.max_children = 500
 pm.start_servers = 2
 pm.min_spare_servers = 1
 pm.max_spare_servers = 5
diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master
index dfa3059444..9cde75ab60 100644
--- a/install/tpl/php_fpm_pool.conf.master
+++ b/install/tpl/php_fpm_pool.conf.master
@@ -9,7 +9,7 @@ user = {fpm_user}
 group = {fpm_group}
 
 pm = dynamic
-pm.max_children = 10
+pm.max_children = 500
 pm.start_servers = 2
 pm.min_spare_servers = 1
 pm.max_spare_servers = 5
diff --git a/server/conf/apps_php_fpm_pool.conf.master b/server/conf/apps_php_fpm_pool.conf.master
index ce6a92fcfb..7997e9bb69 100644
--- a/server/conf/apps_php_fpm_pool.conf.master
+++ b/server/conf/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@ user = {fpm_user}
 group = {fpm_group}
 
 pm = dynamic
-pm.max_children = 50
+pm.max_children = 500
 pm.start_servers = 2
 pm.min_spare_servers = 1
 pm.max_spare_servers = 5
-- 
GitLab


From b00e475250e2b6bfbfa0475814869a72b0aa4dde Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Tue, 15 Jul 2014 17:43:09 +0200
Subject: [PATCH 024/158] - adjusted PHP settings regex to allow |, (, and )
 (like in "error_reporting = E_ALL & ~(E_NOTICE | E_DEPRECATED | E_STRICT)")

---
 interface/web/sites/web_domain_edit.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 990e8cd3d7..8edfffafb6 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -749,7 +749,7 @@ class page_action extends tform_actions {
 					// value inside ''
 					if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*\'.*\'\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
 					// everything else
-					if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
+					if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s|()]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
 					$custom_php_ini_settings_are_valid = false;
 					break;
 				}
-- 
GitLab


From 51569edba0f9598e08c7975490f9ca8254017425 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 24 Jul 2014 10:23:28 +0200
Subject: [PATCH 025/158] Fixed: db user not created in mysql user table if
 password is stored in cleartext (ISPConfig < 3.0.3.3) Fixed: db user not
 created on update if status not changed (e. g. on using resync tool)

---
 .../plugins-available/mysql_clientdb_plugin.inc.php   | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/mysql_clientdb_plugin.inc.php b/server/plugins-available/mysql_clientdb_plugin.inc.php
index cba977cc05..6145db00c7 100644
--- a/server/plugins-available/mysql_clientdb_plugin.inc.php
+++ b/server/plugins-available/mysql_clientdb_plugin.inc.php
@@ -83,7 +83,14 @@ class mysql_clientdb_plugin {
 		if(!is_array($host_list)) $host_list = explode(',', $host_list);
 
 		$success = true;
-
+		if(!preg_match('/\*[A-F0-9]{40}$/', $database_password)) {
+				$result = $link->query("SELECT PASSWORD('" . $link->escape_string($database_password) . "') as `crypted`");
+				if($result) {
+						$row = $result->fetch_assoc();
+						$database_password = $row['crypted'];
+						$result->free();
+				}
+		}
 		// loop through hostlist
 		foreach($host_list as $db_host) {
 			$db_host = trim($db_host);
@@ -270,7 +277,7 @@ class mysql_clientdb_plugin {
 			$old_host_list .= 'localhost';
 
 			// Create the database user if database was disabled before
-			if($data['new']['active'] == 'y' && $data['old']['active'] == 'n') {
+			if($data['new']['active'] == 'y') {
 				if($db_user) {
 					if($db_user['database_user'] == 'root') $app->log('User root not allowed for Client databases', LOGLEVEL_WARNING);
 					else $this->process_host_list('GRANT', $data['new']['database_name'], $db_user['database_user'], $db_user['database_password'], $host_list, $link);
-- 
GitLab


From a6a997ee36ac59d0f079ac26da87412f5dfdef2c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 13:32:23 +0200
Subject: [PATCH 026/158] FS#3574 - Improve corrupt maildir removal function

---
 server/plugins-available/mail_plugin.inc.php | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php
index 5bf37d14e4..6d109c5bd1 100644
--- a/server/plugins-available/mail_plugin.inc.php
+++ b/server/plugins-available/mail_plugin.inc.php
@@ -107,10 +107,11 @@ class mail_plugin {
 			$maildomain_path .= '/Maildir';
 		}
 
-		//* When the mail user dir exists but it is not a valid maildir, remove it
+		//* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
 		if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
-			exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
-			$app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
+			if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
+			exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
+			$app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
 		}
 
 		//* Create the maildir, if it doesn not exist, set permissions, set quota.
@@ -238,10 +239,11 @@ class mail_plugin {
 			$maildomain_path .= '/Maildir';
 		}
 
-		//* When the mail user dir exists but it is not a valid maildir, remove it
+		//* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
 		if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
-			exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
-			$app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
+			if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
+			exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
+			$app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
 		}
 
 		//* Create the maildir, if it doesn not exist, set permissions, set quota.
-- 
GitLab


From 51910d3e188c441412010013efb4b3522e35c696 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 14:25:39 +0200
Subject: [PATCH 027/158] FS#3490 - Change permissions of folder protection
 files for nfs - Changed vhost.conf.master as php-fpm was not working after
 commit "5a6670bd3c1083f3c6f6652202e7c776745b5eff".

---
 server/conf/vhost.conf.master                 | 26 ++++++++++++++-----
 .../plugins-available/apache2_plugin.inc.php  | 12 ++++-----
 2 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 0dd805af84..96b3443384 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -225,9 +225,16 @@
 		# php as cgi enabled
 		ScriptAlias /php5-cgi <tmpl_var name='cgi_starter_path'><tmpl_var name='cgi_starter_script'>
 		Action php5-cgi /php5-cgi
-		<FilesMatch "\.php[345]?$">
-			SetHandler php5-cgi
-		</FilesMatch>
+		<Directory {tmpl_var name='web_document_root_www'}>
+			<FilesMatch "\.php[345]?$">
+				SetHandler php5-cgi
+			</FilesMatch>
+		</Directory>
+		<Directory {tmpl_var name='web_document_root'}>
+			<FilesMatch "\.php[345]?$">
+				SetHandler php5-cgi
+			</FilesMatch>
+		</Directory>
 		<Directory {tmpl_var name='cgi_starter_path'}>
 			<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
 			Require all granted
@@ -308,9 +315,16 @@
 					Allow from all
 					</tmpl_if>
 			    </Directory>
-				<FilesMatch "\.php[345]?$">
-					SetHandler php5-fcgi
-				</FilesMatch>
+				<Directory {tmpl_var name='web_document_root_www'}>
+					<FilesMatch "\.php[345]?$">
+						SetHandler php5-fcgi
+					</FilesMatch>
+				</Directory>
+				<Directory {tmpl_var name='web_document_root'}>
+					<FilesMatch "\.php[345]?$">
+						SetHandler php5-fcgi
+					</FilesMatch>
+				</Directory>
                 Action php5-fcgi /php5-fcgi
 				Alias /php5-fcgi {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'}
 <tmpl_if name='use_tcp'>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index e3833b03ac..a1d247ca61 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1472,7 +1472,7 @@ class apache2_plugin {
 		if(!is_dir($data['new']['document_root'].'/' . $web_folder . '/stats')) $app->system->mkdir($data['new']['document_root'].'/' . $web_folder . '/stats');
 		$ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data['new']['document_root']."/web/stats/.htpasswd_stats\nrequire valid-user";
 		$app->system->file_put_contents($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', $ht_file);
-		$app->system->chmod($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', 0755);
+		$app->system->chmod($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', 0751);
 		unset($ht_file);
 		//}
 
@@ -1482,7 +1482,7 @@ class apache2_plugin {
 				$app->system->web_folder_protection($data['new']['document_root'], false);
 				$app->system->file_put_contents($data['new']['document_root'].'/web/stats/.htpasswd_stats', $htp_file);
 				$app->system->web_folder_protection($data['new']['document_root'], true);
-				$app->system->chmod($data['new']['document_root'].'/web/stats/.htpasswd_stats', 0755);
+				$app->system->chmod($data['new']['document_root'].'/web/stats/.htpasswd_stats', 0751);
 				unset($htp_file);
 			}
 		}
@@ -2009,7 +2009,7 @@ class apache2_plugin {
 		//* Create empty .htpasswd file, if it does not exist
 		if(!is_file($folder_path.'.htpasswd')) {
 			$app->system->touch($folder_path.'.htpasswd');
-			$app->system->chmod($folder_path.'.htpasswd', 0750);
+			$app->system->chmod($folder_path.'.htpasswd', 0751);
 			$app->system->chown($folder_path.'.htpasswd', $website['system_user']);
 			$app->system->chgrp($folder_path.'.htpasswd', $website['system_group']);
 			$app->log('Created file '.$folder_path.'.htpasswd', LOGLEVEL_DEBUG);
@@ -2063,7 +2063,7 @@ class apache2_plugin {
 		unset($old_content);
 
 		$app->system->file_put_contents($folder_path.'.htaccess', $ht_file);
-		$app->system->chmod($folder_path.'.htaccess', 0750);
+		$app->system->chmod($folder_path.'.htaccess', 0751);
 		$app->system->chown($folder_path.'.htaccess', $website['system_user']);
 		$app->system->chgrp($folder_path.'.htaccess', $website['system_group']);
 		$app->log('Created/modified file '.$folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2225,7 +2225,7 @@ class apache2_plugin {
 			}
 
 			$app->system->file_put_contents($new_folder_path.'.htaccess', $ht_file);
-			$app->system->chmod($new_folder_path.'.htaccess', 0750);
+			$app->system->chmod($new_folder_path.'.htaccess', 0751);
 			$app->system->chown($new_folder_path.'.htaccess', $website['system_user']);
 			$app->system->chgrp($new_folder_path.'.htaccess', $website['system_group']);
 			$app->log('Created/modified file '.$new_folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2233,7 +2233,7 @@ class apache2_plugin {
 			//* Create empty .htpasswd file, if it does not exist
 			if(!is_file($folder_path.'.htpasswd')) {
 				$app->system->touch($new_folder_path.'.htpasswd');
-				$app->system->chmod($new_folder_path.'.htpasswd', 0750);
+				$app->system->chmod($new_folder_path.'.htpasswd', 0751);
 				$app->system->chown($new_folder_path.'.htpasswd', $website['system_user']);
 				$app->system->chgrp($new_folder_path.'.htpasswd', $website['system_group']);
 				$app->log('Created file '.$new_folder_path.'.htpasswd', LOGLEVEL_DEBUG);
-- 
GitLab


From 5aedfd4b6c0ebd2277f03b49bb21c409ac3595cc Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 14:36:37 +0200
Subject: [PATCH 028/158] FS#3572 - session.save_path directory listing
 possible for everyone

---
 server/plugins-available/apache2_plugin.inc.php | 4 ++--
 server/plugins-available/nginx_plugin.inc.php   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index a1d247ca61..bfa435dea0 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -710,7 +710,7 @@ class apache2_plugin {
 				$app->system->chmod($data['new']['document_root'].'/ssl', 0755);
 
 				// make tmp directory writable for Apache and the website users
-				$app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+				$app->system->chmod($data['new']['document_root'].'/tmp', 0770);
 
 				// Set Log directory to 755 to make the logs accessible by the FTP user
 				if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -770,7 +770,7 @@ class apache2_plugin {
 				$app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
 
 				// make temp directory writable for Apache and the website users
-				$app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+				$app->system->chmod($data['new']['document_root'].'/tmp', 0770);
 
 				// Set Log directory to 755 to make the logs accessible by the FTP user
 				if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index dcfc674b09..1947367c9a 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -714,7 +714,7 @@ class nginx_plugin {
 				$app->system->chmod($data['new']['document_root'].'/ssl', 0755);
 
 				// make tmp directory writable for nginx and the website users
-				$app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+				$app->system->chmod($data['new']['document_root'].'/tmp', 0770);
 
 				// Set Log directory to 755 to make the logs accessible by the FTP user
 				if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -774,7 +774,7 @@ class nginx_plugin {
 				$app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
 
 				// make temp directory writable for nginx and the website users
-				$app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+				$app->system->chmod($data['new']['document_root'].'/tmp', 0770);
 
 				// Set Log directory to 755 to make the logs accessible by the FTP user
 				if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
-- 
GitLab


From 8496f27bcca1977485984f2b99f75ed2ba69b986 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 14:53:59 +0200
Subject: [PATCH 029/158] Fixed: FS#3565 - Wrong Traffic Calculation - vlogger

---
 install/tpl/apache_ispconfig.conf.master | 2 +-
 server/conf/apache_ispconfig.conf.master | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index 9086033101..cd9924a377 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
 # ISPConfig Logfile configuration for vlogger
 ################################################
 
-LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
+LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
 CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
 
 <Directory /var/www/clients>
diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master
index be6f637b7b..6b2accbc8e 100644
--- a/server/conf/apache_ispconfig.conf.master
+++ b/server/conf/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
 # ISPConfig Logfile configuration for vlogger
 ################################################
 
-LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
+LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
 CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
 
 <Directory /var/www/clients>
-- 
GitLab


From 4c842d6572cf623858e5d94cba5615b266466c6f Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 15:09:51 +0200
Subject: [PATCH 030/158] Fixed: FS#3525 - bind dlz plugin

---
 server/plugins-available/bind_dlz_plugin.inc.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/bind_dlz_plugin.inc.php b/server/plugins-available/bind_dlz_plugin.inc.php
index f6d367f273..21c0f86e43 100644
--- a/server/plugins-available/bind_dlz_plugin.inc.php
+++ b/server/plugins-available/bind_dlz_plugin.inc.php
@@ -188,7 +188,7 @@ class bind_dlz_plugin {
 		//$_db = clone $app->db;
 		//$_db->dbName = 'named';
 
-		$app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]}");
+		$app->db->query( "DELETE FROM named.dns_records WHERE zone = '".substr($data['old']['origin'], 0, -1)."'");
 		//unset($_db);
 	}
 
@@ -345,7 +345,7 @@ class bind_dlz_plugin {
 		//$_db = clone $app->db;
 		//$_db->dbName = 'named';
 
-		$app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]} AND type != 'SOA'");
+		$app->db->query( "DELETE FROM named.dns_records WHERE type != 'SOA' AND zone = '".substr($data['old']['origin'], 0, -1)."'");
 		//unset($_db);
 	}
 
-- 
GitLab


From d678830e418467eeddaff394bac5998fd0cb8468 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 15:32:31 +0200
Subject: [PATCH 031/158] Added mail() function from interface to ispconfig
 server part.

---
 server/cron_daily.php               |   2 +-
 server/lib/classes/ispcmail.inc.php | 869 ++++++++++++++++++++++++++++
 server/lib/classes/system.inc.php   |  31 +
 3 files changed, 901 insertions(+), 1 deletion(-)
 create mode 100644 server/lib/classes/ispcmail.inc.php

diff --git a/server/cron_daily.php b/server/cron_daily.php
index b9b34324b0..75459be20a 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -647,7 +647,7 @@ if ($app->dbmaster == $app->db) {
 // function for sending notification emails
 //########
 function send_notification_email($template, $placeholders, $recipients) {
-	global $conf;
+	global $conf, $app;
 
 	if(!is_array($recipients) || count($recipients) < 1) return false;
 	if(!is_array($placeholders)) $placeholders = array();
diff --git a/server/lib/classes/ispcmail.inc.php b/server/lib/classes/ispcmail.inc.php
new file mode 100644
index 0000000000..930aabbca9
--- /dev/null
+++ b/server/lib/classes/ispcmail.inc.php
@@ -0,0 +1,869 @@
+<?php
+
+/*
+Copyright (c) 2012, Marius Cramer, pixcept KG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/**
+ * email class
+ *
+ * @package pxFramework
+ *
+ */
+
+
+class ispcmail {
+
+	/**#@+
+     * @access private
+     */
+	private $html_part;
+	private $text_part;
+
+	private $headers;
+
+	private $_logged_in = false;
+	private $_smtp_conn = null;
+
+	private $_crlf = "\n";
+
+	private $attach_type = 'application/octet-stream';
+	private $attachments;
+	private $mime_boundary;
+	private $body = '';
+	private $_mail_sender = '';
+	private $_sent_mails = 0;
+	private $user_agent = 'ISPConfig/3 (Mailer Class)';
+	/**#@-*/
+
+
+
+	/**
+	 * set the mail charset
+	 */
+	private $mail_charset  = 'UTF-8';//'ISO-8859-1';
+
+	/**#@+
+     * Provide smtp credentials for smtp mail sending
+     *
+     * @access public
+     */
+
+	/**
+	 * if set to true smtp is used instead of mail() to send emails
+	 * @see mail
+	 */
+	private $use_smtp = false;
+
+	/**
+	 * the smtp helo string - use the mail server name here!
+	 */
+	private $smtp_helo = '';
+
+	/**
+	 * the smtp server to send mails
+	 */
+	private $smtp_host = '';
+
+	/**
+	 * the smtp port
+	 */
+	private $smtp_port = 25;
+
+	/**
+	 * if the smtp server needs authentication you can set the smtp user here
+	 */
+	private $smtp_user = '';
+
+	/**
+	 * if the smtp server needs authentication you can set the smtp password here
+	 */
+	private $smtp_pass = '';
+
+	/**
+	 * If you want to use tls/ssl specify it here
+	 */
+	private $smtp_crypt = ''; // tls or ssl
+	/**
+	 * How many mails should be sent via one single smtp connection
+	 */
+	private $smtp_max_mails = 20;
+
+	/**
+	 * Should the mail be signed
+	 */
+	private $sign_email = false;
+
+	/**
+	 * The cert and key to use for email signing
+	 */
+	private $sign_key = '';
+	private $sign_key_pass = '';
+	private $sign_cert = '';
+	private $sign_bundle = '';
+	private $_is_signed = false;
+
+	/**
+	 * get disposition notification
+	 */
+	private $notification = false;
+	/**#@-*/
+
+	public function __construct($options = array()) {
+		$rand = md5(microtime());
+		$this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
+
+		$this->headers = array();
+		$this->attachments = array();
+
+		$this->headers['MIME-Version'] = '1.0';
+		$this->headers['User-Agent'] = $this->user_agent;
+		if(is_array($options) && count($options) > 0) $this->setOptions($options);
+	}
+
+	public function __destruct() {
+		$this->finish();
+	}
+
+
+
+	/**
+	 * Set option
+	 *
+	 * @param string $key the option to set
+	 * @param string $value the option value to set
+	 */
+	public function setOption($key, $value) {
+		switch($key) {
+		case 'smtp_helo':
+			$this->smtp_helo = $value;
+			break;
+		case 'smtp_host':
+			$this->smtp_host = $value;
+			break;
+		case 'smtp_server':
+			$this->smtp_host = $value;
+			break;
+		case 'smtp_port':
+			$this->smtp_port = $value;
+			break;
+		case 'smtp_user':
+			$this->smtp_user = $value;
+			break;
+		case 'smtp_pass':
+			$this->smtp_pass = $value;
+			break;
+		case 'smtp_max_mails':
+			$this->smtp_max_mails = intval($value);
+			if($this->smtp_max_mails < 1) $this->smtp_max_mails = 1;
+			break;
+		case 'use_smtp':
+			$this->use_smtp = ($value == true ? true : false);
+			if($value == true) $this->_crlf = "\r\n";
+			break;
+		case 'smtp_crypt':
+			if($value != 'ssl' && $value != 'tls') $value = '';
+			$this->smtp_crypt = $value;
+			break;
+		case 'sign_email':
+			$this->sign_email = ($value == true ? true : false);
+			break;
+		case 'sign_key':
+			$this->sign_key = $value;
+			break;
+		case 'sign_key_pass':
+			$this->sign_key_pass = $value;
+			break;
+		case 'sign_cert':
+			$this->sign_cert = $value;
+			break;
+		case 'sign_bundle':
+			$this->sign_bundle = $value;
+			break;
+		case 'mail_charset':
+			$this->mail_charset = $value;
+			break;
+		case 'notify':
+			$this->notification = ($value == true ? true : false);
+			break;
+		}
+	}
+
+
+
+	/** Detect the helo string if none given
+	 *
+	 */
+	private function detectHelo() {
+		if(isset($_SERVER['HTTP_HOST'])) $this->smtp_helo = (strpos($_SERVER['HTTP_HOST'], ':') !== false ? substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':')) : $_SERVER['HTTP_HOST']);
+		elseif(isset($_SERVER['SERVER_NAME'])) $this->smtp_helo = $_SERVER['SERVER_NAME'];
+		else $this->smtp_helo = php_uname('n');
+		if($this->smtp_helo == '') $this->smtp_helo = 'localhost';
+		return $this->smtp_helo;
+	}
+
+
+
+	/**
+	 * Set options
+	 *
+	 * @param array $options the options to set as an associative array key => value
+	 */
+	public function setOptions($options) {
+		foreach($options as $key => $value) $this->setOption($key, $value);
+	}
+
+
+
+	/**
+	 * Read a file's contents
+	 *
+	 * Simply gets the file's content
+	 *
+	 * @access public
+	 * @param string $filename name and path of file to read
+	 * @return string file content (can be binary)
+	 */
+	public function read_File($filename) {
+		$content = '';
+
+		$fp = fopen($filename, 'r');
+		if(!$fp) return false;
+
+		while(!feof($fp)) {
+			$content .= fread($fp, 1024);
+		}
+		fclose($fp);
+
+		return $content;
+	}
+
+
+
+	/**
+	 * set smtp connection encryption
+	 *
+	 * @access public
+	 * @param string $mode encryption mode (tls, ssl or empty string)
+	 */
+	public function setSMTPEncryption($mode = '') {
+		if($mode != 'ssl' && $mode != 'tls') $mode = '';
+		$this->smtp_crypt = $mode;
+	}
+
+	/**
+	 * set a mail header
+	 *
+	 * Sets a single mail header to a given value
+	 *
+	 * @access public
+	 * @param string $header header name to set
+	 * @param string $value value to set in header field
+	 */
+	public function setHeader($header, $value) {
+		if(strtolower($header) == 'bcc') $header = 'Bcc';
+		elseif(strtolower($header) == 'cc') $header = 'Cc';
+		elseif(strtolower($header) == 'from') $header = 'From';
+		$this->headers["$header"] = $value;
+	}
+
+
+
+	/**
+	 * get a mail header value
+	 *
+	 * Returns a value of a single mail header
+	 *
+	 * @access public
+	 * @param string $header header name to get
+	 * @return string header value
+	 */
+	public function getHeader($header) {
+		if(strtolower($header) == 'bcc') $header = 'Bcc';
+		elseif(strtolower($header) == 'cc') $header = 'Cc';
+		elseif(strtolower($header) == 'from') $header = 'From';
+		return isset($this->headers["$header"]) ? $this->headers["$header"] : '';
+	}
+
+
+
+	/**
+	 * Set email sender
+	 *
+	 * Sets the email sender and optionally the sender's name
+	 *
+	 * @access public
+	 * @param string $email sender email address
+	 * @param string $name sender name
+	 */
+	public function setSender($email, $name = '') {
+		if($name) $header = '"' . $name . '" <' . $email . '>';
+		else $header = '<' . $email . '>';
+
+		$this->_mail_sender = $email;
+
+		$this->setHeader('From', $header);
+	}
+
+
+
+	/**
+	 * Set mail subject
+	 *
+	 * @access public
+	 * @param string $subject the mail subject
+	 * @return string where-string for db query
+	 */
+	public function setSubject($subject) {
+		$this->setHeader('Subject', $subject);
+	}
+
+
+
+	/**
+	 * Get current mail subject
+	 *
+	 * @access public
+	 * @return string mail subject
+	 */
+	public function getSubject() {
+		return $this->headers['Subject'];
+	}
+
+
+
+	/**
+	 * Set mail content
+	 *
+	 * Sets the mail html and plain text content
+	 *
+	 * @access public
+	 * @param string $text plain text mail content (can be empty)
+	 * @param string $html html mail content
+	 */
+	public function setMailText($text, $html = '') {
+		$this->text_part = $text;
+		$this->html_part = $html;
+	}
+
+
+
+	/**
+	 * Read and attach a file
+	 *
+	 * Reads a file and attaches it to the current email
+	 *
+	 * @access public
+	 * @param string $filename the file to read and attach
+	 * @param string $display_name the name that will be displayed in the mail
+	 * @see read_File
+	 */
+	public function readAttachFile($filename, $display_name = '') {
+		if($display_name == '') {
+			$path_parts = pathinfo($filename);
+			$display_name = $path_parts["basename"];
+			unset($path_parts);
+		}
+		$this->attachFile($this->read_File($filename), $display_name);
+	}
+
+
+
+	/**
+	 * Attach a file
+	 *
+	 * Attaches a string (can be binary) as a file to the mail
+	 *
+	 * @access public
+	 * @param string $content attachment data string
+	 * @param string $filename name for file attachment
+	 */
+	public function attachFile($content, $filename) {
+		$attachment = array('content' => $content,
+			'filename' => $filename,
+			'type' => 'application/octet-stream',
+			'encoding' => 'base64'
+		);
+		$this->attachments[] = $attachment;
+	}
+
+
+
+	/**
+	 * @access private
+	 */
+	private function create() {
+		$attach = false;
+		$html = false;
+		$text = false;
+
+		if($this->html_part) $html = true;
+		if($this->text_part) $text = true;
+		if(count($this->attachments) > 0) $attach = true;
+
+		$textonly = false;
+		$htmlonly = false;
+		if($text == true && $html == false && $attach == false) {
+			// only text
+			$content_type = 'text/plain; charset="' . strtolower($this->mail_charset) . '"';
+			$textonly = true;
+		} elseif($text == true && $html == false && $attach == true) {
+			// text and attachment
+			$content_type = 'multipart/mixed;';
+			$content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+		} elseif($html == true && $text == true && $attach == false) {
+			// html only (or text too)
+			$content_type = 'multipart/alternative;';
+			$content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+		} elseif($html == true && $text == false && $attach == false) {
+			// html only (or text too)
+			$content_type = 'text/html; charset="' . strtolower($this->mail_charset) . '"';
+			$htmlonly = true;
+		} elseif($html == true && $attach == true) {
+			// html and attachments
+			$content_type = 'multipart/mixed;';
+			$content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+		}
+
+		$this->headers['Content-Type'] = $content_type;
+
+		if($textonly == false && $htmlonly == false) {
+			$this->body = "This is a multi-part message in MIME format.\n\n";
+
+			if($text) {
+				/*$this->body .= "--{$this->mime_boundary}\n" .
+                              "Content-Type:text/plain; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
+                              "Content-Transfer-Encoding: 7bit\n\n" . $this->text_part . "\n\n";*/
+				$this->body .= "--{$this->mime_boundary}\n" .
+					"Content-Type:text/plain; charset=\"UTF-8\"\n" .
+					"Content-Transfer-Encoding: 8bit\n\n" . $this->text_part . "\n\n";
+			}
+
+			if($html) {
+				/*$this->body .= "--{$this->mime_boundary}\n" .
+                               "Content-Type:text/html; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
+                               "Content-Transfer-Encoding: 7bit\n\n" . $this->html_part . "\n\n";*/
+				$this->body .= "--{$this->mime_boundary}\n" .
+					"Content-Type:text/html; charset=\"UTF-8\"\n" .
+					"Content-Transfer-Encoding: 8bit\n\n" . $this->html_part . "\n\n";
+			}
+
+			if($attach) {
+				foreach($this->attachments as $att) {
+					$this->body .= "--{$this->mime_boundary}\n" .
+						"Content-Type: " . $att['type'] . ";\n" .
+						" name=\"" . $att['filename'] . "\"\n" .
+						"Content-Transfer-Encoding: base64\n" .
+						"Content-Disposition: attachment;\n\n" .
+						chunk_split(base64_encode($att['content'])) . "\n\n";
+				}
+			}
+			$this->body .= "--{$this->mime_boundary}--\n";
+		} elseif($htmlonly == true) {
+			$this->body = $this->html_part;
+		} else {
+			$this->body = $this->text_part;
+		}
+
+		if (isset($this->body)) {
+			// Add message ID header
+			$message_id = sprintf('<%s.%s@%s>', base_convert(time(), 10, 36), base_convert(rand(), 10, 36), $this->smtp_helo != '' ? $this->smtp_helo : $this->detectHelo());
+			$this->headers['Message-ID'] = $message_id;
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+
+
+	/**
+	 * Function to sign an email body
+	 */
+	private function sign() {
+		if($this->sign_email == false || $this->sign_key == '' || $this->sign_cert == '') return false;
+		if(function_exists('openssl_pkcs7_sign') == false) return false;
+
+		$tmpin = tempnam(sys_get_temp_dir(), 'sign');
+		$tmpout = tempnam(sys_get_temp_dir(), 'sign');
+		if(!file_exists($tmpin) || !is_writable($tmpin)) return false;
+
+		file_put_contents($tmpin, 'Content-Type: ' . $this->getHeader('Content-Type') . "\n\n" . $this->body);
+		$tmpf_key = tempnam(sys_get_temp_dir(), 'sign');
+		file_put_contents($tmpf_key, $this->sign_key);
+		$tmpf_cert = tempnam(sys_get_temp_dir(), 'sign');
+		file_put_contents($tmpf_cert, $this->sign_cert);
+		if($this->sign_bundle != '')  {
+			$tmpf_bundle = tempnam(sys_get_temp_dir(), 'sign');
+			file_put_contents($tmpf_bundle, $this->sign_bundle);
+			openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array(), PKCS7_DETACHED, realpath($tmpf_bundle));
+		} else {
+			openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array());
+		}
+		unlink($tmpin);
+		unlink($tmpf_cert);
+		unlink($tmpf_key);
+		if(file_exists($tmpf_bundle)) unlink($tmpf_bundle);
+
+		if(!file_exists($tmpout) || !is_readable($tmpout)) return false;
+		$this->body = file_get_contents($tmpout);
+		unlink($tmpout);
+
+		unset($this->headers['Content-Type']);
+		unset($this->headers['MIME-Version']);
+
+		$this->_is_signed = true;
+	}
+
+	private function _char_to_hex($matches) {
+		return '=' . strtoupper(dechex(ord($matches[1])));
+	}
+
+
+
+	/**
+	 * Function to encode a header if necessary
+	 * according to RFC2047
+	 * @access private
+	 */
+	private function _encodeHeader($input, $charset = 'ISO-8859-1') {
+		preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
+		foreach ($matches[1] as $value) {
+			$replacement = preg_replace_callback('/([\x20\x80-\xFF])/', array($this, '_char_to_hex'), $value);
+			$input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
+		}
+
+		return $input;
+	}
+
+
+
+	/**
+	 * Function to encode the subject if necessary
+	 * according to RFC2047
+	 * @access private
+	 */
+	private function _encodeSubject($input, $charset = 'ISO-8859-1') {
+		/*
+		if($charset == 'UTF-8' && function_exists('imap_8bit')) {
+			$input = "=?utf-8?Q?" . imap_8bit($input) . "?=";
+		} else {
+			preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
+			foreach ($matches[1] as $value) {
+				$replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value);
+				$input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
+			}
+		}*/
+		$input='=?UTF-8?B?'.base64_encode($input).'?=';
+
+		return $input;
+	}
+
+
+
+	/**
+	 * @access private
+	 */
+	private function _smtp_login() {
+		$this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'ssl://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30);
+		$response = fgets($this->_smtp_conn, 515);
+		if(empty($this->_smtp_conn)) return false;
+
+		//Say Hello to SMTP
+		if($this->smtp_helo == '') $this->detectHelo();
+		fputs($this->_smtp_conn, 'HELO ' . $this->smtp_helo . $this->_crlf);
+		$response = fgets($this->_smtp_conn, 515);
+
+		// ENCRYPTED?
+		if($this->smtp_crypt == 'tls') {
+			fputs($this->_smtp_conn, 'STARTTLS' . $this->_crlf);
+			fgets($this->_smtp_conn, 515);
+			stream_socket_enable_crypto($this->_smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
+		}
+
+		//AUTH LOGIN
+		fputs($this->_smtp_conn, 'AUTH LOGIN' . $this->_crlf);
+		$response = fgets($this->_smtp_conn, 515);
+
+		//Send username
+		fputs($this->_smtp_conn, base64_encode($this->smtp_user) . $this->_crlf);
+		$response = fgets($this->_smtp_conn, 515);
+
+		//Send password
+		fputs($this->_smtp_conn, base64_encode($this->smtp_pass) . $this->_crlf);
+		$response = fgets($this->_smtp_conn, 515);
+
+		$this->_logged_in = true;
+		return true;
+	}
+
+
+
+	/**
+	 * @access private
+	 */
+	private function _smtp_close() {
+		$this->_logged_in = false;
+
+		if(empty($this->_smtp_conn)) {
+			return false;
+		}
+
+		fputs($this->_smtp_conn, 'QUIT' . $this->_crlf);
+		$response = @fgets($this->_smtp_conn, 515);
+		return true;
+	}
+
+	private function _extract_names($data) {
+		$senders = array();
+
+		$data = stripslashes(preg_replace("'(\t|\r|\n)'", '', $data));
+
+		if(trim($data) == '') return $senders;
+
+		$armail = array();
+		$counter = 0;  $inthechar = 0;
+		$chartosplit = ',;'; $protectchar = '"'; $temp = '';
+		$closed = 1;
+
+		for($i = 0; $i < strlen($data); $i++) {
+			$thischar = $data[$i];
+			if($thischar == '<' && $closed) $closed = 0;
+			if($thischar == '>' && !$closed) $closed = 1;
+			if($thischar == $protectchar) $inthechar = ($inthechar) ? 0 : 1;
+			if((strpos($chartosplit, $thischar) !== false) && !$inthechar && $closed) {
+				$armail[] = $temp;
+				$temp = '';
+			} else {
+				$temp .= $thischar;
+			}
+		}
+
+		if(trim($temp) != '') {
+			$armail[] = trim($temp);
+			unset($temp);
+		}
+
+		foreach($armail as $thisPart) {
+			$thisPart = trim(preg_replace('/^"(.*)"$/i', '$1', trim($thisPart)));
+			if($thisPart != '') {
+				$email = '';
+				$name = '';
+				if(preg_match('/(.*)<(.*)>/i', $thisPart, $matches)) {
+					$email = trim($matches[2]);
+					$name = trim($matches[1]);
+				} else {
+					if(preg_match('/([-a-z0-9_$+.]+@[-a-z0-9_.]+[-a-z0-9_]+)((.*))/i', $thisPart, $matches)) {
+						$email = $matches[1];
+						$name = $matches[2];
+					} else {
+						$email = $thisPart;
+					}
+				}
+
+				$email = preg_replace('/<(.*)\\>/', '$1', $email);
+				$name = preg_replace('/"(.*)"/', '$1', trim($name));
+				$name = preg_replace('/\((.*)\)/', '$1', $name);
+
+				if($name == '') $name = $email;
+				if($email == '') $email = $name;
+				$senders[] = array(
+					'name' => $name,
+					'mail' => $email
+				);
+				unset($name);
+				unset($email);
+			}
+		}
+		unset($armail);
+		unset($thisPart);
+
+		return $senders;
+	}
+
+	/**
+	 * Send the mail to one or more recipients
+	 *
+	 * The recipients can be either a string (1 recipient email without name) or an associative array of recipients with names as keys and email addresses as values.
+	 *
+	 * @access public
+	 * @param mixed $recipients one email address or array of recipients with names as keys and email addresses as values
+	 */
+	public function send($recipients) {
+		if(!is_array($recipients)) $recipients = array($recipients);
+
+		if($this->use_smtp == true) $this->_crlf = "\r\n";
+		else $this->_crlf = "\n";
+
+		$this->create();
+		if($this->sign_email == true) $this->sign();
+
+		$subject = '';
+		if (!empty($this->headers['Subject'])) {
+			//$subject = $this->_encodeHeader($this->headers['Subject'], $this->mail_charset);
+			$subject = $this->headers['Subject'];
+
+			//$enc_subject = $this->_encodeHeader($subject, $this->mail_charset);
+			$enc_subject = $this->_encodeSubject($subject, $this->mail_charset);
+			unset($this->headers['Subject']);
+		}
+
+		if($this->notification == true) $this->setHeader('Disposition-Notification-To', $this->getHeader('From'));
+
+		unset($this->headers['To']); // always reset the To header to prevent from sending to multiple users at once
+		$this->headers['Date'] = date('r'); //date('D, d M Y H:i:s O');
+
+		// Get flat representation of headers
+		foreach ($this->headers as $name => $value) {
+			if(strtolower($name) == 'to' || strtolower($name) == 'cc' || strtolower($name) == 'bcc') continue; // never add the To header
+			$headers[] = $name . ': ' . $this->_encodeHeader($value, $this->mail_charset);
+		}
+
+		if($this->use_smtp == true) {
+			if(!$this->_logged_in || !$this->_smtp_conn) {
+				$result = $this->_smtp_login();
+				if(!$result) return false;
+			}
+			$bcc_cc_sent = false;
+			foreach($recipients as $recipname => $recip) {
+				if($this->_sent_mails >= $this->smtp_max_mails) {
+					// close connection to smtp and reconnect
+					$this->_sent_mails = 0;
+					$this->_smtp_close();
+					$result = $this->_smtp_login();
+					if(!$result) return false;
+				}
+				$this->_sent_mails += 1;
+
+				$recipname = trim(str_replace('"', '', $recipname));
+				$recip = $this->_encodeHeader($recip, $this->mail_charset);
+				$recipname = $this->_encodeHeader($recipname, $this->mail_charset);
+
+				//Email From
+				fputs($this->_smtp_conn, 'MAIL FROM: <' . $this->_mail_sender . '>' . $this->_crlf);
+				$response = fgets($this->_smtp_conn, 515);
+
+				//Email To
+				fputs($this->_smtp_conn, 'RCPT TO: <' . $recip . '>' . $this->_crlf);
+				$response = fgets($this->_smtp_conn, 515);
+
+				if($bcc_cc_sent == false) {
+					$add_recips = array();
+					if($this->getHeader('Cc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Cc')));
+					if($this->getHeader('Bcc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Bcc')));
+					foreach($add_recips as $add_recip) {
+						if(!$add_recip['mail']) continue;
+						fputs($this->_smtp_conn, 'RCPT TO: <' . $this->_encodeHeader($add_recip['mail'], $this->mail_charset) . '>' . $this->_crlf);
+						$response = fgets($this->_smtp_conn, 515);
+					}
+					unset($add_recips);
+					$bcc_cc_sent = true;
+				}
+
+				//The Email
+				fputs($this->_smtp_conn, 'DATA' . $this->_crlf);
+				$response = fgets($this->_smtp_conn, 515);
+
+				//Construct Headers
+				if($recipname && !is_numeric($recipname)) $this->setHeader('To', $recipname . ' <' . $recip . '>');
+				else $this->setHeader('To', $recip);
+
+				$mail_content = 'Subject: ' . $enc_subject . $this->_crlf;
+				$mail_content .= 'To: ' . $this->getHeader('To') . $this->_crlf;
+				if($this->getHeader('Cc') != '') $mail_content .= 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset) . $this->_crlf;
+				$mail_content .= implode($this->_crlf, $headers) . $this->_crlf . ($this->_is_signed == false ? $this->_crlf : '') . $this->body;
+
+				fputs($this->_smtp_conn, $mail_content . $this->_crlf . '.' . $this->_crlf);
+				$response = fgets($this->_smtp_conn, 515);
+
+				// hopefully message was correctly sent now
+				$result = true;
+			}
+		} else {
+			if($this->getHeader('Bcc') != '') $headers[] = 'Bcc: ' . $this->_encodeHeader($this->getHeader('Bcc'), $this->mail_charset);
+			if($this->getHeader('Cc') != '') $headers[] = 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset);
+			$rec_string = '';
+			foreach($recipients as $recipname => $recip) {
+				$recipname = trim(str_replace('"', '', $recipname));
+
+				if($rec_string != '') $rec_string .= ', ';
+				if($recipname && !is_numeric($recipname)) $rec_string .= $recipname . '<' . $recip . '>';
+				else $rec_string .= $recip;
+			}
+			$to = $this->_encodeHeader($rec_string, $this->mail_charset);
+			//$result = mail($to, $subject, $this->body, implode($this->_crlf, $headers));
+			$result = mail($to, $enc_subject, $this->body, implode($this->_crlf, $headers));
+		}
+
+		// Reset the subject in case mail is resent
+		if ($subject !== '') {
+			$this->headers['Subject'] = $subject;
+		}
+
+		// Return
+		return $result;
+	}
+
+
+
+	/**
+	 * Close mail connections
+	 *
+	 * This closes an open smtp connection so you should always call this function in your script if you have finished sending all emails
+	 *
+	 * @access public
+	 */
+	public function finish() {
+		if($this->use_smtp == true) $this->_smtp_close();
+
+		$rand = md5(microtime());
+		$this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
+
+		$this->headers = array();
+		$this->attachments = array();
+		$this->text_part = '';
+		$this->html_part = '';
+
+		$this->headers['MIME-Version'] = '1.0';
+		$this->headers['User-Agent'] = $this->user_agent;
+
+		$this->smtp_helo = '';
+		$this->smtp_host = '';
+		$this->smtp_port = '';
+		$this->smtp_user = '';
+		$this->smtp_pass = '';
+		$this->use_smtp = false;
+		$this->smtp_crypt = false;
+		$this->mail_charset = 'UTF-8';
+		$this->_sent_mails = 0;
+
+		return;
+	}
+
+}
+
+?>
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 16e91ae9b2..d9d85e5a31 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1785,6 +1785,37 @@ class system{
 		
 		return $modules;
 	}
+	
+	//* ISPConfig mail function
+	public function mail($to, $subject, $text, $from, $filepath = '', $filetype = 'application/pdf', $filename = '', $cc = '', $bcc = '', $from_name = '') {
+		global $app, $conf;
+
+		if($conf['demo_mode'] == true) $app->error("Mail sending disabled in demo mode.");
+
+		$app->uses('getconf,ispcmail');
+		$mail_config = $app->getconf->get_global_config('mail');
+		if($mail_config['smtp_enabled'] == 'y') {
+			$mail_config['use_smtp'] = true;
+			$app->ispcmail->setOptions($mail_config);
+		}
+		$app->ispcmail->setSender($from, $from_name);
+		$app->ispcmail->setSubject($subject);
+		$app->ispcmail->setMailText($text);
+
+		if($filepath != '') {
+			if(!file_exists($filepath)) $app->error("Mail attachement does not exist ".$filepath);
+			$app->ispcmail->readAttachFile($filepath);
+		}
+
+		if($cc != '') $app->ispcmail->setHeader('Cc', $cc);
+		if($bcc != '') $app->ispcmail->setHeader('Bcc', $bcc);
+
+		$app->ispcmail->send($to);
+		$app->ispcmail->finish();
+		
+		return true;
+	}
+	
 }
 
 ?>
-- 
GitLab


From ede489dea61c6a2a261c3bb22fca669faae7dec9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 15:43:31 +0200
Subject: [PATCH 032/158] Fixed: FS#3534 - Check if mail quota check is working
 correctly

---
 interface/web/mail/mail_user_edit.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php
index 0c9110bb73..8166b5814e 100644
--- a/interface/web/mail/mail_user_edit.php
+++ b/interface/web/mail/mail_user_edit.php
@@ -166,7 +166,7 @@ class page_action extends tform_actions {
 			}
 
 			// Check the quota and adjust
-			if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && $app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) {
+			if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && (($app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) || ($_POST["quota"] <= 0))) {
 				$tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
 				$mailquota = $tmp["mailquota"] / 1024 / 1024;
 				$new_mailbox_quota = $app->functions->intval($this->dataRecord["quota"]);
@@ -179,6 +179,7 @@ class page_action extends tform_actions {
 				unset($tmp);
 				unset($tmp_quota);
 			}
+			
 		} // end if user is not admin
 
 
-- 
GitLab


From 95ae83a3ca7603981842571902cde18088879500 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 16:07:58 +0200
Subject: [PATCH 033/158] Fixed: FS#2811 - Creating a mail filter ends with
 Soap Error: target_error_regex

---
 interface/web/mail/form/mail_user_filter.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index e001f68426..d5f6a0ab5b 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -112,7 +112,7 @@ $form["tabs"]['filter'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'validators' => array (  0 => array ( 'type' => 'REGEX',
-					'regex' => '/^[\p{Latin}0-9\.\-\_\ ]{0,100}$/u',
+					'regex' => '/^[\p{Latin}0-9\.\-\_\ \&]{0,100}$/u',
 					'errmsg'=> 'target_error_regex'),
 			),
 			'default' => '',
-- 
GitLab


From 26f870eb89b6b5b62e2bcf25b161ac63851249d4 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 16:08:10 +0200
Subject: [PATCH 034/158] Fixed: FS#3576 - Login as button in cp user lits of
 system module not working

---
 interface/web/admin/templates/users_list.htm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/admin/templates/users_list.htm b/interface/web/admin/templates/users_list.htm
index dece7f8f3d..cac25f54e7 100644
--- a/interface/web/admin/templates/users_list.htm
+++ b/interface/web/admin/templates/users_list.htm
@@ -44,7 +44,7 @@
                             <td class="tbl_col_groups">{tmpl_var name="groups"}</td>
                             <td class="tbl_col_buttons">
                                 <tmpl_if name="username" op="!=" value="admin">
-                                    <a class="button icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
+                                    <a class="button icons16 icoLoginAs" href="javascript: loadContent('login/login_as.php?cid={tmpl_var name='client_id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
                                     <a class="button icons16 icoDelete" href="javascript: del_record('admin/users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                                 </tmpl_if>
                             </td>
-- 
GitLab


From 0df5269cc6432cf5eb1a47e846912e70a2949605 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 16:15:20 +0200
Subject: [PATCH 035/158] Fixed: FS#3499 - fetchmail to address not updated
 after domainname change

---
 interface/web/mail/mail_domain_edit.php | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 45a1ade3f1..02dc55bfae 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -359,7 +359,16 @@ class page_action extends tform_actions {
 
 			//* Update the mailinglist
 			$app->db->query("UPDATE mail_mailinglist SET sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE domain = '".$app->db->quote($this->oldDataRecord['domain'])."'");
-
+			
+			//* Update fetchmail accounts
+			$fetchmail = $app->db->queryAllRecords("SELECT * FROM mail_get WHERE destination like '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
+			if(is_array($fetchmail)) {
+				foreach($fetchmail as $rec) {
+					$destination = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['destination']));
+					$app->db->datalogUpdate('mail_get', "destination = '$destination', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'mailget_id', $rec['mailget_id']);
+				}
+			}
+			
 			//* Delete the old spamfilter record
 			$tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'");
 			$app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]);
-- 
GitLab


From 75cc840cbc3887d2734059c9b96550c7e67f3996 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 16:28:13 +0200
Subject: [PATCH 036/158] Fixed: FS#3546 - bug in srv records in bind_dlz
 plugin.

---
 server/plugins-available/bind_dlz_plugin.inc.php | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/server/plugins-available/bind_dlz_plugin.inc.php b/server/plugins-available/bind_dlz_plugin.inc.php
index 21c0f86e43..63abcc48ce 100644
--- a/server/plugins-available/bind_dlz_plugin.inc.php
+++ b/server/plugins-available/bind_dlz_plugin.inc.php
@@ -252,6 +252,9 @@ class bind_dlz_plugin {
 		if ($type == 'MX') {
 			$app->db->query("INSERT INTO named.records (zone, ttl, type, host, mx_priority, data, ispconfig_id)".
 				" VALUES ('$origin', $ttl, '$type', '$name', {$data["new"]["aux"]}, '$content', $ispconfig_id)");
+		} elseif ($type == 'SRV') {
+			$app->db->query("INSERT INTO named.records (zone, ttl, type, data, ispconfig_id)".
+				" VALUES ('$origin', $ttl, '$type', '{$data["new"]["aux"]} $content', $ispconfig_id)");
 		} else {
 			$app->db->query("INSERT INTO named.records (zone, ttl, type, host, data, ispconfig_id)".
 				" VALUES ('$origin', $ttl, '$type', '$name', '$content', $ispconfig_id)");
@@ -327,6 +330,9 @@ class bind_dlz_plugin {
 				if ($type == 'MX') {
 					$app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', mx_priority = $prio, ".
 						"data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
+				} elseif ($type == 'SRV') {
+					$app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', ".
+						"data = '$prio $content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
 				} else {
 					$app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', ".
 						"data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
-- 
GitLab


From e032124465a66e161e0306f1e910c29db000646e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 17:10:44 +0200
Subject: [PATCH 037/158] Fixed: FS#3514 - pagination broken when changing
 search limit

---
 interface/lib/classes/listform.inc.php | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php
index 14c1a13f75..04f4b375b7 100644
--- a/interface/lib/classes/listform.inc.php
+++ b/interface/lib/classes/listform.inc.php
@@ -248,6 +248,8 @@ class listform {
 	public function getPagingSQL($sql_where = '1')
 	{
 		global $app, $conf;
+		
+		$old_search_limit = intval($_SESSION['search']['limit']);
 
 		//* Add Global Limit from selectbox
 		if(!empty($_POST['search_limit']) and $app->functions->intval($_POST['search_limit']) > 0){
@@ -272,6 +274,9 @@ class listform {
 
 		//* set PAGE to worth request variable "PAGE" - ? setze page auf wert der request variablen "page"
 		if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $app->functions->intval($_REQUEST["page"]);
+		
+		//* Set search to changed when search limit has been changed.
+		if(intval($_SESSION['search']['limit']) != $old_search_limit) $this->searchChanged = 1;
 
 		//* PAGE to 0 set, if look for themselves ?  page auf 0 setzen, wenn suche sich ge�ndert hat.
 		if($this->searchChanged == 1) $_SESSION['search'][$list_name]['page'] = 0;
-- 
GitLab


From 99d6a59093484965ff4bd2f0a0499818d1bdae25 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 17:37:11 +0200
Subject: [PATCH 038/158] Fixed: FS#3520 - Default values in forms are invalid

---
 interface/web/sites/form/database.tform.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php
index a3e8772a41..fb600fd5c3 100644
--- a/interface/web/sites/form/database.tform.php
+++ b/interface/web/sites/form/database.tform.php
@@ -88,7 +88,7 @@ $form["tabs"]['database'] = array (
 		'type' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
-			'default' => 'y',
+			'default' => 'mysql',
 			'value'  => array('mysql' => 'MySQL')
 		),
 		'database_name' => array (
@@ -139,7 +139,7 @@ $form["tabs"]['database'] = array (
 		'database_charset' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
-			'default' => 'y',
+			'default' => '',
 			'value'  => array('' => 'DB-Default', 'latin1' => 'Latin 1', 'utf8' => 'UTF-8')
 		),
 		'remote_access' => array (
-- 
GitLab


From b740e1ef903f8f868b029e8f1064f6cc283c2dfc Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 18:34:37 +0200
Subject: [PATCH 039/158] Fixed: FS#3550 - APS instaleld packages, group
 permission in DB wrong

---
 interface/lib/classes/aps_guicontroller.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php
index 7c4208fbdf..f6a0ff4e3d 100644
--- a/interface/lib/classes/aps_guicontroller.inc.php
+++ b/interface/lib/classes/aps_guicontroller.inc.php
@@ -333,7 +333,7 @@ class ApsGUIController extends ApsBase
 		}
 
 		//* Insert new package instance
-		$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
+		$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->db->quote($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
 		$InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id');
 
 		//* Insert all package settings
-- 
GitLab


From 5332dc4d052b4ff48be343928344eb961dc4f027 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 18:45:19 +0200
Subject: [PATCH 040/158] Fixed: FS#3506 - Firewall rules get mirrored to slave
 servers

---
 .../plugins-available/firewall_plugin.inc.php | 30 ++++++++++---------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php
index 186e9b9180..2cca769fd5 100644
--- a/server/plugins-available/firewall_plugin.inc.php
+++ b/server/plugins-available/firewall_plugin.inc.php
@@ -76,29 +76,31 @@ class firewall_plugin {
 		global $app, $conf;
 
 		//* load the server configuration options
-		$app->uses('getconf');
-		$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
-		if($server_config['firewall'] == 'ufw') {
-			$this->ufw_update($event_name, $data);
-		} else {
-			$this->bastille_update($event_name, $data);
+		if(!$data['mirrored']) {
+			$app->uses('getconf');
+			$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
+			if($server_config['firewall'] == 'ufw') {
+				$this->ufw_update($event_name, $data);
+			} else {
+				$this->bastille_update($event_name, $data);
+			}
 		}
-
 	}
 
 	public function delete($event_name, $data) {
 		global $app, $conf;
 
 		//* load the server configuration options
-		$app->uses('getconf');
-		$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
+		if(!$data['mirrored']) {
+			$app->uses('getconf');
+			$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
 
-		if($server_config['firewall'] == 'ufw') {
-			$this->ufw_delete($event_name, $data);
-		} else {
-			$this->bastille_delete($event_name, $data);
+			if($server_config['firewall'] == 'ufw') {
+				$this->ufw_delete($event_name, $data);
+			} else {
+				$this->bastille_delete($event_name, $data);
+			}
 		}
-
 	}
 
 	private function ufw_update($event_name, $data) {
-- 
GitLab


From e99a709817259f6f0855bb5b4522c042921fd8f9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 20:29:19 +0200
Subject: [PATCH 041/158] Fixed: FS#3466 - Wrong validator regex for customer
 number template

---
 interface/web/admin/form/system_config.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index ce4a0cbfab..c53d02bf30 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -449,7 +449,7 @@ $form["tabs"]['misc'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'validators' => array ( 0 => array ( 'type' => 'REGEX',
-					'regex' => '/^[a-zA-Z0-0\-\_\[\]]{0,50}$/',
+					'regex' => '/^[a-zA-Z0-9\-\_\[\]]{0,50}$/',
 					'errmsg'=> 'customer_no_template_error_regex'),
 			),
 			'default' => '',
-- 
GitLab


From 02797b78ce243def0adf008461212a14f7e23d6d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 20:34:32 +0200
Subject: [PATCH 042/158] Fixed: FS#3478 - Postfix smtpd_recipient_restrictions
 are ordered incorrectly in default template

---
 install/tpl/debian_postfix.conf.master   | 2 +-
 install/tpl/fedora_postfix.conf.master   | 2 +-
 install/tpl/gentoo_postfix.conf.master   | 2 +-
 install/tpl/opensuse_postfix.conf.master | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index bab660e102..9ae6c16e6c 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -11,7 +11,7 @@ inet_protocols=all
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index e2c68c0e1c..37248943d8 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index 90ed2859fb..e65f9a6891 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index 149e2bdfd0..d4dc873948 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -10,7 +10,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
-- 
GitLab


From b5b86263c933557a9869761364b7e4d97f2fe2e5 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 20:59:01 +0200
Subject: [PATCH 043/158] Fixed: FS#3504 - Switching between FastCGI and any
 other and VHost website issue

---
 server/plugins-available/apache2_plugin.inc.php | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index bfa435dea0..cbda9f67c3 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1205,18 +1205,15 @@ class apache2_plugin {
 
 		} else {
 			//remove the php fastgi starter script if available
+			$fastcgi_starter_script = $fastcgi_config['fastcgi_starter_script'].($data['old']['type'] == 'vhostsubdomain' ? '_web' . $data['old']['domain_id'] : '');
 			if ($data['old']['php'] == 'fast-cgi') {
 				$fastcgi_starter_path = str_replace('[system_user]', $data['old']['system_user'], $fastcgi_config['fastcgi_starter_path']);
 				$fastcgi_starter_path = str_replace('[client_id]', $client_id, $fastcgi_starter_path);
 				if($data['old']['type'] == 'vhost') {
-					if (is_dir($fastcgi_starter_path)) {
-						exec('rm -rf '.$fastcgi_starter_path);
-					}
+					if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
+					if (is_dir($fastcgi_starter_path)) @rmdir($fastcgi_starter_path);
 				} else {
-					$fcgi_starter_script = $fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].'_web' . $data['old']['domain_id'];
-					if (file_exists($fcgi_starter_script)) {
-						exec('rm -f '.$fcgi_starter_script);
-					}
+					if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
 				}
 			}
 		}
-- 
GitLab


From 3fb802e577d71b66b9aec5593b687bcd4859581e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 21:24:15 +0200
Subject: [PATCH 044/158] Fixed: FS#3509 - Apache log directory not unmounted
 when moving site

---
 server/plugins-available/apache2_plugin.inc.php | 5 +++++
 server/plugins-available/nginx_plugin.inc.php   | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index cbda9f67c3..addcd138b8 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -461,6 +461,9 @@ class apache2_plugin {
 					$app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
 					$app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
 				}
+				
+				//* Unmount the old log directory bfore we move the log dir
+				exec('umount '.escapeshellcmd($old_dir.'/log'));
 
 				//* Create new base directory, if it does not exist yet
 				if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -492,6 +495,8 @@ class apache2_plugin {
 			$app->system->removeLine('/etc/fstab', $fstab_line);
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
 			$app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
+			
+			exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
 
 		}
 
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 1947367c9a..d83ecf442f 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -465,6 +465,9 @@ class nginx_plugin {
 					$app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
 					$app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
 				}
+				
+				//* Unmount the old log directory bfore we move the log dir
+				exec('umount '.escapeshellcmd($old_dir.'/log'));
 
 				//* Create new base directory, if it does not exist yet
 				if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -496,6 +499,8 @@ class nginx_plugin {
 			$app->system->removeLine('/etc/fstab', $fstab_line);
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
 			$app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
+			
+			exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
 
 		}
 
-- 
GitLab


From ea39b94c5f11f4e2255bce5bde5e6c8d2f1f0a59 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 22:01:11 +0200
Subject: [PATCH 045/158] Fixed: FS#3463 - German: Translation of Proceted
 Folders user and inconsistency

---
 interface/web/sites/lib/lang/de_web_folder_list.lng      | 1 +
 interface/web/sites/lib/lang/de_web_folder_user_list.lng | 1 +
 interface/web/sites/lib/lang/en_web_folder_list.lng      | 1 +
 interface/web/sites/lib/lang/en_web_folder_user_list.lng | 1 +
 4 files changed, 4 insertions(+)

diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng
index 5491202ac6..9c85d51822 100644
--- a/interface/web/sites/lib/lang/de_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktiv';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['path_txt'] = 'Pfad';
+$wb["add_new_record_txt"] = 'Ordner hinzufügen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
index 5357760eb4..2db8eb0524 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Ordner Benutzer';
 $wb['active_txt'] = 'Aktiv';
 $wb['web_folder_id_txt'] = 'Ordner';
 $wb['username_txt'] = 'Benutzername';
+$wb["add_new_record_txt"] = 'Ordner Benutzer hinzufügen';
 ?>
diff --git a/interface/web/sites/lib/lang/en_web_folder_list.lng b/interface/web/sites/lib/lang/en_web_folder_list.lng
index 32780abda5..5966c03e8b 100644
--- a/interface/web/sites/lib/lang/en_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/en_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb["active_txt"] = 'Active';
 $wb["server_id_txt"] = 'Server';
 $wb["parent_domain_id_txt"] = 'Website';
 $wb["path_txt"] = 'Path';
+$wb["add_new_record_txt"] = 'Add new Folder';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_folder_user_list.lng b/interface/web/sites/lib/lang/en_web_folder_user_list.lng
index d0d9e05d1e..d0350c9d9a 100644
--- a/interface/web/sites/lib/lang/en_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/en_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb["list_head_txt"] = 'Folder User';
 $wb["active_txt"] = 'Active';
 $wb["web_folder_id_txt"] = 'Folder';
 $wb["username_txt"] = 'Username';
+$wb["add_new_record_txt"] = 'Add new Folder User';
 ?>
\ No newline at end of file
-- 
GitLab


From be2cbbed24262e4dcaa9447c8c24fac8e82a7b4f Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 27 Jul 2014 22:24:33 +0200
Subject: [PATCH 046/158] Updated OS version lists.

---
 install/lib/install.lib.php              | 21 +++++++++++++++++++++
 server/lib/classes/monitor_tools.inc.php | 21 +++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 379ae786ec..04205ccf41 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -86,6 +86,15 @@ function get_distname() {
 			$mainver = array_filter($mainver);
 			$mainver = current($mainver).'.'.next($mainver);
 			switch ($mainver){
+			case "14.04":
+				$relname = "(Trusty Tahr)";
+				break;
+			case "13.10":
+				$relname = "(Saucy Salamander)";
+				break;
+			case "13.04":
+				$relname = "(Raring Ringtail)";
+				break;
 			case "12.10":
 				$relname = "(Quantal Quetzal)";
 				break;
@@ -246,6 +255,18 @@ function get_distname() {
 			$distid = 'centos53';
 			$distbaseid = 'fedora';
 			swriteln("Operating System: CentOS 5 or compatible\n");
+		} elseif(stristr($content, 'CentOS Linux release 6')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos53';
+			$distbaseid = 'fedora';
+			swriteln("Operating System: CentOS 6 or compatible\n");
+		} elseif(stristr($content, 'CentOS Linux release 7')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos53';
+			$distbaseid = 'fedora';
+			swriteln("Operating System: CentOS 7 or compatible\n");
 		} else {
 			$distname = 'Redhat';
 			$distver = 'Unknown';
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 2170b5cccc..ae1fbd3228 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -62,6 +62,15 @@ class monitor_tools {
 				$mainver = array_filter($mainver);
 				$mainver = current($mainver).'.'.next($mainver);
 				switch ($mainver){
+				case "14.04":
+					$relname = "(Trusty Tahr)";
+					break;
+				case "13.10":
+					$relname = "(Saucy Salamander)";
+					break;
+				case "13.04":
+					$relname = "(Raring Ringtail)";
+					break;
 				case "12.10":
 					$relname = "(Quantal Quetzal)";
 					break;
@@ -201,6 +210,18 @@ class monitor_tools {
 				$distver = '5.3';
 				$distid = 'centos53';
 				$distbaseid = 'fedora';
+			} elseif(stristr($content, 'CentOS Linux release 6')) {
+				$distname = 'CentOS';
+				$distver = 'Unknown';
+				$distid = 'centos53';
+				$distbaseid = 'fedora';
+				swriteln("Operating System: CentOS 6 or compatible\n");
+			} elseif(stristr($content, 'CentOS Linux release 7')) {
+				$distname = 'CentOS';
+				$distver = 'Unknown';
+				$distid = 'centos53';
+				$distbaseid = 'fedora';
+				swriteln("Operating System: CentOS 7 or compatible\n");
 			} else {
 				$distname = 'Redhat';
 				$distver = 'Unknown';
-- 
GitLab


From efdd1a3ffccc192f08b0fad4112b9eb5789dae01 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 28 Jul 2014 11:20:02 +0200
Subject: [PATCH 047/158] =?UTF-8?q?Fixed:=20FS#3556=20-=20Der=20in=20Sessi?=
 =?UTF-8?q?on-Timeout=20eingegebene=20Wert=20wird=20nicht=20durch=20Aktivi?=
 =?UTF-8?q?t=C3=A4t=20verl=C3=A4ngert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 interface/lib/app.inc.php | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index 1d80b8abc5..8832f45e1c 100755
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -78,16 +78,16 @@ class app {
 					$tmp = $this->ini_parser->parse_ini_string(stripslashes($tmp['config']));
 					if(!isset($tmp['misc']['session_allow_endless']) || $tmp['misc']['session_allow_endless'] != 'y') {
 						$this->session->set_timeout($sess_timeout);
-						session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
+						session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
 					} else {
 						// we are doing login here, so we need to set the session data
 						$this->session->set_permanent(true);
 						$this->session->set_timeout(365 * 24 * 3600); // one year
-						session_set_cookie_params(365 * 24 * 3600); // make the cookie live 5 minutes longer
+						session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
 					}
 				} else {
 					$this->session->set_timeout($sess_timeout);
-					session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
+					session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
 				}
 			} else {
 				session_set_cookie_params(0); // until browser is closed
-- 
GitLab


From 0b6b84d85eff64352204a178f451bc49a6774b87 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 28 Jul 2014 19:11:34 +0200
Subject: [PATCH 048/158] Fixed: FS#3580 - Website cannot be modified when
 subdomain created as website this also fixes a problem with ignored vhost
 subdomains on validation

---
 interface/lib/classes/validate_domain.inc.php | 136 ++----------------
 1 file changed, 10 insertions(+), 126 deletions(-)

diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 788b34bd60..1280c895c6 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -123,157 +123,41 @@ class validate_domain {
 		}
 
 		// check if domain has alias/subdomains - if we move a web to another IP, make sure alias/subdomains are checked as well
-		$aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain')");
+		$aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain' OR type = 'vhostsubdomain')");
 		$additional_sql1 = '';
 		$additional_sql2 = '';
 		if(is_array($aliassubdomains) && !empty($aliassubdomains)){
 			foreach($aliassubdomains as $aliassubdomain){
-				$additional_sql1 .= " OR `domain` = '".$app->db->quote($aliassubdomain['domain'])."'";
-				$additional_sql2 .= " OR CONCAT(`subdomain`, '.', `domain`) = '".$app->db->quote($aliassubdomain['domain'])."'";
+				$additional_sql1 .= " OR d.domain = '".$app->db->quote($aliassubdomain['domain'])."'";
+				$additional_sql2 .= " OR CONCAT(d.subdomain, '.', d.domain) = '".$app->db->quote($aliassubdomain['domain'])."'";
 			}
 		}
-
-		//$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `domain` = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
-		//if($check['cnt'] > 0) return false;
-
-		// we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
-		$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' && $domain['parent_domain_id'] > 0 ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
 		
-
+		
+		$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . " AND d.parent_domain_id != " . $app->functions->intval($primary_id);
+		$checks = $app->db->queryAllRecords($qrystr);
 		if(is_array($checks) && !empty($checks)){
 			foreach($checks as $check){
 				if($domain['ip_address'] == '*') return false;
 				if($check['ip_address'] == '*') return false;
 				if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
 				if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
-				// if alias/subdomain: check IP addresses of parent domain
-				if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
-					if($check['parent_domain_id'] > 0){
-						$check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$check['parent_domain_id']);
-					}
-				}
-
-				if($domain['ip_address'] == '' && $check['ip_address'] != ''){
-					if(is_array($parent_domain) && !empty($parent_domain)){
-						if($parent_domain['ip_address'] == '*') return false;
-						if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
-					}
-				}
-
-				if($domain['ip_address'] == '' && $check['ip_address'] == ''){
-					if($check['parent_domain_id'] > 0){
-						if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-							if($check_parent_domain['ip_address'] == '*') return false;
-						}
-					}
-					if(is_array($parent_domain) && !empty($parent_domain)){
-						if($parent_domain['ip_address'] == '*') return false;
-						if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
-					}
-				}
-
-				if($check['ip_address'] == '' && $domain['ip_address'] != ''){
-					if($check['parent_domain_id'] > 0){
-						if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-							if($check_parent_domain['ip_address'] == '*') return false;
-							if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
-						}
-					}
-				}
-
-				if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
-					if(is_array($parent_domain) && !empty($parent_domain)){
-						if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
-					}
-				}
-
-				if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
-					if(is_array($parent_domain) && !empty($parent_domain)){
-						if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
-					}
-				}
-
-				if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
-					if($check['parent_domain_id'] > 0){
-						if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-							if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
-						}
-					}
-				}
 			}
 		}
-
-
+		
 		if($only_domain == false) {
-			//$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
-			//if($check['cnt'] > 0) return false;
-			// we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
-			$checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' && $domain['parent_domain_id'] > 0 ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
+			$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . " AND d.parent_domain_id != " . $app->functions->intval($primary_id);
+			$checks = $app->db->queryAllRecords($qrystr);
 			if(is_array($checks) && !empty($checks)){
 				foreach($checks as $check){
 					if($domain['ip_address'] == '*') return false;
 					if($check['ip_address'] == '*') return false;
 					if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
 					if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
-					// if alias/subdomain: check IP addresses of parent domain
-					if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
-						if($check['parent_domain_id'] > 0){
-							$check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$app->functions->intval($check['parent_domain_id']));
-						}
-					}
-
-					if($domain['ip_address'] == '' && $check['ip_address'] != ''){
-						if(is_array($parent_domain) && !empty($parent_domain)){
-							if($parent_domain['ip_address'] == '*') return false;
-							if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
-						}
-					}
-
-					if($domain['ip_address'] == '' && $check['ip_address'] == ''){
-						if($check['parent_domain_id'] > 0){
-							if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-								if($check_parent_domain['ip_address'] == '*') return false;
-							}
-						}
-						if(is_array($parent_domain) && !empty($parent_domain)){
-							if($parent_domain['ip_address'] == '*') return false;
-							if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
-						}
-					}
-
-					if($check['ip_address'] == '' && $domain['ip_address'] != ''){
-						if($check['parent_domain_id'] > 0){
-							if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-								if($check_parent_domain['ip_address'] == '*') return false;
-								if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
-							}
-						}
-					}
-
-					if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
-						if(is_array($parent_domain) && !empty($parent_domain)){
-							if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
-						}
-					}
-
-					if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
-						if(is_array($parent_domain) && !empty($parent_domain)){
-							if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
-						}
-					}
-
-					if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
-						if($check['parent_domain_id'] > 0){
-							if(is_array($check_parent_domain) && !empty($check_parent_domain)){
-								if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
-							}
-						}
-					}
 				}
 			}
-
 		}
-
+		
 		return true;
 	}
 
-- 
GitLab


From 31895e66273668a589655be7f05f2d44e2b5404e Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 28 Jul 2014 19:29:19 +0200
Subject: [PATCH 049/158] - fixes previous commit

---
 interface/lib/classes/validate_domain.inc.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 1280c895c6..d92de9b943 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -134,7 +134,7 @@ class validate_domain {
 		}
 		
 		
-		$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . " AND d.parent_domain_id != " . $app->functions->intval($primary_id);
+		$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
 		$checks = $app->db->queryAllRecords($qrystr);
 		if(is_array($checks) && !empty($checks)){
 			foreach($checks as $check){
@@ -146,7 +146,7 @@ class validate_domain {
 		}
 		
 		if($only_domain == false) {
-			$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . " AND d.parent_domain_id != " . $app->functions->intval($primary_id);
+			$qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
 			$checks = $app->db->queryAllRecords($qrystr);
 			if(is_array($checks) && !empty($checks)){
 				foreach($checks as $check){
-- 
GitLab


From 5742e4c99f53f9dbbcc962e9f967a4c377c209b9 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Tue, 29 Jul 2014 08:46:41 +0200
Subject: [PATCH 050/158] Fixed: FS#3581 - Website unaccessible under some
 circumstances when using seo redirection *.domain to www.domain (only for
 apache2, nginx still to do)

---
 server/conf/vhost.conf.master                   | 2 ++
 server/plugins-available/apache2_plugin.inc.php | 2 ++
 server/plugins-available/nginx_plugin.inc.php   | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 96b3443384..c2af3edeeb 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -339,10 +339,12 @@
 <tmpl_if name="rewrite_enabled">
 		RewriteEngine on
 <tmpl_if name='seo_redirect_enabled'>
+		RewriteCond %{HTTP_HOST} <tmpl_var name='seo_base_domain'>$ [NC]
 		RewriteCond %{HTTP_HOST} <tmpl_var name='seo_redirect_operator'>^<tmpl_var name='seo_redirect_origin_domain'>$ [NC]
 		RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='seo_redirect_target_domain'>$1 [R=301,L]
 </tmpl_if>
 <tmpl_loop name="alias_seo_redirects">
+		RewriteCond %{HTTP_HOST} <tmpl_var name='alias_seo_base_domain'>$ [NC]
 		RewriteCond %{HTTP_HOST} <tmpl_var name='alias_seo_redirect_operator'>^<tmpl_var name='alias_seo_redirect_origin_domain'>$ [NC]
 		RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='alias_seo_redirect_target_domain'>$1 [R=301,L]
 </tmpl_loop>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index addcd138b8..525592dacc 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -2951,6 +2951,8 @@ class apache2_plugin {
 			$seo_redirects[$prefix.'seo_redirect_target_domain'] = $web['domain'];
 			$seo_redirects[$prefix.'seo_redirect_operator'] = '!';
 		}
+		
+		$seo_redirects[$prefix.'seo_base_domain'] = str_replace('.', '\.', $web['domain']);
 		return $seo_redirects;
 	}
 
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index d83ecf442f..408a76bca2 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -2842,6 +2842,8 @@ class nginx_plugin {
 				$seo_redirects[$prefix.'seo_redirect_operator'] = '!=';
 			}
 		}
+		
+		$seo_redirects[$prefix.'seo_base_domain'] = str_replace('.', '\.', $web['domain']);
 		return $seo_redirects;
 	}
 
-- 
GitLab


From 0b77531b9479a069753e9e25a5f3e8ec74204607 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Tue, 29 Jul 2014 10:43:38 +0200
Subject: [PATCH 051/158] Revert "Fixed: FS#3581 - Website unaccessible under
 some circumstances when using seo redirection *.domain to www.domain"

This reverts commit 5742e4c99f53f9dbbcc962e9f967a4c377c209b9.
---
 server/conf/vhost.conf.master                   | 2 --
 server/plugins-available/apache2_plugin.inc.php | 2 --
 server/plugins-available/nginx_plugin.inc.php   | 2 --
 3 files changed, 6 deletions(-)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index c2af3edeeb..96b3443384 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -339,12 +339,10 @@
 <tmpl_if name="rewrite_enabled">
 		RewriteEngine on
 <tmpl_if name='seo_redirect_enabled'>
-		RewriteCond %{HTTP_HOST} <tmpl_var name='seo_base_domain'>$ [NC]
 		RewriteCond %{HTTP_HOST} <tmpl_var name='seo_redirect_operator'>^<tmpl_var name='seo_redirect_origin_domain'>$ [NC]
 		RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='seo_redirect_target_domain'>$1 [R=301,L]
 </tmpl_if>
 <tmpl_loop name="alias_seo_redirects">
-		RewriteCond %{HTTP_HOST} <tmpl_var name='alias_seo_base_domain'>$ [NC]
 		RewriteCond %{HTTP_HOST} <tmpl_var name='alias_seo_redirect_operator'>^<tmpl_var name='alias_seo_redirect_origin_domain'>$ [NC]
 		RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='alias_seo_redirect_target_domain'>$1 [R=301,L]
 </tmpl_loop>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 525592dacc..addcd138b8 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -2951,8 +2951,6 @@ class apache2_plugin {
 			$seo_redirects[$prefix.'seo_redirect_target_domain'] = $web['domain'];
 			$seo_redirects[$prefix.'seo_redirect_operator'] = '!';
 		}
-		
-		$seo_redirects[$prefix.'seo_base_domain'] = str_replace('.', '\.', $web['domain']);
 		return $seo_redirects;
 	}
 
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 408a76bca2..d83ecf442f 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -2842,8 +2842,6 @@ class nginx_plugin {
 				$seo_redirects[$prefix.'seo_redirect_operator'] = '!=';
 			}
 		}
-		
-		$seo_redirects[$prefix.'seo_base_domain'] = str_replace('.', '\.', $web['domain']);
 		return $seo_redirects;
 	}
 
-- 
GitLab


From 061d7c84c49b9e63c311123f52a142fc66b4228f Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 29 Jul 2014 16:59:19 +0200
Subject: [PATCH 052/158] Removed backup_dir_mount_cmd option from Sysstem >
 server config. The option has been replaced by a script
 /usr/local/ispconfig/server/scripts/backup_dir_mount.sh. If this script
 exists, is exacutable and is owned by the root user, then it will be executed
 upfront of the backup jobs when the option "Backup directory is a mount?" is
 enabled in server config settings.

---
 install/tpl/server.ini.master                          |  1 -
 interface/web/admin/form/server_config.tform.php       |  8 --------
 interface/web/admin/lib/lang/en_server_config.lng      |  1 -
 .../web/admin/templates/server_config_server_edit.htm  |  4 ----
 server/cron_daily.php                                  | 10 +++++++---
 5 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index dcac5808cc..8af63c3f2d 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -16,7 +16,6 @@ loglevel=2
 admin_notify_events=1
 backup_dir=/var/backup
 backup_dir_is_mount=n
-backup_dir_mount_cmd=
 backup_mode=rootgz
 monit_url=
 monit_user=
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index e115c8b922..71de54e95c 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -177,14 +177,6 @@ $form["tabs"]['server'] = array(
 			'default' => 'n',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
-		'backup_dir_mount_cmd' => array(
-			'datatype' => 'VARCHAR',
-			'formtype' => 'TEXT',
-			'default' => '',
-			'value' => '',
-			'width' => '40',
-			'maxlength' => '255'
-		),
 		'backup_mode' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index 3dc1d0afd7..63027c733f 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -189,6 +189,5 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
 ?>
diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm
index d9b703ae21..e5034e6aa3 100644
--- a/interface/web/admin/templates/server_config_server_edit.htm
+++ b/interface/web/admin/templates/server_config_server_edit.htm
@@ -64,10 +64,6 @@
                 <div class="multiField">
                     {tmpl_var name='backup_dir_is_mount'}
                 </div>
-            </div>
-			<div class="ctrlHolder">
-                <label for="backup_dir_mount_cmd">{tmpl_var name='backup_dir_mount_cmd_txt'}</label>
-                <input name="backup_dir_mount_cmd" id="backup_dir_mount_cmd" value="{tmpl_var name='backup_dir_mount_cmd'}" size="40" maxlength="255" type="text" class="textInput" />
             </div>
             <div class="ctrlHolder">
                 <label for="backup_mode">{tmpl_var name='backup_mode_txt'}</label>
diff --git a/server/cron_daily.php b/server/cron_daily.php
index 75459be20a..ee54a46207 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -1104,10 +1104,14 @@ if($backup_dir != '') {
 	
 	//* mount backup directory, if necessary
 	$run_backups = true;
-	$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
-	if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
+	$backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh';
+	if(	$server_config['backup_dir_is_mount'] == 'y' && 
+		is_file($backup_dir_mount_cmd) && 
+		is_executable($backup_dir_mount_cmd) &&
+		fileowner($backup_dir_mount_cmd) === 0
+		){
 		if(!$app->system->is_mounted($backup_dir)){
-			exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
+			exec($backup_dir_mount_cmd);
 			sleep(1);
 			if(!$app->system->is_mounted($backup_dir)) $run_backups = false;
 		}
-- 
GitLab


From 64ea56164ad8f0f2cee5676f84d2d8f064e986e1 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Tue, 29 Jul 2014 17:55:13 +0200
Subject: [PATCH 053/158] Improved input validation

---
 interface/lib/classes/functions.inc.php       | 18 +++++++++++++
 interface/web/sites/web_domain_edit.php       |  4 ++-
 server/lib/classes/system.inc.php             | 26 ++++++++++++++++++-
 .../plugins-available/apache2_plugin.inc.php  |  3 ++-
 .../cron_jailkit_plugin.inc.php               | 14 +++++++---
 server/plugins-available/cron_plugin.inc.php  |  9 ++++---
 server/plugins-available/nginx_plugin.inc.php |  5 +++-
 .../shelluser_base_plugin.inc.php             | 14 ++++++++++
 .../shelluser_jailkit_plugin.inc.php          | 14 ++++++++++
 9 files changed, 96 insertions(+), 11 deletions(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index 5f62f52ec9..ddee8da9f5 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -424,6 +424,24 @@ class functions {
 		return implode("\n", $domains);
 	}
 
+	public function is_allowed_user($username, $restrict_names = false) {
+		global $app;
+		
+		if($username == 'root') return false;
+		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
+		
+		return true;
+	}
+	
+	public function is_allowed_group($groupname, $restrict_names = false) {
+		global $app;
+		
+		if($groupname == 'root') return false;
+		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
+		
+		return true;
+	}
+
 }
 
 ?>
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 8edfffafb6..1208e48a1e 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -607,9 +607,11 @@ class page_action extends tform_actions {
 			// When the record is updated
 			if($this->id > 0) {
 				// restore the server ID if the user is not admin and record is edited
-				$tmp = $app->db->queryOneRecord("SELECT server_id, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+				$tmp = $app->db->queryOneRecord("SELECT server_id, `system_user`, `system_group`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
 				$this->dataRecord["server_id"] = $tmp["server_id"];
 
+				$this->dataRecord['system_user'] = $tmp['system_user'];
+				$this->dataRecord['system_group'] = $tmp['system_group'];
 				// set the settings to current if not provided (or cleared due to limits)
 				if($this->dataRecord['cgi'] == 'n') $this->dataRecord['cgi'] = $tmp['cgi'];
 				if($this->dataRecord['ssi'] == 'n') $this->dataRecord['ssi'] = $tmp['ssi'];
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index d9d85e5a31..049eb618c1 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -34,7 +34,9 @@ class system{
 	var $server_id;
 	var $server_conf;
 	var $data;
-
+	var $min_uid = 500;
+	var $min_gid = 500;
+	
 	/**
 	 * Construct for this class
 	 *
@@ -1816,6 +1818,28 @@ class system{
 		return true;
 	}
 	
+	public function is_allowed_user($username, $check_id = true, $restrict_names = false) {
+		global $app;
+		
+		if($username == 'root') return false;
+		if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
+		
+		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
+		
+		return true;
+	}
+	
+	public function is_allowed_group($groupname, $restrict_names = false) {
+		global $app;
+		
+		if($groupname == 'root') return false;
+		if(intval($this->getgid($groupname)) < $this->min_gid) return false;
+		
+		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
+		
+		return true;
+	}
+	
 }
 
 ?>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index addcd138b8..b1411c9f03 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -344,7 +344,8 @@ class apache2_plugin {
 			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
 			return 0;
 		}
-		if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
+		if(!$app->system->is_allowed_user($data['new']['system_user'], false, true)
+			|| !$app->system->is_allowed_group($data['new']['system_group'], false, true)) {
 			$app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
 			return 0;
 		}
diff --git a/server/plugins-available/cron_jailkit_plugin.inc.php b/server/plugins-available/cron_jailkit_plugin.inc.php
index c3bd5b749b..4c95b83c2b 100644
--- a/server/plugins-available/cron_jailkit_plugin.inc.php
+++ b/server/plugins-available/cron_jailkit_plugin.inc.php
@@ -80,11 +80,15 @@ class cron_jailkit_plugin {
 		if(!$parent_domain["domain_id"]) {
 			$app->log("Parent domain not found", LOGLEVEL_WARN);
 			return 0;
-		} elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
+		}
+
+		if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+			|| !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
 			$app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
-			return 0;
+			return false;
 		}
 
+
 		$this->parent_domain = $parent_domain;
 
 		$app->uses('system');
@@ -155,9 +159,11 @@ class cron_jailkit_plugin {
 		if(!$parent_domain["domain_id"]) {
 			$app->log("Parent domain not found", LOGLEVEL_WARN);
 			return 0;
-		} elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
+		}
+		if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+			|| !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
 			$app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
-			return 0;
+			return false;
 		}
 
 		$app->uses('system');
diff --git a/server/plugins-available/cron_plugin.inc.php b/server/plugins-available/cron_plugin.inc.php
index fe00713ecd..7f8070d78c 100644
--- a/server/plugins-available/cron_plugin.inc.php
+++ b/server/plugins-available/cron_plugin.inc.php
@@ -96,11 +96,14 @@ class cron_plugin {
 		if(!$parent_domain["domain_id"]) {
 			$app->log("Parent domain not found", LOGLEVEL_WARN);
 			return 0;
-		} elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
-			$app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
-			return 0;
 		}
 
+		if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+			|| !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
+			$app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
+			return false;
+		}
+		
 		// Get the client ID
 		$client = $app->dbmaster->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"]));
 		$client_id = intval($client["client_id"]);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index d83ecf442f..2837e0eb94 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -351,10 +351,13 @@ class nginx_plugin {
 			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
 			return 0;
 		}
-		if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
+
+		if(!$app->system->is_allowed_user($data['new']['system_user'], false, true)
+			|| !$app->system->is_allowed_group($data['new']['system_group'], false, true)) {
 			$app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
 			return 0;
 		}
+
 		if(trim($data['new']['domain']) == '') {
 			$app->log('domain is empty', LOGLEVEL_WARN);
 			return 0;
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 0ceced99d0..e331624133 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -82,6 +82,13 @@ class shelluser_base_plugin {
 			$app->log('Directory of the shell user is not valid.',LOGLEVEL_WARN);
 			return false;
 		}
+		
+		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+			|| !$app->system->is_allowed_user($data['new']['puser'], true, true)
+			|| !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+			$app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+			return false;
+		}
 
 		if($app->system->is_user($data['new']['puser'])) {
 
@@ -151,6 +158,13 @@ class shelluser_base_plugin {
 			return false;
 		}
 
+		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+			|| !$app->system->is_allowed_user($data['new']['puser'], true, true)
+			|| !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+			$app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+			return false;
+		}
+		
 		if($app->system->is_user($data['new']['puser'])) {
 			// Get the UID of the parent user
 			$uid = intval($app->system->getuid($data['new']['puser']));
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index 90ed6777f1..9cf6fc89da 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -74,6 +74,13 @@ class shelluser_jailkit_plugin {
 		$app->uses('system');
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
 
+		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+			|| !$app->system->is_allowed_user($data['new']['puser'], true, true)
+			|| !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+			$app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+			return false;
+		}
+
 		if($app->system->is_user($data['new']['puser'])) {
 			// Get the UID of the parent user
 			$uid = intval($app->system->getuid($data['new']['puser']));
@@ -139,6 +146,13 @@ class shelluser_jailkit_plugin {
 		$app->uses('system');
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
 
+		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+			|| !$app->system->is_allowed_user($data['new']['puser'], true, true)
+			|| !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+			$app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+			return false;
+		}
+
 		if($app->system->is_user($data['new']['puser'])) {
 			// Get the UID of the parent user
 			$uid = intval($app->system->getuid($data['new']['puser']));
-- 
GitLab


From a43eb3b0ccaf84a6ab44a1f46f47cc4f8ce54844 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 29 Jul 2014 20:39:09 +0200
Subject: [PATCH 054/158] Implemented: FS#3568 - Configure server hostname
 trough ISPConfig

---
 .../web/admin/form/server_config.tform.php    |  7 ++-
 .../web/admin/lib/lang/en_server_config.lng   |  1 +
 .../network_settings_plugin.inc.php           | 51 ++++++++++++++++++-
 3 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 71de54e95c..4fa71790cb 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -126,8 +126,11 @@ $form["tabs"]['server'] = array(
 				2 => array( 'event' => 'SAVE',
 					'type' => 'TOLOWER')
 			),
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'hostname_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+												'errmsg' => 'hostname_error_empty'),
+									1 => array ('type' => 'REGEX',
+												'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
+												'errmsg'=> 'hostname_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index 63027c733f..5ce704d9e8 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -49,6 +49,7 @@ $wb["ip_address_error_wrong"] = 'Invalid IP address format.';
 $wb["netmask_error_wrong"] = 'Invalid Netmask format.';
 $wb["gateway_error_wrong"] = 'Invalid Gateway format.';
 $wb["hostname_error_empty"] = 'Hostname is empty.';
+$wb["hostname_error_regex"] = 'Invalid Hostname.';
 $wb["nameservers_error_empty"] = 'Nameserver is empty.';
 $wb["config_dir_txt"] = 'Config directory';
 $wb["init_script_txt"] = 'Cron init script name';
diff --git a/server/plugins-available/network_settings_plugin.inc.php b/server/plugins-available/network_settings_plugin.inc.php
index 56e4980fe3..46242d9840 100644
--- a/server/plugins-available/network_settings_plugin.inc.php
+++ b/server/plugins-available/network_settings_plugin.inc.php
@@ -243,12 +243,61 @@ class network_settings_plugin {
 
 		} else {
 			if($data['mirrored'] == true) {
-				$app->log('Skipping network config request. IP addresses from amster are not configured on the mirror.', LOGLEVEL_DEBUG);
+				$app->log('Skipping network config request. IP addresses from master are not configured on the mirror.', LOGLEVEL_DEBUG);
 			}
 			if($server_config['auto_network_configuration'] == 'n') {
 				$app->log('Network configuration disabled in server settings.', LOGLEVEL_DEBUG);
 			}
 		}
+		
+		//* Configure hostname
+		if($event_name == 'server_update' && $data['mirrored'] == false) {
+			
+			//* get old server config
+			$tmp = $app->ini_parser->parse_ini_string(stripslashes($data['old']['config']));
+			$old_server_config = $tmp['server'];
+			unset($tmp);
+			
+			$new_hostname = trim($server_config['hostname']);
+			$old_hostname = trim($old_server_config['hostname']);
+			
+			if($new_hostname != '' && $old_hostname != $new_hostname) {
+				
+				if(is_file('/etc/hostname')) {
+					$app->system->file_put_contents('/etc/hostname',$new_hostname);
+					$app->log('Changed /etc/hostname to '.$new_hostname, LOGLEVEL_DEBUG);
+				}
+				
+				if(is_file('/etc/mailname')) {
+					$app->system->file_put_contents('/etc/mailname',$new_hostname);
+					$app->log('Changed /etc/mailname to '.$new_hostname, LOGLEVEL_DEBUG);
+				}
+				
+				$postconf_commands = array(
+					'myhostname = '.$new_hostname,
+					'mydestination = '.$new_hostname.', localhost, localhost.localdomain'
+				);
+				
+				//* Executing the postconf commands
+				foreach($postconf_commands as $cmd) {
+					$command = "postconf -e '$cmd'";
+					exec($command);
+				}
+				
+				$app->log('Changed changed myhostname and mydestination in postfix main.cf to '.$new_hostname, LOGLEVEL_DEBUG);
+				
+				//* change /etc/hosts
+				$hosts = file_get_contents('/etc/hosts');
+				$hosts = str_replace($old_hostname,$new_hostname,$hosts);
+				$app->system->file_put_contents('/etc/hosts',$hosts);
+				
+				exec($app->system->getinitcommand('postfix', 'restart').' 2>&1');
+				exec($app->system->getinitcommand('networking', 'restart').' 2>&1');
+				
+			}
+			
+		}
+		
 
 	}
 
-- 
GitLab


From 0b786c8a2efe117ed9357a6d6836f123cb4911c6 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 29 Jul 2014 20:42:01 +0200
Subject: [PATCH 055/158] Fixed: FS#3584 - Misspelling in Postfix Whitelist

---
 interface/web/mail/form/mail_whitelist.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/mail/form/mail_whitelist.tform.php b/interface/web/mail/form/mail_whitelist.tform.php
index 3edb132df3..aebcfe6cfc 100644
--- a/interface/web/mail/form/mail_whitelist.tform.php
+++ b/interface/web/mail/form/mail_whitelist.tform.php
@@ -51,7 +51,7 @@ $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update,
 $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
 
 $form["tabs"]['whitelist'] = array (
-	'title'  => "Witelist",
+	'title'  => "Whitelist",
 	'width'  => 100,
 	'template'  => "templates/mail_whitelist_edit.htm",
 	'fields'  => array (
-- 
GitLab


From 032b867c6a157f2a3a9be733a320e4a8259dfea2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Wed, 30 Jul 2014 08:28:04 +0200
Subject: [PATCH 056/158] Fixed: FS#3555 - dovecot-sql.conf: add server_id

---
 install/dist/lib/debian60.lib.php            | 1 +
 install/dist/lib/fedora.lib.php              | 1 +
 install/dist/lib/opensuse.lib.php            | 1 +
 install/lib/installer_base.lib.php           | 1 +
 install/tpl/debian6_dovecot-sql.conf.master  | 4 ++--
 install/tpl/debian_dovecot-sql.conf.master   | 4 ++--
 install/tpl/fedora_dovecot-sql.conf.master   | 4 ++--
 install/tpl/opensuse_dovecot-sql.conf.master | 4 ++--
 8 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php
index 42da878c3d..49327239d7 100644
--- a/install/dist/lib/debian60.lib.php
+++ b/install/dist/lib/debian60.lib.php
@@ -111,6 +111,7 @@ class installer extends installer_base {
 		$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
 		$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
 		$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+		$content = str_replace('{server_id}', $conf['server_id'], $content);
 		wf($config_dir.'/'.$configfile, $content);
 
 		chmod($config_dir.'/'.$configfile, 0600);
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index d3efe6022f..7a08f93f13 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -450,6 +450,7 @@ class installer_dist extends installer_base {
 		$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
 		$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
 		$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+		$content = str_replace('{server_id}', $conf['server_id'], $content);
 		wf("$config_dir/$configfile", $content);
 
 		exec("chmod 600 $config_dir/$configfile");
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index caef5409a8..f990e91960 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -499,6 +499,7 @@ class installer_dist extends installer_base {
 		$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
 		$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
 		$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+		$content = str_replace('{server_id}', $conf['server_id'], $content);
 		wf("$config_dir/$configfile", $content);
 
 		exec("chmod 600 $config_dir/$configfile");
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 2cd48a0797..548cf9382a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1015,6 +1015,7 @@ class installer_base {
 		$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
 		$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
 		$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+		$content = str_replace('{server_id}', $conf['server_id'], $content);
 		wf($config_dir.'/'.$configfile, $content);
 
 		chmod($config_dir.'/'.$configfile, 0600);
diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master
index 86eb4df6fe..61f86c4cfa 100644
--- a/install/tpl/debian6_dovecot-sql.conf.master
+++ b/install/tpl/debian6_dovecot-sql.conf.master
@@ -13,8 +13,8 @@ driver = mysql
 connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
 default_pass_scheme = CRYPT
 
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
 
 # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
 # Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/debian_dovecot-sql.conf.master b/install/tpl/debian_dovecot-sql.conf.master
index 9c55df358f..a4d5bbd95d 100644
--- a/install/tpl/debian_dovecot-sql.conf.master
+++ b/install/tpl/debian_dovecot-sql.conf.master
@@ -120,8 +120,8 @@ driver = mysql
 connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
 default_pass_scheme = CRYPT
 
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
 
 # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
 # Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master
index faf3be286c..769e0a4a0d 100644
--- a/install/tpl/fedora_dovecot-sql.conf.master
+++ b/install/tpl/fedora_dovecot-sql.conf.master
@@ -133,8 +133,8 @@ driver = mysql
 connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
 default_pass_scheme = CRYPT
 
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
 
 # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
 # Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master
index e33603a1c2..57515afe87 100644
--- a/install/tpl/opensuse_dovecot-sql.conf.master
+++ b/install/tpl/opensuse_dovecot-sql.conf.master
@@ -133,8 +133,8 @@ driver = mysql
 connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
 default_pass_scheme = CRYPT
 
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
 
 # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
 # Do not enable it on Dovecot 1.x servers
-- 
GitLab


From 4ef653ec2d9e6b4bff7241effc447cec2a00e074 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 31 Jul 2014 20:00:06 +0200
Subject: [PATCH 057/158] Corrected commit for: FS#3478 - Postfix
 smtpd_recipient_restrictions are ordered incorrectly in default template

---
 install/tpl/debian_postfix.conf.master   | 2 +-
 install/tpl/fedora_postfix.conf.master   | 2 +-
 install/tpl/gentoo_postfix.conf.master   | 2 +-
 install/tpl/opensuse_postfix.conf.master | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index 9ae6c16e6c..4775002b64 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -11,7 +11,7 @@ inet_protocols=all
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index 37248943d8..330b1f95f7 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index e65f9a6891..a775c4b032 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index d4dc873948..7baa703ed4 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -10,7 +10,7 @@ virtual_gid_maps = static:{vmail_groupid}
 smtpd_sasl_auth_enable = yes
 broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
-- 
GitLab


From f2fc77f29ce81b6493ab629e0f8f9da2b3df857d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 31 Jul 2014 21:46:18 +0200
Subject: [PATCH 058/158] Improved input validation.

---
 interface/lib/classes/functions.inc.php        | 12 ++++++++++--
 interface/web/sites/form/ftp_user.tform.php    |  5 ++++-
 interface/web/sites/form/shell_user.tform.php  | 13 +++++++++++--
 interface/web/sites/ftp_user_edit.php          | 13 +++++++++++++
 interface/web/sites/lib/lang/en_ftp_user.lng   |  2 ++
 interface/web/sites/lib/lang/en_shell_user.lng |  3 +++
 interface/web/sites/shell_user_edit.php        | 14 ++++++++++++++
 server/lib/classes/system.inc.php              | 12 ++++++++++--
 8 files changed, 67 insertions(+), 7 deletions(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index ddee8da9f5..29feffde7f 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -427,7 +427,11 @@ class functions {
 	public function is_allowed_user($username, $restrict_names = false) {
 		global $app;
 		
-		if($username == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($username,$name_blacklist)) return false;
+		
+		if(preg_match('/^[\w\.\-]{0,32}$/', $username) == false) return false;
+		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
 		
 		return true;
@@ -436,7 +440,11 @@ class functions {
 	public function is_allowed_group($groupname, $restrict_names = false) {
 		global $app;
 		
-		if($groupname == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($groupname,$name_blacklist)) return false;
+		
+		if(preg_match('/^[\w\.\-]{0,32}$/', $groupname) == false) return false;
+		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
 		
 		return true;
diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index 2b97832be7..f328f7fdb6 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -187,7 +187,10 @@ if($app->auth->is_admin()) {
 				'datatype'  => 'VARCHAR',
 				'formtype'  => 'TEXT',
 				'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
-						'errmsg'=> 'directory_error_empty'),
+															'errmsg'=> 'directory_error_empty'),
+											1 => array ( 	'type' => 'REGEX',
+															'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
+															'errmsg'=> 'directory_error_regex'),
 				),
 				'default'   => '',
 				'value'     => '',
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index ab7cef1bfa..d8df458aa0 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -197,6 +197,12 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 			'shell' => array (
 				'datatype' => 'VARCHAR',
 				'formtype' => 'TEXT',
+				'validators' => array ( 0 => array ( 	'type' => 'NOTEMPTY',
+														'errmsg'=> 'shell_error_empty'),
+										1 => array ( 	'type' => 'REGEX',
+															'regex' => '/^\/[a-zA-Z0-9\/]{5,20}$/',
+															'errmsg'=> 'shell_error_regex'),
+				),
 				'default' => '/bin/bash',
 				'value'  => '',
 				'width'  => '30',
@@ -205,8 +211,11 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 			'dir' => array (
 				'datatype' => 'VARCHAR',
 				'formtype' => 'TEXT',
-				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
-						'errmsg'=> 'directory_error_empty'),
+				'validators' => array ( 0 => array ( 	'type' => 'NOTEMPTY',
+														'errmsg'=> 'directory_error_empty'),
+										1 => array ( 	'type' => 'REGEX',
+															'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
+															'errmsg'=> 'directory_error_regex'),
 				),
 				'default' => '',
 				'value'  => '',
diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php
index 034620168b..edf47a38d8 100644
--- a/interface/web/sites/ftp_user_edit.php
+++ b/interface/web/sites/ftp_user_edit.php
@@ -138,6 +138,11 @@ class page_action extends tform_actions {
 		$dir = $app->db->quote($web["document_root"]);
 		$uid = $app->db->quote($web["system_user"]);
 		$gid = $app->db->quote($web["system_group"]);
+		
+		// Check system user and group
+		if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
+			$app->error('Invalid system user or group');
+		}
 
 		// The FTP user shall be owned by the same group then the website
 		$sys_groupid = $app->functions->intval($web['sys_groupid']);
@@ -148,7 +153,15 @@ class page_action extends tform_actions {
 
 	function onBeforeUpdate() {
 		global $app, $conf, $interfaceConf;
+		
 
+		// Check system user and group
+		if(isset($this->dataRecord['uid'])) {
+			if($app->functions->is_allowed_user(strtolower($this->dataRecord['uid']),true) == false || $app->functions->is_allowed_group(strtolower($this->dataRecord['gid']),true) == false) {
+				$app->tform->errorMessage .= $app->tform->lng('invalid_system_user_or_group_txt');
+			}
+		}
+		
 		/*
 		 * If the names should be restricted -> do it!
 		 */
diff --git a/interface/web/sites/lib/lang/en_ftp_user.lng b/interface/web/sites/lib/lang/en_ftp_user.lng
index ed5fe0287c..2c8e2a9869 100644
--- a/interface/web/sites/lib/lang/en_ftp_user.lng
+++ b/interface/web/sites/lib/lang/en_ftp_user.lng
@@ -32,4 +32,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index c15d1b56d4..2ae9b4e6a1 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index 3c72a5f843..9731889b74 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -135,6 +135,8 @@ class page_action extends tform_actions {
 			}
 		}
 		unset($blacklist);
+		
+		if($app->functions->is_allowed_user(trim(strtolower($this->dataRecord['username']))) == false) $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt');
 
 		/*
 		 * If the names should be restricted -> do it!
@@ -163,6 +165,11 @@ class page_action extends tform_actions {
 		$dir = $app->db->quote($web["document_root"]);
 		$uid = $app->db->quote($web["system_user"]);
 		$gid = $app->db->quote($web["system_group"]);
+		
+		// Check system user and group
+		if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
+			$app->error($app->tform->lng('invalid_system_user_or_group_txt'));
+		}
 
 		// The FTP user shall be owned by the same group then the website
 		$sys_groupid = $app->functions->intval($web['sys_groupid']);
@@ -183,6 +190,13 @@ class page_action extends tform_actions {
 			}
 		}
 		unset($blacklist);
+		
+		// Check system user and group
+		if(isset($this->dataRecord['puser'])) {
+			if($app->functions->is_allowed_user(strtolower($this->dataRecord['puser']),true) == false || $app->functions->is_allowed_group(strtolower($this->dataRecord['pgroup']),true) == false) {
+				$app->tform->errorMessage .= $app->tform->lng('invalid_system_user_or_group_txt');
+			}
+		}
 
 		/*
 		 * If the names should be restricted -> do it!
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 049eb618c1..3001c6459e 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1821,7 +1821,11 @@ class system{
 	public function is_allowed_user($username, $check_id = true, $restrict_names = false) {
 		global $app;
 		
-		if($username == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($username,$name_blacklist)) return false;
+		
+		if(preg_match('/^[\w\.\-]{0,32}$/', $username) == false) return false;
+		
 		if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
 		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
@@ -1832,7 +1836,11 @@ class system{
 	public function is_allowed_group($groupname, $restrict_names = false) {
 		global $app;
 		
-		if($groupname == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($groupname,$name_blacklist)) return false;
+		
+		if(preg_match('/^[\w\.\-]{0,32}$/', $groupname) == false) return false;
+		
 		if(intval($this->getgid($groupname)) < $this->min_gid) return false;
 		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
-- 
GitLab


From b1ed926b6759ccd343fc9d43c60f51f6b25db670 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 1 Aug 2014 09:41:24 +0200
Subject: [PATCH 059/158] Improved input validation

---
 interface/web/admin/language_edit.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/admin/language_edit.php b/interface/web/admin/language_edit.php
index fda70a62a3..8199244921 100644
--- a/interface/web/admin/language_edit.php
+++ b/interface/web/admin/language_edit.php
@@ -57,7 +57,7 @@ if(isset($_POST['records']) && is_array($_POST['records'])) {
 	$file_content = "<?php\n";
 	foreach($_POST['records'] as $key => $val) {
 		$val = stripslashes($val);
-		$val = str_replace('"', '\"', $val);
+		$val = preg_replace('/(^|[^\\\\])((\\\\\\\\)*)"/', '$1$2\\"', $val);
 		$val = str_replace('$', '', $val);
 		$file_content .= '$wb['."'$key'".'] = "'.$val.'";'."\n";
 		$msg = 'File saved.';
-- 
GitLab


From e98a15838d8aed330ac7b1bb373b54524ea2a269 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 11:47:00 +0200
Subject: [PATCH 060/158] Improved input validation for settings that are
 acessible by the admin user.

---
 .../lib/classes/validate_systemuser.inc.php   |  64 ++++
 .../web/admin/form/server_config.tform.php    | 353 +++++++++++++-----
 .../web/admin/lib/lang/en_server_config.lng   |  50 +++
 interface/web/sites/form/ftp_user.tform.php   |  14 +
 interface/web/sites/form/shell_user.tform.php |  14 +
 interface/web/sites/ftp_user_edit.php         |   8 -
 interface/web/sites/shell_user_edit.php       |   7 -
 .../web/sites/web_vhost_subdomain_edit.php    |   2 +
 8 files changed, 407 insertions(+), 105 deletions(-)
 create mode 100644 interface/lib/classes/validate_systemuser.inc.php

diff --git a/interface/lib/classes/validate_systemuser.inc.php b/interface/lib/classes/validate_systemuser.inc.php
new file mode 100644
index 0000000000..f1bbd2bb39
--- /dev/null
+++ b/interface/lib/classes/validate_systemuser.inc.php
@@ -0,0 +1,64 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+class validate_systemuser {
+
+	/*
+		Validator function to check if a given user is ok.
+	*/
+	function check_sysuser($field_name, $field_value, $validator) {
+		global $app;
+		
+		$errmsg = $validator['errmsg'];
+		$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
+
+		if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) {
+			return $app->tform->wordbook[$errmsg]."<br>\r\n";
+		}
+	}
+	
+	/*
+		Validator function to check if a given group is ok.
+	*/
+	function check_sysgroup($field_name, $field_value, $validator) {
+		global $app;
+		
+		$errmsg = $validator['errmsg'];
+		$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
+
+		if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) {
+			return $app->tform->wordbook[$errmsg]."<br>\r\n";
+		}
+	}
+
+
+
+
+}
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 4fa71790cb..01ac5681d9 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -167,8 +167,11 @@ $form["tabs"]['server'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/var/backup',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'backup_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'backup_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'backup_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -274,8 +277,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/home/vmail/[domain]/[localpart]/',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'maildir_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'maildir_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+										'errmsg'=> 'maildir_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -285,8 +291,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '/home/vmail/',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'homedir_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'homedir_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'homedir_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -308,8 +317,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
 			'default' => '5000',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_uid_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_uid_error_empty'),
+									1 => array('type' => 'RANGE',
+										'range' => '1999:',
+										'errmsg' => 'mailuser_uid_error_range'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -319,8 +331,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
 			'default' => '5000',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_gid_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_gid_error_empty'),
+									1 => array('type' => 'RANGE',
+										'range' => '1999:',
+										'errmsg' => 'mailuser_gid_error_range'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -330,8 +345,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'vmail',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_name_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_name_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'mailuser_name_error_regex'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -341,8 +359,11 @@ $form["tabs"]['mail'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => 'vmail',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'mailuser_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'mailuser_group_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'mailuser_group_name_error_regex'),
 			),
 			'value' => '',
 			'width' => '10',
@@ -450,8 +471,11 @@ $form["tabs"]['getmail'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'getmail_config_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'getmail_config_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'getmail_config_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -481,8 +505,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_basedir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'website_basedir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'website_basedir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -492,8 +519,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_path_error_empty'),
+			'validators' => array(	0 => array(	'type' => 'NOTEMPTY',
+										'errmsg' => 'website_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+										'errmsg'=> 'website_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -503,8 +533,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'website_symlinks_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'website_symlinks_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
+										'errmsg'=> 'website_symlinks_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -536,8 +569,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vhost_conf_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vhost_conf_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'vhost_conf_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -547,8 +583,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -558,8 +597,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -569,8 +611,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -579,6 +624,10 @@ $form["tabs"]['web'] = array(
 		'CA_path' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
+										'errmsg'=> 'ca_path_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -678,6 +727,13 @@ $form["tabs"]['web'] = array(
 			'default' => '',
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'apache_user_error_empty'),
+					1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => false,
+							'errmsg' => 'invalid_apache_user_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -689,6 +745,13 @@ $form["tabs"]['web'] = array(
 			'default' => '',
 			'validators' => array(0 => array('type' => 'NOTEMPTY',
 					'errmsg' => 'apache_group_error_empty'),
+					1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => false,
+							'errmsg' => 'invalid_apache_group_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -715,8 +778,15 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_user_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_user_error_empty'),
+									1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => false,
+							'errmsg' => 'invalid_nginx_user_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -726,8 +796,15 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_group_error_empty'),
+									1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => false,
+							'errmsg' => 'invalid_nginx_group_txt'
+						),
 			),
 			'value' => '',
 			'width' => '40',
@@ -737,8 +814,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_ini_path_apache_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_ini_path_apache_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_ini_path_apache_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -748,8 +828,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_ini_path_cgi_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_ini_path_cgi_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_ini_path_cgi_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -759,8 +842,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_init_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_init_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
+										'errmsg'=> 'php_fpm_init_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -770,8 +856,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_ini_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_ini_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_ini_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -781,8 +870,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_pool_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_pool_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_pool_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -792,7 +884,7 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
+			'validators' => array(0 => array('type' => 'ISPOSITIVE',
 					'errmsg' => 'php_fpm_start_port_error_empty'),
 			),
 			'value' => '',
@@ -803,8 +895,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_fpm_socket_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_fpm_socket_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+										'errmsg'=> 'php_fpm_socket_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -814,8 +909,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'php_open_basedir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'php_open_basedir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
+										'errmsg'=> 'php_open_basedir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -825,8 +923,11 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'nginx_cgi_socket_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'nginx_cgi_socket_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'nginx_cgi_socket_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -836,8 +937,8 @@ $form["tabs"]['web'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'htaccess_allow_override_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'htaccess_allow_override_error_empty'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -884,6 +985,12 @@ $form["tabs"]['web'] = array(
 		'awstats_data_dir' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_data_dir_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_data_dir_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -892,6 +999,12 @@ $form["tabs"]['web'] = array(
 		'awstats_pl' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_pl_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_pl_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -900,6 +1013,12 @@ $form["tabs"]['web'] = array(
 		'awstats_buildstaticpages_pl' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'awstats_buildstaticpages_pl_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
+			),
 			'default' => '',
 			'value' => '',
 			'width' => '40',
@@ -923,8 +1042,11 @@ $form["tabs"]['dns'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_user_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_user_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'invalid_bind_user_txt'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -934,8 +1056,11 @@ $form["tabs"]['dns'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_group_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_group_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+										'errmsg'=> 'invalid_bind_group_txt'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -945,8 +1070,11 @@ $form["tabs"]['dns'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'bind_zonefiles_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'bind_zonefiles_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'bind_zonefiles_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -956,8 +1084,11 @@ $form["tabs"]['dns'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'named_conf_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'named_conf_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'named_conf_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -967,8 +1098,11 @@ $form["tabs"]['dns'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'named_conf_local_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'named_conf_local_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'named_conf_local_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -992,8 +1126,11 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_starter_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_starter_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_starter_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1003,8 +1140,11 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_starter_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_starter_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'fastcgi_starter_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1014,8 +1154,11 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_alias_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_alias_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'fastcgi_alias_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1025,8 +1168,11 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_phpini_path_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_phpini_path_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_phpini_path_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1036,7 +1182,7 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
+			'validators' => array(0 => array('type' => 'ISPOSITIVE',
 					'errmsg' => 'fastcgi_children_error_empty'),
 			),
 			'value' => '',
@@ -1061,8 +1207,11 @@ $form["tabs"]['fastcgi'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'fastcgi_bin_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'fastcgi_bin_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'fastcgi_bin_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1095,8 +1244,11 @@ $form["tabs"]['jailkit'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_home_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_home_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+										'errmsg'=> 'jailkit_chroot_home_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1106,8 +1258,11 @@ $form["tabs"]['jailkit'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
+										'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1117,8 +1272,11 @@ $form["tabs"]['jailkit'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+										'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1128,8 +1286,11 @@ $form["tabs"]['jailkit'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+										'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1217,8 +1378,11 @@ $form["tabs"]['vlogger'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'vlogger_config_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'vlogger_config_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'vlogger_config_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1244,8 +1408,11 @@ $form["tabs"]['cron'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'cron_init_script_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'cron_init_script_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
+										'errmsg'=> 'cron_init_script_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1255,8 +1422,11 @@ $form["tabs"]['cron'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'crontab_dir_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'crontab_dir_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'crontab_dir_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
@@ -1266,8 +1436,11 @@ $form["tabs"]['cron'] = array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
 			'default' => '',
-			'validators' => array(0 => array('type' => 'NOTEMPTY',
-					'errmsg' => 'cron_wget_error_empty'),
+			'validators' => array(	0 => array('type' => 'NOTEMPTY',
+										'errmsg' => 'cron_wget_error_empty'),
+									1 => array ( 	'type' => 'REGEX',
+										'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+										'errmsg'=> 'cron_wget_error_regex'),
 			),
 			'value' => '',
 			'width' => '40',
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index 5ce704d9e8..cc34e05ac3 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -191,4 +191,54 @@ $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index f328f7fdb6..ef11b6058a 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -166,6 +166,13 @@ if($app->auth->is_admin()) {
 				'formtype'  => 'TEXT',
 				'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
 						'errmsg'=> 'uid_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default'   => '0',
 				'value'     => '',
@@ -177,6 +184,13 @@ if($app->auth->is_admin()) {
 				'formtype'  => 'TEXT',
 				'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
 						'errmsg'=> 'gid_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default'   => '0',
 				'value'     => '',
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index d8df458aa0..062ed6e0b0 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -177,6 +177,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 				'formtype' => 'TEXT',
 				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
 						'errmsg'=> 'uid_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default' => '0',
 				'value'  => '',
@@ -188,6 +195,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 				'formtype' => 'TEXT',
 				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
 						'errmsg'=> 'uid_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysgroup',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default' => '0',
 				'value'  => '',
diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php
index edf47a38d8..ba695e0ff8 100644
--- a/interface/web/sites/ftp_user_edit.php
+++ b/interface/web/sites/ftp_user_edit.php
@@ -154,14 +154,6 @@ class page_action extends tform_actions {
 	function onBeforeUpdate() {
 		global $app, $conf, $interfaceConf;
 		
-
-		// Check system user and group
-		if(isset($this->dataRecord['uid'])) {
-			if($app->functions->is_allowed_user(strtolower($this->dataRecord['uid']),true) == false || $app->functions->is_allowed_group(strtolower($this->dataRecord['gid']),true) == false) {
-				$app->tform->errorMessage .= $app->tform->lng('invalid_system_user_or_group_txt');
-			}
-		}
-		
 		/*
 		 * If the names should be restricted -> do it!
 		 */
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index 9731889b74..f301139d40 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -190,13 +190,6 @@ class page_action extends tform_actions {
 			}
 		}
 		unset($blacklist);
-		
-		// Check system user and group
-		if(isset($this->dataRecord['puser'])) {
-			if($app->functions->is_allowed_user(strtolower($this->dataRecord['puser']),true) == false || $app->functions->is_allowed_group(strtolower($this->dataRecord['pgroup']),true) == false) {
-				$app->tform->errorMessage .= $app->tform->lng('invalid_system_user_or_group_txt');
-			}
-		}
 
 		/*
 		 * If the names should be restricted -> do it!
diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php
index 37359a25d5..ef1fc4ca02 100644
--- a/interface/web/sites/web_vhost_subdomain_edit.php
+++ b/interface/web/sites/web_vhost_subdomain_edit.php
@@ -341,6 +341,8 @@ class page_action extends tform_actions {
 		$this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
 		$this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
 		$this->dataRecord["vhost_type"] = 'name';
+		$this->dataRecord["system_user"] = $parent_domain["system_user"];
+		$this->dataRecord["system_group"] = $parent_domain["system_group"];
 
 		$this->parent_domain_record = $parent_domain;
 
-- 
GitLab


From cda33c161a1145d4652b2a8537d5833f144e11e2 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 11:53:40 +0200
Subject: [PATCH 061/158] Merged language files.

---
 interface/lib/lang/el.lng                     |  2 +-
 interface/lib/lang/fr.lng                     |  2 +-
 interface/lib/lang/se.lng                     |  3 +-
 .../web/admin/lib/lang/ar_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/bg_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/br_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/cz_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/de_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/el_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/el_system_config.lng   |  2 +-
 .../web/admin/lib/lang/es_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/fi_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/fr_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/fr_system_config.lng   |  2 +-
 .../web/admin/lib/lang/hr_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/hu_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/id_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/it_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/ja_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/nl_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/pl_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/pt_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/ro_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/ru_server_config.lng   | 52 +++++++++++++++++-
 interface/web/admin/lib/lang/se.lng           |  1 -
 .../admin/lib/lang/se_directive_snippets.lng  |  1 -
 .../lib/lang/se_directive_snippets_list.lng   |  1 -
 interface/web/admin/lib/lang/se_firewall.lng  |  1 -
 .../web/admin/lib/lang/se_firewall_list.lng   |  1 -
 interface/web/admin/lib/lang/se_groups.lng    |  1 -
 .../web/admin/lib/lang/se_groups_list.lng     |  1 -
 interface/web/admin/lib/lang/se_iptables.lng  |  1 -
 .../web/admin/lib/lang/se_iptables_list.lng   |  1 -
 .../web/admin/lib/lang/se_language_add.lng    |  1 -
 .../admin/lib/lang/se_language_complete.lng   |  1 -
 .../web/admin/lib/lang/se_language_edit.lng   |  1 -
 .../web/admin/lib/lang/se_language_export.lng |  1 -
 .../web/admin/lib/lang/se_language_import.lng |  1 -
 .../web/admin/lib/lang/se_language_list.lng   |  1 -
 interface/web/admin/lib/lang/se_login_as.lng  | 12 -----
 .../web/admin/lib/lang/se_package_install.lng |  1 -
 .../web/admin/lib/lang/se_remote_action.lng   |  1 -
 .../web/admin/lib/lang/se_remote_user.lng     |  1 -
 .../admin/lib/lang/se_remote_user_list.lng    |  1 -
 interface/web/admin/lib/lang/se_server.lng    |  1 -
 .../web/admin/lib/lang/se_server_config.lng   | 53 ++++++++++++++++++-
 .../admin/lib/lang/se_server_config_list.lng  |  1 -
 interface/web/admin/lib/lang/se_server_ip.lng |  1 -
 .../web/admin/lib/lang/se_server_ip_list.lng  |  1 -
 .../web/admin/lib/lang/se_server_list.lng     |  1 -
 .../web/admin/lib/lang/se_server_php.lng      |  1 -
 .../web/admin/lib/lang/se_server_php_list.lng |  1 -
 .../admin/lib/lang/se_software_package.lng    |  1 -
 .../lib/lang/se_software_package_install.lng  |  1 -
 .../lib/lang/se_software_package_list.lng     |  1 -
 .../web/admin/lib/lang/se_software_repo.lng   |  1 -
 .../admin/lib/lang/se_software_repo_list.lng  |  1 -
 .../lib/lang/se_software_update_list.lng      |  1 -
 .../web/admin/lib/lang/se_system_config.lng   |  3 +-
 .../admin/lib/lang/se_tpl_default_admin.lng   |  1 -
 interface/web/admin/lib/lang/se_users.lng     |  1 -
 .../web/admin/lib/lang/se_users_list.lng      |  1 -
 .../web/admin/lib/lang/sk_server_config.lng   | 52 +++++++++++++++++-
 .../web/admin/lib/lang/tr_server_config.lng   | 52 +++++++++++++++++-
 interface/web/client/lib/lang/el_reseller.lng |  2 +-
 interface/web/client/lib/lang/fr_client.lng   |  2 +-
 interface/web/client/lib/lang/fr_reseller.lng |  2 +-
 interface/web/client/lib/lang/se.lng          |  1 -
 interface/web/client/lib/lang/se_client.lng   |  3 +-
 .../web/client/lib/lang/se_client_circle.lng  |  1 -
 .../client/lib/lang/se_client_circle_list.lng |  1 -
 .../web/client/lib/lang/se_client_del.lng     |  1 -
 .../web/client/lib/lang/se_client_message.lng |  1 -
 .../lib/lang/se_client_message_template.lng   |  1 -
 .../lang/se_client_message_template_list.lng  |  1 -
 .../client/lib/lang/se_client_template.lng    |  1 -
 .../lib/lang/se_client_template_list.lng      |  1 -
 .../web/client/lib/lang/se_clients_list.lng   |  1 -
 interface/web/client/lib/lang/se_domain.lng   |  1 -
 .../web/client/lib/lang/se_domain_list.lng    |  1 -
 interface/web/client/lib/lang/se_reseller.lng |  1 -
 .../web/client/lib/lang/se_resellers_list.lng |  1 -
 interface/web/dashboard/lib/lang/se.lng       |  1 -
 .../dashboard/lib/lang/se_dashlet_limits.lng  |  1 -
 .../lib/lang/se_dashlet_mailquota.lng         |  1 -
 .../dashboard/lib/lang/se_dashlet_modules.lng |  1 -
 .../dashboard/lib/lang/se_dashlet_quota.lng   |  1 -
 interface/web/designer/lib/lang/se.lng        |  1 -
 .../web/designer/lib/lang/se_form_edit.lng    |  1 -
 .../web/designer/lib/lang/se_form_list.lng    |  1 -
 .../web/designer/lib/lang/se_form_show.lng    |  1 -
 .../web/designer/lib/lang/se_module_edit.lng  |  1 -
 .../web/designer/lib/lang/se_module_list.lng  |  1 -
 .../designer/lib/lang/se_module_nav_edit.lng  |  1 -
 .../lib/lang/se_module_nav_item_edit.lng      |  1 -
 .../web/designer/lib/lang/se_module_show.lng  |  1 -
 .../dns/lib/lang/ar_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/ar_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/bg_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/bg_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/br_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/br_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/cz_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/cz_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/el_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/el_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/es_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/es_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/fi_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/fi_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/fr_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/fr_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/hr_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/hr_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/hu_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/hu_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/id_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/id_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/it_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/it_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/ja_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/ja_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/nl_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/nl_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/pl_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/pl_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/pt_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/pt_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/ro_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/ro_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/ru_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/ru_dns_soa_admin_list.lng    | 11 ++++
 interface/web/dns/lib/lang/se.lng             |  1 -
 interface/web/dns/lib/lang/se_dns_a.lng       |  1 -
 interface/web/dns/lib/lang/se_dns_a_list.lng  |  1 -
 interface/web/dns/lib/lang/se_dns_aaaa.lng    |  1 -
 interface/web/dns/lib/lang/se_dns_alias.lng   |  1 -
 interface/web/dns/lib/lang/se_dns_cname.lng   |  1 -
 interface/web/dns/lib/lang/se_dns_hinfo.lng   |  1 -
 interface/web/dns/lib/lang/se_dns_import.lng  |  1 -
 interface/web/dns/lib/lang/se_dns_mx.lng      |  1 -
 interface/web/dns/lib/lang/se_dns_ns.lng      |  1 -
 interface/web/dns/lib/lang/se_dns_ptr.lng     |  1 -
 interface/web/dns/lib/lang/se_dns_rp.lng      |  1 -
 interface/web/dns/lib/lang/se_dns_slave.lng   |  1 -
 .../dns/lib/lang/se_dns_slave_admin_list.lng  | 10 ++++
 .../web/dns/lib/lang/se_dns_slave_list.lng    |  1 -
 interface/web/dns/lib/lang/se_dns_soa.lng     |  1 -
 .../dns/lib/lang/se_dns_soa_admin_list.lng    | 11 ++++
 .../web/dns/lib/lang/se_dns_soa_list.lng      |  1 -
 interface/web/dns/lib/lang/se_dns_srv.lng     |  1 -
 .../web/dns/lib/lang/se_dns_template.lng      |  1 -
 .../web/dns/lib/lang/se_dns_template_list.lng |  1 -
 interface/web/dns/lib/lang/se_dns_txt.lng     |  1 -
 interface/web/dns/lib/lang/se_dns_wizard.lng  |  1 -
 .../dns/lib/lang/sk_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/sk_dns_soa_admin_list.lng    | 11 ++++
 .../dns/lib/lang/tr_dns_slave_admin_list.lng  | 10 ++++
 .../dns/lib/lang/tr_dns_soa_admin_list.lng    | 11 ++++
 interface/web/help/lib/lang/se.lng            |  1 -
 interface/web/help/lib/lang/se_faq_form.lng   |  1 -
 .../lib/lang/se_faq_manage_questions_list.lng |  1 -
 .../help/lib/lang/se_faq_sections_form.lng    |  1 -
 .../web/help/lib/lang/se_help_faq_list.lng    |  1 -
 .../lib/lang/se_help_faq_sections_list.lng    |  1 -
 .../web/help/lib/lang/se_support_message.lng  |  1 -
 .../help/lib/lang/se_support_message_list.lng |  1 -
 interface/web/login/lib/lang/se.lng           |  1 -
 interface/web/login/lib/lang/se_login_as.lng  |  7 ++-
 interface/web/mail/lib/lang/fr_mail_get.lng   |  2 +-
 interface/web/mail/lib/lang/se.lng            |  1 -
 interface/web/mail/lib/lang/se_mail_alias.lng |  1 -
 .../web/mail/lib/lang/se_mail_alias_list.lng  |  1 -
 .../web/mail/lib/lang/se_mail_aliasdomain.lng |  1 -
 .../lib/lang/se_mail_aliasdomain_list.lng     |  1 -
 .../web/mail/lib/lang/se_mail_blacklist.lng   |  1 -
 .../mail/lib/lang/se_mail_blacklist_list.lng  |  1 -
 .../mail/lib/lang/se_mail_content_filter.lng  |  1 -
 .../lib/lang/se_mail_content_filter_list.lng  |  1 -
 .../web/mail/lib/lang/se_mail_domain.lng      |  1 -
 .../lib/lang/se_mail_domain_admin_list.lng    |  1 -
 .../mail/lib/lang/se_mail_domain_catchall.lng |  1 -
 .../lib/lang/se_mail_domain_catchall_list.lng |  1 -
 .../web/mail/lib/lang/se_mail_domain_list.lng |  1 -
 .../web/mail/lib/lang/se_mail_forward.lng     |  1 -
 .../mail/lib/lang/se_mail_forward_list.lng    |  1 -
 interface/web/mail/lib/lang/se_mail_get.lng   |  3 +-
 .../web/mail/lib/lang/se_mail_get_list.lng    |  1 -
 .../web/mail/lib/lang/se_mail_mailinglist.lng |  1 -
 .../lib/lang/se_mail_mailinglist_list.lng     |  1 -
 .../mail/lib/lang/se_mail_relay_recipient.lng |  1 -
 .../lib/lang/se_mail_relay_recipient_list.lng |  1 -
 .../web/mail/lib/lang/se_mail_spamfilter.lng  |  1 -
 .../mail/lib/lang/se_mail_spamfilter_list.lng |  1 -
 .../web/mail/lib/lang/se_mail_transport.lng   |  1 -
 .../mail/lib/lang/se_mail_transport_list.lng  |  1 -
 interface/web/mail/lib/lang/se_mail_user.lng  |  1 -
 .../web/mail/lib/lang/se_mail_user_filter.lng |  1 -
 .../lib/lang/se_mail_user_filter_list.lng     |  1 -
 .../web/mail/lib/lang/se_mail_user_list.lng   |  1 -
 .../mail/lib/lang/se_mail_user_stats_list.lng |  1 -
 .../web/mail/lib/lang/se_mail_whitelist.lng   |  1 -
 .../mail/lib/lang/se_mail_whitelist_list.lng  |  1 -
 .../mail/lib/lang/se_spamfilter_blacklist.lng |  1 -
 .../lib/lang/se_spamfilter_blacklist_list.lng |  1 -
 .../mail/lib/lang/se_spamfilter_config.lng    |  1 -
 .../lib/lang/se_spamfilter_config_list.lng    |  1 -
 .../mail/lib/lang/se_spamfilter_policy.lng    |  1 -
 .../lib/lang/se_spamfilter_policy_list.lng    |  1 -
 .../web/mail/lib/lang/se_spamfilter_users.lng |  1 -
 .../lib/lang/se_spamfilter_users_list.lng     |  1 -
 .../mail/lib/lang/se_spamfilter_whitelist.lng |  1 -
 .../lib/lang/se_spamfilter_whitelist_list.lng |  1 -
 .../lib/lang/se_user_quota_stats_list.lng     |  1 -
 interface/web/mailuser/lib/lang/se.lng        |  1 -
 interface/web/mailuser/lib/lang/se_index.lng  |  1 -
 .../lib/lang/se_mail_user_autoresponder.lng   |  1 -
 .../web/mailuser/lib/lang/se_mail_user_cc.lng |  1 -
 .../mailuser/lib/lang/se_mail_user_filter.lng |  1 -
 .../lib/lang/se_mail_user_filter_list.lng     |  1 -
 .../lib/lang/se_mail_user_password.lng        |  1 -
 .../lib/lang/se_mail_user_spamfilter.lng      |  1 -
 interface/web/monitor/lib/lang/se.lng         |  1 -
 .../web/monitor/lib/lang/se_datalog_list.lng  |  1 -
 .../web/monitor/lib/lang/se_syslog_list.lng   |  1 -
 interface/web/sites/lib/lang/ar_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/ar_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/ar_web_folder_list.lng |  1 +
 .../lib/lang/ar_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/bg_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/bg_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/bg_web_folder_list.lng |  1 +
 .../lib/lang/bg_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/br_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/br_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/br_web_folder_list.lng |  1 +
 .../lib/lang/br_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/cz_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/cz_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/cz_web_folder_list.lng |  1 +
 .../lib/lang/cz_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/de_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/de_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/de_web_folder_list.lng |  2 +-
 .../lib/lang/de_web_folder_user_list.lng      |  2 +-
 interface/web/sites/lib/lang/el_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/el_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/el_web_folder_list.lng |  1 +
 .../lib/lang/el_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/es_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/es_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/es_web_folder_list.lng |  1 +
 .../lib/lang/es_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/fi_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/fi_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/fi_web_folder_list.lng |  1 +
 .../lib/lang/fi_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/fr.lng           |  2 +-
 interface/web/sites/lib/lang/fr_aps.lng       | 16 +++---
 interface/web/sites/lib/lang/fr_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/fr_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/fr_web_folder_list.lng |  1 +
 .../lib/lang/fr_web_folder_user_list.lng      |  1 +
 .../web/sites/lib/lang/fr_web_subdomain.lng   |  2 +-
 interface/web/sites/lib/lang/hr_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/hr_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/hr_web_folder_list.lng |  1 +
 .../lib/lang/hr_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/hu_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/hu_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/hu_web_folder_list.lng |  1 +
 .../lib/lang/hu_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/id_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/id_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/id_web_folder_list.lng |  1 +
 .../lib/lang/id_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/it_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/it_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/it_web_folder_list.lng |  1 +
 .../lib/lang/it_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/ja_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/ja_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/ja_web_folder_list.lng |  1 +
 .../lib/lang/ja_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/nl_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/nl_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/nl_web_folder_list.lng |  1 +
 .../lib/lang/nl_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/pl_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/pl_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/pl_web_folder_list.lng |  1 +
 .../lib/lang/pl_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/pt_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/pt_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/pt_web_folder_list.lng |  1 +
 .../lib/lang/pt_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/ro_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/ro_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/ro_web_folder_list.lng |  1 +
 .../lib/lang/ro_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/ru_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/ru_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/ru_web_folder_list.lng |  1 +
 .../lib/lang/ru_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/se.lng           |  3 +-
 interface/web/sites/lib/lang/se_aps.lng       | 17 +++---
 .../sites/lib/lang/se_aps_instances_list.lng  |  1 -
 .../sites/lib/lang/se_aps_packages_list.lng   |  1 -
 .../lib/lang/se_aps_update_packagelist.lng    |  1 -
 interface/web/sites/lib/lang/se_cron.lng      |  1 -
 interface/web/sites/lib/lang/se_cron_list.lng |  1 -
 interface/web/sites/lib/lang/se_database.lng  |  1 -
 .../sites/lib/lang/se_database_admin_list.lng |  1 -
 .../web/sites/lib/lang/se_database_list.lng   |  1 -
 .../web/sites/lib/lang/se_database_user.lng   |  1 -
 .../lib/lang/se_database_user_admin_list.lng  |  1 -
 .../sites/lib/lang/se_database_user_list.lng  |  1 -
 interface/web/sites/lib/lang/se_ftp_user.lng  |  3 +-
 .../web/sites/lib/lang/se_ftp_user_list.lng   |  1 -
 .../web/sites/lib/lang/se_shell_user.lng      |  4 +-
 .../web/sites/lib/lang/se_shell_user_list.lng |  1 -
 .../lib/lang/se_user_quota_stats_list.lng     |  1 -
 .../web/sites/lib/lang/se_web_aliasdomain.lng |  1 -
 .../lib/lang/se_web_aliasdomain_list.lng      |  1 -
 .../web/sites/lib/lang/se_web_backup_list.lng |  1 -
 .../web/sites/lib/lang/se_web_domain.lng      |  1 -
 .../lib/lang/se_web_domain_admin_list.lng     |  1 -
 .../web/sites/lib/lang/se_web_domain_list.lng |  1 -
 .../web/sites/lib/lang/se_web_folder.lng      |  1 -
 .../web/sites/lib/lang/se_web_folder_list.lng |  2 +-
 .../web/sites/lib/lang/se_web_folder_user.lng |  1 -
 .../lib/lang/se_web_folder_user_list.lng      |  2 +-
 .../lib/lang/se_web_sites_stats_list.lng      |  1 -
 .../web/sites/lib/lang/se_web_subdomain.lng   |  3 +-
 .../sites/lib/lang/se_web_subdomain_list.lng  |  1 -
 .../sites/lib/lang/se_web_vhost_subdomain.lng |  1 -
 .../lib/lang/se_web_vhost_subdomain_list.lng  |  1 -
 .../web/sites/lib/lang/se_webdav_user.lng     |  1 -
 .../sites/lib/lang/se_webdav_user_list.lng    |  1 -
 interface/web/sites/lib/lang/sk_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/sk_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/sk_web_folder_list.lng |  1 +
 .../lib/lang/sk_web_folder_user_list.lng      |  1 +
 interface/web/sites/lib/lang/tr_ftp_user.lng  |  2 +
 .../web/sites/lib/lang/tr_shell_user.lng      |  3 ++
 .../web/sites/lib/lang/tr_web_folder_list.lng |  1 +
 .../lib/lang/tr_web_folder_user_list.lng      |  1 +
 .../lib/lang/se_strengthmeter.lng             |  1 -
 interface/web/tools/lib/lang/se.lng           |  1 -
 .../tools/lib/lang/se_import_ispconfig.lng    |  1 -
 interface/web/tools/lib/lang/se_index.lng     |  1 -
 interface/web/tools/lib/lang/se_interface.lng |  1 -
 .../web/tools/lib/lang/se_tpl_default.lng     |  1 -
 .../web/tools/lib/lang/se_usersettings.lng    |  1 -
 interface/web/vm/lib/lang/se.lng              |  1 -
 .../web/vm/lib/lang/se_openvz_action.lng      |  1 -
 interface/web/vm/lib/lang/se_openvz_ip.lng    |  1 -
 .../web/vm/lib/lang/se_openvz_ip_list.lng     |  1 -
 .../web/vm/lib/lang/se_openvz_ostemplate.lng  |  1 -
 .../vm/lib/lang/se_openvz_ostemplate_list.lng |  1 -
 .../web/vm/lib/lang/se_openvz_template.lng    |  1 -
 .../vm/lib/lang/se_openvz_template_list.lng   |  1 -
 interface/web/vm/lib/lang/se_openvz_vm.lng    |  1 -
 .../web/vm/lib/lang/se_openvz_vm_list.lng     |  1 -
 364 files changed, 1752 insertions(+), 276 deletions(-)
 delete mode 100644 interface/web/admin/lib/lang/se_login_as.lng
 create mode 100644 interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
 create mode 100644 interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng

diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng
index 5f7cb709e9..20f26a448d 100644
--- a/interface/lib/lang/el.lng
+++ b/interface/lib/lang/el.lng
@@ -145,6 +145,6 @@ $wb['strength_2'] = 'Fair';
 $wb['strength_3'] = 'Good';
 $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 ?>
diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng
index f344dc3a43..613f2a3428 100644
--- a/interface/lib/lang/fr.lng
+++ b/interface/lib/lang/fr.lng
@@ -145,6 +145,6 @@ $wb['strength_2'] = 'Fair';
 $wb['strength_3'] = 'Good';
 $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 ?>
diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng
index 5f493339ec..41a972f5ca 100644
--- a/interface/lib/lang/se.lng
+++ b/interface/lib/lang/se.lng
@@ -145,7 +145,6 @@ $wb['strength_2'] = 'Sådär';
 $wb['strength_3'] = 'Bra';
 $wb['strength_4'] = 'Starkt';
 $wb['strength_5'] = 'Väldigt starkt';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng
index 2a404c6734..7f23b7d2bf 100644
--- a/interface/web/admin/lib/lang/ar_server_config.lng
+++ b/interface/web/admin/lib/lang/ar_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng
index ef13ef5502..b15c3c6d01 100644
--- a/interface/web/admin/lib/lang/bg_server_config.lng
+++ b/interface/web/admin/lib/lang/bg_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng
index 66bacf2511..2b0dd67050 100644
--- a/interface/web/admin/lib/lang/br_server_config.lng
+++ b/interface/web/admin/lib/lang/br_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng
index 41d1bf8c46..c2db3bab0f 100644
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin heslo';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Zástupný symbol';
 $wb['backup_dir_is_mount_txt'] = 'Připojit adresář pro zálohy ?';
-$wb['backup_dir_mount_cmd_txt'] = 'Příkaz připojení, pokud adresář pro zálohy není připojen .  (např. mount ...)';
 $wb['monitor_system_updates_txt'] = 'Kontrolovat aktualizace Linuxu';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
index 3711d4a0d4..b040dba086 100644
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin-Passwort';
 $wb['munin_url_error_regex'] = 'Ungültige Munin-URL';
 $wb['munin_url_note_txt'] = 'Platzhalter:';
 $wb['backup_dir_is_mount_txt'] = 'Backupverzeichnis ist ein eigener Mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht gemountet';
 $wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng
index 38da1e4024..6ab52a93c9 100644
--- a/interface/web/admin/lib/lang/el_server_config.lng
+++ b/interface/web/admin/lib/lang/el_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng
index 41dff65d03..6c4f9a61da 100644
--- a/interface/web/admin/lib/lang/el_system_config.lng
+++ b/interface/web/admin/lib/lang/el_system_config.lng
@@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'The customer No. template contain
 $wb['customer_no_start_txt'] = 'Customer No. start value';
 $wb['customer_no_counter_txt'] = 'Customer No. counter';
 $wb['session_timeout_txt'] = 'Session timeout (minutes)';
-$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
+$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
 $wb['No'] = 'No';
 $wb['min_password_length_txt'] = 'Minimum password length';
 $wb['min_password_strength_txt'] = 'Minimum password strength';
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index 1942704007..42aeb0942a 100644
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng
index a1a5c6308a..13ef9f3337 100755
--- a/interface/web/admin/lib/lang/fi_server_config.lng
+++ b/interface/web/admin/lib/lang/fi_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng
index cee1433739..d66d977f16 100644
--- a/interface/web/admin/lib/lang/fr_server_config.lng
+++ b/interface/web/admin/lib/lang/fr_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng
index 9abcd05a23..3c07c65fcc 100644
--- a/interface/web/admin/lib/lang/fr_system_config.lng
+++ b/interface/web/admin/lib/lang/fr_system_config.lng
@@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'The customer No. template contain
 $wb['customer_no_start_txt'] = 'Customer No. start value';
 $wb['customer_no_counter_txt'] = 'Customer No. counter';
 $wb['session_timeout_txt'] = 'Session timeout (minutes)';
-$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
+$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
 $wb['No'] = 'No';
 $wb['min_password_length_txt'] = 'Minimum password length';
 $wb['min_password_strength_txt'] = 'Minimum password strength';
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
index 39bbc2a84b..1b71f0b74c 100644
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng
index 178a323a2e..4a1752564d 100644
--- a/interface/web/admin/lib/lang/hu_server_config.lng
+++ b/interface/web/admin/lib/lang/hu_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
index 4ef64144d9..ac67571dfb 100644
--- a/interface/web/admin/lib/lang/id_server_config.lng
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng
index d2a6288b93..fac8b35bb8 100644
--- a/interface/web/admin/lib/lang/it_server_config.lng
+++ b/interface/web/admin/lib/lang/it_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng
index 06e2bb6598..110148ce11 100644
--- a/interface/web/admin/lib/lang/ja_server_config.lng
+++ b/interface/web/admin/lib/lang/ja_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
index d94b5679db..fb97a2ce24 100644
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng
index 6d74f7d43c..ada98882b1 100644
--- a/interface/web/admin/lib/lang/pl_server_config.lng
+++ b/interface/web/admin/lib/lang/pl_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
index b31598ca2d..e9fcd3736a 100644
--- a/interface/web/admin/lib/lang/pt_server_config.lng
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng
index 06b78eb38c..078910fc12 100644
--- a/interface/web/admin/lib/lang/ro_server_config.lng
+++ b/interface/web/admin/lib/lang/ro_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng
index 9c8e58fc24..9f881ae248 100644
--- a/interface/web/admin/lib/lang/ru_server_config.lng
+++ b/interface/web/admin/lib/lang/ru_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/se.lng b/interface/web/admin/lib/lang/se.lng
index 510119279a..0df5d1aa40 100644
--- a/interface/web/admin/lib/lang/se.lng
+++ b/interface/web/admin/lib/lang/se.lng
@@ -48,4 +48,3 @@ $wb['Do OS-Update'] = 'Utför OS-uppdatering';
 $wb['Do ISPConfig-Update'] = 'Utför ISPConfig-uppdatering';
 $wb['Directive Snippets'] = 'Directive Snippets';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_directive_snippets.lng b/interface/web/admin/lib/lang/se_directive_snippets.lng
index 5366bf17a3..0f09c12ee0 100644
--- a/interface/web/admin/lib/lang/se_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/se_directive_snippets.lng
@@ -8,4 +8,3 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
 $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
 $wb['variables_txt'] = 'Variables';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_directive_snippets_list.lng b/interface/web/admin/lib/lang/se_directive_snippets_list.lng
index 3eac528a20..4124ea3464 100644
--- a/interface/web/admin/lib/lang/se_directive_snippets_list.lng
+++ b/interface/web/admin/lib/lang/se_directive_snippets_list.lng
@@ -5,4 +5,3 @@ $wb['name_txt'] = 'Name of Snippet';
 $wb['type_txt'] = 'Type';
 $wb['add_new_record_txt'] = 'Add Directive Snippet';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_firewall.lng b/interface/web/admin/lib/lang/se_firewall.lng
index 4ae1ed6738..123a648300 100644
--- a/interface/web/admin/lib/lang/se_firewall.lng
+++ b/interface/web/admin/lib/lang/se_firewall.lng
@@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Det finns redan ett brandväggsinlägg för den
 $wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
 $wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_firewall_list.lng b/interface/web/admin/lib/lang/se_firewall_list.lng
index eff32d328c..6f6f9ce17d 100644
--- a/interface/web/admin/lib/lang/se_firewall_list.lng
+++ b/interface/web/admin/lib/lang/se_firewall_list.lng
@@ -6,4 +6,3 @@ $wb['tcp_port_txt'] = 'Öppna TCP-portar';
 $wb['udp_port_txt'] = 'Öppna UDP-portar';
 $wb['add_new_record_txt'] = 'Lägg till brandväggsinlägg';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_groups.lng b/interface/web/admin/lib/lang/se_groups.lng
index 175a422551..4bb34b109d 100644
--- a/interface/web/admin/lib/lang/se_groups.lng
+++ b/interface/web/admin/lib/lang/se_groups.lng
@@ -3,4 +3,3 @@ $wb['description_txt'] = 'Beskrivning';
 $wb['name_txt'] = 'Grupp';
 $wb['name_err'] = 'Gruppnamnet måste ha minst 1 och max 30 tecken.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_groups_list.lng b/interface/web/admin/lib/lang/se_groups_list.lng
index b5486da5a8..fe3f4bec52 100644
--- a/interface/web/admin/lib/lang/se_groups_list.lng
+++ b/interface/web/admin/lib/lang/se_groups_list.lng
@@ -5,4 +5,3 @@ $wb['name_txt'] = 'Grupp';
 $wb['add_new_record_txt'] = 'Lägg till ny grupp';
 $wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_iptables.lng b/interface/web/admin/lib/lang/se_iptables.lng
index 7c7dbfdb3c..b4e6bf8f25 100644
--- a/interface/web/admin/lib/lang/se_iptables.lng
+++ b/interface/web/admin/lib/lang/se_iptables.lng
@@ -11,4 +11,3 @@ $wb['source_ip_txt'] = 'Källadress';
 $wb['active_txt'] = 'Aktiv';
 $wb['iptables_error_unique'] = 'Det finns redan brandväggsinlägg för den här servern';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_iptables_list.lng b/interface/web/admin/lib/lang/se_iptables_list.lng
index 3d400b4cd3..74a06dfbca 100644
--- a/interface/web/admin/lib/lang/se_iptables_list.lng
+++ b/interface/web/admin/lib/lang/se_iptables_list.lng
@@ -13,4 +13,3 @@ $wb['source_ip_txt'] = 'Källadress';
 $wb['active_txt'] = 'Aktiv';
 $wb['iptables_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_add.lng b/interface/web/admin/lib/lang/se_language_add.lng
index a0607f2c16..59dbeeed35 100644
--- a/interface/web/admin/lib/lang/se_language_add.lng
+++ b/interface/web/admin/lib/lang/se_language_add.lng
@@ -6,4 +6,3 @@ $wb['btn_save_txt'] = 'Skapa nya språkfiler';
 $wb['btn_cancel_txt'] = 'Tillbaka';
 $wb['language_new_hint_txt'] = '2 characters ISO 639-1 language-code (See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_complete.lng b/interface/web/admin/lib/lang/se_language_complete.lng
index 9fc84589d5..539c95641d 100644
--- a/interface/web/admin/lib/lang/se_language_complete.lng
+++ b/interface/web/admin/lib/lang/se_language_complete.lng
@@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Slå ihop filer nu';
 $wb['btn_cancel_txt'] = 'Tillbaka';
 $wb['list_desc_txt'] = 'Slå ihop språkfilen med den engelska huvudfilen. <br />Detta lägger till saknade fraser från den engelska språkfilen till den valda språkfilen';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_edit.lng b/interface/web/admin/lib/lang/se_language_edit.lng
index e02c9a9e02..076caaa0fa 100644
--- a/interface/web/admin/lib/lang/se_language_edit.lng
+++ b/interface/web/admin/lib/lang/se_language_edit.lng
@@ -6,4 +6,3 @@ $wb['lang_file_txt'] = 'Språkfil';
 $wb['btn_save_txt'] = 'Spara';
 $wb['btn_cancel_txt'] = 'Tillbaka';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_export.lng b/interface/web/admin/lib/lang/se_language_export.lng
index a4d7147fae..21ff513005 100644
--- a/interface/web/admin/lib/lang/se_language_export.lng
+++ b/interface/web/admin/lib/lang/se_language_export.lng
@@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Välj språk';
 $wb['btn_save_txt'] = 'Exportera de valda språkfilerna';
 $wb['btn_cancel_txt'] = 'Tillbaka';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_import.lng b/interface/web/admin/lib/lang/se_language_import.lng
index 8ecca37dc8..59af5bc6f8 100644
--- a/interface/web/admin/lib/lang/se_language_import.lng
+++ b/interface/web/admin/lib/lang/se_language_import.lng
@@ -7,4 +7,3 @@ $wb['btn_cancel_txt'] = 'Tillbaka';
 $wb['ignore_version_txt'] = 'Hoppa över ISPConfig versionskontroll';
 $wb['list_desc_txt'] = 'VARNING: Importera inte språkfiler från opålitliga källor!';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_language_list.lng b/interface/web/admin/lib/lang/se_language_list.lng
index b23024d947..9949044ab3 100644
--- a/interface/web/admin/lib/lang/se_language_list.lng
+++ b/interface/web/admin/lib/lang/se_language_list.lng
@@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul';
 $wb['lang_file_txt'] = 'Språkfil';
 $wb['lang_file_date_txt'] = 'Senast ändrad';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_login_as.lng b/interface/web/admin/lib/lang/se_login_as.lng
deleted file mode 100644
index 284a75b55a..0000000000
--- a/interface/web/admin/lib/lang/se_login_as.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['login_1_txt'] = 'Vill du logga in som användare';
-$wb['login_2_txt'] = 'Om du gör det kan du klicka på  "gå tillbaka" genom att först klicka på logga ut.';
-$wb['btn_yes_txt'] = 'Ja, logga in som kund';
-$wb['btn_back_txt'] = 'Nej, tillbaka till listan';
-$wb['udp_port_help_txt'] = 'Kommaseparerade';
-$wb['active_txt'] = 'Aktiv';
-$wb['firewall_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
-?>
-
diff --git a/interface/web/admin/lib/lang/se_package_install.lng b/interface/web/admin/lib/lang/se_package_install.lng
index 438f1d8038..2fb833056e 100644
--- a/interface/web/admin/lib/lang/se_package_install.lng
+++ b/interface/web/admin/lib/lang/se_package_install.lng
@@ -5,4 +5,3 @@ $wb['repo_username_txt'] = 'Användare (Frivilligt)';
 $wb['repo_password_txt'] = 'Lösenord (Frivilligt)';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng
index 99d9e2c9aa..68d2bbd4c3 100644
--- a/interface/web/admin/lib/lang/se_remote_action.lng
+++ b/interface/web/admin/lib/lang/se_remote_action.lng
@@ -10,4 +10,3 @@ $wb['select_all_server'] = 'Alla servrar';
 $wb['ispconfig_update_title'] = 'ISPConfig uppdateringsinstruktioner';
 $wb['ispconfig_update_text'] = 'Logga in som root på din server och kör kommandot<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />för att påbörja ISPConfig-uppdateringen.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Klicka här för detaljerade instruktioner</a>';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_user.lng b/interface/web/admin/lib/lang/se_remote_user.lng
index 5fedddc555..1b3b731fc8 100644
--- a/interface/web/admin/lib/lang/se_remote_user.lng
+++ b/interface/web/admin/lib/lang/se_remote_user.lng
@@ -45,4 +45,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord';
 $wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
 $wb['password_match_txt'] = 'Lösenorden matchar';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_user_list.lng b/interface/web/admin/lib/lang/se_remote_user_list.lng
index 9f490230a9..152a75fba4 100644
--- a/interface/web/admin/lib/lang/se_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/se_remote_user_list.lng
@@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Add new user';
 $wb['parent_remote_userid_txt'] = 'ID';
 $wb['username_txt'] = 'Username';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server.lng b/interface/web/admin/lib/lang/se_server.lng
index 29f32a7383..54df6f2ee3 100644
--- a/interface/web/admin/lib/lang/se_server.lng
+++ b/interface/web/admin/lib/lang/se_server.lng
@@ -13,4 +13,3 @@ $wb['- None -'] = '- Ingen';
 $wb['proxy_server_txt'] = 'Proxy-server';
 $wb['firewall_server_txt'] = 'Brandväggsserver';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng
index 565659e7d2..fc5b2017c5 100644
--- a/interface/web/admin/lib/lang/se_server_config.lng
+++ b/interface/web/admin/lib/lang/se_server_config.lng
@@ -189,7 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_config_list.lng b/interface/web/admin/lib/lang/se_server_config_list.lng
index 9ff7f9b640..191b2c8d32 100644
--- a/interface/web/admin/lib/lang/se_server_config_list.lng
+++ b/interface/web/admin/lib/lang/se_server_config_list.lng
@@ -2,4 +2,3 @@
 $wb['list_head_txt'] = 'Serverkonfiguration';
 $wb['server_name_txt'] = 'Server';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_ip.lng b/interface/web/admin/lib/lang/se_server_ip.lng
index ad887bbd67..c6f92d8b60 100644
--- a/interface/web/admin/lib/lang/se_server_ip.lng
+++ b/interface/web/admin/lib/lang/se_server_ip.lng
@@ -9,4 +9,3 @@ $wb['ip_type_txt'] = 'Typ';
 $wb['virtualhost_port_txt'] = 'HTTP-portar';
 $wb['error_port_syntax'] = 'Invalid chars in port field, please enter only comma separated numbers. Example: 80,443';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_ip_list.lng b/interface/web/admin/lib/lang/se_server_ip_list.lng
index 67884b3587..8f20a3b029 100644
--- a/interface/web/admin/lib/lang/se_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/se_server_ip_list.lng
@@ -8,4 +8,3 @@ $wb['virtualhost_txt'] = 'HTTP Vhost';
 $wb['virtualhost_port_txt'] = 'HTTP-portar';
 $wb['ip_type_txt'] = 'Typ';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_list.lng b/interface/web/admin/lib/lang/se_server_list.lng
index 23d6940f7c..031ac767f0 100644
--- a/interface/web/admin/lib/lang/se_server_list.lng
+++ b/interface/web/admin/lib/lang/se_server_list.lng
@@ -11,4 +11,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny server';
 $wb['proxy_server_txt'] = 'Proxy';
 $wb['firewall_server_txt'] = 'Brandvägg';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_php.lng b/interface/web/admin/lib/lang/se_server_php.lng
index 3b6096e2b4..addbfa4935 100644
--- a/interface/web/admin/lib/lang/se_server_php.lng
+++ b/interface/web/admin/lib/lang/se_server_php.lng
@@ -14,4 +14,3 @@ $wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script';
 $wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
 $wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_server_php_list.lng b/interface/web/admin/lib/lang/se_server_php_list.lng
index 353e156f10..f5762ad3a6 100644
--- a/interface/web/admin/lib/lang/se_server_php_list.lng
+++ b/interface/web/admin/lib/lang/se_server_php_list.lng
@@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny PHP-version';
 $wb['client_id_txt'] = 'Kund';
 $wb['name_txt'] = 'PHP-namn';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package.lng b/interface/web/admin/lib/lang/se_software_package.lng
index f06ca05fe0..086902db0c 100644
--- a/interface/web/admin/lib/lang/se_software_package.lng
+++ b/interface/web/admin/lib/lang/se_software_package.lng
@@ -4,4 +4,3 @@ $wb['package_key_txt'] = 'Packetnyckel';
 $wb['Software Package'] = 'Mjukvarupaket';
 $wb['Modify software package details'] = 'Redigera mjukvarupaketets uppgifter';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package_install.lng b/interface/web/admin/lib/lang/se_software_package_install.lng
index 7b0b28bc06..434fc4bc98 100644
--- a/interface/web/admin/lib/lang/se_software_package_install.lng
+++ b/interface/web/admin/lib/lang/se_software_package_install.lng
@@ -4,4 +4,3 @@ $wb['install_key_txt'] = 'Fyll i installationsnyckel';
 $wb['btn_save_txt'] = 'Påbörja installation';
 $wb['btn_cancel_txt'] = 'Avbryt';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package_list.lng b/interface/web/admin/lib/lang/se_software_package_list.lng
index 7762e62a2c..c0222e1ba4 100644
--- a/interface/web/admin/lib/lang/se_software_package_list.lng
+++ b/interface/web/admin/lib/lang/se_software_package_list.lng
@@ -11,4 +11,3 @@ $wb['no_packages_txt'] = 'Inga paket tillgängliga';
 $wb['edit_txt'] = 'Redigera';
 $wb['delete_txt'] = 'Radera';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_repo.lng b/interface/web/admin/lib/lang/se_software_repo.lng
index db59a1b06d..a0e0de6822 100644
--- a/interface/web/admin/lib/lang/se_software_repo.lng
+++ b/interface/web/admin/lib/lang/se_software_repo.lng
@@ -6,4 +6,3 @@ $wb['repo_password_txt'] = 'Lösenord (Frivilligt)';
 $wb['active_txt'] = 'Aktiv';
 $wb['Software Repository which may contain addons or updates'] = 'Pragarmvarubibliotek som kan innehålla uppdateringar eller tillägg';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_repo_list.lng b/interface/web/admin/lib/lang/se_software_repo_list.lng
index d997091998..b7a219ffa8 100644
--- a/interface/web/admin/lib/lang/se_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/se_software_repo_list.lng
@@ -4,4 +4,3 @@ $wb['active_txt'] = 'Active';
 $wb['repo_name_txt'] = 'Repository';
 $wb['repo_url_txt'] = 'URL';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_software_update_list.lng b/interface/web/admin/lib/lang/se_software_update_list.lng
index 41728b2563..0cf7c0eddc 100644
--- a/interface/web/admin/lib/lang/se_software_update_list.lng
+++ b/interface/web/admin/lib/lang/se_software_update_list.lng
@@ -7,4 +7,3 @@ $wb['action_txt'] = 'Händelse';
 $wb['server_select_txt'] = 'Välj server';
 $wb['no_updates_txt'] = 'Inga tillgängliga uppdateringar';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng
index 25b3593585..7e9618102f 100644
--- a/interface/web/admin/lib/lang/se_system_config.lng
+++ b/interface/web/admin/lib/lang/se_system_config.lng
@@ -64,9 +64,8 @@ $wb['customer_no_template_error_regex_txt'] = 'Kundnummermallen innehåller otil
 $wb['customer_no_start_txt'] = 'Kundnummer startvärde';
 $wb['customer_no_counter_txt'] = 'Kundnummer räknare';
 $wb['session_timeout_txt'] = 'Session timeout (minuter)';
-$wb['session_allow_endless_txt'] = 'Aktivera "håll mig inloggad"';
+$wb['session_allow_endless_txt'] = 'Aktivera \"håll mig inloggad\"';
 $wb['No'] = 'Nej';
 $wb['min_password_length_txt'] = 'Minsta lösenordslängd';
 $wb['min_password_strength_txt'] = 'Minsta lösenordsstyrka';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_tpl_default_admin.lng b/interface/web/admin/lib/lang/se_tpl_default_admin.lng
index d8989edcc4..88945588a3 100644
--- a/interface/web/admin/lib/lang/se_tpl_default_admin.lng
+++ b/interface/web/admin/lib/lang/se_tpl_default_admin.lng
@@ -16,4 +16,3 @@ $wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script';
 $wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
 $wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_users.lng b/interface/web/admin/lib/lang/se_users.lng
index 3acec5318e..9a819be74e 100644
--- a/interface/web/admin/lib/lang/se_users.lng
+++ b/interface/web/admin/lib/lang/se_users.lng
@@ -32,4 +32,3 @@ $wb['password_match_txt'] = 'Lösenorden matchar';
 $wb['username_error_collision'] = 'Användarnamnet får inte vara web  eller web och ett nummer';
 $wb['client_not_admin_err'] = 'En användare som tillhör en kund kan inte sättas som admin';
 ?>
-
diff --git a/interface/web/admin/lib/lang/se_users_list.lng b/interface/web/admin/lib/lang/se_users_list.lng
index f9ea803049..a6580d3089 100644
--- a/interface/web/admin/lib/lang/se_users_list.lng
+++ b/interface/web/admin/lib/lang/se_users_list.lng
@@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny användare';
 $wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
 $wb['groups_txt'] = 'Grupper';
 ?>
-
diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng
index de4573dd96..776357db68 100644
--- a/interface/web/admin/lib/lang/sk_server_config.lng
+++ b/interface/web/admin/lib/lang/sk_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng
index 5b2d389d78..6d6e05d552 100644
--- a/interface/web/admin/lib/lang/tr_server_config.lng
+++ b/interface/web/admin/lib/lang/tr_server_config.lng
@@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password';
 $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
 ?>
diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng
index d336b3b7eb..0c1ca59777 100644
--- a/interface/web/client/lib/lang/el_reseller.lng
+++ b/interface/web/client/lib/lang/el_reseller.lng
@@ -157,5 +157,5 @@ $wb['added_date_txt'] = 'Added date';
 $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
 $wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
 $wb['client_limits_txt'] = 'Client Limits';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
 ?>
diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng
index f37d32618c..2de8e0a5c0 100644
--- a/interface/web/client/lib/lang/fr_client.lng
+++ b/interface/web/client/lib/lang/fr_client.lng
@@ -139,7 +139,7 @@ $wb['email_error_isemail'] = 'Saisissez une adresse email valide.';
 $wb['customer_no_error_unique'] = 'Le numéro client doit être unique (ou vide).';
 $wb['paypal_email_error_isemail'] = 'Saisissez un compte Paypal valide.';
 $wb['paypal_email_txt'] = 'Compte Paypal';
-$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \"custom\" est sélectionné.';
+$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \\"custom\\" est sélectionné.';
 $wb['aps_limits_txt'] = 'Nombre max d\'Installeur APS';
 $wb['limit_aps_txt'] = 'Nombre max d\'instances APS';
 $wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre';
diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng
index c71020df3c..a4b0d62118 100644
--- a/interface/web/client/lib/lang/fr_reseller.lng
+++ b/interface/web/client/lib/lang/fr_reseller.lng
@@ -157,5 +157,5 @@ $wb['added_date_txt'] = 'Added date';
 $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
 $wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
 $wb['client_limits_txt'] = 'Client Limits';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
 ?>
diff --git a/interface/web/client/lib/lang/se.lng b/interface/web/client/lib/lang/se.lng
index 271f69d050..3f396d6465 100644
--- a/interface/web/client/lib/lang/se.lng
+++ b/interface/web/client/lib/lang/se.lng
@@ -24,4 +24,3 @@ $wb['error_domain_in webuse'] = 'Den här domänen kan inte tas bort då den anv
 $wb['error_client_can_not_add_domain'] = 'Du kan inte lägga till en ny domän';
 $wb['error_client_group_id_empty'] = 'Du måste välja en kund<br>';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng
index c8540a69d4..f6336149ce 100644
--- a/interface/web/client/lib/lang/se_client.lng
+++ b/interface/web/client/lib/lang/se_client.lng
@@ -139,7 +139,7 @@ $wb['email_error_isemail'] = 'Vänligen ange en giltig epostadress';
 $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
 $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
 $wb['paypal_email_txt'] = 'PayPal epostadress';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
 $wb['aps_limits_txt'] = 'APS Installer Limits';
 $wb['limit_aps_txt'] = 'Max. number of APS instances';
 $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
@@ -154,4 +154,3 @@ $wb['added_date_txt'] = 'Tillagd datum';
 $wb['parent_client_id_txt'] = 'Kund till återförsäljare';
 $wb['none_txt'] = 'ingen';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_circle.lng b/interface/web/client/lib/lang/se_client_circle.lng
index f30732ea01..df3c995116 100644
--- a/interface/web/client/lib/lang/se_client_circle.lng
+++ b/interface/web/client/lib/lang/se_client_circle.lng
@@ -7,4 +7,3 @@ $wb['client_ids_txt'] = 'Kunder/Återförsäljare';
 $wb['description_txt'] = 'BEskrivning';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_circle_list.lng b/interface/web/client/lib/lang/se_client_circle_list.lng
index 21ae4d6026..f98f551c51 100644
--- a/interface/web/client/lib/lang/se_client_circle_list.lng
+++ b/interface/web/client/lib/lang/se_client_circle_list.lng
@@ -8,4 +8,3 @@ $wb['filter_txt'] = 'Filter';
 $wb['delete_txt'] = 'Radera';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_del.lng b/interface/web/client/lib/lang/se_client_del.lng
index 9cf44fcfe1..99aa9d8a42 100644
--- a/interface/web/client/lib/lang/se_client_del.lng
+++ b/interface/web/client/lib/lang/se_client_del.lng
@@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Radera kunden';
 $wb['btn_cancel_txt'] = 'Avbryt utan att radera kunden';
 $wb['confirm_client_delete_txt'] = 'Är du säker på att du vill radera den här kunden?';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_message.lng b/interface/web/client/lib/lang/se_client_message.lng
index 625b0db7ad..e6f9aba919 100644
--- a/interface/web/client/lib/lang/se_client_message.lng
+++ b/interface/web/client/lib/lang/se_client_message.lng
@@ -18,4 +18,3 @@ $wb['variables_txt'] = 'Variabler:';
 $wb['gender_m_txt'] = 'Herr';
 $wb['gender_f_txt'] = 'Fru';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_message_template.lng b/interface/web/client/lib/lang/se_client_message_template.lng
index 3ff9480909..e406d37caf 100644
--- a/interface/web/client/lib/lang/se_client_message_template.lng
+++ b/interface/web/client/lib/lang/se_client_message_template.lng
@@ -9,4 +9,3 @@ $wb['variables_txt'] = 'Variabler';
 $wb['variables_description_txt'] = '(Användarnamn- och lösenordsvariablerna är endast tillgängliga i välkomstmail.)';
 $wb['duplicate_welcome_error'] = 'Det kan bara finnas en standardmall för välkomstmail. Vänligen redigera den existerande mallen istället för att lägga till en ny.';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_message_template_list.lng b/interface/web/client/lib/lang/se_client_message_template_list.lng
index f94a106973..088d2698eb 100644
--- a/interface/web/client/lib/lang/se_client_message_template_list.lng
+++ b/interface/web/client/lib/lang/se_client_message_template_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Epostmallar';
 $wb['template_type_txt'] = 'Meddelande till';
 $wb['template_name_txt'] = 'Mallnamn';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_template.lng b/interface/web/client/lib/lang/se_client_template.lng
index 12e4355439..353960c946 100644
--- a/interface/web/client/lib/lang/se_client_template.lng
+++ b/interface/web/client/lib/lang/se_client_template.lng
@@ -90,4 +90,3 @@ $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
 $wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
 $wb['client_limits_txt'] = 'Client Limits';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_client_template_list.lng b/interface/web/client/lib/lang/se_client_template_list.lng
index cc9d5d5a6b..b594337e7c 100644
--- a/interface/web/client/lib/lang/se_client_template_list.lng
+++ b/interface/web/client/lib/lang/se_client_template_list.lng
@@ -4,4 +4,3 @@ $wb['template_type_txt'] = 'Typ';
 $wb['template_name_txt'] = 'Mallnamn';
 $wb['template_id_txt'] = 'Mall-ID';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_clients_list.lng b/interface/web/client/lib/lang/se_clients_list.lng
index 89fe0edeef..263912f0d5 100644
--- a/interface/web/client/lib/lang/se_clients_list.lng
+++ b/interface/web/client/lib/lang/se_clients_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny kund';
 $wb['username_txt'] = 'Användarnamn';
 $wb['customer_no_txt'] = 'Kundnummer';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_domain.lng b/interface/web/client/lib/lang/se_domain.lng
index 7d648de16d..df60bbeca2 100644
--- a/interface/web/client/lib/lang/se_domain.lng
+++ b/interface/web/client/lib/lang/se_domain.lng
@@ -4,4 +4,3 @@ $wb['domain_error_unique'] = 'Domänen finns redan';
 $wb['domain_error_regex'] = 'Denna domän är ogiltig';
 $wb['Domain'] = 'Domän';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_domain_list.lng b/interface/web/client/lib/lang/se_domain_list.lng
index da7504fd45..1262367a9d 100644
--- a/interface/web/client/lib/lang/se_domain_list.lng
+++ b/interface/web/client/lib/lang/se_domain_list.lng
@@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny domän';
 $wb['domain_txt'] = 'Domän';
 $wb['user_txt'] = 'Kund';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_reseller.lng b/interface/web/client/lib/lang/se_reseller.lng
index de8f50456d..7fab36deea 100644
--- a/interface/web/client/lib/lang/se_reseller.lng
+++ b/interface/web/client/lib/lang/se_reseller.lng
@@ -159,4 +159,3 @@ $wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
 $wb['client_limits_txt'] = 'Client Limits';
 $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
 ?>
-
diff --git a/interface/web/client/lib/lang/se_resellers_list.lng b/interface/web/client/lib/lang/se_resellers_list.lng
index 3448e5cd4d..5e03807c7f 100644
--- a/interface/web/client/lib/lang/se_resellers_list.lng
+++ b/interface/web/client/lib/lang/se_resellers_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny återförsäljare';
 $wb['customer_no_txt'] = 'Kundnummer';
 $wb['username_txt'] = 'Användarnamn';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/se.lng b/interface/web/dashboard/lib/lang/se.lng
index 11700f0cac..307e9e1ca1 100644
--- a/interface/web/dashboard/lib/lang/se.lng
+++ b/interface/web/dashboard/lib/lang/se.lng
@@ -2,4 +2,3 @@
 $wb['welcome_user_txt'] = 'Välkommen %s';
 $wb['available_modules_txt'] = 'Tillgängliga moduler';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
index 49473b7a0f..9fbfe97cbd 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
@@ -28,4 +28,3 @@ $wb['limit_client_txt'] = 'Antal kunder';
 $wb['limit_database_txt'] = 'Antal databaser';
 $wb['limit_mailmailinglist_txt'] = 'Antal mailinglistor';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
index 883b2a5aff..1ed6f3f228 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
@@ -6,4 +6,3 @@ $wb['used_txt'] = 'Använt utrymme';
 $wb['quota_txt'] = 'Kvot';
 $wb['no_email_accounts_txt'] = 'Inga epostkonton hittades';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
index 4dff679c73..a6f9728044 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
@@ -1,4 +1,3 @@
 <?php
 $wb['available_modules_txt'] = 'Tillgängliga moduler';
 ?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
index 325b04dfff..7a9603b0f5 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
@@ -6,4 +6,3 @@ $wb['hard_txt'] = 'Hård gräns';
 $wb['soft_txt'] = 'Mjuk gräns';
 $wb['no_sites_txt'] = 'Ingen webbsida hittades.';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se.lng b/interface/web/designer/lib/lang/se.lng
index 29f4a51efe..acb6c3546c 100644
--- a/interface/web/designer/lib/lang/se.lng
+++ b/interface/web/designer/lib/lang/se.lng
@@ -1,3 +1,2 @@
 <?php
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_form_edit.lng b/interface/web/designer/lib/lang/se_form_edit.lng
index 72d80e52ec..1a3a831ff0 100644
--- a/interface/web/designer/lib/lang/se_form_edit.lng
+++ b/interface/web/designer/lib/lang/se_form_edit.lng
@@ -22,4 +22,3 @@ $wb['auth_preset_perm_user_txt'] = 'Beh. Användare';
 $wb['auth_preset_perm_group_txt'] = 'Beh. Grupp';
 $wb['auth_preset_perm_other_txt'] = 'Beh. Andra';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_form_list.lng b/interface/web/designer/lib/lang/se_form_list.lng
index 7951bb77b3..10f41870b9 100644
--- a/interface/web/designer/lib/lang/se_form_list.lng
+++ b/interface/web/designer/lib/lang/se_form_list.lng
@@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul';
 $wb['title_txt'] = 'Titel';
 $wb['description_txt'] = 'Beskrivning';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_form_show.lng b/interface/web/designer/lib/lang/se_form_show.lng
index 1d5de499b0..3e21d62ef4 100644
--- a/interface/web/designer/lib/lang/se_form_show.lng
+++ b/interface/web/designer/lib/lang/se_form_show.lng
@@ -16,4 +16,3 @@ $wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
 $wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
 $wb['item_del_txt'] = 'Ta bort menyinnehåll?';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_module_edit.lng b/interface/web/designer/lib/lang/se_module_edit.lng
index 992a0747c1..ba828ebbfc 100644
--- a/interface/web/designer/lib/lang/se_module_edit.lng
+++ b/interface/web/designer/lib/lang/se_module_edit.lng
@@ -10,4 +10,3 @@ $wb['cancel_txt'] = 'Avbryt';
 $wb['header_txt'] = 'Modulinställningar';
 $wb['description_txt'] = '<b>Description</b><br><br><b>Modulename:</b> Namn på modul mappen. Endast siffror, bokstäver och understreck är tillåtna.<br><b>Moduletitle:</b> Kommer att visas i (övre) huvud navigerigsramen.<br><b>Template file:</b> Mall fil för modulen. Just nu finns: module.tpl.htm och module_tree.tpl.htm. Standard är module.tpl.htm.<br><b>NaviFrame:</b> Om module module_tree.tpl.htm väljs som mall file, skriv här sökvägen till skriptfilen för den vänstra ramen.<br><b>Default page:</b> Dessa sidor kommer att visas när modulen öppnas.<br><b>Tab width:</b> Bredd på Flikarna i huvud navigerings ramen. Detta fält är tomt som standard. Du kan skriva in ett absolutvärde i pixlar (ex. 20) eller relativt värde (ex. 20%).<br><b>Hint:</b> Alla sökvägar är relativa till mappen web.';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_module_list.lng b/interface/web/designer/lib/lang/se_module_list.lng
index d8408e28e4..47ff228608 100644
--- a/interface/web/designer/lib/lang/se_module_list.lng
+++ b/interface/web/designer/lib/lang/se_module_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Huvudmodul';
 $wb['module_txt'] = 'Modul';
 $wb['title_txt'] = 'Titel';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_module_nav_edit.lng b/interface/web/designer/lib/lang/se_module_nav_edit.lng
index 28bf0ac905..468f8d8ebe 100644
--- a/interface/web/designer/lib/lang/se_module_nav_edit.lng
+++ b/interface/web/designer/lib/lang/se_module_nav_edit.lng
@@ -4,4 +4,3 @@ $wb['header_txt'] = 'Nav-egenskaper';
 $wb['save_txt'] = 'Spara';
 $wb['cancel_txt'] = 'Avbryt';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
index b9f8639832..f5df090578 100644
--- a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
+++ b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
@@ -6,4 +6,3 @@ $wb['header_txt'] = 'Nav. egenskaper';
 $wb['save_txt'] = 'Spara';
 $wb['cancel_txt'] = 'Avbryt';
 ?>
-
diff --git a/interface/web/designer/lib/lang/se_module_show.lng b/interface/web/designer/lib/lang/se_module_show.lng
index 497a62ddf6..391947cba0 100644
--- a/interface/web/designer/lib/lang/se_module_show.lng
+++ b/interface/web/designer/lib/lang/se_module_show.lng
@@ -14,4 +14,3 @@ $wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
 $wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
 $wb['item_del_txt'] = 'Ta bort menyinnehåll?';
 ?>
-
diff --git a/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se.lng b/interface/web/dns/lib/lang/se.lng
index 80c391890a..4f443f079e 100644
--- a/interface/web/dns/lib/lang/se.lng
+++ b/interface/web/dns/lib/lang/se.lng
@@ -20,4 +20,3 @@ $wb['Templates'] = 'Mallar';
 $wb['Secondary Zones'] = 'Sekundära zoner';
 $wb['Import Zone File'] = 'Importera  zonfiler';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_a.lng b/interface/web/dns/lib/lang/se_dns_a.lng
index a69314db68..7dcfc37ca2 100644
--- a/interface/web/dns/lib/lang/se_dns_a.lng
+++ b/interface/web/dns/lib/lang/se_dns_a.lng
@@ -15,4 +15,3 @@ $wb['data_error_regex'] = 'IP-Address format invalid';
 $wb['data_error_duplicate'] = 'Duplicate A-Record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_a_list.lng b/interface/web/dns/lib/lang/se_dns_a_list.lng
index b92f4c0f64..3fa1e7f8a7 100644
--- a/interface/web/dns/lib/lang/se_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_a_list.lng
@@ -13,4 +13,3 @@ $wb['page_txt'] = 'Page';
 $wb['page_of_txt'] = 'of';
 $wb['delete_confirmation'] = 'Do you really want to delete this record?';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_aaaa.lng b/interface/web/dns/lib/lang/se_dns_aaaa.lng
index a8cfbf1ed1..b4c5b279be 100644
--- a/interface/web/dns/lib/lang/se_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/se_dns_aaaa.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'IP-Address empty';
 $wb['data_error_regex'] = 'IP-Address format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_alias.lng b/interface/web/dns/lib/lang/se_dns_alias.lng
index 05c3f629d9..bd4be9f219 100644
--- a/interface/web/dns/lib/lang/se_dns_alias.lng
+++ b/interface/web/dns/lib/lang/se_dns_alias.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Target hostname empty';
 $wb['data_error_regex'] = 'Target hostname format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_cname.lng b/interface/web/dns/lib/lang/se_dns_cname.lng
index b4e8ae1abd..b7ceb5d9c9 100644
--- a/interface/web/dns/lib/lang/se_dns_cname.lng
+++ b/interface/web/dns/lib/lang/se_dns_cname.lng
@@ -15,4 +15,3 @@ $wb['data_error_regex'] = 'Target hostname format invalid';
 $wb['data_error_duplicate'] = 'Duplicate A-Record or CNAME-Record';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_hinfo.lng b/interface/web/dns/lib/lang/se_dns_hinfo.lng
index df19a84913..937bd9b4ac 100644
--- a/interface/web/dns/lib/lang/se_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/se_dns_hinfo.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Host information empty';
 $wb['data_error_regex'] = 'Host Information format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_import.lng b/interface/web/dns/lib/lang/se_dns_import.lng
index aea47ba1e9..4d703fa868 100644
--- a/interface/web/dns/lib/lang/se_dns_import.lng
+++ b/interface/web/dns/lib/lang/se_dns_import.lng
@@ -12,4 +12,3 @@ $wb['title'] = 'Importera zonfiler';
 $wb['no_file_uploaded_error'] = 'Ingen zonfil uppladdad';
 $wb['zone_file_import_txt'] = 'Zonfilsimport';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_mx.lng b/interface/web/dns/lib/lang/se_dns_mx.lng
index 0bfc2348ff..58921d35fc 100644
--- a/interface/web/dns/lib/lang/se_dns_mx.lng
+++ b/interface/web/dns/lib/lang/se_dns_mx.lng
@@ -16,4 +16,3 @@ $wb['data_error_regex'] = 'Mailserver hostname format invalid';
 $wb['duplicate_mx_record_txt'] = 'Duplicate MX record.';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_ns.lng b/interface/web/dns/lib/lang/se_dns_ns.lng
index 2ce51da7b9..d8d652cc5a 100644
--- a/interface/web/dns/lib/lang/se_dns_ns.lng
+++ b/interface/web/dns/lib/lang/se_dns_ns.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Namnserver tom';
 $wb['data_error_regex'] = 'Namnserverformatet är ogiltigt';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_ptr.lng b/interface/web/dns/lib/lang/se_dns_ptr.lng
index 6c42a8f94a..254b45c070 100644
--- a/interface/web/dns/lib/lang/se_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/se_dns_ptr.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Canonical hostname empty';
 $wb['data_error_regex'] = 'Canonical hostname format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_rp.lng b/interface/web/dns/lib/lang/se_dns_rp.lng
index e37bc8f93e..91c4f07bd9 100644
--- a/interface/web/dns/lib/lang/se_dns_rp.lng
+++ b/interface/web/dns/lib/lang/se_dns_rp.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Responsible person field empty';
 $wb['data_error_regex'] = 'Responsible person field format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_slave.lng b/interface/web/dns/lib/lang/se_dns_slave.lng
index 254f360d37..c426df7ed5 100644
--- a/interface/web/dns/lib/lang/se_dns_slave.lng
+++ b/interface/web/dns/lib/lang/se_dns_slave.lng
@@ -15,4 +15,3 @@ $wb['eg_domain_tld'] = 'e.g. domain.tld.';
 $wb['ipv4_form_txt'] = 'IPv4 form - e.g. 1.2.3.4';
 $wb['secondary_zone_txt'] = 'Secondary DNS Zone';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se_dns_slave_list.lng b/interface/web/dns/lib/lang/se_dns_slave_list.lng
index 6e7951de27..4ced2ddb59 100644
--- a/interface/web/dns/lib/lang/se_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_slave_list.lng
@@ -7,4 +7,3 @@ $wb['ns_txt'] = 'NS';
 $wb['add_new_record_txt'] = 'Add new secondary DNS Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_soa.lng b/interface/web/dns/lib/lang/se_dns_soa.lng
index 4f2eefabcb..935211a060 100644
--- a/interface/web/dns/lib/lang/se_dns_soa.lng
+++ b/interface/web/dns/lib/lang/se_dns_soa.lng
@@ -36,4 +36,3 @@ $wb['minimum_range_error'] = 'Min. Minimum time is 60 seconds.';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 $wb['xfer_error_regex'] = 'Also notify: Please use an IP address.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se_dns_soa_list.lng b/interface/web/dns/lib/lang/se_dns_soa_list.lng
index b534641c1d..da7b8e28d2 100644
--- a/interface/web/dns/lib/lang/se_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_soa_list.lng
@@ -8,4 +8,3 @@ $wb['mbox_txt'] = 'Email';
 $wb['add_new_record_txt'] = 'Add new DNS Zone (SOA)';
 $wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_srv.lng b/interface/web/dns/lib/lang/se_dns_srv.lng
index fae1b70186..866f44dab3 100644
--- a/interface/web/dns/lib/lang/se_dns_srv.lng
+++ b/interface/web/dns/lib/lang/se_dns_srv.lng
@@ -18,4 +18,3 @@ $wb['srv_error_regex'] = 'Invalid server record format. The server record must c
 $wb['aux_txt'] = 'Priority';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_template.lng b/interface/web/dns/lib/lang/se_dns_template.lng
index 6fd5b5c498..516d5c2759 100644
--- a/interface/web/dns/lib/lang/se_dns_template.lng
+++ b/interface/web/dns/lib/lang/se_dns_template.lng
@@ -4,4 +4,3 @@ $wb['fields_txt'] = 'Fält';
 $wb['template_txt'] = 'Mall';
 $wb['visible_txt'] = 'Synlig';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_template_list.lng b/interface/web/dns/lib/lang/se_dns_template_list.lng
index 120335f511..8d9d730e50 100644
--- a/interface/web/dns/lib/lang/se_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_template_list.lng
@@ -4,4 +4,3 @@ $wb['visible_txt'] = 'Visible';
 $wb['name_txt'] = 'Name';
 $wb['add_new_record_txt'] = 'Add new record';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_txt.lng b/interface/web/dns/lib/lang/se_dns_txt.lng
index 0fc9b2515a..31da6ebf1a 100644
--- a/interface/web/dns/lib/lang/se_dns_txt.lng
+++ b/interface/web/dns/lib/lang/se_dns_txt.lng
@@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Text empty';
 $wb['data_error_regex'] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_wizard.lng b/interface/web/dns/lib/lang/se_dns_wizard.lng
index 3bb0a63f3a..52955fdcc3 100644
--- a/interface/web/dns/lib/lang/se_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/se_dns_wizard.lng
@@ -36,4 +36,3 @@ $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['list_head_txt'] = 'DNS Zone Wizard';
 $wb['list_desc_txt'] = 'Create a DNS Zone via a wizard';
 ?>
-
diff --git a/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
new file mode 100644
index 0000000000..43f67783ce
--- /dev/null
+++ b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
new file mode 100644
index 0000000000..44cec900b9
--- /dev/null
+++ b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/help/lib/lang/se.lng b/interface/web/help/lib/lang/se.lng
index e09625785d..58fe6a006c 100644
--- a/interface/web/help/lib/lang/se.lng
+++ b/interface/web/help/lib/lang/se.lng
@@ -12,4 +12,3 @@ $wb['Manage Sections'] = 'Hantera kategorier';
 $wb['Add a Question & Answer Pair'] = 'Lägg till fråga och svar';
 $wb['Manage Questions'] = 'Hantera frågor';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_faq_form.lng b/interface/web/help/lib/lang/se_faq_form.lng
index 743e02d5eb..5a7f384831 100644
--- a/interface/web/help/lib/lang/se_faq_form.lng
+++ b/interface/web/help/lib/lang/se_faq_form.lng
@@ -4,4 +4,3 @@ $wb['faq_question_txt'] = 'Fråga';
 $wb['faq_answer_txt'] = 'Svar';
 $wb['faq_section_txt'] = 'Kategori';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
index c8021763a5..d615cdabf5 100644
--- a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
+++ b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
@@ -7,4 +7,3 @@ $wb['faq_sections_txt'] = 'Kategori';
 $wb['faq_faq_questions_txt'] = 'Vanliga frågor';
 $wb['faq_new_question_txt'] = 'Lägg till ny fråga och svar';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_faq_sections_form.lng b/interface/web/help/lib/lang/se_faq_sections_form.lng
index 9367eeb9fd..5cc812f8e9 100644
--- a/interface/web/help/lib/lang/se_faq_sections_form.lng
+++ b/interface/web/help/lib/lang/se_faq_sections_form.lng
@@ -1,4 +1,3 @@
 <?php
 $wb['faq_section_name_txt'] = 'Kategorinamn';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_help_faq_list.lng b/interface/web/help/lib/lang/se_help_faq_list.lng
index c8aebaf36d..bc1d42103a 100644
--- a/interface/web/help/lib/lang/se_help_faq_list.lng
+++ b/interface/web/help/lib/lang/se_help_faq_list.lng
@@ -1,4 +1,3 @@
 <?php
 $wb['edit_txt'] = 'Redigera';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_help_faq_sections_list.lng b/interface/web/help/lib/lang/se_help_faq_sections_list.lng
index 021feb36f3..5ea1a7163f 100644
--- a/interface/web/help/lib/lang/se_help_faq_sections_list.lng
+++ b/interface/web/help/lib/lang/se_help_faq_sections_list.lng
@@ -6,4 +6,3 @@ $wb['faq_sections_txt'] = 'Kategori';
 $wb['faq_faq_sections_txt'] = 'FAQ-kategorier';
 $wb['faq_new_section_txt'] = 'Lägg till ny kategori';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_support_message.lng b/interface/web/help/lib/lang/se_support_message.lng
index 0de8420416..b3cefaa1a0 100644
--- a/interface/web/help/lib/lang/se_support_message.lng
+++ b/interface/web/help/lib/lang/se_support_message.lng
@@ -13,4 +13,3 @@ $wb['answer_to_support_request_sent_txt'] = 'Your reply to the support request h
 $wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.';
 $wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.';
 ?>
-
diff --git a/interface/web/help/lib/lang/se_support_message_list.lng b/interface/web/help/lib/lang/se_support_message_list.lng
index f68bb58088..af9663f7bd 100644
--- a/interface/web/help/lib/lang/se_support_message_list.lng
+++ b/interface/web/help/lib/lang/se_support_message_list.lng
@@ -5,4 +5,3 @@ $wb['subject_txt'] = 'Ämne';
 $wb['add_new_record_txt'] = 'Skapa nyttt supportmeddelande';
 $wb['date_txt'] = 'Datum';
 ?>
-
diff --git a/interface/web/login/lib/lang/se.lng b/interface/web/login/lib/lang/se.lng
index e3301e086e..aeb58b1588 100644
--- a/interface/web/login/lib/lang/se.lng
+++ b/interface/web/login/lib/lang/se.lng
@@ -25,4 +25,3 @@ $wb['back_txt'] = 'Tillbaka';
 $wb['email_error'] = 'Epostadressen innehåller otillåtna tecken eller är felformatterad.';
 $wb['stay_logged_in_txt'] = 'HÃ¥ll mig inloggad';
 ?>
-
diff --git a/interface/web/login/lib/lang/se_login_as.lng b/interface/web/login/lib/lang/se_login_as.lng
index e831784766..fea3abca03 100644
--- a/interface/web/login/lib/lang/se_login_as.lng
+++ b/interface/web/login/lib/lang/se_login_as.lng
@@ -1,12 +1,11 @@
 <?php
 $wb['login_1_txt'] = 'Vill du loggga in som användare';
-$wb['login_2_txt'] = 'If you do so, you can "go back" by clicking at logout.';
+$wb['login_2_txt'] = 'If you do so, you can \"go back\" by clicking at logout.';
 $wb['btn_yes_txt'] = 'Ja, logga in som kund';
 $wb['btn_back_txt'] = 'Nej, tillbaka till listan';
 $wb['udp_port_help_txt'] = 'Avdelade med kommatecken';
 $wb['active_txt'] = 'Aktiv';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \":\" and \",\".';
+$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \":\" and \",\".';
 ?>
-
diff --git a/interface/web/mail/lib/lang/fr_mail_get.lng b/interface/web/mail/lib/lang/fr_mail_get.lng
index 6779ce3c42..934af5e2e7 100644
--- a/interface/web/mail/lib/lang/fr_mail_get.lng
+++ b/interface/web/mail/lib/lang/fr_mail_get.lng
@@ -14,6 +14,6 @@ $wb['source_password_error_isempty'] = 'Le mot de passe est vide.';
 $wb['destination_error_isemail'] = 'Pas de destination sélectionnée.';
 $wb['source_server_error_regex'] = 'Le serveur POP3 / IMAP n\'est pas un nom de domaine valide.';
 $wb['source_read_all_txt'] = 'Récupérer tous les emails (incl. les emails lus)';
-$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \"Supprimer les emails après récupération\" = non avec \"Récupérer tous les emails\" = oui';
+$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \\"Supprimer les emails après récupération\\" = non avec \\"Récupérer tous les emails\\" = oui';
 $wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
 ?>
diff --git a/interface/web/mail/lib/lang/se.lng b/interface/web/mail/lib/lang/se.lng
index 6542378057..3edc2034d0 100644
--- a/interface/web/mail/lib/lang/se.lng
+++ b/interface/web/mail/lib/lang/se.lng
@@ -46,4 +46,3 @@ $wb['Domain Alias'] = 'Domain Alias';
 $wb['Relay Recipients'] = 'Relay Recipients';
 $wb['Mailbox quota'] = 'Mailbox quota';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_alias.lng b/interface/web/mail/lib/lang/se_mail_alias.lng
index 4dc4e255f9..e0f6135c03 100644
--- a/interface/web/mail/lib/lang/se_mail_alias.lng
+++ b/interface/web/mail/lib/lang/se_mail_alias.lng
@@ -12,4 +12,3 @@ $wb['domain_txt'] = 'Domän';
 $wb['duplicate_email_alias_txt'] = 'Detta epostalias finns redan';
 $wb['source_txt'] = 'Alias';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_alias_list.lng b/interface/web/mail/lib/lang/se_mail_alias_list.lng
index e72d91bdde..3b63170e45 100644
--- a/interface/web/mail/lib/lang/se_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_alias_list.lng
@@ -6,4 +6,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['source_txt'] = 'Källa';
 $wb['add_new_record_txt'] = 'Lägg till nytt epostalias';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
index 9a2c5c39aa..e2105fb2b5 100644
--- a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
@@ -9,4 +9,3 @@ $wb['source_error_empty'] = 'Källdomän är tomt.';
 $wb['source_error_unique'] = 'Källdomänen finns redan.';
 $wb['source_error_regex'] = 'Ogiltig källdomän..';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
index d04d8cd789..e8740393db 100644
--- a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
@@ -5,4 +5,3 @@ $wb['source_txt'] = 'Källa';
 $wb['destination_txt'] = 'Destination';
 $wb['add_new_record_txt'] = 'Lägg till nytt domänalias';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_blacklist.lng b/interface/web/mail/lib/lang/se_mail_blacklist.lng
index 70b1be58d3..34b1f76db9 100644
--- a/interface/web/mail/lib/lang/se_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/se_mail_blacklist.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressfältet är tomt.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
index d3da0de6d5..158b989ad3 100644
--- a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
@@ -8,4 +8,3 @@ $wb['type_txt'] = 'Typ';
 $wb['recipient_txt'] = 'Mottagare';
 $wb['access_txt'] = 'Ã¥tkomst';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_content_filter.lng b/interface/web/mail/lib/lang/se_mail_content_filter.lng
index c7fb5954fa..2f82e76e86 100644
--- a/interface/web/mail/lib/lang/se_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/se_mail_content_filter.lng
@@ -7,4 +7,3 @@ $wb['action_txt'] = 'Händelse';
 $wb['active_txt'] = 'Aktiv';
 $wb['pattern_error_empty'] = 'Matchningsfältet är tomt.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
index c612f9b37b..6eac1932c6 100644
--- a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
@@ -6,4 +6,3 @@ $wb['pattern_txt'] = 'Mönster';
 $wb['action_txt'] = 'Händelse';
 $wb['add_new_record_txt'] = 'Lägg till nytt innehållsfilter';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain.lng b/interface/web/mail/lib/lang/se_mail_domain.lng
index e07dd25f08..295d10a31f 100644
--- a/interface/web/mail/lib/lang/se_mail_domain.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain.lng
@@ -11,4 +11,3 @@ $wb['limit_maildomain_txt'] = 'Det maximala antalet epostdomäner för ditt kont
 $wb['policy_txt'] = 'Spamfilter';
 $wb['no_policy'] = '- ej aktiverat -';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
index bf8cd12ee0..a4a203d7b9 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
@@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny domän';
 $wb['active_txt'] = 'Aktiv';
 $wb['sys_groupid_txt'] = 'Kund';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
index 9e03e6954b..7ef1116390 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
@@ -9,4 +9,3 @@ $wb['limit_mailcatchall_txt'] = 'Det maximala antalet catchall-adresser för dit
 $wb['source_txt'] = 'Källa';
 $wb['destination_error_isemail'] = 'Destinationen när inte en giltig epostadress.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
index 0e6958eb58..51789ee522 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
@@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny catchall';
 $wb['active_txt'] = 'Aktiv';
 $wb['source_txt'] = 'källa';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_list.lng b/interface/web/mail/lib/lang/se_mail_domain_list.lng
index 96120f5b7d..4f3b5488f7 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_list.lng
@@ -5,4 +5,3 @@ $wb['domain_txt'] = 'Domän';
 $wb['add_new_record_txt'] = 'Lägg till ny domän';
 $wb['active_txt'] = 'Aktiv';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_forward.lng b/interface/web/mail/lib/lang/se_mail_forward.lng
index 511e0b69ab..af583f0474 100644
--- a/interface/web/mail/lib/lang/se_mail_forward.lng
+++ b/interface/web/mail/lib/lang/se_mail_forward.lng
@@ -7,4 +7,3 @@ $wb['duplicate_mailbox_txt'] = 'Det finns redan ett epostkonto med denna adress'
 $wb['domain_txt'] = 'Domän';
 $wb['source_txt'] = 'Källadress';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_forward_list.lng b/interface/web/mail/lib/lang/se_mail_forward_list.lng
index f271306937..e1d7464baa 100644
--- a/interface/web/mail/lib/lang/se_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_forward_list.lng
@@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Mottagare';
 $wb['add_new_record_txt'] = 'Lägg till ny vidarebefordran';
 $wb['source_txt'] = 'källa';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_get.lng b/interface/web/mail/lib/lang/se_mail_get.lng
index f15208cdcb..db4440210e 100644
--- a/interface/web/mail/lib/lang/se_mail_get.lng
+++ b/interface/web/mail/lib/lang/se_mail_get.lng
@@ -14,7 +14,6 @@ $wb['source_password_error_isempty'] = 'Lösenord är tomt.';
 $wb['destination_error_isemail'] = 'Ingen destination vald.';
 $wb['source_server_error_regex'] = 'POP3-/Imapserver är inte ett giltigt domännamn.';
 $wb['source_read_all_txt'] = 'Hämta all epost (även läst epost)';
-$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use "Delete emails after retrieval" = no together with "Retrieve all emails" = yes';
+$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \"Delete emails after retrieval\" = no together with \"Retrieve all emails\" = yes';
 $wb['source_delete_note_txt'] = 'Vänligen kontrollera först om eposthämtning fungerar innan du aktiverar detta val..';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_get_list.lng b/interface/web/mail/lib/lang/se_mail_get_list.lng
index 0d06cadd58..9369095102 100644
--- a/interface/web/mail/lib/lang/se_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_get_list.lng
@@ -7,4 +7,3 @@ $wb['source_username_txt'] = 'Användarnamn';
 $wb['destination_txt'] = 'Destination';
 $wb['add_new_record_txt'] = 'Lägg till nytt konto';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist.lng b/interface/web/mail/lib/lang/se_mail_mailinglist.lng
index 68a713097f..e7f927b4a8 100644
--- a/interface/web/mail/lib/lang/se_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/se_mail_mailinglist.lng
@@ -20,4 +20,3 @@ $wb['listname_error_unique'] = 'There is already a mailinlist with name on the s
 $wb['email_error_isemail'] = 'Epostadressen är ogiltig';
 $wb['mailinglist_txt'] = 'Epostlista';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
index 11a82be460..2e9f364414 100644
--- a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Epostlista';
 $wb['domain_txt'] = 'Domän';
 $wb['listname_txt'] = 'Listnamn';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
index ffb64adefd..75061987ea 100644
--- a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressfältet är tomt.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
index 4c34ebfe69..c9176c7dbd 100644
--- a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
@@ -7,4 +7,3 @@ $wb['recipient_txt'] = 'Mottagare';
 $wb['add_new_record_txt'] = 'Lägg till ny relämottagare';
 $wb['access_txt'] = 'Ã¥tkomst';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter.lng b/interface/web/mail/lib/lang/se_mail_spamfilter.lng
index 3080425959..c83f09c974 100644
--- a/interface/web/mail/lib/lang/se_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/se_mail_spamfilter.lng
@@ -15,4 +15,3 @@ $wb['email_error_unique'] = 'Det finns redan ett spamfilterinlägg för den här
 $wb['spam_redirect_maildir_purge_txt'] = 'Töm mappen efter';
 $wb['days_txt'] = 'Dagar';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
index 407d5163e9..2c361e1356 100644
--- a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
@@ -6,4 +6,3 @@ $wb['server_name_txt'] = 'servernamn';
 $wb['email_txt'] = 'Epost';
 $wb['add_new_record_txt'] = 'Lägg till nytt spamfilter';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_transport.lng b/interface/web/mail/lib/lang/se_mail_transport.lng
index 198f8075fe..70e26b78f9 100644
--- a/interface/web/mail/lib/lang/se_mail_transport.lng
+++ b/interface/web/mail/lib/lang/se_mail_transport.lng
@@ -9,4 +9,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['limit_mailrouting_txt'] = 'Det maximala antalet epostrutter för ditt konto är uppnått.';
 $wb['transport_txt'] = 'Transport';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_transport_list.lng b/interface/web/mail/lib/lang/se_mail_transport_list.lng
index 63474a881a..2ce6dd8cdf 100644
--- a/interface/web/mail/lib/lang/se_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_transport_list.lng
@@ -7,4 +7,3 @@ $wb['transport_txt'] = 'Transport';
 $wb['sort_order_txt'] = 'Sortera på';
 $wb['add_new_record_txt'] = 'Lägg till ny transport';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user.lng b/interface/web/mail/lib/lang/se_mail_user.lng
index 62be339c0b..d6df113077 100644
--- a/interface/web/mail/lib/lang/se_mail_user.lng
+++ b/interface/web/mail/lib/lang/se_mail_user.lng
@@ -51,4 +51,3 @@ $wb['email_error_isascii'] = 'Please do not use special unicode characters for y
 $wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
 $wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_filter.lng b/interface/web/mail/lib/lang/se_mail_user_filter.lng
index ed9574fe72..e6e62decf6 100644
--- a/interface/web/mail/lib/lang/se_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Slutar med';
 $wb['move_to_txt'] = 'Flytta till';
 $wb['delete_txt'] = 'Radera';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
index 7825393aeb..7d6e0c5004 100644
--- a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
@@ -5,4 +5,3 @@ $wb['page_txt'] = 'Sida';
 $wb['page_of_txt'] = 'av';
 $wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_list.lng b/interface/web/mail/lib/lang/se_mail_user_list.lng
index f18bc713a8..af96af83ce 100644
--- a/interface/web/mail/lib/lang/se_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_list.lng
@@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Lägg till nytt epostkonto';
 $wb['name_txt'] = 'Riktigt namn';
 $wb['login_txt'] = 'Logga in';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
index 1bec4d4b0d..de6afd7c51 100644
--- a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
@@ -6,4 +6,3 @@ $wb['last_month_txt'] = 'Föregående månad';
 $wb['this_year_txt'] = 'I år';
 $wb['last_year_txt'] = 'Föregående år';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_whitelist.lng b/interface/web/mail/lib/lang/se_mail_whitelist.lng
index 40eaf8693d..7ce682ff6b 100644
--- a/interface/web/mail/lib/lang/se_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/se_mail_whitelist.lng
@@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressen är tom.';
 $wb['type_txt'] = 'Typ';
 $wb['limit_mailfilter_txt'] = 'Maximala antalet epostfilter för ditt konto är uppnått.';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
index a9f52a8daf..f72e8e290d 100644
--- a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
@@ -8,4 +8,3 @@ $wb['type_txt'] = 'Typ';
 $wb['recipient_txt'] = 'Mottagare';
 $wb['access_txt'] = 'Ã¥tkomst';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
index 2839c6ce27..873e43d073 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
@@ -10,4 +10,3 @@ $wb['10 - highest'] = '10 - högsta';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lägsta';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
index edf0842411..d5cac76f10 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
@@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Användare';
 $wb['email_txt'] = 'Vitlistad epostadress';
 $wb['add_new_record_txt'] = 'Lägg till svartlistning';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_config.lng b/interface/web/mail/lib/lang/se_spamfilter_config.lng
index ebfedb3fdd..a67fb5b2d5 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_config.lng
@@ -18,4 +18,3 @@ $wb['relayhost_password_txt'] = 'Relayhost Password';
 $wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit';
 $wb['message_size_limit_txt'] = 'Message Size Limit';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
index 52b398babc..9d2ec141f1 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration';
 $wb['server_name_txt'] = 'Server';
 $wb['server_id_txt'] = 'server_id';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy.lng b/interface/web/mail/lib/lang/se_spamfilter_policy.lng
index d5a429b17e..e876330a68 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_policy.lng
@@ -36,4 +36,3 @@ $wb['spam_admin_txt'] = 'SPAM admin';
 $wb['message_size_limit_txt'] = 'Message size limit';
 $wb['banned_rulenames_txt'] = 'Banned rulenames';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
index da678a48f2..04491ae4cd 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
@@ -7,4 +7,3 @@ $wb['banned_files_lover_txt'] = 'Banned Files lover';
 $wb['bad_header_lover_txt'] = 'Bad Header lover';
 $wb['add_new_record_txt'] = 'Add Policy record';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_users.lng b/interface/web/mail/lib/lang/se_spamfilter_users.lng
index babb3048e7..ba3b60e273 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_users.lng
@@ -11,4 +11,3 @@ $wb['10 - highest'] = '10 - högsta';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lägsta';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
index 830ac39c31..4ff87848e7 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
@@ -8,4 +8,3 @@ $wb['fullname_txt'] = 'Namn';
 $wb['email_txt'] = 'Epost';
 $wb['add_new_record_txt'] = 'Lägg till spamfilteranvändare';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
index 2839c6ce27..873e43d073 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
@@ -10,4 +10,3 @@ $wb['10 - highest'] = '10 - högsta';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lägsta';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
index 00185a0909..080ec2760b 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
@@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Användare';
 $wb['email_txt'] = 'Vitlistad epostadress';
 $wb['add_new_record_txt'] = 'Lägg till vitlistning';
 ?>
-
diff --git a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
index 380cf5bf5f..dc57c61c8d 100755
--- a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
+++ b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
@@ -6,4 +6,3 @@ $wb['email_txt'] = 'Epostadress';
 $wb['used_txt'] = 'Använt utrymme';
 $wb['percentage_txt'] = 'Använt %';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se.lng b/interface/web/mailuser/lib/lang/se.lng
index f9e6f5bbd8..b0d55d478a 100644
--- a/interface/web/mailuser/lib/lang/se.lng
+++ b/interface/web/mailuser/lib/lang/se.lng
@@ -7,4 +7,3 @@ $wb['Send copy'] = 'Skicka kopia';
 $wb['Spamfilter'] = 'Spamfilter';
 $wb['Email Filters'] = 'Epostfilter';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_index.lng b/interface/web/mailuser/lib/lang/se_index.lng
index a23c6a6568..785507b292 100644
--- a/interface/web/mailuser/lib/lang/se_index.lng
+++ b/interface/web/mailuser/lib/lang/se_index.lng
@@ -10,4 +10,3 @@ $wb['unlimited_txt'] = 'Obegränsat';
 $wb['mb_txt'] = 'MB';
 $wb['none_txt'] = 'Inget';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
index 9429978911..4a9215c884 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
@@ -11,4 +11,3 @@ $wb['autoresponder_active'] = 'Aktivera autosvaret';
 $wb['now_txt'] = 'Nu';
 $wb['autoresponder_subject_txt'] = 'Ämnesrad';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
index 203a9284c7..b01ae1b1ab 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
@@ -7,4 +7,3 @@ $wb['email_is_cc_error'] = 'Epostadress och -Skicka kopia till- kan inte vara sa
 $wb['name_optional_txt'] = '(Frivilligt)';
 $wb['cc_note_txt'] = '(Separera flera epostadresser med kommatecken)';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
index 17da57ac76..8cf96ce86f 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Slutar med';
 $wb['move_to_txt'] = 'Flytta till';
 $wb['delete_txt'] = 'Radera';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
index f4f757ddc4..c21eef0550 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
@@ -6,4 +6,3 @@ $wb['page_txt'] = 'Sida';
 $wb['page_of_txt'] = 'av';
 $wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_password.lng b/interface/web/mailuser/lib/lang/se_mail_user_password.lng
index 27ebb37050..c78430162a 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_password.lng
@@ -8,4 +8,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord';
 $wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
 $wb['password_match_txt'] = 'Lösenorden matchar';
 ?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
index e457b5a016..7ec5f2a7d8 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
@@ -5,4 +5,3 @@ $wb['email_txt'] = 'Epost';
 $wb['no_policy'] = '- ej aktiverat -';
 $wb['policy_txt'] = 'Policy';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/se.lng b/interface/web/monitor/lib/lang/se.lng
index 0df65289b6..b550f80a35 100644
--- a/interface/web/monitor/lib/lang/se.lng
+++ b/interface/web/monitor/lib/lang/se.lng
@@ -153,4 +153,3 @@ $wb['Show Munin'] = 'Visa Munin';
 $wb['no_munin_url_defined_txt'] = 'Ingen Munin-URL definierad.';
 $wb['no_permissions_to_view_munin_txt'] = 'Du har inte behörighet att visa Munin.';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/se_datalog_list.lng b/interface/web/monitor/lib/lang/se_datalog_list.lng
index 527b14993a..e3e76ea7dd 100644
--- a/interface/web/monitor/lib/lang/se_datalog_list.lng
+++ b/interface/web/monitor/lib/lang/se_datalog_list.lng
@@ -6,4 +6,3 @@ $wb['dbtable_txt'] = 'Databastabell';
 $wb['action_txt'] = 'Händelse';
 $wb['status_txt'] = 'Status';
 ?>
-
diff --git a/interface/web/monitor/lib/lang/se_syslog_list.lng b/interface/web/monitor/lib/lang/se_syslog_list.lng
index f3194b692c..6c7268cb76 100644
--- a/interface/web/monitor/lib/lang/se_syslog_list.lng
+++ b/interface/web/monitor/lib/lang/se_syslog_list.lng
@@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['loglevel_txt'] = 'Loggnivå';
 $wb['message_txt'] = 'Meddelande';
 ?>
-
diff --git a/interface/web/sites/lib/lang/ar_ftp_user.lng b/interface/web/sites/lib/lang/ar_ftp_user.lng
index 0492731846..42b8c4dea6 100644
--- a/interface/web/sites/lib/lang/ar_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ar_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/ar_shell_user.lng b/interface/web/sites/lib/lang/ar_shell_user.lng
index 8460d4e7ae..8095f4becc 100644
--- a/interface/web/sites/lib/lang/ar_shell_user.lng
+++ b/interface/web/sites/lib/lang/ar_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/ar_web_folder_list.lng b/interface/web/sites/lib/lang/ar_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/ar_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_ftp_user.lng b/interface/web/sites/lib/lang/bg_ftp_user.lng
index fc15872732..4d5cef7339 100644
--- a/interface/web/sites/lib/lang/bg_ftp_user.lng
+++ b/interface/web/sites/lib/lang/bg_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_shell_user.lng b/interface/web/sites/lib/lang/bg_shell_user.lng
index 82a44af348..15709147fa 100644
--- a/interface/web/sites/lib/lang/bg_shell_user.lng
+++ b/interface/web/sites/lib/lang/bg_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_web_folder_list.lng b/interface/web/sites/lib/lang/bg_web_folder_list.lng
index 36c9cbcf14..4e0f4b8a5e 100644
--- a/interface/web/sites/lib/lang/bg_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/bg_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Активен';
 $wb['server_id_txt'] = 'Сървър';
 $wb['parent_domain_id_txt'] = 'Уебсайт';
 $wb['path_txt'] = 'Път';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
index ff89ba0613..2824380d8d 100644
--- a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Потребителско име';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/br_ftp_user.lng b/interface/web/sites/lib/lang/br_ftp_user.lng
index 4873bfd73c..f46b94fe92 100644
--- a/interface/web/sites/lib/lang/br_ftp_user.lng
+++ b/interface/web/sites/lib/lang/br_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/br_shell_user.lng b/interface/web/sites/lib/lang/br_shell_user.lng
index 8a098cb5ae..69e0f6e287 100644
--- a/interface/web/sites/lib/lang/br_shell_user.lng
+++ b/interface/web/sites/lib/lang/br_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/br_web_folder_list.lng b/interface/web/sites/lib/lang/br_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/br_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/br_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/br_web_folder_user_list.lng b/interface/web/sites/lib/lang/br_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/br_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/br_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_ftp_user.lng b/interface/web/sites/lib/lang/cz_ftp_user.lng
index 2ef0f29190..b580e08f55 100644
--- a/interface/web/sites/lib/lang/cz_ftp_user.lng
+++ b/interface/web/sites/lib/lang/cz_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generovat heslo';
 $wb['repeat_password_txt'] = 'Opakujte heslo';
 $wb['password_mismatch_txt'] = 'Hesla se neshodují.';
 $wb['password_match_txt'] = 'Hesla se shodují.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_shell_user.lng b/interface/web/sites/lib/lang/cz_shell_user.lng
index 9bc6bdd2a8..fc933da057 100644
--- a/interface/web/sites/lib/lang/cz_shell_user.lng
+++ b/interface/web/sites/lib/lang/cz_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodují.';
 $wb['password_match_txt'] = 'Hesla se shodují.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_folder_list.lng b/interface/web/sites/lib/lang/cz_web_folder_list.lng
index b75c0e80da..c7fa12cb24 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktivní';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webové stránky';
 $wb['path_txt'] = 'Cesta';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
index 99fe62051c..c0059b2344 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Složka (adresář) uživatele';
 $wb['active_txt'] = 'Aktivní';
 $wb['web_folder_id_txt'] = 'Složka';
 $wb['username_txt'] = 'Uživatelské jméno';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng
index 65e84813e5..285c6c6876 100644
--- a/interface/web/sites/lib/lang/de_ftp_user.lng
+++ b/interface/web/sites/lib/lang/de_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Passwort erzeugen';
 $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng
index 9de369f90d..3c4cc2d85a 100644
--- a/interface/web/sites/lib/lang/de_shell_user.lng
+++ b/interface/web/sites/lib/lang/de_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'Der Benutzername darf 32 Zeichen nicht überschreiten.';
 $wb['username_not_allowed_txt'] = 'Der Benutzername ist nicht erlaubt.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng
index 9c85d51822..34e8f863e1 100644
--- a/interface/web/sites/lib/lang/de_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_list.lng
@@ -4,5 +4,5 @@ $wb['active_txt'] = 'Aktiv';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webseite';
 $wb['path_txt'] = 'Pfad';
-$wb["add_new_record_txt"] = 'Ordner hinzufügen';
+$wb['add_new_record_txt'] = 'Ordner hinzufügen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
index 2db8eb0524..c9bcb9cf57 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
@@ -3,5 +3,5 @@ $wb['list_head_txt'] = 'Ordner Benutzer';
 $wb['active_txt'] = 'Aktiv';
 $wb['web_folder_id_txt'] = 'Ordner';
 $wb['username_txt'] = 'Benutzername';
-$wb["add_new_record_txt"] = 'Ordner Benutzer hinzufügen';
+$wb['add_new_record_txt'] = 'Ordner Benutzer hinzufügen';
 ?>
diff --git a/interface/web/sites/lib/lang/el_ftp_user.lng b/interface/web/sites/lib/lang/el_ftp_user.lng
index 2f89d27bdf..a77581db84 100644
--- a/interface/web/sites/lib/lang/el_ftp_user.lng
+++ b/interface/web/sites/lib/lang/el_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/el_shell_user.lng b/interface/web/sites/lib/lang/el_shell_user.lng
index 3c3ea316ce..2ced9c23db 100644
--- a/interface/web/sites/lib/lang/el_shell_user.lng
+++ b/interface/web/sites/lib/lang/el_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/el_web_folder_list.lng b/interface/web/sites/lib/lang/el_web_folder_list.lng
index 86dc18cf66..f1e9e33f81 100644
--- a/interface/web/sites/lib/lang/el_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/el_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Ενεργός';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Διαδρομή';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/el_web_folder_user_list.lng b/interface/web/sites/lib/lang/el_web_folder_user_list.lng
index 2103bcbfc2..bcbd08c393 100644
--- a/interface/web/sites/lib/lang/el_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/el_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Χρήστης Φακέλου';
 $wb['active_txt'] = 'Ενεργός';
 $wb['web_folder_id_txt'] = 'Φάκελος';
 $wb['username_txt'] = 'Όνομα Χρήστη';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/es_ftp_user.lng b/interface/web/sites/lib/lang/es_ftp_user.lng
index c8b86b064d..f8a5e6c69b 100644
--- a/interface/web/sites/lib/lang/es_ftp_user.lng
+++ b/interface/web/sites/lib/lang/es_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/es_shell_user.lng b/interface/web/sites/lib/lang/es_shell_user.lng
index 45fd930e21..46c39cc6ad 100644
--- a/interface/web/sites/lib/lang/es_shell_user.lng
+++ b/interface/web/sites/lib/lang/es_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/es_web_folder_list.lng b/interface/web/sites/lib/lang/es_web_folder_list.lng
index 668f62602b..e760a67b19 100644
--- a/interface/web/sites/lib/lang/es_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/es_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Activar';
 $wb['server_id_txt'] = 'Servidor';
 $wb['parent_domain_id_txt'] = 'Sitio web';
 $wb['path_txt'] = 'Ruta';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/es_web_folder_user_list.lng b/interface/web/sites/lib/lang/es_web_folder_user_list.lng
index 77799114e5..9bdb1e9b71 100644
--- a/interface/web/sites/lib/lang/es_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/es_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Carpeta del usuario';
 $wb['active_txt'] = 'Activar';
 $wb['web_folder_id_txt'] = 'Carpeta';
 $wb['username_txt'] = 'Nombre de usuario';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_ftp_user.lng b/interface/web/sites/lib/lang/fi_ftp_user.lng
index ca39439562..4cf718c286 100755
--- a/interface/web/sites/lib/lang/fi_ftp_user.lng
+++ b/interface/web/sites/lib/lang/fi_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_shell_user.lng b/interface/web/sites/lib/lang/fi_shell_user.lng
index 06fe1bd7e1..116e8c8d86 100755
--- a/interface/web/sites/lib/lang/fi_shell_user.lng
+++ b/interface/web/sites/lib/lang/fi_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_web_folder_list.lng b/interface/web/sites/lib/lang/fi_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/fi_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/fi_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/fr.lng b/interface/web/sites/lib/lang/fr.lng
index c914ef002f..9acee9d061 100644
--- a/interface/web/sites/lib/lang/fr.lng
+++ b/interface/web/sites/lib/lang/fr.lng
@@ -31,5 +31,5 @@ $wb['Available packages'] = 'Packages disponibles';
 $wb['Installed packages'] = 'Packages installés';
 $wb['Update Packagelist'] = 'Mise à jour de la liste des packages';
 $wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)';
-$wb['error_proxy_requires_url'] = 'Type de redirection \"proxy\" nécessite une URL comme chemin de redirection.';
+$wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_aps.lng b/interface/web/sites/lib/lang/fr_aps.lng
index eb268b0266..5d43e803dd 100644
--- a/interface/web/sites/lib/lang/fr_aps.lng
+++ b/interface/web/sites/lib/lang/fr_aps.lng
@@ -38,14 +38,14 @@ $wb['error_inv_main_location'] = 'Le dossier d\'installation choisi est invalide
 $wb['error_license_agreement'] = 'Avant de continuer, vous devez accepter les conditions d\'utilisation (licence).';
 $wb['error_no_database_pw'] = 'Vous n\'avez pas renseigné de mot de passe BDD valide.';
 $wb['error_short_database_pw'] = 'Veuillez saisir un mot de passe BDD plus long.';
-$wb['error_no_value_for'] = 'Le champ \"%s\" ne peut pas être vide.';
-$wb['error_short_value_for'] = 'Le champ \"%s\" nécessite une valeur plus longue.';
-$wb['error_long_value_for'] = 'Le champ \"%s\" nécessite une valeur plus courte.';
-$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \"%s\".';
-$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \"%s\" est invalide.';
-$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \"%s\" est invalide.';
-$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \"%s\" est invalide.';
-$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \"%s\" est invalide.';
+$wb['error_no_value_for'] = 'Le champ \\"%s\\" ne peut pas être vide.';
+$wb['error_short_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus longue.';
+$wb['error_long_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus courte.';
+$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \\"%s\\".';
+$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \\"%s\\" est invalide.';
 $wb['error_used_location'] = 'Le chemin de destination contient déjà un package d\'installation.';
 $wb['installation_task_txt'] = 'Installation prévue';
 $wb['installation_error_txt'] = 'Erreur d\'installation';
diff --git a/interface/web/sites/lib/lang/fr_ftp_user.lng b/interface/web/sites/lib/lang/fr_ftp_user.lng
index 5d00f4b780..f73a81b1b3 100644
--- a/interface/web/sites/lib/lang/fr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/fr_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Générer un mot de passe';
 $wb['repeat_password_txt'] = 'Vérification du mot de passe';
 $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.';
 $wb['password_match_txt'] = 'Les mots de passe correspondent.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_shell_user.lng b/interface/web/sites/lib/lang/fr_shell_user.lng
index 3f967f852d..2e518d70b7 100644
--- a/interface/web/sites/lib/lang/fr_shell_user.lng
+++ b/interface/web/sites/lib/lang/fr_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.';
 $wb['password_match_txt'] = 'Les mots de passe correspondent.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'Le nom d\'utilisateur ne doit pas dépasser 32 caractères.';
 $wb['username_not_allowed_txt'] = 'Le nom d\'utilisateur est interdit.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_web_folder_list.lng b/interface/web/sites/lib/lang/fr_web_folder_list.lng
index f358f8c882..0eed4fd8d6 100644
--- a/interface/web/sites/lib/lang/fr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/fr_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Actif';
 $wb['server_id_txt'] = 'Serveur';
 $wb['parent_domain_id_txt'] = 'Site web';
 $wb['path_txt'] = 'Chemin';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
index e1824e2fe5..663c6d2a7b 100644
--- a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Utilisateur du dossier';
 $wb['active_txt'] = 'Actif';
 $wb['web_folder_id_txt'] = 'Dossier';
 $wb['username_txt'] = 'Nom de l\'utilisateur';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_web_subdomain.lng b/interface/web/sites/lib/lang/fr_web_subdomain.lng
index ebc7250f22..edc7be0c14 100644
--- a/interface/web/sites/lib/lang/fr_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/fr_web_subdomain.lng
@@ -42,5 +42,5 @@ $wb['no_flag_txt'] = 'Aucun flag';
 $wb['domain_error_wildcard'] = 'Les sous-domaines joker ne sont pas autorisés.';
 $wb['proxy_directives_txt'] = 'Directives pour les Proxy';
 $wb['available_proxy_directive_snippets_txt'] = 'Directives pour les Proxy Snippets disponibles :';
-$wb['error_proxy_requires_url'] = 'Les redirections de type \"proxy\" nécessitent une URL comme chemin de redirection.';
+$wb['error_proxy_requires_url'] = 'Les redirections de type \\"proxy\\" nécessitent une URL comme chemin de redirection.';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_ftp_user.lng b/interface/web/sites/lib/lang/hr_ftp_user.lng
index 6290c0e6c6..dbefe0bbf5 100644
--- a/interface/web/sites/lib/lang/hr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/hr_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_shell_user.lng b/interface/web/sites/lib/lang/hr_shell_user.lng
index 4173787259..d081fd76f4 100644
--- a/interface/web/sites/lib/lang/hr_shell_user.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_web_folder_list.lng b/interface/web/sites/lib/lang/hr_web_folder_list.lng
index 56965897a8..0a900fb2c4 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['path_txt'] = 'Putanja';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
index af7792fb6c..3beae9f477 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Web direktorij korisnik';
 $wb['active_txt'] = 'Aktivno';
 $wb['web_folder_id_txt'] = 'Web direkotrij';
 $wb['username_txt'] = 'Korisničko ime';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_ftp_user.lng b/interface/web/sites/lib/lang/hu_ftp_user.lng
index 132bc49758..bbf61d4232 100644
--- a/interface/web/sites/lib/lang/hu_ftp_user.lng
+++ b/interface/web/sites/lib/lang/hu_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_shell_user.lng b/interface/web/sites/lib/lang/hu_shell_user.lng
index 849f380f8c..8eaa537b58 100644
--- a/interface/web/sites/lib/lang/hu_shell_user.lng
+++ b/interface/web/sites/lib/lang/hu_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_web_folder_list.lng b/interface/web/sites/lib/lang/hu_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/hu_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/hu_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/id_ftp_user.lng b/interface/web/sites/lib/lang/id_ftp_user.lng
index 5e1dab2375..4898de245d 100644
--- a/interface/web/sites/lib/lang/id_ftp_user.lng
+++ b/interface/web/sites/lib/lang/id_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/id_shell_user.lng b/interface/web/sites/lib/lang/id_shell_user.lng
index 0ec09ccf77..83153c14e5 100644
--- a/interface/web/sites/lib/lang/id_shell_user.lng
+++ b/interface/web/sites/lib/lang/id_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/id_web_folder_list.lng b/interface/web/sites/lib/lang/id_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/id_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/id_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/id_web_folder_user_list.lng b/interface/web/sites/lib/lang/id_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/id_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/id_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/it_ftp_user.lng b/interface/web/sites/lib/lang/it_ftp_user.lng
index 1964a9fc54..bdd7818166 100644
--- a/interface/web/sites/lib/lang/it_ftp_user.lng
+++ b/interface/web/sites/lib/lang/it_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/it_shell_user.lng b/interface/web/sites/lib/lang/it_shell_user.lng
index 8460d4e7ae..8095f4becc 100644
--- a/interface/web/sites/lib/lang/it_shell_user.lng
+++ b/interface/web/sites/lib/lang/it_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/it_web_folder_list.lng b/interface/web/sites/lib/lang/it_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/it_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/it_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/it_web_folder_user_list.lng b/interface/web/sites/lib/lang/it_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/it_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/it_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_ftp_user.lng b/interface/web/sites/lib/lang/ja_ftp_user.lng
index fb80ca35b6..8e92b1b05f 100644
--- a/interface/web/sites/lib/lang/ja_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ja_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_shell_user.lng b/interface/web/sites/lib/lang/ja_shell_user.lng
index 19f09a5cb2..2ce5ad345e 100644
--- a/interface/web/sites/lib/lang/ja_shell_user.lng
+++ b/interface/web/sites/lib/lang/ja_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_web_folder_list.lng b/interface/web/sites/lib/lang/ja_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/ja_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ja_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_ftp_user.lng b/interface/web/sites/lib/lang/nl_ftp_user.lng
index 7f797de320..16e4ae87ce 100644
--- a/interface/web/sites/lib/lang/nl_ftp_user.lng
+++ b/interface/web/sites/lib/lang/nl_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_shell_user.lng b/interface/web/sites/lib/lang/nl_shell_user.lng
index 53fed2070e..9a4ae63ed1 100644
--- a/interface/web/sites/lib/lang/nl_shell_user.lng
+++ b/interface/web/sites/lib/lang/nl_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_web_folder_list.lng b/interface/web/sites/lib/lang/nl_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/nl_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_ftp_user.lng b/interface/web/sites/lib/lang/pl_ftp_user.lng
index 5c91401133..37dd36b189 100644
--- a/interface/web/sites/lib/lang/pl_ftp_user.lng
+++ b/interface/web/sites/lib/lang/pl_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generuj hasło';
 $wb['repeat_password_txt'] = 'Powtórz hasło';
 $wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
 $wb['password_match_txt'] = 'Hasła pasują';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_shell_user.lng b/interface/web/sites/lib/lang/pl_shell_user.lng
index e51ef644a7..19674e3bd7 100644
--- a/interface/web/sites/lib/lang/pl_shell_user.lng
+++ b/interface/web/sites/lib/lang/pl_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
 $wb['password_match_txt'] = 'Hasła pasują';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_web_folder_list.lng b/interface/web/sites/lib/lang/pl_web_folder_list.lng
index 87a769008f..75a403be33 100644
--- a/interface/web/sites/lib/lang/pl_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/pl_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktywny';
 $wb['server_id_txt'] = 'Serwer';
 $wb['parent_domain_id_txt'] = 'Witryna';
 $wb['path_txt'] = 'Ścieżka';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
index 81769bd9d0..728c1f709c 100644
--- a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Użytkownik katalogu';
 $wb['active_txt'] = 'Aktywny';
 $wb['web_folder_id_txt'] = 'Katalog';
 $wb['username_txt'] = 'Login';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_ftp_user.lng b/interface/web/sites/lib/lang/pt_ftp_user.lng
index 17708727ca..9f5ed046ce 100644
--- a/interface/web/sites/lib/lang/pt_ftp_user.lng
+++ b/interface/web/sites/lib/lang/pt_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_shell_user.lng b/interface/web/sites/lib/lang/pt_shell_user.lng
index 5e346483e8..4564bbc5a8 100644
--- a/interface/web/sites/lib/lang/pt_shell_user.lng
+++ b/interface/web/sites/lib/lang/pt_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_web_folder_list.lng b/interface/web/sites/lib/lang/pt_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/pt_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/pt_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_ftp_user.lng b/interface/web/sites/lib/lang/ro_ftp_user.lng
index d7415ec2f2..e28b35e6d9 100644
--- a/interface/web/sites/lib/lang/ro_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ro_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_shell_user.lng b/interface/web/sites/lib/lang/ro_shell_user.lng
index d4620af9e4..912b6b2b0c 100644
--- a/interface/web/sites/lib/lang/ro_shell_user.lng
+++ b/interface/web/sites/lib/lang/ro_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_web_folder_list.lng b/interface/web/sites/lib/lang/ro_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/ro_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ro_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_ftp_user.lng b/interface/web/sites/lib/lang/ru_ftp_user.lng
index 58a2277e51..f9609ce26d 100644
--- a/interface/web/sites/lib/lang/ru_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ru_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_shell_user.lng b/interface/web/sites/lib/lang/ru_shell_user.lng
index d87f544e11..f3b788f14e 100644
--- a/interface/web/sites/lib/lang/ru_shell_user.lng
+++ b/interface/web/sites/lib/lang/ru_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_web_folder_list.lng b/interface/web/sites/lib/lang/ru_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/ru_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ru_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/se.lng b/interface/web/sites/lib/lang/se.lng
index 780195fb88..a63670545c 100644
--- a/interface/web/sites/lib/lang/se.lng
+++ b/interface/web/sites/lib/lang/se.lng
@@ -31,6 +31,5 @@ $wb['Available packages'] = 'Tillgängliga paket';
 $wb['Installed packages'] = 'Installerade paket';
 $wb['Update Packagelist'] = 'Uppdatera paketlista';
 $wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)';
-$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.';
+$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_aps.lng b/interface/web/sites/lib/lang/se_aps.lng
index 315b03c721..1fe86175d3 100644
--- a/interface/web/sites/lib/lang/se_aps.lng
+++ b/interface/web/sites/lib/lang/se_aps.lng
@@ -38,14 +38,14 @@ $wb['error_inv_main_location'] = 'The given install location folder is invalid.'
 $wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.';
 $wb['error_no_database_pw'] = 'You have provided no valid database password.';
 $wb['error_short_database_pw'] = 'Please choose a longer database password.';
-$wb['error_no_value_for'] = 'The field "%s" must not be empty.';
-$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.';
-$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.';
-$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".';
-$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".';
-$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".';
-$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".';
-$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".';
+$wb['error_no_value_for'] = 'The field \"%s\" must not be empty.';
+$wb['error_short_value_for'] = 'The field \"%s\" requires a longer input value.';
+$wb['error_long_value_for'] = 'The field \"%s\" requires a shorter input value.';
+$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \"%s\".';
+$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \"%s\".';
+$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \"%s\".';
+$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \"%s\".';
+$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \"%s\".';
 $wb['error_used_location'] = 'The installation path already contains a package installation.';
 $wb['installation_task_txt'] = 'Installation planerad';
 $wb['installation_error_txt'] = 'Installationsfel';
@@ -56,4 +56,3 @@ $wb['btn_install_txt'] = 'Installera';
 $wb['btn_cancel_txt'] = 'Avbryt';
 $wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_instances_list.lng b/interface/web/sites/lib/lang/se_aps_instances_list.lng
index 81cda2a4c4..a9428aa737 100644
--- a/interface/web/sites/lib/lang/se_aps_instances_list.lng
+++ b/interface/web/sites/lib/lang/se_aps_instances_list.lng
@@ -11,4 +11,3 @@ $wb['filter_txt'] = 'Sök';
 $wb['delete_txt'] = 'Radera';
 $wb['reinstall_txt'] = 'Ominstallera';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_packages_list.lng b/interface/web/sites/lib/lang/se_aps_packages_list.lng
index 1746bfd4ae..8555961a4e 100644
--- a/interface/web/sites/lib/lang/se_aps_packages_list.lng
+++ b/interface/web/sites/lib/lang/se_aps_packages_list.lng
@@ -6,4 +6,3 @@ $wb['category_txt'] = 'Kategori';
 $wb['status_txt'] = 'Olåst';
 $wb['filter_txt'] = 'Sök';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
index 8d84c057de..891a951688 100644
--- a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
@@ -5,4 +5,3 @@ $wb['btn_start_txt'] = 'Uppdatera paketlista';
 $wb['btn_cancel_txt'] = 'Avbryt';
 $wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_cron.lng b/interface/web/sites/lib/lang/se_cron.lng
index bc89db2564..83b7d3b33d 100644
--- a/interface/web/sites/lib/lang/se_cron.lng
+++ b/interface/web/sites/lib/lang/se_cron.lng
@@ -22,4 +22,3 @@ $wb['server_id_error_empty'] = 'Fältet för  server-ID är tomt.';
 $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
 $wb['command_error_empty'] = 'Kommandofältet är tomt.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_cron_list.lng b/interface/web/sites/lib/lang/se_cron_list.lng
index b17951c8a4..0459144158 100644
--- a/interface/web/sites/lib/lang/se_cron_list.lng
+++ b/interface/web/sites/lib/lang/se_cron_list.lng
@@ -11,4 +11,3 @@ $wb['command_txt'] = 'Kommando';
 $wb['add_new_cron_txt'] = 'Lägg till nytt cron-jobb';
 $wb['parent_domain_id_txt'] = 'Webbsida';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database.lng b/interface/web/sites/lib/lang/se_database.lng
index 03eac081c7..c06c3f0e44 100644
--- a/interface/web/sites/lib/lang/se_database.lng
+++ b/interface/web/sites/lib/lang/se_database.lng
@@ -44,4 +44,3 @@ $wb['no_dbuser_txt'] = 'Ingen';
 $wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.';
 $wb['database_user_missing_txt'] = 'Vänligen välj en databasanvändare för den här databasen.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database_admin_list.lng b/interface/web/sites/lib/lang/se_database_admin_list.lng
index fe415d3231..640c07cf19 100644
--- a/interface/web/sites/lib/lang/se_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_database_admin_list.lng
@@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny databas';
 $wb['sys_groupid_txt'] = 'Kund';
 $wb['parent_domain_id_txt'] = 'Webbsida';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database_list.lng b/interface/web/sites/lib/lang/se_database_list.lng
index 3909b37308..bfcdaf39f9 100644
--- a/interface/web/sites/lib/lang/se_database_list.lng
+++ b/interface/web/sites/lib/lang/se_database_list.lng
@@ -8,4 +8,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny databas';
 $wb['database_user_txt'] = 'Databasanvändare';
 $wb['parent_domain_id_txt'] = 'Webbsida';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user.lng b/interface/web/sites/lib/lang/se_database_user.lng
index c707175cf2..2cf9a1a8cb 100644
--- a/interface/web/sites/lib/lang/se_database_user.lng
+++ b/interface/web/sites/lib/lang/se_database_user.lng
@@ -21,4 +21,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultat';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Sök';
 $wb['globalsearch_suggestions_text_txt'] = 'Förslag';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user_admin_list.lng b/interface/web/sites/lib/lang/se_database_user_admin_list.lng
index 6eca0b7ac2..a9bb594e77 100644
--- a/interface/web/sites/lib/lang/se_database_user_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_database_user_admin_list.lng
@@ -4,4 +4,3 @@ $wb['database_user_txt'] = 'Databasanvändare';
 $wb['add_new_record_txt'] = 'Lägg till ny användare';
 $wb['sys_groupid_txt'] = 'Kund';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user_list.lng b/interface/web/sites/lib/lang/se_database_user_list.lng
index cb62444504..c0eef9d5e1 100644
--- a/interface/web/sites/lib/lang/se_database_user_list.lng
+++ b/interface/web/sites/lib/lang/se_database_user_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Databasanvändare';
 $wb['database_user_txt'] = 'Databasanvändare';
 $wb['add_new_record_txt'] = 'Lägg till ny användare';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_ftp_user.lng b/interface/web/sites/lib/lang/se_ftp_user.lng
index 50d9031c48..3ba08a2019 100644
--- a/interface/web/sites/lib/lang/se_ftp_user.lng
+++ b/interface/web/sites/lib/lang/se_ftp_user.lng
@@ -31,5 +31,6 @@ $wb['generate_password_txt'] = 'Generera lösenord';
 $wb['repeat_password_txt'] = 'Upprepa lösenord';
 $wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
 $wb['password_match_txt'] = 'Lösenorden matchar';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_ftp_user_list.lng b/interface/web/sites/lib/lang/se_ftp_user_list.lng
index c833d1a9b3..f0ac76012e 100644
--- a/interface/web/sites/lib/lang/se_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/se_ftp_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida';
 $wb['username_txt'] = 'Användarnamn';
 $wb['add_new_record_txt'] = 'Lägg till ny FTP-användare';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_shell_user.lng b/interface/web/sites/lib/lang/se_shell_user.lng
index b2d00838cb..8095f4becc 100644
--- a/interface/web/sites/lib/lang/se_shell_user.lng
+++ b/interface/web/sites/lib/lang/se_shell_user.lng
@@ -28,5 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_shell_user_list.lng b/interface/web/sites/lib/lang/se_shell_user_list.lng
index 3389173436..4a9d7cb9a7 100644
--- a/interface/web/sites/lib/lang/se_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/se_shell_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Site';
 $wb['username_txt'] = 'Username';
 $wb['add_new_record_txt'] = 'Add new Shell-User';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
index 2084a496cc..7fe4791f60 100644
--- a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
@@ -7,4 +7,3 @@ $wb['hard_txt'] = 'Hard limit';
 $wb['soft_txt'] = 'Soft limit';
 $wb['files_txt'] = 'Single files';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_aliasdomain.lng b/interface/web/sites/lib/lang/se_web_aliasdomain.lng
index ecbc150c7b..4149c71149 100644
--- a/interface/web/sites/lib/lang/se_web_aliasdomain.lng
+++ b/interface/web/sites/lib/lang/se_web_aliasdomain.lng
@@ -113,4 +113,3 @@ $wb['proxy_directives_txt'] = 'Proxy Directives';
 $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
 $wb['Domain'] = 'Aliasdomain';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng
index 4860654d03..8ea34c4409 100644
--- a/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng
+++ b/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng
@@ -12,4 +12,3 @@ $wb['no_redirect_txt'] = 'No redirect';
 $wb['no_flag_txt'] = 'No flag';
 $wb['none_txt'] = 'None';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_backup_list.lng b/interface/web/sites/lib/lang/se_web_backup_list.lng
index 261304d01a..e74395302a 100644
--- a/interface/web/sites/lib/lang/se_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/se_web_backup_list.lng
@@ -13,4 +13,3 @@ $wb['restore_pending_txt'] = 'There is already a pending backup restore job.';
 $wb['backup_type_mysql'] = 'MySQL-databaser';
 $wb['backup_type_web'] = 'Webbsidefiler';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng
index e281579930..2b9a05647c 100644
--- a/interface/web/sites/lib/lang/se_web_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_domain.lng
@@ -128,4 +128,3 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_domain_admin_list.lng
index 073724589d..b460e27100 100644
--- a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_web_domain_admin_list.lng
@@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Add new website';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_domain_list.lng b/interface/web/sites/lib/lang/se_web_domain_list.lng
index eabd544425..88ec412daa 100644
--- a/interface/web/sites/lib/lang/se_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/se_web_domain_list.lng
@@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domain';
 $wb['add_new_record_txt'] = 'Add new website';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder.lng b/interface/web/sites/lib/lang/se_web_folder.lng
index 96553c5d84..6dbc15854c 100644
--- a/interface/web/sites/lib/lang/se_web_folder.lng
+++ b/interface/web/sites/lib/lang/se_web_folder.lng
@@ -6,4 +6,3 @@ $wb['active_txt'] = 'Aktiv';
 $wb['path_error_regex'] = 'Ogiltig katalogsökväg';
 $wb['error_folder_already_protected_txt'] = 'Det finns redan ett inlägg för den här mappen.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_list.lng b/interface/web/sites/lib/lang/se_web_folder_list.lng
index 194e7444e0..f3ce8b100c 100644
--- a/interface/web/sites/lib/lang/se_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_list.lng
@@ -4,5 +4,5 @@ $wb['active_txt'] = 'Aktiv';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webbsida';
 $wb['path_txt'] = 'Sökväg';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_user.lng b/interface/web/sites/lib/lang/se_web_folder_user.lng
index 0c52cfa476..6db2415703 100644
--- a/interface/web/sites/lib/lang/se_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_user.lng
@@ -12,4 +12,3 @@ $wb['password_match_txt'] = 'Lösenorden matchar';
 $wb['no_folder_perm'] = 'Du har inga rättigheter för denna katalog';
 $wb['error_user_exists_already_txt'] = 'Det finns redan ett inlägg för denna användare';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_user_list.lng b/interface/web/sites/lib/lang/se_web_folder_user_list.lng
index 3af6f700f5..67612f5111 100644
--- a/interface/web/sites/lib/lang/se_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_user_list.lng
@@ -3,5 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
index 66137dc1ea..95a82568ed 100644
--- a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
@@ -7,4 +7,3 @@ $wb['this_year_txt'] = 'I år';
 $wb['last_year_txt'] = 'Förra året';
 $wb['sum_txt'] = 'Total';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_subdomain.lng b/interface/web/sites/lib/lang/se_web_subdomain.lng
index 8955209eee..856d3c20a0 100644
--- a/interface/web/sites/lib/lang/se_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/se_web_subdomain.lng
@@ -42,6 +42,5 @@ $wb['no_flag_txt'] = 'Ingan flagga';
 $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
 $wb['proxy_directives_txt'] = 'Proxy Directives';
 $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.';
+$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_subdomain_list.lng b/interface/web/sites/lib/lang/se_web_subdomain_list.lng
index 58084a63ff..1c16bcda28 100644
--- a/interface/web/sites/lib/lang/se_web_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/se_web_subdomain_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Website';
 $wb['domain_txt'] = 'Subdomain';
 $wb['add_new_record_txt'] = 'Add new subdomain';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
index 409c83027d..c0ca93b570 100644
--- a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
@@ -125,4 +125,3 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
index 9604437b66..100b03bcca 100644
--- a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida';
 $wb['domain_txt'] = 'Underdomän';
 $wb['add_new_record_txt'] = 'Lägg till ny underdomän';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_webdav_user.lng b/interface/web/sites/lib/lang/se_webdav_user.lng
index 4c3fe5e5d5..07dc281140 100644
--- a/interface/web/sites/lib/lang/se_webdav_user.lng
+++ b/interface/web/sites/lib/lang/se_webdav_user.lng
@@ -19,4 +19,3 @@ $wb['repeat_password_txt'] = 'Repetera lösenord';
 $wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
 $wb['password_match_txt'] = 'Lösenorden matchar';
 ?>
-
diff --git a/interface/web/sites/lib/lang/se_webdav_user_list.lng b/interface/web/sites/lib/lang/se_webdav_user_list.lng
index 96bd318a70..a6031a1fd3 100644
--- a/interface/web/sites/lib/lang/se_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/se_webdav_user_list.lng
@@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida';
 $wb['username_txt'] = 'Användarnamn';
 $wb['add_new_record_txt'] = 'Lägg till ny WebDAV-användare';
 ?>
-
diff --git a/interface/web/sites/lib/lang/sk_ftp_user.lng b/interface/web/sites/lib/lang/sk_ftp_user.lng
index 1526d4030c..c57cbfdd1d 100644
--- a/interface/web/sites/lib/lang/sk_ftp_user.lng
+++ b/interface/web/sites/lib/lang/sk_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_shell_user.lng b/interface/web/sites/lib/lang/sk_shell_user.lng
index 79f9eac87e..8b94d0d01c 100644
--- a/interface/web/sites/lib/lang/sk_shell_user.lng
+++ b/interface/web/sites/lib/lang/sk_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_web_folder_list.lng b/interface/web/sites/lib/lang/sk_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/sk_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/sk_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_ftp_user.lng b/interface/web/sites/lib/lang/tr_ftp_user.lng
index 4cc2f4d7c7..62401dee1c 100644
--- a/interface/web/sites/lib/lang/tr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/tr_ftp_user.lng
@@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_shell_user.lng b/interface/web/sites/lib/lang/tr_shell_user.lng
index ac45063f0a..0c932c1a4a 100644
--- a/interface/web/sites/lib/lang/tr_shell_user.lng
+++ b/interface/web/sites/lib/lang/tr_shell_user.lng
@@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_web_folder_list.lng b/interface/web/sites/lib/lang/tr_web_folder_list.lng
index 76d97029ba..89f8b65ac3 100644
--- a/interface/web/sites/lib/lang/tr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/tr_web_folder_list.lng
@@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Website';
 $wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
index 9a7286a95c..67612f5111 100644
--- a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
@@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User';
 $wb['active_txt'] = 'Active';
 $wb['web_folder_id_txt'] = 'Folder';
 $wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
 ?>
diff --git a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
index 16dcfff68a..7fb81bfa9a 100644
--- a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
@@ -6,4 +6,3 @@ $wb['password_strength_3_txt'] = 'Bra';
 $wb['password_strength_4_txt'] = 'Starkt';
 $wb['password_strength_5_txt'] = 'Mycket starkt';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se.lng b/interface/web/tools/lib/lang/se.lng
index 5c93f2b016..e6da7423b7 100644
--- a/interface/web/tools/lib/lang/se.lng
+++ b/interface/web/tools/lib/lang/se.lng
@@ -11,4 +11,3 @@ $wb['ISPConfig 3 mail'] = 'ISPConfig 3 epost';
 $wb['PDNS Tupa'] = 'PowerDNS Tupa';
 $wb['Interface'] = 'Interface';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se_import_ispconfig.lng b/interface/web/tools/lib/lang/se_import_ispconfig.lng
index 0aad8ad9a9..17ddae91be 100644
--- a/interface/web/tools/lib/lang/se_import_ispconfig.lng
+++ b/interface/web/tools/lib/lang/se_import_ispconfig.lng
@@ -21,4 +21,3 @@ $wb['import_forward_txt'] = 'Importera vidarebefordring';
 $wb['import_user_filter_txt'] = 'Importera användarfilter';
 $wb['import_spamfilter_txt'] = 'Importera spamfilter';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se_index.lng b/interface/web/tools/lib/lang/se_index.lng
index cf5012ff12..e395435258 100644
--- a/interface/web/tools/lib/lang/se_index.lng
+++ b/interface/web/tools/lib/lang/se_index.lng
@@ -2,4 +2,3 @@
 $wb['page_head_txt'] = 'ISPConfig verktyg';
 $wb['page_desc_txt'] = 'Ändra användarinställningar';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se_interface.lng b/interface/web/tools/lib/lang/se_interface.lng
index 833679603b..9a66f59e00 100644
--- a/interface/web/tools/lib/lang/se_interface.lng
+++ b/interface/web/tools/lib/lang/se_interface.lng
@@ -5,4 +5,3 @@ $wb['language_txt'] = 'Språk';
 $wb['startmodule_txt'] = 'Startmodul';
 $wb['app_theme_txt'] = 'Design';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se_tpl_default.lng b/interface/web/tools/lib/lang/se_tpl_default.lng
index 4c0fd7139b..013666e63e 100644
--- a/interface/web/tools/lib/lang/se_tpl_default.lng
+++ b/interface/web/tools/lib/lang/se_tpl_default.lng
@@ -5,4 +5,3 @@ $wb['no_settings_txt'] = 'Det finns inga instälningar för det förvalda temat'
 $wb['btn_start_txt'] = 'Spara';
 $wb['btn_cancel_txt'] = 'Tillbaka';
 ?>
-
diff --git a/interface/web/tools/lib/lang/se_usersettings.lng b/interface/web/tools/lib/lang/se_usersettings.lng
index 85176ac236..f7e05e913c 100644
--- a/interface/web/tools/lib/lang/se_usersettings.lng
+++ b/interface/web/tools/lib/lang/se_usersettings.lng
@@ -10,4 +10,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord';
 $wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
 $wb['password_match_txt'] = 'Lösenorden matchar';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se.lng b/interface/web/vm/lib/lang/se.lng
index 5c1ab58229..4167e14a8a 100644
--- a/interface/web/vm/lib/lang/se.lng
+++ b/interface/web/vm/lib/lang/se.lng
@@ -5,4 +5,3 @@ $wb['VM Templates'] = 'VM Templates';
 $wb['IP addresses'] = 'IP addresses';
 $wb['OpenVZ'] = 'OpenVZ';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_action.lng b/interface/web/vm/lib/lang/se_openvz_action.lng
index 71e7263f9d..52f7328582 100644
--- a/interface/web/vm/lib/lang/se_openvz_action.lng
+++ b/interface/web/vm/lib/lang/se_openvz_action.lng
@@ -14,4 +14,3 @@ $wb['ostemplate_name_error'] = 'The OSTemplate name conatains unallowed characte
 $wb['ostemplate_name_unique_error'] = 'There is already a OSTemplate with that name.';
 $wb['ostemplate_exec_txt'] = 'The command to create a OSTemplate has been sent to the host server. It will take several minutes until the OSTemplate has been created.';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ip.lng b/interface/web/vm/lib/lang/se_openvz_ip.lng
index 67f688576a..6016681df8 100644
--- a/interface/web/vm/lib/lang/se_openvz_ip.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ip.lng
@@ -7,4 +7,3 @@ $wb['ip_error_wrong'] = 'Please fill in a valid IPv4 address.';
 $wb['ip_error_unique'] = 'This IP address does already exist.';
 $wb['IP address'] = 'IP address';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ip_list.lng b/interface/web/vm/lib/lang/se_openvz_ip_list.lng
index 37c1d62e7c..e6a3a68c2c 100644
--- a/interface/web/vm/lib/lang/se_openvz_ip_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ip_list.lng
@@ -5,4 +5,3 @@ $wb['ip_address_txt'] = 'IP address';
 $wb['reserved_txt'] = 'Reserved';
 $wb['vm_id_txt'] = 'VM';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
index bfeb299088..256750f19a 100644
--- a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
@@ -9,4 +9,3 @@ $wb['template_name_error_empty'] = 'Template name is empty.';
 $wb['template_file_error_empty'] = 'Template filename is empty.';
 $wb['Template'] = 'Template';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
index df01680e16..6471ec0e27 100644
--- a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
@@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server';
 $wb['allservers_txt'] = 'Exists on all servers';
 $wb['ostemplate_id_txt'] = 'ID';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_template.lng b/interface/web/vm/lib/lang/se_openvz_template.lng
index 0887164d39..d285512dca 100644
--- a/interface/web/vm/lib/lang/se_openvz_template.lng
+++ b/interface/web/vm/lib/lang/se_openvz_template.lng
@@ -91,4 +91,3 @@ $wb['swappages_error_empty'] = 'Swappages is empty.';
 $wb['Template'] = 'Template';
 $wb['Advanced'] = 'Advanced';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_template_list.lng b/interface/web/vm/lib/lang/se_openvz_template_list.lng
index 6e4d911c6b..de4045c36a 100644
--- a/interface/web/vm/lib/lang/se_openvz_template_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_template_list.lng
@@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template';
 $wb['active_txt'] = 'Active';
 $wb['template_name_txt'] = 'Template name';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_vm.lng b/interface/web/vm/lib/lang/se_openvz_vm.lng
index 4698fe681b..f2be022dd0 100644
--- a/interface/web/vm/lib/lang/se_openvz_vm.lng
+++ b/interface/web/vm/lib/lang/se_openvz_vm.lng
@@ -38,4 +38,3 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.';
 $wb['Virtual server'] = 'Virtual server';
 $wb['Advanced'] = 'Advanced';
 ?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_vm_list.lng b/interface/web/vm/lib/lang/se_openvz_vm_list.lng
index a534a65f20..2238e2b8f4 100644
--- a/interface/web/vm/lib/lang/se_openvz_vm_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_vm_list.lng
@@ -8,4 +8,3 @@ $wb['hostname_txt'] = 'Hostname';
 $wb['ip_address_txt'] = 'IP address';
 $wb['veid_txt'] = 'VEID';
 ?>
-
-- 
GitLab


From 7d9346a9a2879053dba283c54f4076b83fbc8484 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 11:57:59 +0200
Subject: [PATCH 062/158] Updated version number to 3.0.5.4p2

---
 install/sql/ispconfig3.sql                  | 2 +-
 install/tpl/config.inc.php.master           | 2 +-
 interface/lib/config.inc.php                | 2 +-
 interface/web/themes/blue/ispconfig_version | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index e1bfa900dd..ab5f795cd2 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -2292,7 +2292,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p1');
+INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p2');
 INSERT INTO sys_config VALUES ('interface','session_timeout','0');
 
 SET FOREIGN_KEY_CHECKS = 1;
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index bae60611a3..6f40a1cda0 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p1');
+define('ISPC_APP_VERSION', '3.0.5.4p2');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php
index 7fcbfe21fd..179acc9325 100644
--- a/interface/lib/config.inc.php
+++ b/interface/lib/config.inc.php
@@ -44,7 +44,7 @@ $revision = str_replace(array('Revision:', '$', ' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p1');
+define('ISPC_APP_VERSION', '3.0.5.4p2');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/web/themes/blue/ispconfig_version b/interface/web/themes/blue/ispconfig_version
index ec330200a9..0b23ab9c7a 100644
--- a/interface/web/themes/blue/ispconfig_version
+++ b/interface/web/themes/blue/ispconfig_version
@@ -1 +1 @@
-3.0.5.4p1
+3.0.5.4p2
-- 
GitLab


From 15687e27652852fa205f9e0d5de245bb9a44a618 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 13:25:56 +0200
Subject: [PATCH 063/158] Fixed some errors in user check of apache and nginx
 plugin.

---
 interface/lib/classes/functions.inc.php        |  4 ++--
 server/lib/classes/system.inc.php              | 18 +++++++++---------
 .../plugins-available/apache2_plugin.inc.php   |  6 +++---
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index 29feffde7f..e37edda975 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -430,7 +430,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[\w\.\-]{0,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
 		
@@ -443,7 +443,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
 		
-		if(preg_match('/^[\w\.\-]{0,32}$/', $groupname) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
 		
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 3001c6459e..9bd3e0080d 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1824,7 +1824,7 @@ class system{
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[\w\.\-]{0,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
 		
 		if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
 		
@@ -1833,18 +1833,18 @@ class system{
 		return true;
 	}
 	
-	public function is_allowed_group($groupname, $restrict_names = false) {
+	public function is_allowed_group($groupname, $check_id = true, $restrict_names = false) {
 		global $app;
-		
+		echo 1;
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
-		
-		if(preg_match('/^[\w\.\-]{0,32}$/', $groupname) == false) return false;
-		
-		if(intval($this->getgid($groupname)) < $this->min_gid) return false;
-		
+		echo 2;
+		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
+		echo 3;
+		if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;
+		echo 4;
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
-		
+		echo 5;
 		return true;
 	}
 	
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index b1411c9f03..350c0372ce 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -344,9 +344,9 @@ class apache2_plugin {
 			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
 			return 0;
 		}
-		if(!$app->system->is_allowed_user($data['new']['system_user'], false, true)
-			|| !$app->system->is_allowed_group($data['new']['system_group'], false, true)) {
-			$app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
+		if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
+			|| $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
+			$app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
 			return 0;
 		}
 		if(trim($data['new']['domain']) == '') {
-- 
GitLab


From 0cba4efbba787909adbf569fca50ac5b13337928 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 14:33:07 +0200
Subject: [PATCH 064/158] Removed debug messages.

---
 server/lib/classes/system.inc.php | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 9bd3e0080d..20d4f93a1c 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1835,16 +1835,16 @@ class system{
 	
 	public function is_allowed_group($groupname, $check_id = true, $restrict_names = false) {
 		global $app;
-		echo 1;
+		
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
-		echo 2;
+		
 		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
-		echo 3;
+		
 		if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;
-		echo 4;
+		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
-		echo 5;
+		
 		return true;
 	}
 	
-- 
GitLab


From 2c49c56ebcb55e4dec88f22bf2977d0e6db9bcc7 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 1 Aug 2014 15:58:04 +0200
Subject: [PATCH 065/158] Fixed issue in password strength check.

---
 interface/lib/classes/validate_password.inc.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php
index 998c37c4ec..da044c6053 100644
--- a/interface/lib/classes/validate_password.inc.php
+++ b/interface/lib/classes/validate_password.inc.php
@@ -53,10 +53,11 @@ class validate_password {
 			$different += 1;
 		}
 
-		if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) {
+		if (preg_match('/[`~!@#$%^&*()_+|\\=-\[\]}{\';:\/?.>,<" ]/', $password)) {
 			$points += 1;
 			$different += 1;
 		}
+		
 
 		if ($points == 0 || $different < 3) {
 			if ($length >= 5 && $length <= 6) {
@@ -122,7 +123,7 @@ class validate_password {
 			$lng_text = str_replace('{chars}', $min_password_length, $lng_text);
 		}
 		if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING!
-		
+
 		if(strlen($field_value) < $min_password_length) return $lng_text;
 		if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text;
 		
-- 
GitLab


From 53f0d29ab0b237a12998cadd64df1c8f7dfa3144 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Wed, 6 Aug 2014 15:48:11 +0200
Subject: [PATCH 066/158] - made it possible to specify database table for
 AUTHSQL.

---
 interface/lib/classes/listform.inc.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php
index 04f4b375b7..1b613a9a89 100644
--- a/interface/lib/classes/listform.inc.php
+++ b/interface/lib/classes/listform.inc.php
@@ -97,6 +97,7 @@ class listform {
 			$querystring = str_replace("{AUTHSQL}", $app->tform->getAuthSQL('r'), $querystring);
 			$querystring = str_replace("{AUTHSQL-A}", $app->tform->getAuthSQL('r', 'a'), $querystring);
 			$querystring = str_replace("{AUTHSQL-B}", $app->tform->getAuthSQL('r', 'b'), $querystring);
+			$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
 
 			//* Getting the records
 			$tmp_records = $app->db->queryAllRecords($querystring);
-- 
GitLab


From 9ae8653c95ca73645365a82415dc0e873ee6afe3 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 7 Aug 2014 07:38:21 +0200
Subject: [PATCH 067/158] Fix proposal: FS#3602 - Setting a session timeout
 causes mysql error messages on screen

---
 interface/lib/classes/session.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php
index dcb187b6c0..09b82b65cc 100644
--- a/interface/lib/classes/session.inc.php
+++ b/interface/lib/classes/session.inc.php
@@ -99,7 +99,7 @@ class session {
 			$date_created = date('Y-m-d H:i:s');
 			$last_updated = date('Y-m-d H:i:s');
 			$session_data = $this->db->quote($session_data);
-			$sql = "INSERT INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
+			$sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
 			$this->db->query($sql);
 
 		} else {
-- 
GitLab


From 1e6ea5a91d122ca8d8eee9f04e8c16c80c73d669 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 7 Aug 2014 09:25:50 +0200
Subject: [PATCH 068/158] Improved user check in nginx plugin.

---
 server/plugins-available/nginx_plugin.inc.php | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 2837e0eb94..b0e18c79a2 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -352,9 +352,9 @@ class nginx_plugin {
 			return 0;
 		}
 
-		if(!$app->system->is_allowed_user($data['new']['system_user'], false, true)
-			|| !$app->system->is_allowed_group($data['new']['system_group'], false, true)) {
-			$app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
+		if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
+			|| $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
+			$app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
 			return 0;
 		}
 
-- 
GitLab


From a1be59c6db4f286640d5a3eb0229e43bed641785 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 7 Aug 2014 11:01:45 +0200
Subject: [PATCH 069/158] Fixed: FS#3602 - Setting a session timeout causes
 mysql error messages on screen

---
 interface/lib/classes/session.inc.php | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php
index 09b82b65cc..8b3a7cffc4 100644
--- a/interface/lib/classes/session.inc.php
+++ b/interface/lib/classes/session.inc.php
@@ -88,25 +88,21 @@ class session {
 		// Dont write session_data to DB if session data has not been changed after reading it.
 		if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) {
 			$session_id   = $this->db->quote($session_id);
-			$last_updated = date('Y-m-d H:i:s');
-			$this->db->query("UPDATE sys_session SET last_updated = '$last_updated' WHERE session_id = '$session_id'");
+			$this->db->query("UPDATE sys_session SET last_updated = NOW() WHERE session_id = '$session_id'");
 			return true;
 		}
 
 
 		if (@$this->session_array['session_id'] == '') {
 			$session_id   = $this->db->quote($session_id);
-			$date_created = date('Y-m-d H:i:s');
-			$last_updated = date('Y-m-d H:i:s');
 			$session_data = $this->db->quote($session_data);
-			$sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
+			$sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id',NOW(),NOW(),'$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
 			$this->db->query($sql);
 
 		} else {
 			$session_id   = $this->db->quote($session_id);
-			$last_updated = date('Y-m-d H:i:s');
 			$session_data = $this->db->quote($session_data);
-			$sql = "UPDATE sys_session SET last_updated = '$last_updated', session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
+			$sql = "UPDATE sys_session SET last_updated = NOW(), session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
 			$this->db->query($sql);
 
 		}
@@ -128,18 +124,11 @@ class session {
 		/*if($this->timeout > 0) {
 			$this->db->query("DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($this->timeout) . " MINUTE)");
 		} else {*/
-			$real_now = date('Y-m-d H:i:s');
-			$dt1 = strtotime("$real_now -$max_lifetime seconds");
-			$dt2 = date('Y-m-d H:i:s', $dt1);
-
-			$sql = "DELETE FROM sys_session WHERE last_updated < '$dt2' AND `permanent` != 'y'";
+			$sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($max_lifetime) . " SECOND) AND `permanent` != 'y'";
 			$this->db->query($sql);
 			
 			/* delete very old even if they are permanent */
-			$dt1 = strtotime("$real_now -365 days");
-			$dt2 = date('Y-m-d H:i:s', $dt1);
-
-			$sql = "DELETE FROM sys_session WHERE last_updated < '$dt2'";
+			$sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL 1 YEAR)";
 			$this->db->query($sql);
 		//}
 
-- 
GitLab


From 746bf0f5cd4a3a650a0bfa1c1149d4e1331774a0 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 8 Aug 2014 10:53:48 +0200
Subject: [PATCH 070/158] Fixed: FS#3607 - Permissions of .htaccess file in
 stats folder are wrong

---
 server/plugins-available/apache2_plugin.inc.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 350c0372ce..a5339579fb 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1475,7 +1475,7 @@ class apache2_plugin {
 		if(!is_dir($data['new']['document_root'].'/' . $web_folder . '/stats')) $app->system->mkdir($data['new']['document_root'].'/' . $web_folder . '/stats');
 		$ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data['new']['document_root']."/web/stats/.htpasswd_stats\nrequire valid-user";
 		$app->system->file_put_contents($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', $ht_file);
-		$app->system->chmod($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', 0751);
+		$app->system->chmod($data['new']['document_root'].'/' . $web_folder . '/stats/.htaccess', 0755);
 		unset($ht_file);
 		//}
 
@@ -1485,7 +1485,7 @@ class apache2_plugin {
 				$app->system->web_folder_protection($data['new']['document_root'], false);
 				$app->system->file_put_contents($data['new']['document_root'].'/web/stats/.htpasswd_stats', $htp_file);
 				$app->system->web_folder_protection($data['new']['document_root'], true);
-				$app->system->chmod($data['new']['document_root'].'/web/stats/.htpasswd_stats', 0751);
+				$app->system->chmod($data['new']['document_root'].'/web/stats/.htpasswd_stats', 0755);
 				unset($htp_file);
 			}
 		}
-- 
GitLab


From 373e8817f82014fcde11157ed0d5e75eb77a5cb4 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 8 Aug 2014 10:55:34 +0200
Subject: [PATCH 071/158] Fixed: FS#3603 - system.inc.php:1827 is_allowed_user
 regex typo?

---
 interface/lib/classes/functions.inc.php | 4 ++--
 server/lib/classes/system.inc.php       | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index e37edda975..2d87c63344 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -430,7 +430,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
 		
@@ -443,7 +443,7 @@ class functions {
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
 		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
 		
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 20d4f93a1c..af42e5ec31 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1824,7 +1824,7 @@ class system{
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($username,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $username) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
 		
 		if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
 		
@@ -1839,7 +1839,7 @@ class system{
 		$name_blacklist = array('root','ispconfig','vmail','getmail');
 		if(in_array($groupname,$name_blacklist)) return false;
 		
-		if(preg_match('/^[a-zA-Z0-9\.\-]{1,32}$/', $groupname) == false) return false;
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
 		
 		if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;
 		
-- 
GitLab


From 65ad3435addc6292e378c88ec861dc58a3a8da3d Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Wed, 13 Aug 2014 12:52:18 +0200
Subject: [PATCH 072/158] - improved input validation

---
 interface/lib/classes/functions.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index 2d87c63344..8fed767087 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -248,7 +248,7 @@ class functions {
 		}
 
 		$ips = array();
-		$results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'");
+		$results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'");
 		if(!empty($results) && is_array($results)){
 			foreach($results as $result){
 				if(preg_match($regex, $result['ip'])){
-- 
GitLab


From 3e0fc8674ab8d1106d324eab809b49e420481e54 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 16:07:03 +0200
Subject: [PATCH 073/158] Changed owner of ispconfig server files from
 ispconfig to root user.

---
 install/dist/lib/fedora.lib.php    | 18 ++++++++++++++----
 install/dist/lib/gentoo.lib.php    | 18 ++++++++++++++----
 install/dist/lib/opensuse.lib.php  | 18 ++++++++++++++----
 install/lib/installer_base.lib.php | 18 ++++++++++++++----
 4 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 7a08f93f13..d6d975a150 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -958,12 +958,22 @@ class installer_dist extends installer_base {
 			$this->db->query($sql);
 		}
 
-		//* Chmod the files
-		$command = "chmod -R 750 $install_dir";
+		/// chown install dir to root and chmod 755
+		$command = 'chown root:root '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chmod 755 '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+		//* Chmod the files and directoreies in the install dir
+		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* chown the files to the ispconfig user and group
-		$command = "chown -R ispconfig:ispconfig $install_dir";
+		//* chown the interface files to the ispconfig user and group
+		$command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the server files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 4200a01398..26474c51fc 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -850,12 +850,22 @@ class installer extends installer_base
 			$this->db->query($sql);
 		}
 
-		//* Chmod the files
-		$command = "chmod -R 750 $install_dir";
+		// chown install dir to root and chmod 755
+		$command = 'chown root:root '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chmod 755 '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+		//* Chmod the files and directoreies in the install dir
+		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* chown the files to the ispconfig user and group
-		$command = "chown -R ispconfig:ispconfig $install_dir";
+		//* chown the interface files to the ispconfig user and group
+		$command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the server files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index f990e91960..dad3a6a3cb 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -1028,12 +1028,22 @@ class installer_dist extends installer_base {
 			$this->db->query($sql);
 		}
 
-		//* Chmod the files
-		$command = "chmod -R 750 $install_dir";
+		// chown install dir to root and chmod 755
+		$command = 'chown root:root '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chmod 755 '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+		//* Chmod the files and directoreies in the install dir
+		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* chown the files to the ispconfig user and group
-		$command = "chown -R ispconfig:ispconfig $install_dir";
+		//* chown the interface files to the ispconfig user and group
+		$command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the server files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 548cf9382a..a82ac2e74c 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1885,12 +1885,22 @@ class installer_base {
 		}
 
 
-		//* Chmod the files
-		$command = 'chmod -R 750 '.$install_dir;
+		// chown install dir to root and chmod 755
+		$command = 'chown root:root '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chmod 755 '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+		//* Chmod the files and directoreies in the install dir
+		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* chown the files to the ispconfig user and group
-		$command = 'chown -R ispconfig:ispconfig '.$install_dir;
+		//* chown the interface files to the ispconfig user and group
+		$command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the server files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
-- 
GitLab


From 0281b9f75ae39c1654ddb5acb0b5a1feb0a9f406 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 16:10:14 +0200
Subject: [PATCH 074/158] Removed unused files.

---
 interface/lib/classes/db_firebird.inc.php     | 384 ------------------
 interface/web/designer/form/empty.dir         |   1 -
 interface/web/designer/form_edit.php          | 153 -------
 interface/web/designer/form_list.php          |  89 ----
 interface/web/designer/form_show.php          | 119 ------
 interface/web/designer/index.php              |   1 -
 interface/web/designer/lib/admin.conf.php     |   4 -
 interface/web/designer/lib/lang/ar.lng        |   2 -
 .../web/designer/lib/lang/ar_form_edit.lng    |  24 --
 .../web/designer/lib/lang/ar_form_list.lng    |   7 -
 .../web/designer/lib/lang/ar_form_show.lng    |  18 -
 .../web/designer/lib/lang/ar_module_edit.lng  |  22 -
 .../web/designer/lib/lang/ar_module_list.lng  |   5 -
 .../designer/lib/lang/ar_module_nav_edit.lng  |   6 -
 .../lib/lang/ar_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/ar_module_show.lng  |  16 -
 interface/web/designer/lib/lang/bg.lng        |   2 -
 .../web/designer/lib/lang/bg_form_edit.lng    |  24 --
 .../web/designer/lib/lang/bg_form_list.lng    |   7 -
 .../web/designer/lib/lang/bg_form_show.lng    |  18 -
 .../web/designer/lib/lang/bg_module_edit.lng  |  12 -
 .../web/designer/lib/lang/bg_module_list.lng  |   5 -
 .../designer/lib/lang/bg_module_nav_edit.lng  |   6 -
 .../lib/lang/bg_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/bg_module_show.lng  |  16 -
 interface/web/designer/lib/lang/br.lng        |   2 -
 .../web/designer/lib/lang/br_form_edit.lng    |  24 --
 .../web/designer/lib/lang/br_form_list.lng    |   7 -
 .../web/designer/lib/lang/br_form_show.lng    |  18 -
 .../web/designer/lib/lang/br_module_edit.lng  |  22 -
 .../web/designer/lib/lang/br_module_list.lng  |   5 -
 .../designer/lib/lang/br_module_nav_edit.lng  |   6 -
 .../lib/lang/br_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/br_module_show.lng  |  16 -
 interface/web/designer/lib/lang/cz.lng        |   2 -
 .../web/designer/lib/lang/cz_form_edit.lng    |  24 --
 .../web/designer/lib/lang/cz_form_list.lng    |   7 -
 .../web/designer/lib/lang/cz_form_show.lng    |  18 -
 .../web/designer/lib/lang/cz_module_edit.lng  |  22 -
 .../web/designer/lib/lang/cz_module_list.lng  |   5 -
 .../designer/lib/lang/cz_module_nav_edit.lng  |   6 -
 .../lib/lang/cz_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/cz_module_show.lng  |  16 -
 interface/web/designer/lib/lang/de.lng        |   2 -
 .../web/designer/lib/lang/de_form_edit.lng    |  24 --
 .../web/designer/lib/lang/de_form_list.lng    |   7 -
 .../web/designer/lib/lang/de_form_show.lng    |  18 -
 .../web/designer/lib/lang/de_module_edit.lng  |  12 -
 .../web/designer/lib/lang/de_module_list.lng  |   5 -
 .../designer/lib/lang/de_module_nav_edit.lng  |   6 -
 .../lib/lang/de_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/de_module_show.lng  |  16 -
 interface/web/designer/lib/lang/el.lng        |   2 -
 .../web/designer/lib/lang/el_form_edit.lng    |  24 --
 .../web/designer/lib/lang/el_form_list.lng    |   7 -
 .../web/designer/lib/lang/el_form_show.lng    |  18 -
 .../web/designer/lib/lang/el_module_edit.lng  |  12 -
 .../web/designer/lib/lang/el_module_list.lng  |   5 -
 .../designer/lib/lang/el_module_nav_edit.lng  |   6 -
 .../lib/lang/el_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/el_module_show.lng  |  16 -
 interface/web/designer/lib/lang/en.lng        |   3 -
 .../web/designer/lib/lang/en_form_edit.lng    |  26 --
 .../web/designer/lib/lang/en_form_list.lng    |   7 -
 .../web/designer/lib/lang/en_form_show.lng    |  18 -
 .../web/designer/lib/lang/en_module_edit.lng  |  23 --
 .../web/designer/lib/lang/en_module_list.lng  |   5 -
 .../designer/lib/lang/en_module_nav_edit.lng  |   6 -
 .../lib/lang/en_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/en_module_show.lng  |  17 -
 interface/web/designer/lib/lang/es.lng        |   2 -
 .../web/designer/lib/lang/es_form_edit.lng    |  24 --
 .../web/designer/lib/lang/es_form_list.lng    |   7 -
 .../web/designer/lib/lang/es_form_show.lng    |  18 -
 .../web/designer/lib/lang/es_module_edit.lng  |  12 -
 .../web/designer/lib/lang/es_module_list.lng  |   5 -
 .../designer/lib/lang/es_module_nav_edit.lng  |   6 -
 .../lib/lang/es_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/es_module_show.lng  |  16 -
 interface/web/designer/lib/lang/fi.lng        |   2 -
 .../web/designer/lib/lang/fi_form_edit.lng    |  24 --
 .../web/designer/lib/lang/fi_form_list.lng    |   7 -
 .../web/designer/lib/lang/fi_form_show.lng    |  18 -
 .../web/designer/lib/lang/fi_module_edit.lng  |  22 -
 .../web/designer/lib/lang/fi_module_list.lng  |   5 -
 .../designer/lib/lang/fi_module_nav_edit.lng  |   6 -
 .../lib/lang/fi_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/fi_module_show.lng  |  16 -
 interface/web/designer/lib/lang/fr.lng        |   2 -
 .../web/designer/lib/lang/fr_form_edit.lng    |  24 --
 .../web/designer/lib/lang/fr_form_list.lng    |   7 -
 .../web/designer/lib/lang/fr_form_show.lng    |  18 -
 .../web/designer/lib/lang/fr_module_edit.lng  |  12 -
 .../web/designer/lib/lang/fr_module_list.lng  |   5 -
 .../designer/lib/lang/fr_module_nav_edit.lng  |   6 -
 .../lib/lang/fr_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/fr_module_show.lng  |  16 -
 interface/web/designer/lib/lang/hr.lng        |   2 -
 .../web/designer/lib/lang/hr_form_edit.lng    |  24 --
 .../web/designer/lib/lang/hr_form_list.lng    |   7 -
 .../web/designer/lib/lang/hr_form_show.lng    |  18 -
 .../web/designer/lib/lang/hr_module_edit.lng  |  12 -
 .../web/designer/lib/lang/hr_module_list.lng  |   5 -
 .../designer/lib/lang/hr_module_nav_edit.lng  |   6 -
 .../lib/lang/hr_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/hr_module_show.lng  |  16 -
 interface/web/designer/lib/lang/hu.lng        |   2 -
 .../web/designer/lib/lang/hu_form_edit.lng    |  24 --
 .../web/designer/lib/lang/hu_form_list.lng    |   7 -
 .../web/designer/lib/lang/hu_form_show.lng    |  18 -
 .../web/designer/lib/lang/hu_module_edit.lng  |  22 -
 .../web/designer/lib/lang/hu_module_list.lng  |   5 -
 .../designer/lib/lang/hu_module_nav_edit.lng  |   6 -
 .../lib/lang/hu_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/hu_module_show.lng  |  16 -
 interface/web/designer/lib/lang/id.lng        |   2 -
 .../web/designer/lib/lang/id_form_edit.lng    |  24 --
 .../web/designer/lib/lang/id_form_list.lng    |   7 -
 .../web/designer/lib/lang/id_form_show.lng    |  18 -
 .../web/designer/lib/lang/id_module_edit.lng  |  22 -
 .../web/designer/lib/lang/id_module_list.lng  |   5 -
 .../designer/lib/lang/id_module_nav_edit.lng  |   6 -
 .../lib/lang/id_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/id_module_show.lng  |  16 -
 interface/web/designer/lib/lang/it.lng        |   2 -
 .../web/designer/lib/lang/it_form_edit.lng    |  24 --
 .../web/designer/lib/lang/it_form_list.lng    |   7 -
 .../web/designer/lib/lang/it_form_show.lng    |  18 -
 .../web/designer/lib/lang/it_module_edit.lng  |  22 -
 .../web/designer/lib/lang/it_module_list.lng  |   5 -
 .../designer/lib/lang/it_module_nav_edit.lng  |   6 -
 .../lib/lang/it_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/it_module_show.lng  |  16 -
 interface/web/designer/lib/lang/ja.lng        |   2 -
 .../web/designer/lib/lang/ja_form_edit.lng    |  24 --
 .../web/designer/lib/lang/ja_form_list.lng    |   7 -
 .../web/designer/lib/lang/ja_form_show.lng    |  18 -
 .../web/designer/lib/lang/ja_module_edit.lng  |  22 -
 .../web/designer/lib/lang/ja_module_list.lng  |   5 -
 .../designer/lib/lang/ja_module_nav_edit.lng  |   6 -
 .../lib/lang/ja_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/ja_module_show.lng  |  16 -
 interface/web/designer/lib/lang/nl.lng        |   2 -
 .../web/designer/lib/lang/nl_form_edit.lng    |  24 --
 .../web/designer/lib/lang/nl_form_list.lng    |   7 -
 .../web/designer/lib/lang/nl_form_show.lng    |  18 -
 .../web/designer/lib/lang/nl_module_edit.lng  |  22 -
 .../web/designer/lib/lang/nl_module_list.lng  |   5 -
 .../designer/lib/lang/nl_module_nav_edit.lng  |   6 -
 .../lib/lang/nl_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/nl_module_show.lng  |  16 -
 interface/web/designer/lib/lang/pl.lng        |   2 -
 .../web/designer/lib/lang/pl_form_edit.lng    |  24 --
 .../web/designer/lib/lang/pl_form_list.lng    |   7 -
 .../web/designer/lib/lang/pl_form_show.lng    |  18 -
 .../web/designer/lib/lang/pl_module_edit.lng  |  22 -
 .../web/designer/lib/lang/pl_module_list.lng  |   5 -
 .../designer/lib/lang/pl_module_nav_edit.lng  |   6 -
 .../lib/lang/pl_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/pl_module_show.lng  |  16 -
 interface/web/designer/lib/lang/pt.lng        |   2 -
 .../web/designer/lib/lang/pt_form_edit.lng    |  24 --
 .../web/designer/lib/lang/pt_form_list.lng    |   7 -
 .../web/designer/lib/lang/pt_form_show.lng    |  18 -
 .../web/designer/lib/lang/pt_module_edit.lng  |  22 -
 .../web/designer/lib/lang/pt_module_list.lng  |   5 -
 .../designer/lib/lang/pt_module_nav_edit.lng  |   6 -
 .../lib/lang/pt_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/pt_module_show.lng  |  16 -
 interface/web/designer/lib/lang/ro.lng        |   2 -
 .../web/designer/lib/lang/ro_form_edit.lng    |  24 --
 .../web/designer/lib/lang/ro_form_list.lng    |   7 -
 .../web/designer/lib/lang/ro_form_show.lng    |  18 -
 .../web/designer/lib/lang/ro_module_edit.lng  |  12 -
 .../web/designer/lib/lang/ro_module_list.lng  |   5 -
 .../designer/lib/lang/ro_module_nav_edit.lng  |   6 -
 .../lib/lang/ro_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/ro_module_show.lng  |  16 -
 interface/web/designer/lib/lang/ru.lng        |   2 -
 .../web/designer/lib/lang/ru_form_edit.lng    |  24 --
 .../web/designer/lib/lang/ru_form_list.lng    |   7 -
 .../web/designer/lib/lang/ru_form_show.lng    |  18 -
 .../web/designer/lib/lang/ru_module_edit.lng  |  22 -
 .../web/designer/lib/lang/ru_module_list.lng  |   5 -
 .../designer/lib/lang/ru_module_nav_edit.lng  |   6 -
 .../lib/lang/ru_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/ru_module_show.lng  |  16 -
 interface/web/designer/lib/lang/se.lng        |   2 -
 .../web/designer/lib/lang/se_form_edit.lng    |  24 --
 .../web/designer/lib/lang/se_form_list.lng    |   7 -
 .../web/designer/lib/lang/se_form_show.lng    |  18 -
 .../web/designer/lib/lang/se_module_edit.lng  |  12 -
 .../web/designer/lib/lang/se_module_list.lng  |   5 -
 .../designer/lib/lang/se_module_nav_edit.lng  |   6 -
 .../lib/lang/se_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/se_module_show.lng  |  16 -
 interface/web/designer/lib/lang/sk.lng        |   2 -
 .../web/designer/lib/lang/sk_form_edit.lng    |  24 --
 .../web/designer/lib/lang/sk_form_list.lng    |   7 -
 .../web/designer/lib/lang/sk_form_show.lng    |  18 -
 .../web/designer/lib/lang/sk_module_edit.lng  |  12 -
 .../web/designer/lib/lang/sk_module_list.lng  |   5 -
 .../designer/lib/lang/sk_module_nav_edit.lng  |   6 -
 .../lib/lang/sk_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/sk_module_show.lng  |  16 -
 interface/web/designer/lib/lang/tr.lng        |   2 -
 .../web/designer/lib/lang/tr_form_edit.lng    |  24 --
 .../web/designer/lib/lang/tr_form_list.lng    |   7 -
 .../web/designer/lib/lang/tr_form_show.lng    |  18 -
 .../web/designer/lib/lang/tr_module_edit.lng  |  22 -
 .../web/designer/lib/lang/tr_module_list.lng  |   5 -
 .../designer/lib/lang/tr_module_nav_edit.lng  |   6 -
 .../lib/lang/tr_module_nav_item_edit.lng      |   8 -
 .../web/designer/lib/lang/tr_module_show.lng  |  16 -
 interface/web/designer/lib/module.conf.php    |  95 -----
 interface/web/designer/list/empty.dir         |   1 -
 interface/web/designer/module_edit.php        | 184 ---------
 interface/web/designer/module_list.php        |  69 ----
 interface/web/designer/module_nav_del.php     |  81 ----
 interface/web/designer/module_nav_edit.php    | 147 -------
 interface/web/designer/module_nav_flip.php    |  92 -----
 .../web/designer/module_nav_item_del.php      |  83 ----
 .../web/designer/module_nav_item_edit.php     | 151 -------
 .../web/designer/module_nav_item_flip.php     |  94 -----
 interface/web/designer/module_show.php        | 113 ------
 .../web/designer/templates/form_edit.htm      |  79 ----
 .../web/designer/templates/form_list.htm      |  29 --
 .../web/designer/templates/form_show.htm      |  61 ---
 .../web/designer/templates/module_edit.htm    |  43 --
 .../web/designer/templates/module_list.htm    |  23 --
 .../designer/templates/module_nav_edit.htm    |  24 --
 .../templates/module_nav_item_edit.htm        |  33 --
 .../web/designer/templates/module_show.htm    |  31 --
 .../web/designer/templates/paging.tpl.htm     |   9 -
 234 files changed, 4592 deletions(-)
 delete mode 100644 interface/lib/classes/db_firebird.inc.php
 delete mode 100644 interface/web/designer/form/empty.dir
 delete mode 100644 interface/web/designer/form_edit.php
 delete mode 100644 interface/web/designer/form_list.php
 delete mode 100644 interface/web/designer/form_show.php
 delete mode 100644 interface/web/designer/index.php
 delete mode 100644 interface/web/designer/lib/admin.conf.php
 delete mode 100644 interface/web/designer/lib/lang/ar.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ar_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/bg.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/bg_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/br.lng
 delete mode 100644 interface/web/designer/lib/lang/br_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/br_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/br_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/br_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/br_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/br_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/br_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/br_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/cz.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/cz_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/de.lng
 delete mode 100644 interface/web/designer/lib/lang/de_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/de_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/de_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/de_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/de_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/de_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/de_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/de_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/el.lng
 delete mode 100644 interface/web/designer/lib/lang/el_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/el_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/el_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/el_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/el_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/el_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/el_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/el_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/en.lng
 delete mode 100644 interface/web/designer/lib/lang/en_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/en_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/en_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/en_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/en_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/en_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/en_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/en_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/es.lng
 delete mode 100644 interface/web/designer/lib/lang/es_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/es_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/es_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/es_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/es_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/es_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/es_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/es_module_show.lng
 delete mode 100755 interface/web/designer/lib/lang/fi.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_form_edit.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_form_list.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_form_show.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_module_edit.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_module_list.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_module_nav_edit.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_module_nav_item_edit.lng
 delete mode 100755 interface/web/designer/lib/lang/fi_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/fr.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/fr_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/hr.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hr_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/hu.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/hu_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/id.lng
 delete mode 100644 interface/web/designer/lib/lang/id_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/id_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/id_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/id_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/id_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/id_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/id_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/id_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/it.lng
 delete mode 100644 interface/web/designer/lib/lang/it_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/it_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/it_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/it_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/it_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/it_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/it_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/it_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ja.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ja_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/nl.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/nl_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/pl.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pl_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/pt.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/pt_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ro.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ro_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ru.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/ru_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/se.lng
 delete mode 100644 interface/web/designer/lib/lang/se_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/se_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/se_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/se_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/se_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/se_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/se_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/se_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/sk.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/sk_module_show.lng
 delete mode 100644 interface/web/designer/lib/lang/tr.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_form_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_form_list.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_form_show.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_module_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_module_list.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_module_nav_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_module_nav_item_edit.lng
 delete mode 100644 interface/web/designer/lib/lang/tr_module_show.lng
 delete mode 100644 interface/web/designer/lib/module.conf.php
 delete mode 100644 interface/web/designer/list/empty.dir
 delete mode 100644 interface/web/designer/module_edit.php
 delete mode 100644 interface/web/designer/module_list.php
 delete mode 100644 interface/web/designer/module_nav_del.php
 delete mode 100644 interface/web/designer/module_nav_edit.php
 delete mode 100644 interface/web/designer/module_nav_flip.php
 delete mode 100644 interface/web/designer/module_nav_item_del.php
 delete mode 100644 interface/web/designer/module_nav_item_edit.php
 delete mode 100644 interface/web/designer/module_nav_item_flip.php
 delete mode 100644 interface/web/designer/module_show.php
 delete mode 100644 interface/web/designer/templates/form_edit.htm
 delete mode 100644 interface/web/designer/templates/form_list.htm
 delete mode 100644 interface/web/designer/templates/form_show.htm
 delete mode 100644 interface/web/designer/templates/module_edit.htm
 delete mode 100644 interface/web/designer/templates/module_list.htm
 delete mode 100644 interface/web/designer/templates/module_nav_edit.htm
 delete mode 100644 interface/web/designer/templates/module_nav_item_edit.htm
 delete mode 100644 interface/web/designer/templates/module_show.htm
 delete mode 100644 interface/web/designer/templates/paging.tpl.htm

diff --git a/interface/lib/classes/db_firebird.inc.php b/interface/lib/classes/db_firebird.inc.php
deleted file mode 100644
index fda4ef8e64..0000000000
--- a/interface/lib/classes/db_firebird.inc.php
+++ /dev/null
@@ -1,384 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-class db {
-	var $dbHost = "";  // hostname of the MySQL server
-	var $dbName = "";  // logical database name on that server
-	var $dbUser = "";  // database authorized user
-	var $dbPass = "";  // user's password
-	var $linkId = 0;  // last result of mysql_connect()
-	var $queryId = 0;  // last result of mysql_query()
-	var $record = array(); // last record fetched
-	var $autoCommit = 1;    // Autocommit Transactions
-	var $currentRow;  // current row number
-	var $errorNumber = 0; // last error number
-	var $errorMessage = ""; // last error message
-	var $errorLocation = "";// last error location
-	var $show_error_messages = false;
-	var $transID;
-
-	// constructor
-	function __construct()
-	{
-
-		global $conf;
-		$this->dbHost = $conf["db_host"];
-		$this->dbName = $conf["db_database"];
-		$this->dbUser = $conf["db_user"];
-		$this->dbPass = $conf["db_password"];
-		$this->connect();
-	}
-
-	function __destruct() {
-		$this->closeConn();
-	}
-
-	// error handler
-	function updateError($location)
-	{
-		//$this->errorNumber = mysql_errno();
-		$this->errorMessage = ibase_errmsg();
-		$this->errorLocation = $location;
-		if($this->errorNumber && $this->show_error_messages)
-		{
-			echo '<br /><b>'.$this->errorLocation.'</b><br />'.$this->errorMessage;
-			flush();
-		}
-	}
-
-	function connect()
-	{
-		if($this->linkId == 0)
-		{
-			$this->linkId = ibase_connect( $this->dbHost.":".$this->dbName , $this->dbUser, $this->dbPass, 'ISO8859_1', 0, 3 );
-			if(!$this->linkId)
-			{
-				$this->updateError('DB::connect()<br />ibase_pconnect');
-				return false;
-			}
-		}
-		return true;
-	}
-
-	function query($queryString)
-	{
-		if(!$this->connect()) {
-			return false;
-		}
-
-		if($this->autoCommit == 1) {
-			//$transID = ibase_trans();
-			$this->queryId = @ibase_query($this->linkId, $queryString);
-			//ibase_commit();
-		} else {
-			$this->queryId = @ibase_query($this->linkId, $queryString);
-		}
-
-
-		$this->updateError('DB::query('.$queryString.')<br />ibase_query');
-		if(!$this->queryId) {
-			return false;
-		}
-		$this->currentRow = 0;
-		return $this->queryId;
-	}
-
-	// returns all records in an array
-	function queryAllRecords($queryString)
-	{
-		if(!$this->query($queryString))
-		{
-			return false;
-		}
-		$ret = array();
-		while($line = $this->nextRecord())
-		{
-			$ret[] = $line;
-		}
-		//$this->freeResult();
-		ibase_free_result($this->queryId);
-		return $ret;
-	}
-
-	// returns one record in an array
-	function queryOneRecord($queryString)
-	{
-		if(!$this->query($queryString))
-		{
-			return false;
-		}
-		$result = $this->nextRecord();
-		ibase_free_result($this->queryId);
-		return $result;
-	}
-
-	// returns the next record in an array
-	function nextRecord()
-	{
-		$this->record = ibase_fetch_assoc($this->queryId);
-		$this->updateError('DB::nextRecord()<br />ibase_fetch_assoc');
-		if(!$this->record || !is_array($this->record))
-		{
-			return false;
-		}
-		$this->currentRow++;
-		return $this->record;
-	}
-
-	// returns number of rows returned by the last select query
-	function numRows()
-	{
-		return false;
-	}
-
-	// returns mySQL insert id
-	function insertID()
-	{
-		return false;
-	}
-
-	// Check der variablen
-	// deprecated, now use quote
-	function check($formfield)
-	{
-		return $this->quote($formfield);
-	}
-
-	// Check der variablen
-	function quote($formfield)
-	{
-		return str_replace("'", "''", $formfield);
-	}
-
-	// Check der variablen
-	function unquote($formfield)
-	{
-		return str_replace("''", "'", $formfield);
-	}
-
-	function toLower($record) {
-		if(is_array($record)) {
-			foreach($record as $key => $val) {
-				$key = strtolower($key);
-				$out[$key] = $val;
-			}
-		}
-		return $out;
-	}
-
-
-	function insert($tablename, $form, $debug = 0)
-	{
-		if(is_array($form)){
-			foreach($form as $key => $value)
-			{
-				$sql_key .= "$key, ";
-				$sql_value .= "'".$this->quote($value)."', ";
-			}
-			$sql_key = substr($sql_key, 0, strlen($sql_key) - 2);
-			$sql_value = substr($sql_value, 0, strlen($sql_value) - 2);
-
-			$sql = "INSERT INTO $tablename (" . $sql_key . ") VALUES (" . $sql_value .")";
-
-			if($debug == 1) echo "SQL-Statement: ".$sql."<br><br>";
-			$this->query($sql);
-			if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage;
-		}
-	}
-
-	function update($tablename, $form, $bedingung, $debug = 0)
-	{
-
-		if(is_array($form)){
-			foreach($form as $key => $value)
-			{
-				$insql .= "$key = '".$this->quote($value)."', ";
-			}
-			$insql = substr($insql, 0, strlen($insql) - 2);
-			$sql = "UPDATE $tablename SET " . $insql . " WHERE $bedingung";
-			if($debug == 1) echo "SQL-Statement: ".$sql."<br><br>";
-			$this->query($sql);
-			if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage;
-		}
-	}
-
-	function closeConn() {
-		ibase_close($this->linkId);
-	}
-
-	function freeResult() {
-		//ibase_free_result();
-	}
-
-	function delete() {
-
-	}
-
-	function trans($action, $transID = null) {
-		//action = begin, commit oder rollback
-
-		if($action == 'begin') {
-			$this->transID = ibase_trans($this->linkId);
-			return $this->transID;
-		}
-
-		if($action == 'commit' and !empty($this->transID)) {
-			ibase_commit($this->linkId, $this->transID);
-		}
-
-		if($action == 'rollback') {
-			ibase_rollback($this->linkId, $this->transID);
-		}
-
-	}
-
-	/*
-   $columns = array(action =>   add | alter | drop
-                    name =>     Spaltenname
-                    name_new => neuer Spaltenname, nur bei 'alter' belegt
-                    type =>     42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
-                    typeValue => Wert z.B. bei Varchar
-                    defaultValue =>  Default Wert
-                    notNull =>   true | false
-                    autoInc =>   true | false
-                    option =>   unique | primary | index)
-
-
-   */
-
-	function createTable($table_name, $columns) {
-		$index = "";
-		$sql = "CREATE TABLE $table_name (";
-		foreach($columns as $col){
-			$sql .= $col["name"]." ".$this->mapType($col["type"], $col["typeValue"])." ";
-
-			if($col["defaultValue"] != "") $sql .= "DEFAULT '".$col["defaultValue"]."' ";
-			if($col["notNull"] == true) {
-				$sql .= "NOT NULL ";
-			} else {
-				$sql .= "NULL ";
-			}
-			if($col["autoInc"] == true) $sql .= "auto_increment ";
-			$sql.= ",";
-			// key Definitionen
-			if($col["option"] == "primary") $index .= "PRIMARY KEY (".$col["name"]."),";
-			if($col["option"] == "index") $index .= "INDEX (".$col["name"]."),";
-			if($col["option"] == "unique") $index .= "UNIQUE (".$col["name"]."),";
-		}
-		$sql .= $index;
-		$sql = substr($sql, 0, -1);
-		$sql .= ")";
-
-		$this->query($sql);
-		return true;
-	}
-
-	/*
-   $columns = array(action =>   add | alter | drop
-                    name =>     Spaltenname
-                    name_new => neuer Spaltenname, nur bei 'alter' belegt
-                    type =>     42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
-                    typeValue => Wert z.B. bei Varchar
-                    defaultValue =>  Default Wert
-                    notNull =>   true | false
-                    autoInc =>   true | false
-                    option =>   unique | primary | index)
-
-
-   */
-	function alterTable($table_name, $columns) {
-		return false;
-	}
-
-	function dropTable($table_name) {
-		$this->check($table_name);
-		$sql = "DROP TABLE '". $table_name."'";
-		return $this->query($sql);
-	}
-
-	// gibt Array mit Tabellennamen zurück
-	function getTables($database_name) {
-		return false;
-	}
-
-	// gibt Feldinformationen zur Tabelle zurück
-	/*
-   $columns = array(action =>   add | alter | drop
-                    name =>     Spaltenname
-                    name_new => neuer Spaltenname, nur bei 'alter' belegt
-                    type =>     42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
-                    typeValue => Wert z.B. bei Varchar
-                    defaultValue =>  Default Wert
-                    notNull =>   true | false
-                    autoInc =>   true | false
-                    option =>   unique | primary | index)
-
-
-   */
-
-	function tableInfo($table_name) {
-		return false;
-	}
-
-	function mapType($metaType, $typeValue) {
-		global $go_api;
-		$metaType = strtolower($metaType);
-		switch ($metaType) {
-		case 'int16':
-			return 'smallint';
-			break;
-		case 'int32':
-			return 'int';
-			break;
-		case 'int64':
-			return 'bigint';
-			break;
-		case 'double':
-			return 'double';
-			break;
-		case 'char':
-			return 'char';
-			break;
-		case 'varchar':
-			if($typeValue < 1) $go_api->errorMessage("Datenbank Fehler: Für diesen Datentyp ist eine Längenangabe notwendig.");
-			return 'varchar('.$typeValue.')';
-			break;
-		case 'text':
-			return 'text';
-			break;
-		case 'blob':
-			return 'blob';
-			break;
-		}
-	}
-
-}
-
-?>
diff --git a/interface/web/designer/form/empty.dir b/interface/web/designer/form/empty.dir
deleted file mode 100644
index 95ba9ef37c..0000000000
--- a/interface/web/designer/form/empty.dir
+++ /dev/null
@@ -1 +0,0 @@
-This empty directory is needed by ISPConfig.
diff --git a/interface/web/designer/form_edit.php b/interface/web/designer/form_edit.php
deleted file mode 100644
index 2127fea688..0000000000
--- a/interface/web/designer/form_edit.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/form_edit.htm');
-
-// Importing variables
-$module_name = $_REQUEST["module_name"];
-$form_name = $_REQUEST["form_name"];
-
-// Checking imported variables
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $form_name)) die("form_name contains invalid chars.");
-
-$id = $form_name;
-
-if(count($_POST) > 1) {
-	// Bestimme aktion
-	if($id != '') {
-		$action = 'UPDATE';
-	} else {
-		$action = 'INSERT';
-	}
-
-
-	if($error == '') {
-
-		$filename = "../".$module_name."/form/".$form_name.".tform.php";
-		$form_new = $_POST["form"];
-
-		if(@is_file($filename)) {
-			include_once $filename;
-			$tabs = $form["tabs"];
-			unset($form["tabs"]);
-			$form_new["tabs"] = $tabs;
-		}
-
-		$file_content = "<?php\r\n".'$form = '.var_export($form_new, true)."\r\n?>";
-
-		die($file_content);
-
-		// writing module.conf
-		if (!$handle = fopen($filename, 'w')) {
-			print "Cannot open file ($filename)";
-			exit;
-		}
-
-		if (!fwrite($handle, $file_content)) {
-			print "Cannot write to file ($filename)";
-			exit;
-		}
-
-		fclose($handle);
-
-		// zu Liste springen
-		header("Location: form_list.php");
-		exit;
-
-	} else {
-		$app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
-		$app->tpl->setVar($_POST);
-	}
-}
-
-if($id != '') {
-	// Datensatz besteht bereits
-	// bestehenden Datensatz anzeigen
-	if($error == '') {
-		// es liegt ein Fehler vor
-		include_once "../".$module_name."/form/".$form_name.".tform.php";
-		//$tabs = $form["tabs"];
-		unset($form["tabs"]);
-		$record = $form;
-		$record["form_name"] = $form_name;
-		$record["module_name"] = $module_name;
-		$record["auth_preset_userid"] = $form["auth_preset"]["userid"];
-		$record["auth_preset_groupid"] = $form["auth_preset"]["groupid"];
-		$record["auth_preset_perm_user"] = $form["auth_preset"]["perm_user"];
-		$record["auth_preset_perm_group"] = $form["auth_preset"]["perm_group"];
-		$record["auth_preset_perm_other"] = $form["auth_preset"]["perm_other"];
-	} else {
-		// ein Fehler
-		$record = $_POST;
-		//$navi = $_POST["nav"];
-		unset($_POST["tabs"]);
-	}
-	$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
-	// neuer datensatz
-	if($error == '') {
-		// es liegt kein Fehler vor
-		// Pewsets
-		$record["template"] = "module.tpl.htm";
-	} else {
-		// ein Fehler
-		$record = $_POST;
-		unset($_POST["tabs"]);
-
-	}
-	$record["readonly"] = '';
-}
-
-$record["id"] = $form_name;
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_form_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/form_list.php b/interface/web/designer/form_list.php
deleted file mode 100644
index 0093275979..0000000000
--- a/interface/web/designer/form_list.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/form_list.htm');
-
-function getinfo($file, $form_file, $bgcolor) {
-	$module_name = $file;
-	include ISPC_WEB_PATH."/$file/form/$form_file";
-	return array(  'name' =>        $form['name'],
-		'title' =>       $form['title'],
-		'description' => $form['description'],
-		'module_name' => $module_name,
-		'bgcolor' =>     $bgcolor
-	);
-}
-
-// lese Module aus
-$bgcolor = '#FFFFFF';
-$modules_list = array();
-$handle = @opendir(ISPC_WEB_PATH);
-while ($file = @readdir($handle)) {
-	if ($file != '.' && $file != '..') {
-		if(@is_dir(ISPC_WEB_PATH."/$file")) {
-			if(is_file(ISPC_WEB_PATH.'/'.$file.'/lib/module.conf.php') and $file != 'login') {
-				if(@is_dir(ISPC_WEB_PATH."/$file/form")) {
-					$handle2 = opendir(ISPC_WEB_PATH."/$file/form");
-					while ($form_file = @readdir($handle2)) {
-						if (substr($form_file, 0, 1) != ".") {
-							//echo ISPC_ROOT_PATH."/web/".$file."/form/$form_file<br>";
-							//include_once(ISPC_ROOT_PATH."/web/".$file."/form/$form_file");
-							// Farbwechsel
-							$bgcolor = ($bgcolor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF';
-							$modules_list[] = getinfo($file, $form_file, $bgcolor);
-
-						}
-					}
-				}
-			}
-		}
-	}
-}
-
-$app->tpl->setLoop('records', $modules_list);
-
-//* load language file
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_form_list.lng';
-include $lng_file;
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-?>
diff --git a/interface/web/designer/form_show.php b/interface/web/designer/form_show.php
deleted file mode 100644
index 74e609bf17..0000000000
--- a/interface/web/designer/form_show.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/form_show.htm');
-
-
-// TODO: Check ID for malicius chars
-$module_name = $_REQUEST["module_name"];
-$form_name = $_REQUEST["form_name"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $form_name)) die("form_name contains invalid chars.");
-
-include_once "../".$module_name."/form/".$form_name.".tform.php";
-$tabs = $form["tabs"];
-unset($form["tabs"]);
-$record = $form;
-$record["form_name"] = $form_name;
-$record["module_name"] = $module_name;
-
-// loading language file
-$lng_file = "lib/lang/".$_SESSION["s"]["language"]."_form_show.lng";
-include $lng_file;
-$app->tpl->setVar($wb);
-
-// baue Tabs navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-if(is_array($tabs)) {
-	foreach($tabs as $tab_id => $tab) {
-		$content .= "<tr>
-    <td colspan='2' class='frmText11'>
-	  <table width='100%'>
-	  	<tr>
-		  <td class='tblHead'>$tab[title]</td>
-		  <td class='tblHead' width='220' align='right'>
-		  <input type=\"button\" name=\"bt1$n2\" value=\"$wb[edit_txt]\" onclick=\"location.href='form_tab_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id'\" class=\"button\" />
-		  <input type=\"button\" name=\"bt2$n2\" value=\"$wb[delete_txt]\" onclick=\"del_menu('form_tab_del.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id');\" class=\"button\" />
-		  <input type=\"button\" name=\"bt3$n2\" value=\"$wb[new_txt]\" onclick=\"location.href='form_tab_item_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id'\" class=\"button\" />
-		  <input type=\"button\" name=\"bt4$n2\" value=\"$wb[up_txt]\" onclick=\"location.href='form_tab_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&dir=up'\" class=\"button\" />
-		  <input type=\"button\" name=\"bt5$n2\" value=\"$wb[down_txt]\" onclick=\"location.href='form_tab_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&dir=down'\" class=\"button\" />
-		  </td>
-		</tr>";
-		//$content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
-		foreach($tab["fields"] as $field_id => $field) {
-			//$content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-			//$content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
-			//$content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-			$content .= "<tr>
-		  <td class='frmText11'>$field_id</td>
-		  <td class='frmText11' width='220' align='right'>
-		  <input type=\"button\" name=\"bt6$n2\" value=\"$wb[edit_txt]\" onclick=\"location.href='form_field_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id'\" class=\"button\" />
-		  <input type=\"button\" name=\"bt7$n2\" value=\"$wb[delete_txt]\" onclick=\"del_menuitem('form_field_del.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id');\" class=\"button\" />
-		  <input type=\"button\" name=\"bt8$n2\" value=\"$wb[up_txt]\" onclick=\"location.href='form_field_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id&dir=up'\" class=\"button\" />
-		  <input type=\"button\" name=\"bt9$n2\" value=\"$wb[down_txt]\" onclick=\"location.href='form_field_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id&dir=down'\" class=\"button\" />
-		  </td>
-		</tr>";
-			$n2++;
-		}
-		$content .= "<tr><td colspan='2' class='tblFooter'>&nbsp;</td></tr>
-	  </table>
-	</td>
-  </tr>";
-		$n1++;
-	}
-}
-
-$record["nav"] = $content;
-
-
-$app->tpl->setVar($record);
-
-
-$app->tpl->setLoop('records', $modules_list);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-
-?>
diff --git a/interface/web/designer/index.php b/interface/web/designer/index.php
deleted file mode 100644
index 8b13789179..0000000000
--- a/interface/web/designer/index.php
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/interface/web/designer/lib/admin.conf.php b/interface/web/designer/lib/admin.conf.php
deleted file mode 100644
index 6eff33c4ec..0000000000
--- a/interface/web/designer/lib/admin.conf.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-
-
-?>
diff --git a/interface/web/designer/lib/lang/ar.lng b/interface/web/designer/lib/lang/ar.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/ar.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_edit.lng b/interface/web/designer/lib/lang/ar_form_edit.lng
deleted file mode 100644
index 54fe173eca..0000000000
--- a/interface/web/designer/lib/lang/ar_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Other';
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_list.lng b/interface/web/designer/lib/lang/ar_form_list.lng
deleted file mode 100644
index 47432257fd..0000000000
--- a/interface/web/designer/lib/lang/ar_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_show.lng b/interface/web/designer/lib/lang/ar_form_show.lng
deleted file mode 100644
index 37017fa4a8..0000000000
--- a/interface/web/designer/lib/lang/ar_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Delete the module and all subdirectories?';
-$wb['menu_del_txt'] = 'Delete menu with all menuitems?';
-$wb['item_del_txt'] = 'Delete menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_edit.lng b/interface/web/designer/lib/lang/ar_module_edit.lng
deleted file mode 100644
index 592ccd76bc..0000000000
--- a/interface/web/designer/lib/lang/ar_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_list.lng b/interface/web/designer/lib/lang/ar_module_list.lng
deleted file mode 100644
index bc9ebed580..0000000000
--- a/interface/web/designer/lib/lang/ar_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_nav_edit.lng b/interface/web/designer/lib/lang/ar_module_nav_edit.lng
deleted file mode 100644
index fa5f15aa9e..0000000000
--- a/interface/web/designer/lib/lang/ar_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d1592a..0000000000
--- a/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_show.lng b/interface/web/designer/lib/lang/ar_module_show.lng
deleted file mode 100644
index 2cf9b07a80..0000000000
--- a/interface/web/designer/lib/lang/ar_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/bg.lng b/interface/web/designer/lib/lang/bg.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/bg.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/bg_form_edit.lng b/interface/web/designer/lib/lang/bg_form_edit.lng
deleted file mode 100644
index 3c13194c4c..0000000000
--- a/interface/web/designer/lib/lang/bg_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Име';
-$wb['title_txt'] = 'Заглавие';
-$wb['template_txt'] = 'Темплейт';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Начална страница';
-$wb['tab_width_txt'] = 'Широчина на таб-а';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-$wb['header_txt'] = 'Характеристики на формата';
-$wb['description_txt'] = 'Описание';
-$wb['action_txt'] = 'Действие (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Разрешения';
-$wb['auth_preset_userid_txt'] = 'ПотребителскоID';
-$wb['auth_preset_groupid_txt'] = 'ГруповоID';
-$wb['auth_preset_perm_user_txt'] = 'Разр. Потребител';
-$wb['auth_preset_perm_group_txt'] = 'Разр. Група';
-$wb['auth_preset_perm_other_txt'] = 'Разр. Други';
-?>
diff --git a/interface/web/designer/lib/lang/bg_form_list.lng b/interface/web/designer/lib/lang/bg_form_list.lng
deleted file mode 100644
index 4a053a3c58..0000000000
--- a/interface/web/designer/lib/lang/bg_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Форми';
-$wb['form_txt'] = 'Форма';
-$wb['module_txt'] = 'Модул';
-$wb['title_txt'] = 'Име';
-$wb['description_txt'] = 'Описание';
-?>
diff --git a/interface/web/designer/lib/lang/bg_form_show.lng b/interface/web/designer/lib/lang/bg_form_show.lng
deleted file mode 100644
index 78cf0edda1..0000000000
--- a/interface/web/designer/lib/lang/bg_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор на форми';
-$wb['title_txt'] = 'Заглавие';
-$wb['name_txt'] = 'Име';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Характеристики';
-$wb['new_tab_txt'] = 'Нов таб';
-$wb['edit_txt'] = 'Редактиране';
-$wb['new_txt'] = 'Нов';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Модул';
-$wb['form_txt'] = 'Форма';
-$wb['description_txt'] = 'Описание';
-$wb['module_del_txt'] = 'Наистина ли желаете да изтриете модула и всички намиращи се в него файлове и поддиректории?';
-$wb['menu_del_txt'] = 'Наистина ли желаете да изтриете това меню и неговите елементи?';
-$wb['item_del_txt'] = 'Наистина ли желаете да изтриете този елемент?';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_edit.lng b/interface/web/designer/lib/lang/bg_module_edit.lng
deleted file mode 100644
index bbb53a32fe..0000000000
--- a/interface/web/designer/lib/lang/bg_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Име на модула';
-$wb['title_txt'] = 'Заглавие на модула';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Страница по подразбиране';
-$wb['tab_width_txt'] = 'Широчина на таб-а';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-$wb['header_txt'] = 'Характеристики';
-$wb['description_txt'] = '<b>Описание</b> <br><br> <b>Имена модула:</b> Име на директорията за модули. разрешени са числа и букви  малки.<br> <b>Име на модул:</b> Will be shown in the (upper) main navigation.<br> <b>Template file:</b> Template file of the module. Currently';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_list.lng b/interface/web/designer/lib/lang/bg_module_list.lng
deleted file mode 100644
index 31209a0757..0000000000
--- a/interface/web/designer/lib/lang/bg_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Модули';
-$wb['module_txt'] = 'Модул';
-$wb['title_txt'] = 'Име';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_nav_edit.lng b/interface/web/designer/lib/lang/bg_module_nav_edit.lng
deleted file mode 100644
index 13d9675b5a..0000000000
--- a/interface/web/designer/lib/lang/bg_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заглавие';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng b/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng
deleted file mode 100644
index 1b2f22f2a2..0000000000
--- a/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заглвие';
-$wb['target_txt'] = 'Цел';
-$wb['link_txt'] = 'Линк';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_show.lng b/interface/web/designer/lib/lang/bg_module_show.lng
deleted file mode 100644
index 3cbe96358f..0000000000
--- a/interface/web/designer/lib/lang/bg_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор на менютата';
-$wb['title_txt'] = 'Име';
-$wb['name_txt'] = 'Модул';
-$wb['delete_txt'] = 'Изтриване';
-$wb['properties_txt'] = 'Характеристики';
-$wb['new_menu_txt'] = 'Ново меню';
-$wb['edit_txt'] = 'Редакция';
-$wb['new_txt'] = 'Ново';
-$wb['up_txt'] = 'Нагоре';
-$wb['down_txt'] = 'Надолу';
-$wb['module_txt'] = 'Модул';
-$wb['module_del_txt'] = 'Наистина ли желаете да изтриете модула и всички намиращи се в него файлове и поддиректории?';
-$wb['menu_del_txt'] = 'Наистина ли желаете да изтриете това меню и неговите елементи?';
-$wb['item_del_txt'] = 'Наистина ли желаете да изтриете този елемент?';
-?>
diff --git a/interface/web/designer/lib/lang/br.lng b/interface/web/designer/lib/lang/br.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/br.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/br_form_edit.lng b/interface/web/designer/lib/lang/br_form_edit.lng
deleted file mode 100644
index 7d7534a4ee..0000000000
--- a/interface/web/designer/lib/lang/br_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['template_txt'] = 'Gabarito';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Inicial';
-$wb['tab_width_txt'] = 'Tamanho da aba';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['action_txt'] = 'Ação (script)';
-$wb['db_table_txt'] = 'Tabela do DB';
-$wb['db_table_idx_txt'] = 'Indíce da tabela do DB';
-$wb['db_history_txt'] = 'Desfazer Log';
-$wb['tab_default_txt'] = 'Aba Padrão';
-$wb['list_default_txt'] = 'Exibir Padrão';
-$wb['auth_txt'] = 'Permissões';
-$wb['auth_preset_userid_txt'] = 'Usuário(ID)';
-$wb['auth_preset_groupid_txt'] = 'Grupo(ID)';
-$wb['auth_preset_perm_user_txt'] = 'Perm. Usuário';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Grupo';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Outros';
-?>
diff --git a/interface/web/designer/lib/lang/br_form_list.lng b/interface/web/designer/lib/lang/br_form_list.lng
deleted file mode 100644
index b16ce554b0..0000000000
--- a/interface/web/designer/lib/lang/br_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulário de Backend';
-$wb['form_txt'] = 'Formulário';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descrição';
-?>
diff --git a/interface/web/designer/lib/lang/br_form_show.lng b/interface/web/designer/lib/lang/br_form_show.lng
deleted file mode 100644
index 5b68a31651..0000000000
--- a/interface/web/designer/lib/lang/br_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Formulários';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_tab_txt'] = 'Nova Aba';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['module_del_txt'] = 'Remover o módulo e todos seus sub-diretórios?';
-$wb['menu_del_txt'] = 'Remover o menu e todos os seus itens?';
-$wb['item_del_txt'] = 'Remover o item de menu?';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_edit.lng b/interface/web/designer/lib/lang/br_module_edit.lng
deleted file mode 100644
index 34471acd29..0000000000
--- a/interface/web/designer/lib/lang/br_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Módulo';
-$wb['title_txt'] = 'Título do Módulo';
-$wb['template_txt'] = 'Arquivo de Gabarito';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Padrão';
-$wb['tab_width_txt'] = 'Tamanho da Aba';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Módulo';
-$wb['description_txt'] = '
-<b>Descrição</b>
-<br><br>
-<b>Nome do Módulo:</b> Nome do diretório do módulo. Somente números, letras e underscores são permitidos.<br>
-<b>Título do Módulo:</b> Será exibido em caixa alta no menu de navegação.<br>
-<b>Arquivo de Gabarito:</b> Arquivo de Gabarito do Módulo Disponível: modulo.tpl.htm e modulo_tree.tpl.htm. O padrão é modulo.tpl.htm.<br>
-<b>Frame de Navegação:</b> Se modulo_tree.tpl.htm foi selecionado como arquivo de gabarito, insira aqui o caminho do script para o frame a esquerda.<br>
-<b>Página Padrão:</b> Esta página será exibida quando o módulo for aberto.<br>
-<b>Tamanho da Aba:</b> Tamanho das abas na navegação principal. Este campo fica em branco por padrão. Você pode informar valores absolutos em pixels (ex.: 20) ou valores relativos (ex.: 20%).<br>
-<b>Dica:</b> Todos os caminhos são relativos ao diretório web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_list.lng b/interface/web/designer/lib/lang/br_module_list.lng
deleted file mode 100644
index 822263a4ad..0000000000
--- a/interface/web/designer/lib/lang/br_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo do Backend';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_nav_edit.lng b/interface/web/designer/lib/lang/br_module_nav_edit.lng
deleted file mode 100644
index c5e3266a7b..0000000000
--- a/interface/web/designer/lib/lang/br_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_nav_item_edit.lng b/interface/web/designer/lib/lang/br_module_nav_item_edit.lng
deleted file mode 100644
index 5eafa775af..0000000000
--- a/interface/web/designer/lib/lang/br_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_show.lng b/interface/web/designer/lib/lang/br_module_show.lng
deleted file mode 100644
index 1fb1800714..0000000000
--- a/interface/web/designer/lib/lang/br_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Menu';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_menu_txt'] = 'Novo Menu';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Subir';
-$wb['down_txt'] = 'Descer';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = 'Deseja eliminar este módulo e todos os arquivos contidos no diretório?';
-$wb['menu_del_txt'] = 'Deseja apagar este menu e todos seus elementos?';
-$wb['item_del_txt'] = 'Deseja apagar este elemento do menu?';
-?>
diff --git a/interface/web/designer/lib/lang/cz.lng b/interface/web/designer/lib/lang/cz.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/cz.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/cz_form_edit.lng b/interface/web/designer/lib/lang/cz_form_edit.lng
deleted file mode 100644
index 75bf5a5606..0000000000
--- a/interface/web/designer/lib/lang/cz_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Název formuláře';
-$wb['title_txt'] = 'Titulek formuláře';
-$wb['template_txt'] = 'Å ablona';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozí stránka';
-$wb['tab_width_txt'] = 'Šířka záložky';
-$wb['save_txt'] = 'Uložit';
-$wb['cancel_txt'] = 'Zrušit';
-$wb['header_txt'] = 'Vlastnosti formuláře';
-$wb['description_txt'] = 'Popis';
-$wb['action_txt'] = 'Akce (skript)';
-$wb['db_table_txt'] = 'DB tabulka';
-$wb['db_table_idx_txt'] = 'DB index tabulky';
-$wb['db_history_txt'] = 'Undo log';
-$wb['tab_default_txt'] = 'Výchozí záložka';
-$wb['list_default_txt'] = 'Výchozí Liste';
-$wb['auth_txt'] = 'Oprávnění';
-$wb['auth_preset_userid_txt'] = 'Uživatelské ID';
-$wb['auth_preset_groupid_txt'] = 'Skupinové ID';
-$wb['auth_preset_perm_user_txt'] = 'Opr. Uživatel';
-$wb['auth_preset_perm_group_txt'] = 'Opr. Skupina';
-$wb['auth_preset_perm_other_txt'] = 'Opr. Ostatní';
-?>
diff --git a/interface/web/designer/lib/lang/cz_form_list.lng b/interface/web/designer/lib/lang/cz_form_list.lng
deleted file mode 100644
index 1e677f2410..0000000000
--- a/interface/web/designer/lib/lang/cz_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titulek';
-$wb['description_txt'] = 'Popis';
-?>
diff --git a/interface/web/designer/lib/lang/cz_form_show.lng b/interface/web/designer/lib/lang/cz_form_show.lng
deleted file mode 100644
index 6c3abe4440..0000000000
--- a/interface/web/designer/lib/lang/cz_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Smazat';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Upravit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Popis';
-$wb['module_del_txt'] = 'Delete the module and all subdirectories?';
-$wb['menu_del_txt'] = 'Delete menu with all menuitems?';
-$wb['item_del_txt'] = 'Delete menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_edit.lng b/interface/web/designer/lib/lang/cz_module_edit.lng
deleted file mode 100644
index 972bc2ccf9..0000000000
--- a/interface/web/designer/lib/lang/cz_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Název modulu';
-$wb['title_txt'] = 'Titulek modulu';
-$wb['template_txt'] = 'Soubor se Å¡ablonou';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozí stránka';
-$wb['tab_width_txt'] = 'Šířka záložky';
-$wb['save_txt'] = 'Uložit';
-$wb['cancel_txt'] = 'Zrušit';
-$wb['header_txt'] = 'Vlastnosti modulu';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory \\"web\\".
-';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_list.lng b/interface/web/designer/lib/lang/cz_module_list.lng
deleted file mode 100644
index b568f69d63..0000000000
--- a/interface/web/designer/lib/lang/cz_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend modul';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titulek';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_nav_edit.lng b/interface/web/designer/lib/lang/cz_module_nav_edit.lng
deleted file mode 100644
index 01f5df68fb..0000000000
--- a/interface/web/designer/lib/lang/cz_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titulek';
-$wb['header_txt'] = 'Navi vlastnosti';
-$wb['save_txt'] = 'Uložit';
-$wb['cancel_txt'] = 'Zrušit';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng b/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng
deleted file mode 100644
index 0fdc8c4ccc..0000000000
--- a/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Oslovení';
-$wb['target_txt'] = 'Cíl';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Uložit';
-$wb['cancel_txt'] = 'Zrušit';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_show.lng b/interface/web/designer/lib/lang/cz_module_show.lng
deleted file mode 100644
index ce5df415de..0000000000
--- a/interface/web/designer/lib/lang/cz_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Oslovení';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Smazat';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Upravit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/de.lng b/interface/web/designer/lib/lang/de.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/de.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/de_form_edit.lng b/interface/web/designer/lib/lang/de_form_edit.lng
deleted file mode 100644
index 74bf458d90..0000000000
--- a/interface/web/designer/lib/lang/de_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formularname';
-$wb['title_txt'] = 'Formulartitel';
-$wb['template_txt'] = 'Vorlage';
-$wb['navframe_txt'] = 'Navigationsframe';
-$wb['startpage_txt'] = 'Startseite';
-$wb['tab_width_txt'] = 'Tab Breite';
-$wb['save_txt'] = 'Speichern';
-$wb['cancel_txt'] = 'Abbrechen';
-$wb['header_txt'] = 'Formular Eigenschaften';
-$wb['description_txt'] = 'Beschreibung';
-$wb['action_txt'] = 'Aktion (Skript)';
-$wb['db_table_txt'] = 'DB Tabelle';
-$wb['db_table_idx_txt'] = 'DB Tabellenindex';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Standard Tab';
-$wb['list_default_txt'] = 'Standard Liste';
-$wb['auth_txt'] = 'Berechtigungen';
-$wb['auth_preset_userid_txt'] = 'Benutzer ID';
-$wb['auth_preset_groupid_txt'] = 'Gruppen ID';
-$wb['auth_preset_perm_user_txt'] = 'Benutzerberechtigungen';
-$wb['auth_preset_perm_group_txt'] = 'Gruppenberechtigungen';
-$wb['auth_preset_perm_other_txt'] = 'andere Berechtigungen';
-?>
diff --git a/interface/web/designer/lib/lang/de_form_list.lng b/interface/web/designer/lib/lang/de_form_list.lng
deleted file mode 100644
index 998a64f702..0000000000
--- a/interface/web/designer/lib/lang/de_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulare';
-$wb['form_txt'] = 'Formular';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Bezeichnung';
-$wb['description_txt'] = 'Beschreibung';
-?>
diff --git a/interface/web/designer/lib/lang/de_form_show.lng b/interface/web/designer/lib/lang/de_form_show.lng
deleted file mode 100644
index b19fd34457..0000000000
--- a/interface/web/designer/lib/lang/de_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulareditor';
-$wb['title_txt'] = 'Formulartitel';
-$wb['name_txt'] = 'Formularname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Eigenschaften';
-$wb['new_tab_txt'] = 'neuer Reiter';
-$wb['edit_txt'] = 'Bearbeiten';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formular';
-$wb['description_txt'] = 'Beschreibung';
-$wb['module_del_txt'] = 'Modul und alle Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Menü samt Menüeinträgen löschen?';
-$wb['item_del_txt'] = 'Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_edit.lng b/interface/web/designer/lib/lang/de_module_edit.lng
deleted file mode 100644
index 6eacd64b1d..0000000000
--- a/interface/web/designer/lib/lang/de_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulname';
-$wb['title_txt'] = 'Modulbezeichnung';
-$wb['template_txt'] = 'Vorlage';
-$wb['navframe_txt'] = 'Navigationsframe';
-$wb['startpage_txt'] = 'Startseite';
-$wb['tab_width_txt'] = 'Reiterkartenbreite';
-$wb['save_txt'] = 'Speichern';
-$wb['cancel_txt'] = 'Abbrechen';
-$wb['header_txt'] = 'Moduleigenschaften';
-$wb['description_txt'] = 'Beschreibung';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_list.lng b/interface/web/designer/lib/lang/de_module_list.lng
deleted file mode 100644
index 6040630203..0000000000
--- a/interface/web/designer/lib/lang/de_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Bezeichnung';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_nav_edit.lng b/interface/web/designer/lib/lang/de_module_nav_edit.lng
deleted file mode 100644
index d5142f03cb..0000000000
--- a/interface/web/designer/lib/lang/de_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Ãœberschrift';
-$wb['header_txt'] = 'Navigation Eigenschaften';
-$wb['save_txt'] = 'Speichern';
-$wb['cancel_txt'] = 'Abbrechen';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
deleted file mode 100644
index 8c0c33c1a6..0000000000
--- a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Ãœberschrift';
-$wb['target_txt'] = 'Ziel';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navigation Eigenschaften';
-$wb['save_txt'] = 'Speichern';
-$wb['cancel_txt'] = 'Abbrechen';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_show.lng b/interface/web/designer/lib/lang/de_module_show.lng
deleted file mode 100644
index f4b2ad11f8..0000000000
--- a/interface/web/designer/lib/lang/de_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menüeditor';
-$wb['title_txt'] = 'Titel';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Löschen';
-$wb['properties_txt'] = 'Eigenschaften';
-$wb['new_menu_txt'] = 'Menü hinzufügen';
-$wb['edit_txt'] = 'Bearbeiten';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = 'nach oben';
-$wb['down_txt'] = 'nach unten';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/el.lng b/interface/web/designer/lib/lang/el.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/el.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/el_form_edit.lng b/interface/web/designer/lib/lang/el_form_edit.lng
deleted file mode 100644
index 04ebc02db3..0000000000
--- a/interface/web/designer/lib/lang/el_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Όνομα Φόρμας';
-$wb['title_txt'] = 'Τίτλος Φόρμας';
-$wb['template_txt'] = 'Πρότυπο';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Αρχική Σελίδα';
-$wb['tab_width_txt'] = 'Πλάτος Καρτέλας';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Άκυρο';
-$wb['header_txt'] = 'Ιδιότητες Φόρμας';
-$wb['description_txt'] = 'Περιγραφή';
-$wb['action_txt'] = 'Ενέργεια (script)';
-$wb['db_table_txt'] = 'Πίνακας βάσης δεδομένων';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Ιστορικό Αναίρεσης';
-$wb['tab_default_txt'] = 'Προεπιλεγμένη Καρτέλα';
-$wb['list_default_txt'] = 'Προεπιλεγμένη Λίστα';
-$wb['auth_txt'] = 'Δικαιώματα';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Other';
-?>
diff --git a/interface/web/designer/lib/lang/el_form_list.lng b/interface/web/designer/lib/lang/el_form_list.lng
deleted file mode 100644
index 4cf043aefa..0000000000
--- a/interface/web/designer/lib/lang/el_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Φόρμα Backend';
-$wb['form_txt'] = 'Φόρμα';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['title_txt'] = 'Τίτλος';
-$wb['description_txt'] = 'Περιγραφή';
-?>
diff --git a/interface/web/designer/lib/lang/el_form_show.lng b/interface/web/designer/lib/lang/el_form_show.lng
deleted file mode 100644
index cf51060a2c..0000000000
--- a/interface/web/designer/lib/lang/el_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Επεξεργαστής Φόρμας';
-$wb['title_txt'] = 'Τίτλος Φόρμας';
-$wb['name_txt'] = 'Όνομα Φόρμας';
-$wb['delete_txt'] = 'Διαγραφή';
-$wb['properties_txt'] = 'Ιδιότητες';
-$wb['new_tab_txt'] = 'Νέα Καρτέλα';
-$wb['edit_txt'] = 'Επεξεργασία';
-$wb['new_txt'] = 'Νέο';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['form_txt'] = 'Φόρμα';
-$wb['description_txt'] = 'Περιγραφή';
-$wb['module_del_txt'] = 'Διαγραφή αρθρώματος και όλων των υποφακέλων;';
-$wb['menu_del_txt'] = 'Διαγραφή μενού και όλων των στοιχείων;';
-$wb['item_del_txt'] = 'Διαγραφή του στοιχείου μενού';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_edit.lng b/interface/web/designer/lib/lang/el_module_edit.lng
deleted file mode 100644
index 733e2aec88..0000000000
--- a/interface/web/designer/lib/lang/el_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Όνομα αρθρώματος';
-$wb['title_txt'] = 'Τίτλος αρθρώματος';
-$wb['template_txt'] = 'Αρχείο προτύπου';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Προκαθορισμένη σελίδα';
-$wb['tab_width_txt'] = 'Πλάτος Tab';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Ακύρωση';
-$wb['header_txt'] = 'Ιδιότητες αρθρώματος';
-$wb['description_txt'] = '<b>Περιγραφή</b> <br><br> <b>Όνομα αρθρώματος:</b> Όνομα του φακέλου του αρθρώματος. Επιτρέπονται μόνο αριθμοί, χαρακτήρες και η κάτω παύλα.<br> <b>Τίτλος Αρθώματος:</b> Θα εμφανιστεί στο βασικό μενού (επάνω).<br> <b>Αρχείο προτύπου:</b> Το αρχείο προτύπου του αρθρώματος. Προς το παρών διαθέσιμα: module.tpl.htm και module_tree.tpl.htm. Το προεπιλεγμένο είναι το module.tpl.htm.<br> <b>NaviFrame:</b> Αν το module_tree.tpl.htm επιλέχθηκε ώα αρχείο προτύπου, εισάγετε εδώ την διαδρομή για το script που αφορά το αριστερό frame.<br> <b>Προεπιλεγμένη Σελίδα:</b> Αυτή σελίδα θα εμφανίζεται όταν ανοίξει το άρθρωμα.<br> <b>Πλάτος Καρτέλας:</b>Το πλάτος της καρτέλας στο βασικό μενού. Το πεδίο είναι άδειο εξ ορισμού. Μπορείτε να εισάγετε απόλυτες τιμές σε pixel (π.χ. 20) ή σχετικές (π.χ. 20%).<br> <b>Βοήθεια:</b> Όλες οι διαδρομές είναι σχετικές ως προς τον φάκελο ';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_list.lng b/interface/web/designer/lib/lang/el_module_list.lng
deleted file mode 100644
index 1edbed0f79..0000000000
--- a/interface/web/designer/lib/lang/el_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Άρθρωμα';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['title_txt'] = 'Τίτλος';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_nav_edit.lng b/interface/web/designer/lib/lang/el_module_nav_edit.lng
deleted file mode 100644
index 02104add2b..0000000000
--- a/interface/web/designer/lib/lang/el_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Τίτλος';
-$wb['header_txt'] = 'Ιδιότητες Navi';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Άκυρο';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_nav_item_edit.lng b/interface/web/designer/lib/lang/el_module_nav_item_edit.lng
deleted file mode 100644
index 06d44b93d6..0000000000
--- a/interface/web/designer/lib/lang/el_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Τίτλος';
-$wb['target_txt'] = 'Στόχος';
-$wb['link_txt'] = 'Σύνδεσμος';
-$wb['header_txt'] = 'Ιδιότητες Navi';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Ακύρωση';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_show.lng b/interface/web/designer/lib/lang/el_module_show.lng
deleted file mode 100644
index 12895ccc69..0000000000
--- a/interface/web/designer/lib/lang/el_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Επεξεργαστής Menu';
-$wb['title_txt'] = 'Τίτλος';
-$wb['name_txt'] = 'Άρθρωμα';
-$wb['delete_txt'] = 'Διαγραφή';
-$wb['properties_txt'] = 'Ιδιότητες';
-$wb['new_menu_txt'] = 'Νέο Μενού';
-$wb['edit_txt'] = 'Επεξεργασία';
-$wb['new_txt'] = 'Νέο';
-$wb['up_txt'] = 'Επάνω';
-$wb['down_txt'] = 'Κάτω';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['module_del_txt'] = 'Θέλετε να διαγράψετε το άρθωμα και όλους του επιμέρους φακέλους και τα αρχεία;';
-$wb['menu_del_txt'] = 'Θέλετε να διαγράψετε το μενού και όλα τα στοιχεία του;';
-$wb['item_del_txt'] = 'Θέλετε να διαγράψετε το στοιχείο;';
-?>
diff --git a/interface/web/designer/lib/lang/en.lng b/interface/web/designer/lib/lang/en.lng
deleted file mode 100644
index 15c5adc7fa..0000000000
--- a/interface/web/designer/lib/lang/en.lng
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_edit.lng b/interface/web/designer/lib/lang/en_form_edit.lng
deleted file mode 100644
index f55e0f4caf..0000000000
--- a/interface/web/designer/lib/lang/en_form_edit.lng
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-$wb["name_txt"] = 'Formname';
-$wb["title_txt"] = 'Formutitle';
-$wb["template_txt"] = 'Template';
-$wb["navframe_txt"] = 'NaviFrame';
-$wb["startpage_txt"] = 'Startpage';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-$wb["header_txt"] = 'Form properties';
-$wb["description_txt"] = 'Description';
-$wb["action_txt"] = 'Action (script)';
-$wb["db_table_txt"] = 'DB Table';
-$wb["db_table_idx_txt"] = 'DB Table Index';
-$wb["db_history_txt"] = 'Undo Log';
-$wb["tab_default_txt"] = 'Default Tab';
-$wb["list_default_txt"] = 'Default Liste';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["auth_txt"] = 'Permissions';
-$wb["auth_preset_userid_txt"] = 'UserID';
-$wb["auth_preset_groupid_txt"] = 'GroupID';
-$wb["auth_preset_perm_user_txt"] = 'Perm. User';
-$wb["auth_preset_perm_group_txt"] = 'Perm. Group';
-$wb["auth_preset_perm_other_txt"] = 'Perm. Other';
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_list.lng b/interface/web/designer/lib/lang/en_form_list.lng
deleted file mode 100644
index 21a76877d7..0000000000
--- a/interface/web/designer/lib/lang/en_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Backend Form';
-$wb["form_txt"] = 'Form';
-$wb["module_txt"] = 'Module';
-$wb["title_txt"] = 'Title';
-$wb["description_txt"] = 'Description';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_show.lng b/interface/web/designer/lib/lang/en_form_show.lng
deleted file mode 100644
index d2be3c6aed..0000000000
--- a/interface/web/designer/lib/lang/en_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb["header_txt"] = 'Formeditor';
-$wb["title_txt"] = 'Formtitle';
-$wb["name_txt"] = 'Formname';
-$wb["delete_txt"] = 'Delete';
-$wb["properties_txt"] = 'Properties';
-$wb["new_tab_txt"] = 'Tab new';
-$wb["edit_txt"] = 'Edit';
-$wb["new_txt"] = 'New';
-$wb["up_txt"] = '^';
-$wb["down_txt"] = 'v';
-$wb["module_txt"] = 'Module';
-$wb["form_txt"] = 'Form';
-$wb["description_txt"] = 'Description';
-$wb["module_del_txt"] = "Delete the module and all subdirectories?";
-$wb["menu_del_txt"] = "Delete menu with all menuitems?";
-$wb["item_del_txt"] = "Delete menuitem?";
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_edit.lng b/interface/web/designer/lib/lang/en_module_edit.lng
deleted file mode 100644
index 285a363df3..0000000000
--- a/interface/web/designer/lib/lang/en_module_edit.lng
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-$wb["name_txt"] = 'Modulename';
-$wb["title_txt"] = 'Moduletitle';
-$wb["template_txt"] = 'Template file';
-$wb["navframe_txt"] = 'NaviFrame';
-$wb["startpage_txt"] = 'Default page';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-$wb["header_txt"] = 'Module properties';
-$wb["description_txt"] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory "web".
-';
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_list.lng b/interface/web/designer/lib/lang/en_module_list.lng
deleted file mode 100644
index 45260fd9a8..0000000000
--- a/interface/web/designer/lib/lang/en_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Backend Module';
-$wb["module_txt"] = 'Module';
-$wb["title_txt"] = 'Title';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_nav_edit.lng b/interface/web/designer/lib/lang/en_module_nav_edit.lng
deleted file mode 100644
index 3600238f74..0000000000
--- a/interface/web/designer/lib/lang/en_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb["title_txt"] = 'Title';
-$wb["header_txt"] = 'Navi properties';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_nav_item_edit.lng b/interface/web/designer/lib/lang/en_module_nav_item_edit.lng
deleted file mode 100644
index 56eee32deb..0000000000
--- a/interface/web/designer/lib/lang/en_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb["title_txt"] = 'Title';
-$wb["target_txt"] = 'Target';
-$wb["link_txt"] = 'Link';
-$wb["header_txt"] = 'Navi properties';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_show.lng b/interface/web/designer/lib/lang/en_module_show.lng
deleted file mode 100644
index 41c9893eea..0000000000
--- a/interface/web/designer/lib/lang/en_module_show.lng
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-$wb["header_txt"] = 'Menu editor';
-$wb["title_txt"] = 'Title';
-$wb["name_txt"] = 'Module';
-$wb["delete_txt"] = 'Delete';
-$wb["properties_txt"] = 'Properties';
-$wb["new_menu_txt"] = 'Menu new';
-$wb["edit_txt"] = 'Edit';
-$wb["delete_txt"] = 'Delete';
-$wb["new_txt"] = 'New';
-$wb["up_txt"] = 'Up';
-$wb["down_txt"] = 'Down';
-$wb["module_txt"] = 'Module';
-$wb["module_del_txt"] = "Do you really want to delete the module and all its subdirectories?";
-$wb["menu_del_txt"] = "Do you really want to delete the menu with all sub entries?";
-$wb["item_del_txt"] = "Delete the menu entry?";
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/es.lng b/interface/web/designer/lib/lang/es.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/es.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/es_form_edit.lng b/interface/web/designer/lib/lang/es_form_edit.lng
deleted file mode 100644
index c5312559bb..0000000000
--- a/interface/web/designer/lib/lang/es_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nombre del formulario';
-$wb['title_txt'] = 'Título del formulario';
-$wb['template_txt'] = 'Plantilla';
-$wb['navframe_txt'] = 'Marco de navegación';
-$wb['startpage_txt'] = 'Página inicial';
-$wb['tab_width_txt'] = 'Ancho de pestaña';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propiedades del formulario';
-$wb['description_txt'] = 'Descripción';
-$wb['action_txt'] = 'Acción (script)';
-$wb['db_table_txt'] = 'Tabla de BD';
-$wb['db_table_idx_txt'] = 'Indice  de tabla de BD';
-$wb['db_history_txt'] = 'Anular registro';
-$wb['tab_default_txt'] = 'Pestaña por defecto';
-$wb['list_default_txt'] = 'Lista por defecto';
-$wb['auth_txt'] = 'Permisos';
-$wb['auth_preset_userid_txt'] = 'ID usuario';
-$wb['auth_preset_groupid_txt'] = 'ID grupo';
-$wb['auth_preset_perm_user_txt'] = 'Permisos del usuario';
-$wb['auth_preset_perm_group_txt'] = 'Permisos del grupo';
-$wb['auth_preset_perm_other_txt'] = 'Permisos de otros';
-?>
diff --git a/interface/web/designer/lib/lang/es_form_list.lng b/interface/web/designer/lib/lang/es_form_list.lng
deleted file mode 100644
index 3334d0b294..0000000000
--- a/interface/web/designer/lib/lang/es_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulario de respaldo';
-$wb['form_txt'] = 'Formulario';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descripción';
-?>
diff --git a/interface/web/designer/lib/lang/es_form_show.lng b/interface/web/designer/lib/lang/es_form_show.lng
deleted file mode 100644
index 4cac14529b..0000000000
--- a/interface/web/designer/lib/lang/es_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de formularios';
-$wb['title_txt'] = 'Título del formulario';
-$wb['name_txt'] = 'Nombre del formulario';
-$wb['delete_txt'] = 'Eliminar';
-$wb['properties_txt'] = 'Propiedades';
-$wb['new_tab_txt'] = 'Nueva pestaña';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Nuevo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulario';
-$wb['description_txt'] = 'Descripción';
-$wb['module_del_txt'] = '¿Eliminar el módulo y los subdirectorios?';
-$wb['menu_del_txt'] = '¿Eliminar el menú y todos sus elementos?';
-$wb['item_del_txt'] = '¿Eliminar el elemento del menú?';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_edit.lng b/interface/web/designer/lib/lang/es_module_edit.lng
deleted file mode 100644
index c126365a54..0000000000
--- a/interface/web/designer/lib/lang/es_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nombre del módulo';
-$wb['title_txt'] = 'Título del módulo';
-$wb['template_txt'] = 'Fichero de plantilla';
-$wb['navframe_txt'] = 'Marco de navegación';
-$wb['startpage_txt'] = 'Página por defecto';
-$wb['tab_width_txt'] = 'Ancho de pestaña';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propiedades del modulo';
-$wb['description_txt'] = '<b>Descripción</b><br><br><b>Nombre del módulo:</b> Nombre del directorio del módulo. Sólo se permiten números, carácteres y subrayados.<br><b>Título del módulo:</b> Se mostrará en la barra de navegación principal.<br><b>Fichero de plantilla:</b> Fichero de la plantilla del módulo. Disponibles actualmente: module.tpl.htm y module_tree.tpl.htm. Por defecto: module.tpl.htm.<br><b>Marco de navegación:</b> Si el fichero de plantilla module_tree.tpl.htm está seleccionado, introduzca aquí la ruta al fichero del script del marco de la izquierda.<br><b>Página por defecto:</b> Esta página se mostrará cuando el módulo se abra.<br><b>Ancho de pestaña:</b> Ancho de las pestañas en la barra de navegación. El campo está vacío por defecto. Puede introducir valores absolutos en píxeles (p.ej. 20) o relativos (p.ej. 20%).<br><b>Pista:</b> Todas las rutas son relativas al directorio.';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_list.lng b/interface/web/designer/lib/lang/es_module_list.lng
deleted file mode 100644
index 2805a07bc9..0000000000
--- a/interface/web/designer/lib/lang/es_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo de respaldo';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_nav_edit.lng b/interface/web/designer/lib/lang/es_module_nav_edit.lng
deleted file mode 100644
index 22688b6e17..0000000000
--- a/interface/web/designer/lib/lang/es_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propiedades de navegación';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_nav_item_edit.lng b/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
deleted file mode 100644
index ec39e5f899..0000000000
--- a/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Objetivo';
-$wb['link_txt'] = 'Enlace';
-$wb['header_txt'] = 'Propiedades de navegación';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_show.lng b/interface/web/designer/lib/lang/es_module_show.lng
deleted file mode 100644
index 1f1199de53..0000000000
--- a/interface/web/designer/lib/lang/es_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de menú';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Eliminar';
-$wb['properties_txt'] = 'Propiedades';
-$wb['new_menu_txt'] = 'Nuevo menú';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Nuevo';
-$wb['up_txt'] = 'Arriba';
-$wb['down_txt'] = 'Abajo';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = '¿Quiere eliminar el módulo y eliminar todos los ficheros creados dentro de él?';
-$wb['menu_del_txt'] = '¿Quiere eliminar el menú con todo sus elementos?';
-$wb['item_del_txt'] = '¿Quiere eliminar el elemento del menú?';
-?>
diff --git a/interface/web/designer/lib/lang/fi.lng b/interface/web/designer/lib/lang/fi.lng
deleted file mode 100755
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/fi.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_edit.lng b/interface/web/designer/lib/lang/fi_form_edit.lng
deleted file mode 100755
index c9a13038a4..0000000000
--- a/interface/web/designer/lib/lang/fi_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Lomakkeen nimi';
-$wb['title_txt'] = 'Lomakkeen otsikko';
-$wb['template_txt'] = 'Mallilomake';
-$wb['navframe_txt'] = 'Valikon kehys';
-$wb['startpage_txt'] = 'Aloitussivu';
-$wb['tab_width_txt'] = 'Painikkeen leveys';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-$wb['header_txt'] = 'Lomakkeen ominaisuudet';
-$wb['description_txt'] = 'Kuvaus';
-$wb['action_txt'] = 'Toiminto (skripti)';
-$wb['db_table_txt'] = 'Tietokannan taulu';
-$wb['db_table_idx_txt'] = 'Tietokannan taulun indeksi';
-$wb['db_history_txt'] = 'Kumoamisloki';
-$wb['tab_default_txt'] = 'Oletuspainike';
-$wb['list_default_txt'] = 'Oletuslista';
-$wb['auth_txt'] = 'Oikeudet';
-$wb['auth_preset_userid_txt'] = 'Käyttäjätunnus';
-$wb['auth_preset_groupid_txt'] = 'Käyttäjäryhmä';
-$wb['auth_preset_perm_user_txt'] = 'Käyttäjän oikeudet';
-$wb['auth_preset_perm_group_txt'] = 'Ryhmän oikeudet';
-$wb['auth_preset_perm_other_txt'] = 'Muiden käyttäjien oikeudet';
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_list.lng b/interface/web/designer/lib/lang/fi_form_list.lng
deleted file mode 100755
index 9052c8f0c9..0000000000
--- a/interface/web/designer/lib/lang/fi_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Peruslomake';
-$wb['form_txt'] = 'Lomake';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['title_txt'] = 'Otsikko';
-$wb['description_txt'] = 'Kuvaus';
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_show.lng b/interface/web/designer/lib/lang/fi_form_show.lng
deleted file mode 100755
index 247a95be59..0000000000
--- a/interface/web/designer/lib/lang/fi_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Lomakemuokkain';
-$wb['title_txt'] = 'Lomakkeen otsikko';
-$wb['name_txt'] = 'Lomakkeen nimi';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Ominaisuudet';
-$wb['new_tab_txt'] = 'Uusi painike';
-$wb['edit_txt'] = 'Muokkaa';
-$wb['new_txt'] = 'Uusi';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['form_txt'] = 'Lomake';
-$wb['description_txt'] = 'Kuvaus';
-$wb['module_del_txt'] = 'Poista ohjelmaosion kansio ja kaikki sen alikansiot?';
-$wb['menu_del_txt'] = 'Poista valikko ja kaikki sen osat?';
-$wb['item_del_txt'] = 'Poista valikon osa?';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_edit.lng b/interface/web/designer/lib/lang/fi_module_edit.lng
deleted file mode 100755
index 8bb4a5c09e..0000000000
--- a/interface/web/designer/lib/lang/fi_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Ohjelmaosion nimi';
-$wb['title_txt'] = 'Ohjelmaosion otsikko';
-$wb['template_txt'] = 'Mallitiedosto';
-$wb['navframe_txt'] = 'Valikkokehys';
-$wb['startpage_txt'] = 'Oletussivu';
-$wb['tab_width_txt'] = 'Välilehden leveys';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-$wb['header_txt'] = 'Ohjelmaosion ominaisuudet';
-$wb['description_txt'] = '
-<b>Kuvaus</b>
-<br><br>
-<b>Modulename:</b> Ohjelmaosion kansion nimi. Vain numerot,kirjaimet ja alaviiva on sallittu.<br>
-<b>Moduletitle:</b> Tulee näkymään ylemmässä päävalikossa.<br>
-<b>Template file:</b> Ohjelmaosion mallitiedosto. Käytettävissä tällä hetkellä: module.tpl.htm ja module_tree.tpl.htm. Oletus on module.tpl.htm.<br>
-<b>NaviFrame:</b> Jos module_tree.tpl.htm valittiin mallitiedostoksi, kirjoita tähän vasemman kehyksen skriptitiedoston polku.<br>
-<b>Default page:</b> Tämä sivu näytetetään kun ohjelmaosio avataan.<br>
-<b>Tab width:</b> Päälikon painikkeiden leveys. Kenttä on oletuksenä tyhjä. Voit antaa arvon pikseleinää tai prosentteina. (esim. 20 tai 20%).<br>
-<b>Vihje:</b> Kaikki polut ovat suhteellisia web-kansioon, eivät absoluuttisia.
-';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_list.lng b/interface/web/designer/lib/lang/fi_module_list.lng
deleted file mode 100755
index f07c9a377b..0000000000
--- a/interface/web/designer/lib/lang/fi_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Perusohjelmaosio';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['title_txt'] = 'Otsikko';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_nav_edit.lng b/interface/web/designer/lib/lang/fi_module_nav_edit.lng
deleted file mode 100755
index b7c03eafb0..0000000000
--- a/interface/web/designer/lib/lang/fi_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Otsikko';
-$wb['header_txt'] = 'Valikon ominaisuudet';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng b/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng
deleted file mode 100755
index 5f32d58481..0000000000
--- a/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Otsikko';
-$wb['target_txt'] = 'Kohde';
-$wb['link_txt'] = 'Linkki';
-$wb['header_txt'] = 'Valikon ominaisuudet';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_show.lng b/interface/web/designer/lib/lang/fi_module_show.lng
deleted file mode 100755
index 066d92f583..0000000000
--- a/interface/web/designer/lib/lang/fi_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Valikko-muokkain';
-$wb['title_txt'] = 'Otsikko';
-$wb['name_txt'] = 'Ohjelmaosio';
-$wb['delete_txt'] = 'Poista';
-$wb['properties_txt'] = 'Ominaisuudet';
-$wb['new_menu_txt'] = 'Uusi valikko';
-$wb['edit_txt'] = 'Muokkaa';
-$wb['new_txt'] = 'Uusi';
-$wb['up_txt'] = 'Ylös';
-$wb['down_txt'] = 'Alas';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['module_del_txt'] = 'Haluatko poistaa tämän ohjelmaosion ja kaikki siihen kuuluvat valikot ja osat?';
-$wb['menu_del_txt'] = 'Haluatko poistaa tämän valikon?';
-$wb['item_del_txt'] = 'Haluatko poistaa tämän osan?';
-?>
diff --git a/interface/web/designer/lib/lang/fr.lng b/interface/web/designer/lib/lang/fr.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/fr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_edit.lng b/interface/web/designer/lib/lang/fr_form_edit.lng
deleted file mode 100644
index eb3f5a35c0..0000000000
--- a/interface/web/designer/lib/lang/fr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nom du Formulaire';
-$wb['title_txt'] = 'Titre du formulaire';
-$wb['template_txt'] = 'Gabarit';
-$wb['navframe_txt'] = 'Cadre de navigation';
-$wb['startpage_txt'] = 'Page de démarrage';
-$wb['tab_width_txt'] = 'Largeur Tableau';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-$wb['header_txt'] = 'Propriétés du Formulaire';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'Table BDD';
-$wb['db_table_idx_txt'] = 'Index table BDD';
-$wb['db_history_txt'] = 'Effacer le Log';
-$wb['tab_default_txt'] = 'Onglet par défaut';
-$wb['list_default_txt'] = 'Liste par défaut';
-$wb['auth_txt'] = 'Permissions';
-$wb['auth_preset_userid_txt'] = 'ID Utilisateur';
-$wb['auth_preset_groupid_txt'] = 'ID Groupe';
-$wb['auth_preset_perm_user_txt'] = 'Permission Utilisateur';
-$wb['auth_preset_perm_group_txt'] = 'Permission Groupe';
-$wb['auth_preset_perm_other_txt'] = 'Permission Autre';
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_list.lng b/interface/web/designer/lib/lang/fr_form_list.lng
deleted file mode 100644
index 316211598e..0000000000
--- a/interface/web/designer/lib/lang/fr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulaire d\'administration';
-$wb['form_txt'] = 'Formulaire';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titre';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_show.lng b/interface/web/designer/lib/lang/fr_form_show.lng
deleted file mode 100644
index c2cd94be79..0000000000
--- a/interface/web/designer/lib/lang/fr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editeur de Formulaire';
-$wb['title_txt'] = 'Titre du Formulaire';
-$wb['name_txt'] = 'Nom du Fromulaire';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Propriétés';
-$wb['new_tab_txt'] = 'Nouvel Onglet';
-$wb['edit_txt'] = 'Editer';
-$wb['new_txt'] = 'Nouveau';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formulaire';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Effacer le module et tous ses sous-répertoires';
-$wb['menu_del_txt'] = 'Effacer le menu et toutes ses entrées';
-$wb['item_del_txt'] = 'Effacer l\'entrée';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_edit.lng b/interface/web/designer/lib/lang/fr_module_edit.lng
deleted file mode 100644
index 282c73cdc3..0000000000
--- a/interface/web/designer/lib/lang/fr_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nom du module';
-$wb['title_txt'] = 'Titre du module';
-$wb['template_txt'] = 'Fichier gabarit';
-$wb['navframe_txt'] = 'Cadre de navigation';
-$wb['startpage_txt'] = 'Page par défaut';
-$wb['tab_width_txt'] = 'Largeur du tableau';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-$wb['header_txt'] = 'Propriétés du module';
-$wb['description_txt'] = ' <b>Description</b><br /><br /><b>Nom du Module:</b> Nom du répertoire du module. Seuls les nombres, lettres et underscores sont autorisés.<br/><b>Titre du module:</b> Sera affiché dans le menu de navigation (supérieur).<br/><b>Fichier gabarit:</b> Fichier';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_list.lng b/interface/web/designer/lib/lang/fr_module_list.lng
deleted file mode 100644
index d493fdcb3f..0000000000
--- a/interface/web/designer/lib/lang/fr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Module d\'administration';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titre';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_nav_edit.lng b/interface/web/designer/lib/lang/fr_module_nav_edit.lng
deleted file mode 100644
index 53c5e41287..0000000000
--- a/interface/web/designer/lib/lang/fr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titre';
-$wb['header_txt'] = 'Propriétés de navigation';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng
deleted file mode 100644
index 21852e292b..0000000000
--- a/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titre';
-$wb['target_txt'] = 'Cible';
-$wb['link_txt'] = 'Lien';
-$wb['header_txt'] = 'Propriétés de navigation';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_show.lng b/interface/web/designer/lib/lang/fr_module_show.lng
deleted file mode 100644
index 8c14adb3a1..0000000000
--- a/interface/web/designer/lib/lang/fr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editeur de menu';
-$wb['title_txt'] = 'Titre';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Effacer';
-$wb['properties_txt'] = 'Propriétés';
-$wb['new_menu_txt'] = 'Nouveau menu';
-$wb['edit_txt'] = 'Editer';
-$wb['new_txt'] = 'Nouveau';
-$wb['up_txt'] = 'Monter';
-$wb['down_txt'] = 'Descendre';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Voulez-vous supprimer le module et tous les fichiers et sous-dossier du module ?';
-$wb['menu_del_txt'] = 'Voulez-vous supprimer le menu avec tous ses sous-menus ?';
-$wb['item_del_txt'] = 'Voulez-vous supprimer l\'entrée de menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/hr.lng b/interface/web/designer/lib/lang/hr.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/hr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_edit.lng b/interface/web/designer/lib/lang/hr_form_edit.lng
deleted file mode 100644
index 6396ece152..0000000000
--- a/interface/web/designer/lib/lang/hr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Naziv forme';
-$wb['title_txt'] = 'Naslov forme';
-$wb['template_txt'] = 'Predložak';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Početna';
-$wb['tab_width_txt'] = 'Å irina taba';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-$wb['header_txt'] = 'Postavke forme';
-$wb['description_txt'] = 'Opis';
-$wb['action_txt'] = 'Akcija (skripte)';
-$wb['db_table_txt'] = 'Tablica u bazi';
-$wb['db_table_idx_txt'] = 'Index tablice u bazi';
-$wb['db_history_txt'] = 'Vrati Log';
-$wb['tab_default_txt'] = 'Standardni tab';
-$wb['list_default_txt'] = 'Standardne liste';
-$wb['auth_txt'] = 'Dozvole';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Dozvole klijenta';
-$wb['auth_preset_perm_group_txt'] = 'Dozvole grupe';
-$wb['auth_preset_perm_other_txt'] = 'Dozvole ostalo';
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_list.lng b/interface/web/designer/lib/lang/hr_form_list.lng
deleted file mode 100644
index 9efdf782c9..0000000000
--- a/interface/web/designer/lib/lang/hr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Pozadinska forma';
-$wb['form_txt'] = 'Forma';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Naslov';
-$wb['description_txt'] = 'Opis';
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_show.lng b/interface/web/designer/lib/lang/hr_form_show.lng
deleted file mode 100644
index e83272a30a..0000000000
--- a/interface/web/designer/lib/lang/hr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor forme';
-$wb['title_txt'] = 'Naslov forme';
-$wb['name_txt'] = 'Naziv forme';
-$wb['delete_txt'] = 'Obriši';
-$wb['properties_txt'] = 'Postavke';
-$wb['new_tab_txt'] = 'Novi tab';
-$wb['edit_txt'] = 'Promijeni';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Forma';
-$wb['description_txt'] = 'Opis';
-$wb['module_del_txt'] = 'Obrisati modul i sve poddirektorije?';
-$wb['menu_del_txt'] = 'Obrisati meni i sve izbornike menia?';
-$wb['item_del_txt'] = 'Obrisati izbornik menia?';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_edit.lng b/interface/web/designer/lib/lang/hr_module_edit.lng
deleted file mode 100644
index b4aa48af57..0000000000
--- a/interface/web/designer/lib/lang/hr_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Naziv modula';
-$wb['title_txt'] = 'Naslov modula';
-$wb['template_txt'] = 'Predložak';
-$wb['navframe_txt'] = 'Navi frame';
-$wb['startpage_txt'] = 'Standardna stranica';
-$wb['tab_width_txt'] = 'Å irina taba';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-$wb['header_txt'] = 'Postavke modula';
-$wb['description_txt'] = '<b>Opis</b><br><br><b>Naziv modula:</b> Naziv direktorija sa modulima. Dozvoljeni samo brojevi, znakovi i podcrta.<br><b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br><b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br><b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br><b>Default page:</b> These page will be shown when the module is opened.<br><b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br><b>Hint:</b> All paths are relative to the directory web.';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_list.lng b/interface/web/designer/lib/lang/hr_module_list.lng
deleted file mode 100644
index 3528a6de3b..0000000000
--- a/interface/web/designer/lib/lang/hr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Pozadinski modul';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Naslov';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_nav_edit.lng b/interface/web/designer/lib/lang/hr_module_nav_edit.lng
deleted file mode 100644
index 42c8e14a81..0000000000
--- a/interface/web/designer/lib/lang/hr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Naslov';
-$wb['header_txt'] = 'Navi postavke';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng
deleted file mode 100644
index ee9208fcfd..0000000000
--- a/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Naziv';
-$wb['target_txt'] = 'Destinacija';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi postavke';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_show.lng b/interface/web/designer/lib/lang/hr_module_show.lng
deleted file mode 100644
index 98c6144f9b..0000000000
--- a/interface/web/designer/lib/lang/hr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor menia';
-$wb['title_txt'] = 'Naziv';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Obriši';
-$wb['properties_txt'] = 'Postavke';
-$wb['new_menu_txt'] = 'Novi meni';
-$wb['edit_txt'] = 'Editiraj';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Gore';
-$wb['down_txt'] = 'Dolje';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Da li stvarno želite obrisati modul i sve poddirektorije?';
-$wb['menu_del_txt'] = 'Da li stvarno želite obrisati meni i sve podmenije?';
-$wb['item_del_txt'] = 'Obrisati meni?';
-?>
diff --git a/interface/web/designer/lib/lang/hu.lng b/interface/web/designer/lib/lang/hu.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/hu.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_edit.lng b/interface/web/designer/lib/lang/hu_form_edit.lng
deleted file mode 100644
index d7b419cd31..0000000000
--- a/interface/web/designer/lib/lang/hu_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Napló';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Other';
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_list.lng b/interface/web/designer/lib/lang/hu_form_list.lng
deleted file mode 100644
index 47432257fd..0000000000
--- a/interface/web/designer/lib/lang/hu_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_show.lng b/interface/web/designer/lib/lang/hu_form_show.lng
deleted file mode 100644
index 12be609a1f..0000000000
--- a/interface/web/designer/lib/lang/hu_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Delete the module and all subdirectories?';
-$wb['menu_del_txt'] = 'Delete menu with all menuitems?';
-$wb['item_del_txt'] = 'Delete menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_edit.lng b/interface/web/designer/lib/lang/hu_module_edit.lng
deleted file mode 100644
index 592ccd76bc..0000000000
--- a/interface/web/designer/lib/lang/hu_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_list.lng b/interface/web/designer/lib/lang/hu_module_list.lng
deleted file mode 100644
index bc9ebed580..0000000000
--- a/interface/web/designer/lib/lang/hu_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_nav_edit.lng b/interface/web/designer/lib/lang/hu_module_nav_edit.lng
deleted file mode 100644
index fa5f15aa9e..0000000000
--- a/interface/web/designer/lib/lang/hu_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng b/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d1592a..0000000000
--- a/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_show.lng b/interface/web/designer/lib/lang/hu_module_show.lng
deleted file mode 100644
index 357fca1498..0000000000
--- a/interface/web/designer/lib/lang/hu_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse l�schen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Men� mit allen Untereintr�gen l�schen?';
-$wb['item_del_txt'] = 'Wollen Sie den Men�eintrag l�schen?';
-?>
diff --git a/interface/web/designer/lib/lang/id.lng b/interface/web/designer/lib/lang/id.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/id.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/id_form_edit.lng b/interface/web/designer/lib/lang/id_form_edit.lng
deleted file mode 100644
index 957ccbc06f..0000000000
--- a/interface/web/designer/lib/lang/id_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nama Form';
-$wb['title_txt'] = 'Judul Form';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'Frame Navigasi';
-$wb['startpage_txt'] = 'Halaman Awal';
-$wb['tab_width_txt'] = 'Lebar Tab';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-$wb['header_txt'] = 'Properti Form';
-$wb['description_txt'] = 'Keterangan';
-$wb['action_txt'] = 'Tindakan (skrip)';
-$wb['db_table_txt'] = 'Tabel DB';
-$wb['db_table_idx_txt'] = 'Indeks Tabel DB';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Tab Baku';
-$wb['list_default_txt'] = 'Daftar Baku';
-$wb['auth_txt'] = 'Hak Akses';
-$wb['auth_preset_userid_txt'] = 'ID Pengguna';
-$wb['auth_preset_groupid_txt'] = 'ID Grup';
-$wb['auth_preset_perm_user_txt'] = 'Hak Akses Pengguna';
-$wb['auth_preset_perm_group_txt'] = 'Hak Akses Grup';
-$wb['auth_preset_perm_other_txt'] = 'Hak Akses Lainnya';
-?>
diff --git a/interface/web/designer/lib/lang/id_form_list.lng b/interface/web/designer/lib/lang/id_form_list.lng
deleted file mode 100644
index ea20e633be..0000000000
--- a/interface/web/designer/lib/lang/id_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Form Backend';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Judul';
-$wb['description_txt'] = 'Keterangan';
-?>
diff --git a/interface/web/designer/lib/lang/id_form_show.lng b/interface/web/designer/lib/lang/id_form_show.lng
deleted file mode 100644
index 0e05e51edd..0000000000
--- a/interface/web/designer/lib/lang/id_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Penyunting Form';
-$wb['title_txt'] = 'Judul Form';
-$wb['name_txt'] = 'Nama Form';
-$wb['delete_txt'] = 'Hapus';
-$wb['properties_txt'] = 'Properti';
-$wb['new_tab_txt'] = 'Tab Baru';
-$wb['edit_txt'] = 'Sunting';
-$wb['new_txt'] = 'Baru';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Keterangan';
-$wb['module_del_txt'] = 'Hapus modul dan seluruh sub direktori?';
-$wb['menu_del_txt'] = 'Hapus menu dengan seluruh menuitem?';
-$wb['item_del_txt'] = 'Hapus menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_edit.lng b/interface/web/designer/lib/lang/id_module_edit.lng
deleted file mode 100644
index 31b0692379..0000000000
--- a/interface/web/designer/lib/lang/id_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nama modul';
-$wb['title_txt'] = 'Judul modul';
-$wb['template_txt'] = 'Berkas Template';
-$wb['navframe_txt'] = 'Frame Navigasi';
-$wb['startpage_txt'] = 'Halaman Default';
-$wb['tab_width_txt'] = 'Lebar Tab';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-$wb['header_txt'] = 'Properti Modul';
-$wb['description_txt'] = '
-<b>Keterangan</b>
-<br><br>
-<b>Nama Modul:</b> Nama direktori modul. Hanya angka, karakter dan garis bawah yang diizinkan.<br>
-<b>Judul Modul:</b> Akan terlihat di navigasi utama (bagian atas).<br>
-<b>Berkas Template:</b> Berkas Template modul. Yang tersedia saat ini: module.tpl.htm dan module_tree.tpl.htm. Defaultnya adalah module.tpl.htm.<br>
-<b>Frame Navigasi:</b> Jika memilih module_tree.tpl.htm sebagai berkas template, masukkan path ke berkas skrip untuk frame sebelah kiri.<br>
-<b>Halaman Default:</b> Halaman ini akan muncul ketika modul dibuka.<br>
-<b>Lebar Tab:</b> Lebar tab di navigasi utama. Kolom ini defaultnya kosong. Anda dapat memasukkan nilai pixel absolut (mis. 20) atau relatif (mis. 20%).<br>
-<b>Petunjuk:</b> Semua path adalah relatif terhadap direktori web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_list.lng b/interface/web/designer/lib/lang/id_module_list.lng
deleted file mode 100644
index 40114b24de..0000000000
--- a/interface/web/designer/lib/lang/id_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modul Backend';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Judul';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_nav_edit.lng b/interface/web/designer/lib/lang/id_module_nav_edit.lng
deleted file mode 100644
index 524784aa5d..0000000000
--- a/interface/web/designer/lib/lang/id_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Judul';
-$wb['header_txt'] = 'Properti Navigasi';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_nav_item_edit.lng b/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
deleted file mode 100644
index bb3d780ff6..0000000000
--- a/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Judul';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Tautan';
-$wb['header_txt'] = 'Properti Navigasi';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_show.lng b/interface/web/designer/lib/lang/id_module_show.lng
deleted file mode 100644
index 38ef8a5ce9..0000000000
--- a/interface/web/designer/lib/lang/id_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Penyunting Menu';
-$wb['title_txt'] = 'Judul';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Hapus';
-$wb['properties_txt'] = 'Properti';
-$wb['new_menu_txt'] = 'Menu baru';
-$wb['edit_txt'] = 'Sunting';
-$wb['new_txt'] = 'Baru';
-$wb['up_txt'] = 'Naik';
-$wb['down_txt'] = 'Turun';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Apakah Anda ingin menghapus modul dan semua berkas dan subdirektori yang dibuat oleh modul?';
-$wb['menu_del_txt'] = 'Apakah Anda ingin menghapus menu dan semua sub-entrinya?';
-$wb['item_del_txt'] = 'Apakah Anda ingin menghapus item menu?';
-?>
diff --git a/interface/web/designer/lib/lang/it.lng b/interface/web/designer/lib/lang/it.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/it.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/it_form_edit.lng b/interface/web/designer/lib/lang/it_form_edit.lng
deleted file mode 100644
index 1fc63b8845..0000000000
--- a/interface/web/designer/lib/lang/it_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permessi';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Other';
-?>
diff --git a/interface/web/designer/lib/lang/it_form_list.lng b/interface/web/designer/lib/lang/it_form_list.lng
deleted file mode 100644
index 015cc53ffa..0000000000
--- a/interface/web/designer/lib/lang/it_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modulo';
-$wb['title_txt'] = 'Titolo';
-$wb['description_txt'] = 'Descrizione';
-?>
diff --git a/interface/web/designer/lib/lang/it_form_show.lng b/interface/web/designer/lib/lang/it_form_show.lng
deleted file mode 100644
index 12be609a1f..0000000000
--- a/interface/web/designer/lib/lang/it_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Delete the module and all subdirectories?';
-$wb['menu_del_txt'] = 'Delete menu with all menuitems?';
-$wb['item_del_txt'] = 'Delete menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_edit.lng b/interface/web/designer/lib/lang/it_module_edit.lng
deleted file mode 100644
index a759d40b68..0000000000
--- a/interface/web/designer/lib/lang/it_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Nome del modulo directory. Sono ammessi solo numeri, caratteri e underscore.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Suggerimento:</b> tutti i percorsi sono relativi alla directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_list.lng b/interface/web/designer/lib/lang/it_module_list.lng
deleted file mode 100644
index 8a256cb490..0000000000
--- a/interface/web/designer/lib/lang/it_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modulo backend';
-$wb['module_txt'] = 'Modulo';
-$wb['title_txt'] = 'Titolo';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_nav_edit.lng b/interface/web/designer/lib/lang/it_module_nav_edit.lng
deleted file mode 100644
index 26a426a124..0000000000
--- a/interface/web/designer/lib/lang/it_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titolo';
-$wb['header_txt'] = 'Proprietà Navi';
-$wb['save_txt'] = 'Salva';
-$wb['cancel_txt'] = 'Annulla';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_nav_item_edit.lng b/interface/web/designer/lib/lang/it_module_nav_item_edit.lng
deleted file mode 100644
index 47aac393bc..0000000000
--- a/interface/web/designer/lib/lang/it_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titolo';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Proprietà Navi';
-$wb['save_txt'] = 'Salva';
-$wb['cancel_txt'] = 'Annulla';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_show.lng b/interface/web/designer/lib/lang/it_module_show.lng
deleted file mode 100644
index 2cf9b07a80..0000000000
--- a/interface/web/designer/lib/lang/it_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/ja.lng b/interface/web/designer/lib/lang/ja.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/ja.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_edit.lng b/interface/web/designer/lib/lang/ja_form_edit.lng
deleted file mode 100644
index 130ca07889..0000000000
--- a/interface/web/designer/lib/lang/ja_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = '保存する';
-$wb['cancel_txt'] = 'キャンセル';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = '説明';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm.User';
-$wb['auth_preset_perm_group_txt'] = 'Perm.Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm.Other';
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_list.lng b/interface/web/designer/lib/lang/ja_form_list.lng
deleted file mode 100644
index 47432257fd..0000000000
--- a/interface/web/designer/lib/lang/ja_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_show.lng b/interface/web/designer/lib/lang/ja_form_show.lng
deleted file mode 100644
index 37017fa4a8..0000000000
--- a/interface/web/designer/lib/lang/ja_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Delete the module and all subdirectories?';
-$wb['menu_del_txt'] = 'Delete menu with all menuitems?';
-$wb['item_del_txt'] = 'Delete menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_edit.lng b/interface/web/designer/lib/lang/ja_module_edit.lng
deleted file mode 100644
index 592ccd76bc..0000000000
--- a/interface/web/designer/lib/lang/ja_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_list.lng b/interface/web/designer/lib/lang/ja_module_list.lng
deleted file mode 100644
index bc9ebed580..0000000000
--- a/interface/web/designer/lib/lang/ja_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_nav_edit.lng b/interface/web/designer/lib/lang/ja_module_nav_edit.lng
deleted file mode 100644
index fa5f15aa9e..0000000000
--- a/interface/web/designer/lib/lang/ja_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d1592a..0000000000
--- a/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_show.lng b/interface/web/designer/lib/lang/ja_module_show.lng
deleted file mode 100644
index 6fe8d45bee..0000000000
--- a/interface/web/designer/lib/lang/ja_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = '言語エディタ';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse loschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menu mit allen Untereintragen loschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menueintrag loschen?';
-?>
diff --git a/interface/web/designer/lib/lang/nl.lng b/interface/web/designer/lib/lang/nl.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/nl.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_edit.lng b/interface/web/designer/lib/lang/nl_form_edit.lng
deleted file mode 100644
index 130fa5f7db..0000000000
--- a/interface/web/designer/lib/lang/nl_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formuliernaam';
-$wb['title_txt'] = 'Formuliertitel';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpagina';
-$wb['tab_width_txt'] = 'Tab breedte';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleren';
-$wb['header_txt'] = 'Formulier eigenschappen';
-$wb['description_txt'] = 'Omschrijving';
-$wb['action_txt'] = 'Actie (script)';
-$wb['db_table_txt'] = 'DB Tabe;';
-$wb['db_table_idx_txt'] = 'DB Tabel index';
-$wb['db_history_txt'] = 'Ongedaan maken Log';
-$wb['tab_default_txt'] = 'Standaard tab';
-$wb['list_default_txt'] = 'Standaard Lijst';
-$wb['auth_txt'] = 'Permissies';
-$wb['auth_preset_userid_txt'] = 'GebruikerID';
-$wb['auth_preset_groupid_txt'] = 'GroepID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. gebruiker';
-$wb['auth_preset_perm_group_txt'] = 'Perm. groep';
-$wb['auth_preset_perm_other_txt'] = 'Perm. overige';
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_list.lng b/interface/web/designer/lib/lang/nl_form_list.lng
deleted file mode 100644
index 2da9725046..0000000000
--- a/interface/web/designer/lib/lang/nl_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulier';
-$wb['form_txt'] = 'Formulier';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titel';
-$wb['description_txt'] = 'Omschrijving';
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_show.lng b/interface/web/designer/lib/lang/nl_form_show.lng
deleted file mode 100644
index 90fc713996..0000000000
--- a/interface/web/designer/lib/lang/nl_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulier editor';
-$wb['title_txt'] = 'Formulier titel';
-$wb['name_txt'] = 'Formulier naam';
-$wb['delete_txt'] = 'Verwijderen';
-$wb['properties_txt'] = 'Eigenschappen';
-$wb['new_tab_txt'] = 'Tab nieuw';
-$wb['edit_txt'] = 'Wijzigen';
-$wb['new_txt'] = 'Nieuw';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formulier';
-$wb['description_txt'] = 'Omschrijving';
-$wb['module_del_txt'] = 'Verwijder de module en alle subdirectories?';
-$wb['menu_del_txt'] = 'Verwijder menu met alle menuitems?';
-$wb['item_del_txt'] = 'Verwijder menutitem?';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_edit.lng b/interface/web/designer/lib/lang/nl_module_edit.lng
deleted file mode 100644
index 289ac62fe3..0000000000
--- a/interface/web/designer/lib/lang/nl_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulenaam';
-$wb['title_txt'] = 'Moduletitel';
-$wb['template_txt'] = 'Template bestand';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Standaard pagina';
-$wb['tab_width_txt'] = 'Tab breedte';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module eigenschappen';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Naam van de module directory. Alleen numerieke waarden, karakters en underscore zijn toegestaan.<br>
-<b>Moduletitle:</b> Worden weergegeven in de (bovenste) hoofd navigatiebalk.<br>
-<b>Template file:</b> Template bestand van de module. Momenteel beschikbaar: module.tpl.htm and module_tree.tpl.htm. Standaard is module.tpl.htm.<br>
-<b>NaviFrame:</b> Als module_tree.tpl.htm is geselecteerd als template bestand, geef hier dan het pad op naar het script bestand voor het linker frame.<br>
-<b>Default page:</b> Deze pagina wordt weergegeven wanneer de module is geopened.<br>
-<b>Tab width:</b> Breedte van de tabs in de hoofdnavigatiebalk. Dit veld is standaard leeg. U kunt hier absulute pixel waarden invoeren (bijv. 20) of relatief (bijv. 20%).<br>
-<b>Hint:</b> Alle paden zijn relatief tot de directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_list.lng b/interface/web/designer/lib/lang/nl_module_list.lng
deleted file mode 100644
index b07dd11896..0000000000
--- a/interface/web/designer/lib/lang/nl_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titel';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_nav_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_edit.lng
deleted file mode 100644
index 504b7f754b..0000000000
--- a/interface/web/designer/lib/lang/nl_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['header_txt'] = 'Navi eigenschappen';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleren';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
deleted file mode 100644
index b711e490e9..0000000000
--- a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['target_txt'] = 'Doel';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi eigenschappen';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleer';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_show.lng b/interface/web/designer/lib/lang/nl_module_show.lng
deleted file mode 100644
index fca91bced5..0000000000
--- a/interface/web/designer/lib/lang/nl_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Verwijderen';
-$wb['properties_txt'] = 'Eigenschappen';
-$wb['new_menu_txt'] = 'Menu nieuw';
-$wb['edit_txt'] = 'Wijzigen';
-$wb['new_txt'] = 'Nieuw';
-$wb['up_txt'] = 'Op';
-$wb['down_txt'] = 'Neer';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wilt u de module en alle in de module aangelegde bestanden en subdirectories verwijderen?';
-$wb['menu_del_txt'] = 'Wilt u het menu met alle menu items verwijderen?';
-$wb['item_del_txt'] = 'Wilt u het menu item verwijderen?';
-?>
diff --git a/interface/web/designer/lib/lang/pl.lng b/interface/web/designer/lib/lang/pl.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/pl.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_edit.lng b/interface/web/designer/lib/lang/pl_form_edit.lng
deleted file mode 100644
index ee4f4c4100..0000000000
--- a/interface/web/designer/lib/lang/pl_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nazwa formularza';
-$wb['title_txt'] = 'Tytuł formularza';
-$wb['template_txt'] = 'Szablon';
-$wb['navframe_txt'] = 'Ramka nawigacyjna';
-$wb['startpage_txt'] = 'Strona startowa';
-$wb['tab_width_txt'] = 'Szerokość zakładki';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Anuluj';
-$wb['header_txt'] = 'Parametry formularza';
-$wb['description_txt'] = 'Opis';
-$wb['action_txt'] = 'Akcja (skrypt)';
-$wb['db_table_txt'] = 'DB Tabela';
-$wb['db_table_idx_txt'] = 'DB Indeks tabeli';
-$wb['db_history_txt'] = 'Cofnij Log';
-$wb['tab_default_txt'] = 'Domyślna zakładka';
-$wb['list_default_txt'] = 'Domyślna lista';
-$wb['auth_txt'] = 'Dostęp';
-$wb['auth_preset_userid_txt'] = 'ID Użytkownika';
-$wb['auth_preset_groupid_txt'] = 'ID Grupy';
-$wb['auth_preset_perm_user_txt'] = 'Stały użytkownik';
-$wb['auth_preset_perm_group_txt'] = 'Stała grupa';
-$wb['auth_preset_perm_other_txt'] = 'Stała inna';
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_list.lng b/interface/web/designer/lib/lang/pl_form_list.lng
deleted file mode 100644
index ac8572277c..0000000000
--- a/interface/web/designer/lib/lang/pl_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Tylny formularz';
-$wb['form_txt'] = 'Formularz';
-$wb['module_txt'] = 'Moduł';
-$wb['title_txt'] = 'Tytuł';
-$wb['description_txt'] = 'Opis';
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_show.lng b/interface/web/designer/lib/lang/pl_form_show.lng
deleted file mode 100644
index db62af16b9..0000000000
--- a/interface/web/designer/lib/lang/pl_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Edytor formularza';
-$wb['title_txt'] = 'Tytuł formularza';
-$wb['name_txt'] = 'Nazwa formularza';
-$wb['delete_txt'] = 'Usuń';
-$wb['properties_txt'] = 'Preferencje';
-$wb['new_tab_txt'] = 'Nowa zakładka';
-$wb['edit_txt'] = 'Edytuj';
-$wb['new_txt'] = 'Nowy';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Moduł';
-$wb['form_txt'] = 'Formularz';
-$wb['description_txt'] = 'Opis';
-$wb['module_del_txt'] = 'Usunąć moduł i wszystkie podkatalogi?';
-$wb['menu_del_txt'] = 'Usunąć menu i wszystkie jego elementy?';
-$wb['item_del_txt'] = 'UsunÄ…c element menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_edit.lng b/interface/web/designer/lib/lang/pl_module_edit.lng
deleted file mode 100644
index b87d04b182..0000000000
--- a/interface/web/designer/lib/lang/pl_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nazwa modułu';
-$wb['title_txt'] = 'Tytuł modułu';
-$wb['template_txt'] = 'Plik szablonu';
-$wb['navframe_txt'] = 'Ramka nawigacyjna';
-$wb['startpage_txt'] = 'Strona domyślna';
-$wb['tab_width_txt'] = 'Szerokość zakładki';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Anuluj';
-$wb['header_txt'] = 'Parametry modułu';
-$wb['description_txt'] = '
-<b>Opis</b>
-<br><br>
-<b>Nazwa modułu:</b> Nazwa katalogu z modułem. Tylko liczby, litery (bez polskich) i podkreślenie są dozwolone.<br>
-<b>Tytuł modułu:</b> Będzie wyświetlaby w głównym menu nawigacyjnym.<br>
-<b>Plik szablonu:</b> Plik szablonu modułu. Aktualnie dostępne: module.tpl.htm oraz module_tree.tpl.htm. Domyślnie jest module.tpl.htm.<br>
-<b>Ramka nawigacyjna:</b> Jeśli module_tree.tpl.htm wybrano jako plik szablonu, wpisz tutaj ścieżkę do pliku ze skryptem dla lewej ramki.<br>
-<b>Strona domyślna:</b> Ta strona będzie otwierana na początku podczas otwarcia modułu.<br>
-<b>Szerokość zakładki:</b> Szerokość zakładek w głownym menu nawigacyjnym. To pole jest domyślnie puste. Możesz podać wartość w pikselach (np.: 20) lub procentach (np.: 20%).<br>
-<b>Podpowiedź:</b> Wszystkie ścieżki są względne według strony www..
-';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_list.lng b/interface/web/designer/lib/lang/pl_module_list.lng
deleted file mode 100644
index 308d1c688b..0000000000
--- a/interface/web/designer/lib/lang/pl_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Nazwa modułu';
-$wb['module_txt'] = 'Moduł';
-$wb['title_txt'] = 'Tytuł';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_nav_edit.lng b/interface/web/designer/lib/lang/pl_module_nav_edit.lng
deleted file mode 100644
index fe8edabf66..0000000000
--- a/interface/web/designer/lib/lang/pl_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Tytuł';
-$wb['header_txt'] = 'Parametry nawigacyjne';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Usuń';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng b/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng
deleted file mode 100644
index 779b3b4b3b..0000000000
--- a/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Tytuł';
-$wb['target_txt'] = 'Cel';
-$wb['link_txt'] = 'Adres';
-$wb['header_txt'] = 'Parametry nawigacyjne';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Usuń';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_show.lng b/interface/web/designer/lib/lang/pl_module_show.lng
deleted file mode 100644
index 9b98c49482..0000000000
--- a/interface/web/designer/lib/lang/pl_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Edytor menu';
-$wb['title_txt'] = 'Tytuł';
-$wb['name_txt'] = 'Moduł';
-$wb['delete_txt'] = 'Usuń';
-$wb['properties_txt'] = 'Parametry';
-$wb['new_menu_txt'] = 'Nowe menu';
-$wb['edit_txt'] = 'Edytuj';
-$wb['new_txt'] = 'Nowy';
-$wb['up_txt'] = 'W górę';
-$wb['down_txt'] = 'W dół';
-$wb['module_txt'] = 'Moduł';
-$wb['module_del_txt'] = 'Czy na pewno chcesz usunąć moduł wraz z wszystkimi plikami i wpisami w bazie danych?';
-$wb['menu_del_txt'] = 'Czy na pewno chcesz usunąć menu z wszystkimi wpisami?';
-$wb['item_del_txt'] = 'Czy na pewno chcesz usunąć wpis w menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pt.lng b/interface/web/designer/lib/lang/pt.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/pt.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_edit.lng b/interface/web/designer/lib/lang/pt_form_edit.lng
deleted file mode 100644
index 75059e565a..0000000000
--- a/interface/web/designer/lib/lang/pt_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Inicial';
-$wb['tab_width_txt'] = 'Tamanho da aba';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['action_txt'] = 'Acção (script)';
-$wb['db_table_txt'] = 'Tabela do DB';
-$wb['db_table_idx_txt'] = 'Indíce da tabela do DB';
-$wb['db_history_txt'] = 'Desfazer Log';
-$wb['tab_default_txt'] = 'Aba Padrão';
-$wb['list_default_txt'] = 'Exibir Padrão';
-$wb['auth_txt'] = 'Permissões';
-$wb['auth_preset_userid_txt'] = 'Utilizador (ID)';
-$wb['auth_preset_groupid_txt'] = 'Grupo(ID)';
-$wb['auth_preset_perm_user_txt'] = 'Perm. Utilizador ';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Grupo';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Outros';
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_list.lng b/interface/web/designer/lib/lang/pt_form_list.lng
deleted file mode 100644
index b16ce554b0..0000000000
--- a/interface/web/designer/lib/lang/pt_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulário de Backend';
-$wb['form_txt'] = 'Formulário';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descrição';
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_show.lng b/interface/web/designer/lib/lang/pt_form_show.lng
deleted file mode 100644
index e9b385fbb6..0000000000
--- a/interface/web/designer/lib/lang/pt_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Formulários';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_tab_txt'] = 'Nova Aba';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['module_del_txt'] = 'Remover o módulo e todas as suas sub-pastas?';
-$wb['menu_del_txt'] = 'Remover o menu e todos os seus itens?';
-$wb['item_del_txt'] = 'Remover o item de menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_edit.lng b/interface/web/designer/lib/lang/pt_module_edit.lng
deleted file mode 100644
index e52cf384e8..0000000000
--- a/interface/web/designer/lib/lang/pt_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Módulo';
-$wb['title_txt'] = 'Título do Módulo';
-$wb['template_txt'] = 'Ficheiro de Template';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Padrão';
-$wb['tab_width_txt'] = 'Tamanho da Aba';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Módulo';
-$wb['description_txt'] = '
-<b>Descrição</b>
-<br><br>
-<b>Nome do Módulo:</b> Nome da pasta do módulo. Apenas números, letras e underscores são permitidos.<br>
-<b>Título do Módulo:</b> Será exibido em caixa alta no menu de navegação.<br>
-<b>Ficheiro de Template:</b> Ficheiros de Template do Módulo Disponível: modulo.tpl.htm e modulo_tree.tpl.htm. O padrão é modulo.tpl.htm.<br>
-<b>Frame de Navegação:</b> Se modulo_tree.tpl.htm foi seleccionado como ficheiro de template, insira aqui a pasta do script para o frame a esquerda.<br>
-<b>Página Padrão:</b> Esta página será exibida quando o módulo for aberto.<br>
-<b>Tamanho da Aba:</b> Tamanho das abas na navegação principal. Este campo fica em branco por padrão. Pode fornecer valores absolutos em pixels (ex.: 20) ou valores relativos (ex.: 20%).<br>
-<b>Dica:</b> Todos as pastas são relativas à pasta web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_list.lng b/interface/web/designer/lib/lang/pt_module_list.lng
deleted file mode 100644
index 822263a4ad..0000000000
--- a/interface/web/designer/lib/lang/pt_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo do Backend';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_nav_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_edit.lng
deleted file mode 100644
index 761fe0a63e..0000000000
--- a/interface/web/designer/lib/lang/pt_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
deleted file mode 100644
index 745a12341a..0000000000
--- a/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_show.lng b/interface/web/designer/lib/lang/pt_module_show.lng
deleted file mode 100644
index 222fb51e34..0000000000
--- a/interface/web/designer/lib/lang/pt_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Menu';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_menu_txt'] = 'Novo Menu';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Subir';
-$wb['down_txt'] = 'Descer';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = 'Deseja eliminar este módulo e todos os ficheiros contidos na pasta?';
-$wb['menu_del_txt'] = 'Deseja apagar este menu e todos seus elementos?';
-$wb['item_del_txt'] = 'Deseja apagar este elemento do menu?';
-?>
diff --git a/interface/web/designer/lib/lang/ro.lng b/interface/web/designer/lib/lang/ro.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/ro.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_edit.lng b/interface/web/designer/lib/lang/ro_form_edit.lng
deleted file mode 100644
index a99b975f03..0000000000
--- a/interface/web/designer/lib/lang/ro_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpagina';
-$wb['tab_width_txt'] = 'Tab latime';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form proprietati';
-$wb['description_txt'] = 'Descriere';
-$wb['action_txt'] = 'Actiune (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permisiuni';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Altele';
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_list.lng b/interface/web/designer/lib/lang/ro_form_list.lng
deleted file mode 100644
index 49b9d5eaf0..0000000000
--- a/interface/web/designer/lib/lang/ro_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titlu';
-$wb['description_txt'] = 'Descriere';
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_show.lng b/interface/web/designer/lib/lang/ro_form_show.lng
deleted file mode 100644
index 9cc5e71d92..0000000000
--- a/interface/web/designer/lib/lang/ro_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'editor de formular';
-$wb['title_txt'] = 'Titlu formular';
-$wb['name_txt'] = 'nume formular';
-$wb['delete_txt'] = 'sterge';
-$wb['properties_txt'] = 'Proprietati';
-$wb['new_tab_txt'] = 'Un nou Tab ';
-$wb['edit_txt'] = 'Editeaza';
-$wb['new_txt'] = 'Nou';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formular';
-$wb['description_txt'] = 'Descriere';
-$wb['module_del_txt'] = 'Sterge module si toate subdirectoarele ?';
-$wb['menu_del_txt'] = 'Sterge menu si obiectele din menu ?';
-$wb['item_del_txt'] = 'sterge obiectele din menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_edit.lng b/interface/web/designer/lib/lang/ro_module_edit.lng
deleted file mode 100644
index 327550f203..0000000000
--- a/interface/web/designer/lib/lang/ro_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-$wb['header_txt'] = 'Module proprietati';
-$wb['description_txt'] = '<b>Description</b> <br><br> <b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br> <b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br> <b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br> <b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br> <b>Default page:</b> These page will be shown when the module is opened.<br> <b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br> <b>Hint:</b> All paths are relative to the directory ';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_list.lng b/interface/web/designer/lib/lang/ro_module_list.lng
deleted file mode 100644
index c53b556a4f..0000000000
--- a/interface/web/designer/lib/lang/ro_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titlu';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_nav_edit.lng b/interface/web/designer/lib/lang/ro_module_nav_edit.lng
deleted file mode 100644
index ee6bf54268..0000000000
--- a/interface/web/designer/lib/lang/ro_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titlu';
-$wb['header_txt'] = 'Proprietati Navi ';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng
deleted file mode 100644
index 9b7d60df91..0000000000
--- a/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titlu';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi Proprietati';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_show.lng b/interface/web/designer/lib/lang/ro_module_show.lng
deleted file mode 100644
index 2fb748c3d4..0000000000
--- a/interface/web/designer/lib/lang/ro_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Titlu';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Sterge';
-$wb['properties_txt'] = 'Proprietati';
-$wb['new_menu_txt'] = 'Menu nou';
-$wb['edit_txt'] = 'Editare';
-$wb['new_txt'] = 'Nou';
-$wb['up_txt'] = 'SUS';
-$wb['down_txt'] = 'JOS';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Doriti sa stergeti modul ?';
-$wb['menu_del_txt'] = 'Doriti sa stergeti menu cu toate item-urile ?';
-$wb['item_del_txt'] = 'Doriti sa stergeti item-ul din menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/ru.lng b/interface/web/designer/lib/lang/ru.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/ru.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_edit.lng b/interface/web/designer/lib/lang/ru_form_edit.lng
deleted file mode 100644
index 36c0bf46cf..0000000000
--- a/interface/web/designer/lib/lang/ru_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Название формы';
-$wb['title_txt'] = 'Заголовок формы';
-$wb['template_txt'] = 'Шаблон';
-$wb['navframe_txt'] = 'Навигация';
-$wb['startpage_txt'] = 'Стартовая страница';
-$wb['tab_width_txt'] = 'Ширина таба';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-$wb['header_txt'] = 'Свойства формы';
-$wb['description_txt'] = 'Описание';
-$wb['action_txt'] = 'Действие (скрипт)';
-$wb['db_table_txt'] = 'Таблица БД';
-$wb['db_table_idx_txt'] = 'Индекс таблицы БД';
-$wb['db_history_txt'] = 'Undo-лог';
-$wb['tab_default_txt'] = 'Таб по-умолчанию';
-$wb['list_default_txt'] = 'Список по-умолчанию';
-$wb['auth_txt'] = 'Права';
-$wb['auth_preset_userid_txt'] = 'ПользовательID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. User';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Group';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Other';
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_list.lng b/interface/web/designer/lib/lang/ru_form_list.lng
deleted file mode 100644
index 3db8db8d2f..0000000000
--- a/interface/web/designer/lib/lang/ru_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend форма';
-$wb['form_txt'] = 'Форма';
-$wb['module_txt'] = 'Модуль';
-$wb['title_txt'] = 'Заголовок';
-$wb['description_txt'] = 'Описание';
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_show.lng b/interface/web/designer/lib/lang/ru_form_show.lng
deleted file mode 100644
index 8b0132bbaa..0000000000
--- a/interface/web/designer/lib/lang/ru_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор форм';
-$wb['title_txt'] = 'Заголовок форм';
-$wb['name_txt'] = 'Имя формы';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Свойства';
-$wb['new_tab_txt'] = 'Новый таб';
-$wb['edit_txt'] = 'Изменить';
-$wb['new_txt'] = 'Новый';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Модуль';
-$wb['form_txt'] = 'Форма';
-$wb['description_txt'] = 'Описание';
-$wb['module_del_txt'] = 'Удалить модули и подкаталоги?';
-$wb['menu_del_txt'] = 'Удалить меню и подменю?';
-$wb['item_del_txt'] = 'Удалить menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_edit.lng b/interface/web/designer/lib/lang/ru_module_edit.lng
deleted file mode 100644
index b7c2aaf0f4..0000000000
--- a/interface/web/designer/lib/lang/ru_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Название модуля';
-$wb['title_txt'] = 'Заголовок модуля';
-$wb['template_txt'] = 'Файл шаблона';
-$wb['navframe_txt'] = 'Навигационный фрейм';
-$wb['startpage_txt'] = 'Страница по-умолчанию';
-$wb['tab_width_txt'] = 'Ширина таба';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-$wb['header_txt'] = 'Свойства модуля';
-$wb['description_txt'] = '
-<b>Описание</b>
-<br><br>
-<b>Имя модуля:</b> Имя директории модуля. Допустимо использовать латинские символы, числа и подчеркивание.<br>
-<b>Заголовок модуля:</b> Будет отображаться вверху радом с навигацией.<br>
-<b>Файл шаблона:</b> Файл шаблона для модуля. Сейчас доступны: module.tpl.htm и module_tree.tpl.htm. По-умолчанию стоит module.tpl.htm.<br>
-<b>Навигационный фрейм:</b> Если module_tree.tpl.htm выбран как шаблон, введите здесь путь до скрипта для левого фрейма.<br>
-<b>Страница по-умолчанию:</b> Эта страница будет показана, когда открывается модуль.<br>
-<b>Ширина таба:</b> Ширина таба в главной навигации. По-умолчанию поле пустое. Вы можете ввести значение в пикселях или в процентах.<br>
-<b>Подсказка:</b> Все пути в директории web относительные.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_list.lng b/interface/web/designer/lib/lang/ru_module_list.lng
deleted file mode 100644
index 2401318dd5..0000000000
--- a/interface/web/designer/lib/lang/ru_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend модуль';
-$wb['module_txt'] = 'Модуль';
-$wb['title_txt'] = 'Заголовок';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_nav_edit.lng b/interface/web/designer/lib/lang/ru_module_nav_edit.lng
deleted file mode 100644
index 6fb4cc78fe..0000000000
--- a/interface/web/designer/lib/lang/ru_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заголовок';
-$wb['header_txt'] = 'Свойства навигации';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Отмена';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng
deleted file mode 100644
index ab458ee5d4..0000000000
--- a/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заголовок';
-$wb['target_txt'] = 'Цель';
-$wb['link_txt'] = 'Линк';
-$wb['header_txt'] = 'Navi свойства';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_show.lng b/interface/web/designer/lib/lang/ru_module_show.lng
deleted file mode 100644
index 25dc983dc7..0000000000
--- a/interface/web/designer/lib/lang/ru_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор меню';
-$wb['title_txt'] = 'Заголовок';
-$wb['name_txt'] = 'Модуль';
-$wb['delete_txt'] = 'Удалить';
-$wb['properties_txt'] = 'Свойства';
-$wb['new_menu_txt'] = 'Новое меню';
-$wb['edit_txt'] = 'Изменить';
-$wb['new_txt'] = 'Новый';
-$wb['up_txt'] = 'Вверх';
-$wb['down_txt'] = 'Вниз';
-$wb['module_txt'] = 'Модуль';
-$wb['module_del_txt'] = 'Хотите удалить модуль и все, что относится к нему?';
-$wb['menu_del_txt'] = 'Хотите удалить меню вместе с пунктами?';
-$wb['item_del_txt'] = 'Хотите удалить пункт меню?';
-?>
diff --git a/interface/web/designer/lib/lang/se.lng b/interface/web/designer/lib/lang/se.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/se.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/se_form_edit.lng b/interface/web/designer/lib/lang/se_form_edit.lng
deleted file mode 100644
index 1a3a831ff0..0000000000
--- a/interface/web/designer/lib/lang/se_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formulärnamn';
-$wb['title_txt'] = 'Formulärtitel';
-$wb['template_txt'] = 'Mall';
-$wb['navframe_txt'] = 'Nav.ram';
-$wb['startpage_txt'] = 'Startsida';
-$wb['tab_width_txt'] = 'Flik bredd';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-$wb['header_txt'] = 'Form inställningar';
-$wb['description_txt'] = 'Beskrivning';
-$wb['action_txt'] = 'Action (skript)';
-$wb['db_table_txt'] = 'DB Tabell';
-$wb['db_table_idx_txt'] = 'DB Tabell Index';
-$wb['db_history_txt'] = 'Ã…ngra Logg';
-$wb['tab_default_txt'] = 'Standard Flik';
-$wb['list_default_txt'] = 'Standard Lista';
-$wb['auth_txt'] = 'Behörighet';
-$wb['auth_preset_userid_txt'] = 'AnvändarID';
-$wb['auth_preset_groupid_txt'] = 'GruppID';
-$wb['auth_preset_perm_user_txt'] = 'Beh. Användare';
-$wb['auth_preset_perm_group_txt'] = 'Beh. Grupp';
-$wb['auth_preset_perm_other_txt'] = 'Beh. Andra';
-?>
diff --git a/interface/web/designer/lib/lang/se_form_list.lng b/interface/web/designer/lib/lang/se_form_list.lng
deleted file mode 100644
index 10f41870b9..0000000000
--- a/interface/web/designer/lib/lang/se_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Huvudformulär';
-$wb['form_txt'] = 'Formulär';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titel';
-$wb['description_txt'] = 'Beskrivning';
-?>
diff --git a/interface/web/designer/lib/lang/se_form_show.lng b/interface/web/designer/lib/lang/se_form_show.lng
deleted file mode 100644
index 3e21d62ef4..0000000000
--- a/interface/web/designer/lib/lang/se_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulärredigerare';
-$wb['title_txt'] = 'Formulärtitel';
-$wb['name_txt'] = 'Formulärnamn';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Inställningar';
-$wb['new_tab_txt'] = 'Ny flik';
-$wb['edit_txt'] = 'Redigera';
-$wb['new_txt'] = 'Ny';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formulär';
-$wb['description_txt'] = 'Beskrivning';
-$wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
-$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
-$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
-?>
diff --git a/interface/web/designer/lib/lang/se_module_edit.lng b/interface/web/designer/lib/lang/se_module_edit.lng
deleted file mode 100644
index ba828ebbfc..0000000000
--- a/interface/web/designer/lib/lang/se_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulnamn';
-$wb['title_txt'] = 'Modultitel';
-$wb['template_txt'] = 'Mallfil';
-$wb['navframe_txt'] = 'Nav.Ram';
-$wb['startpage_txt'] = 'Standardsida';
-$wb['tab_width_txt'] = 'Flikbredd';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-$wb['header_txt'] = 'Modulinställningar';
-$wb['description_txt'] = '<b>Description</b><br><br><b>Modulename:</b> Namn på modul mappen. Endast siffror, bokstäver och understreck är tillåtna.<br><b>Moduletitle:</b> Kommer att visas i (övre) huvud navigerigsramen.<br><b>Template file:</b> Mall fil för modulen. Just nu finns: module.tpl.htm och module_tree.tpl.htm. Standard är module.tpl.htm.<br><b>NaviFrame:</b> Om module module_tree.tpl.htm väljs som mall file, skriv här sökvägen till skriptfilen för den vänstra ramen.<br><b>Default page:</b> Dessa sidor kommer att visas när modulen öppnas.<br><b>Tab width:</b> Bredd på Flikarna i huvud navigerings ramen. Detta fält är tomt som standard. Du kan skriva in ett absolutvärde i pixlar (ex. 20) eller relativt värde (ex. 20%).<br><b>Hint:</b> Alla sökvägar är relativa till mappen web.';
-?>
diff --git a/interface/web/designer/lib/lang/se_module_list.lng b/interface/web/designer/lib/lang/se_module_list.lng
deleted file mode 100644
index 47ff228608..0000000000
--- a/interface/web/designer/lib/lang/se_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Huvudmodul';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titel';
-?>
diff --git a/interface/web/designer/lib/lang/se_module_nav_edit.lng b/interface/web/designer/lib/lang/se_module_nav_edit.lng
deleted file mode 100644
index 468f8d8ebe..0000000000
--- a/interface/web/designer/lib/lang/se_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['header_txt'] = 'Nav-egenskaper';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-?>
diff --git a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
deleted file mode 100644
index f5df090578..0000000000
--- a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['target_txt'] = 'MÃ¥l';
-$wb['link_txt'] = 'Länk';
-$wb['header_txt'] = 'Nav. egenskaper';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-?>
diff --git a/interface/web/designer/lib/lang/se_module_show.lng b/interface/web/designer/lib/lang/se_module_show.lng
deleted file mode 100644
index 391947cba0..0000000000
--- a/interface/web/designer/lib/lang/se_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menyredigerare';
-$wb['title_txt'] = 'Titel';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Ta bort';
-$wb['properties_txt'] = 'Egenskaper';
-$wb['new_menu_txt'] = 'Ny meny';
-$wb['edit_txt'] = 'Redigera';
-$wb['new_txt'] = 'Ny';
-$wb['up_txt'] = 'Upp';
-$wb['down_txt'] = 'Ner';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
-$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
-$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
-?>
diff --git a/interface/web/designer/lib/lang/sk.lng b/interface/web/designer/lib/lang/sk.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/sk.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_edit.lng b/interface/web/designer/lib/lang/sk_form_edit.lng
deleted file mode 100644
index a659c14f9a..0000000000
--- a/interface/web/designer/lib/lang/sk_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Názov formulára';
-$wb['title_txt'] = 'Názov formulára';
-$wb['template_txt'] = 'Šablóny';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Úvodná stránka';
-$wb['tab_width_txt'] = 'Tab šírka';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-$wb['header_txt'] = 'Vlastnosti formulára';
-$wb['description_txt'] = 'Popis';
-$wb['action_txt'] = 'Akcie (skript)';
-$wb['db_table_txt'] = 'DB Tabulky';
-$wb['db_table_idx_txt'] = 'DB Tabulky Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Predvolený Tab';
-$wb['list_default_txt'] = 'Predvolený List';
-$wb['auth_txt'] = 'Práva';
-$wb['auth_preset_userid_txt'] = 'uživateľ ID';
-$wb['auth_preset_groupid_txt'] = 'skupina ID';
-$wb['auth_preset_perm_user_txt'] = 'Práva uživateľa';
-$wb['auth_preset_perm_group_txt'] = 'Práva skupina';
-$wb['auth_preset_perm_other_txt'] = 'Práva ostatný';
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_list.lng b/interface/web/designer/lib/lang/sk_form_list.lng
deleted file mode 100644
index 262de0b8cc..0000000000
--- a/interface/web/designer/lib/lang/sk_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulár';
-$wb['form_txt'] = 'Formulár';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Nadpis';
-$wb['description_txt'] = 'Popis';
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_show.lng b/interface/web/designer/lib/lang/sk_form_show.lng
deleted file mode 100644
index 4b8645137b..0000000000
--- a/interface/web/designer/lib/lang/sk_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulár editor';
-$wb['title_txt'] = 'Formulár stránok';
-$wb['name_txt'] = 'Názov formulára';
-$wb['delete_txt'] = 'Odstrániť';
-$wb['properties_txt'] = 'Vlastnosti';
-$wb['new_tab_txt'] = 'Tab nové';
-$wb['edit_txt'] = 'Upraviť';
-$wb['new_txt'] = 'Nové';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formulár';
-$wb['description_txt'] = 'Popis';
-$wb['module_del_txt'] = 'Odstrániť modul a vo všetky podadresáre?';
-$wb['menu_del_txt'] = 'Zmazať z ponuky položky menu?';
-$wb['item_del_txt'] = 'Zmazať položky z menu?';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_edit.lng b/interface/web/designer/lib/lang/sk_module_edit.lng
deleted file mode 100644
index 5daf4ff51b..0000000000
--- a/interface/web/designer/lib/lang/sk_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Meno modulu';
-$wb['title_txt'] = 'Názov modulu';
-$wb['template_txt'] = 'Šablóna súbor';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozia stránka';
-$wb['tab_width_txt'] = 'Tab šírka';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-$wb['header_txt'] = 'Modul vlastnosti';
-$wb['description_txt'] = '<b> Popis </ b> <br> <br> <b> Modulename: </ b> Názov modulu adresár. Len čísla, znaky a podtržítko povolené. <br> <b> Moduletitle: </ b> sa objaví v (hornej) navigáciu. <br> <b> Šablóna súboru: </ b> Šablóna súboru modulu. V súčasnej dobe sú k dispozícii';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_list.lng b/interface/web/designer/lib/lang/sk_module_list.lng
deleted file mode 100644
index 70eb44d0ab..0000000000
--- a/interface/web/designer/lib/lang/sk_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modul backend';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Názov';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_nav_edit.lng b/interface/web/designer/lib/lang/sk_module_nav_edit.lng
deleted file mode 100644
index 7bfa900a54..0000000000
--- a/interface/web/designer/lib/lang/sk_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Názov';
-$wb['header_txt'] = 'Navi vlastnosti';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng b/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng
deleted file mode 100644
index 8fcfddd8ea..0000000000
--- a/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titulok';
-$wb['target_txt'] = 'Cieľ';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi vlastnosti';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_show.lng b/interface/web/designer/lib/lang/sk_module_show.lng
deleted file mode 100644
index e3f19168e8..0000000000
--- a/interface/web/designer/lib/lang/sk_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Názov';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Zmazať';
-$wb['properties_txt'] = 'Vlastnosti';
-$wb['new_menu_txt'] = 'Menu nové';
-$wb['edit_txt'] = 'Upraviť';
-$wb['new_txt'] = 'Nový';
-$wb['up_txt'] = 'Hore';
-$wb['down_txt'] = 'Dolu';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Chcete zmazat modul?';
-$wb['menu_del_txt'] = 'Chcete zmazat menu?';
-$wb['item_del_txt'] = 'Chcete zmazat položku?';
-?>
diff --git a/interface/web/designer/lib/lang/tr.lng b/interface/web/designer/lib/lang/tr.lng
deleted file mode 100644
index acb6c3546c..0000000000
--- a/interface/web/designer/lib/lang/tr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_edit.lng b/interface/web/designer/lib/lang/tr_form_edit.lng
deleted file mode 100644
index 8288ce84b8..0000000000
--- a/interface/web/designer/lib/lang/tr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Form adı';
-$wb['title_txt'] = 'Form başlığı';
-$wb['template_txt'] = 'Åžablon';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Ä°lk sayfa';
-$wb['tab_width_txt'] = 'Sekme geniÅŸliÄŸi';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'Ä°ptal';
-$wb['header_txt'] = 'Form Özellikleri';
-$wb['description_txt'] = 'Açıklama';
-$wb['action_txt'] = 'Ä°ÅŸlem (betik)';
-$wb['db_table_txt'] = 'DB Tablo';
-$wb['db_table_idx_txt'] = 'DB Tablo Indeks';
-$wb['db_history_txt'] = 'Logu Geri al';
-$wb['tab_default_txt'] = 'Varsayılan Sekme';
-$wb['list_default_txt'] = 'Varsayılan Liste';
-$wb['auth_txt'] = 'Yetkiler';
-$wb['auth_preset_userid_txt'] = 'KullanıcıID';
-$wb['auth_preset_groupid_txt'] = 'GrupID';
-$wb['auth_preset_perm_user_txt'] = 'Yetkili Kullanıcı';
-$wb['auth_preset_perm_group_txt'] = 'Yetkili Grup';
-$wb['auth_preset_perm_other_txt'] = 'DiÄŸer Yetkililer';
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_list.lng b/interface/web/designer/lib/lang/tr_form_list.lng
deleted file mode 100644
index 54aa1f4534..0000000000
--- a/interface/web/designer/lib/lang/tr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Arkaplan Formu';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modül';
-$wb['title_txt'] = 'Başlık';
-$wb['description_txt'] = 'Açıklama';
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_show.lng b/interface/web/designer/lib/lang/tr_form_show.lng
deleted file mode 100644
index 8efa1df5a5..0000000000
--- a/interface/web/designer/lib/lang/tr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Form editörü';
-$wb['title_txt'] = 'Form başlığı';
-$wb['name_txt'] = 'Form ismi';
-$wb['delete_txt'] = 'Sil';
-$wb['properties_txt'] = 'Özellikler';
-$wb['new_tab_txt'] = 'Yeni sekme';
-$wb['edit_txt'] = 'Düzenle';
-$wb['new_txt'] = 'Yeni';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modül';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Açıklama';
-$wb['module_del_txt'] = 'Bu modülü ve tüm alt dizinlerini silmek istiyor musunuz?';
-$wb['menu_del_txt'] = 'Bu menüyü tüm alt menüleriyle birlikte silmek istiyor musunuz?';
-$wb['item_del_txt'] = 'Bu menü elemanını silmek istiyor musunuz?';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_edit.lng b/interface/web/designer/lib/lang/tr_module_edit.lng
deleted file mode 100644
index 92bf93d2ca..0000000000
--- a/interface/web/designer/lib/lang/tr_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modül adı';
-$wb['title_txt'] = 'Modül başlığı';
-$wb['template_txt'] = 'Şablon dosyası';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Varsayılan sayfa';
-$wb['tab_width_txt'] = 'Sekme geniÅŸliÄŸi';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'Ä°ptal';
-$wb['header_txt'] = 'Modül özellikleri';
-$wb['description_txt'] = '
-<b>Açıklama</b>
-<br><br>
-<b>Modül adı:</b> Modül klasörünün adı. Sadece sayı, rakam ve alttan çizgi kullanabilirsiniz.<br>
-<b>Modül başlığı:</b> Üst ana menüde gösterilecek olan isim.<br>
-<b>Şablon dosyası:</b> Şablon dosyası veya modülü. Şu anda geçerli olan dosyalar: module.tpl.htm ve module_tree.tpl.htm. Varsayılan dosya: module.tpl.htm.<br>
-<b>NaviFrame:</b> Eğer module_tree.tpl.htm dosyası şablon dosyası olarak seçilirse, buraya sol frame için betik dosyası yolu girebilirsiniz.<br>
-<b>Varsayılan sayfa:</b> Modül açıldığı zaman görünecek sayfa.<br>
-<b>Sekme Genişliği:</b> Temel navigasyonun genişliği. Bu alan varsayılan olarak boştur. Siz bir piksel değeri(20 gibi) veya bir oran(20%) değeri girebilirsiniz.<br>
-<b>İşaret:</b> Tüm yollar web klasörüyle ilişkilidir..
-';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_list.lng b/interface/web/designer/lib/lang/tr_module_list.lng
deleted file mode 100644
index 08c57875fd..0000000000
--- a/interface/web/designer/lib/lang/tr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Arkaplan Modülü';
-$wb['module_txt'] = 'Modül';
-$wb['title_txt'] = 'Başlık';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_nav_edit.lng b/interface/web/designer/lib/lang/tr_module_nav_edit.lng
deleted file mode 100644
index fd10993d6e..0000000000
--- a/interface/web/designer/lib/lang/tr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Başlık';
-$wb['header_txt'] = 'Navi özellikleri';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'Ä°ptal';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng
deleted file mode 100644
index 06fe57e84f..0000000000
--- a/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Başlık';
-$wb['target_txt'] = 'Hedef';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi özellikleri';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'Ä°ptal';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_show.lng b/interface/web/designer/lib/lang/tr_module_show.lng
deleted file mode 100644
index a40c0743b5..0000000000
--- a/interface/web/designer/lib/lang/tr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menü editörü';
-$wb['title_txt'] = 'Başlık';
-$wb['name_txt'] = 'Modül';
-$wb['delete_txt'] = 'Sil';
-$wb['properties_txt'] = 'Özellikler';
-$wb['new_menu_txt'] = 'Yeni Menü';
-$wb['edit_txt'] = 'Düzenle';
-$wb['new_txt'] = 'Yeni';
-$wb['up_txt'] = 'Yukarı';
-$wb['down_txt'] = 'Aşağı';
-$wb['module_txt'] = 'Modül';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/module.conf.php b/interface/web/designer/lib/module.conf.php
deleted file mode 100644
index 6104f497ce..0000000000
--- a/interface/web/designer/lib/module.conf.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-$module = array (
-	'name' => 'designer',
-	'title' => 'BE Designer',
-	'template' => 'module.tpl.htm',
-	'navframe_page' => '',
-	'startpage' => 'designer/module_list.php',
-	'tab_width' => '',
-	'nav' =>
-	array (
-		0 =>
-		array (
-			'title' => 'Modules',
-			'open' => '1',
-			'items' =>
-			array (
-				0 =>
-				array (
-					'title' => 'Add',
-					'target' => 'content',
-					'link' => 'designer/module_edit.php',
-				),
-				1 =>
-				array (
-					'title' => 'Edit',
-					'target' => 'content',
-					'link' => 'designer/module_list.php',
-				),
-			),
-		),
-		/*
-	1 =>
-    array (
-      'title' => 'Formulare',
-      'open' => '1',
-      'items' =>
-      array (
-        2 =>
-        array (
-          'title' => 'Add',
-          'target' => 'content',
-          'link' => 'designer/form_edit.php',
-        ),
-        3 =>
-        array (
-          'title' => 'Edit',
-          'target' => 'content',
-          'link' => 'designer/form_list.php',
-        ),
-      ),
-    ),
-    2 =>
-    array (
-      'title' => 'Lists',
-      'open' => '1',
-      'items' =>
-      array (
-        4 =>
-        array (
-          'title' => 'Add',
-          'target' => 'content',
-          'link' => 'designer/list_edit.php',
-        ),
-        5 =>
-        array (
-          'title' => 'Edit',
-          'target' => 'content',
-          'link' => 'designer/list_list.php',
-        ),
-      ),
-    ),
-    3 =>
-    array (
-      'title' => 'Languages',
-      'open' => '1',
-      'items' =>
-      array (
-        6 =>
-        array (
-          'title' => 'Add',
-          'target' => 'content',
-          'link' => 'designer/lang_edit.php',
-        ),
-        7 =>
-        array (
-          'title' => 'Edit',
-          'target' => 'content',
-          'link' => 'designer/lang_list.php',
-        ),
-      ),
-    ),
-	*/
-	),
-)
-?>
diff --git a/interface/web/designer/list/empty.dir b/interface/web/designer/list/empty.dir
deleted file mode 100644
index 95ba9ef37c..0000000000
--- a/interface/web/designer/list/empty.dir
+++ /dev/null
@@ -1 +0,0 @@
-This empty directory is needed by ISPConfig.
diff --git a/interface/web/designer/module_edit.php b/interface/web/designer/module_edit.php
deleted file mode 100644
index af7dbb0271..0000000000
--- a/interface/web/designer/module_edit.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_edit.htm');
-
-// ID importieren
-$id = $_REQUEST["id"];
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $id)) die("id contains invalid chars.");
-
-if(count($_POST) > 1) {
-	// Bestimme aktion
-	if($id != '') {
-		$action = 'UPDATE';
-	} else {
-		$action = 'INSERT';
-	}
-
-
-	if($error == '') {
-
-		$id = $_POST["module"]["name"];
-		if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $id)) die("id contains invalid chars.");
-
-		$filename = "../".$id."/lib/module.conf.php";
-		$module_new = $_POST["module"];
-
-		if(@is_file($filename)) {
-			include_once $filename;
-			$navi = $module["nav"];
-			unset($module);
-			$module_new["nav"] = $navi;
-		}
-
-		$m = "<?php\r\n".'$module = '.var_export($module_new, true)."\r\n?>";
-
-		// creating the module directories
-		if(!@is_dir("../".$id)) mkdir("../".$id) or die("Cannot make directory: ../".$id);
-		if(!@is_dir("../".$id."/lib")) mkdir("../".$id."/lib") or die("Cannot make directory: ../".$id."/lib");
-		if(!@is_dir("../".$id."/lib/lang")) mkdir("../".$id."/lib/lang") or die("Cannot make directory: ../".$id."/lib/lang");
-		if(!@is_dir("../".$id."/form")) mkdir("../".$id."/form") or die("Cannot make directory: ../".$id."/form");
-		if(!@is_dir("../".$id."/list")) mkdir("../".$id."/list") or die("Cannot make directory: ../".$id."/list");
-		if(!@is_dir("../".$id."/templates")) mkdir("../".$id."/templates") or die("Cannot make directory: ../".$id."/templates");
-
-		// writing module.conf
-		if (!$handle = fopen($filename, 'w')) {
-			print "Cannot open file ($filename)";
-			exit;
-		}
-
-		if (!fwrite($handle, $m)) {
-			print "Cannot write to file ($filename)";
-			exit;
-		}
-
-		fclose($handle);
-
-		// writing admin conf
-		$admin_conf_filename = "../".$id."/lib/admin.conf.php";
-		if(!is_file($admin_conf_filename)) {
-			if (!$handle = fopen($admin_conf_filename, 'w')) {
-				print "Cannot open file ($admin_conf_filename)";
-				exit;
-			}
-
-			if (!fwrite($handle, "<?php\r\n?>")) {
-				print "Cannot write to file ($admin_conf_filename)";
-				exit;
-			}
-
-			fclose($handle);
-		}
-
-		// zu Liste springen
-		header("Location: module_list.php");
-		exit;
-
-	} else {
-		$app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
-		$app->tpl->setVar($_POST);
-	}
-}
-
-if($id != '') {
-	// Datensatz besteht bereits
-	// bestehenden Datensatz anzeigen
-	if($error == '') {
-		// es liegt ein Fehler vor
-		include_once "../".$id."/lib/module.conf.php";
-		//$navi = $module["nav"];
-		unset($module["nav"]);
-		$record = $module;
-	} else {
-		// ein Fehler
-		$record = $_POST;
-		//$navi = $_POST["nav"];
-		unset($_POST["nav"]);
-	}
-	$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
-	// neuer datensatz
-	if($error == '') {
-		// es liegt ein Fehler vor
-		$record["template"] = "module.tpl.htm";
-	} else {
-		// ein Fehler
-		$record = $_POST;
-		//$navi = $_POST["nav"];
-		unset($_POST["nav"]);
-
-	}
-	$record["readonly"] = '';
-}
-
-$record["id"] = $id;
-
-/*
-// baue Modul navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-foreach($navi as $section) {
-	$content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
-	foreach($section["items"] as $item) {
-		$content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-		$content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
-		$content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-		$n2++;
-	}
-	$n1++;
-}
-
-$record["nav"] = $content;
-*/
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_module_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_list.php b/interface/web/designer/module_list.php
deleted file mode 100644
index b08707e14e..0000000000
--- a/interface/web/designer/module_list.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/module_list.htm');
-
-//* Pick out modules
-$bgcolor = '#FFFFFF';
-$modules_list = array();
-$handle = @opendir(ISPC_WEB_PATH);
-while ($file = @readdir($handle)) {
-	if ($file != '.' && $file != '..') {
-		if(@is_dir(ISPC_WEB_PATH."/$file")) {
-			if(is_file(ISPC_WEB_PATH."/$file/lib/module.conf.php") and $file != 'login') {
-				include_once ISPC_WEB_PATH."/$file/lib/module.conf.php";
-				$modules_list[] = array(  'module' =>   $module['name'],
-					'title' =>    $module['title'],
-					'bgcolor' =>  ($bgcolor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF'
-				);
-			}
-		}
-	}
-}
-
-$app->tpl->setLoop('records', $modules_list);
-
-//* loading language file
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_module_list.lng';
-include $lng_file;
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_del.php b/interface/web/designer/module_nav_del.php
deleted file mode 100644
index c5781d979b..0000000000
--- a/interface/web/designer/module_nav_del.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
-	$filename = "../".$module_name."/lib/module.conf.php";
-
-	if(!@is_file($filename)) die("File not found: $filename");
-	include_once $filename;
-
-	unset($module["nav"][$nav_id]);
-
-	$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-	// writing module.conf
-	if (!$handle = fopen($filename, 'w')) {
-		print "Cannot open file ($filename)";
-		exit;
-	}
-	if (!fwrite($handle, $m)) {
-		print "Cannot write to file ($filename)";
-		exit;
-	}
-
-	fclose($handle);
-
-
-	// zu Liste springen
-	header("Location: module_show.php?id=$module_name");
-	exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_edit.php b/interface/web/designer/module_nav_edit.php
deleted file mode 100644
index e7e63e149d..0000000000
--- a/interface/web/designer/module_nav_edit.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Security checkpoint
-if($_SESSION['s']['user']['typ'] != 'admin'){
-	die('Admin permissions required.');
-}
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-//* Load template
-$app->uses('tpl');
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// TODO: Check module and nav_id for malicius chars, nav_id can be empty or any number, even 0
-$module_name = $_REQUEST['module_name'];
-$nav_id = $_REQUEST['nav_id'];
-
-//** Sanity checks of module
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)){
-	die('module_name contains invalid chars.');
-}
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)){
-	die('nav_id contains invalid chars.');
-}
-if(empty($module_name)){
-	die('module is empty.');
-}
-
-if(count($_POST) > 0) {
-	//* Determine Action
-	$action = ($nav_id != '') ? 'UPDATE' : 'INSERT';
-	$error = '';
-
-	// TODO: Check variables
-
-	if($error == '') {
-
-		$filename = '../'.$module_name.'/lib/module.conf.php';
-
-		if(!@is_file($filename)){
-			die("File not found: $filename");
-		}
-		include_once $filename;
-
-		$items = ($action == 'UPDATE') ?  $module['nav'][$nav_id]['items'] : array();
-
-		$tmp = array('title' => $_POST['nav']['title'],
-			'open' =>  1,
-			'items' => $items);
-
-		if($action == 'UPDATE') {
-			$module['nav'][$nav_id] = $tmp;
-		} else {
-			$module['nav'][] = $tmp;
-		}
-
-		$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-		//* writing module.conf
-		if (!$handle = fopen($filename, 'w')) {
-			die("Cannot open file ($filename)");
-		}
-
-		if (!fwrite($handle, $m)) {
-			die("Cannot write to file ($filename)");
-		}
-
-		fclose($handle);
-
-
-		//* Jump to list
-		header('Location: module_show.php?id='.urlencode($module_name));
-		exit;
-
-	} else {
-		$app->tpl->setVar('error', '<b>Fehler:</b><br>'.$error);
-		$app->tpl->setVar($_POST);
-	}
-}
-
-if($nav_id != '') {
-	//* Data record exists
-	if($error == '') {
-		include_once '../'.$module_name.'/lib/module.conf.php';
-		$record = $module['nav'][$nav_id];
-	} else {
-		//* error
-		$record = $_POST;
-	}
-	//$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
-	//* New data record
-	if($error == '') {
-		//* es liegt kein Fehler vor
-	} else {
-		//* error
-		$record = $_POST;
-
-	}
-	//$record["readonly"] = '';
-}
-
-$record['nav_id'] = $nav_id;
-$record['module_name'] = $module_name;
-
-$app->tpl->setVar($record);
-
-include_once 'lib/lang/'.$_SESSION['s']['language'].'_module_nav_edit.lng';
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_flip.php b/interface/web/designer/module_nav_flip.php
deleted file mode 100644
index 09cdd17bfe..0000000000
--- a/interface/web/designer/module_nav_flip.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$dir = $_REQUEST["dir"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
-	$filename = "../".$module_name."/lib/module.conf.php";
-
-	if(!@is_file($filename)) die("File not found: $filename");
-	include_once $filename;
-
-	if($dir == 'up' and $nav_id > 0) {
-		$tmp = $module["nav"][$nav_id - 1];
-		$module["nav"][$nav_id - 1] = $module["nav"][$nav_id];
-		$module["nav"][$nav_id] = $tmp;
-	}
-
-	if($dir == 'down' and $nav_id < count($module["nav"]) -1) {
-		$tmp = $module["nav"][$nav_id + 1];
-		$module["nav"][$nav_id + 1] = $module["nav"][$nav_id];
-		$module["nav"][$nav_id] = $tmp;
-	}
-
-	$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-	// writing module.conf
-	if (!$handle = fopen($filename, 'w')) {
-		print "Cannot open file ($filename)";
-		exit;
-	}
-	if (!fwrite($handle, $m)) {
-		print "Cannot write to file ($filename)";
-		exit;
-	}
-
-	fclose($handle);
-
-
-	// zu Liste springen
-	echo "HEADER_REDIRECT:designer/module_show.php?id=$module_name";
-	exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_item_del.php b/interface/web/designer/module_nav_item_del.php
deleted file mode 100644
index 66a17b5892..0000000000
--- a/interface/web/designer/module_nav_item_del.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
-	$filename = "../".$module_name."/lib/module.conf.php";
-
-	if(!@is_file($filename)) die("File not found: $filename");
-	include_once $filename;
-
-	unset($module["nav"][$nav_id]["items"][$item_id]);
-
-	$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-	// writing module.conf
-	if (!$handle = fopen($filename, 'w')) {
-		print "Cannot open file ($filename)";
-		exit;
-	}
-	if (!fwrite($handle, $m)) {
-		print "Cannot write to file ($filename)";
-		exit;
-	}
-
-	fclose($handle);
-
-
-	// zu Liste springen
-	header("Location: module_show.php?id=$module_name");
-	exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_item_edit.php b/interface/web/designer/module_nav_item_edit.php
deleted file mode 100644
index 2faff74fec..0000000000
--- a/interface/web/designer/module_nav_item_edit.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_item_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if(count($_POST) > 0) {
-	// Bestimme aktion
-	if($item_id != '') {
-		$action = 'UPDATE';
-	} else {
-		$action = 'INSERT';
-	}
-
-	$error = '';
-
-	// TODO: Check variables
-
-
-	if($error == '') {
-
-		$filename = "../".$module_name."/lib/module.conf.php";
-
-		if(!@is_file($filename)) die("File not found: $filename");
-		include_once $filename;
-
-		$tmp = array('title' =>$_POST["title"],
-			'target' => $_POST["target"],
-			'link' => $_POST["link"]);
-
-		if($action == 'UPDATE') {
-			$module["nav"][$nav_id]["items"][$item_id] = $tmp;
-		} else {
-			$module["nav"][$nav_id]["items"][] = $tmp;
-		}
-
-		$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-		// writing module.conf
-		if (!$handle = fopen($filename, 'w')) {
-			print "Cannot open file ($filename)";
-			exit;
-		}
-
-		if (!fwrite($handle, $m)) {
-			print "Cannot write to file ($filename)";
-			exit;
-		}
-
-		fclose($handle);
-
-
-		// zu Liste springen
-		header("Location: module_show.php?id=$module_name");
-		exit;
-
-	} else {
-		$app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
-		$app->tpl->setVar($_POST);
-	}
-}
-
-if($item_id != '') {
-	// Datensatz besteht bereits
-	// bestehenden Datensatz anzeigen
-	if($error == '') {
-		// es liegt ein Fehler vor
-		include_once "../".$module_name."/lib/module.conf.php";
-		$record = $module["nav"][$nav_id]["items"][$item_id];
-	} else {
-		// ein Fehler
-		$record = $_POST;
-	}
-	//$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
-	// neuer datensatz
-	if($error == '') {
-		// es liegt kein Fehler vor
-		$record["target"] = "content";
-	} else {
-		// ein Fehler
-		$record = $_POST;
-
-	}
-	//$record["readonly"] = '';
-}
-
-$record["item_id"] = $item_id;
-$record["nav_id"] = $nav_id;
-$record["module_name"] = $module_name;
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_module_nav_item_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_item_flip.php b/interface/web/designer/module_nav_item_flip.php
deleted file mode 100644
index 94f210b138..0000000000
--- a/interface/web/designer/module_nav_item_flip.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-$dir = $_REQUEST["dir"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
-	$filename = "../".$module_name."/lib/module.conf.php";
-
-	if(!@is_file($filename)) die("File not found: $filename");
-	include_once $filename;
-
-	if($dir == 'up' and $item_id > 0) {
-		$tmp = $module["nav"][$nav_id]["items"][$item_id - 1];
-		$module["nav"][$nav_id]["items"][$item_id -1] = $module["nav"][$nav_id]["items"][$item_id];
-		$module["nav"][$nav_id]["items"][$item_id] = $tmp;
-	}
-
-	if($dir == 'down' and $item_id < count($module["nav"][$nav_id]["items"]) -1) {
-		$tmp = $module["nav"][$nav_id]["items"][$item_id + 1];
-		$module["nav"][$nav_id]["items"][$item_id + 1] = $module["nav"][$nav_id]["items"][$item_id];
-		$module["nav"][$nav_id]["items"][$item_id] = $tmp;
-	}
-
-	$m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
-	// writing module.conf
-	if (!$handle = fopen($filename, 'w')) {
-		print "Cannot open file ($filename)";
-		exit;
-	}
-	if (!fwrite($handle, $m)) {
-		print "Cannot write to file ($filename)";
-		exit;
-	}
-
-	fclose($handle);
-
-
-	// zu Liste springen
-	header("Location: module_show.php?id=$module_name");
-	exit;
-}
-?>
diff --git a/interface/web/designer/module_show.php b/interface/web/designer/module_show.php
deleted file mode 100644
index f3e9812f9b..0000000000
--- a/interface/web/designer/module_show.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_show.htm');
-
-
-$module_name = $_REQUEST["id"];
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $module_name)) die("id contains invalid chars.");
-
-include_once "../".$module_name."/lib/module.conf.php";
-$navi = $module["nav"];
-unset($module["nav"]);
-$record = $module;
-
-// loading language file
-$lng_file = "lib/lang/".$_SESSION["s"]["user"]["language"]."_module_show.lng";
-include $lng_file;
-$app->tpl->setVar($wb);
-
-// baue Modul navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-if(is_array($navi)) {
-	foreach($navi as $nav_id => $section) {
-		$content .= "<tr>
-    <td colspan='2' class='frmText11'>
-	  <table width='100%'>
-	  	<tr>
-		  <td class='tblHead'>$section[title]</td>
-		  <td class='tblHead' width='280' align='right'>
-		  <input type=\"button\" name=\"bt1$n2\" value=\"$wb[edit_txt]\" onclick=\"loadContent('designer/module_nav_edit.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt2$n2\" value=\"$wb[delete_txt]\" onclick=\"del_record('designer/module_nav_del.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt3$n2\" value=\"$wb[new_txt]\" onclick=\"loadContent('designer/module_nav_item_edit.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt4$n2\" value=\"$wb[up_txt]\" onclick=\"loadContent('designer/module_nav_flip.php?module_name=$module_name&nav_id=$nav_id&dir=up');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt5$n2\" value=\"$wb[down_txt]\" onclick=\"loadContent('designer/module_nav_flip.php?module_name=$module_name&nav_id=$nav_id&dir=down');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  </td>
-		</tr>";
-		//$content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
-		foreach($section["items"] as $item_id => $item) {
-			//$content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-			//$content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
-			//$content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'>&nbsp; &nbsp; &nbsp; &nbsp;<input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
-			$content .= "<tr>
-		  <td class='frmText11'>$item[title]</td>
-		  <td class='frmText11' width='280' align='right'>
-		  <input type=\"button\" name=\"bt6$n2\" value=\"$wb[edit_txt]\" onclick=\"loadContent('designer/module_nav_item_edit.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt7$n2\" value=\"$wb[delete_txt]\" onclick=\"del_record('designer/module_nav_item_del.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt8$n2\" value=\"$wb[up_txt]\" onclick=\"loadContent('designer/module_nav_item_flip.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id&dir=up');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  <input type=\"button\" name=\"bt9$n2\" value=\"$wb[down_txt]\" onclick=\"loadContent('designer/module_nav_item_flip.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id&dir=down');\" class=\"button\" /><div class=\"buttonEnding\"></div>
-		  </td>
-		</tr>";
-			$n2++;
-		}
-		$content .= "<tr><td colspan='2' class='tblFooter'>&nbsp;</td></tr>
-	  </table>
-	</td>
-  </tr>";
-		$n1++;
-	}
-}
-
-$record["nav"] = $content;
-
-
-$app->tpl->setVar($record);
-
-
-$app->tpl->setLoop('records', $modules_list);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-
-?>
diff --git a/interface/web/designer/templates/form_edit.htm b/interface/web/designer/templates/form_edit.htm
deleted file mode 100644
index 72cb0a4429..0000000000
--- a/interface/web/designer/templates/form_edit.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<form method="POST" action="form_edit.php">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[name]" type="text" class="text" value="{tmpl_var name='name'}" size="20" maxlength="50" {tmpl_var name='readonly'}></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[title]" type="text" class="text" value="{tmpl_var name='title'}" size="20" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[description]" type="text" class="text" value="{tmpl_var name='description'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="action_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[action]" type="text" class="text" value="{tmpl_var name='action'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_table_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_table]" type="text" class="text" value="{tmpl_var name='db_table'}" size="10" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_table_idx_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_table_idx]" type="text" class="text" value="{tmpl_var name='db_table_idx'}" size="10" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_history_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_history]" type="text" class="text" value="{tmpl_var name='db_history'}" size="3" maxlength="3"> yes / no</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="tab_default_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[tab_default]" type="text" class="text" value="{tmpl_var name='tab_default'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="list_default_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[list_default]" type="text" class="text" value="{tmpl_var name='list_default'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth]" type="text" class="text" value="{tmpl_var name='auth'}" size="3" maxlength="3"> yes / no</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_userid_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][userid]" type="text" class="text" value="{tmpl_var name='auth_preset_userid'}" size="4" maxlength="4"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_groupid_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][groupid]" type="text" class="text" value="{tmpl_var name='auth_preset_groupid'}" size="4" maxlength="4"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_user_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_user]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_user'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_group_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_group]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_group'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_other_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_other]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_other'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="submit" class="button" value="{tmpl_var name='save_txt'}">
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="self.location.href='form_list.php';">
-    </td>
-  </tr>
-</table>
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
-<input type="hidden" name="form_name" value="{tmpl_var name='form_name'}">
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/form_list.htm b/interface/web/designer/templates/form_list.htm
deleted file mode 100644
index 9e4fc38b95..0000000000
--- a/interface/web/designer/templates/form_list.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<form name="myform" action="form_list.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
-  <tr>
-    <td class="tblHead"><tmpl_var name="form_txt"></td>
-    <td class="tblHead"><tmpl_var name="title_txt"></td>
-	<td class="tblHead"><tmpl_var name="module_txt"></td>
-	<td class="tblHead"><tmpl_var name="description_txt"></td>
-    <td class="tblHead">&nbsp;</td>
-  </tr>
-  <tmpl_loop name="records">
-  <tr bgcolor="{tmpl_var name="bgcolor"}">
-    <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="name"}</a></td>
-    <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="title"}</a></td>
-	<td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="module_name"}</a></td>
-	<td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="description"}</a></td>
-    <td class="frmText11" align="right">[<a href="javascript: del_record('form_del.php?form_name={tmpl_var name='module'}&module_name={tmpl_var name='module_name'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
-  </tr>
-  </tmpl_loop>
-  <tmpl_unless name="records">
-      <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-          <td colspan="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
-      </tr>
-  </tmpl_unless>
-  <tr>
-  	<td colspan="7" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
-  </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/form_show.htm b/interface/web/designer/templates/form_show.htm
deleted file mode 100644
index e8db5efd88..0000000000
--- a/interface/web/designer/templates/form_show.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<script language="JavaScript">
-<!--
-function del_module(link) {
-  if(window.confirm("{tmpl_var name='module_del_txt'}")) {
-  	location.href = link;
-  }
-}
-function del_menu(link) {
-  if(window.confirm("{tmpl_var name='menu_del_txt'}")) {
-  	location.href = link;
-  }
-}
-function del_menuitem(link) {
-  if(window.confirm("{tmpl_var name='item_del_txt'}")) {
-  	location.href = link;
-  }
-}
-
-//-->
-</script>
-<form name="myform" action="module_show.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:320px;"><legend class="frmText11"><b>{tmpl_var name='form_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='title'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='form_name'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="module_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='module_name'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
-    <td width="366" class="frmText11" valign="top">{tmpl_var name='description'}</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">
-	  <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onclick="location.href='form_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" />
-	  <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onclick="del_module('form_del.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}');" class="button" />
-	  <input type="button" name="ed3" value="{tmpl_var name='new_tab_txt'}" onclick="location.href='form_tab_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" /></td>
-  </tr>
-</table>
-</fieldset>
-<table width="350" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tmpl_var name="nav">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_edit.htm b/interface/web/designer/templates/module_edit.htm
deleted file mode 100644
index e6e5b113b2..0000000000
--- a/interface/web/designer/templates/module_edit.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[name]" type="text" class="text" value="{tmpl_var name='name'}" size="30" maxlength="50" {tmpl_var name='readonly'}></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="template_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[template]" type="text" class="text" value="{tmpl_var name='template'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="navframe_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[navframe_page]" type="text" class="text" value="{tmpl_var name='navframe_page'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="startpage_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[startpage]" type="text" class="text" value="{tmpl_var name='startpage'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="tab_width_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[tab_width]" type="text" class="text" value="{tmpl_var name='tab_width'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_list.htm b/interface/web/designer/templates/module_list.htm
deleted file mode 100644
index c82ebef932..0000000000
--- a/interface/web/designer/templates/module_list.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
-  <tr>
-    <td class="tblHead"><tmpl_var name="module_txt"></td>
-    <td class="tblHead"><tmpl_var name="title_txt"></td>
-    <td class="tblHead">&nbsp;</td>
-  </tr>
-  <tmpl_loop name="records">
-  <tr bgcolor="{tmpl_var name="bgcolor"}">
-    <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="module"}</a></td>
-    <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="title"}</a></td>
-    <td class="frmText11" align="right">[<a href="javascript: del_record('module_del.php?id={tmpl_var name='module'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
-  </tr>
-  </tmpl_loop>
-  <tmpl_unless name="records">
-      <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-          <td colspan="3">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
-      </tr>
-  </tmpl_unless>
-  <tr>
-  	<td colspan="5" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
-  </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_nav_edit.htm b/interface/web/designer/templates/module_nav_edit.htm
deleted file mode 100644
index fe925ddce4..0000000000
--- a/interface/web/designer/templates/module_nav_edit.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="nav[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_nav_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_nav_item_edit.htm b/interface/web/designer/templates/module_nav_item_edit.htm
deleted file mode 100644
index 3a52daeb25..0000000000
--- a/interface/web/designer/templates/module_nav_item_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="title" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="target_txt">:</td>
-    <td width="366" class="frmText11"><input name="target" type="text" class="text" value="{tmpl_var name='target'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="link_txt">:</td>
-    <td width="366" class="frmText11"><input name="link" type="text" class="text" value="{tmpl_var name='link'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_nav_item_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="item_id" value="{tmpl_var name='item_id'}">
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_show.htm b/interface/web/designer/templates/module_show.htm
deleted file mode 100644
index 24694b4b60..0000000000
--- a/interface/web/designer/templates/module_show.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:250px;"><legend class="frmText11"><b>{tmpl_var name='module_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='title'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='name'}</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">
-	  <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onclick="loadContent('designer/module_edit.php?id={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div>
-	  <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onclick="del_record('designer/module_del.php?id={tmpl_var name='name'}');" class="button" /><div class="buttonEnding"></div>
-	  <input type="button" name="ed3" value="{tmpl_var name='new_menu_txt'}" onclick="loadContent('designer/module_nav_edit.php?module_name={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div></td>
-  </tr>
-</table>
-</fieldset>
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tmpl_var name="nav">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/designer/templates/paging.tpl.htm b/interface/web/designer/templates/paging.tpl.htm
deleted file mode 100644
index dd38af8a99..0000000000
--- a/interface/web/designer/templates/paging.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-[ <a href='{tmpl_var name="list_file"}?page=0'>|<< </a>]
-<tmpl_if name="show_page_back">
-	[<< <a href='{tmpl_var name="list_file"}?page={tmpl_var name="last_page"}'>Zurück</a>] 
-</tmpl_if>
-  Seite {tmpl_var name="next_page"} von {tmpl_var name="max_pages"}
-<tmpl_if name="show_page_next">
-   [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="next_page"}'>Weiter >></a>]  
-</tmpl_if>
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="pages"}'> >>| </a>]
\ No newline at end of file
-- 
GitLab


From 5b3f2519464c373529b1fd932bab9aa2ea91ddff Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 16:26:05 +0200
Subject: [PATCH 075/158] - Removed unused file form.inc.php - Added some
 cleanup code

---
 install/lib/installer_base.lib.php |  17 +-
 install/update.php                 |   3 +
 interface/lib/classes/form.inc.php | 517 -----------------------------
 3 files changed, 19 insertions(+), 518 deletions(-)
 delete mode 100644 interface/lib/classes/form.inc.php

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index a82ac2e74c..83b6ffba3a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -2152,7 +2152,7 @@ class installer_base {
 		
 		// Add symlink for patch tool
 		if(!is_link('/usr/local/bin/ispconfig_patch')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch');
-
+		
 	}
 
 	public function configure_dbserver() {
@@ -2240,6 +2240,21 @@ class installer_base {
 		touch($conf['ispconfig_log_dir'].'/cron.log');
 		chmod($conf['ispconfig_log_dir'].'/cron.log', 0660);
 
+	}
+	
+	// This function is called at the end of the update process and contains code to clean up parts of old ISPCONfig releases
+	public function cleanup_ispconfig() {
+		global $app,$conf;
+		
+		// Remove directories recursively
+		if(is_dir('/usr/local/ispconfig/interface/web/designer')) exec('rm -rf /usr/local/ispconfig/interface/web/designer');
+		
+		// Remove files
+		if(is_file('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php');
+		if(is_file('/usr/local/ispconfig/interface/lib/classes/form.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/form.inc.php');
+		
+		
+		
 	}
 
 	public function getinitcommand($servicename, $action, $init_script_directory = ''){
diff --git a/install/update.php b/install/update.php
index 36eb201817..eec69bad3b 100644
--- a/install/update.php
+++ b/install/update.php
@@ -443,6 +443,9 @@ if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
 
 $inst->install_ispconfig();
 
+// Cleanup
+$inst->cleanup_ispconfig();
+
 //** Configure Crontab
 $update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab');
 if($update_crontab_answer == 'yes') {
diff --git a/interface/lib/classes/form.inc.php b/interface/lib/classes/form.inc.php
deleted file mode 100644
index e6948ddd2d..0000000000
--- a/interface/lib/classes/form.inc.php
+++ /dev/null
@@ -1,517 +0,0 @@
-<?php
-
-die('Deprecated file: form.inc.php');
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/**
- * Formularbehandlung
- *
- * Funktionen zur Umwandlung von Formulardaten
- * sowie zum vorbereiten von HTML und SQL
- * Ausgaben
- *
- * Tabellendefinition
- *
- * Datentypen:
- * - INTEGER (Wandelt Ausdrücke in Int um)
- * - DOUBLE
- * - CURRENCY (Formatiert Zahlen nach Währungsnotation)
- * - VARCHAR (kein weiterer Format Check)
- * - DATE (Datumsformat, Timestamp Umwandlung)
- *
- * Formtype:
- * - TEXT (normales Textfeld)
- * - PASSWORD (Feldinhalt wird nicht angezeigt)
- * - SELECT (Gibt Werte als option Feld aus)
- * - MULTIPLE (Select-Feld mit nehreren Werten)
- *
- * VALUE:
- * - Wert oder Array
- *
- * SEPARATOR
- * - Trennzeichen für multiple Felder
- *
- * Hinweis:
- * Das ID-Feld ist nicht bei den Table Values einzufügen.
- *
- * @package form
- * @author Till Brehm
- * @version 1.1
- */
-
-
-class form {
-
-
-
-	/**
-	 * Definition der Tabelle (array)
-	 * @var tableDef
-	 */
-	var $tableDef;
-
-
-
-	/**
-	 * Private
-	 * @var action
-	 */
-	var $action;
-
-
-
-	/**
-	 * Tabellenname (String)
-	 * @var table_name
-	 */
-	var $table_name;
-
-
-
-	/**
-	 * Debug Variable
-	 * @var debug
-	 */
-	var $debug = 0;
-
-
-
-	/**
-	 * name des primary Field der Tabelle (string)
-	 * @var table_index
-	 */
-	var $table_index;
-
-
-
-	/**
-	 * enthält die Fehlermeldung bei Überprüfung
-	 * der Variablen mit Regex
-	 * @var errorMessage
-	 */
-	var $errorMessage;
-
-	var $dateformat = "d.m.Y";
-	var $formDef;
-
-
-
-
-
-	/**
-	 * Laden der Tabellendefinition
-	 *
-	 * @param file: Pfad zur Tabellendefinition
-	 * @return true
-	 */
-	function loadTableDef($file) {
-		global $app, $conf;
-
-		include_once $file;
-		$this->tableDef = $table;
-		$this->table_name = $table_name;
-		$this->table_index = $table_index;
-		return true;
-	}
-
-	function loadFormDef($file) {
-		global $app, $conf;
-
-		include_once $file;
-		$this->formDef = $form;
-		return true;
-	}
-
-
-
-
-
-
-
-
-	/**
-	 * Konvertiert die Daten des übergebenen assoziativen
-	 * Arrays in "menschenlesbare" Form.
-	 * Datentyp Konvertierung, z.B. für Ausgabe in Listen.
-	 *
-	 * @param record
-	 * @return record
-	 */
-	function decode($record) {
-		global $app;
-		if(is_array($record)) {
-			foreach($record as $key => $val) {
-				switch ($this->tableDef[$key]['datatype']) {
-				case 'VARCHAR':
-					$new_record[$key] = stripslashes($val);
-					break;
-
-				case 'DATE':
-					if($val > 0) {
-						$new_record[$key] = date($this->dateformat, $val);
-					}
-					break;
-
-				case 'INTEGER':
-					$new_record[$key] = $app->functions->intval($val);
-					break;
-
-				case 'DOUBLE':
-					$new_record[$key] = $val;
-					break;
-
-				case 'CURRENCY':
-					$new_record[$key] = number_format($val, 2, ',', '');
-					break;
-
-				default:
-					$new_record[$key] = stripslashes($val);
-				}
-			}
-
-		}
-		return $new_record;
-	}
-
-
-
-
-
-	/**
-	 * Record für Ausgabe in Formularen vorbereiten.
-	 *
-	 * @param record = Datensatz als Array
-	 * @param action = NEW oder EDIT
-	 * @return record
-	 */
-	function getHTML($record, $action = 'NEW') {
-
-		global $app;
-
-		if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
-		$new_record = array();
-		if($action == 'EDIT') {
-			$record = $this->decode($record);
-			if(is_array($record)) {
-				foreach($record as $key => $val) {
-					switch ($this->tableDef[$key]['formtype']) {
-					case 'SELECT':
-						if(is_array($this->tableDef[$key]['value'])) {
-							$out = '';
-							foreach($this->tableDef[$key]['value'] as $k => $v) {
-								$selected = ($k == $val)?' SELECTED':'';
-								$out .= "<option value='$k'$selected>$v</option>\r\n";
-							}
-						}
-						$new_record[$key] = $out;
-						break;
-					case 'MULTIPLE':
-						if(is_array($this->tableDef[$key]['value'])) {
-
-							// aufsplitten ergebnisse
-							$vals = explode($this->tableDef[$key]['separator'], $val);
-
-							// HTML schreiben
-							$out = '';
-							foreach($this->tableDef[$key]['value'] as $k => $v) {
-
-								$selected = '';
-								foreach($vals as $tvl) {
-									if(trim($tvl) == trim($k)) $selected = ' SELECTED';
-								}
-
-								$out .= "<option value='$k'$selected>$v</option>\r\n";
-							}
-						}
-						$new_record[$key] = $out;
-						break;
-
-					case 'PASSWORD':
-						$new_record[$key] = '';
-						break;
-
-					default:
-						$new_record[$key] = htmlspecialchars($val);
-					}
-				}
-			}
-		} else {
-			foreach($this->tableDef as $key => $val) {
-				switch ($this->tableDef[$key]['formtype']) {
-				case 'SELECT':
-					if(is_array($this->tableDef[$key]['value'])) {
-						$out = '';
-						foreach($this->tableDef[$key]['value'] as $k => $v) {
-							$selected = ($k == $val)?' SELECTED':'';
-							$out .= "<option value='$k'$selected>$v</option>\r\n";
-						}
-					}
-					$new_record[$key] = $out;
-					break;
-				case 'MULTIPLE':
-					if(is_array($this->tableDef[$key]['value'])) {
-
-						// aufsplitten ergebnisse
-						$vals = explode($this->tableDef[$key]['separator'], $val);
-
-						// HTML schreiben
-						$out = '';
-						foreach($this->tableDef[$key]['value'] as $k => $v) {
-
-							$out .= "<option value='$k'>$v</option>\r\n";
-						}
-					}
-					$new_record[$key] = $out;
-					break;
-
-				case 'PASSWORD':
-					$new_record[$key] = '';
-					break;
-
-				default:
-					$new_record[$key] = htmlspecialchars($this->tableDef[$key]['value']);
-				}
-			}
-
-		}
-
-		if($this->debug == 1) $this->dbg($new_record);
-
-		return $new_record;
-	}
-
-
-
-
-
-	/**
-	 * Record in "maschinen lesbares" Format überführen
-	 * und Werte gegen reguläre Ausdrücke prüfen.
-	 *
-	 * @param record = Datensatz als Array
-	 * @return record
-	 */
-	function encode($record) {
-		global $app;
-		$this->errorMessage = '';
-
-		if(is_array($record)) {
-			foreach($record as $key => $val) {
-				switch ($this->tableDef[$key]['datatype']) {
-				case 'VARCHAR':
-					if(!is_array($val)) {
-						$new_record[$key] = $app->db->quote($val);
-					} else {
-						$new_record[$key] = implode($this->tableDef[$key]['separator'], $val);
-					}
-					break;
-				case 'DATE':
-					if($val > 0) {
-						list($tag, $monat, $jahr) = explode('.', $val);
-						$new_record[$key] = mktime(0, 0, 0, $monat, $tag, $jahr);
-					}
-					break;
-				case 'INTEGER':
-					$new_record[$key] = $app->functions->intval($val);
-					break;
-				case 'DOUBLE':
-					$new_record[$key] = $app->db->quote($val);
-					break;
-				case 'CURRENCY':
-					$new_record[$key] = str_replace(",", ".", $val);
-					break;
-				}
-
-				if($this->tableDef[$key]['regex'] != '') {
-					// Enable that "." matches also newlines
-					$this->tableDef[$key]['regex'] .= 's';
-					if(!preg_match($this->tableDef[$key]['regex'], $val)) {
-						$this->errorMessage .= $this->tableDef[$key]['errmsg']."<br>\r\n";
-					}
-				}
-			}
-
-		}
-		return $new_record;
-	}
-
-
-
-
-
-	/**
-	 * SQL Statement für Record erzeugen.
-	 *
-	 * @param record = Datensatz als Array
-	 * @param action = INSERT oder UPDATE
-	 * @param primary_id
-	 * @return record
-	 */
-	function getSQL($record, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') {
-
-		global $app;
-
-		$record = $this->encode($record);
-		$sql_insert_key = '';
-		$sql_insert_val = '';
-		$sql_update = '';
-
-		if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
-		// gehe durch alle Felder des Records
-		if(is_array($record)) {
-			foreach($record as $key => $val) {
-				// Wenn es kein leeres Passwortfeld ist
-				if (!($this->tableDef[$key]['formtype'] == 'PASSWORD' and $val == '')) {
-					// gehe durch alle Felder der TableDef
-					foreach($this->tableDef as $tk => $tv) {
-						// Wenn Feld in TableDef enthalten ist
-						if($tk == $key) {
-							// Erzeuge Insert oder Update Quelltext
-							if($action == "INSERT") {
-
-								if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
-									$sql_insert_key .= "`$key`, ";
-									$sql_insert_val .= "md5('$val'), ";
-									//} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
-									// $val = implode($this->tableDef[$key]['separator'],$val);
-									// $sql_insert_key .= "`$key`, ";
-									// $sql_insert_val .= "'$val', ";
-								} else {
-									$sql_insert_key .= "`$key`, ";
-									$sql_insert_val .= "'$val', ";
-								}
-
-							} else {
-
-								if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
-									$sql_update .= "`$key` = md5('$val'), ";
-									//} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
-									// $val = implode($this->tableDef[$key]['separator'],$val);
-									// $sql_update .= "`$key` = '$val', ";
-								} else {
-									$sql_update .= "`$key` = '$val', ";
-								}
-
-							}
-						}
-					}
-				}
-			}
-		}
-
-		// Füge Backticks nur bei unvollständigen Tabellennamen ein
-		if(stristr($this->table_name, '.')) {
-			$escape = '';
-		} else {
-			$escape = '`';
-		}
-
-
-		if($action == "INSERT") {
-			$sql_insert_key = substr($sql_insert_key, 0, -2);
-			$sql_insert_val = substr($sql_insert_val, 0, -2);
-			$sql = "INSERT INTO ".$escape.$this->table_name.$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
-		} else {
-			if($primary_id != 0) {
-				$sql_update = substr($sql_update, 0, -2);
-				$sql = "UPDATE ".$escape.$this->table_name.$escape." SET ".$sql_update." WHERE ".$this->table_index ." = ".$primary_id;
-				if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
-			} else {
-				$app->error("Primary ID fehlt!");
-			}
-		}
-
-		return $sql;
-	}
-
-
-
-
-
-	/**
-	 * Debugging arrays.
-	 *
-	 * @param array_data
-	 */
-	function dbg($array_data) {
-
-		echo "<pre>";
-		print_r($array_data);
-		echo "</pre>";
-
-	}
-
-
-	function showForm() {
-		global $app, $conf;
-
-		if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen.");
-
-		if($this->errorMessage == '') {
-			// wenn kein Fehler vorliegt
-			if($_REQUEST["next_tab"] != '') {
-				// wenn nächster Tab bekannt
-				$active_tab = $_REQUEST["next_tab"];
-			} else {
-				// ansonsten ersten tab nehmen
-				$active_tab = $this->formDef["tabs"][0]["name"];
-			}
-		} else {
-			// bei Fehlern den gleichen Tab nochmal anzeigen
-			$active_tab = $_SESSION["s"]["form"]["tab"];
-		}
-
-		// definiere Tabs
-		foreach( $this->formDef["tabs"] as $tab) {
-
-			if($tab["name"] == $active_tab) {
-				$app->tpl->setInclude('content_tpl', $tab["template"]);
-				$tab["active"] = 1;
-				$_SESSION["s"]["form"]["tab"] = $tab["name"];
-			} else {
-				$tab["active"] = 0;
-			}
-
-			$frmTab[] = $tab;
-		}
-
-		// setze Loop
-		$app->tpl->setLoop("formTab", $frmTab);
-
-		// Formular action setzen
-		$app->tpl->setVar('form_action', $this->formDef["action"]);
-	}
-
-
-}
-
-?>
-- 
GitLab


From 4c3fcd94a5ec8361fe900ff841030ebb014a0029 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 16:34:41 +0200
Subject: [PATCH 076/158] Removed obsolete 3.0.4 theme. This theme does not
 work with the current version anymore.

---
 install/lib/installer_base.lib.php            |    1 +
 .../web/themes/default-304/css/central.css    |   33 -
 .../default-304/css/navigation/nav_side.css   |  125 --
 .../default-304/css/navigation/nav_top.css    |  116 --
 .../default-304/css/patches/central.css       |   37 -
 .../default-304/css/print/print_100.css       |   31 -
 .../themes/default-304/css/screen/basemod.css |  124 --
 .../css/screen/basemod_2col_left_seo.css      |   48 -
 .../themes/default-304/css/screen/content.css |  203 ----
 .../default-304/css/screen/content_ispc.css   | 1045 -----------------
 .../css/screen/jquery-ui-custom.css           |    7 -
 .../images/ui-bg_flat_0_aaaaaa_40x100.png     |  Bin 180 -> 0 bytes
 .../images/ui-bg_flat_55_fbec88_40x100.png    |  Bin 182 -> 0 bytes
 .../images/ui-bg_glass_75_d0e5f5_1x400.png    |  Bin 124 -> 0 bytes
 .../images/ui-bg_glass_85_dfeffc_1x400.png    |  Bin 123 -> 0 bytes
 .../images/ui-bg_glass_95_fef1ec_1x400.png    |  Bin 119 -> 0 bytes
 .../ui-bg_gloss-wave_55_5c9ccc_500x100.png    |  Bin 3457 -> 0 bytes
 .../ui-bg_inset-hard_100_f5f8f9_1x100.png     |  Bin 104 -> 0 bytes
 .../ui-bg_inset-hard_100_fcfdfd_1x100.png     |  Bin 88 -> 0 bytes
 .../images/ui-icons_217bc0_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_2e83ff_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_469bdd_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_6da8d5_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_cd0a0a_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_d8e7f3_256x240.png        |  Bin 4369 -> 0 bytes
 .../images/ui-icons_f9bd01_256x240.png        |  Bin 5355 -> 0 bytes
 .../redmond/jquery-ui-1.8.16.custom.css       |  444 -------
 .../themes/default-304/css/screen/tipsy.css   |   25 -
 .../css/screen/uni-form-generic.css           |  136 ---
 .../default-304/css/screen/uni-form.css       |  131 ---
 .../default-304/icons/device_sprite.png       |  Bin 10582 -> 0 bytes
 .../themes/default-304/icons/flags_sprite.png |  Bin 88755 -> 0 bytes
 .../themes/default-304/icons/x12/accept.png   |  Bin 231 -> 0 bytes
 .../default-304/icons/x12/accept_blue.png     |  Bin 484 -> 0 bytes
 .../default-304/icons/x12/accept_green.png    |  Bin 250 -> 0 bytes
 .../icons/x12/arrow_2_left_round.png          |  Bin 322 -> 0 bytes
 .../icons/x12/arrow_2_right_round.png         |  Bin 425 -> 0 bytes
 .../icons/x12/arrow_left_blue_round.png       |  Bin 479 -> 0 bytes
 .../icons/x12/arrow_right_blue_round.png      |  Bin 479 -> 0 bytes
 .../themes/default-304/icons/x12/article.png  |  Bin 255 -> 0 bytes
 .../default-304/icons/x12/article_text.png    |  Bin 155 -> 0 bytes
 .../default-304/icons/x12/bar_graph.png       |  Bin 205 -> 0 bytes
 .../themes/default-304/icons/x12/burst.png    |  Bin 471 -> 0 bytes
 .../themes/default-304/icons/x12/calendar.png |  Bin 138 -> 0 bytes
 .../default-304/icons/x12/calendar2.png       |  Bin 247 -> 0 bytes
 .../themes/default-304/icons/x12/cancel.png   |  Bin 218 -> 0 bytes
 .../default-304/icons/x12/cancel_round.png    |  Bin 440 -> 0 bytes
 .../themes/default-304/icons/x12/clock.png    |  Bin 473 -> 0 bytes
 .../web/themes/default-304/icons/x12/code.png |  Bin 401 -> 0 bytes
 .../default-304/icons/x12/comment_blue.png    |  Bin 404 -> 0 bytes
 .../themes/default-304/icons/x12/dollar.png   |  Bin 130 -> 0 bytes
 .../default-304/icons/x12/double_comment.png  |  Bin 288 -> 0 bytes
 .../themes/default-304/icons/x12/download.png |  Bin 309 -> 0 bytes
 .../themes/default-304/icons/x12/envelope.png |  Bin 146 -> 0 bytes
 .../default-304/icons/x12/flag_black.png      |  Bin 446 -> 0 bytes
 .../default-304/icons/x12/flag_blue.png       |  Bin 511 -> 0 bytes
 .../default-304/icons/x12/flag_green.png      |  Bin 512 -> 0 bytes
 .../default-304/icons/x12/flag_orange.png     |  Bin 485 -> 0 bytes
 .../themes/default-304/icons/x12/flag_red.png |  Bin 497 -> 0 bytes
 .../default-304/icons/x12/flag_yellow.png     |  Bin 504 -> 0 bytes
 .../themes/default-304/icons/x12/folder.png   |  Bin 311 -> 0 bytes
 .../web/themes/default-304/icons/x12/info.png |  Bin 446 -> 0 bytes
 .../web/themes/default-304/icons/x12/link.png |  Bin 148 -> 0 bytes
 .../web/themes/default-304/icons/x12/lock.png |  Bin 209 -> 0 bytes
 .../themes/default-304/icons/x12/magnify.png  |  Bin 461 -> 0 bytes
 .../themes/default-304/icons/x12/minus.png    |  Bin 121 -> 0 bytes
 .../default-304/icons/x12/minus_round.png     |  Bin 392 -> 0 bytes
 .../themes/default-304/icons/x12/money.png    |  Bin 264 -> 0 bytes
 .../web/themes/default-304/icons/x12/new.png  |  Bin 122 -> 0 bytes
 .../themes/default-304/icons/x12/pencil.png   |  Bin 301 -> 0 bytes
 .../themes/default-304/icons/x12/pictures.png |  Bin 224 -> 0 bytes
 .../web/themes/default-304/icons/x12/plus.png |  Bin 194 -> 0 bytes
 .../themes/default-304/icons/x12/printer.png  |  Bin 233 -> 0 bytes
 .../default-304/icons/x12/question_blue.png   |  Bin 487 -> 0 bytes
 .../themes/default-304/icons/x12/refresh.png  |  Bin 265 -> 0 bytes
 .../web/themes/default-304/icons/x12/rss.png  |  Bin 286 -> 0 bytes
 .../default-304/icons/x12/rss_round.png       |  Bin 428 -> 0 bytes
 .../default-304/icons/x12/security_green.png  |  Bin 218 -> 0 bytes
 .../default-304/icons/x12/security_orange.png |  Bin 207 -> 0 bytes
 .../default-304/icons/x12/security_red.png    |  Bin 202 -> 0 bytes
 .../web/themes/default-304/icons/x12/star.png |  Bin 526 -> 0 bytes
 .../default-304/icons/x12/star_blue.png       |  Bin 457 -> 0 bytes
 .../web/themes/default-304/icons/x12/stop.png |  Bin 271 -> 0 bytes
 .../default-304/icons/x12/stop_round.png      |  Bin 445 -> 0 bytes
 .../themes/default-304/icons/x12/upload.png   |  Bin 271 -> 0 bytes
 .../themes/default-304/icons/x12/world.png    |  Bin 567 -> 0 bytes
 .../themes/default-304/icons/x12/world2.png   |  Bin 611 -> 0 bytes
 .../default-304/icons/x16-list/accept.png     |  Bin 202 -> 0 bytes
 .../icons/x16-list/accept_blue.png            |  Bin 466 -> 0 bytes
 .../icons/x16-list/accept_green.png           |  Bin 296 -> 0 bytes
 .../icons/x16-list/arrow_2_left_round.png     |  Bin 435 -> 0 bytes
 .../icons/x16-list/arrow_2_right_round.png    |  Bin 428 -> 0 bytes
 .../icons/x16-list/arrow_left_blue_round.png  |  Bin 434 -> 0 bytes
 .../icons/x16-list/arrow_right_blue_round.png |  Bin 436 -> 0 bytes
 .../default-304/icons/x16-list/article.png    |  Bin 361 -> 0 bytes
 .../icons/x16-list/article_text.png           |  Bin 383 -> 0 bytes
 .../default-304/icons/x16-list/bar_graph.png  |  Bin 260 -> 0 bytes
 .../default-304/icons/x16-list/burst.png      |  Bin 534 -> 0 bytes
 .../default-304/icons/x16-list/calendar.png   |  Bin 335 -> 0 bytes
 .../default-304/icons/x16-list/calendar2.png  |  Bin 259 -> 0 bytes
 .../default-304/icons/x16-list/cancel.png     |  Bin 228 -> 0 bytes
 .../icons/x16-list/cancel_round.png           |  Bin 461 -> 0 bytes
 .../default-304/icons/x16-list/clock.png      |  Bin 419 -> 0 bytes
 .../default-304/icons/x16-list/code.png       |  Bin 577 -> 0 bytes
 .../icons/x16-list/comment_blue.png           |  Bin 328 -> 0 bytes
 .../default-304/icons/x16-list/dollar.png     |  Bin 136 -> 0 bytes
 .../icons/x16-list/double_comment.png         |  Bin 302 -> 0 bytes
 .../default-304/icons/x16-list/download.png   |  Bin 275 -> 0 bytes
 .../default-304/icons/x16-list/envelope.png   |  Bin 242 -> 0 bytes
 .../default-304/icons/x16-list/flag_black.png |  Bin 580 -> 0 bytes
 .../default-304/icons/x16-list/flag_blue.png  |  Bin 681 -> 0 bytes
 .../default-304/icons/x16-list/flag_green.png |  Bin 684 -> 0 bytes
 .../icons/x16-list/flag_orange.png            |  Bin 647 -> 0 bytes
 .../default-304/icons/x16-list/flag_red.png   |  Bin 674 -> 0 bytes
 .../icons/x16-list/flag_yellow.png            |  Bin 480 -> 0 bytes
 .../default-304/icons/x16-list/folder.png     |  Bin 383 -> 0 bytes
 .../default-304/icons/x16-list/info.png       |  Bin 432 -> 0 bytes
 .../default-304/icons/x16-list/link.png       |  Bin 218 -> 0 bytes
 .../default-304/icons/x16-list/lock.png       |  Bin 246 -> 0 bytes
 .../default-304/icons/x16-list/magnify.png    |  Bin 446 -> 0 bytes
 .../default-304/icons/x16-list/minus.png      |  Bin 123 -> 0 bytes
 .../icons/x16-list/minus_round.png            |  Bin 346 -> 0 bytes
 .../default-304/icons/x16-list/money.png      |  Bin 328 -> 0 bytes
 .../themes/default-304/icons/x16-list/new.png |  Bin 200 -> 0 bytes
 .../default-304/icons/x16-list/pencil.png     |  Bin 212 -> 0 bytes
 .../default-304/icons/x16-list/pictures.png   |  Bin 255 -> 0 bytes
 .../default-304/icons/x16-list/plus.png       |  Bin 197 -> 0 bytes
 .../default-304/icons/x16-list/printer.png    |  Bin 271 -> 0 bytes
 .../icons/x16-list/question_blue.png          |  Bin 468 -> 0 bytes
 .../default-304/icons/x16-list/refresh.png    |  Bin 150 -> 0 bytes
 .../themes/default-304/icons/x16-list/rss.png |  Bin 243 -> 0 bytes
 .../default-304/icons/x16-list/rss_round.png  |  Bin 417 -> 0 bytes
 .../icons/x16-list/security_green.png         |  Bin 210 -> 0 bytes
 .../icons/x16-list/security_orange.png        |  Bin 215 -> 0 bytes
 .../icons/x16-list/security_red.png           |  Bin 221 -> 0 bytes
 .../default-304/icons/x16-list/star.png       |  Bin 511 -> 0 bytes
 .../default-304/icons/x16-list/star_blue.png  |  Bin 455 -> 0 bytes
 .../default-304/icons/x16-list/stop.png       |  Bin 366 -> 0 bytes
 .../default-304/icons/x16-list/stop_round.png |  Bin 436 -> 0 bytes
 .../default-304/icons/x16-list/upload.png     |  Bin 265 -> 0 bytes
 .../default-304/icons/x16-list/world.png      |  Bin 490 -> 0 bytes
 .../default-304/icons/x16-list/world2.png     |  Bin 750 -> 0 bytes
 .../default-304/icons/x16/address_book.png    |  Bin 681 -> 0 bytes
 .../icons/x16/address_book__arrow.png         |  Bin 732 -> 0 bytes
 .../icons/x16/address_book__exclamation.png   |  Bin 767 -> 0 bytes
 .../icons/x16/address_book__minus.png         |  Bin 700 -> 0 bytes
 .../icons/x16/address_book__pencil.png        |  Bin 763 -> 0 bytes
 .../icons/x16/address_book__plus.png          |  Bin 737 -> 0 bytes
 .../icons/x16/address_book_blue.png           |  Bin 685 -> 0 bytes
 .../themes/default-304/icons/x16/arrow.png    |  Bin 531 -> 0 bytes
 .../default-304/icons/x16/arrow_000_small.png |  Bin 267 -> 0 bytes
 .../default-304/icons/x16/arrow_045.png       |  Bin 505 -> 0 bytes
 .../default-304/icons/x16/arrow_045_small.png |  Bin 266 -> 0 bytes
 .../default-304/icons/x16/arrow_090.png       |  Bin 512 -> 0 bytes
 .../default-304/icons/x16/arrow_090_small.png |  Bin 256 -> 0 bytes
 .../default-304/icons/x16/arrow_135.png       |  Bin 531 -> 0 bytes
 .../default-304/icons/x16/arrow_135_small.png |  Bin 269 -> 0 bytes
 .../default-304/icons/x16/arrow_180.png       |  Bin 540 -> 0 bytes
 .../default-304/icons/x16/arrow_180_small.png |  Bin 261 -> 0 bytes
 .../default-304/icons/x16/arrow_225.png       |  Bin 529 -> 0 bytes
 .../default-304/icons/x16/arrow_225_small.png |  Bin 272 -> 0 bytes
 .../default-304/icons/x16/arrow_270.png       |  Bin 526 -> 0 bytes
 .../default-304/icons/x16/arrow_270_small.png |  Bin 263 -> 0 bytes
 .../default-304/icons/x16/arrow_315.png       |  Bin 495 -> 0 bytes
 .../default-304/icons/x16/arrow_315_small.png |  Bin 271 -> 0 bytes
 .../default-304/icons/x16/arrow_circle.png    |  Bin 702 -> 0 bytes
 .../icons/x16/arrow_circle_135.png            |  Bin 780 -> 0 bytes
 .../icons/x16/arrow_circle_225.png            |  Bin 758 -> 0 bytes
 .../icons/x16/arrow_circle_315.png            |  Bin 764 -> 0 bytes
 .../icons/x16/arrow_circle_double.png         |  Bin 778 -> 0 bytes
 .../icons/x16/arrow_circle_double_135.png     |  Bin 802 -> 0 bytes
 .../default-304/icons/x16/arrow_skip.png      |  Bin 553 -> 0 bytes
 .../default-304/icons/x16/arrow_skip_090.png  |  Bin 515 -> 0 bytes
 .../default-304/icons/x16/arrow_skip_180.png  |  Bin 554 -> 0 bytes
 .../default-304/icons/x16/arrow_skip_270.png  |  Bin 524 -> 0 bytes
 .../default-304/icons/x16/arrow_stop.png      |  Bin 608 -> 0 bytes
 .../default-304/icons/x16/arrow_stop_090.png  |  Bin 558 -> 0 bytes
 .../default-304/icons/x16/arrow_stop_180.png  |  Bin 615 -> 0 bytes
 .../default-304/icons/x16/arrow_stop_270.png  |  Bin 584 -> 0 bytes
 .../default-304/icons/x16/auction_hammer.png  |  Bin 568 -> 0 bytes
 .../icons/x16/auction_hammer__arrow.png       |  Bin 678 -> 0 bytes
 .../icons/x16/auction_hammer__exclamation.png |  Bin 716 -> 0 bytes
 .../icons/x16/auction_hammer__minus.png       |  Bin 597 -> 0 bytes
 .../icons/x16/auction_hammer__pencil.png      |  Bin 655 -> 0 bytes
 .../icons/x16/auction_hammer__plus.png        |  Bin 638 -> 0 bytes
 .../icons/x16/auction_hammer_gavel.png        |  Bin 584 -> 0 bytes
 .../themes/default-304/icons/x16/balloon.png  |  Bin 561 -> 0 bytes
 .../default-304/icons/x16/balloon__arrow.png  |  Bin 669 -> 0 bytes
 .../icons/x16/balloon__exclamation.png        |  Bin 682 -> 0 bytes
 .../default-304/icons/x16/balloon__minus.png  |  Bin 605 -> 0 bytes
 .../default-304/icons/x16/balloon__pencil.png |  Bin 662 -> 0 bytes
 .../default-304/icons/x16/balloon__plus.png   |  Bin 640 -> 0 bytes
 .../default-304/icons/x16/balloon_left.png    |  Bin 560 -> 0 bytes
 .../default-304/icons/x16/balloon_small.png   |  Bin 348 -> 0 bytes
 .../icons/x16/balloon_small_left.png          |  Bin 350 -> 0 bytes
 .../themes/default-304/icons/x16/balloons.png |  Bin 586 -> 0 bytes
 .../default-304/icons/x16/balloons_arrow.png  |  Bin 716 -> 0 bytes
 .../icons/x16/balloons_exclamation.png        |  Bin 755 -> 0 bytes
 .../default-304/icons/x16/balloons_minus.png  |  Bin 637 -> 0 bytes
 .../default-304/icons/x16/balloons_pencil.png |  Bin 702 -> 0 bytes
 .../default-304/icons/x16/balloons_plus.png   |  Bin 680 -> 0 bytes
 .../themes/default-304/icons/x16/bandaid.png  |  Bin 711 -> 0 bytes
 .../default-304/icons/x16/bandaid_arrow.png   |  Bin 802 -> 0 bytes
 .../icons/x16/bandaid_exclamation.png         |  Bin 829 -> 0 bytes
 .../default-304/icons/x16/bandaid_minus.png   |  Bin 739 -> 0 bytes
 .../default-304/icons/x16/bandaid_pencil.png  |  Bin 777 -> 0 bytes
 .../default-304/icons/x16/bandaid_plus.png    |  Bin 776 -> 0 bytes
 .../default-304/icons/x16/bandaid_small.png   |  Bin 350 -> 0 bytes
 .../web/themes/default-304/icons/x16/bank.png |  Bin 579 -> 0 bytes
 .../default-304/icons/x16/bank_arrow.png      |  Bin 718 -> 0 bytes
 .../icons/x16/bank_exclamation.png            |  Bin 759 -> 0 bytes
 .../default-304/icons/x16/bank_minus.png      |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/bank_pencil.png     |  Bin 707 -> 0 bytes
 .../default-304/icons/x16/bank_plus.png       |  Bin 695 -> 0 bytes
 .../web/themes/default-304/icons/x16/bell.png |  Bin 696 -> 0 bytes
 .../default-304/icons/x16/bell__arrow.png     |  Bin 816 -> 0 bytes
 .../icons/x16/bell__exclamation.png           |  Bin 802 -> 0 bytes
 .../default-304/icons/x16/bell__minus.png     |  Bin 732 -> 0 bytes
 .../default-304/icons/x16/bell__pencil.png    |  Bin 824 -> 0 bytes
 .../default-304/icons/x16/bell__plus.png      |  Bin 772 -> 0 bytes
 .../default-304/icons/x16/bell_disable.png    |  Bin 497 -> 0 bytes
 .../web/themes/default-304/icons/x16/bin.png  |  Bin 654 -> 0 bytes
 .../default-304/icons/x16/bin__arrow.png      |  Bin 746 -> 0 bytes
 .../icons/x16/bin__exclamation.png            |  Bin 750 -> 0 bytes
 .../default-304/icons/x16/bin__minus.png      |  Bin 697 -> 0 bytes
 .../default-304/icons/x16/bin__pencil.png     |  Bin 769 -> 0 bytes
 .../default-304/icons/x16/bin__plus.png       |  Bin 729 -> 0 bytes
 .../themes/default-304/icons/x16/bin_full.png |  Bin 809 -> 0 bytes
 .../default-304/icons/x16/binocular.png       |  Bin 397 -> 0 bytes
 .../default-304/icons/x16/binocular_arrow.png |  Bin 563 -> 0 bytes
 .../icons/x16/binocular_exclamation.png       |  Bin 616 -> 0 bytes
 .../default-304/icons/x16/binocular_minus.png |  Bin 469 -> 0 bytes
 .../icons/x16/binocular_pencil.png            |  Bin 558 -> 0 bytes
 .../default-304/icons/x16/binocular_plus.png  |  Bin 530 -> 0 bytes
 .../web/themes/default-304/icons/x16/blog.png |  Bin 513 -> 0 bytes
 .../default-304/icons/x16/blog__arrow.png     |  Bin 634 -> 0 bytes
 .../icons/x16/blog__exclamation.png           |  Bin 658 -> 0 bytes
 .../default-304/icons/x16/blog__minus.png     |  Bin 570 -> 0 bytes
 .../default-304/icons/x16/blog__pencil.png    |  Bin 647 -> 0 bytes
 .../default-304/icons/x16/blog__plus.png      |  Bin 608 -> 0 bytes
 .../default-304/icons/x16/blog_blue.png       |  Bin 517 -> 0 bytes
 .../themes/default-304/icons/x16/blogs.png    |  Bin 556 -> 0 bytes
 .../default-304/icons/x16/blogs_arrow.png     |  Bin 665 -> 0 bytes
 .../icons/x16/blogs_exclamation.png           |  Bin 702 -> 0 bytes
 .../default-304/icons/x16/blogs_minus.png     |  Bin 593 -> 0 bytes
 .../default-304/icons/x16/blogs_pencil.png    |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/blogs_plus.png      |  Bin 641 -> 0 bytes
 .../default-304/icons/x16/blogs_stack.png     |  Bin 545 -> 0 bytes
 .../web/themes/default-304/icons/x16/book.png |  Bin 391 -> 0 bytes
 .../default-304/icons/x16/book__arrow.png     |  Bin 524 -> 0 bytes
 .../icons/x16/book__exclamation.png           |  Bin 594 -> 0 bytes
 .../default-304/icons/x16/book__minus.png     |  Bin 471 -> 0 bytes
 .../default-304/icons/x16/book__pencil.png    |  Bin 598 -> 0 bytes
 .../default-304/icons/x16/book__plus.png      |  Bin 494 -> 0 bytes
 .../default-304/icons/x16/book_brown.png      |  Bin 383 -> 0 bytes
 .../default-304/icons/x16/book_small.png      |  Bin 280 -> 0 bytes
 .../icons/x16/book_small_brown.png            |  Bin 275 -> 0 bytes
 .../themes/default-304/icons/x16/bookmark.png |  Bin 500 -> 0 bytes
 .../default-304/icons/x16/bookmark__arrow.png |  Bin 616 -> 0 bytes
 .../icons/x16/bookmark__exclamation.png       |  Bin 677 -> 0 bytes
 .../default-304/icons/x16/bookmark__minus.png |  Bin 526 -> 0 bytes
 .../icons/x16/bookmark__pencil.png            |  Bin 627 -> 0 bytes
 .../default-304/icons/x16/bookmark__plus.png  |  Bin 586 -> 0 bytes
 .../default-304/icons/x16/bookmark__small.png |  Bin 263 -> 0 bytes
 .../default-304/icons/x16/bookmark_book.png   |  Bin 520 -> 0 bytes
 .../icons/x16/bookmark_book_arrow.png         |  Bin 621 -> 0 bytes
 .../icons/x16/bookmark_book_exclamation.png   |  Bin 666 -> 0 bytes
 .../icons/x16/bookmark_book_minus.png         |  Bin 576 -> 0 bytes
 .../icons/x16/bookmark_book_pencil.png        |  Bin 689 -> 0 bytes
 .../icons/x16/bookmark_book_plus.png          |  Bin 603 -> 0 bytes
 .../icons/x16/bookmark_document.png           |  Bin 599 -> 0 bytes
 .../icons/x16/bookmark_document_arrow.png     |  Bin 678 -> 0 bytes
 .../x16/bookmark_document_exclamation.png     |  Bin 719 -> 0 bytes
 .../icons/x16/bookmark_document_minus.png     |  Bin 627 -> 0 bytes
 .../icons/x16/bookmark_document_pencil.png    |  Bin 727 -> 0 bytes
 .../icons/x16/bookmark_document_plus.png      |  Bin 660 -> 0 bytes
 .../default-304/icons/x16/bookmark_folder.png |  Bin 601 -> 0 bytes
 .../icons/x16/bookmark_folder_arrow.png       |  Bin 729 -> 0 bytes
 .../icons/x16/bookmark_folder_exclamation.png |  Bin 754 -> 0 bytes
 .../icons/x16/bookmark_folder_minus.png       |  Bin 656 -> 0 bytes
 .../icons/x16/bookmark_folder_pencil.png      |  Bin 727 -> 0 bytes
 .../icons/x16/bookmark_folder_plus.png        |  Bin 710 -> 0 bytes
 .../themes/default-304/icons/x16/books.png    |  Bin 498 -> 0 bytes
 .../default-304/icons/x16/books__arrow.png    |  Bin 604 -> 0 bytes
 .../icons/x16/books__exclamation.png          |  Bin 642 -> 0 bytes
 .../default-304/icons/x16/books__minus.png    |  Bin 535 -> 0 bytes
 .../default-304/icons/x16/books__pencil.png   |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/books__plus.png     |  Bin 579 -> 0 bytes
 .../default-304/icons/x16/books_brown.png     |  Bin 508 -> 0 bytes
 .../default-304/icons/x16/books_stack.png     |  Bin 446 -> 0 bytes
 .../web/themes/default-304/icons/x16/box.png  |  Bin 463 -> 0 bytes
 .../default-304/icons/x16/box__arrow.png      |  Bin 598 -> 0 bytes
 .../icons/x16/box__exclamation.png            |  Bin 651 -> 0 bytes
 .../default-304/icons/x16/box__minus.png      |  Bin 518 -> 0 bytes
 .../default-304/icons/x16/box__pencil.png     |  Bin 604 -> 0 bytes
 .../default-304/icons/x16/box__plus.png       |  Bin 571 -> 0 bytes
 .../default-304/icons/x16/box_label.png       |  Bin 537 -> 0 bytes
 .../default-304/icons/x16/briefcase.png       |  Bin 463 -> 0 bytes
 .../default-304/icons/x16/briefcase_arrow.png |  Bin 584 -> 0 bytes
 .../icons/x16/briefcase_exclamation.png       |  Bin 636 -> 0 bytes
 .../default-304/icons/x16/briefcase_minus.png |  Bin 516 -> 0 bytes
 .../icons/x16/briefcase_pencil.png            |  Bin 598 -> 0 bytes
 .../default-304/icons/x16/briefcase_plus.png  |  Bin 555 -> 0 bytes
 .../themes/default-304/icons/x16/broom.png    |  Bin 708 -> 0 bytes
 .../default-304/icons/x16/broom_arrow.png     |  Bin 776 -> 0 bytes
 .../icons/x16/broom_exclamation.png           |  Bin 785 -> 0 bytes
 .../default-304/icons/x16/broom_minus.png     |  Bin 720 -> 0 bytes
 .../default-304/icons/x16/broom_pencil.png    |  Bin 799 -> 0 bytes
 .../default-304/icons/x16/broom_plus.png      |  Bin 755 -> 0 bytes
 .../default-304/icons/x16/calculator.png      |  Bin 443 -> 0 bytes
 .../icons/x16/calculator_arrow.png            |  Bin 597 -> 0 bytes
 .../icons/x16/calculator_exclamation.png      |  Bin 615 -> 0 bytes
 .../icons/x16/calculator_minus.png            |  Bin 535 -> 0 bytes
 .../icons/x16/calculator_pencil.png           |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/calculator_plus.png |  Bin 562 -> 0 bytes
 .../themes/default-304/icons/x16/calendar.png |  Bin 415 -> 0 bytes
 .../default-304/icons/x16/calendar__arrow.png |  Bin 554 -> 0 bytes
 .../icons/x16/calendar__exclamation.png       |  Bin 613 -> 0 bytes
 .../default-304/icons/x16/calendar__minus.png |  Bin 456 -> 0 bytes
 .../icons/x16/calendar__pencil.png            |  Bin 561 -> 0 bytes
 .../default-304/icons/x16/calendar__plus.png  |  Bin 528 -> 0 bytes
 .../default-304/icons/x16/calendar_day.png    |  Bin 489 -> 0 bytes
 .../default-304/icons/x16/calendar_month.png  |  Bin 507 -> 0 bytes
 .../themes/default-304/icons/x16/camera.png   |  Bin 612 -> 0 bytes
 .../default-304/icons/x16/camera__arrow.png   |  Bin 695 -> 0 bytes
 .../icons/x16/camera__exclamation.png         |  Bin 722 -> 0 bytes
 .../default-304/icons/x16/camera__minus.png   |  Bin 629 -> 0 bytes
 .../default-304/icons/x16/camera__pencil.png  |  Bin 666 -> 0 bytes
 .../default-304/icons/x16/camera__plus.png    |  Bin 671 -> 0 bytes
 .../default-304/icons/x16/camera_black.png    |  Bin 538 -> 0 bytes
 .../default-304/icons/x16/camera_small.png    |  Bin 315 -> 0 bytes
 .../icons/x16/camera_small_black.png          |  Bin 272 -> 0 bytes
 .../web/themes/default-304/icons/x16/card.png |  Bin 333 -> 0 bytes
 .../default-304/icons/x16/card__arrow.png     |  Bin 481 -> 0 bytes
 .../icons/x16/card__exclamation.png           |  Bin 546 -> 0 bytes
 .../default-304/icons/x16/card__minus.png     |  Bin 371 -> 0 bytes
 .../default-304/icons/x16/card__pencil.png    |  Bin 494 -> 0 bytes
 .../default-304/icons/x16/card__plus.png      |  Bin 440 -> 0 bytes
 .../default-304/icons/x16/card_address.png    |  Bin 483 -> 0 bytes
 .../default-304/icons/x16/card_small.png      |  Bin 226 -> 0 bytes
 .../themes/default-304/icons/x16/cards.png    |  Bin 407 -> 0 bytes
 .../default-304/icons/x16/cards__arrow.png    |  Bin 528 -> 0 bytes
 .../icons/x16/cards__exclamation.png          |  Bin 593 -> 0 bytes
 .../default-304/icons/x16/cards__minus.png    |  Bin 449 -> 0 bytes
 .../default-304/icons/x16/cards__pencil.png   |  Bin 554 -> 0 bytes
 .../default-304/icons/x16/cards__plus.png     |  Bin 490 -> 0 bytes
 .../default-304/icons/x16/cards_address.png   |  Bin 553 -> 0 bytes
 .../default-304/icons/x16/cards_stack.png     |  Bin 375 -> 0 bytes
 .../themes/default-304/icons/x16/cassette.png |  Bin 398 -> 0 bytes
 .../default-304/icons/x16/cassette_arrow.png  |  Bin 527 -> 0 bytes
 .../icons/x16/cassette_exclamation.png        |  Bin 578 -> 0 bytes
 .../default-304/icons/x16/cassette_minus.png  |  Bin 440 -> 0 bytes
 .../default-304/icons/x16/cassette_pencil.png |  Bin 524 -> 0 bytes
 .../default-304/icons/x16/cassette_plus.png   |  Bin 490 -> 0 bytes
 .../default-304/icons/x16/cassette_small.png  |  Bin 192 -> 0 bytes
 .../themes/default-304/icons/x16/chain.png    |  Bin 358 -> 0 bytes
 .../default-304/icons/x16/chain_arrow.png     |  Bin 533 -> 0 bytes
 .../icons/x16/chain_exclamation.png           |  Bin 584 -> 0 bytes
 .../default-304/icons/x16/chain_minus.png     |  Bin 398 -> 0 bytes
 .../default-304/icons/x16/chain_pencil.png    |  Bin 520 -> 0 bytes
 .../default-304/icons/x16/chain_plus.png      |  Bin 474 -> 0 bytes
 .../default-304/icons/x16/chain_small.png     |  Bin 214 -> 0 bytes
 .../default-304/icons/x16/chain_unchain.png   |  Bin 515 -> 0 bytes
 .../default-304/icons/x16/clipboard.png       |  Bin 440 -> 0 bytes
 .../icons/x16/clipboard__arrow.png            |  Bin 569 -> 0 bytes
 .../icons/x16/clipboard__exclamation.png      |  Bin 621 -> 0 bytes
 .../icons/x16/clipboard__minus.png            |  Bin 489 -> 0 bytes
 .../icons/x16/clipboard__pencil.png           |  Bin 594 -> 0 bytes
 .../default-304/icons/x16/clipboard__plus.png |  Bin 549 -> 0 bytes
 .../default-304/icons/x16/clipboard_empty.png |  Bin 492 -> 0 bytes
 .../default-304/icons/x16/clipboard_text.png  |  Bin 476 -> 0 bytes
 .../themes/default-304/icons/x16/clock.png    |  Bin 603 -> 0 bytes
 .../default-304/icons/x16/clock__arrow.png    |  Bin 694 -> 0 bytes
 .../icons/x16/clock__exclamation.png          |  Bin 736 -> 0 bytes
 .../default-304/icons/x16/clock__minus.png    |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/clock__pencil.png   |  Bin 685 -> 0 bytes
 .../default-304/icons/x16/clock__plus.png     |  Bin 674 -> 0 bytes
 .../default-304/icons/x16/clock_fill.png      |  Bin 628 -> 0 bytes
 .../default-304/icons/x16/clock_frame.png     |  Bin 749 -> 0 bytes
 .../default-304/icons/x16/clock_small.png     |  Bin 308 -> 0 bytes
 .../themes/default-304/icons/x16/color.png    |  Bin 725 -> 0 bytes
 .../default-304/icons/x16/color_arrow.png     |  Bin 777 -> 0 bytes
 .../icons/x16/color_exclamation.png           |  Bin 793 -> 0 bytes
 .../default-304/icons/x16/color_minus.png     |  Bin 733 -> 0 bytes
 .../default-304/icons/x16/color_pencil.png    |  Bin 817 -> 0 bytes
 .../default-304/icons/x16/color_plus.png      |  Bin 762 -> 0 bytes
 .../default-304/icons/x16/color_small.png     |  Bin 411 -> 0 bytes
 .../themes/default-304/icons/x16/contrast.png |  Bin 631 -> 0 bytes
 .../default-304/icons/x16/contrast__arrow.png |  Bin 706 -> 0 bytes
 .../icons/x16/contrast__exclamation.png       |  Bin 748 -> 0 bytes
 .../default-304/icons/x16/contrast__minus.png |  Bin 658 -> 0 bytes
 .../icons/x16/contrast__pencil.png            |  Bin 744 -> 0 bytes
 .../default-304/icons/x16/contrast__plus.png  |  Bin 691 -> 0 bytes
 .../default-304/icons/x16/contrast_low.png    |  Bin 647 -> 0 bytes
 .../default-304/icons/x16/contrast_small.png  |  Bin 340 -> 0 bytes
 .../icons/x16/contrast_small_low.png          |  Bin 362 -> 0 bytes
 .../themes/default-304/icons/x16/cross.png    |  Bin 426 -> 0 bytes
 .../default-304/icons/x16/cross_circle.png    |  Bin 610 -> 0 bytes
 .../icons/x16/cross_circle_frame.png          |  Bin 747 -> 0 bytes
 .../default-304/icons/x16/cross_shield.png    |  Bin 667 -> 0 bytes
 .../default-304/icons/x16/cross_small.png     |  Bin 205 -> 0 bytes
 .../icons/x16/cross_small_circle.png          |  Bin 251 -> 0 bytes
 .../themes/default-304/icons/x16/crown.png    |  Bin 645 -> 0 bytes
 .../default-304/icons/x16/crown__arrow.png    |  Bin 696 -> 0 bytes
 .../icons/x16/crown__exclamation.png          |  Bin 719 -> 0 bytes
 .../default-304/icons/x16/crown__minus.png    |  Bin 662 -> 0 bytes
 .../default-304/icons/x16/crown__pencil.png   |  Bin 718 -> 0 bytes
 .../default-304/icons/x16/crown__plus.png     |  Bin 685 -> 0 bytes
 .../default-304/icons/x16/crown_bronze.png    |  Bin 643 -> 0 bytes
 .../default-304/icons/x16/crown_silver.png    |  Bin 621 -> 0 bytes
 .../themes/default-304/icons/x16/database.png |  Bin 399 -> 0 bytes
 .../default-304/icons/x16/database_arrow.png  |  Bin 523 -> 0 bytes
 .../icons/x16/database_exclamation.png        |  Bin 592 -> 0 bytes
 .../default-304/icons/x16/database_minus.png  |  Bin 456 -> 0 bytes
 .../default-304/icons/x16/database_pencil.png |  Bin 567 -> 0 bytes
 .../default-304/icons/x16/database_plus.png   |  Bin 498 -> 0 bytes
 .../default-304/icons/x16/database_small.png  |  Bin 287 -> 0 bytes
 .../default-304/icons/x16/databases.png       |  Bin 457 -> 0 bytes
 .../default-304/icons/x16/databases_arrow.png |  Bin 579 -> 0 bytes
 .../icons/x16/databases_exclamation.png       |  Bin 630 -> 0 bytes
 .../default-304/icons/x16/databases_minus.png |  Bin 498 -> 0 bytes
 .../icons/x16/databases_pencil.png            |  Bin 570 -> 0 bytes
 .../default-304/icons/x16/databases_plus.png  |  Bin 548 -> 0 bytes
 .../web/themes/default-304/icons/x16/disc.png |  Bin 756 -> 0 bytes
 .../default-304/icons/x16/disc_arrow.png      |  Bin 811 -> 0 bytes
 .../icons/x16/disc_exclamation.png            |  Bin 834 -> 0 bytes
 .../default-304/icons/x16/disc_minus.png      |  Bin 782 -> 0 bytes
 .../default-304/icons/x16/disc_pencil.png     |  Bin 814 -> 0 bytes
 .../default-304/icons/x16/disc_plus.png       |  Bin 797 -> 0 bytes
 .../default-304/icons/x16/disc_small.png      |  Bin 390 -> 0 bytes
 .../themes/default-304/icons/x16/discs.png    |  Bin 699 -> 0 bytes
 .../default-304/icons/x16/discs_arrow.png     |  Bin 818 -> 0 bytes
 .../icons/x16/discs_exclamation.png           |  Bin 830 -> 0 bytes
 .../default-304/icons/x16/discs_minus.png     |  Bin 739 -> 0 bytes
 .../default-304/icons/x16/discs_pencil.png    |  Bin 784 -> 0 bytes
 .../default-304/icons/x16/discs_plus.png      |  Bin 781 -> 0 bytes
 .../web/themes/default-304/icons/x16/disk.png |  Bin 485 -> 0 bytes
 .../default-304/icons/x16/disk__arrow.png     |  Bin 623 -> 0 bytes
 .../icons/x16/disk__exclamation.png           |  Bin 686 -> 0 bytes
 .../default-304/icons/x16/disk__minus.png     |  Bin 544 -> 0 bytes
 .../default-304/icons/x16/disk__pencil.png    |  Bin 636 -> 0 bytes
 .../default-304/icons/x16/disk__plus.png      |  Bin 597 -> 0 bytes
 .../default-304/icons/x16/disk_black.png      |  Bin 408 -> 0 bytes
 .../default-304/icons/x16/disk_small.png      |  Bin 324 -> 0 bytes
 .../icons/x16/disk_small_black.png            |  Bin 295 -> 0 bytes
 .../themes/default-304/icons/x16/disks.png    |  Bin 502 -> 0 bytes
 .../default-304/icons/x16/disks__arrow.png    |  Bin 621 -> 0 bytes
 .../icons/x16/disks__exclamation.png          |  Bin 652 -> 0 bytes
 .../default-304/icons/x16/disks__minus.png    |  Bin 541 -> 0 bytes
 .../default-304/icons/x16/disks__pencil.png   |  Bin 607 -> 0 bytes
 .../default-304/icons/x16/disks__plus.png     |  Bin 594 -> 0 bytes
 .../default-304/icons/x16/disks_black.png     |  Bin 429 -> 0 bytes
 .../themes/default-304/icons/x16/document.png |  Bin 465 -> 0 bytes
 .../default-304/icons/x16/document__arrow.png |  Bin 591 -> 0 bytes
 .../icons/x16/document__exclamation.png       |  Bin 634 -> 0 bytes
 .../default-304/icons/x16/document__minus.png |  Bin 508 -> 0 bytes
 .../icons/x16/document__pencil.png            |  Bin 605 -> 0 bytes
 .../default-304/icons/x16/document__plus.png  |  Bin 555 -> 0 bytes
 .../icons/x16/document_horizontal.png         |  Bin 390 -> 0 bytes
 .../icons/x16/document_horizontal_text.png    |  Bin 505 -> 0 bytes
 .../default-304/icons/x16/document_music.png  |  Bin 581 -> 0 bytes
 .../icons/x16/document_music_playlist.png     |  Bin 599 -> 0 bytes
 .../default-304/icons/x16/document_shred.png  |  Bin 594 -> 0 bytes
 .../default-304/icons/x16/document_small.png  |  Bin 291 -> 0 bytes
 .../default-304/icons/x16/document_text.png   |  Bin 583 -> 0 bytes
 .../icons/x16/document_text_image.png         |  Bin 619 -> 0 bytes
 .../default-304/icons/x16/document_zipper.png |  Bin 534 -> 0 bytes
 .../default-304/icons/x16/documents.png       |  Bin 514 -> 0 bytes
 .../default-304/icons/x16/documents_arrow.png |  Bin 633 -> 0 bytes
 .../icons/x16/documents_exclamation.png       |  Bin 669 -> 0 bytes
 .../default-304/icons/x16/documents_minus.png |  Bin 549 -> 0 bytes
 .../icons/x16/documents_pencil.png            |  Bin 617 -> 0 bytes
 .../default-304/icons/x16/documents_plus.png  |  Bin 601 -> 0 bytes
 .../default-304/icons/x16/documents_stack.png |  Bin 499 -> 0 bytes
 .../default-304/icons/x16/documents_text.png  |  Bin 606 -> 0 bytes
 .../web/themes/default-304/icons/x16/door.png |  Bin 471 -> 0 bytes
 .../default-304/icons/x16/door_arrow.png      |  Bin 609 -> 0 bytes
 .../icons/x16/door_exclamation.png            |  Bin 606 -> 0 bytes
 .../default-304/icons/x16/door_minus.png      |  Bin 535 -> 0 bytes
 .../default-304/icons/x16/door_pencil.png     |  Bin 637 -> 0 bytes
 .../default-304/icons/x16/door_plus.png       |  Bin 574 -> 0 bytes
 .../themes/default-304/icons/x16/drawer.png   |  Bin 631 -> 0 bytes
 .../default-304/icons/x16/drawer_arrow.png    |  Bin 737 -> 0 bytes
 .../icons/x16/drawer_exclamation.png          |  Bin 724 -> 0 bytes
 .../default-304/icons/x16/drawer_minus.png    |  Bin 658 -> 0 bytes
 .../default-304/icons/x16/drawer_pencil.png   |  Bin 749 -> 0 bytes
 .../default-304/icons/x16/drawer_plus.png     |  Bin 710 -> 0 bytes
 .../themes/default-304/icons/x16/drill.png    |  Bin 637 -> 0 bytes
 .../default-304/icons/x16/drill_arrow.png     |  Bin 764 -> 0 bytes
 .../icons/x16/drill_exclamation.png           |  Bin 798 -> 0 bytes
 .../default-304/icons/x16/drill_minus.png     |  Bin 675 -> 0 bytes
 .../default-304/icons/x16/drill_pencil.png    |  Bin 737 -> 0 bytes
 .../default-304/icons/x16/drill_plus.png      |  Bin 726 -> 0 bytes
 .../themes/default-304/icons/x16/envelope.png |  Bin 445 -> 0 bytes
 .../default-304/icons/x16/envelope_arrow.png  |  Bin 570 -> 0 bytes
 .../icons/x16/envelope_exclamation.png        |  Bin 593 -> 0 bytes
 .../default-304/icons/x16/envelope_minus.png  |  Bin 498 -> 0 bytes
 .../default-304/icons/x16/envelope_pencil.png |  Bin 603 -> 0 bytes
 .../default-304/icons/x16/envelope_plus.png   |  Bin 540 -> 0 bytes
 .../default-304/icons/x16/equalizer.png       |  Bin 425 -> 0 bytes
 .../default-304/icons/x16/equalizer_arrow.png |  Bin 573 -> 0 bytes
 .../icons/x16/equalizer_exclamation.png       |  Bin 610 -> 0 bytes
 .../default-304/icons/x16/equalizer_minus.png |  Bin 471 -> 0 bytes
 .../icons/x16/equalizer_pencil.png            |  Bin 577 -> 0 bytes
 .../default-304/icons/x16/equalizer_plus.png  |  Bin 535 -> 0 bytes
 .../themes/default-304/icons/x16/eraser.png   |  Bin 638 -> 0 bytes
 .../default-304/icons/x16/eraser_arrow.png    |  Bin 729 -> 0 bytes
 .../icons/x16/eraser_exclamation.png          |  Bin 735 -> 0 bytes
 .../default-304/icons/x16/eraser_minus.png    |  Bin 659 -> 0 bytes
 .../default-304/icons/x16/eraser_pencil.png   |  Bin 779 -> 0 bytes
 .../default-304/icons/x16/eraser_plus.png     |  Bin 709 -> 0 bytes
 .../default-304/icons/x16/exclamation.png     |  Bin 559 -> 0 bytes
 .../icons/x16/exclamation_frame.png           |  Bin 537 -> 0 bytes
 .../icons/x16/exclamation_shield.png          |  Bin 697 -> 0 bytes
 .../icons/x16/exclamation_small.png           |  Bin 327 -> 0 bytes
 .../web/themes/default-304/icons/x16/feed.png |  Bin 649 -> 0 bytes
 .../default-304/icons/x16/feed__arrow.png     |  Bin 710 -> 0 bytes
 .../icons/x16/feed__exclamation.png           |  Bin 716 -> 0 bytes
 .../default-304/icons/x16/feed__minus.png     |  Bin 662 -> 0 bytes
 .../default-304/icons/x16/feed__pencil.png    |  Bin 753 -> 0 bytes
 .../default-304/icons/x16/feed__plus.png      |  Bin 701 -> 0 bytes
 .../default-304/icons/x16/feed_balloon.png    |  Bin 683 -> 0 bytes
 .../default-304/icons/x16/feed_small.png      |  Bin 365 -> 0 bytes
 .../web/themes/default-304/icons/x16/film.png |  Bin 613 -> 0 bytes
 .../default-304/icons/x16/film_arrow.png      |  Bin 718 -> 0 bytes
 .../icons/x16/film_exclamation.png            |  Bin 750 -> 0 bytes
 .../default-304/icons/x16/film_minus.png      |  Bin 656 -> 0 bytes
 .../default-304/icons/x16/film_pencil.png     |  Bin 715 -> 0 bytes
 .../default-304/icons/x16/film_plus.png       |  Bin 700 -> 0 bytes
 .../default-304/icons/x16/film_small.png      |  Bin 299 -> 0 bytes
 .../themes/default-304/icons/x16/films.png    |  Bin 554 -> 0 bytes
 .../default-304/icons/x16/films_arrow.png     |  Bin 658 -> 0 bytes
 .../icons/x16/films_exclamation.png           |  Bin 709 -> 0 bytes
 .../default-304/icons/x16/films_minus.png     |  Bin 580 -> 0 bytes
 .../default-304/icons/x16/films_pencil.png    |  Bin 668 -> 0 bytes
 .../default-304/icons/x16/films_plus.png      |  Bin 625 -> 0 bytes
 .../web/themes/default-304/icons/x16/flag.png |  Bin 652 -> 0 bytes
 .../default-304/icons/x16/flag_arrow.png      |  Bin 755 -> 0 bytes
 .../icons/x16/flag_exclamation.png            |  Bin 796 -> 0 bytes
 .../default-304/icons/x16/flag_minus.png      |  Bin 674 -> 0 bytes
 .../default-304/icons/x16/flag_pencil.png     |  Bin 735 -> 0 bytes
 .../default-304/icons/x16/flag_plus.png       |  Bin 729 -> 0 bytes
 .../themes/default-304/icons/x16/folder.png   |  Bin 438 -> 0 bytes
 .../default-304/icons/x16/folder__arrow.png   |  Bin 592 -> 0 bytes
 .../icons/x16/folder__exclamation.png         |  Bin 596 -> 0 bytes
 .../default-304/icons/x16/folder__minus.png   |  Bin 500 -> 0 bytes
 .../default-304/icons/x16/folder__pencil.png  |  Bin 577 -> 0 bytes
 .../default-304/icons/x16/folder__plus.png    |  Bin 535 -> 0 bytes
 .../default-304/icons/x16/folder_open.png     |  Bin 639 -> 0 bytes
 .../icons/x16/folder_open_document.png        |  Bin 654 -> 0 bytes
 .../icons/x16/folder_open_document_music.png  |  Bin 720 -> 0 bytes
 .../folder_open_document_music_playlist.png   |  Bin 736 -> 0 bytes
 .../icons/x16/folder_open_document_text.png   |  Bin 706 -> 0 bytes
 .../icons/x16/folder_open_film.png            |  Bin 710 -> 0 bytes
 .../icons/x16/folder_open_image.png           |  Bin 762 -> 0 bytes
 .../default-304/icons/x16/folder_shred.png    |  Bin 578 -> 0 bytes
 .../default-304/icons/x16/folder_small.png    |  Bin 308 -> 0 bytes
 .../default-304/icons/x16/folder_zipper.png   |  Bin 569 -> 0 bytes
 .../themes/default-304/icons/x16/folders.png  |  Bin 522 -> 0 bytes
 .../default-304/icons/x16/folders_arrow.png   |  Bin 625 -> 0 bytes
 .../icons/x16/folders_exclamation.png         |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/folders_minus.png   |  Bin 564 -> 0 bytes
 .../default-304/icons/x16/folders_pencil.png  |  Bin 639 -> 0 bytes
 .../default-304/icons/x16/folders_plus.png    |  Bin 612 -> 0 bytes
 .../default-304/icons/x16/folders_stack.png   |  Bin 502 -> 0 bytes
 .../themes/default-304/icons/x16/funnel.png   |  Bin 537 -> 0 bytes
 .../default-304/icons/x16/funnel_arrow.png    |  Bin 656 -> 0 bytes
 .../icons/x16/funnel_exclamation.png          |  Bin 706 -> 0 bytes
 .../default-304/icons/x16/funnel_minus.png    |  Bin 579 -> 0 bytes
 .../default-304/icons/x16/funnel_pencil.png   |  Bin 662 -> 0 bytes
 .../default-304/icons/x16/funnel_plus.png     |  Bin 624 -> 0 bytes
 .../default-304/icons/x16/funnel_small.png    |  Bin 304 -> 0 bytes
 .../web/themes/default-304/icons/x16/gear.png |  Bin 590 -> 0 bytes
 .../default-304/icons/x16/gear__arrow.png     |  Bin 704 -> 0 bytes
 .../icons/x16/gear__exclamation.png           |  Bin 758 -> 0 bytes
 .../default-304/icons/x16/gear__minus.png     |  Bin 654 -> 0 bytes
 .../default-304/icons/x16/gear__pencil.png    |  Bin 703 -> 0 bytes
 .../default-304/icons/x16/gear__plus.png      |  Bin 687 -> 0 bytes
 .../default-304/icons/x16/gear_disable.png    |  Bin 497 -> 0 bytes
 .../default-304/icons/x16/gear_small.png      |  Bin 336 -> 0 bytes
 .../themes/default-304/icons/x16/hammer.png   |  Bin 506 -> 0 bytes
 .../default-304/icons/x16/hammer__arrow.png   |  Bin 671 -> 0 bytes
 .../icons/x16/hammer__exclamation.png         |  Bin 709 -> 0 bytes
 .../default-304/icons/x16/hammer__minus.png   |  Bin 556 -> 0 bytes
 .../default-304/icons/x16/hammer__pencil.png  |  Bin 628 -> 0 bytes
 .../default-304/icons/x16/hammer__plus.png    |  Bin 618 -> 0 bytes
 .../default-304/icons/x16/hammer_left.png     |  Bin 554 -> 0 bytes
 .../icons/x16/hammer_screwdriver.png          |  Bin 715 -> 0 bytes
 .../themes/default-304/icons/x16/heart.png    |  Bin 630 -> 0 bytes
 .../default-304/icons/x16/heart__arrow.png    |  Bin 732 -> 0 bytes
 .../icons/x16/heart__exclamation.png          |  Bin 767 -> 0 bytes
 .../default-304/icons/x16/heart__minus.png    |  Bin 656 -> 0 bytes
 .../default-304/icons/x16/heart__pencil.png   |  Bin 718 -> 0 bytes
 .../default-304/icons/x16/heart__plus.png     |  Bin 700 -> 0 bytes
 .../default-304/icons/x16/heart_break.png     |  Bin 697 -> 0 bytes
 .../default-304/icons/x16/heart_empty.png     |  Bin 514 -> 0 bytes
 .../default-304/icons/x16/heart_half.png      |  Bin 721 -> 0 bytes
 .../default-304/icons/x16/heart_small.png     |  Bin 294 -> 0 bytes
 .../icons/x16/heart_small_empty.png           |  Bin 252 -> 0 bytes
 .../icons/x16/heart_small_half.png            |  Bin 321 -> 0 bytes
 .../web/themes/default-304/icons/x16/home.png |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/home_arrow.png      |  Bin 719 -> 0 bytes
 .../icons/x16/home_exclamation.png            |  Bin 773 -> 0 bytes
 .../default-304/icons/x16/home_minus.png      |  Bin 658 -> 0 bytes
 .../default-304/icons/x16/home_pencil.png     |  Bin 716 -> 0 bytes
 .../default-304/icons/x16/home_plus.png       |  Bin 703 -> 0 bytes
 .../default-304/icons/x16/home_small.png      |  Bin 320 -> 0 bytes
 .../themes/default-304/icons/x16/image.png    |  Bin 523 -> 0 bytes
 .../default-304/icons/x16/image_arrow.png     |  Bin 620 -> 0 bytes
 .../icons/x16/image_exclamation.png           |  Bin 652 -> 0 bytes
 .../default-304/icons/x16/image_minus.png     |  Bin 553 -> 0 bytes
 .../default-304/icons/x16/image_pencil.png    |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/image_plus.png      |  Bin 606 -> 0 bytes
 .../default-304/icons/x16/image_resize.png    |  Bin 503 -> 0 bytes
 .../icons/x16/image_resize_actual.png         |  Bin 532 -> 0 bytes
 .../default-304/icons/x16/image_small.png     |  Bin 288 -> 0 bytes
 .../icons/x16/image_small_sunset.png          |  Bin 276 -> 0 bytes
 .../default-304/icons/x16/image_sunset.png    |  Bin 481 -> 0 bytes
 .../themes/default-304/icons/x16/images.png   |  Bin 604 -> 0 bytes
 .../default-304/icons/x16/images_arrow.png    |  Bin 670 -> 0 bytes
 .../icons/x16/images_exclamation.png          |  Bin 703 -> 0 bytes
 .../default-304/icons/x16/images_minus.png    |  Bin 625 -> 0 bytes
 .../default-304/icons/x16/images_pencil.png   |  Bin 678 -> 0 bytes
 .../default-304/icons/x16/images_plus.png     |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/images_stack.png    |  Bin 547 -> 0 bytes
 .../themes/default-304/icons/x16/inbox.png    |  Bin 425 -> 0 bytes
 .../default-304/icons/x16/inbox_arrow.png     |  Bin 548 -> 0 bytes
 .../icons/x16/inbox_exclamation.png           |  Bin 614 -> 0 bytes
 .../default-304/icons/x16/inbox_minus.png     |  Bin 463 -> 0 bytes
 .../default-304/icons/x16/inbox_pencil.png    |  Bin 562 -> 0 bytes
 .../default-304/icons/x16/inbox_plus.png      |  Bin 515 -> 0 bytes
 .../default-304/icons/x16/information.png     |  Bin 636 -> 0 bytes
 .../icons/x16/information_frame.png           |  Bin 771 -> 0 bytes
 .../icons/x16/information_shield.png          |  Bin 701 -> 0 bytes
 .../icons/x16/information_small.png           |  Bin 265 -> 0 bytes
 .../web/themes/default-304/icons/x16/key.png  |  Bin 577 -> 0 bytes
 .../default-304/icons/x16/key__arrow.png      |  Bin 715 -> 0 bytes
 .../icons/x16/key__exclamation.png            |  Bin 759 -> 0 bytes
 .../default-304/icons/x16/key__minus.png      |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/key__pencil.png     |  Bin 718 -> 0 bytes
 .../default-304/icons/x16/key__plus.png       |  Bin 704 -> 0 bytes
 .../default-304/icons/x16/key_disable.png     |  Bin 452 -> 0 bytes
 .../themes/default-304/icons/x16/layout.png   |  Bin 246 -> 0 bytes
 .../themes/default-304/icons/x16/layout_2.png |  Bin 308 -> 0 bytes
 .../default-304/icons/x16/layout_2_equal.png  |  Bin 296 -> 0 bytes
 .../themes/default-304/icons/x16/layout_3.png |  Bin 278 -> 0 bytes
 .../default-304/icons/x16/layout_3_mix.png    |  Bin 336 -> 0 bytes
 .../default-304/icons/x16/layout_header.png   |  Bin 257 -> 0 bytes
 .../default-304/icons/x16/layout_header_2.png |  Bin 324 -> 0 bytes
 .../icons/x16/layout_header_2_equal.png       |  Bin 313 -> 0 bytes
 .../default-304/icons/x16/layout_header_3.png |  Bin 295 -> 0 bytes
 .../icons/x16/layout_header_3_mix.png         |  Bin 354 -> 0 bytes
 .../icons/x16/layout_header_footer.png        |  Bin 270 -> 0 bytes
 .../icons/x16/layout_header_footer_2.png      |  Bin 318 -> 0 bytes
 .../x16/layout_header_footer_2_equal.png      |  Bin 318 -> 0 bytes
 .../icons/x16/layout_header_footer_3.png      |  Bin 292 -> 0 bytes
 .../icons/x16/layout_header_footer_3_mix.png  |  Bin 346 -> 0 bytes
 .../default-304/icons/x16/layout_join.png     |  Bin 365 -> 0 bytes
 .../default-304/icons/x16/layout_split.png    |  Bin 437 -> 0 bytes
 .../themes/default-304/icons/x16/lifebuoy.png |  Bin 671 -> 0 bytes
 .../default-304/icons/x16/lifebuoy_arrow.png  |  Bin 784 -> 0 bytes
 .../icons/x16/lifebuoy_exclamation.png        |  Bin 830 -> 0 bytes
 .../default-304/icons/x16/lifebuoy_minus.png  |  Bin 716 -> 0 bytes
 .../default-304/icons/x16/lifebuoy_pencil.png |  Bin 771 -> 0 bytes
 .../default-304/icons/x16/lifebuoy_plus.png   |  Bin 755 -> 0 bytes
 .../default-304/icons/x16/light_bulb.png      |  Bin 660 -> 0 bytes
 .../icons/x16/light_bulb__arrow.png           |  Bin 732 -> 0 bytes
 .../icons/x16/light_bulb__exclamation.png     |  Bin 751 -> 0 bytes
 .../icons/x16/light_bulb__minus.png           |  Bin 691 -> 0 bytes
 .../icons/x16/light_bulb__pencil.png          |  Bin 722 -> 0 bytes
 .../icons/x16/light_bulb__plus.png            |  Bin 712 -> 0 bytes
 .../default-304/icons/x16/light_bulb_off.png  |  Bin 690 -> 0 bytes
 .../icons/x16/light_bulb_small.png            |  Bin 247 -> 0 bytes
 .../icons/x16/light_bulb_small_off.png        |  Bin 251 -> 0 bytes
 .../default-304/icons/x16/lightning.png       |  Bin 606 -> 0 bytes
 .../icons/x16/lightning__arrow.png            |  Bin 703 -> 0 bytes
 .../icons/x16/lightning__exclamation.png      |  Bin 714 -> 0 bytes
 .../icons/x16/lightning__minus.png            |  Bin 643 -> 0 bytes
 .../icons/x16/lightning__pencil.png           |  Bin 690 -> 0 bytes
 .../default-304/icons/x16/lightning__plus.png |  Bin 679 -> 0 bytes
 .../icons/x16/lightning_disable.png           |  Bin 553 -> 0 bytes
 .../default-304/icons/x16/lightning_small.png |  Bin 304 -> 0 bytes
 .../themes/default-304/icons/x16/loading.gif  |  Bin 1460 -> 0 bytes
 .../web/themes/default-304/icons/x16/lock.png |  Bin 560 -> 0 bytes
 .../default-304/icons/x16/lock__arrow.png     |  Bin 656 -> 0 bytes
 .../icons/x16/lock__exclamation.png           |  Bin 676 -> 0 bytes
 .../default-304/icons/x16/lock__minus.png     |  Bin 597 -> 0 bytes
 .../default-304/icons/x16/lock__pencil.png    |  Bin 661 -> 0 bytes
 .../default-304/icons/x16/lock__plus.png      |  Bin 638 -> 0 bytes
 .../default-304/icons/x16/lock_disable.png    |  Bin 464 -> 0 bytes
 .../default-304/icons/x16/lock_small.png      |  Bin 307 -> 0 bytes
 .../default-304/icons/x16/lock_unlock.png     |  Bin 575 -> 0 bytes
 .../themes/default-304/icons/x16/logout.png   |  Bin 802 -> 0 bytes
 .../themes/default-304/icons/x16/magnet.png   |  Bin 580 -> 0 bytes
 .../default-304/icons/x16/magnet__arrow.png   |  Bin 705 -> 0 bytes
 .../icons/x16/magnet__exclamation.png         |  Bin 771 -> 0 bytes
 .../default-304/icons/x16/magnet__minus.png   |  Bin 624 -> 0 bytes
 .../default-304/icons/x16/magnet__pencil.png  |  Bin 727 -> 0 bytes
 .../default-304/icons/x16/magnet__plus.png    |  Bin 680 -> 0 bytes
 .../default-304/icons/x16/magnet_disable.png  |  Bin 468 -> 0 bytes
 .../default-304/icons/x16/magnet_small.png    |  Bin 292 -> 0 bytes
 .../default-304/icons/x16/magnifier.png       |  Bin 622 -> 0 bytes
 .../icons/x16/magnifier__arrow.png            |  Bin 726 -> 0 bytes
 .../icons/x16/magnifier__exclamation.png      |  Bin 759 -> 0 bytes
 .../icons/x16/magnifier__minus.png            |  Bin 657 -> 0 bytes
 .../icons/x16/magnifier__pencil.png           |  Bin 702 -> 0 bytes
 .../default-304/icons/x16/magnifier__plus.png |  Bin 698 -> 0 bytes
 .../default-304/icons/x16/magnifier_left.png  |  Bin 634 -> 0 bytes
 .../icons/x16/magnifier_medium.png            |  Bin 452 -> 0 bytes
 .../icons/x16/magnifier_medium_left.png       |  Bin 455 -> 0 bytes
 .../default-304/icons/x16/magnifier_small.png |  Bin 301 -> 0 bytes
 .../default-304/icons/x16/magnifier_zoom.png  |  Bin 700 -> 0 bytes
 .../icons/x16/magnifier_zoom_actual.png       |  Bin 709 -> 0 bytes
 .../icons/x16/magnifier_zoom_fit.png          |  Bin 687 -> 0 bytes
 .../icons/x16/magnifier_zoom_out.png          |  Bin 676 -> 0 bytes
 .../web/themes/default-304/icons/x16/mail.png |  Bin 411 -> 0 bytes
 .../default-304/icons/x16/mail__arrow.png     |  Bin 537 -> 0 bytes
 .../icons/x16/mail__exclamation.png           |  Bin 596 -> 0 bytes
 .../default-304/icons/x16/mail__minus.png     |  Bin 455 -> 0 bytes
 .../default-304/icons/x16/mail__pencil.png    |  Bin 550 -> 0 bytes
 .../default-304/icons/x16/mail__plus.png      |  Bin 500 -> 0 bytes
 .../default-304/icons/x16/mail_open.png       |  Bin 671 -> 0 bytes
 .../icons/x16/mail_open_document.png          |  Bin 621 -> 0 bytes
 .../default-304/icons/x16/mail_open_film.png  |  Bin 694 -> 0 bytes
 .../default-304/icons/x16/mail_open_image.png |  Bin 678 -> 0 bytes
 .../default-304/icons/x16/mail_small.png      |  Bin 230 -> 0 bytes
 .../themes/default-304/icons/x16/mails.png    |  Bin 473 -> 0 bytes
 .../default-304/icons/x16/mails_arrow.png     |  Bin 573 -> 0 bytes
 .../icons/x16/mails_exclamation.png           |  Bin 633 -> 0 bytes
 .../default-304/icons/x16/mails_minus.png     |  Bin 517 -> 0 bytes
 .../default-304/icons/x16/mails_pencil.png    |  Bin 591 -> 0 bytes
 .../default-304/icons/x16/mails_plus.png      |  Bin 550 -> 0 bytes
 .../default-304/icons/x16/mails_stack.png     |  Bin 430 -> 0 bytes
 .../default-304/icons/x16/media_player.png    |  Bin 595 -> 0 bytes
 .../icons/x16/media_player__arrow.png         |  Bin 700 -> 0 bytes
 .../icons/x16/media_player__exclamation.png   |  Bin 734 -> 0 bytes
 .../icons/x16/media_player__minus.png         |  Bin 641 -> 0 bytes
 .../icons/x16/media_player__pencil.png        |  Bin 716 -> 0 bytes
 .../icons/x16/media_player__plus.png          |  Bin 682 -> 0 bytes
 .../icons/x16/media_player_black.png          |  Bin 513 -> 0 bytes
 .../icons/x16/media_player_medium.png         |  Bin 569 -> 0 bytes
 .../icons/x16/media_player_medium_black.png   |  Bin 532 -> 0 bytes
 .../icons/x16/media_player_medium_blue.png    |  Bin 602 -> 0 bytes
 .../icons/x16/media_player_medium_green.png   |  Bin 615 -> 0 bytes
 .../icons/x16/media_player_medium_pink.png    |  Bin 614 -> 0 bytes
 .../icons/x16/media_player_medium_red.png     |  Bin 588 -> 0 bytes
 .../icons/x16/media_player_small.png          |  Bin 420 -> 0 bytes
 .../icons/x16/media_player_small_blue.png     |  Bin 449 -> 0 bytes
 .../icons/x16/media_player_small_green.png    |  Bin 470 -> 0 bytes
 .../icons/x16/media_player_small_purple.png   |  Bin 446 -> 0 bytes
 .../icons/x16/media_player_small_red.png      |  Bin 471 -> 0 bytes
 .../default-304/icons/x16/media_players.png   |  Bin 669 -> 0 bytes
 .../icons/x16/media_players_arrow.png         |  Bin 746 -> 0 bytes
 .../icons/x16/media_players_exclamation.png   |  Bin 771 -> 0 bytes
 .../icons/x16/media_players_minus.png         |  Bin 689 -> 0 bytes
 .../icons/x16/media_players_pencil.png        |  Bin 734 -> 0 bytes
 .../icons/x16/media_players_plus.png          |  Bin 722 -> 0 bytes
 .../default-304/icons/x16/microphone.png      |  Bin 616 -> 0 bytes
 .../icons/x16/microphone_arrow.png            |  Bin 749 -> 0 bytes
 .../icons/x16/microphone_exclamation.png      |  Bin 771 -> 0 bytes
 .../icons/x16/microphone_minus.png            |  Bin 685 -> 0 bytes
 .../icons/x16/microphone_pencil.png           |  Bin 745 -> 0 bytes
 .../default-304/icons/x16/microphone_plus.png |  Bin 723 -> 0 bytes
 .../themes/default-304/icons/x16/minus.png    |  Bin 221 -> 0 bytes
 .../default-304/icons/x16/minus_circle.png    |  Bin 570 -> 0 bytes
 .../icons/x16/minus_circle_frame.png          |  Bin 740 -> 0 bytes
 .../default-304/icons/x16/minus_shield.png    |  Bin 646 -> 0 bytes
 .../default-304/icons/x16/minus_small.png     |  Bin 138 -> 0 bytes
 .../icons/x16/minus_small_circle.png          |  Bin 261 -> 0 bytes
 .../themes/default-304/icons/x16/music.png    |  Bin 427 -> 0 bytes
 .../default-304/icons/x16/music_arrow.png     |  Bin 593 -> 0 bytes
 .../icons/x16/music_exclamation.png           |  Bin 660 -> 0 bytes
 .../default-304/icons/x16/music_minus.png     |  Bin 512 -> 0 bytes
 .../default-304/icons/x16/music_pencil.png    |  Bin 579 -> 0 bytes
 .../default-304/icons/x16/music_plus.png      |  Bin 562 -> 0 bytes
 .../default-304/icons/x16/music_small.png     |  Bin 208 -> 0 bytes
 .../default-304/icons/x16/newspaper.png       |  Bin 565 -> 0 bytes
 .../default-304/icons/x16/newspaper_arrow.png |  Bin 694 -> 0 bytes
 .../icons/x16/newspaper_exclamation.png       |  Bin 705 -> 0 bytes
 .../default-304/icons/x16/newspaper_minus.png |  Bin 615 -> 0 bytes
 .../icons/x16/newspaper_pencil.png            |  Bin 685 -> 0 bytes
 .../default-304/icons/x16/newspaper_plus.png  |  Bin 671 -> 0 bytes
 .../default-304/icons/x16/newspapers.png      |  Bin 596 -> 0 bytes
 .../icons/x16/newspapers_arrow.png            |  Bin 698 -> 0 bytes
 .../icons/x16/newspapers_exclamation.png      |  Bin 736 -> 0 bytes
 .../icons/x16/newspapers_minus.png            |  Bin 648 -> 0 bytes
 .../icons/x16/newspapers_pencil.png           |  Bin 707 -> 0 bytes
 .../default-304/icons/x16/newspapers_plus.png |  Bin 686 -> 0 bytes
 .../themes/default-304/icons/x16/notebook.png |  Bin 501 -> 0 bytes
 .../default-304/icons/x16/notebook_arrow.png  |  Bin 636 -> 0 bytes
 .../icons/x16/notebook_exclamation.png        |  Bin 694 -> 0 bytes
 .../default-304/icons/x16/notebook_minus.png  |  Bin 559 -> 0 bytes
 .../default-304/icons/x16/notebook_pencil.png |  Bin 654 -> 0 bytes
 .../default-304/icons/x16/notebook_plus.png   |  Bin 619 -> 0 bytes
 .../default-304/icons/x16/notebooks.png       |  Bin 588 -> 0 bytes
 .../default-304/icons/x16/notebooks_arrow.png |  Bin 684 -> 0 bytes
 .../icons/x16/notebooks_exclamation.png       |  Bin 715 -> 0 bytes
 .../default-304/icons/x16/notebooks_minus.png |  Bin 613 -> 0 bytes
 .../icons/x16/notebooks_pencil.png            |  Bin 677 -> 0 bytes
 .../default-304/icons/x16/notebooks_plus.png  |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/paint_can.png       |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/paint_can_arrow.png |  Bin 734 -> 0 bytes
 .../icons/x16/paint_can_exclamation.png       |  Bin 769 -> 0 bytes
 .../default-304/icons/x16/paint_can_minus.png |  Bin 678 -> 0 bytes
 .../icons/x16/paint_can_pencil.png            |  Bin 714 -> 0 bytes
 .../default-304/icons/x16/paint_can_plus.png  |  Bin 712 -> 0 bytes
 .../themes/default-304/icons/x16/palette.png  |  Bin 789 -> 0 bytes
 .../default-304/icons/x16/palette_arrow.png   |  Bin 824 -> 0 bytes
 .../icons/x16/palette_exclamation.png         |  Bin 846 -> 0 bytes
 .../default-304/icons/x16/palette_minus.png   |  Bin 786 -> 0 bytes
 .../default-304/icons/x16/palette_pencil.png  |  Bin 819 -> 0 bytes
 .../default-304/icons/x16/palette_plus.png    |  Bin 820 -> 0 bytes
 .../default-304/icons/x16/paper_bag.png       |  Bin 557 -> 0 bytes
 .../default-304/icons/x16/paper_bag_arrow.png |  Bin 672 -> 0 bytes
 .../icons/x16/paper_bag_exclamation.png       |  Bin 682 -> 0 bytes
 .../default-304/icons/x16/paper_bag_minus.png |  Bin 584 -> 0 bytes
 .../icons/x16/paper_bag_pencil.png            |  Bin 713 -> 0 bytes
 .../default-304/icons/x16/paper_bag_plus.png  |  Bin 643 -> 0 bytes
 .../web/themes/default-304/icons/x16/pdf.png  |  Bin 1376 -> 0 bytes
 .../themes/default-304/icons/x16/pencil.png   |  Bin 417 -> 0 bytes
 .../default-304/icons/x16/pencil_arrow.png    |  Bin 567 -> 0 bytes
 .../icons/x16/pencil_exclamation.png          |  Bin 623 -> 0 bytes
 .../default-304/icons/x16/pencil_minus.png    |  Bin 463 -> 0 bytes
 .../default-304/icons/x16/pencil_plus.png     |  Bin 517 -> 0 bytes
 .../default-304/icons/x16/pencil_small.png    |  Bin 245 -> 0 bytes
 .../default-304/icons/x16/photo_album.png     |  Bin 690 -> 0 bytes
 .../icons/x16/photo_album__arrow.png          |  Bin 732 -> 0 bytes
 .../icons/x16/photo_album__exclamation.png    |  Bin 759 -> 0 bytes
 .../icons/x16/photo_album__minus.png          |  Bin 689 -> 0 bytes
 .../icons/x16/photo_album__pencil.png         |  Bin 749 -> 0 bytes
 .../icons/x16/photo_album__plus.png           |  Bin 709 -> 0 bytes
 .../icons/x16/photo_album_blue.png            |  Bin 694 -> 0 bytes
 .../themes/default-304/icons/x16/piano.png    |  Bin 344 -> 0 bytes
 .../default-304/icons/x16/piano_arrow.png     |  Bin 521 -> 0 bytes
 .../icons/x16/piano_exclamation.png           |  Bin 562 -> 0 bytes
 .../default-304/icons/x16/piano_minus.png     |  Bin 402 -> 0 bytes
 .../default-304/icons/x16/piano_pencil.png    |  Bin 525 -> 0 bytes
 .../default-304/icons/x16/piano_plus.png      |  Bin 467 -> 0 bytes
 .../themes/default-304/icons/x16/picture.png  |  Bin 494 -> 0 bytes
 .../default-304/icons/x16/picture_arrow.png   |  Bin 612 -> 0 bytes
 .../icons/x16/picture_exclamation.png         |  Bin 627 -> 0 bytes
 .../default-304/icons/x16/picture_minus.png   |  Bin 523 -> 0 bytes
 .../default-304/icons/x16/picture_pencil.png  |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/picture_plus.png    |  Bin 595 -> 0 bytes
 .../default-304/icons/x16/picture_small.png   |  Bin 279 -> 0 bytes
 .../icons/x16/picture_small_sunset.png        |  Bin 270 -> 0 bytes
 .../default-304/icons/x16/picture_sunset.png  |  Bin 474 -> 0 bytes
 .../themes/default-304/icons/x16/pictures.png |  Bin 523 -> 0 bytes
 .../default-304/icons/x16/pictures_arrow.png  |  Bin 612 -> 0 bytes
 .../icons/x16/pictures_exclamation.png        |  Bin 659 -> 0 bytes
 .../default-304/icons/x16/pictures_minus.png  |  Bin 563 -> 0 bytes
 .../default-304/icons/x16/pictures_pencil.png |  Bin 623 -> 0 bytes
 .../default-304/icons/x16/pictures_plus.png   |  Bin 592 -> 0 bytes
 .../web/themes/default-304/icons/x16/pill.png |  Bin 495 -> 0 bytes
 .../default-304/icons/x16/pill_arrow.png      |  Bin 633 -> 0 bytes
 .../icons/x16/pill_exclamation.png            |  Bin 675 -> 0 bytes
 .../default-304/icons/x16/pill_minus.png      |  Bin 548 -> 0 bytes
 .../default-304/icons/x16/pill_pencil.png     |  Bin 671 -> 0 bytes
 .../default-304/icons/x16/pill_plus.png       |  Bin 606 -> 0 bytes
 .../default-304/icons/x16/pill_small.png      |  Bin 314 -> 0 bytes
 .../web/themes/default-304/icons/x16/pin.png  |  Bin 580 -> 0 bytes
 .../default-304/icons/x16/pin_arrow.png       |  Bin 674 -> 0 bytes
 .../default-304/icons/x16/pin_exclamation.png |  Bin 691 -> 0 bytes
 .../default-304/icons/x16/pin_minus.png       |  Bin 589 -> 0 bytes
 .../default-304/icons/x16/pin_pencil.png      |  Bin 672 -> 0 bytes
 .../themes/default-304/icons/x16/pin_plus.png |  Bin 646 -> 0 bytes
 .../themes/default-304/icons/x16/pipette.png  |  Bin 502 -> 0 bytes
 .../default-304/icons/x16/pipette_arrow.png   |  Bin 628 -> 0 bytes
 .../icons/x16/pipette_exclamation.png         |  Bin 655 -> 0 bytes
 .../default-304/icons/x16/pipette_minus.png   |  Bin 540 -> 0 bytes
 .../default-304/icons/x16/pipette_pencil.png  |  Bin 628 -> 0 bytes
 .../default-304/icons/x16/pipette_plus.png    |  Bin 599 -> 0 bytes
 .../default-304/icons/x16/playing_card.png    |  Bin 688 -> 0 bytes
 .../icons/x16/playing_card_arrow.png          |  Bin 758 -> 0 bytes
 .../icons/x16/playing_card_exclamation.png    |  Bin 788 -> 0 bytes
 .../icons/x16/playing_card_minus.png          |  Bin 714 -> 0 bytes
 .../icons/x16/playing_card_pencil.png         |  Bin 769 -> 0 bytes
 .../icons/x16/playing_card_plus.png           |  Bin 732 -> 0 bytes
 .../web/themes/default-304/icons/x16/plug.png |  Bin 549 -> 0 bytes
 .../default-304/icons/x16/plug_arrow.png      |  Bin 666 -> 0 bytes
 .../icons/x16/plug_exclamation.png            |  Bin 701 -> 0 bytes
 .../default-304/icons/x16/plug_minus.png      |  Bin 593 -> 0 bytes
 .../default-304/icons/x16/plug_pencil.png     |  Bin 678 -> 0 bytes
 .../default-304/icons/x16/plug_plus.png       |  Bin 631 -> 0 bytes
 .../web/themes/default-304/icons/x16/plus.png |  Bin 460 -> 0 bytes
 .../default-304/icons/x16/plus_circle.png     |  Bin 616 -> 0 bytes
 .../icons/x16/plus_circle_frame.png           |  Bin 765 -> 0 bytes
 .../default-304/icons/x16/plus_shield.png     |  Bin 683 -> 0 bytes
 .../default-304/icons/x16/plus_small.png      |  Bin 212 -> 0 bytes
 .../icons/x16/plus_small_circle.png           |  Bin 254 -> 0 bytes
 .../themes/default-304/icons/x16/printer.png  |  Bin 665 -> 0 bytes
 .../default-304/icons/x16/printer__arrow.png  |  Bin 735 -> 0 bytes
 .../icons/x16/printer__exclamation.png        |  Bin 782 -> 0 bytes
 .../default-304/icons/x16/printer__minus.png  |  Bin 691 -> 0 bytes
 .../default-304/icons/x16/printer__pencil.png |  Bin 726 -> 0 bytes
 .../default-304/icons/x16/printer__plus.png   |  Bin 715 -> 0 bytes
 .../default-304/icons/x16/printer_empty.png   |  Bin 493 -> 0 bytes
 .../default-304/icons/x16/printer_small.png   |  Bin 327 -> 0 bytes
 .../themes/default-304/icons/x16/puzzle.png   |  Bin 681 -> 0 bytes
 .../default-304/icons/x16/puzzle__arrow.png   |  Bin 798 -> 0 bytes
 .../icons/x16/puzzle__exclamation.png         |  Bin 818 -> 0 bytes
 .../default-304/icons/x16/puzzle__minus.png   |  Bin 724 -> 0 bytes
 .../default-304/icons/x16/puzzle__pencil.png  |  Bin 798 -> 0 bytes
 .../default-304/icons/x16/puzzle__plus.png    |  Bin 758 -> 0 bytes
 .../default-304/icons/x16/puzzle_disable.png  |  Bin 594 -> 0 bytes
 .../themes/default-304/icons/x16/question.png |  Bin 668 -> 0 bytes
 .../default-304/icons/x16/question_frame.png  |  Bin 794 -> 0 bytes
 .../default-304/icons/x16/question_shield.png |  Bin 723 -> 0 bytes
 .../default-304/icons/x16/question_small.png  |  Bin 264 -> 0 bytes
 .../themes/default-304/icons/x16/receipt.png  |  Bin 396 -> 0 bytes
 .../default-304/icons/x16/receipt_arrow.png   |  Bin 530 -> 0 bytes
 .../icons/x16/receipt_exclamation.png         |  Bin 588 -> 0 bytes
 .../default-304/icons/x16/receipt_minus.png   |  Bin 468 -> 0 bytes
 .../default-304/icons/x16/receipt_pencil.png  |  Bin 583 -> 0 bytes
 .../default-304/icons/x16/receipt_plus.png    |  Bin 494 -> 0 bytes
 .../default-304/icons/x16/receipt_shred.png   |  Bin 490 -> 0 bytes
 .../default-304/icons/x16/receipt_text.png    |  Bin 476 -> 0 bytes
 .../themes/default-304/icons/x16/receipts.png |  Bin 496 -> 0 bytes
 .../default-304/icons/x16/receipts_arrow.png  |  Bin 608 -> 0 bytes
 .../icons/x16/receipts_exclamation.png        |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/receipts_minus.png  |  Bin 524 -> 0 bytes
 .../default-304/icons/x16/receipts_pencil.png |  Bin 631 -> 0 bytes
 .../default-304/icons/x16/receipts_plus.png   |  Bin 583 -> 0 bytes
 .../default-304/icons/x16/receipts_text.png   |  Bin 555 -> 0 bytes
 .../themes/default-304/icons/x16/report.png   |  Bin 467 -> 0 bytes
 .../default-304/icons/x16/report_arrow.png    |  Bin 557 -> 0 bytes
 .../icons/x16/report_exclamation.png          |  Bin 611 -> 0 bytes
 .../default-304/icons/x16/report_minus.png    |  Bin 491 -> 0 bytes
 .../default-304/icons/x16/report_pencil.png   |  Bin 578 -> 0 bytes
 .../default-304/icons/x16/report_plus.png     |  Bin 534 -> 0 bytes
 .../themes/default-304/icons/x16/ruler.png    |  Bin 514 -> 0 bytes
 .../default-304/icons/x16/ruler__arrow.png    |  Bin 669 -> 0 bytes
 .../icons/x16/ruler__exclamation.png          |  Bin 688 -> 0 bytes
 .../default-304/icons/x16/ruler__minus.png    |  Bin 560 -> 0 bytes
 .../default-304/icons/x16/ruler__pencil.png   |  Bin 642 -> 0 bytes
 .../default-304/icons/x16/ruler__plus.png     |  Bin 627 -> 0 bytes
 .../default-304/icons/x16/ruler_crop.png      |  Bin 634 -> 0 bytes
 .../web/themes/default-304/icons/x16/safe.png |  Bin 602 -> 0 bytes
 .../default-304/icons/x16/safe_arrow.png      |  Bin 702 -> 0 bytes
 .../icons/x16/safe_exclamation.png            |  Bin 709 -> 0 bytes
 .../default-304/icons/x16/safe_minus.png      |  Bin 630 -> 0 bytes
 .../default-304/icons/x16/safe_pencil.png     |  Bin 712 -> 0 bytes
 .../default-304/icons/x16/safe_plus.png       |  Bin 687 -> 0 bytes
 .../default-304/icons/x16/screwdriver.png     |  Bin 474 -> 0 bytes
 .../icons/x16/screwdriver_arrow.png           |  Bin 634 -> 0 bytes
 .../icons/x16/screwdriver_exclamation.png     |  Bin 667 -> 0 bytes
 .../icons/x16/screwdriver_minus.png           |  Bin 517 -> 0 bytes
 .../icons/x16/screwdriver_pencil.png          |  Bin 613 -> 0 bytes
 .../icons/x16/screwdriver_plus.png            |  Bin 589 -> 0 bytes
 .../themes/default-304/icons/x16/script.png   |  Bin 427 -> 0 bytes
 .../default-304/icons/x16/script__arrow.png   |  Bin 537 -> 0 bytes
 .../icons/x16/script__exclamation.png         |  Bin 591 -> 0 bytes
 .../default-304/icons/x16/script__minus.png   |  Bin 468 -> 0 bytes
 .../default-304/icons/x16/script__pencil.png  |  Bin 591 -> 0 bytes
 .../default-304/icons/x16/script__plus.png    |  Bin 509 -> 0 bytes
 .../default-304/icons/x16/script_code.png     |  Bin 494 -> 0 bytes
 .../themes/default-304/icons/x16/scripts.png  |  Bin 518 -> 0 bytes
 .../default-304/icons/x16/scripts__arrow.png  |  Bin 616 -> 0 bytes
 .../icons/x16/scripts__exclamation.png        |  Bin 648 -> 0 bytes
 .../default-304/icons/x16/scripts__minus.png  |  Bin 535 -> 0 bytes
 .../default-304/icons/x16/scripts__pencil.png |  Bin 622 -> 0 bytes
 .../default-304/icons/x16/scripts__plus.png   |  Bin 589 -> 0 bytes
 .../default-304/icons/x16/scripts_code.png    |  Bin 582 -> 0 bytes
 .../themes/default-304/icons/x16/shield.png   |  Bin 658 -> 0 bytes
 .../default-304/icons/x16/shield__arrow.png   |  Bin 742 -> 0 bytes
 .../icons/x16/shield__exclamation.png         |  Bin 802 -> 0 bytes
 .../default-304/icons/x16/shield__minus.png   |  Bin 702 -> 0 bytes
 .../default-304/icons/x16/shield__pencil.png  |  Bin 777 -> 0 bytes
 .../default-304/icons/x16/shield__plus.png    |  Bin 730 -> 0 bytes
 .../default-304/icons/x16/shield_disable.png  |  Bin 513 -> 0 bytes
 .../themes/default-304/icons/x16/slash.png    |  Bin 609 -> 0 bytes
 .../default-304/icons/x16/slash_small.png     |  Bin 213 -> 0 bytes
 .../themes/default-304/icons/x16/socket.png   |  Bin 456 -> 0 bytes
 .../default-304/icons/x16/socket_arrow.png    |  Bin 600 -> 0 bytes
 .../icons/x16/socket_exclamation.png          |  Bin 652 -> 0 bytes
 .../default-304/icons/x16/socket_minus.png    |  Bin 523 -> 0 bytes
 .../default-304/icons/x16/socket_pencil.png   |  Bin 606 -> 0 bytes
 .../default-304/icons/x16/socket_plus.png     |  Bin 573 -> 0 bytes
 .../web/themes/default-304/icons/x16/sort.png |  Bin 402 -> 0 bytes
 .../default-304/icons/x16/sort__arrow.png     |  Bin 559 -> 0 bytes
 .../icons/x16/sort__exclamation.png           |  Bin 633 -> 0 bytes
 .../default-304/icons/x16/sort__minus.png     |  Bin 442 -> 0 bytes
 .../default-304/icons/x16/sort__pencil.png    |  Bin 574 -> 0 bytes
 .../default-304/icons/x16/sort__plus.png      |  Bin 511 -> 0 bytes
 .../default-304/icons/x16/sort_alphabet.png   |  Bin 496 -> 0 bytes
 .../icons/x16/sort_alphabet_descending.png    |  Bin 493 -> 0 bytes
 .../default-304/icons/x16/sort_date.png       |  Bin 445 -> 0 bytes
 .../icons/x16/sort_date_descending.png        |  Bin 425 -> 0 bytes
 .../default-304/icons/x16/sort_number.png     |  Bin 479 -> 0 bytes
 .../icons/x16/sort_number_descending.png      |  Bin 478 -> 0 bytes
 .../default-304/icons/x16/sort_quantity.png   |  Bin 432 -> 0 bytes
 .../icons/x16/sort_quantity_descending.png    |  Bin 432 -> 0 bytes
 .../default-304/icons/x16/sort_small.png      |  Bin 269 -> 0 bytes
 .../themes/default-304/icons/x16/stamp.png    |  Bin 585 -> 0 bytes
 .../default-304/icons/x16/stamp_arrow.png     |  Bin 697 -> 0 bytes
 .../icons/x16/stamp_exclamation.png           |  Bin 725 -> 0 bytes
 .../default-304/icons/x16/stamp_minus.png     |  Bin 631 -> 0 bytes
 .../default-304/icons/x16/stamp_pencil.png    |  Bin 707 -> 0 bytes
 .../default-304/icons/x16/stamp_plus.png      |  Bin 671 -> 0 bytes
 .../web/themes/default-304/icons/x16/star.png |  Bin 640 -> 0 bytes
 .../default-304/icons/x16/star__arrow.png     |  Bin 728 -> 0 bytes
 .../icons/x16/star__exclamation.png           |  Bin 737 -> 0 bytes
 .../default-304/icons/x16/star__minus.png     |  Bin 676 -> 0 bytes
 .../default-304/icons/x16/star__pencil.png    |  Bin 735 -> 0 bytes
 .../default-304/icons/x16/star__plus.png      |  Bin 705 -> 0 bytes
 .../default-304/icons/x16/star_empty.png      |  Bin 523 -> 0 bytes
 .../default-304/icons/x16/star_half.png       |  Bin 730 -> 0 bytes
 .../default-304/icons/x16/star_small.png      |  Bin 310 -> 0 bytes
 .../icons/x16/star_small_empty.png            |  Bin 281 -> 0 bytes
 .../default-304/icons/x16/star_small_half.png |  Bin 352 -> 0 bytes
 .../default-304/icons/x16/sticky_note.png     |  Bin 423 -> 0 bytes
 .../icons/x16/sticky_note__arrow.png          |  Bin 561 -> 0 bytes
 .../icons/x16/sticky_note__exclamation.png    |  Bin 597 -> 0 bytes
 .../icons/x16/sticky_note__minus.png          |  Bin 466 -> 0 bytes
 .../icons/x16/sticky_note__pencil.png         |  Bin 564 -> 0 bytes
 .../icons/x16/sticky_note__plus.png           |  Bin 530 -> 0 bytes
 .../default-304/icons/x16/sticky_note_pin.png |  Bin 480 -> 0 bytes
 .../icons/x16/sticky_note_shred.png           |  Bin 551 -> 0 bytes
 .../icons/x16/sticky_note_small.png           |  Bin 281 -> 0 bytes
 .../icons/x16/sticky_note_small_pin.png       |  Bin 310 -> 0 bytes
 .../icons/x16/sticky_note_text.png            |  Bin 518 -> 0 bytes
 .../default-304/icons/x16/sticky_notes.png    |  Bin 466 -> 0 bytes
 .../icons/x16/sticky_notes__arrow.png         |  Bin 594 -> 0 bytes
 .../icons/x16/sticky_notes__exclamation.png   |  Bin 627 -> 0 bytes
 .../icons/x16/sticky_notes__minus.png         |  Bin 503 -> 0 bytes
 .../icons/x16/sticky_notes__pencil.png        |  Bin 577 -> 0 bytes
 .../icons/x16/sticky_notes__plus.png          |  Bin 565 -> 0 bytes
 .../icons/x16/sticky_notes_pin.png            |  Bin 559 -> 0 bytes
 .../icons/x16/sticky_notes_stack.png          |  Bin 477 -> 0 bytes
 .../icons/x16/sticky_notes_text.png           |  Bin 547 -> 0 bytes
 .../themes/default-304/icons/x16/switch.png   |  Bin 516 -> 0 bytes
 .../default-304/icons/x16/switch_arrow.png    |  Bin 629 -> 0 bytes
 .../icons/x16/switch_exclamation.png          |  Bin 647 -> 0 bytes
 .../default-304/icons/x16/switch_minus.png    |  Bin 558 -> 0 bytes
 .../default-304/icons/x16/switch_pencil.png   |  Bin 633 -> 0 bytes
 .../default-304/icons/x16/switch_plus.png     |  Bin 610 -> 0 bytes
 .../themes/default-304/icons/x16/table.png    |  Bin 504 -> 0 bytes
 .../default-304/icons/x16/table__arrow.png    |  Bin 612 -> 0 bytes
 .../icons/x16/table__exclamation.png          |  Bin 667 -> 0 bytes
 .../default-304/icons/x16/table__minus.png    |  Bin 536 -> 0 bytes
 .../default-304/icons/x16/table__pencil.png   |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/table__plus.png     |  Bin 588 -> 0 bytes
 .../default-304/icons/x16/table_delete.png    |  Bin 589 -> 0 bytes
 .../icons/x16/table_delete_column.png         |  Bin 610 -> 0 bytes
 .../default-304/icons/x16/table_insert.png    |  Bin 573 -> 0 bytes
 .../icons/x16/table_insert_column.png         |  Bin 599 -> 0 bytes
 .../themes/default-304/icons/x16/tables.png   |  Bin 603 -> 0 bytes
 .../default-304/icons/x16/tables_arrow.png    |  Bin 684 -> 0 bytes
 .../icons/x16/tables_exclamation.png          |  Bin 712 -> 0 bytes
 .../default-304/icons/x16/tables_minus.png    |  Bin 620 -> 0 bytes
 .../default-304/icons/x16/tables_pencil.png   |  Bin 693 -> 0 bytes
 .../default-304/icons/x16/tables_plus.png     |  Bin 667 -> 0 bytes
 .../default-304/icons/x16/tables_stacks.png   |  Bin 490 -> 0 bytes
 .../web/themes/default-304/icons/x16/tag.png  |  Bin 596 -> 0 bytes
 .../default-304/icons/x16/tag__arrow.png      |  Bin 690 -> 0 bytes
 .../icons/x16/tag__exclamation.png            |  Bin 747 -> 0 bytes
 .../default-304/icons/x16/tag__minus.png      |  Bin 621 -> 0 bytes
 .../default-304/icons/x16/tag__pencil.png     |  Bin 714 -> 0 bytes
 .../default-304/icons/x16/tag__plus.png       |  Bin 652 -> 0 bytes
 .../default-304/icons/x16/tag_label.png       |  Bin 626 -> 0 bytes
 .../default-304/icons/x16/tag_small.png       |  Bin 306 -> 0 bytes
 .../web/themes/default-304/icons/x16/tags.png |  Bin 573 -> 0 bytes
 .../default-304/icons/x16/tags__arrow.png     |  Bin 682 -> 0 bytes
 .../icons/x16/tags__exclamation.png           |  Bin 718 -> 0 bytes
 .../default-304/icons/x16/tags__minus.png     |  Bin 595 -> 0 bytes
 .../default-304/icons/x16/tags__pencil.png    |  Bin 703 -> 0 bytes
 .../default-304/icons/x16/tags__plus.png      |  Bin 641 -> 0 bytes
 .../default-304/icons/x16/tags_label.png      |  Bin 597 -> 0 bytes
 .../web/themes/default-304/icons/x16/tick.png |  Bin 575 -> 0 bytes
 .../default-304/icons/x16/tick_circle.png     |  Bin 630 -> 0 bytes
 .../icons/x16/tick_circle_frame.png           |  Bin 786 -> 0 bytes
 .../default-304/icons/x16/tick_shield.png     |  Bin 697 -> 0 bytes
 .../default-304/icons/x16/tick_small.png      |  Bin 216 -> 0 bytes
 .../icons/x16/tick_small_circle.png           |  Bin 258 -> 0 bytes
 .../themes/default-304/icons/x16/ticket.png   |  Bin 604 -> 0 bytes
 .../default-304/icons/x16/ticket_arrow.png    |  Bin 699 -> 0 bytes
 .../icons/x16/ticket_exclamation.png          |  Bin 754 -> 0 bytes
 .../default-304/icons/x16/ticket_minus.png    |  Bin 643 -> 0 bytes
 .../default-304/icons/x16/ticket_pencil.png   |  Bin 751 -> 0 bytes
 .../default-304/icons/x16/ticket_plus.png     |  Bin 674 -> 0 bytes
 .../default-304/icons/x16/ticket_small.png    |  Bin 322 -> 0 bytes
 .../themes/default-304/icons/x16/trophy.png   |  Bin 790 -> 0 bytes
 .../default-304/icons/x16/trophy_arrow.png    |  Bin 881 -> 0 bytes
 .../icons/x16/trophy_exclamation.png          |  Bin 914 -> 0 bytes
 .../default-304/icons/x16/trophy_minus.png    |  Bin 811 -> 0 bytes
 .../default-304/icons/x16/trophy_pencil.png   |  Bin 875 -> 0 bytes
 .../default-304/icons/x16/trophy_plus.png     |  Bin 858 -> 0 bytes
 .../web/themes/default-304/icons/x16/tux.png  |  Bin 643 -> 0 bytes
 .../web/themes/default-304/icons/x16/user.png |  Bin 688 -> 0 bytes
 .../themes/default-304/icons/x16/user_add.png |  Bin 693 -> 0 bytes
 .../default-304/icons/x16/user_comment.png    |  Bin 690 -> 0 bytes
 .../default-304/icons/x16/user_delete.png     |  Bin 714 -> 0 bytes
 .../default-304/icons/x16/user_edit.png       |  Bin 780 -> 0 bytes
 .../default-304/icons/x16/user_female.png     |  Bin 610 -> 0 bytes
 .../themes/default-304/icons/x16/user_go.png  |  Bin 740 -> 0 bytes
 .../default-304/icons/x16/user_gray.png       |  Bin 653 -> 0 bytes
 .../default-304/icons/x16/user_green.png      |  Bin 669 -> 0 bytes
 .../default-304/icons/x16/user_orange.png     |  Bin 670 -> 0 bytes
 .../themes/default-304/icons/x16/user_red.png |  Bin 664 -> 0 bytes
 .../default-304/icons/x16/user_suit.png       |  Bin 695 -> 0 bytes
 .../themes/default-304/icons/x16/vcard.png    |  Bin 486 -> 0 bytes
 .../default-304/icons/x16/vcard_add.png       |  Bin 608 -> 0 bytes
 .../default-304/icons/x16/vcard_delete.png    |  Bin 598 -> 0 bytes
 .../default-304/icons/x16/vcard_edit.png      |  Bin 721 -> 0 bytes
 .../web/themes/default-304/icons/x16/wall.png |  Bin 501 -> 0 bytes
 .../default-304/icons/x16/wall__arrow.png     |  Bin 626 -> 0 bytes
 .../icons/x16/wall__exclamation.png           |  Bin 667 -> 0 bytes
 .../default-304/icons/x16/wall__minus.png     |  Bin 537 -> 0 bytes
 .../default-304/icons/x16/wall__pencil.png    |  Bin 633 -> 0 bytes
 .../default-304/icons/x16/wall__plus.png      |  Bin 599 -> 0 bytes
 .../default-304/icons/x16/wall_brick.png      |  Bin 369 -> 0 bytes
 .../default-304/icons/x16/wall_disable.png    |  Bin 304 -> 0 bytes
 .../default-304/icons/x16/wall_small.png      |  Bin 337 -> 0 bytes
 .../icons/x16/wall_small_brick.png            |  Bin 272 -> 0 bytes
 .../themes/default-304/icons/x16/wallet.png   |  Bin 458 -> 0 bytes
 .../default-304/icons/x16/wallet_arrow.png    |  Bin 594 -> 0 bytes
 .../icons/x16/wallet_exclamation.png          |  Bin 632 -> 0 bytes
 .../default-304/icons/x16/wallet_minus.png    |  Bin 490 -> 0 bytes
 .../default-304/icons/x16/wallet_pencil.png   |  Bin 562 -> 0 bytes
 .../default-304/icons/x16/wallet_plus.png     |  Bin 550 -> 0 bytes
 .../web/themes/default-304/icons/x16/wand.png |  Bin 473 -> 0 bytes
 .../default-304/icons/x16/wand_arrow.png      |  Bin 642 -> 0 bytes
 .../icons/x16/wand_exclamation.png            |  Bin 674 -> 0 bytes
 .../default-304/icons/x16/wand_minus.png      |  Bin 529 -> 0 bytes
 .../default-304/icons/x16/wand_pencil.png     |  Bin 598 -> 0 bytes
 .../default-304/icons/x16/wand_plus.png       |  Bin 590 -> 0 bytes
 .../themes/default-304/icons/x16/wrench.png   |  Bin 643 -> 0 bytes
 .../default-304/icons/x16/wrench_arrow.png    |  Bin 785 -> 0 bytes
 .../icons/x16/wrench_exclamation.png          |  Bin 832 -> 0 bytes
 .../default-304/icons/x16/wrench_minus.png    |  Bin 684 -> 0 bytes
 .../default-304/icons/x16/wrench_pencil.png   |  Bin 755 -> 0 bytes
 .../default-304/icons/x16/wrench_plus.png     |  Bin 739 -> 0 bytes
 .../icons/x16/wrench_screwdriver.png          |  Bin 810 -> 0 bytes
 .../themes/default-304/icons/x16_sprite.png   |  Bin 8569 -> 0 bytes
 .../default-304/icons/x32/calculator.png      |  Bin 555 -> 0 bytes
 .../themes/default-304/icons/x32/client.png   |  Bin 2410 -> 0 bytes
 .../default-304/icons/x32/dashboard.png       |  Bin 2025 -> 0 bytes
 .../web/themes/default-304/icons/x32/dns.png  |  Bin 2049 -> 0 bytes
 .../themes/default-304/icons/x32/domain.png   |  Bin 1518 -> 0 bytes
 .../themes/default-304/icons/x32/drawer.png   |  Bin 941 -> 0 bytes
 .../themes/default-304/icons/x32/email.png    |  Bin 1503 -> 0 bytes
 .../web/themes/default-304/icons/x32/help.png |  Bin 1950 -> 0 bytes
 .../themes/default-304/icons/x32/login.png    |  Bin 2357 -> 0 bytes
 .../themes/default-304/icons/x32/monitor.png  |  Bin 1244 -> 0 bytes
 .../themes/default-304/icons/x32/network.png  |  Bin 2035 -> 0 bytes
 .../themes/default-304/icons/x32/server.png   |  Bin 1440 -> 0 bytes
 .../themes/default-304/icons/x32/sites.png    |  Bin 2363 -> 0 bytes
 .../default-304/icons/x32/state_critical.png  |  Bin 2394 -> 0 bytes
 .../default-304/icons/x32/state_error.png     |  Bin 2200 -> 0 bytes
 .../default-304/icons/x32/state_info.png      |  Bin 2175 -> 0 bytes
 .../themes/default-304/icons/x32/state_ok.png |  Bin 1456 -> 0 bytes
 .../default-304/icons/x32/state_unknown.png   |  Bin 2753 -> 0 bytes
 .../default-304/icons/x32/state_warning.png   |  Bin 1917 -> 0 bytes
 .../themes/default-304/icons/x32/system.png   |  Bin 2454 -> 0 bytes
 .../themes/default-304/icons/x32/tools.png    |  Bin 2024 -> 0 bytes
 .../themes/default-304/icons/x32_sprite.png   |  Bin 37386 -> 0 bytes
 .../themes/default-304/icons/x64/client.png   |  Bin 6611 -> 0 bytes
 .../default-304/icons/x64/dashboard.png       |  Bin 5945 -> 0 bytes
 .../web/themes/default-304/icons/x64/dns.png  |  Bin 5730 -> 0 bytes
 .../themes/default-304/icons/x64/domain.png   |  Bin 4177 -> 0 bytes
 .../themes/default-304/icons/x64/drawer.png   |  Bin 7236 -> 0 bytes
 .../themes/default-304/icons/x64/email.png    |  Bin 4156 -> 0 bytes
 .../web/themes/default-304/icons/x64/help.png |  Bin 6117 -> 0 bytes
 .../themes/default-304/icons/x64/login.png    |  Bin 6797 -> 0 bytes
 .../themes/default-304/icons/x64/monitor.png  |  Bin 3198 -> 0 bytes
 .../themes/default-304/icons/x64/network.png  |  Bin 5546 -> 0 bytes
 .../themes/default-304/icons/x64/server.png   |  Bin 3527 -> 0 bytes
 .../themes/default-304/icons/x64/sites.png    |  Bin 6904 -> 0 bytes
 .../themes/default-304/icons/x64/system.png   |  Bin 7060 -> 0 bytes
 .../themes/default-304/icons/x64/tools.png    |  Bin 5721 -> 0 bytes
 .../web/themes/default-304/images/Thumbs.db   |  Bin 10752 -> 0 bytes
 .../themes/default-304/images/ajax-loader.gif |  Bin 3208 -> 0 bytes
 .../default-304/images/buttonHolder_bg.gif    |  Bin 609 -> 0 bytes
 .../web/themes/default-304/images/chevron.png |  Bin 183 -> 0 bytes
 .../web/themes/default-304/images/favicon.ico |  Bin 1406 -> 0 bytes
 .../themes/default-304/images/header_bg.png   |  Bin 308 -> 0 bytes
 .../themes/default-304/images/header_logo.png |  Bin 5872 -> 0 bytes
 .../default-304/images/lists_tfoot_bg.png     |  Bin 149 -> 0 bytes
 .../default-304/images/lists_thead_bg.png     |  Bin 200 -> 0 bytes
 .../themes/default-304/images/meter_bg.gif    |  Bin 80 -> 0 bytes
 .../themes/default-304/images/screen_bg.png   |  Bin 90 -> 0 bytes
 .../web/themes/default-304/ispconfig_version  |    1 -
 interface/web/themes/default-304/licences.txt |    8 -
 .../templates/admin/firewall_edit.htm         |   38 -
 .../templates/admin/firewall_list.htm         |   60 -
 .../templates/admin/groups_edit.htm           |   26 -
 .../templates/admin/groups_list.htm           |   54 -
 .../templates/admin/iptables_edit.htm         |   67 --
 .../templates/admin/iptables_list.htm         |   73 --
 .../templates/admin/language_add.htm          |   29 -
 .../templates/admin/language_complete.htm     |   29 -
 .../templates/admin/language_edit.htm         |   29 -
 .../templates/admin/language_export.htm       |   31 -
 .../templates/admin/language_import.htm       |   44 -
 .../templates/admin/language_list.htm         |   47 -
 .../admin/remote_action_ispcupdate.htm        |   33 -
 .../admin/remote_action_osupdate.htm          |   25 -
 .../templates/admin/remote_user_edit.htm      |   47 -
 .../templates/admin/remote_user_list.htm      |   52 -
 .../admin/server_config_cron_edit.htm         |   30 -
 .../admin/server_config_dns_edit.htm          |   38 -
 .../admin/server_config_fastcgi_edit.htm      |   52 -
 .../admin/server_config_getmail_edit.htm      |   22 -
 .../admin/server_config_jailkit_edit.htm      |   34 -
 .../templates/admin/server_config_list.htm    |   40 -
 .../admin/server_config_mail_edit.htm         |   94 --
 .../admin/server_config_rescue_edit.htm       |   44 -
 .../admin/server_config_server_edit.htm       |   67 --
 .../admin/server_config_ufw_edit.htm          |   66 --
 .../admin/server_config_vlogger_edit.htm      |   22 -
 .../admin/server_config_web_edit.htm          |  256 ----
 .../templates/admin/server_edit_config.htm    |   22 -
 .../templates/admin/server_edit_services.htm  |   70 --
 .../templates/admin/server_ip_edit.htm        |   50 -
 .../templates/admin/server_ip_list.htm        |   64 -
 .../templates/admin/server_list.htm           |   58 -
 .../admin/server_php_fastcgi_edit.htm         |   26 -
 .../templates/admin/server_php_fpm_edit.htm   |   30 -
 .../templates/admin/server_php_list.htm       |   55 -
 .../templates/admin/server_php_name_edit.htm  |   34 -
 .../admin/software_package_install.htm        |   30 -
 .../templates/admin/software_package_list.htm |   46 -
 .../templates/admin/software_repo_edit.htm    |   40 -
 .../templates/admin/software_repo_list.htm    |   56 -
 .../templates/admin/software_update_list.htm  |   49 -
 .../admin/system_config_domains_edit.htm      |   33 -
 .../admin/system_config_mail_edit.htm         |   80 --
 .../admin/system_config_misc_edit.htm         |   38 -
 .../admin/system_config_sites_edit.htm        |   58 -
 .../templates/admin/tpl_default_basic.htm     |   23 -
 .../templates/admin/users_groups_edit.htm     |   30 -
 .../templates/admin/users_list.htm            |   68 --
 .../templates/admin/users_user_edit.htm       |   73 --
 .../templates/client/client_circle_edit.htm   |   39 -
 .../templates/client/client_circle_list.htm   |   59 -
 .../templates/client/client_del.htm           |   25 -
 .../templates/client/client_edit_address.htm  |  140 ---
 .../templates/client/client_edit_limits.htm   |  284 -----
 .../templates/client/client_message.htm       |   39 -
 .../client/client_template_edit_limits.htm    |  230 ----
 .../client/client_template_edit_template.htm  |   28 -
 .../templates/client/client_template_list.htm |   56 -
 .../templates/client/clients_list.htm         |   73 --
 .../templates/client/domain_edit.htm          |   40 -
 .../templates/client/domain_list.htm          |   62 -
 .../client/reseller_edit_address.htm          |  116 --
 .../templates/client/reseller_edit_limits.htm |  279 -----
 .../templates/client/resellers_list.htm       |   68 --
 .../templates/dashboard/custom_menu.htm       |    9 -
 .../templates/dashboard/dashboard.htm         |   48 -
 .../templates/dashboard/dashlets/limits.htm   |   11 -
 .../templates/dashboard/dashlets/modules.htm  |   10 -
 .../templates/designer/form_edit.htm          |   79 --
 .../templates/designer/form_list.htm          |   24 -
 .../templates/designer/form_show.htm          |   61 -
 .../templates/designer/module_edit.htm        |   43 -
 .../templates/designer/module_list.htm        |   18 -
 .../templates/designer/module_nav_edit.htm    |   24 -
 .../designer/module_nav_item_edit.htm         |   33 -
 .../templates/designer/module_show.htm        |   31 -
 .../templates/designer/paging.tpl.htm         |    9 -
 .../default-304/templates/dns/dns_a_edit.htm  |   54 -
 .../default-304/templates/dns/dns_a_list.htm  |   88 --
 .../templates/dns/dns_aaaa_edit.htm           |   54 -
 .../templates/dns/dns_alias_edit.htm          |   38 -
 .../templates/dns/dns_cname_edit.htm          |   38 -
 .../templates/dns/dns_hinfo_edit.htm          |   38 -
 .../default-304/templates/dns/dns_import.htm  |   55 -
 .../default-304/templates/dns/dns_mx_edit.htm |   42 -
 .../default-304/templates/dns/dns_ns_edit.htm |   38 -
 .../templates/dns/dns_ptr_edit.htm            |   38 -
 .../templates/dns/dns_records_edit.htm        |   12 -
 .../default-304/templates/dns/dns_rp_edit.htm |   38 -
 .../templates/dns/dns_slave_edit.htm          |   97 --
 .../templates/dns/dns_slave_list.htm          |   59 -
 .../templates/dns/dns_soa_edit.htm            |  131 ---
 .../templates/dns/dns_soa_list.htm            |   62 -
 .../templates/dns/dns_srv_edit.htm            |   50 -
 .../templates/dns/dns_template_edit.htm       |   38 -
 .../templates/dns/dns_template_list.htm       |   53 -
 .../templates/dns/dns_txt_edit.htm            |   38 -
 .../default-304/templates/dns/dns_wizard.htm  |   95 --
 .../default-304/templates/error.tpl.htm       |    8 -
 .../themes/default-304/templates/form.tpl.htm |    1 -
 .../default-304/templates/help/faq_edit.htm   |   29 -
 .../help/faq_manage_questions_list.htm        |   43 -
 .../templates/help/faq_sections_edit.htm      |   20 -
 .../templates/help/help_faq_list.htm          |   19 -
 .../templates/help/help_faq_sections_list.htm |   43 -
 .../templates/help/support_message_edit.htm   |   33 -
 .../templates/help/support_message_list.htm   |   53 -
 .../templates/help/support_message_view.htm   |   22 -
 .../default-304/templates/listpage.tpl.htm    |    1 -
 .../default-304/templates/login/index.htm     |   33 -
 .../templates/login/password_reset.htm        |   33 -
 .../templates/mail/mail_alias_edit.htm        |   39 -
 .../templates/mail/mail_alias_list.htm        |   56 -
 .../templates/mail/mail_aliasdomain_edit.htm  |   37 -
 .../templates/mail/mail_aliasdomain_list.htm  |   56 -
 .../templates/mail/mail_blacklist_edit.htm    |   41 -
 .../templates/mail/mail_blacklist_list.htm    |   59 -
 .../mail/mail_content_filter_edit.htm         |   50 -
 .../mail/mail_content_filter_list.htm         |   59 -
 .../templates/mail/mail_domain_admin_list.htm |   58 -
 .../mail/mail_domain_catchall_edit.htm        |   36 -
 .../mail/mail_domain_catchall_list.htm        |   56 -
 .../templates/mail/mail_domain_edit.htm       |   73 --
 .../templates/mail/mail_domain_list.htm       |   56 -
 .../templates/mail/mail_forward_edit.htm      |   37 -
 .../templates/mail/mail_forward_list.htm      |   56 -
 .../templates/mail/mail_get_edit.htm          |   60 -
 .../templates/mail/mail_get_list.htm          |   62 -
 .../templates/mail/mail_mailinglist_edit.htm  |   86 --
 .../templates/mail/mail_mailinglist_list.htm  |   53 -
 .../mail/mail_relay_recipient_edit.htm        |   35 -
 .../mail/mail_relay_recipient_list.htm        |   55 -
 .../templates/mail/mail_transport_edit.htm    |   56 -
 .../templates/mail/mail_transport_list.htm    |   62 -
 .../mail/mail_user_autoresponder_edit.htm     |   44 -
 .../mail/mail_user_custom_rules_edit.htm      |   22 -
 .../templates/mail/mail_user_filter_edit.htm  |   38 -
 .../templates/mail/mail_user_filter_list.htm  |   44 -
 .../templates/mail/mail_user_list.htm         |   66 --
 .../templates/mail/mail_user_mailbox_edit.htm |   81 --
 .../mail/mail_user_mailfilter_edit.htm        |   26 -
 .../templates/mail/mail_user_stats_list.htm   |   53 -
 .../templates/mail/mail_whitelist_edit.htm    |   41 -
 .../templates/mail/mail_whitelist_list.htm    |   59 -
 .../mail/spamfilter_blacklist_edit.htm        |   49 -
 .../mail/spamfilter_blacklist_list.htm        |   62 -
 .../mail/spamfilter_config_getmail_edit.htm   |   22 -
 .../templates/mail/spamfilter_config_list.htm |   51 -
 .../mail/spamfilter_config_mail_edit.htm      |   66 --
 .../mail/spamfilter_config_server_edit.htm    |   38 -
 .../templates/mail/spamfilter_other_edit.htm  |   80 --
 .../templates/mail/spamfilter_policy_edit.htm |   64 -
 .../templates/mail/spamfilter_policy_list.htm |   63 -
 .../mail/spamfilter_quarantine_edit.htm       |   44 -
 .../mail/spamfilter_taglevel_edit.htm         |   52 -
 .../templates/mail/spamfilter_users_edit.htm  |   50 -
 .../templates/mail/spamfilter_users_list.htm  |   62 -
 .../mail/spamfilter_whitelist_edit.htm        |   49 -
 .../mail/spamfilter_whitelist_list.htm        |   63 -
 .../templates/mail/user_quota_stats_list.htm  |   52 -
 .../default-304/templates/mailuser/index.htm  |   34 -
 .../mailuser/mail_user_autoresponder_edit.htm |   37 -
 .../templates/mailuser/mail_user_cc_edit.htm  |   26 -
 .../mailuser/mail_user_filter_edit.htm        |   38 -
 .../mailuser/mail_user_filter_list.htm        |   50 -
 .../mailuser/mail_user_password_edit.htm      |   37 -
 .../mailuser/mail_user_spamfilter_edit.htm    |   28 -
 .../themes/default-304/templates/main.tpl.htm |  188 ---
 .../default-304/templates/module.tpl.htm      |   41 -
 .../default-304/templates/module_tree.tpl.htm |   42 -
 .../templates/monitor/datalog_list.htm        |   49 -
 .../templates/monitor/show_data.htm           |   12 -
 .../templates/monitor/show_log.htm            |   25 -
 .../templates/monitor/show_sys_state.htm      |   25 -
 .../templates/monitor/syslog_list.htm         |   56 -
 .../default-304/templates/sidenav.tpl.htm     |   24 -
 .../templates/sites/aps_install_package.htm   |   56 -
 .../templates/sites/aps_instances_list.htm    |   62 -
 .../sites/aps_packagedetails_show.htm         |  139 ---
 .../templates/sites/aps_packages_list.htm     |   50 -
 .../default-304/templates/sites/cron_edit.htm |   68 --
 .../default-304/templates/sites/cron_list.htm |   74 --
 .../templates/sites/database_admin_list.htm   |   68 --
 .../templates/sites/database_edit.htm         |  113 --
 .../templates/sites/database_list.htm         |   66 --
 .../sites/database_user_admin_list.htm        |   50 -
 .../templates/sites/database_user_edit.htm    |   54 -
 .../templates/sites/database_user_list.htm    |   51 -
 .../templates/sites/ftp_user_advanced.htm     |   50 -
 .../sites/ftp_user_advanced_client.htm        |   22 -
 .../templates/sites/ftp_user_edit.htm         |   54 -
 .../templates/sites/ftp_user_list.htm         |   62 -
 .../templates/sites/shell_user_advanced.htm   |   34 -
 .../templates/sites/shell_user_edit.htm       |   72 --
 .../templates/sites/shell_user_list.htm       |   59 -
 .../templates/sites/user_quota_stats_list.htm |   54 -
 .../templates/sites/web_aliasdomain_edit.htm  |  125 --
 .../templates/sites/web_aliasdomain_list.htm  |   59 -
 .../templates/sites/web_backup_list.htm       |   41 -
 .../templates/sites/web_domain_admin_list.htm |   61 -
 .../templates/sites/web_domain_advanced.htm   |  146 ---
 .../templates/sites/web_domain_backup.htm     |   32 -
 .../templates/sites/web_domain_edit.htm       |  249 ----
 .../templates/sites/web_domain_list.htm       |   59 -
 .../templates/sites/web_domain_redirect.htm   |   76 --
 .../templates/sites/web_domain_ssl.htm        |   68 --
 .../templates/sites/web_domain_stats.htm      |   37 -
 .../templates/sites/web_folder_edit.htm       |   34 -
 .../templates/sites/web_folder_list.htm       |   58 -
 .../templates/sites/web_folder_user_edit.htm  |   49 -
 .../templates/sites/web_folder_user_list.htm  |   55 -
 .../templates/sites/web_sites_stats_list.htm  |   62 -
 .../templates/sites/web_subdomain_edit.htm    |  112 --
 .../templates/sites/web_subdomain_list.htm    |   60 -
 .../sites/web_vhost_subdomain_advanced.htm    |  146 ---
 .../sites/web_vhost_subdomain_backup.htm      |   32 -
 .../sites/web_vhost_subdomain_edit.htm        |  208 ----
 .../sites/web_vhost_subdomain_list.htm        |   60 -
 .../sites/web_vhost_subdomain_redirect.htm    |   76 --
 .../sites/web_vhost_subdomain_ssl.htm         |   68 --
 .../sites/web_vhost_subdomain_stats.htm       |   37 -
 .../templates/sites/webdav_user_edit.htm      |   64 -
 .../templates/sites/webdav_user_list.htm      |   59 -
 .../default-304/templates/tabbed_form.tpl.htm |   27 -
 .../templates/tools/dns_import_tupa.htm       |   56 -
 .../templates/tools/import_ispconfig.htm      |  103 --
 .../templates/tools/import_plesk.htm          |   74 --
 .../default-304/templates/tools/index.htm     |   20 -
 .../templates/tools/interface_settings.htm    |   31 -
 .../default-304/templates/tools/resync.htm    |   67 --
 .../templates/tools/tpl_default.htm           |   37 -
 .../templates/tools/user_settings.htm         |   39 -
 .../default-304/templates/topnav.tpl.htm      |    9 -
 .../templates/vm/openvz_action.htm            |   53 -
 .../templates/vm/openvz_ip_edit.htm           |   46 -
 .../templates/vm/openvz_ip_list.htm           |   58 -
 .../templates/vm/openvz_ostemplate_edit.htm   |   48 -
 .../templates/vm/openvz_ostemplate_list.htm   |   61 -
 .../vm/openvz_template_advanced_edit.htm      |  110 --
 .../templates/vm/openvz_template_edit.htm     |   74 --
 .../templates/vm/openvz_template_list.htm     |   52 -
 .../templates/vm/openvz_vm_advanced_edit.htm  |   64 -
 .../templates/vm/openvz_vm_edit.htm           |  107 --
 .../templates/vm/openvz_vm_list.htm           |   68 --
 .../themes/default-304/yaml/!important.txt    |    4 -
 .../web/themes/default-304/yaml/core/base.css |  229 ----
 .../themes/default-304/yaml/core/iehacks.css  |  310 -----
 .../default-304/yaml/core/print_base.css      |  120 --
 .../default-304/yaml/core/slim_base.css       |   50 -
 .../default-304/yaml/core/slim_iehacks.css    |   36 -
 .../default-304/yaml/core/slim_print_base.css |   21 -
 .../themes/default-304/yaml/debug/debug.css   |  157 ---
 .../yaml/debug/images/grid_pattern.png        |  Bin 29833 -> 0 bytes
 .../yaml/debug/images/warning_iehacks.gif     |  Bin 2912 -> 0 bytes
 .../yaml/debug/images/yaml_debug.gif          |  Bin 2842 -> 0 bytes
 .../default-304/yaml/navigation/nav_vlist.css |  109 --
 .../yaml/patches/patch_layout_draft.css       |   29 -
 .../yaml/patches/patch_nav_vlist.css          |   61 -
 .../yaml/print/print_003_draft.css            |   32 -
 .../yaml/print/print_020_draft.css            |   31 -
 .../yaml/print/print_023_draft.css            |   40 -
 .../yaml/print/print_100_draft.css            |   31 -
 .../yaml/print/print_103_draft.css            |   38 -
 .../yaml/print/print_120_draft.css            |   39 -
 .../yaml/print/print_123_draft.css            |   40 -
 .../default-304/yaml/screen/basemod_draft.css |   70 --
 .../yaml/screen/content_default.css           |  170 ---
 1451 files changed, 1 insertion(+), 17931 deletions(-)
 delete mode 100644 interface/web/themes/default-304/css/central.css
 delete mode 100644 interface/web/themes/default-304/css/navigation/nav_side.css
 delete mode 100644 interface/web/themes/default-304/css/navigation/nav_top.css
 delete mode 100644 interface/web/themes/default-304/css/patches/central.css
 delete mode 100644 interface/web/themes/default-304/css/print/print_100.css
 delete mode 100644 interface/web/themes/default-304/css/screen/basemod.css
 delete mode 100644 interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css
 delete mode 100644 interface/web/themes/default-304/css/screen/content.css
 delete mode 100644 interface/web/themes/default-304/css/screen/content_ispc.css
 delete mode 100644 interface/web/themes/default-304/css/screen/jquery-ui-custom.css
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png
 delete mode 100644 interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css
 delete mode 100644 interface/web/themes/default-304/css/screen/tipsy.css
 delete mode 100644 interface/web/themes/default-304/css/screen/uni-form-generic.css
 delete mode 100644 interface/web/themes/default-304/css/screen/uni-form.css
 delete mode 100644 interface/web/themes/default-304/icons/device_sprite.png
 delete mode 100644 interface/web/themes/default-304/icons/flags_sprite.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/accept.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/accept_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/accept_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/arrow_2_left_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/arrow_2_right_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/article.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/article_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/bar_graph.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/burst.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/calendar.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/calendar2.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/cancel.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/cancel_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/clock.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/code.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/comment_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/dollar.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/double_comment.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/download.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/envelope.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_orange.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/flag_yellow.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/folder.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/info.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/link.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/lock.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/magnify.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/minus_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/money.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/new.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/pictures.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/printer.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/question_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/refresh.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/rss.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/rss_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/security_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/security_orange.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/security_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/star.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/star_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/stop.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/stop_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/upload.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/world.png
 delete mode 100644 interface/web/themes/default-304/icons/x12/world2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/accept.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/accept_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/accept_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/article.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/article_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/bar_graph.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/burst.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/calendar.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/calendar2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/cancel.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/cancel_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/clock.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/code.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/comment_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/dollar.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/double_comment.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/download.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/envelope.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_orange.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/flag_yellow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/folder.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/info.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/link.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/lock.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/magnify.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/minus_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/money.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/new.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/pictures.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/printer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/question_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/refresh.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/rss.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/rss_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/security_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/security_orange.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/security_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/star.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/star_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/stop.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/stop_round.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/upload.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/world.png
 delete mode 100644 interface/web/themes/default-304/icons/x16-list/world2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/address_book_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_000_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_045.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_045_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_090.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_090_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_135.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_135_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_180.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_180_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_225.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_225_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_270.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_270_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_315.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_315_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle_135.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle_225.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle_315.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle_double.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_skip.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_skip_090.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_skip_180.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_skip_270.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_stop.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_stop_090.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_stop_180.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/arrow_stop_270.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon_left.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloon_small_left.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/balloons_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bandaid_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bank_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bell_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bin_full.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/binocular_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blog_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/blogs_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book_brown.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/book_small_brown.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark__small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_book_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_document_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books_brown.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/books_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/box_label.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/briefcase_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/broom_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calculator_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar_day.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/calendar_month.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/camera_small_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card_address.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/card_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards_address.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cards_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cassette_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/chain_unchain.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clipboard_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock_fill.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/clock_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/color_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast_low.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/contrast_small_low.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross_circle_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/cross_small_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown_bronze.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/crown_silver.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/database_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/databases_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disc_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/discs_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disk_small_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/disks_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_horizontal.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_horizontal_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_music.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_music_playlist.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_shred.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_text_image.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/document_zipper.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/documents_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/door_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drawer_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/drill_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/envelope_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/equalizer_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/eraser_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/exclamation_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/exclamation_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/exclamation_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed_balloon.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/feed_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/film_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/films_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/flag_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_document.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_document_music.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_document_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_film.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_open_image.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_shred.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folder_zipper.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/folders_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/funnel_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/gear_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer_left.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/hammer_screwdriver.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_break.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_half.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_small_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/heart_small_half.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/home_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_resize.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_resize_actual.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_small_sunset.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/image_sunset.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/images_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/inbox_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/information.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/information_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/information_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/information_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/key_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_2_equal.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_3.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_3_mix.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_2_equal.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_3.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_3_mix.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_footer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_footer_2.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_footer_3.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_join.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/layout_split.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lifebuoy_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb_off.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/light_bulb_small_off.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lightning_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/loading.gif
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/lock_unlock.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/logout.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnet_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_left.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_medium.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_medium_left.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_zoom.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail_open.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail_open_document.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail_open_film.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail_open_image.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mail_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/mails_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium_black.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium_pink.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_medium_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_small_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_small_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_small_purple.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_player_small_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/media_players_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/microphone_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus_circle_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/minus_small_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/music_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspaper_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/newspapers_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebook_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/notebooks_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paint_can_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/palette_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/paper_bag_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pdf.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pencil_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/photo_album_blue.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/piano_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_small_sunset.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/picture_sunset.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pictures_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pill_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pin_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/pipette_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/playing_card_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plug_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus_circle_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/plus_small_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/printer_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/puzzle_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/question.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/question_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/question_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/question_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_shred.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipt_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/receipts_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/report_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ruler_crop.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/safe_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/screwdriver_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/script_code.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/scripts_code.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/shield_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/slash.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/slash_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/socket_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_alphabet.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_date.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_date_descending.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_number.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_number_descending.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_quantity.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_quantity_descending.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sort_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/stamp_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star_half.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star_small_empty.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/star_small_half.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note_pin.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note_shred.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_note_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes_pin.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes_stack.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/sticky_notes_text.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/switch_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table_delete.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table_delete_column.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table_insert.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/table_insert_column.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tables_stacks.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag_label.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tag_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tags_label.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick_circle_frame.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick_shield.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tick_small_circle.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/ticket_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/trophy_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/tux.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_add.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_comment.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_delete.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_edit.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_female.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_go.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_gray.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_green.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_orange.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_red.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/user_suit.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/vcard.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/vcard_add.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/vcard_delete.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/vcard_edit.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall__arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall__exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall__minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall__pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall__plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall_brick.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall_disable.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall_small.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wall_small_brick.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wallet_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wand_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_arrow.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_exclamation.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_minus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_pencil.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_plus.png
 delete mode 100644 interface/web/themes/default-304/icons/x16/wrench_screwdriver.png
 delete mode 100644 interface/web/themes/default-304/icons/x16_sprite.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/calculator.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/client.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/dashboard.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/dns.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/domain.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/drawer.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/email.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/help.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/login.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/monitor.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/network.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/server.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/sites.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_critical.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_error.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_info.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_ok.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_unknown.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/state_warning.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/system.png
 delete mode 100644 interface/web/themes/default-304/icons/x32/tools.png
 delete mode 100644 interface/web/themes/default-304/icons/x32_sprite.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/client.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/dashboard.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/dns.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/domain.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/drawer.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/email.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/help.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/login.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/monitor.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/network.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/server.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/sites.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/system.png
 delete mode 100644 interface/web/themes/default-304/icons/x64/tools.png
 delete mode 100644 interface/web/themes/default-304/images/Thumbs.db
 delete mode 100644 interface/web/themes/default-304/images/ajax-loader.gif
 delete mode 100644 interface/web/themes/default-304/images/buttonHolder_bg.gif
 delete mode 100644 interface/web/themes/default-304/images/chevron.png
 delete mode 100644 interface/web/themes/default-304/images/favicon.ico
 delete mode 100644 interface/web/themes/default-304/images/header_bg.png
 delete mode 100644 interface/web/themes/default-304/images/header_logo.png
 delete mode 100644 interface/web/themes/default-304/images/lists_tfoot_bg.png
 delete mode 100644 interface/web/themes/default-304/images/lists_thead_bg.png
 delete mode 100644 interface/web/themes/default-304/images/meter_bg.gif
 delete mode 100644 interface/web/themes/default-304/images/screen_bg.png
 delete mode 100644 interface/web/themes/default-304/ispconfig_version
 delete mode 100644 interface/web/themes/default-304/licences.txt
 delete mode 100644 interface/web/themes/default-304/templates/admin/firewall_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/firewall_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/groups_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/groups_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/iptables_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/iptables_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_add.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_complete.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_export.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_import.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/language_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/remote_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/remote_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_server_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_config_web_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_edit_config.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_edit_services.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_ip_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_ip_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_php_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/server_php_name_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/software_package_install.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/software_package_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/software_repo_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/software_repo_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/software_update_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/system_config_misc_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/tpl_default_basic.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/users_groups_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/users_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/admin/users_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_circle_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_circle_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_del.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_edit_address.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_edit_limits.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_message.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_template_edit_limits.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_template_edit_template.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/client_template_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/clients_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/domain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/domain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/reseller_edit_address.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/reseller_edit_limits.htm
 delete mode 100644 interface/web/themes/default-304/templates/client/resellers_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/dashboard/custom_menu.htm
 delete mode 100644 interface/web/themes/default-304/templates/dashboard/dashboard.htm
 delete mode 100644 interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm
 delete mode 100644 interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/form_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/form_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/form_show.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/module_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/module_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/module_nav_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/module_show.htm
 delete mode 100644 interface/web/themes/default-304/templates/designer/paging.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_a_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_a_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_alias_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_cname_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_import.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_mx_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_ns_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_records_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_rp_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_slave_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_slave_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_soa_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_soa_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_srv_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_template_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_template_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_txt_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/dns/dns_wizard.htm
 delete mode 100644 interface/web/themes/default-304/templates/error.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/form.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/faq_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/faq_sections_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/help_faq_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/help_faq_sections_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/support_message_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/support_message_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/help/support_message_view.htm
 delete mode 100644 interface/web/themes/default-304/templates/listpage.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/login/index.htm
 delete mode 100644 interface/web/themes/default-304/templates/login/password_reset.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_alias_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_alias_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_domain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_domain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_forward_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_forward_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_get_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_get_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_transport_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_transport_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_filter_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_config_server_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/index.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/main.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/module.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/module_tree.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/monitor/datalog_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/monitor/show_data.htm
 delete mode 100644 interface/web/themes/default-304/templates/monitor/show_log.htm
 delete mode 100644 interface/web/themes/default-304/templates/monitor/show_sys_state.htm
 delete mode 100644 interface/web/themes/default-304/templates/monitor/syslog_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sidenav.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/aps_install_package.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/aps_instances_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/aps_packages_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/cron_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/cron_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_admin_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_user_admin_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/database_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/ftp_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/ftp_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/shell_user_advanced.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/shell_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/shell_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_backup_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_advanced.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_backup.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_redirect.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_ssl.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_domain_stats.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_folder_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_folder_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_folder_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_subdomain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/webdav_user_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/sites/webdav_user_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/tabbed_form.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/dns_import_tupa.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/import_ispconfig.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/import_plesk.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/index.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/interface_settings.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/resync.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/tpl_default.htm
 delete mode 100644 interface/web/themes/default-304/templates/tools/user_settings.htm
 delete mode 100644 interface/web/themes/default-304/templates/topnav.tpl.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_action.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_ip_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_template_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_template_list.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm
 delete mode 100644 interface/web/themes/default-304/templates/vm/openvz_vm_list.htm
 delete mode 100644 interface/web/themes/default-304/yaml/!important.txt
 delete mode 100644 interface/web/themes/default-304/yaml/core/base.css
 delete mode 100644 interface/web/themes/default-304/yaml/core/iehacks.css
 delete mode 100644 interface/web/themes/default-304/yaml/core/print_base.css
 delete mode 100644 interface/web/themes/default-304/yaml/core/slim_base.css
 delete mode 100644 interface/web/themes/default-304/yaml/core/slim_iehacks.css
 delete mode 100644 interface/web/themes/default-304/yaml/core/slim_print_base.css
 delete mode 100644 interface/web/themes/default-304/yaml/debug/debug.css
 delete mode 100644 interface/web/themes/default-304/yaml/debug/images/grid_pattern.png
 delete mode 100644 interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif
 delete mode 100644 interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif
 delete mode 100644 interface/web/themes/default-304/yaml/navigation/nav_vlist.css
 delete mode 100644 interface/web/themes/default-304/yaml/patches/patch_layout_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_003_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_020_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_023_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_100_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_103_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_120_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/print/print_123_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/screen/basemod_draft.css
 delete mode 100644 interface/web/themes/default-304/yaml/screen/content_default.css

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 83b6ffba3a..cc22d9e02d 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -2248,6 +2248,7 @@ class installer_base {
 		
 		// Remove directories recursively
 		if(is_dir('/usr/local/ispconfig/interface/web/designer')) exec('rm -rf /usr/local/ispconfig/interface/web/designer');
+		if(is_dir('/usr/local/ispconfig/interface/web/themes/default-304')) exec('rm -rf /usr/local/ispconfig/interface/web/themes/default-304');
 		
 		// Remove files
 		if(is_file('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php');
diff --git a/interface/web/themes/default-304/css/central.css b/interface/web/themes/default-304/css/central.css
deleted file mode 100644
index 91c793c368..0000000000
--- a/interface/web/themes/default-304/css/central.css
+++ /dev/null
@@ -1,33 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) central stylesheet - ISPConfig 3: default theme
- * (de) Zentrales Stylesheet - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import core styles | Basis-Stylesheets einbinden */
-@import url(../yaml/core/base.css);
-
-/* import screen layout | Screen-Layout einbinden */
-@import url(navigation/nav_top.css);
-@import url(navigation/nav_side.css);
-@import url(screen/basemod.css);
-@import url(screen/basemod_2col_left_seo.css);
-@import url(screen/content.css);
-@import url(screen/uni-form-generic.css);
-@import url(screen/uni-form.css);
-@import url(screen/tipsy.css);
-@import url(screen/content_ispc.css);
-
-/* import print layout | Druck-Layout einbinden */
-@import url(print/print_100.css);
diff --git a/interface/web/themes/default-304/css/navigation/nav_side.css b/interface/web/themes/default-304/css/navigation/nav_side.css
deleted file mode 100644
index ea947a5b02..0000000000
--- a/interface/web/themes/default-304/css/navigation/nav_side.css
+++ /dev/null
@@ -1,125 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Vertical list navigation "vlist" - ISPConfig 3: default theme
- * (de) Vertikale Navigationsliste "vlist" - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
-	#submenu {
-	 width: 100%;
-	 overflow: hidden;
-	 margin: 0px;
-	 list-style-type: none;
-	 border-bottom: 2px #ddd solid;
-	}
-
-	#submenu ul { list-style-type: none; margin:0; padding: 0; }
-	#submenu li { float:left; width: 100%; margin:0; padding: 0; font-size:0.9em; }
-
-	#submenu a,
-	#submenu strong {
-	 display:block;
-	 width: 90%;
-	 padding: 2px 0px 2px 10%;
-	 text-decoration: none;
-	 background-color:#fff;
-	 color: #444;
-	 border-bottom: 1px #eee solid;
-	}
-
-	/* Menu Title */
-	#submenu li.title {
-	 width: 100%;
-	 padding: 0px;
-	 font-weight: bold;
-	 color: #444;
-	 background-color: #fff;
-	 border-top: 2px #888 solid;
-	font-size: 1.1em;
-	}
-
-	#submenu li.title a {
-	 background-color: #f0f8ff;
-	 color: #444;
-	}
-	#submenu li.title a:hover {
-	 color: white;
-}
-
-	#submenu li span {
-	 display:block;
-	 width: 90%;
-	 padding: 3px 0px 3px 10%;
-	 font-weight: bold;
-	 border-bottom: 1px #ddd solid;
-	}
-
-	/* Level 1 */
-	#submenu li.active,
-	#submenu li strong {
-	 width: 90%;
-	 padding: 3px 0px 3px 10%;
-	 font-weight: bold;
-	 color: #fff;
-	 background-color:#aab;
-	 border-bottom: 1px #eee solid;
-	}
-
-	#submenu li a { width: 90%; padding-left: 10%; background-color:#fff; color: #444; }
-	#submenu li a:focus,
-	#submenu li a:hover,
-	#submenu li a:active { background-color:#f63; color: #fff; }
-
-	/* Level 2 */
-	#submenu li ul li a,
-	#submenu li ul li#active,
-	#submenu li ul li strong,
-	#submenu li ul li span { width: 80%; padding-left: 20%; }
-
-	#submenu li ul li a { background-color:#f8f8f8; color: #666; }
-	#submenu li ul li a:focus,
-	#submenu li ul li a:hover,
-	#submenu li ul li a:active { background-color:#f63; color: #fff; }
-
-	/* Level 3 */
-	#submenu li ul li ul li a,
-	#submenu li ul li ul li#active,
-	#submenu li ul li ul li strong,
-	#submenu li ul li ul li span { width: 70%; padding-left: 30%; }
-
-	#submenu li ul li ul li a { background-color:#fcfcfc; color: #888; }
-	#submenu li ul li ul li a:focus,
-	#submenu li ul li ul li a:hover,
-	#submenu li ul li ul li a:active { background-color:#f63; color: #fff; }
-
-	/* Level 4 */
-	#submenu li ul li ul li ul li a,
-	#submenu li ul li ul li ul li#active,
-	#submenu li ul li ul li ul li strong,
-	#submenu li ul li ul li ul li span { width: 60%; padding-left: 40%; }
-
-	#submenu li ul li ul li ul li a { background-color:#ffffff; color: #aaa; }
-	#submenu li ul li ul li ul li a:focus,
-	#submenu li ul li ul li ul li a:hover,
-	#submenu li ul li ul li ul li a:active { background-color:#f63; color: #fff; }
-
-	/* Form-Elements in the Menu*/
-	#submenu * select#server_id {
-    margin: 3px 10%;
-    padding: 1px;
-    width: 80%;
-  }
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/navigation/nav_top.css b/interface/web/themes/default-304/css/navigation/nav_top.css
deleted file mode 100644
index 573ebc6dbf..0000000000
--- a/interface/web/themes/default-304/css/navigation/nav_top.css
+++ /dev/null
@@ -1,116 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Horizontal list navigation - ISPConfig 3: default theme
- * (de) Horizontale Navigationsliste - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
-  	#topNav ul {
-		list-style: none;
-		padding: 0;
-		margin: 0;
-	}
-	
-	#topNav ul li {
-		display: inline;
-		margin: 0 2px 0 0;
-	}
-	
-	#topNav a {
-		background-color: #D3D3D3;
-		background-position: center 5px;
-		background-repeat: no-repeat;
-		color:black;
-		display:inline-block;
-		height:20px;
-		padding-top:37px;
-		text-align:center;
-		text-decoration:none;
-		min-width:78px;
-	}
-	
-	#topNav a:hover {
-		background-color: #eeeeee;
-		color: #000000;
-	}
-        #topNav a span {
-            padding: 0 3px;
-        }
-	#topNav #topNav_current {
-	}
-	
-	#topNav #topNav_current a {
-		font-weight: bold;
-		color: black;
-		background-color: #ffffff;
-	}
-
-	.topnav-admin {
-		background-image: url('../../icons/x32/system.png') !important;
-	}
-
-	.topnav-client {
-		background-image: url('../../icons/x32/client.png') !important;
-	}
-
-	.topnav-mail {
-		background-image: url('../../icons/x32/email.png') !important;
-	}
-	
-	.topnav-mailuser {
-		background-image: url('../../icons/x32/email.png') !important;
-	}
-
-	.topnav-monitor {
-		background-image: url('../../icons/x32/monitor.png') !important;
-	}
-
-	.topnav-sites {
-		background-image: url('../../icons/x32/sites.png') !important;
-	}
-
-	.topnav-dns {
-		background-image: url('../../icons/x32/dns.png') !important;
-	}
-
-	.topnav-tools {
-		background-image: url('../../icons/x32/tools.png') !important;
-	}
-
-	.topnav-help {
-		background-image: url('../../icons/x32/help.png') !important;
-	}
-
-	.topnav- {
-		background-image: url('../../icons/x32/login.png') !important;
-	}
-
-	.topnav-domain {
-		background-image: url('../../icons/x32/domain.png') !important;
-	}
-
-	.topnav-dashboard {
-		background-image: url('../../icons/x32/dashboard.png') !important;
-	}
-	
-	.topnav-vm{
-		background-image: url('../../icons/x32/drawer.png') !important;
-	}
-	
-	.topnav-billing{
-		background-image: url('../../icons/x32/calculator.png') !important;
-	}
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/patches/central.css b/interface/web/themes/default-304/css/patches/central.css
deleted file mode 100644
index 27dd462b75..0000000000
--- a/interface/web/themes/default-304/css/patches/central.css
+++ /dev/null
@@ -1,37 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) IE-Patch stylesheet - ISPConfig 3: default theme
- * (de) IE-Korrektur-Stylesheet - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
-@import url(../yaml/core/iehacks.css);
-
-/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
-@media screen, projection
-{
- /**
-  * min-width/max-width workaround for IE5.x & IE6
-  *
-  * @workaround
-  * @affected   IE 5.x/Win, IE6
-  * @css-for    IE 5.x/Win, IE6
-  * @valid      no
-  */
-
-  * html #page_margins {
-    /* Fallback if JavaScript is disabled */
-    width: 80%;
-  }
-}
diff --git a/interface/web/themes/default-304/css/print/print_100.css b/interface/web/themes/default-304/css/print/print_100.css
deleted file mode 100644
index 95e63e80ab..0000000000
--- a/interface/web/themes/default-304/css/print/print_100.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet - ISPConfig 3: default theme
- * (de) Druck-Stylesheet - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../../yaml/core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - 0
-*/
-@media print
-{
-  #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-
-  #col2 { display:none; }
-  #col3 { display:none; }
-}
diff --git a/interface/web/themes/default-304/css/screen/basemod.css b/interface/web/themes/default-304/css/screen/basemod.css
deleted file mode 100644
index 31e7bd1aed..0000000000
--- a/interface/web/themes/default-304/css/screen/basemod.css
+++ /dev/null
@@ -1,124 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Screen layout for YAML - ISPConfig 3: default theme
- * (de) Bildschirmlayout fr YAML - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
-	/*------------------------------------------------------------------------------------------------------*/
-	
-	/**
-	* (en) Formatting YAML's  basic layout elements
-	* (de) Gestaltung des YAML Basis-Layouts
-	*/
-	
-	/* (en) Marginal areas & page background */
-	/* (de) Randbereiche & Seitenhintergrund */
-	body { background: #EEEEEE url("../../images/screen_bg.png") repeat-x top left fixed; padding: 10px 0; }
-	
-	/* (en) Centering layout in old IE-versions */
-	/* (de) Zentrierung des Layouts in alten IE-versionen */
-	body { text-align: center; }
-	#page_margins { text-align:left; margin: 0 auto; }
-	
-	/* (en) Layout: width, background, borders */
-	/* (de) Layout: Breite, Hintergrund, Rahmen */
-	/*#page_margins { min-width: 980px; max-width: 80%; background: #fff;}*/
-	/* #page_margins { min-width: 980px; max-width: 80%; background: #fff; display: inline-block;}*/
-	
-	/*WARNING: ADded a overrode for this setting in main.tpl with javascript to target non chrome browsers,
-	This has to be changed too in case that page_margins get changed. Reason: Chrome does not support the 
-	display: table; attribute correctly*/
-	#page_margins { min-width: 980px; max-width: 80%; background: #fff;}
-	/*#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}*/
-	
-	#page{ padding: 10px; }
-	
-	/* (en) Designing main layout elements */
-	/* (de) Gestaltung der Hauptelemente des Layouts */
-	#header {
-	 color: #faf0e6;
-	 padding: 15px 2em 5px 20px;
-	 background: #9a9a9a url("../../images/header_bg.png") repeat-x top left;
-	}
-	
-	/* (en) Text Alignment for #topnav content */
-	/* (de) Textausrichtung für #topnav Inhalte */
-	#topnav { text-align: left; } 
-	
-	/* (en) Absolute positioning only within #header */
-	/* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
-	#header #topnav {
-	 position: absolute;
-	 top: 0px;
-	 left: 0px;
-	}
-	
-	/* (en) Text Alignment for #topnav content */
-	/* (de) Textausrichtung für #topnav Inhalte */
-	#topsubnav { text-align: right; } 
-	
-	/* (en) Absolute positioning only within #header */
-	/* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
-	#header #topsubnav {
-	 position:absolute;
-	 top: 10px;
-	 right: 10px;
-	}
-	
-	/* (en) adjustment of main navigation */
-	/* (de) Anpassung der Hauptnavigation */
-	#nav ul { margin-left: 20px; }
-	#nav_main { background: #9a9a9a repeat-x top left; }
-	
-	#main { background: #fff;padding:10px 0; }
-	
-	#footer { 
-	 color:#666; 
-	 background: #f9f9f9;
-	 padding: 10px 20px;
-	 border-top: 5px #efefef solid;
-	 font-size: 0.8em;
-	 text-align: center;
-	}
-	
-	/*------------------------------------------------------------------------------------------------------*/
-	
-	/**
-	* (en) Formatting content container
-	* (de) Formatierung der Inhalts-Container
-	*
-	* |-------------------------------|
-	* | #header                       |
-	* |-------------------------------|
-	* | #col1   | #col3     | #col2   |
-	* | 25%     | flexible  | 25%     |
-	* |-------------------------------|
-	* | #footer                       |
-	* |-------------------------------|
-	*/
-	
-	
-	#col1 { width: 25%; }
-	#col1_content { padding: 10px 10px 10px 20px; }
-	
-	#col2 { width: 25%; }
-	#col2_content { padding: 10px 20px 10px 10px; }
-	
-	#col3 { margin: 0 25%; }
-	#col3_content { padding: 10px; }
-	
-	/*------------------------------------------------------------------------------------------------------*/
-}
diff --git a/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css b/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css
deleted file mode 100644
index 3914fc33b1..0000000000
--- a/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css
+++ /dev/null
@@ -1,48 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Variation of screen layout (basemod.css) - ISPConfig 3: default theme
- * (de) Variation des Screenlayouts (basemod.css) - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
-  /**
-   * (en) Repositioning content container
-   * (de) Neupositionierung der Content Container
-   *
-   * |-------------------------------|
-   * | #header                       |
-   * |-------------------------------|
-   * | #col1   | #col3               |
-   * | 200px   | flexible            |
-   * |-------------------------------|
-   * | #footer                       |
-   * |-------------------------------|
-   */
-
-  /* #col1 becomes the fixed navigation column | #col1 wird zur Navigationsspalte mit fester Breite */
-  #col1 { width: 200px; float:left}
-  #col1_content { padding: 0 10px 0 0; }
-
-  /* #col2 is turned off | #col2 abschalten */
-  #col2 { display:none; }
-
-  /* #col3 becomes the main column | #col3 wird zur Hauptspalte */
-  #col3 { margin-left: 200px; margin-right: 0; }
-  #col3_content { padding: 0px 10px 10px 20px; }
-
-  /* Graphic-free column dividers between #col1 and #col3 | Grafikfreier Spaltentrenner zw. #col1 und #col3*/
-  #col3 {border-left: 1px #ddd solid;}
-  #main {padding: 1em 0}
-}
diff --git a/interface/web/themes/default-304/css/screen/content.css b/interface/web/themes/default-304/css/screen/content.css
deleted file mode 100644
index 4f65858bd5..0000000000
--- a/interface/web/themes/default-304/css/screen/content.css
+++ /dev/null
@@ -1,203 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of standard content elements - ISPConfig 3: default theme
- * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
-	/**
-	* Fonts
-	* (en) font-family and font-size selection for headings and standard text elements
-	* (de) Zeichensatz und Schriftgrößen für Überschriften und übliche Text-Elemente
-	*
-	* @section content-fonts
-	*/
-	
-	/* (en) reset font size for all elements to standard (16 Pixel) */
-	/* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
-	html * { font-size: 100.01% }
-	
-	/* (en) reset monospaced elements to font size 16px in Gecko browsers */
-	/* (de) Schriftgröße von monospaced Elemente auf 16 Pixel setzen */
-	textarea, pre, tt, code {
-	font-family: Consolas,"Lucida Console","Courier New",monospace;
-    font-size: 0.9em;	
-	}
-	
-	/* (en) base layout gets standard font size 12px */
-	/* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
-	body {
-	  font-family: 'Trebuchet MS', sans-serif;
-	  font-size: 75.00%; 
-	  color: #444;  
-	}
-	
-	h1,h2,h3,h4,h5,h6 { 
-		font-family: 'Trebuchet MS', sans-serif;
-		font-weight:bold; 
-		color:#666;
-		margin: 0 0 0.25em 0; 
-	}
-	
-	h1 { font-size: 200% }                        /* 24px */
-	h2 { font-size: 200% }          /* 24px */
-	h3 { font-size: 150% }                        /* 18px */
-	h4 { font-size: 133.33% }                     /* 16px */
-	h5 { font-size: 116.67% }                     /* 14px */
-	h6 { font-size: 116.67%; font-style:italic }  /* 14px */
-	
-	#header h1 {
-	  font-size:2.5em;
-	  letter-spacing:-2px;
-	  line-height:65%;
-	  color: silver;
-	}
-	
-	#header span {
-	  color:#333333;
-	}
-	
-	p { line-height: 1.5em; margin: 0 0 1em 0; }
-	
-	/* ### Lists | Listen  #### */
-	
-	ul, ol, dl { line-height: 1.5em; margin: 0 0 1em 1em }
-	li { margin-left: 1.5em; line-height: 1.5em }
-	
-	dt { font-weight: bold }
-	dd { margin: 0 0 1em 2em }
-	
-	/* ### text formatting | Textauszeichnung ### */
-	
-	cite, blockquote { font-style:italic }
-	blockquote { margin: 0 0 1em 1.5em }
-	
-	strong,b { font-weight: bold }
-	em,i { font-style:italic }
-	
-	pre, code { font-family: monospace; font-size: 1.1em; }
-	
-	acronym, abbr {
-	  letter-spacing: .07em;
-	  border-bottom: .1em dashed #c00;
-	  cursor: help;
-	}
-
-	/* Set a background-color, no system backgorund used anymore */
-	select, input, textarea {
-	  background: #FFFFFF;
-	  border: 1px solid #DFDFDF;
-	  padding: 1px;
-	  outline:none;
-	}
-
-	
-	/**
-	 * Generic Content Classes
-	 * (en) standard classes for positioning and highlighting
-	 * (de) Standardklassen zur Positionierung und Hervorhebung
-	 *
-	 * @section content-generic-classes
-	 */
-	
-	.note {background: #dfd; padding: 1em; border-top: 1px #bdb dotted; border-bottom: 1px #bdb dotted;}
-	.important {background: #ffd; padding: 1em; border-top: 1px #ddb dotted; border-bottom: 1px #ddb dotted;}
-	.warning {background: #fdd; padding: 1em; border-top: 1px #dbb dotted; border-bottom: 1px #dbb dotted;}
-	
-	.float_left { float: left; display:inline; margin-right: 1em; margin-bottom: 0.15em;  }
-	.float_right { float: right; display:inline; margin-left: 1em; margin-bottom: 0.15em;  }
-	.center { text-align:center; margin: 0.5em auto }
-	
-	/**
-	 * External Links
-	 *
-	 * (en) Formatting of hyperlinks
-	 * (de) Gestaltung von Hyperlinks
-	 *
-	 */
-	
-	a {color: #4D87C7; text-decoration:none;}
-	a:focus,
-	a:hover,
-	a:active {color:#182E7A; text-decoration:underline;}
-	
-	#topsubnav a { color: #f0f8ff; font-weight: normal; background:transparent; text-decoration:none; }
-	#topsubnav a:focus, 
-	#topsubnav a:hover,
-	#topsubnav a:active { text-decoration:underline; background-color: transparent;}
-	
-	#footer a { color: #999; background:transparent; font-weight: bold;}
-	#footer a:focus, 
-	#footer a:hover,
-	#footer a:active {color: #4D87C7; background-color: transparent; text-decoration:underline;}
-	
-	/**
-	 * (en) Emphasizing external Hyperlinks via CSS
-	 * (de) Hervorhebung externer Hyperlinks mit CSS
-	 *
-	 * @section             content-external-links
-	 * @app-yaml-default    disabled
-	 */
-	
-	/*
-	#main a[href^="http://www.my-domain.com"],
-	#main a[href^="https://www.my-domain.com"]
-	{
-	  padding-left: 12px;
-	  background-image: url('your_image.gif');
-	  background-repeat: no-repeat;
-	  background-position: 0 0.45em;
-	}
-	*/
-	
-	/**
-	 * Tables | Tabellen
-	 * (en) Generic classes for table-width and design definition
-	 * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
-	 *
-	 * @section content-tables
-	 */
-	
-	table { width: auto; border-collapse:collapse; margin-bottom: 0.5em; }
-	table.full { width: 100%; }
-	table.fixed { table-layout:fixed }
-
-	table.list td{max-width:350px;min-width: 32px;white-space: nowrap;overflow:hidden;text-overflow: ellipsis; -o-text-overflow: ellipsis; -icab-text-overflow: ellipsis; -khtml-text-overflow: ellipsis; -moz-text-overflow: ellipsis; -webkit-text-overflow: ellipsis;}
-	th,td { padding: 0.5em;text-align:left;}
-	thead th { background: #444 url(../../images/lists_thead_bg.png) repeat-x; color: #fff }
-	tbody th { background: #ccc; color: #333 }
-	tbody th.sub { background: #ddd; color: #333 }
-	
-	/**
-	 * Miscellaneous | Sonstiges
-	 *
-	 * @section content-misc
-	 */
-	
-	hr {
-	  color: #fff;
-	  background:transparent;
-	  margin: 0 0 0.5em 0;
-	  padding: 0 0 0.5em 0;
-	  border:0;
-	  border-bottom: 1px #eee solid;
-	}
-
-	/* Sorting cusror and backgorund */
-	.pnl_listarea th[class^="tbl_col"]{cursor:pointer}
-	.pnl_listarea th[class^="tbl_col"]:hover{background-position:0 -15px!important}
-
-}
diff --git a/interface/web/themes/default-304/css/screen/content_ispc.css b/interface/web/themes/default-304/css/screen/content_ispc.css
deleted file mode 100644
index 64e2df350a..0000000000
--- a/interface/web/themes/default-304/css/screen/content_ispc.css
+++ /dev/null
@@ -1,1045 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of ISPConfig elements - ISPConfig 3: default theme
- * (de) Einheitliche Standardformatierungen f�r ISPConfig-Elemente - ISPConfig 3: default theme
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
-	.pageForm_description {
-		font-size: 12px;
-	}
-	
-	/* Tab-Box */
-	.tabbox_tabs {
-    	border-bottom: 1px solid #d3d3d3;
-	}
-	.tabbox_tabs ul {
-    	list-style: none;
-    	padding: 0;
-    	margin: 0;
-	}
-	.tabbox_tabs li {
-    	display: inline;
-    	margin: 0 2px 0 0;
-	}
-	.tabbox_tabs a {
-    	padding: 0 1em;
-    	text-decoration: none;
-    	color: black;
-    	background: #d3d3d3;
-    	border: 1px solid #d3d3d3;
-	}
-	.tabbox_tabs a:hover {
-    	background: #fc0;
-    	color: #540;
-	}
-	.tabbox_tabs .active a {
-    	font-weight: bold;
-    	color: #ff6600;
-    	background: #ffffff;
-	}
-	
-	.pnl_toolsarea fieldset, .pnl_listarea fieldset, .pnl_formsarea fieldset {
-		border-top: 1px solid #949494;
-		margin: 20px 0;
-	}
-	.pnl_toolsarea fieldset legend , .pnl_listarea fieldset legend {
-		font-weight: bold;
-		color: #6299c5;
-	}
-	.pnl_formarea fieldset {
-		font-weight: bold;
-	}
-
-	/* hide line and legend when inside tabbed content */
-	#tabbox_content * .pnl_toolsarea fieldset, #tabbox_content * .pnl_listarea fieldset, #tabbox_content * .pnl_formsarea fieldset { border: none !important; }
-	#tabbox_content * .pnl_toolsarea fieldset legend, #tabbox_content * .pnl_listarea fieldset legend, #tabbox_content * .pnl_formsarea fieldset legend { display: none !important; }
-	
-	.codeview {
-		margin:20px 0;
-		padding:2px;
-		border: 1px solid #ffcc00;
-		background: #fffaea;
-		font-family: Consolas, "Lucida Console", "Courier New", monospace;
-		font-size: 0.9em;
-	}
-	
-	/* Lists */
-	table.list {
-		width: 100%;
-		border: 1px solid #d3d3d3 !important;
-	}
-	table.list thead th { font-size: 10px; }
-	table.list tbody { border: 1px solid #d3d3d3 !important; }
-	table.list tfoot td { text-align: center;  background: #f8f8f8 url("../../images/lists_tfoot_bg.png") repeat-x bottom left;  padding: 24px 8px 8px 8px; }
-	table.list .tbl_row_even { background: #fcfcfc; }
-	table.list .tbl_row_uneven { background: #f0f8ff; }
-	table.list tr:hover { background: #fffacd; }
-	table.list td { word-wrap:break-word;white-space:pre-wrap; }
-	table.list td.tbl_col_buttons { word-wrap:normal;white-space:normal; }
-
-        /* Password Strength */
-        #passBar {
-            width: 101px; height: 10px;
-            background: url("../../images/meter_bg.gif") repeat-x bottom left;
-            margin: 2px 0;
-            float: left;
-        }
-        #passText {
-            padding: 0;
-            float: left;
-        }
-
-        /* Systemmonitor */
-        .systemmonitor-server,
-        .systemmonitor-ve,
-        .systemmonitor-state {
-            margin: 10px 5px;
-            font-family: Consolas, "Lucida Console", "Courier New", monospace;
-            font-size: 0.9em;
-            float: left;
-            width: 100%;
-        }
-        .systemmonitor-server:hover,
-        .systemmonitor-vm:hover { background-color: #FFFACD; }
-        .state-no_state,
-        .state-no_state-ve {
-            border-top: 4px solid #95A19F;
-            background-color: #f8f8ff;
-        }
-        .state-unknown,
-        .state-unknown-ve {
-            border-top: 4px solid #30302e;
-            background-color: #cecfc5;
-        }
-        .state-ok,
-        .state-ok-ve {
-            border-top: 4px solid #23fb00;
-            background-color: #adffa2;
-        }
-        .state-info,
-        .state-info-ve {
-            border-top: 4px solid #183e99;
-            background-color: #d4e2ff;
-        }
-        .state-warning,
-        .state-warning-ve {
-            border-top: 4px solid #ffa800;
-            background-color: #ffda93;
-        }
-        .state-critical,
-        .state-critical-ve {
-            border-top: 4px solid #ff0000;
-            background-color: #ffb9b9;
-        }
-        .state-error,
-        .state-error-ve {
-            border-top: 4px solid #ff0000;
-            background-color: #ff7f7f;
-        }       
-        div.icoDevice {
-            float: left;
-            width: 64px;
-            height: 64px;
-            margin: 5px;
-            background: url("../../icons/device_sprite.png") no-repeat transparent;
-        }
-        .systemmonitor-server div.icoDevice { background-position: 0 0; }
-        .systemmonitor-ve div.icoDevice { background-position: -64px 0; }
-        .systemmonitor-network div.icoDevice { background-position: -128px -0; }
-        div.statusDevice, div.statusMsg { float: left; }
-
-        div.statusMsg p { 
-            float: left;
-            padding: 5px;
-        }
-        .systemmonitor-state .status {
-            margin: 5px;
-        }
-        .status {
-            float: right;
-            width: 32px;
-            height: 32px;
-            background: url("../../icons/x32_sprite.png") no-repeat transparent;
-        }
-        div.status {
-            float: left !important;
-        }
-        .state-no_state .status,
-        .state-no_state-ve .status,
-        .state-unknown .status,
-        .state-unknown-ve .status { background-position: 0 -207px; }
-
-        .state-ok .status,
-        .state-ok-ve .status { background-position: 0 -270px; }
-
-        .state-info .status,
-        .state-info-ve .status { background-position: 0 -336px; }
-
-        .state-warning .status,
-        .state-warning-ve .status { background-position: 0 -143px; }
-
-        .state-critical .status,
-        .state-critical-ve .status { background-position: 0 -463px; }
-
-        .state-error .status,
-        .state-error-ve .status { background-position: 0 -400px; }
-
-        /* Usage unknown  
-        .systemmonitor-content table {
-            border: none;
-            margin-top: 10px;
-        }
-        
-        .systemmonitor-content * .online {
-            border: 1px solid #ffffff;
-            background-color: #E3FFB8;
-            color: #000000;
-            padding:0px 5px;
-        }
-        .systemmonitor-content * .offline {
-            border: 1px solid #ffffff;
-            background-color: #d12f19; 
-            color:#ffffff;
-            padding:0px 5px;
-        }*/
-
-        /* Dashboard */
-        .dashboard-modules {
-                float:left;
-                width:60px;
-                height: 60px;
-                border:1px dotted #888888;
-                background-color: #cccccc;
-                margin:10px;
-                background-position: center 5px;
-                background-repeat: no-repeat;
-                text-align: center;
-        }
-
-        .dashboard-modules a, .dashboard-modules a:hover{
-                color:Black;
-                display:block;
-                font-weight:bold;
-                height:30px;
-                padding-top:42px;
-                width:60px;
-                text-decoration: none;
-        }
-
-        .dashboard-modules.admin { background-image: url("../../icons/x32/system.png") !important; }
-        .dashboard-modules.vm { background-image: url("../../icons/x32/drawer.png") !important; }
-        .dashboard-modules.client { background-image: url("../../icons/x32/client.png") !important; }
-        .dashboard-modules.mail { background-image: url("../../icons/x32/email.png") !important; }
-        .dashboard-modules.monitor { background-image: url("../../icons/x32/monitor.png") !important; }
-        .dashboard-modules.dns { background-image: url("../../icons/x32/dns.png") !important; }
-        .dashboard-modules.tools { background-image: url("../../icons/x32/tools.png") !important; }
-        .dashboard-modules.help { background-image: url("../../icons/x32/help.png") !important; }
-        .dashboard-modules.domain { background-image: url("../../icons/x32/domain.png") !important; }
-        .dashboard-modules.sites { background-image: url("../../icons/x32/sites.png") !important; }
-        .dashboard-modules.billing { background-image: url("../../icons/x32/calculator.png") !important; }
-
-        .panel_dashboard h2 {
-                font-size:20px;
-        }
-
-        /* Image-Replacement */
-        .swap { background-repeat:no-repeat; }
-        .swap span { display:none; height:16px; } 
-        #ir-HeaderLogo { background-image:url("../../images/header_logo.png"); height:32px;margin:0 0 0.2em; } 
-        #ir-Yes { background-image:url("../../icons/x16/tick_circle.png"); height:16px; } 
-        #ir-No { background-image:url("../../icons/x16/cross_circle.png"); height:16px; } 
-
-        /* BUTTONS */
-        .buttons a, .buttons button{
-            display:block;
-            float:left;
-            margin:0 7px 0 0;
-            background-color:#f5f5f5;
-            border:1px solid #777777;
-            border-top: 1px solid #c8c8c8;
-            border-left:1px solid #c8c8c8;
-
-            font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
-            font-size:90%;
-            line-height:130%;
-            text-decoration:none;
-            font-weight:bold;
-            color:#565656;
-            cursor:pointer;
-            padding:5px 10px 6px 7px; /* Links */
-        }
-        .buttons button{
-            width:auto;
-            overflow:visible;
-            padding:4px 10px 3px 7px; /* IE6 */
-        }
-        .buttons button[type]{
-            padding:5px 10px 5px 7px; /* Firefox */
-            line-height:17px; /* Safari */
-        }
-        *:first-child+html button[type]{
-            padding:4px 10px 3px 7px; /* IE7 */
-        }
-        .buttons button img, .buttons a img{
-            margin:0 3px -3px 0 !important;
-            padding:0;
-            border:none;
-            width:16px;
-            height:16px;
-        }
-
-        /* BUTTONS STANDARD */
-        button:hover, .buttons a:hover{
-            background-color:#dff4ff;
-            border:1px solid #c2e1ef;
-            color:#336699;
-        }
-        .buttons a:active{
-            background-color:#6299c5;
-            border:1px solid #6299c5;
-            color:#fff;
-        }
-
-        /* BUTTONS POSITIVE */
-        button.positive, .buttons a.positive{
-            color:#529214;
-        }
-        .buttons a.positive:hover, button.positive:hover{
-            background-color:#E6EFC2;
-            border:1px solid #C6D880;
-            color:#529214;
-        }
-        .buttons a.positive:active{
-            background-color:#529214;
-            border:1px solid #529214;
-            color:#fff;
-        }
-
-        /* BUTTONS NEGATIVE */
-        .buttons a.negative, button.negative{
-            color:#d12f19;
-        }
-        .buttons a.negative:hover, button.negative:hover{
-            background-color:#fbe3e4;
-            border:1px solid #fbc2c4;
-            color:#d12f19;
-        }
-        .buttons a.negative:active{
-            background-color:#d12f19;
-            border:1px solid #d12f19;
-            color:#fff;
-        }
-
-        /* Button with icon and text */
-        .iconstxt {
-                background-repeat: no-repeat; 
-                background-position: 4px center;
-        }
-        .iconstxt span { padding-left: 20px; }
-        .iconstxt.icoPositive { background-image: url("../../icons/x16/tick_circle_frame.png"); }
-        .iconstxt.icoNegative { background-image: url("../../icons/x16/cross_circle_frame.png"); }
-        .iconstxt.icoAdd { background-image: url("../../icons/x16/plus_circle_frame.png"); }
-        .iconstxt.icoKey { background-image: url("../../icons/x16/key.png"); }
-        .iconstxt.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
-        .iconstxt.icoDownload { background-image: url("../../icons/x16/arrow_270.png"); }
-        .iconstxt.icoRestore { background-image: url("../../icons/x16/arrow_circle_225.png"); }
-
-        /* Button with icon and without text */
-        .icons16 span { display: none; }
-        a.icons16 { height: 18px; width: 18px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
-        button.icons16 { height: 20px; width: 20px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
-
-        .icons16.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
-        .icons16.icoFilter { background-image: url("../../icons/x16/funnel.png"); }
-        .icons16.icoEdit { background-image: url("../../icons/x16/wrench.png"); }
-        .icons16.icoDbAdmin { background-image: url("../../icons/x16/database.png"); }
-        .icons16.icoLoginAs { background-image: url("../../icons/x16/user_go.png"); }
-        .icons16.icoWebmailer { background-image: url("../../icons/x16/mails_arrow.png"); }
-        .icons16.icoPDF { background-image: url("../../icons/x16/pdf.png"); }
-        .icons16.icoAction { background-image: url("../../icons/x16/arrow.png"); }
-
-        #ajaxloader {
-                text-align:center;
-                margin-top: 180px;
-        }
-
-        .blockLabel.email_at {
-                width: 20px !important;
-                margin: 1.6em 0.3em 0 0 !important
-        }
-        .textDisplay { display: block; }
-
-        /* Form Length Classes */
-        .textInput.formLengthBool { width: 25px !important; }
-        .selectInput.formLengthBool { width: 60px !important; }
-        .textInput.formLengthLimit { width: 50px !important; }
-        .selectInput.formLengthLimit { width: 85px !important; }
-        .formLengthDate { width: 75px !important; }
-        .formLengthIPv4 { width: 125px !important; }
-        .formLengthIPv6 { width: 100% !important; }
-        .formLengthEmailUser { width: 30% !important; }
-        .formLengthEmailDomain { width: 30% !important; }
-        .formLengthHalf { width: 15% !important; }
-        .formLengthDouble { width: 50% !important; }
-
-        /* Individual Form Lengths */
-        .textInput#username, .textInput#password, .textInput#passwort, .textInput#source_password { width: 100px; }
-        .selectInput#language {	width: 75px; }
-        .selectInput#client_group_id, .selectInput#default_group { width: 125px; }
-        input#refresh, input#retry, input#expire, input#minimum, input#ttl { width: 50px !important; }
-
-        /* --- */
-
-        a[href $='#logout'] { padding-right: 18px; background: transparent url("../../icons/x16/logout.png") no-repeat right top !important;	}
-
-        /* Select Menu with Images */
-        select.withicons option {
-                background-repeat:no-repeat;
-                background-position: 1px;
-                padding-left:24px;
-        }	
-        select.flags option {
-            background-image: url("../../icons/flags_sprite.png");
-            background-repeat: no-repeat;
-            padding: 1px 0 1px 30px;
-        }
-
-        select.flags option[value=EL] {background-position:0 -1475px}
-        select.flags option[value=AD], select.flags option[value=ad] {background-position:0 -1px}
-        select.flags option[value=AE], select.flags option[value=ae] {background-position:0 -23px}
-        select.flags option[value=AF], select.flags option[value=af] {background-position:0 -45px}
-        select.flags option[value=AG], select.flags option[value=ag] {background-position:0 -67px}
-        select.flags option[value=AI], select.flags option[value=ai] {background-position:0 -89px}
-        select.flags option[value=AL], select.flags option[value=al] {background-position:0 -111px}
-        select.flags option[value=AM], select.flags option[value=am] {background-position:0 -133px}
-        select.flags option[value=AN], select.flags option[value=an] {background-position:0 -155px}
-        select.flags option[value=AO], select.flags option[value=ao] {background-position:0 -177px}
-        select.flags option[value=AQ], select.flags option[value=aq] {background-position:0 -199px}
-        select.flags option[value=AR], select.flags option[value=ar] {background-position:0 -221px}
-        select.flags option[value=AS], select.flags option[value=as] {background-position:0 -243px}
-        select.flags option[value=AT], select.flags option[value=at] {background-position:0 -265px}
-        select.flags option[value=AU], select.flags option[value=au] {background-position:0 -287px}
-        select.flags option[value=AW], select.flags option[value=aw] {background-position:0 -309px}
-        select.flags option[value=AX], select.flags option[value=ax] {background-position:0 -331px}
-        select.flags option[value=AZ], select.flags option[value=az] {background-position:0 -353px}
-        select.flags option[value=BA], select.flags option[value=ba] {background-position:0 -375px}
-        select.flags option[value=BB], select.flags option[value=bb] {background-position:0 -397px}
-        select.flags option[value=BD], select.flags option[value=bd] {background-position:0 -419px}
-        select.flags option[value=BE], select.flags option[value=be] {background-position:0 -441px}
-        select.flags option[value=BF], select.flags option[value=bf] {background-position:0 -463px}
-        select.flags option[value=BG], select.flags option[value=bg] {background-position:0 -485px}
-        select.flags option[value=BH], select.flags option[value=bh] {background-position:0 -507px}
-        select.flags option[value=BI], select.flags option[value=bi] {background-position:0 -529px}
-        select.flags option[value=BJ], select.flags option[value=bj] {background-position:0 -551px}
-        select.flags option[value=BM], select.flags option[value=bm] {background-position:0 -573px}
-        select.flags option[value=BN], select.flags option[value=bn] {background-position:0 -595px}
-        select.flags option[value=BO], select.flags option[value=bo] {background-position:0 -617px}
-        select.flags option[value=BR], select.flags option[value=br] {background-position:0 -639px}
-        select.flags option[value=BS], select.flags option[value=bs] {background-position:0 -661px}
-        select.flags option[value=BT], select.flags option[value=bt] {background-position:0 -683px}
-        select.flags option[value=BV], select.flags option[value=bv] {background-position:0 -705px}
-        select.flags option[value=BW], select.flags option[value=bw] {background-position:0 -727px}
-        select.flags option[value=BY], select.flags option[value=by] {background-position:0 -749px}
-        select.flags option[value=BZ], select.flags option[value=bz] {background-position:0 -771px}
-        select.flags option[value=CA], select.flags option[value=ca] {background-position:0 -793px}
-        select.flags option[value=CC], select.flags option[value=cc] {background-position:0 -837px}
-        select.flags option[value=CD], select.flags option[value=cd] {background-position:0 -859px}
-        select.flags option[value=CF], select.flags option[value=cf] {background-position:0 -881px}
-        select.flags option[value=CG], select.flags option[value=cg] {background-position:0 -903px}
-        select.flags option[value=CH], select.flags option[value=ch] {background-position:0 -925px}
-        select.flags option[value=CI], select.flags option[value=ci] {background-position:0 -947px}
-        select.flags option[value=CK], select.flags option[value=ck] {background-position:0 -969px}
-        select.flags option[value=CL], select.flags option[value=cl] {background-position:0 -991px}
-        select.flags option[value=CM], select.flags option[value=cm] {background-position:0 -1013px}
-        select.flags option[value=CN], select.flags option[value=cn] {background-position:0 -1035px}
-        select.flags option[value=CO], select.flags option[value=co] {background-position:0 -1057px}
-        select.flags option[value=CR], select.flags option[value=cr] {background-position:0 -1079px}
-        select.flags option[value=CS], select.flags option[value=cs] {background-position:0 -1101px}
-        select.flags option[value=CU], select.flags option[value=cu] {background-position:0 -1123px}
-        select.flags option[value=CV], select.flags option[value=cv] {background-position:0 -1145px}
-        select.flags option[value=CX], select.flags option[value=cx] {background-position:0 -1167px}
-        select.flags option[value=CY], select.flags option[value=cy] {background-position:0 -1189px}
-        select.flags option[value=CZ], select.flags option[value=cz] {background-position:0 -1211px}
-        select.flags option[value=DE], select.flags option[value=de] {background-position:0 -1233px}
-        select.flags option[value=DJ], select.flags option[value=dj] {background-position:0 -1255px}
-        select.flags option[value=DK], select.flags option[value=dk] {background-position:0 -1277px}
-        select.flags option[value=DM], select.flags option[value=dm] {background-position:0 -1299px}
-        select.flags option[value=DO], select.flags option[value=do] {background-position:0 -1321px}
-        select.flags option[value=DZ], select.flags option[value=dz] {background-position:0 -1343px}
-        select.flags option[value=EC], select.flags option[value=ec] {background-position:0 -1365px}
-        select.flags option[value=EE], select.flags option[value=ee] {background-position:0 -1387px}
-        select.flags option[value=EG], select.flags option[value=eg] {background-position:0 -1409px}
-        select.flags option[value=EH], select.flags option[value=eh] {background-position:0 -1431px}
-        select.flags option[value=ER], select.flags option[value=er] {background-position:0 -1497px}
-        select.flags option[value=ES], select.flags option[value=ET], select.flags option[value=es], select.flags option[value=et] {background-position:0 -1519px}
-        select.flags option[value=FI], select.flags option[value=fi] {background-position:0 -1585px}
-        select.flags option[value=FJ], select.flags option[value=fj] {background-position:0 -1607px}
-        select.flags option[value=FK], select.flags option[value=fk] {background-position:0 -1629px}
-        select.flags option[value=FM], select.flags option[value=fm] {background-position:0 -1651px}
-        select.flags option[value=FO], select.flags option[value=fo] {background-position:0 -1673px}
-        select.flags option[value=FR], select.flags option[value=fr] {background-position:0 -1695px}
-        select.flags option[value=GA], select.flags option[value=ga] {background-position:0 -1717px}
-        select.flags option[value=GB], select.flags option[value=en], select.flags option[value=gb] {background-position:0 -1739px}
-        select.flags option[value=GD], select.flags option[value=gd] {background-position:0 -1761px}
-        select.flags option[value=GE], select.flags option[value=ge] {background-position:0 -1783px}
-        select.flags option[value=GF], select.flags option[value=gf] {background-position:0 -1805px}
-        select.flags option[value=GH], select.flags option[value=gh] {background-position:0 -1827px}
-        select.flags option[value=GI], select.flags option[value=gi] {background-position:0 -1849px}
-        select.flags option[value=GL], select.flags option[value=gl] {background-position:0 -1871px}
-        select.flags option[value=GM], select.flags option[value=gm] {background-position:0 -1893px}
-        select.flags option[value=GN], select.flags option[value=gn] {background-position:0 -1915px}
-        select.flags option[value=GP], select.flags option[value=gp] {background-position:0 -1937px}
-        select.flags option[value=GQ], select.flags option[value=gq] {background-position:0 -1959px}
-        select.flags option[value=GR], select.flags option[value=el], select.flags option[value=gr] {background-position:0 -1981px}
-        select.flags option[value=GS], select.flags option[value=gs] {background-position:0 -2003px}
-        select.flags option[value=GT], select.flags option[value=gt] {background-position:0 -2025px}
-        select.flags option[value=GU], select.flags option[value=gu] {background-position:0 -2047px}
-        select.flags option[value=GW], select.flags option[value=gw] {background-position:0 -2069px}
-        select.flags option[value=GY], select.flags option[value=gy] {background-position:0 -2091px}
-        select.flags option[value=HK], select.flags option[value=hk] {background-position:0 -2113px}
-        select.flags option[value=HM], select.flags option[value=hm] {background-position:0 -2135px}
-        select.flags option[value=HN], select.flags option[value=hn] {background-position:0 -2157px}
-        select.flags option[value=HR], select.flags option[value=hr] {background-position:0 -2179px}
-        select.flags option[value=HT], select.flags option[value=ht] {background-position:0 -2201px}
-        select.flags option[value=HU], select.flags option[value=hu] {background-position:0 -2223px}
-        select.flags option[value=ID], select.flags option[value=id] {background-position:0 -2245px}
-        select.flags option[value=IE], select.flags option[value=ie] {background-position:0 -2267px}
-        select.flags option[value=IL], select.flags option[value=il] {background-position:0 -2289px}
-        select.flags option[value=IN], select.flags option[value=in] {background-position:0 -2311px}
-        select.flags option[value=IO], select.flags option[value=io] {background-position:0 -2333px}
-        select.flags option[value=IQ], select.flags option[value=iq] {background-position:0 -2355px}
-        select.flags option[value=IR], select.flags option[value=ir] {background-position:0 -2377px}
-        select.flags option[value=IS], select.flags option[value=is] {background-position:0 -2399px}
-        select.flags option[value=IT], select.flags option[value=it] {background-position:0 -2421px}
-        select.flags option[value=JM], select.flags option[value=jm] {background-position:0 -2443px}
-        select.flags option[value=JO], select.flags option[value=jo] {background-position:0 -2465px}
-        select.flags option[value=JP], select.flags option[value=ja], select.flags option[value=jp] {background-position:0 -2487px}
-        select.flags option[value=KE], select.flags option[value=ke] {background-position:0 -2509px}
-        select.flags option[value=KG], select.flags option[value=kg] {background-position:0 -2531px}
-        select.flags option[value=KH], select.flags option[value=kh] {background-position:0 -2553px}
-        select.flags option[value=KI], select.flags option[value=ki] {background-position:0 -2575px}
-        select.flags option[value=KM], select.flags option[value=km] {background-position:0 -2597px}
-        select.flags option[value=KN], select.flags option[value=kn] {background-position:0 -2619px}
-        select.flags option[value=KP], select.flags option[value=kp] {background-position:0 -2641px}
-        select.flags option[value=KR], select.flags option[value=kr] {background-position:0 -2663px}
-        select.flags option[value=KW], select.flags option[value=kw] {background-position:0 -2685px}
-        select.flags option[value=KY], select.flags option[value=ky] {background-position:0 -2707px}
-        select.flags option[value=KZ], select.flags option[value=kz] {background-position:0 -2729px}
-        select.flags option[value=LA], select.flags option[value=la] {background-position:0 -2751px}
-        select.flags option[value=LB], select.flags option[value=lb] {background-position:0 -2773px}
-        select.flags option[value=LC], select.flags option[value=lc] {background-position:0 -2795px}
-        select.flags option[value=LI], select.flags option[value=li] {background-position:0 -2817px}
-        select.flags option[value=LK], select.flags option[value=lk] {background-position:0 -2839px}
-        select.flags option[value=LR], select.flags option[value=lr] {background-position:0 -2861px}
-        select.flags option[value=LS], select.flags option[value=ls] {background-position:0 -2883px}
-        select.flags option[value=LT], select.flags option[value=lt] {background-position:0 -2905px}
-        select.flags option[value=LU], select.flags option[value=lu] {background-position:0 -2927px}
-        select.flags option[value=LV], select.flags option[value=lv] {background-position:0 -2949px}
-        select.flags option[value=LY], select.flags option[value=ly] {background-position:0 -2971px}
-        select.flags option[value=MA], select.flags option[value=ma] {background-position:0 -2993px}
-        select.flags option[value=MC], select.flags option[value=mc] {background-position:0 -3015px}
-        select.flags option[value=MD], select.flags option[value=md] {background-position:0 -3037px}
-        select.flags option[value=ME], select.flags option[value=me] {background-position:0 -3059px}
-        select.flags option[value=MG], select.flags option[value=mg] {background-position:0 -3081px}
-        select.flags option[value=MH], select.flags option[value=mh] {background-position:0 -3103px}
-        select.flags option[value=MK], select.flags option[value=mk] {background-position:0 -3125px}
-        select.flags option[value=ML], select.flags option[value=ml] {background-position:0 -3147px}
-        select.flags option[value=MM], select.flags option[value=mm] {background-position:0 -3169px}
-        select.flags option[value=MN], select.flags option[value=mn] {background-position:0 -3191px}
-        select.flags option[value=MO], select.flags option[value=mo] {background-position:0 -3213px}
-        select.flags option[value=MP], select.flags option[value=mp] {background-position:0 -3235px}
-        select.flags option[value=MQ], select.flags option[value=mq] {background-position:0 -3257px}
-        select.flags option[value=MR], select.flags option[value=mr] {background-position:0 -3279px}
-        select.flags option[value=MS], select.flags option[value=ms] {background-position:0 -3301px}
-        select.flags option[value=MT], select.flags option[value=mt] {background-position:0 -3323px}
-        select.flags option[value=MU], select.flags option[value=mu] {background-position:0 -3345px}
-        select.flags option[value=MV], select.flags option[value=mv] {background-position:0 -3367px}
-        select.flags option[value=MW], select.flags option[value=mw] {background-position:0 -3389px}
-        select.flags option[value=MX], select.flags option[value=mx] {background-position:0 -3411px}
-        select.flags option[value=MY], select.flags option[value=my] {background-position:0 -3433px}
-        select.flags option[value=MZ], select.flags option[value=mz] {background-position:0 -3455px}
-        select.flags option[value=NA], select.flags option[value=na] {background-position:0 -3477px}
-        select.flags option[value=NC], select.flags option[value=nc] {background-position:0 -3499px}
-        select.flags option[value=NE], select.flags option[value=ne] {background-position:0 -3521px}
-        select.flags option[value=NF], select.flags option[value=nf] {background-position:0 -3543px}
-        select.flags option[value=NG], select.flags option[value=ng] {background-position:0 -3565px}
-        select.flags option[value=NI], select.flags option[value=ni] {background-position:0 -3587px}
-        select.flags option[value=NL], select.flags option[value=nl] {background-position:0 -3609px}
-        select.flags option[value=NO], select.flags option[value=no] {background-position:0 -3631px}
-        select.flags option[value=NP], select.flags option[value=np] {background-position:0 -3653px}
-        select.flags option[value=NR], select.flags option[value=nr] {background-position:0 -3675px}
-        select.flags option[value=NU], select.flags option[value=nu] {background-position:0 -3697px}
-        select.flags option[value=NZ], select.flags option[value=nz] {background-position:0 -3719px}
-        select.flags option[value=OM], select.flags option[value=om] {background-position:0 -3741px}
-        select.flags option[value=PA], select.flags option[value=pa] {background-position:0 -3763px}
-        select.flags option[value=PE], select.flags option[value=pe] {background-position:0 -3785px}
-        select.flags option[value=PF], select.flags option[value=pf] {background-position:0 -3807px}
-        select.flags option[value=PG], select.flags option[value=pg] {background-position:0 -3829px}
-        select.flags option[value=PH], select.flags option[value=ph] {background-position:0 -3851px}
-        select.flags option[value=PK], select.flags option[value=pk] {background-position:0 -3873px}
-        select.flags option[value=PL], select.flags option[value=pl] {background-position:0 -3895px}
-        select.flags option[value=PM], select.flags option[value=pm] {background-position:0 -3917px}
-        select.flags option[value=PN], select.flags option[value=pn] {background-position:0 -3939px}
-        select.flags option[value=PR], select.flags option[value=pr] {background-position:0 -3961px}
-        select.flags option[value=PS], select.flags option[value=ps] {background-position:0 -3983px}
-        select.flags option[value=PT], select.flags option[value=pt] {background-position:0 -4005px}
-        select.flags option[value=PW], select.flags option[value=pw] {background-position:0 -4027px}
-        select.flags option[value=PY], select.flags option[value=py] {background-position:0 -4049px}
-        select.flags option[value=QA], select.flags option[value=qa] {background-position:0 -4071px}
-        select.flags option[value=RE], select.flags option[value=re] {background-position:0 -4093px}
-        select.flags option[value=RO], select.flags option[value=ro] {background-position:0 -4115px}
-        select.flags option[value=RS], select.flags option[value=rs] {background-position:0 -4137px}
-        select.flags option[value=RU], select.flags option[value=ru] {background-position:0 -4159px}
-        select.flags option[value=RW], select.flags option[value=rw] {background-position:0 -4181px}
-        select.flags option[value=SA], select.flags option[value=sa] {background-position:0 -4203px}
-        select.flags option[value=SB], select.flags option[value=sb] {background-position:0 -4225px}
-        select.flags option[value=SC], select.flags option[value=sc] {background-position:0 -4247px}
-        select.flags option[value=SD], select.flags option[value=sd] {background-position:0 -4291px}
-        select.flags option[value=SE], select.flags option[value=se] {background-position:0 -4313px}
-        select.flags option[value=SG], select.flags option[value=sg] {background-position:0 -4335px}
-        select.flags option[value=SH], select.flags option[value=sh] {background-position:0 -4357px}
-        select.flags option[value=SI], select.flags option[value=si] {background-position:0 -4379px}
-        select.flags option[value=SJ], select.flags option[value=sj] {background-position:0 -4401px}
-        select.flags option[value=SK], select.flags option[value=sk] {background-position:0 -4423px}
-        select.flags option[value=SL], select.flags option[value=sl] {background-position:0 -4445px}
-        select.flags option[value=SM], select.flags option[value=sm] {background-position:0 -4467px}
-        select.flags option[value=SN], select.flags option[value=sn] {background-position:0 -4489px}
-        select.flags option[value=SO], select.flags option[value=so] {background-position:0 -4511px}
-        select.flags option[value=SR], select.flags option[value=sr] {background-position:0 -4533px}
-        select.flags option[value=ST], select.flags option[value=st] {background-position:0 -4555px}
-        select.flags option[value=SV], select.flags option[value=sv] {background-position:0 -4577px}
-        select.flags option[value=SY], select.flags option[value=sy] {background-position:0 -4599px}
-        select.flags option[value=SZ], select.flags option[value=sz] {background-position:0 -4621px}
-        select.flags option[value=TC], select.flags option[value=tc] {background-position:0 -4643px}
-        select.flags option[value=TD], select.flags option[value=td] {background-position:0 -4665px}
-        select.flags option[value=TF], select.flags option[value=tf] {background-position:0 -4687px}
-        select.flags option[value=TG], select.flags option[value=tg] {background-position:0 -4709px}
-        select.flags option[value=TH], select.flags option[value=th] {background-position:0 -4731px}
-        select.flags option[value=TJ], select.flags option[value=tj] {background-position:0 -4753px}
-        select.flags option[value=TK], select.flags option[value=tk] {background-position:0 -4775px}
-        select.flags option[value=TL], select.flags option[value=tl] {background-position:0 -4797px}
-        select.flags option[value=TM], select.flags option[value=tm] {background-position:0 -4819px}
-        select.flags option[value=TN], select.flags option[value=tn] {background-position:0 -4841px}
-        select.flags option[value=TO], select.flags option[value=to] {background-position:0 -4863px}
-        select.flags option[value=TR], select.flags option[value=tr] {background-position:0 -4885px}
-        select.flags option[value=TT], select.flags option[value=tt] {background-position:0 -4907px}
-        select.flags option[value=TV], select.flags option[value=tv] {background-position:0 -4929px}
-        select.flags option[value=TW], select.flags option[value=tw] {background-position:0 -4951px}
-        select.flags option[value=TZ], select.flags option[value=tz] {background-position:0 -4973px}
-        select.flags option[value=UA], select.flags option[value=ua] {background-position:0 -4995px}
-        select.flags option[value=UG], select.flags option[value=ug] {background-position:0 -5017px}
-        select.flags option[value=UM], select.flags option[value=um] {background-position:0 -5039px}
-        select.flags option[value=US], select.flags option[value=us] {background-position:0 -5061px}
-        select.flags option[value=UY], select.flags option[value=uy] {background-position:0 -5083px}
-        select.flags option[value=UZ], select.flags option[value=uz] {background-position:0 -5105px}
-        select.flags option[value=VA], select.flags option[value=va] {background-position:0 -5127px}
-        select.flags option[value=VC], select.flags option[value=vc] {background-position:0 -5149px}
-        select.flags option[value=VE], select.flags option[value=ve] {background-position:0 -5171px}
-        select.flags option[value=VG], select.flags option[value=vg] {background-position:0 -5193px}
-        select.flags option[value=VI], select.flags option[value=vi] {background-position:0 -5215px}
-        select.flags option[value=VN], select.flags option[value=vn] {background-position:0 -5237px}
-        select.flags option[value=VU], select.flags option[value=vu] {background-position:0 -5259px}
-        select.flags option[value=WF], select.flags option[value=wf] {background-position:0 -5303px}
-        select.flags option[value=WS], select.flags option[value=ws] {background-position:0 -5325px}
-        select.flags option[value=YE], select.flags option[value=ye] {background-position:0 -5347px}
-        select.flags option[value=YT], select.flags option[value=yt] {background-position:0 -5369px}
-        select.flags option[value=ZA], select.flags option[value=za] {background-position:0 -5391px}
-        select.flags option[value=ZM], select.flags option[value=zm] {background-position:0 -5413px}
-        select.flags option[value=ZW], select.flags option[value=zw] {background-position:0 -5435px}
-	
-	.panel_login {
-		max-width: 80%;
-		min-width: 680px;
-	}
-	
-	div.subsectiontoggle {
-		border:1px solid #ccc;
-		font-weight:bold;
-		font-size:14px;
-		padding-top:10px;
-		padding-bottom:0;
-		margin-top:5px;
-		text-indent:15px;
-		cursor:pointer;
-		margin-bottom:10px;
-		background-color:#f4f4f4;
-		-moz-border-radius:5px;
-		-webkit-border-radius:5px;
-		-khtml-border-radius:5px;
-		-o-border-radius:5px;
-		-ms-border-radius:5px;
-		border-radius:5px;
-	}
-	div.subsectiontoggle span{
-		display:inline-block;
-		margin-bottom:-3px;
-		margin-right:10px;
-		width:16px;
-		height:16px;
-		background:url("../../icons/x16/plus_circle_frame.png") top left no-repeat;
-	}
-	div.subsectiontoggle span.showing{
-		background:url("../../icons/x16/minus_circle_frame.png") top left no-repeat;
-	}
-	div.subsectiontoggle em{
-		display:block;
-		position:relative;
-		left:425px;
-		top:-13px;
-		margin-bottom:-3px;
-		width:13px;
-		height:13px;
-		background:url("../../images/chevron.png") top left no-repeat;
-		-webkit-transform:none;
-		-moz-transform:none;
-		-khtml-transform:none;
-		-o-transform:none;
-		-ms-transform:none;
-		transform:none;
-		-webkit-transition-duration: .2s;
-		-moz-transition-duration: .2s;
-		-khtml-transition-duration: .2s;
-		-o-transition-duration: .2s;
-		-ms-transition-duration: .2s;
-		transition-duration: .2s;
-		-webkit-transition-property: -webkit-transform;
-		-moz-transition-property: -moz-transform;
-		-khtml-transition-property: -khtml-transform;
-		-o-transition-property: -o-transform;
-		-ms-transition-property: -ms-transform;
-		transition-property: transform;
-	}
-	div.subsectiontoggle em.showing{
-		display:block;
-		position:relative;
-		left:425px;
-		top:-13px;
-		background:url("../../images/chevron.png") top left no-repeat;
-		width:13px;
-		height:13px;
-		-webkit-transform:rotate(90deg);
-		-moz-transform:rotate(90deg);
-		-khtml-transform:rotate(90deg);
-		-o-transform:rotate(90deg);
-		-ms-transform:rotate(90deg);
-		transform:rotate(90deg);
-	}
-	div.subsectiontoggle:hover em{
-		-webkit-transform:rotate(90deg);
-		-moz-transform:rotate(90deg);
-		-khtml-transform:rotate(90deg);
-		-o-transform:rotate(90deg);
-		-ms-transform:rotate(90deg);
-		transform:rotate(90deg);
-	}
-	
-	div.gs-container{
-		margin-top:10px;
-	}
-	div.gs-container *{
-		margin: 0;
-		padding: 0;
-		background-position: 0 0;
-		text-decoration: none;
-		font-size: 1em;
-	}
-	div.gs-container input{
-                background: url("../../icons/x16/magnifier_left.png") no-repeat 4px 3px #FFFFFF;
-		height:20px;
-		border:1px solid #444;
-		padding:0 22px 2px;
-		color:#444;
-		-moz-border-radius:5px;
-		-webkit-border-radius:5px;
-		-khtml-border-radius:5px;
-		-o-border-radius:5px;
-		-ms-border-radius:5px;
-		border-radius:5px;
-	}
-	input.gs-loading{
-		background-image: url("../../icons/x16/loading.gif");
-		background-repeat: no-repeat;
-		background-position: center right;
-	}
-	ul.gs-resultbox{
-		margin: 0 !important;
-		padding: 0 !important;
-		width: 300px;
-		z-index: 999999;
-		border: 1px solid #777;
-		font-size: 11px;
-		background: #fff;
-		-moz-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-webkit-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-khtml-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-o-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-ms-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		box-shadow: 2px 2px 5px 0 #c5c5c5;
-		list-style: none;
-		-moz-border-radius:5px;
-		-webkit-border-radius:5px;
-		-khtml-border-radius:5px;
-		-o-border-radius:5px;
-		-ms-border-radius:5px;
-		border-radius:5px;
-                max-height:500px;
-                overflow:auto;
-	}
-	ul.gs-resultbox li{
-		float: left;
-		width: 100%;
-		clear: both;
-		cursor: pointer;
-	}
-	ul.gs-resultbox li.gs-cheader{
-		height: 13px;
-		overflow: hidden;
-		padding: 5px 0;
-		color: #fff;
-		background: #6ea6d1;
-		cursor:default;
-		padding-bottom:10px;
-	}
-	ul.gs-resultbox li.gs-cheader p.gs-cheader-title{
-		margin: 0 !important;
-		padding: 0 0 0 10px !important;
-		float: left;
-		font-size: 12px;
-		font-weight: bold;
-	}
-	ul.gs-resultbox li.gs-cheader p.gs-cheader-limit{
-		margin: 0 !important;
-		padding: 0 10px 0 0 !important;
-		float: right;
-		font-size: 11px;
-		font-weight: normal;
-	}
-	ul.gs-resultbox li.gs-cdata{
-		margin: 0 !important;
-		padding: 0 !important;
-		border-bottom: 1px solid #c5c5c5;
-	}
-	ul.gs-resultbox li.gs-cdata:last-child{
-		border-bottom: none;
-	}
-	ul.gs-resultbox li.gs-cdata:hover{
-		background: #eaf4fd;
-	}
-	ul.gs-resultbox li.gs-cdata a{
-		display: block;
-		padding: 5px 10px;
-		text-decoration: none !important;
-		background: #fff;
-	}
-	ul.gs-resultbox li.gs-cdata a:hover{
-		background: #cde0ff;
-	}
-	ul.gs-resultbox li.gs-cdata img{
-		margin-right: 12px;
-	}
-	ul.gs-resultbox li.gs-cdata p{
-		margin: 0 !important;
-		padding: 0 !important;
-		color: #444;
-		font-size: 10px;
-		min-height:30px;
-	}
-	ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{
-		display: inline !important;
-		margin: 0 !important;
-		padding: 0 !important;
-		font-size: 11px;
-		font-weight: bold;
-		color: #000;
-	}
-	ul.gs-resultbox li:first-child{
-		-moz-border-radius:5px 5px 0 0;
-		-webkit-border-radius:5px 5px 0 0;
-		-khtml-border-radius:5px 5px 0 0;
-		-o-border-radius:5px 5px 0 0;
-		-ms-border-radius:5px 5px 0 0;
-		border-radius:5px 5px 0 0;
-	}
-	ul.gs-resultbox li:last-child{
-		-moz-border-radius:0 0 5px 5px;
-		-webkit-border-radius:0 0 5px 5px;
-		-khtml-border-radius:0 0 5px 5px;
-		-o-border-radius:0 0 5px 5px;
-		-ms-border-radius:0 0 5px 5px;
-		border-radius:0 0 5px 5px;
-	}
-	
-	div.df-container{
-	}
-	div.df-container *{
-		margin: 0;
-		padding: 0;
-		background-position: 0 0;
-		text-decoration: none;
-		font-size: 1em;
-	}
-	div.df-container input{
-	}
-	input.df-loading{
-		background-image: url("../../icons/x16/loading.gif");
-		background-repeat: no-repeat;
-		background-position: center right;
-	}
-	ul.df-resultbox{
-		margin: 0 !important;
-		padding: 0 !important;
-		min-width: 250px;
-		max-width: 500px;
-		z-index: 999999;
-		border: 1px solid #777;
-		font-size: 11px;
-		background: #fff;
-		-moz-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-webkit-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-khtml-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-o-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		-ms-box-shadow: 2px 2px 5px 0 #c5c5c5;
-		box-shadow: 2px 2px 5px 0 #c5c5c5;
-		list-style: none;
-		-moz-border-radius:5px;
-		-webkit-border-radius:5px;
-		-khtml-border-radius:5px;
-		-o-border-radius:5px;
-		-ms-border-radius:5px;
-		border-radius:5px;
-	}
-	ul.df-resultbox li{
-		float: left;
-		width: 100%;
-		clear: both;
-		cursor: pointer;
-	}
-	ul.df-resultbox li.df-cheader{
-		height: 13px;
-		overflow: hidden;
-		padding: 5px 0;
-		color: #fff;
-		background: #6ea6d1;
-		cursor:default;
-		padding-bottom:10px;
-	}
-	ul.df-resultbox li.df-cheader p.df-cheader-title{
-		margin: 0 !important;
-		padding: 0 0 0 10px !important;
-		float: left;
-		font-size: 12px;
-		font-weight: bold;
-	}
-	ul.df-resultbox li.df-cheader p.df-cheader-limit{
-		margin: 0 !important;
-		padding: 0 10px 0 0 !important;
-		float: right;
-		font-size: 11px;
-		font-weight: normal;
-	}
-	ul.df-resultbox li.df-cdata{
-		margin: 0 !important;
-		padding: 0 !important;
-		border-bottom: 1px solid #c5c5c5;
-	}
-	ul.df-resultbox li.df-cdata:last-child{
-		border-bottom: none;
-	}
-	ul.df-resultbox li.df-cdata:hover{
-		background: #eaf4fd;
-	}
-	ul.df-resultbox li.df-cdata a{
-		display: block;
-		padding: 5px 10px;
-		text-decoration: none !important;
-		background: #fff;
-	}
-	ul.df-resultbox li.df-cdata a:hover{
-		background: #cde0ff;
-	}
-	ul.df-resultbox li.df-cdata img{
-		margin-right: 12px;
-	}
-	ul.df-resultbox li.df-cdata p{
-		margin: 0 !important;
-		padding: 0 !important;
-		color: #444;
-		font-size: 10px;
-		min-height:30px;
-	}
-	ul.df-resultbox li.df-cdata p span.df-cdata-title{
-		display: inline !important;
-		margin: 0 !important;
-		padding: 0 !important;
-		font-size: 11px;
-		font-weight: bold;
-		color: #000;
-	}
-	ul.df-resultbox li:first-child{
-		-moz-border-radius:5px 5px 0 0;
-		-webkit-border-radius:5px 5px 0 0;
-		-khtml-border-radius:5px 5px 0 0;
-		-o-border-radius:5px 5px 0 0;
-		-ms-border-radius:5px 5px 0 0;
-		border-radius:5px 5px 0 0;
-	}
-	ul.df-resultbox li:last-child{
-		-moz-border-radius:0 0 5px 5px;
-		-webkit-border-radius:0 0 5px 5px;
-		-khtml-border-radius:0 0 5px 5px;
-		-o-border-radius:0 0 5px 5px;
-		-ms-border-radius:0 0 5px 5px;
-		border-radius:0 0 5px 5px;
-	}
-	
-	span.icons16-empty{
-		float:left;
-		display:block;
-		height:20px;
-		width:20px;
-		margin:0 7px 0 0;
-	}
-	
-	.ttip{
-		width:16px;
-		height:16px;
-		cursor:pointer;
-		background: url("../../icons/x16/question_frame.png") no-repeat center center;
-		float:right;
-		display:inline;
-		position:relative;
-		right:-2px;
-		top:-2px;
-	}
-        
-        p.prefix {
-            float: left;
-            margin: 0;
-            text-align: right;
-        }
-        p.label {
-            float: left;
-            margin: 5px 15px 0 0;
-        }
-        p.value {
-            float:left;
-            margin: 0 0 0 2px;
-        }
-        select.search_limit {
-            width: 50px;
-        }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/jquery-ui-custom.css b/interface/web/themes/default-304/css/screen/jquery-ui-custom.css
deleted file mode 100644
index a90d8b9874..0000000000
--- a/interface/web/themes/default-304/css/screen/jquery-ui-custom.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.ui-datepicker-calendar thead tr th {
-	background-image:none;
-	background-color:#FFFFFF;
-	color:#000000;
-}
-.ui-widget { font-family: 'Trebuchet MS', Arial, sans-serif; font-size: 100%; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: 'Trebuchet MS', Arial, sans-serif; font-size: 100%; }
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100644
index 5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 180
zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^
z$vje}<irI&an_s0pV!D+$FtuP31JO&3=I&aE+u|=5A)Hv$*VMh&S3C#^>bP0l+XkK
DSH>_4

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png
deleted file mode 100644
index 47acaadd737478ddb090f47f618810712163317b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*Fsaj7L$B>N1x91EQ8x$BA993)+
za~~)OO5|O5sDCi_{N8&XlRv*c;OQ6|AR59NN?mFzWBXJVGojypu|S6~c)I$ztaD0e
F0syyrGF|`x

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
deleted file mode 100644
index 9fb564f8d0a117f17aa6b844490309dadbd94821..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 124
zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq?|on978O6-=0_GYj6;7zWBfT
zzjhI`OjAO{6(N>+Em!s|xjZW|^1EO|(5d{JeUmv{p6fa-GJh;t>KCH4`R~7(L8qj}
Y_egNRQF(If70@^aPgg&ebxsLQ0Qgob)Bpeg

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
deleted file mode 100644
index 014951529c315d6042e72febc310a4d2db5b4a82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 123
zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq?|lm978O6-<~(*YA_IRxoBVf
zfAX@vsV!R#l$@#*eLnw)_Sv|_?i7P!ORnX)SxaXh+BPpZ!Fw~yjr&#G|Jw^YMHDhV
X&EsZx`7bsSXc~j3tDnm{r-UW|&(SK+

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
deleted file mode 100644
index 4443fdc1a156babad4336f004eaf5ca5dfa0f9ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 119
zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hIh978O6-<~(*YA|4MzBvER
z|7}eQtdCVXoUc2b{PaWeaIKu7gJx>{vDV26o)#~38&#8k_!`W=^oo1w6ixmPC4R1b
Tyd6G3lNdZ*{an^LB{Ts5`idse

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
deleted file mode 100644
index 81ecc362d50ef5abbc0420aacd5345822f1f6098..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3457
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
POMny9)vos2J3syt(aqlh

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
deleted file mode 100644
index 4f3faf8aa8b1054ef1b18b80ab58f670b406a794..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 104
zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l)k5nV~E7m<R8BtKd)C~V`FPe
z^ffRtGB7YSFfcMOd?b?G;%#7X=!+3wPjRL<14F_FmL0`{@$Z0I89ZJ6T-G@yGywp_
Co*P~O

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
deleted file mode 100644
index 38c38335d0919ceb7b0dd09e88a86be90a966ef3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 88
zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l)R^lV~E7m<R72EzpqzgV`FO*
mbT@c3B{fBc=iOpSMuu`pmi>1R+}Z$C%HZkh=d#Wzp$Pz8A{XNT

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png
deleted file mode 100644
index 6f4bd87c041453ef037c4a9a1a698f0105d02eba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png
deleted file mode 100644
index 09d1cdc856c292c4ab6dd818c7543ac0828bd616..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png
deleted file mode 100644
index bd2cf079add1ca236adeb509698adabbffb08acb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png
deleted file mode 100644
index 9f3eafaab0f048da81e1e072c3091282742c4980..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100644
index 2ab019b73ec11a485fa09378f3a0e155194f6a5d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png
deleted file mode 100644
index ad2dc6f9dbeeabbda9ae6917659b6df07817ec35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4369
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

diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png
deleted file mode 100644
index c7c53cb11904843e176e4ce1f4e7247cd90b3590..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5355
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
W`?Hm7LpJ~Km-$3pU#(WfA?ANr)k-=5

diff --git a/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css b/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css
deleted file mode 100644
index e3e05d1d9e..0000000000
--- a/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * jQuery UI CSS Framework 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
-.ui-helper-clearfix { display: inline-block; }
-/* required comment for clearfix to work in Opera \*/
-* html .ui-helper-clearfix { height:1%; }
-.ui-helper-clearfix { display:block; }
-/* end clearfix */
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-
-
-/*
- * jQuery UI CSS Framework 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=0px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=0px
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }
-.ui-widget .ui-widget { font-size: 1em; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
-.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; }
-.ui-widget-content a { color: #222222; }
-.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
-.ui-widget-header a { color: #ffffff; }
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; }
-.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; }
-.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; }
-.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; }
-.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; }
-.ui-widget :active { outline: none; }
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
-.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
-.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
-.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
-.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
-.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
-.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
-.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
-.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
-.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
-.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
-.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
-.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
-.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
-.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
-
-/* positioning */
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-off { background-position: -96px -144px; }
-.ui-icon-radio-on { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-
-/* Overlays */
-.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
-.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }/*
- * jQuery UI Autocomplete 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete#theming
- */
-.ui-autocomplete { position: absolute; cursor: default; }
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-/*
- * jQuery UI Menu 1.8.16
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Menu#theming
- */
-.ui-menu {
-	list-style:none;
-	padding: 2px;
-	margin: 0;
-	display:block;
-	float: left;
-}
-.ui-menu .ui-menu {
-	margin-top: -3px;
-}
-.ui-menu .ui-menu-item {
-	margin:0;
-	padding: 0;
-	zoom: 1;
-	float: left;
-	clear: left;
-	width: 100%;
-}
-.ui-menu .ui-menu-item a {
-	text-decoration:none;
-	display:block;
-	padding:.2em .4em;
-	line-height:1.5;
-	zoom:1;
-}
-.ui-menu .ui-menu-item a.ui-state-hover,
-.ui-menu .ui-menu-item a.ui-state-active {
-	font-weight: normal;
-	margin: -1px;
-}
-/*
- * jQuery UI Button 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Button#theming
- */
-.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
-.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
-button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
-.ui-button-icons-only { width: 3.4em; }
-button.ui-button-icons-only { width: 3.7em; }
-
-/*button text element */
-.ui-button .ui-button-text { display: block; line-height: 1.4;  }
-.ui-button-text-only .ui-button-text { padding: .4em 1em; }
-.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
-.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
-.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
-.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
-/* no icon support for input elements, provide padding by default */
-input.ui-button { padding: .4em 1em; }
-
-/*button icon element(s) */
-.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
-.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
-.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
-.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-
-/*button sets*/
-.ui-buttonset { margin-right: 7px; }
-.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
-
-/* workarounds */
-button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
-/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker#theming
- */
-.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
-    display: none; /*sorry for IE5*/
-    display/**/: block; /*sorry for IE5*/
-    position: absolute; /*must have*/
-    z-index: -1; /*must have*/
-    filter: mask(); /*must have*/
-    top: -4px; /*must have*/
-    left: -4px; /*must have*/
-    width: 200px; /*must have*/
-    height: 200px; /*must have*/
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/tipsy.css b/interface/web/themes/default-304/css/screen/tipsy.css
deleted file mode 100644
index ea735c7627..0000000000
--- a/interface/web/themes/default-304/css/screen/tipsy.css
+++ /dev/null
@@ -1,25 +0,0 @@
-.tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; }
-  .tipsy-inner { background-color: #000; color: #FFF; max-width: 350px; padding: 5px 8px 4px 8px; text-align: left; }
-
-  /* Rounded corners */
-  .tipsy-inner { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  
-  /* Uncomment for shadow */
-  /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
-  
-  .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; }
-  
-  /* Rules to colour arrows */
-  .tipsy-arrow-n { border-bottom-color: #000; }
-  .tipsy-arrow-s { border-top-color: #000; }
-  .tipsy-arrow-e { border-left-color: #000; }
-  .tipsy-arrow-w { border-right-color: #000; }
-  
-	.tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; }
-    .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
-    .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none;  border-left-color: transparent; border-right-color: transparent;}
-  .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none;  border-left-color: transparent; border-right-color: transparent; }
-    .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none;  border-left-color: transparent; border-right-color: transparent; }
-    .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
-  .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; }
-  .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; }
diff --git a/interface/web/themes/default-304/css/screen/uni-form-generic.css b/interface/web/themes/default-304/css/screen/uni-form-generic.css
deleted file mode 100644
index 8daf43953a..0000000000
--- a/interface/web/themes/default-304/css/screen/uni-form-generic.css
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Uni-Form by Dragan Babic [Superawesome Industries]  - http: //sprawsm.com/uni-form/ */ 
-/* Some rights reserved - http: //creativecommons.org/licenses/by-sa/2.5/ */
-/* Do not edit this file directly, make your changes to uni-form.css in the same folder */
-
-/* ------------------------------------------------------------------------------ */
-
-.uniForm{ margin: 0; padding: 0; position: relative; z-index: 1; } /* reset stuff */
-
-  /* Some generals and more resets */
-  .uniForm fieldset{ border: none; margin: 0; padding: 0; }
-    .uniForm fieldset legend{ margin: 0; padding: 0; }
-
-    /* This is the main unit that contains our form elements */
-    .uniForm .ctrlHolder,
-    .uniForm .buttonHolder{ margin: 0; padding: 0; clear: both; }
-
-    /* Clear all floats */ 
-    .uniForm:after,
-      .uniForm .buttonHolder:after, 
-      .uniForm .ctrlHolder:after, 
-        .uniForm .ctrlHolder .multiField:after,
-          .uniForm .inlineLabel:after{ content: "."; display: block; height: 0; line-height: 0; font-size: 0; clear: both; min-height: 0; visibility: hidden; }
-
-    /* A class to be used on a label that contains a checkbox or a radio button */
-    .uniForm .inlineLabel,
-    .uniForm .inlineLabels .inlineLabel,
-    .uniForm .blockLabels .inlineLabel{ width: auto; float: none; margin: 0; display: block; }
-      /* IE shows borders & padding on checkboxes and radio buttons if they are declared on an input element, remove them */
-      /* Legacy/Inheritance fix */
-      .uniForm .inlineLabel input,
-      .uniForm .inlineLabels .inlineLabel input,
-      .uniForm .blockLabels .inlineLabel input{ border: none; padding: 0; margin: 0; }
-
-/* ------------------------------------------------------------------------------ */
-
-    /* Styles for form controls where labels are above the input elements */
-    /* Set the class of the parent (preferably to a fieldset) to .blockLabels */
-
-      .uniForm label,
-      .uniForm .label,
-      .uniForm .blockLabels label,
-      .uniForm .blockLabels .label{ display: block; float: none; padding: 0; line-height: 100%; width: auto; }
-
-      /* Float the input elements */
-      .uniForm .textInput,
-      .uniForm .blockLabels .textInput,
-      .uniForm .blockLabels .fileUpload,
-      .uniForm .selectInput,
-      .uniForm .blockLabels .selectInput,
-      .uniForm .blockLabels select,
-      .uniForm textarea,
-      .uniForm .blockLabels textarea{ float: left; }
-      
-      /* Postition the hints */
-      .uniForm .formHint,
-      .uniForm .blockLabels .formHint{ float: right; margin: 0; clear: none; }
-      
-      /* Position the elements inside combo boxes (multiple selects/checkboxes/radio buttons per unit) */
-      .uniForm .multiField,
-      .uniForm .blockLabels .multiField{ width: auto; float: left; }
-        .uniForm .multiField .inlineLabel,
-        .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
-        .uniForm .multiField .blockLabel,
-        .uniForm .blockLabels .multiField .blockLabel{ float: left; width: auto; margin: 0; }
-        .uniForm .multiField .blockLabel .textInput,
-        .uniForm .multiField .blockLabel .selectInput,
-        .uniForm .multiField .blockLabel select,
-        .uniForm .blockLabels .multiField .blockLabel .textInput,
-        .uniForm .blockLabels .multiField .blockLabel .selectInput,
-        .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: 0; }
-
-/* ------------------------------------------------------------------------------ */
-
-    /* Styles for form controls where labels are in line with the input elements */
-    /* Set the class of the parent (preferably to a fieldset) to .inlineLabels */
-        .uniForm .inlineLabels label,
-        .uniForm .inlineLabels .label{ float: left; margin: 0; padding: 0; line-height: 100%; position: relative; }
-        
-        /* Float the input elements */
-        .uniForm .inlineLabels .textInput,
-        .uniForm .inlineLabels .fileUpload,        
-        .uniForm .inlineLabels .selectInput,
-        .uniForm .inlineLabels select,
-        .uniForm .inlineLabels textarea{ float: left; }
-
-      /* Postition the hints */
-      .uniForm .inlineLabels .formHint{ clear: both; float: none; }
-      .uniForm .inlineLabels .multiField{ float: left; }
-      .uniForm .inlineLabels .multiField .inlineLabel{}
-      .uniForm .inlineLabels .multiField .blockLabel{}
-        .uniForm .inlineLabels .multiField .blockLabel .textInput,
-        .uniForm .inlineLabels .multiField .blockLabel .selectInput,
-        .uniForm .inlineLabels .multiField .blockLabel select{ display: block; width: 100%; float: none; }
-        .uniForm .inlineLabels .multiField select{ float: left; }
-      
-/* ------------------------------------------------------------------------------ */
-
-    /* Required fields asterisk styling for .blockLabels */
-    .uniForm label em,
-    .uniForm .label em,
-    .uniForm .blockLabels label em,
-    .uniForm .blockLabels .label em{ position: absolute; left: -7px; }
-    
-    /* Required fields asterisk styling for .inlineLabels */
-    .uniForm .inlineLabels label em,
-    .uniForm .inlineLabels .label em{ display: block; position: absolute; left: auto; right: 0; font-style: normal; font-weight: bold; }
-    .uniForm .inlineLabel em{ position: absolute; left: 7px; }
-
-/* ------------------------------------------------------------------------------ */
-
-    /* Messages */
-    .uniForm #errorMsg,
-    .uniForm .error{
-    }
-      .uniForm #errorMsg dt,
-      .uniForm #errorMsg h3{
-      }
-      .uniForm #errorMsg dd{
-      }
-        .uniForm #errorMsg ol{
-        }
-          .uniForm #errorMsg ol li{
-          }
-      .uniForm .errorField{
-      }
-    
-    .uniForm #OKMsg{
-    }
-
-/* ------------------------------------------------------------------------------ */
-
-    /* Columns */
-    
-    .uniForm .col{ float: left; }
-    .uniForm .col.first{}
-    .uniForm .col.last{}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/uni-form.css b/interface/web/themes/default-304/css/screen/uni-form.css
deleted file mode 100644
index 6b6f746462..0000000000
--- a/interface/web/themes/default-304/css/screen/uni-form.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Keep in mind that wherever you see 'Required property' it means that the property must exist */
-
-/* ------------------------------------------------------------------------------ */
-
-  /* Generals */
-  .uniForm fieldset{}
-    .uniForm fieldset legend{ color: #333; font-weight: bold; font-size: 100%; margin: 0; padding: 1.5em 1.5em 1.5em 0; }
-    
-    /* This is the main unit that contains our form elements */
-    .uniForm .ctrlHolder{ padding: 3px; border-bottom: 1px dotted #dfdfdf; }
-    
-    .uniForm .buttonHolder{ 
-		text-align: left; 
-		background: #CEDEEF url("../../images/buttonHolder_bg.gif") no-repeat right;
-		margin: 3em 0 1em;
-		padding: 8px;
-	 }
-      .uniForm .resetButton{ float: left; }
-      .uniForm .primaryAction{ font-weight: bold; }
-    
-    /* This class gets added to div.ctrlHolder to highlight the row */
-    .uniForm .focused{ background: #fffcdf; }
-      
-      /* .inlineLabel is used for inputs within labels - checkboxes and radio buttons */
-      .uniForm .inlineLabel input,
-      .uniForm .inlineLabels .inlineLabel input,
-      .uniForm .blockLabels .inlineLabel input{ float: left; margin: 0 .4em 0 0; }
-        .uniForm .inlineLabel span{ float: left; width: 90%; }
-        
-/* ------------------------------------------------------------------------------ */
-
-    /* .blockLabels (default style, will be applied even if you don't class the parent element) */
-    .uniForm .blockLabels .ctrlHolder{}
-      
-      .uniForm label,
-      .uniForm .blockLabels label,
-      .uniForm .blockLabels .label{ margin: 0 0 .5em 0; }
-      
-      .uniForm .textInput,
-      .uniForm .blockLabels .textInput,
-      .uniForm .blockLabels .fileUpload{ width: 43%; /* <- Required property */ }
-    
-      .uniForm .selectInput,
-      .uniForm select,
-      .uniForm .blockLabels .selectInput,
-      .uniForm .blockLabels select{ width: 43.5%; /* <- Required property */ }
-      .uniForm textarea,
-      .uniForm .blockLabels textarea{ width: 43%; /* <- Required property */ height: 12em; }
-
-      .uniForm .formHint,
-      .uniForm .blockLabels .formHint{ width: 55%; /* <- Required property */ font-size: .9em; color: #777; position: relative; top: -.5em; }
-      
-      .uniForm .multiField,
-      .uniForm .blockLabels .multiField{ width: 43%; }
-        .uniForm .multiField .inlineLabel,
-        .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
-        .uniForm .multiField .blockLabel,
-        .uniForm .blockLabels .multiField .blockLabel{ width: 30%; margin: 0 10px 0 0; }
-        .uniForm .multiField .blockLabel .textInput,
-        .uniForm .multiField .blockLabel .selectInput,
-        .uniForm .multiField .blockLabel select,
-        .uniForm .blockLabels .multiField .blockLabel .textInput,
-        .uniForm .blockLabels .multiField .blockLabel .selectInput,
-        .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
-
-/* ------------------------------------------------------------------------------ */
-
-    /* .inlineLabels */
-    .uniForm .inlineLabels .ctrlHolder{}
-    
-    .uniForm .inlineLabels label,
-    .uniForm .inlineLabels .label{ width: 20%; /* <- Required property */ margin: .3em 2% 0 0; /* <- Required property */ }
-    
-    .uniForm .inlineLabels .textInput,
-    .uniForm .inlineLabels .fileUpload{ width: 35%; /* <- Required property */ }
-    
-    .uniForm .inlineLabels .selectInput,
-    .uniForm .inlineLabels select{ width: 35%; /* <- Required property */ }
-    
-    .uniForm .inlineLabels textarea{  width: 35%; /* <- Required property */ height: 12em; }
-
-    .uniForm .inlineLabels .formHint{ margin-top: 0; margin-left: 22%; font-size: .9em; color: #777; position: static; }
-    
-    .uniForm .inlineLabels .multiField{ width: 60%; /* <- Required property */ margin: 0 0 .3em 0; }
-      .uniForm .inlineLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
-      .uniForm .inlineLabels .multiField .blockLabel{ float: left; width: 26%; margin: 0 3% 0 0; }
-      .uniForm .inlineLabels .multiField .blockLabel .textInput,
-      .uniForm .inlineLabels .multiField .blockLabel .selectInput,
-      .uniForm .inlineLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
-
-/* Focus pseudoclasses */
-.uniForm .ctrlHolder .textInput:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
-.uniForm .ctrlHolder textarea:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
-.uniForm div.focused .formHint{ color: #333; }
-
-/* Columns (they are floated left by default) */
-.uniForm .col{ width: 37.9%; /* <- Required property */ margin: 0 2% 20px 0; }
-/* Use .first and .last classes to control the layout/spacing of your columns */
-.uniForm .col.first{ width: 39%; /* <- Required property */ float: left; clear: none; }
-.uniForm .col.last{ width: 39%; /* <- Required property */ float: right; clear: none; margin-right: 0; }
-
-/* Messages */
-.uniForm #errorMsg, .confirmpassworderror{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px; }
-.uniForm .error{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; }
-
-.uniForm #errorMsg dt, .uniForm #errorMsg h3{ margin: 0 0 .5em 0; font-size: 100%; line-height: 100%; font-weight: bold; }
-.uniForm #errorMsg dd{ margin: 0; padding: 0; }
-.uniForm #errorMsg ol{ margin: 0; padding: 0; list-style:none;}
-.uniForm #errorMsg ol li{ margin: 0; padding: 2px; list-style-position: inside; border-bottom: 1px dotted #df7d7d; position: relative; }
-.uniForm .errorField{ color: #af4c4c; margin: 0 0 6px 0; padding: 4px; background: #ffbfbf; }
-
-.uniForm #OKMsg, .confirmpasswordok{ background: #C8FFBF; border: 1px solid #A2EF95; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px; }
-.uniForm #OKMsg p{ margin: 0; }
-
-/*
-IT IS STRONGLY ADVISED TO MAKE YOUR CHANGES AFTER THIS COMMENT BY REPEATING (COPYING) THE SELECTOR FROM ABOVE, 
-AND MODIFYING IT WITH YOUR OWN PROPERTIES/VALUES. THIS IS RECOMMENDED BECAUSE IF YOU HAPPEN TO RUN INTO TROUBLE, 
-YOU CAN VERY EASILY REVERT TO A GENERIC STYLE OF UNI-FORM. BEST OF LUCK... 
-*/
-
-/* ------------------------------------------------------------------------------ */
-
-/* This is the main unit that contains our form elements */
-
-.uniForm .textInput, .uniForm .selectInput, .uniForm textarea {
-	background:#FFFFFF none repeat scroll 0 0;
-	color: #000000;
-	border: 1px solid #DFDFDF;
-	padding: 1px;
-}
-
diff --git a/interface/web/themes/default-304/icons/device_sprite.png b/interface/web/themes/default-304/icons/device_sprite.png
deleted file mode 100644
index af531d7fba6139a1a0e5afb176e43a4b65376ced..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10582
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

diff --git a/interface/web/themes/default-304/icons/flags_sprite.png b/interface/web/themes/default-304/icons/flags_sprite.png
deleted file mode 100644
index 036a8aa41674a8e06d494a5f70e40734ed70b1f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 88755
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
XHFZ@a+U*rJ00000NkvXXu0mjfEZ#v4

diff --git a/interface/web/themes/default-304/icons/x12/accept.png b/interface/web/themes/default-304/icons/x12/accept.png
deleted file mode 100644
index 6a9f2e2ebcb0a18b80fc49712fa5c1d702bf5e4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 231
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4b)GJcAsXkCfBgS%&#XD4F@^Wr
zw{I1O9uwVX+^!cmwu<qt%Y;MMrnml&mV4f8x=^EO<3!)Q+Bk+|3fs1>?B!^is-b4D
z%`lrUDSGCOjvLlDj2l!Pt{qfK=$h@Abbeu1Z*E0`pWDV=ALHaA94|N9>@aRn<5v7F
zxI|*z%AcP9{{Q<gns7Ps9K*@Q84lk}JOZ!Y^qFD&!?CL{%YjeQTH0E3M$#U$0|o)i
f+!`($TvZrWwoANP8@v1i(B%xCu6{1-oD!M<*Ed~U

diff --git a/interface/web/themes/default-304/icons/x12/accept_blue.png b/interface/web/themes/default-304/icons/x12/accept_blue.png
deleted file mode 100644
index 47ab08aa864fffe0c02c10bd6362896f93f7adc8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 484
zcmV<A0UQ2_P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00052Nkl<ZD9>Gz
z-z!657{|}Q!aXHQiqa%$q)2h2Tq##>-4SVL8=++9IAzSz#N<c0afMy@wPp6hj%{Z@
zINRc4Y-0!Yb)I*)@YeTzpPujMecz|&eL1Vu%8^VaQ<X&@8|(J;-j1t8qL^~z{c>#L
zdA?N?1SJv*An{bhrTWE0G3Cf3hHcPySBrv8&15n-kTs0DRSY<i7}Pbgtzsus26@B~
z%ULYuSvqC^PD8g8N0$^s@2Uc$7{ib=iP7ye_QGX$6R{lC8P63kyqQA#l8l~}C^~KT
z7_i6Se|$ss^%G;e4~S+9AeP&AyEIQiKV6V<6ncT<;u(F?J-q26Xsn$-G0&6KKrDCQ
z-qKFu?=UXk;VM;u)cglqB~K15b3qsuLO4~*AeNOB&Ay;Vh`=x(z(u0KVDT)AX6r2)
zc|ZCk8N{%XEN1hp91g(geMQZr7j1L57<VgZ;%`tl?L)(ik9oupTWPCUX{+Nhj}HBo
z+KDUFPhG>f7{t1sV{H|G+WPl!qM*p(AR>=>97l>w6jP48zlZz(HJlE6`fzuvM56fr
a*Z2k$i<>Rht0chy0000<MNUMnLSTZ};o&O)

diff --git a/interface/web/themes/default-304/icons/x12/accept_green.png b/interface/web/themes/default-304/icons/x12/accept_green.png
deleted file mode 100644
index d5d5709ef66251c23f213eea9c5f3ba5591aef6e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 250
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4gPtyqAsXkC6B?T4&68tQm}g)8
z?ag=X@O6Lq4=I>=@TeSb;AvoDQ#k3~FZZ|p@7t&UU%%IDHtgUPYR)ogn9U>f<KyGw
z|5eS?{`cR0+TP@tq+q#1jdeoXPlezOn&)na|J?tq!Y+bu3EPrsj7x-5OwEq++u!~D
z|Lb>g18K0}6UzzJj$M5Ace#%l991xQeTrp+j0dlWZVdA#r3oufbOo9ySaZ%kX~0u1
vv}?KJEVY=7qa2z$mV5GrO;YZ=vV@UARHa5GWviDt&@&94u6{1-oD!M<jtXE}

diff --git a/interface/web/themes/default-304/icons/x12/arrow_2_left_round.png b/interface/web/themes/default-304/icons/x12/arrow_2_left_round.png
deleted file mode 100644
index f52da180c94fbb63c4bcc4603dcba6db2cbd0a94..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 322
zcmV-I0lof-P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0003ANkl<ZD9@Er
z!D_-l5ZzDl6a3KJw1}?On>C;}l~NGfLvLa(6^p2cMHDr*DzOHUJbgp9jl~|iFl3l{
z@9mq}C>0;aaZ;BkYpp+B*9C()YwW4yxfIfD8e_l{MG;P?NOIO<V)|Q|g)j^SKw$87
zgugjp<_GxL9>88qN|8{u%1Q9ptnk==MSrr!+~3Ph#40j>gIiA>JXEX5<}`ZmOL)Vj
z2okF}96b~KHW)z{?_qDOxOH>~3yIzSD2osR)v4Sc8szdtc%Jt+!CK;g<LO2`*PAcM
z7fQ(76$E@`$qvnJ5KPZjwbpo+?`#$P44qsnw?Q>aU{3JWT5mlZ{W5Mo+<$+KGy8$9
U4sBCBF8}}l07*qoM6N<$g3{iK761SM

diff --git a/interface/web/themes/default-304/icons/x12/arrow_2_right_round.png b/interface/web/themes/default-304/icons/x12/arrow_2_right_round.png
deleted file mode 100644
index 35fecf506c647b41354aae7a0fa58d752d31a339..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 425
zcmV;a0apHrP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004SNkl<ZD9>F|
z%TB^j5bdw%m-u<m;>s7G(#Av!iL7M7LX8^}gGMkdpdvy_pz<oB_C?X-Op_vblW8Y&
z=ggcrcZ5VDA+W__u{BYWBw3a_s;b)AtZK6_QjqVWyzmo`$2U@`R7=-1c%FyoIIfGT
zu7U43Cj=0BJ(*1Q=qwWbIbcm)3@jJH4`7-mIEQluQ4}{dsvMo-#WkA75O0=`X7>Zy
z>j=&a)JX^D3e1yf%)fy-RomX%$6+ReLh%wM-9Y7Kf?CVMm+eAP<c>fC`dry|1AMx`
zNiH9DG7JOC(J{`>OSr4|F{6UHT-FyzjSw(q&hNnjP%f8|K2SoyLu2#@U`j4g8caMG
zLmyi^X|i3Y`66z#F7BVktCS=fL?`K3je2{E)529qq1>?OKfrCR5652`I+E2id$383
zM`H@DX`%8wM6Er6?f;W?`QfTnomx8xh%X!a99wy~mDQj<V4gIb&Bi{*mRI8!2+qAu
Ttx0(I00000NkvXXu0mjfFcG|O

diff --git a/interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png b/interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png
deleted file mode 100644
index aac963c1386f02904556236b51a794bec67fb2c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 479
zcmV<50U-W~P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004|Nkl<ZD9>Gz
z%P#{_6vpRYVQWKz#L6pP(I7%1u@OYV&OacLc(l`cM$u78qa`X-s+NrfVN+VFuNkc|
zXiHdVwP6y;XU;_zZt~rneCK!WJvsMsCX<OH>Gk>|qqZCywg>l~Gf$$JJj(rXY%>@P
zHG;(=i;)oSUUKlIzL+Q`k8;GY0<F4Ou&k!i=`=i&iV;@|J$40MwmS^%CYeV$Vu<C8
zMt+7)amQ4&t=~dtO`vf#j)83jqx+BO&^&kalifrtM}6KtzoUQq9t~y*?Q3!H-X|np
zRh-E=w5;5qZ%Y9&#Bv8Nr+TWWXfnqz?358q=JB_Vq%4}vBAS;)5JN2IaqXxl@+WHN
zBN%if;J?om3cRrl>J}oX*F+4ltflx<2HjQ(<<nQFo(*Blqd<E8!0}B6ReTVgf&^k%
zOGcibk)k1N`m-pX3ZQH<fRb@PbW36MT4Si3x`g8*3u1`<8LRL!)(zhqS{K8pnDC=?
z{2YyQ*RX3I8>{d;*22RH7FmjhAtvA86?04!lSjG2!~Opnn|9m7;r>pZMDhQx@eLLe
Vng>?@EY|=4002ovPDHLkV1m%u*m(c|

diff --git a/interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png b/interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png
deleted file mode 100644
index 71f5dd9fc53a083f47f3ee0671653905af78219c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 479
zcmV<50U-W~P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004|Nkl<ZD9>Gz
z%P#{_6vpRYVQWKz#L6pP(I7%1u@OYV&OacLc(l`cM$u78qa`X-s+NrfVN+VFuNkc|
zXiHdVwP6y;XU;_zZt~rneCK!WJvsMsCX<OH>Gk>|qqZCywg>l~Gf$$JJj(rXY%>@P
zHG;(=i;)oSUUKlIzL+Q`k8;GY0<F4Ou&k!i=`=i&ilN;kx@>pou`3vHrI<%KVu<C8
zMt+7)aYsMVv3`ru{YMOJD`;GeLuXB(P4nC_mEA-vM}6KtzoTzULCeYw&g2{tuPS)&
z6WZ6}XfR9Y-@XSi#Bv8Nr+TWWXkHf4Y!-1OW%0Ly$vlRgGMdaW5JN2IaqXxl@+ayS
zBB;~kjb#c2{`(vT9SPLVM?eg*tflx<2AzV0Dn5wgn+&Aq4~%&fRL_P`K7EC5s{~?L
zOGcibk)k0uF0!bcx<s!v2HjE^CF6dSO$Jat6~LxH3u1`<8LRL!R=e*FjdRy19Y06K
zgdeSoVQgp~8>{d;*22RH7FmjhAtvA86?04!lSjG2!~Opnn|9m7;r>pZMDhQx@eM1F
Vng{dmy>S2l002ovPDHLkV1i1E)r<fD

diff --git a/interface/web/themes/default-304/icons/x12/article.png b/interface/web/themes/default-304/icons/x12/article.png
deleted file mode 100644
index 276094e3ca29518d7902fc76686fc39e1cfd3f32..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmV<b0094qP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002SNkl<ZD9??L
zO$&lB7=XRjKk6T9d6SOa>e{he#|}cEVINW$VwR!>mZm1*+cq_cIce~)F`kF*<p6+_
zBnepb1)(d7B8R~)R|Po~>y5}u>WJ?&22POufbZv;OZI`l_ZkB)%)pP~8%(A%7>>r|
z%zVM{Q!s;^nuiLkTS~xkg%#HGP{Hw<5U{AbPuQFz(7hKs*t;=dcPZr6DTKAt5^Rx#
z(d-CR^p~ai0M$;|fr2EZ6lLQMi$egi8MA{nsNf&4`vKSN)He)j2mJs5002ovPDHLk
FV1jdcZrlI>

diff --git a/interface/web/themes/default-304/icons/x12/article_text.png b/interface/web/themes/default-304/icons/x12/article_text.png
deleted file mode 100644
index dbc47e51e554e465e624088eed921578039e662f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 155
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4Bu^K|5RLQ6KmPx>Km6q6<o}Nk
z#m=28WNT~7qrek%n&EN-uYyUbNAgvM;DYBjqYc<LevheUU$)!YnyKT`hScwl25qYx
zfs!3-7$t?TFdR0xU1-JGebV_DTMdIVv!TQiF@~p?4^I{ia7zN(#^CAd=d#Wzp$Pyy
Cmo@nS

diff --git a/interface/web/themes/default-304/icons/x12/bar_graph.png b/interface/web/themes/default-304/icons/x12/bar_graph.png
deleted file mode 100644
index 7df4a34c20951d4abc88b69868e4094540f8d7fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 205
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4DV{ElAsXkCfBgS%&&=~&Wa|I+
zOBROAio7>lQ&lp5^tXJ>ZkYAw|HI|gOEP!-`uL}Qh6P9R)d`^i$0p2*Wq2lEw^RCN
z<p08(4B;Cd9xO7bO}-!ZN9tY8Fa9ut=UMhM?6#+w*74rX`@^FB!Y-V7ng6-j&GCoV
zJf44mYgK=G<IBUszdmHIxXE~NLam9&qJ=9Nce6Q3Fl@Y(d^vs|iy+W_44$rjF6*2U
FngEL$SCIe!

diff --git a/interface/web/themes/default-304/icons/x12/burst.png b/interface/web/themes/default-304/icons/x12/burst.png
deleted file mode 100644
index 2dfc873a4e90fe00d71822a35da1f9cc3051535e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 471
zcmV;|0Vw{7P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004=Nkl<ZD9?4y
zJ7`o<6ouin&tt}nk~BUDhF~c{1i@ZGYy#Fcg4QAg5esX<P9;JtthBUNLO=pyWg$ch
z(bB>YFvG~5xp(H?bI#t&LIfZ9)&GJe8*ginz`?nIK`$<KSr<g`u^0VXJ<IDLj}H2=
znaomCO%t4mzzLSV*GWc`b}<#Z*|hm=Ri{gB(qjPbt8t-C3K2mVO*$N!i$_4*Y1;BC
z20KII8DJpzw5aWk>NEy;!8`XMG+jA9?edocF^rs(=d+}QppTzcKx`6t?FILgIt&7w
zGUMf@%kv@<0SNxID!|L4HcZ7%hW%=`-H$$dCr^z0JO1S~i8b%!amYo_8F?K<#D6g-
z<%XKQ2}<rxr)k|ecN^gHzmGr>ya#Z_j4_Ox^jVcFKDb2zHc77jHtGP189sS05Bkv$
zLYM8Z6I530d{KKOz!rdI03gr?=k6+b(K1hv*l_|3i(z}*r1>^!EXHeHvAwKzwadEG
zW!(jE!^r)~EF*{jxfqPByvVIw>|4tEA~^RBf`?ryRWCaBqWcN}KLGIg_W~K+Av6F0
N002ovPDHLkV1gIz&{zNf

diff --git a/interface/web/themes/default-304/icons/x12/calendar.png b/interface/web/themes/default-304/icons/x12/calendar.png
deleted file mode 100644
index 56ea24c2af964ca99dd334f3a0b1c0f3ea1f8f2b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 138
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4Ku;IP5RLQ6Cr)Sw{r~^po|)sh
z$khMG-J1<!6gNt&TUdDf^8X_jG^98ZMR--LUq0QP&tlldmNI$5PYcrrK`r6TX09sM
moHPBmESKN+&p&Ph6GLe1TuHST*&l$0GkCiCxvX<aXaWF|DKEMJ

diff --git a/interface/web/themes/default-304/icons/x12/calendar2.png b/interface/web/themes/default-304/icons/x12/calendar2.png
deleted file mode 100644
index e82b31608c00b6dae14b0d84d7899ddef4669de3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 247
zcmV<T00{qyP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002KNkl<ZD9>Z4
zYiLogt8X;@|NlQjT3XtFT=cZ5Q>NE7G--o5q+qay_ANKS7{<m&lV`*3{YU<P`S}kl
z@CWGV*YCf;*&qyKlW)VCjXVBdyZan0aQpGQ|7Y(!1GDdE=Yuhb{outHgoaH!4*Y-g
z>Kj<#<;Q>jZ$AHwq2b*RN}RNO&9?t%t~>$@T)g@6|IstI!0Ze6-u*vv86tl5?mHwu
xY~K6-`h$;PfjiHC{yz`YgwB5W<{x=Z0sytKaRtnJZ|nd7002ovPDHLkV1iOYcq#w@

diff --git a/interface/web/themes/default-304/icons/x12/cancel.png b/interface/web/themes/default-304/icons/x12/cancel.png
deleted file mode 100644
index bff763a22038c10253c41ddd0adeca402adc6d78..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 218
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4g`O^sAsXkCJv_XV{k*+@^Rw`1
zW@hqaW=N>8O=4cjxGI&wIPdB6|LvJgUQLBslagjg?KrT1(W3t+%oJz$=p3KWqw-PS
zlWDp{+tvG@KOf+la8qGt$O_|)RqsNpv?P+bdDckf9d~Ik+}3cQ;L=V3`yG=LazxY>
zXV)CNFMRm&i6n)s1)Z1c=4mWb%yyc_%$>u>dtigq-IdZ#%z?^%GnOzeV)Q66@#=nm
R$rb2W22WQ%mvv4FO#qs_QGWmc

diff --git a/interface/web/themes/default-304/icons/x12/cancel_round.png b/interface/web/themes/default-304/icons/x12/cancel_round.png
deleted file mode 100644
index 803532cf0937811afa6e7e71dfa9772a57d4d8ce..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 440
zcmV;p0Z0CcP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004hNkl<ZC{tZh
zO-lk%6rI0PzoczMADCs7MFbkOiGu7eXezX<X;UbDt20{BxF~m8Y7ixii&QK>n!pHc
z(dzWhlcKzEhCA<^bMJfiJtYtbD1_JR?emM+4TYYMH0_gM&NXsBI{ESWd;{C6T7EQ5
zw5wHo-QP<v=NdU`q(Qj*w^X&>Xf)7CCQ(}Vz;wF=+$ee0&@l{<qlQ{#!|xBu%1HxO
zB!ah#b38bmc$jm-ibYY|QPDOoWhZKt-EjE%qf&vnx`JjR0miE^5sXIURB+3nhFaxV
z*S|XX9PVakke#%ndDb;CSRm(^kQ_DCN<%xB#qIPIGIks43H{f=JTpEfI0vYa2DW*x
zl#yR@qk4ECg*9E1V7zEC!7YLsxg{Q?P%OgIV=y;^DDQ`n8XZDvWDwQpsrV1UifbtR
z9GasNbFPcIqNzoYcFp73HjFEQjC%o1QHUHha;$$Zj-6ViC$w(TU5LD37XM#d@6*^5
i`#g!qKMCf&PvaW{44Xe-4zsra0000<MNUMnLSTZhiNk#W

diff --git a/interface/web/themes/default-304/icons/x12/clock.png b/interface/web/themes/default-304/icons/x12/clock.png
deleted file mode 100644
index 589bd9494750123f6b3aa853760edc58145e7df7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 473
zcmV;~0Ve*5P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004?Nkl<ZD9>Gz
z-AV#c6ouzi>J>C12oluPg6N_r=puT7=mGk{-%0~<hNv(liZseDgDxU0Bb8Fe8A~lo
zOA*wR8oXG|K9&~^tYNd(w-1|r4(D__Ig-_C9dM{$z`t8M2_1AuRFg;9AIE++n@uP1
zd_l^jP^`6a^V&tU)MYh!lo7)k)b2rn_mwM^3L>(C`A`{)XJt4qs+c<}GmkQ2h~*p(
zyNgaa$tsxI%EQb*VJB8c=KTu>?<4alBZgRx=FES5Vs`%p7GDk)K8Nk=8bq~W+$%GW
zGGd73PQwSv)w6;Lp9Hfvi?Iz6+tC_wwQuO$A}p#$88O6ik?^5%S@?#*lY!oy!NTz~
z>g_Hr<R(U4Y3NnoxG91dV%bQK?@dhe5=?4%Q*0p+tHS6`V{9#j5&J!6wqy{)MsnEg
zE?G<=aM!}HH3^eD1<gtV+SMd9s<f*K1mi6bLu_xYLT|19SOeqh56~>#VQ4vyNlzO7
z+eUA#!tYx97boxqSxiHEYv5dJGf_<*W&Ml$|1^SoyQQ<^!w!k+|4-uw+6k1il12sT
P00000NkvXXu0mjf)CbQ*

diff --git a/interface/web/themes/default-304/icons/x12/code.png b/interface/web/themes/default-304/icons/x12/code.png
deleted file mode 100644
index fc2b05f682e164d0292b9dd54185aafd9683511a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 401
zcmV;C0dD?@P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00044Nkl<ZD9?@2
zUn@g#7{KvUZtzarxpm=INx6|5@fIZIHQ4N2(9al42n*RnA|V$Pxj-=uwURk!=ZyJn
zXFIdAKVKI(T1|QCd-=I|o<{)`Aq0Ol=JhtKs;a1}ssM`e1FC#Y8K{2ui#$zrfi9hz
zgb*CvBoRX3^LpCq0@HFx*|=aOvWtIi86gC9fst`|NES%Q65*YF!kb$JgR=-B&~?2Q
zB+?%oN3*n##)({I=nb1po=b}5D$`SbG)-%8fn6*UI!n_Nc*b||Mm$wuFJ>{YZZLi#
zSqvW_-(`ynwy!1K!DmLcO=4P}J1s{{&$DnL>0Qzo+AuNFg$@_IW*t0-uk@`Z30-A~
zn>MG9S^DQ+7+gydjGSXxc5BTJw=X%?E+t(dgRMJ@&WR_6S2Qwqh1r<^hG8_;fGSX~
vRJc!lU|0^(L;;yAxlc4r^Y=>s2~a)(U53NjE0F<#00000NkvXXu0mjfR9T~;

diff --git a/interface/web/themes/default-304/icons/x12/comment_blue.png b/interface/web/themes/default-304/icons/x12/comment_blue.png
deleted file mode 100644
index 248ddb6b59edbd11614e865f57e30c8ae53b2f48..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 404
zcmV;F0c-w=P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00047Nkl<ZD9>Xs
zXgJLP!a8-QWHqZ#R=V|FydFRI+PCESH@-#9y879!<NQ(esuS`0^{4qk>KK3wR=xVu
z`W7u`ug^H}^#6l5-~a#n_a6*?{rUI*%F{3ZYuDfV4^+1ahy@sc;tblgr%r4*|N1{Z
z(7gG<f3>O;vlw*iPAO(Bx%vO%<1ctMfaD#z&VOLgt~+H3((vT{PrMpH^4=3JePz(9
zJ*f%Q@O$^wcX%~`<c*uo++@(KIVk|dJr!&2{(t@X7gogwZ+`e6GVRK5U?@g_Jq-*l
zZjI`bT|mLlQ};dnf9Am_cqq*}`1C)}z^A}qPcj4rD=Z#B7$~76R&Zp^@)Ixr{{bql
z-*EpwFb=i>14bUE21SED5CemF;r7dK|K~5i{a?NM<W$}IQ|!oUP&L$_7Pn|Ud(N@z
y{C}O=Qx!llCS-XG4M3~`wB-g+aV)w*7zO|sMS(UNPg<4$0000<MNUMnLSTaabil~~

diff --git a/interface/web/themes/default-304/icons/x12/dollar.png b/interface/web/themes/default-304/icons/x12/dollar.png
deleted file mode 100644
index 223f3bdae46f7d160c4cb1c1376d43c130e4c625..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 130
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kPfr)e5RLQ6KmPx>XXZHm_EYo2
z{{jE%XGr+)au_FEZfN1m`q9t&_zFXKORxVFwv^T*R-GySk4uHNC8(a|cga>Ti#Yk+
dWZx1-h8ryzk^g+yRs#)X@O1TaS?83{1OQ#oEztk~

diff --git a/interface/web/themes/default-304/icons/x12/double_comment.png b/interface/web/themes/default-304/icons/x12/double_comment.png
deleted file mode 100644
index 21262ec2a9778775efb6db9a37e3e81a3d496828..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 288
zcmV+*0pI?KP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002zNkl<ZD9>Z~
z|NlP&DHse48crwpO}ccyd&i^yGY&lcU%2A-f1ucWAQoUi2SCAwx()aLBZE)h|NIAu
z0p-qv<bgN<uEA@<B^1RQ&%XiNu<!bNu*TE(KmA{F{KbEVuJh-?Hl{4N0atwE`Pcu*
zd}IKU18UgMVApZ(J;)>w0J$GzGA;lz4CIFZ5aa3lpZ`IgCa3}GaRVS;4-yEUarHmU
zMs&Y{orDxx1)z`tIWcnP)%PIhfouh7h6eL~lwgL2`+KNu0-zuTc@$(LD4wvzM*<Kl
mAo1UWf*h-2Yyf5(x;OyuK3f{(pE>dX0000<MNUMnLSTYrU3*&q

diff --git a/interface/web/themes/default-304/icons/x12/download.png b/interface/web/themes/default-304/icons/x12/download.png
deleted file mode 100644
index 3866bb20ba7291d6a675d95e25f4ef753d97adfd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 309
zcmV-50m}Y~P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002|Nkl<ZD9@FU
zv5LY#5QgWKY^~11E`=xPS&3j_pG`LI=?h$=wt|mi6A}^=wNdnxi#~-gW=3{Nv^f`k
zvi$RX*=1qy^9heMpf~xb_NR3$rZ=foX{H07qd2bcp!;oA2s+)C9G1qd3eBV#azIK6
zLJ0aIMGNzNoA<i6Z5v$I1#ldP;q&2wyT7dw7RSzGe?9Vy82T~8r{8nw-bKN5IYTT9
zS$08M#rw~9UpR}J+|haxGW31_Mba?Mh%o{cN-0#{*hm^ya>O%YN<#huCVCaSl8~k;
zMp1-Gl3)-7xK1{huGScaA$M^cGs8lDoTcCTAF&`m`K{amkw|$3Hq;?J00000NkvXX
Hu0mjf;huy;

diff --git a/interface/web/themes/default-304/icons/x12/envelope.png b/interface/web/themes/default-304/icons/x12/envelope.png
deleted file mode 100644
index 5b48a00b61551520fb1c82c15e06fc70e94a296c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 146
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4NKY5X5RLQ6KmPx>XV#q2n8KTx
znfc%IU;?jw{eM-i#ThfUJ^lE9b^pDFn+j4hc_$sdz%aQ%^N3p8LdHl&E9v#T3Q{fn
u@zuSz*-|cFFbuPwAmXKRlzF8gFGKPFgRf1hb;^L2FnGH9xvX<aXaWE?2r|$B

diff --git a/interface/web/themes/default-304/icons/x12/flag_black.png b/interface/web/themes/default-304/icons/x12/flag_black.png
deleted file mode 100644
index 66464debfd39743ad6b464ec5c188da3c25a63d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004nNkl<ZD9>$>
zO-lk%6o&7pIbb?4iW?I@TDcenv5m_Xxd}lcTZp3gF~W#7g0vC*1GRAJrez?~KXBD1
zb)fkHZCkVqYEy`u-aDw6c;MlFo%fz|UZ!aptJmwy=kqayY`5F{Hk(bu{!|bIJsyvL
zJDtukTgOTu%CdZghu2&#N0mxtDT?A}I-REJbV|iy@fWEVz{^^#*1f8#&wjsu5sSsB
z*XxmC7}RVwDVa>tXf&e9WI};J;01y{uP|=6+aH-shFmTeWwTit4u>?G%}7xcDwRrP
znx^$ZFc^GejYi`b6>cD+P$)#<aF}Yf8Vv@61zP!uMx#_H6etpjJfTgMA(?Xs!91VO
zlO##}r={ENzV>>(muO=SZh>SCy%KQFbzNVkQYpf<2@Y1i@KxBjv=*Q>KF?#hT&6@K
zae`oQiFrI8_Aj<7a1;#p)#-E|y4@~=V+?ayc@BreVpqVq<BniG<7XJas@3X-eS#zK
o4h(Jv#B7^=0uGM_xZZvH19```JLJl{Q~&?~07*qoM6N<$f+6|BmjD0&

diff --git a/interface/web/themes/default-304/icons/x12/flag_blue.png b/interface/web/themes/default-304/icons/x12/flag_blue.png
deleted file mode 100644
index 4ced1c2b42d4ee802e0d8ea531c0991975ac7c17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 511
zcmV<b0RaAqP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0005TNkl<ZD9>Za
zOiN}+PfKO6OrOf2lQe@#D|SM#M$AN4!{q6@dWln9t#js`H%OW`S36+}gF(u41_qc0
z^Ry`j`l+**2e<9~8Pv4lgGt)Vdmgo$J}o={@qhZnJ)cygCpZH&af38O12yzpr}VxK
z>pAqlcH^`E>u>z{Up(jV|B$W&|L2|m_kZ>I_y4VO=4}PqoWYQhma+w?>3vXA(SP^)
zZU2jw-TdEo@Z<kY*FXLbXxQ*Scgd~)+aLb_U%Tw=fA6Z5cNx;s(zJj!RA!_k{&z_2
z{2w{-#Q*Zu_y5m4`u2atf)oFJo3{P0T7CC_Nb`mpwt4fXfi!@ya8_E<waBE*|Bj_A
z|3~*9`EQgqbGCc=vIgVyS+DgHr!Lb;n4)ZuJe?h;0p#(Rtkn4bUKuU_buyRVlZ%|f
zVVXIYK|g7#qITRwR^zmp3?K~G0K_anzidfN%l_|`Qs?EH(Zt}8-p`<$Jd;5ueiDOG
z>I@7GAZ!W5e~Qzhy7SXw8In`e8LU(Kz#2?ar!knOO~=px!jpmcKhTL*8Nm2SO-pA;
zNy~s^Y#LO7_$3e@1Y%}%d2AX$xEzRo0dYLK902BK`^7mR!_@!)002ovPDHLkV1nWI
B1v3Bu

diff --git a/interface/web/themes/default-304/icons/x12/flag_green.png b/interface/web/themes/default-304/icons/x12/flag_green.png
deleted file mode 100644
index d9fe8e4dafcce94a9c8a942db2dd28f61a255328..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 512
zcmV+b0{{JqP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0005UNkl<ZD9>$?
z%}Z2a9EG3X``)>CK5lw5A`>H`g-A-|RSW-uAW)F#52%=E(IPO~E77J!yK3F0jf>i}
z2rBwqxv-?5$=p~uPUG0jTy^HY_r5KhD53|>@|?rrNb&q7a4oGf>m)g|*BX1JWp;je
zj`tDdcyIT?x%I}{V{17lA~*n8Jd2%jGWz<!{$nGK*6GsPyLw;HA50FP<@J|mQ*TNy
zr?qmPJHRb0V?=5qdsI6?K47%>l*;D{!E&`kwOL{8@PzxhT$<U8HimRKGI~*r8j&sC
z)jCoqbq#*f#o&P<K9t|nG))Hf4Pr2dw&JK?hvVS_+E(<2dpgO-wE7y@1c))BBwnd5
zJGH3Ba^=%})N0<BVzCHNAXZQ9o_M@HT|sxLH2S`M)zA9h+NOPNJKmZH?s|?_-yIDR
znRHgw+(*u$uXaw>7UTTRoko(xp2|H`Xrq)^5rq!Ju;ZbGVnA(XhD9-%E&HpP6(8wN
zQ{%-5f>IjA-)MW2SQ_q&p3Cm59<mEP$WI4SzzCS%Km1_{;hxPVGYAhX$rJZ&fGYtO
z5csEIm)i)dzzv{4vYRZOhW{D90&~C#-~!T#?&udZcdxV?hexyk0000<MNUMnLSTY0
CB=hG0

diff --git a/interface/web/themes/default-304/icons/x12/flag_orange.png b/interface/web/themes/default-304/icons/x12/flag_orange.png
deleted file mode 100644
index a2b1090138fefd9f6fa809b31a7c9e99a45aa88b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 485
zcmV<B0UG{^P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00053Nkl<ZD9>$>
zUr3Wt7>8eTVNf@r78L~{-3-+3LW45O2qPl8Dg7+l_MPvmZRCaa=c1D8N{L14bm?|c
z;o8E4(2yV@q}wEfbdW>vDt3{0r6D}N8)9KzJe<RMdCu>gpEUbJ;<sJN_UsW}$~JoB
zGTl;7zf=;{b#U(#eZ_Izi=K)670Qk>AW7bzS|MGxNUSJJvTBLU2z)rd#0xo1uk4g-
z{!o(&k=bYEIZ`$7^*PK>!uTZ^J_nfzm`TCl?lDbvr6mv?wfy1Vy=^Dq%|RGzh3{|S
z=SN6-;qyIMn1%^Q=M{5ejPV9+=f35;#kbCV@a}{TpTe|CpRTBM3?@4uT|G-;S5zEh
z6uZ>&g?~H@U1T{?2C1{qzkh(&2Rev(azsmp^!*k3>5_axfq?B=S6gl~{-hFKNmd)%
zLA*$`ox|GPc4FF+vLR@SM++Ej4_XX8s%=O=J}#Nap?uY%x66ORIyJ^Pt7jS?bX{n^
zBSF_E3z5=-u+rx#uvy5{Z5xADU3<g6DXwEnSjEsfTM0*$U&<Gy*fx&*%T_|3yUHKs
b`sUdhQ(P4)N-$Ky00000NkvXXu0mjfpLyT%

diff --git a/interface/web/themes/default-304/icons/x12/flag_red.png b/interface/web/themes/default-304/icons/x12/flag_red.png
deleted file mode 100644
index a6b68395c6594b07b27758ee513a54439e99fbbc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 497
zcmV<N0S^9&P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0005FNkl<ZD9>$?
zF-Tic6o!8hEE)_{FiCZh43U!B;envd(7}L%1a%M`#KzFP_weP3q7*b^7Z*W9=u~hJ
zK{AOLL)1Zp)<)ZyVv9|&6e(08ii(Oz_3wEl6qO7gT<$&J{m;1<-KL44VPM7S#3umn
z0dGp!1Y940npA1&+l`{4F<HX`w}giufx#V*=Xb{K{wdPhSBGQwcyf~2rl#CGpfP0$
zFHG~X2ptKBBYos_@_KlfS4&I$(bB^Gh6ZwZnP;&WH*L0A5sDEqj5(2Vqdp%`D=Ns&
zPI7vh=kYkdyWPC%?IklA{xVHUOV6OHYU4{?9}Vg{7bJlm4>>Tvn`DxEp%4!gg@4A!
zx!c-$Aqh{Rg~Jw)y8HUFuL1$?m6h>YTG_6vTi;QX*j7o&P1<h%BDXhhSTjh%Kf;=(
zc1i3^Z7p-aN!D(!`sQ+B9e6Iq<<<+`5hUe-%(6NpGrXy<k4*UeNO-;YoG(n>7xMTe
ziS5y7v~6SrJ-Uv?%1UfYU0T>GAXrRUQjcLMUH$!#2f<u*HRk1G=cUC$!V}?8Q`NYZ
n-wQ?}|0yI`ycRBn!2PqoZ^h(PuAX^e00000NkvXXu0mjfVH)KG

diff --git a/interface/web/themes/default-304/icons/x12/flag_yellow.png b/interface/web/themes/default-304/icons/x12/flag_yellow.png
deleted file mode 100644
index e197045cfe526b70a7f28791a703a35f4169fde7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 504
zcmV<U0SEqxP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0005MNkl<ZD9>$>
zO-mb56o%hmf`znTkuJ2*LZ}-l*n*p`N*5(yU1TFM4ulYAGBq(tYuzd6Ui}AV6X+tA
zF0ze8P~5bIYH${6z%euCV>Kfql4vrVo+&ETdg0;R!@bYFhZmw4M=~j5W1|<gjb6jR
z;^`?;M0j^`f%L(_i>9Kux4DM{93hnwJ;mbVkBx?VN7LStrj6OU4pY~kQ?t2Fwc3bn
zSqODHc!Fp&u{<>;Zx#wY?Zd+!B3fX6QKce~s=ng=cQTA`bbO5Mvop*g98RuHOr-0X
z%pjG^UDR%m@}*U3wYF$?*GrZa;(mv!)k!Lq`c%lW<cq~(X+cO+KHpFK`w!{zGE9v|
zf)r(lOml$h^#G6MD^;rxR=}4Xy!_LT`T22v)kAxG-i~3ozVHZwuDi;riiJuAedp)s
zx)vZwu@8dq$<Ah9)5!^bb0VIrWV$&ym!<(M;6~ul5Q)UU&dfxpSR5M8=ZBHYy@6po
z0{;X~?Y3~mOHq`qVDNJ$5SWGEKL<s5296X*M{by=`#-^9Ns?sZ`rhdiiAhXPN4ZA-
u*87B~jL!UY!eANya-ZPftTvOnd-ex4F(GT_1e;j^0000<MNUMnLSTZv$?L=b

diff --git a/interface/web/themes/default-304/icons/x12/folder.png b/interface/web/themes/default-304/icons/x12/folder.png
deleted file mode 100644
index 92c08caff5abed92661cb3dfb769dc50168e037f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 311
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4f1WOmAsV8r2NxCz2Z}IU_<T=K
zX@S;?hwNFeKb~;?TyA=?S9#r;13Z)b54cRoWIJ`?&9eOad*=lE@tc32!Eo){pE`;A
zHQKBVCKYd|``Sqv#@@Zx_;iQ4{I+;ThOT{w-6a^OJ(kP4SIfj;AiqucBjazuBHP*g
z(LkFGcK@@P{`xM*$4}BRckgw6mERTN#}GHKuH&@)+n1+Jnz*JUE}p;d^t~fh3)e3)
z-xKsYI$&XZpThP13=9glnHDtFv28l3W5mtX=ppdgSi;f1Ib-u1-*2Jc)E0MUY%;$o
z9P;9`zrg9mNiM2vMG9Jbg&Ztx@7zgd0@}>*#w!g>H~c@4)o!uaJL@$_)YH|^Wt~$(
F69B$sexv{Z

diff --git a/interface/web/themes/default-304/icons/x12/info.png b/interface/web/themes/default-304/icons/x12/info.png
deleted file mode 100644
index 150c5cb3cc06b7dac3dd60bdb7a2a2b04f32e830..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004nNkl<ZD9>Gz
zOG^S#9L49W)F)`uB4|;hfd#Gl06nlT(q?ot$|9VhP)vzlMj6y1h>D6J3e3kimYR>u
z3hgB{xHx&P<)VQz9M1XO%jJKs<Z`(rN|xmgrTGN|{=&}ITAiY2#_o?3KZnE7r>SZ-
zm53qt@`dw!0~dvc@XXke5eu5DJ2ln&ST2_lF-+JuN(fxlFn98bsm+qe*pVSCDT>q0
zU3PR6Bg+|By?1aORUjWe!KU3~WGN#$GGry5GgJA*#A+Uciv}iFbMPELHy4yKtfpb}
zrbS1Fth5_mGtVAO40%(qEa(^yW{|Ib<H-0xzb6UXqAofzWTi-W-8{{H!#bbDfG2_8
znK%v-HSEW0!ZTw>hO9W!-P1cpmkjhMQFO~uM50w8dS>j%h$AUZr`t%z5W4<A*Ypi6
zv$u#A>q7L**pVUI8mrbCtM9UgF<%PyKuh$@#8|c8v9>QxQ?rI1hhBWcLGn|Go*BFL
o#r=O8p%s5&Z+pE?(f@xMKQXnIid{$SuK)l507*qoM6N<$g1OzvNB{r;

diff --git a/interface/web/themes/default-304/icons/x12/link.png b/interface/web/themes/default-304/icons/x12/link.png
deleted file mode 100644
index 1e7eb87035a0146bc71b72d621dc822f4351cec6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 148
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4Xipc%5RLOwgB-aS6gWO_-FL0o
z-pESBY}tjx37eJzWjl7auM*3v{mtWQw)v3SB)?;ywLF-vtyb8`^(jo`Tiy3BDo4~3
v1xi$1#Cw-5SNNyy!*5=d5U;G9qA9yFte0)y;)Iz%YZyFT{an^LB{Ts5_+K(F

diff --git a/interface/web/themes/default-304/icons/x12/lock.png b/interface/web/themes/default-304/icons/x12/lock.png
deleted file mode 100644
index 33a24b6f01c2ad05f187b4104a9d4fcd1a8e5212..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 209
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)48J;eVAsXkCfBgS%&&*L>Rb^yh
zVPUX*>C(UM$2B!Id0xJJnNZ4Oz`Jtg$~Oupv#+m9Oqfs+6eMKb)iz^>1nUg8l*@^K
zcI>cV72%yWZJLIZgWrMGjI(cFG;C|zzdroI5ew5lRTj+J$5uZ4{k2Raz2S#};TkEs
z`P%Hs0`kY&K5oqVQJ^B*<5(jheeC$Ehfmqc*GQ~pOKK8j*v;RlnzpU+BhZZup00i_
I>zopr09%St3;+NC

diff --git a/interface/web/themes/default-304/icons/x12/magnify.png b/interface/web/themes/default-304/icons/x12/magnify.png
deleted file mode 100644
index 730675e88dac72a9b386476d3dabc1acf5cbe4cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 461
zcmV;;0W$uHP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004$Nkl<ZC{tyS
zO-lk%7=<;6Hj1kj^(ShnZd|ym*3vIXLfqD}O^)3e%?bNZ`q)&9B1DE#h#+Vps30gU
zjW$`4P&p1ZYE+!wTWMJ@9PZb7&VBDSNs?q@jP(WuVJ#Mq8;eUz#`Nr5Sr7toQ53uQ
z`EPM^k1Wf#s=5zN(@?3_aR2ZKCA|#-P9#z6ZUF>ANT{j`UN0p56{x(^NZL@+pqs~9
zfLJ_Md(w2&$^1k_(EzS1K!G;)&#w`ll+Q%Q+M59NTq`}-QKsZ#mCVn;l@8<x+RGO)
z6`i?ZY@(wHM5EEt<xLT#H%k3BUzC6h0h@<8NKz<8Z)s}+)Z;`#N#WLb|7;^q#w>vc
zcXceRu7d>wEEEd;yn%k9lP1a4jU;xCv)IiPpd6fHet8XE?+|=GpGH6FX+YnkXb}SA
z!*umlM4mdL^~ykhU&Lm!!EU$1@Ap^fY%m-SH-InkUMa1er@34%6V-^tVu91?Y(SnC
zpdp^*cDp&iYm`F{hl97L|1<vu%w{tmyjH8VOi=Cv3A#@<z^u^;00000NkvXXu0mjf
D-zmw@

diff --git a/interface/web/themes/default-304/icons/x12/minus.png b/interface/web/themes/default-304/icons/x12/minus.png
deleted file mode 100644
index a76b0e2975e9572061cad21226852b64e9a36e64..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 121
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k2TvEr5RLQ6fByfsXVz>e6v*=M
z_Wtd^sm)8xtu4R)ztJD&Ti?FRPhi{pzwu`M!bd*!{|s~lgp`912k?glnKCd~UJBdU
T!_&kIG>gI0)z4*}Q$iB}W56fT

diff --git a/interface/web/themes/default-304/icons/x12/minus_round.png b/interface/web/themes/default-304/icons/x12/minus_round.png
deleted file mode 100644
index 3d848055f5cdc746526ddb0b024b1dbe81cfd1b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 392
zcmV;30eAk1P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0003`Nkl<ZD9>Gz
zOG^S#9L49W)F)}xB9t<WXk{--T1A_lAHZpBpR+P_Q*BgQWe`0e6$~T?9V(p^8fuYX
zGl8qqJ%1F`f!}aA=iEE@F<Lwx*GMcDn=sUqOr_fAnT$`U=`kDh<fZHSRKhfy)p{Mj
ztrmKfia<?|89OpSjh;L;%}>{L;os!Z+~0#8jSAHCn6bmIc5E0YoW;vu!&;7@x)Oo4
zzAA`T9y4~>)spFSyZhmwwzG|LcplG7izCou#tysMMK;^>N+r~e4&gW6@u${33_WJ-
zuqy+)r2<|KcHzCf!grhz=rLnQ2JkZ-r-|~`2JUC3@i-S$1o{NUW5$jwi5szO8{b!1
z+=YUQ03H@X0yRBm?8v5hREhqve&sSKY_8!pJS$MsW0n{k>+r>KmQJIApW>51O>gAl
m#(#}7wa&|2&L`C4zs5h{LXV792Ugnv0000<MNUMnLSTXecdyt0

diff --git a/interface/web/themes/default-304/icons/x12/money.png b/interface/web/themes/default-304/icons/x12/money.png
deleted file mode 100644
index 6deb5756cfcfcb97b72cc8344a9446fe510cb09e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 264
zcmV+j0r&oiP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002bNkl<ZD9>X^
zU7PqH7X|``@TI|g)w?PfYJj+EXE_4{NaEq=`xqEmQ}AMc*;hYbFg*G42%%xctwksp
zCJxgSwLFaf&WBs58dBFK{O>s04A%gnku}Axh*ZaGL&UOB3{5B+UjBLZ|IyF;a1C|)
zD&YpiuZqUh0Ak<xauvl%FvT#8qT%EJcmMBxyM>|wqzL9L3=Qah04V@D3*;9J4Rfwc
z`5(B*=YP$<^8d?kF9d5?d1EPx$5Aw3i@1&V)?kP+;7c0C+w;Doiva+~LY(wc!#y?t
O0000<MNUMnLSTaXlX7(c

diff --git a/interface/web/themes/default-304/icons/x12/new.png b/interface/web/themes/default-304/icons/x12/new.png
deleted file mode 100644
index 49bf82c95cc9a846af2a172ecb5d6d5682f71064..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 122
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kM^6{W5RLQ6KmPx>XV#q2_)V&a
z|JZ+Z)@IWN1~aMI5;4p?3ZE0-EI!ZoM`^{u`tG;oIYkz8Th6&%beOc9J^lzI!&9X#
VHRn6xKLZV8@O1TaS?83{1ORbhDcAr2

diff --git a/interface/web/themes/default-304/icons/x12/pencil.png b/interface/web/themes/default-304/icons/x12/pencil.png
deleted file mode 100644
index 6bfdad47421635a7e05c51eb8eb8a20982a4a18f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 301
zcmV+|0n+}7P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002=Nkl<ZD9>ZK
zSjfPDjxQ9mF|1y(gkjl+jSRQr;tZYz1pEi#cWrH{4EQuGU%So%r110d<zW1_vGG4n
z4J%i!GFi21)qfC%DaNg#kktUD_~OM&U>c<OOI@8QriKCr3n2X;gioG4^}o2d7>w6d
zR9Jj(YC<zPpTPvC`2WLZFbz_iQc!BJp{j}jMFUW=0bKE;y8keCXJM#GN>K#^ss<!y
z{C`jdS9}d9-dP;MfU2RGSruV&EnG3k#_K@CFf?3Q5t9v8e6IpoF~~0rST(%7JR7bM
zj3Lfrz^MTU{=dAw@ay?<k&KJE44TNHhD`$iqo5D3jV3IM00000NkvXXu0mjf7ovT1

diff --git a/interface/web/themes/default-304/icons/x12/pictures.png b/interface/web/themes/default-304/icons/x12/pictures.png
deleted file mode 100644
index 0478e958efb88b658ad2870fb08627f2c40af2c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4<(@8%AsXkCfBgS%?;I6%t3F0T
z>-?076Av;RN;q2IxM+ughn<~WpRmW`tOIFQJ~m29P8NE4ecVepT@Ux1{ryk4NUn{y
zWlno2v)%KB6;hE&Z#S3!|D4YHKmN;xxfZ;_Wq1GCt6qEff66795Z)Ib877~IE&5$w
z`2X1dqm#EU%<}N}PxtWfc+l0;BcgVSf9A}Y3epk{56^V!Px+^u&2TiKs!B@O@FWX^
YW^MJIb6Mvv0iDd?>FVdQ&MBb@0E??zU;qFB

diff --git a/interface/web/themes/default-304/icons/x12/plus.png b/interface/web/themes/default-304/icons/x12/plus.png
deleted file mode 100644
index e3afb66734bfa629cd884718dadf02142d25d757..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 194
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4PEQxd5RLQ69^T%`4u}6=H0ZKn
zHsf9U{M3ON8N6TJxefxUtL()GC8o2LnE%(mKb!T~jVA}ByuK~}r+<(2sCDrF>2uo>
z1f<pYf|#!dY%%{?|Bz4P-n>8iUsMQ5G~X~NoFKJ>tz^z_Rk@x*OU}cWBWEWanDHXO
r>$U*r!6R87_e8jk9l710p2@(V6vo+MdfDwN&`}JYu6{1-oD!M<^Q=nA

diff --git a/interface/web/themes/default-304/icons/x12/printer.png b/interface/web/themes/default-304/icons/x12/printer.png
deleted file mode 100644
index b3fc25f8814ba17dc91c3982184aca739001a777..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 233
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)44W2HJAsXkWPBi3WQWS7qzU6~T
zwT{pZrWnT?7jky=rf(2RcHgpbvtfwZBfdhl*Qc`PJYkji$32-rkwv17QB!x%_fwYa
zwfDmlw4PKae%NCh^ZM1Bw6jfyZA+wV;*7X=U+!IMxM$NfCJsf1?7Je%dRT+J815((
zC)&w9b<hkI$VuA4dM|Jtmt}gMj-#YlQV;hVZTUm`=VHI#_xQoZt+~|bpX<V^Jqr%)
hHfKEe%v|F;OYPG+k1{^Z5d*rN!PC{xWt~$(699X&SZ)9S

diff --git a/interface/web/themes/default-304/icons/x12/question_blue.png b/interface/web/themes/default-304/icons/x12/question_blue.png
deleted file mode 100644
index 97c006bd48c0d277825131e3046cd812fcc95299..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 487
zcmV<D0T}*?P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00055Nkl<ZD9>Gz
zO-lk%6o%)o)E{Wmq6qq;AX-(lX(0*ygrJ~BL|>?5(ihQ4keNnB*@uEiw2B}KvP@^j
zL7i-@u?U(ntEt7?oEx?1!nqvI`@Hua&b^%5?dB*P4o3xVt$^RB?QL(ADJZ8JX}=uX
zoK9z>R}j>+m_+WOgp<M-i`>I2s74ww%wV}Iy~5(1uImUZpBRqaWBj0qkysJ^VI8}&
ziK3+uLoCPht|>ZYEA@`P^&4a#O%#kz78kc~um$qi7T?)T#B$VU?!E;3S{@xs8H_~l
zU=OMo*wa93C{jR={~E*)%k76Y%;UU?_Qf>X7GyNcNU#TTkn}fbPbPW;S+vZ{Acj~j
z9NILG)DN`INobx)p=nw~{H6@iGT3|>)O%7)BZgSkQl|Kf?j;2^&IDR4(?nE5mms6g
zeT7;+!8Br6OT5c9rASEx&tFhA7DwA`5{I&Z!H|lo(Q{N!#+gP8u|H$={)~0y)IjHg
z2>Y^(R?j8cEwlg30BOXqvHm@rS5Orxh4ig~m{h_+x&+0_sYcr0!~Opn!Bw9Y+1V^p
dQ2zgGd;_x_nZD4hx`_Y)002ovPDHLkV1jSa;)(zO

diff --git a/interface/web/themes/default-304/icons/x12/refresh.png b/interface/web/themes/default-304/icons/x12/refresh.png
deleted file mode 100644
index 5c76d9b7c39c0656a486023fad440185e4e61fcd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 265
zcmV+k0rvihP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002cNkl<ZD9>Z~
z|NlP&DVTv|4U#$bU@V$$Cj-R)k+H@ED+Y-?TRD+5dvS?u2e3LYA(3S-2T~BZ-5;Vj
z&CUrZ&Lf&(Cj!$fl5Q^|nG4q7zyMPW(;%4*wow>eTr9&*ltBU_i6Q|LLl##kbprDl
zBy#LMF*E?hfSQCbY|gP40-K~+?*f<5Y;Zxb1yzFs1A|y5rUXb#JPW&1!F~|Sw1c}@
zzSf38Jj32fB+afCIplx_u);NfFi?TGWU-B$Qj-k>dVGjw*vr7wksQ+i9fJz&i68?k
P00000NkvXXu0mjfVo_kt

diff --git a/interface/web/themes/default-304/icons/x12/rss.png b/interface/web/themes/default-304/icons/x12/rss.png
deleted file mode 100644
index e918050ae78acf46e11a874d1bff361a2eb3daa6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 286
zcmV+(0pb3MP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002xNkl<ZD9>%u
zzY76j7zgl+h{&iI{RJ$PKSBNh*={xX7j7apSx+gGm<~lpZfB7)m{}QQQJn8n->bK`
z8$Nfv&+~rop8H|=wlRb^+`$18@?eCK!vuWI8QPEt3lyLM9XP>P2`(Y02h!SA>Tpy-
zd&sH*4;ElSm5mIHl#mmQXK1rOpa)R~ZKc-=0`iu&+#EFL5a*o^tX<@J)Y)a6wG!&H
zUV|TNrW8_8WHSjHHeXO-{mR-*7A|~vjzJlo++Z=#<@%;Sbcq{wT(2Mk&0vo-r~EZs
k<(mvx^Ek46+_Ai%KOI#tYQ9k{2><{907*qoM6N<$g7IH+>i_@%

diff --git a/interface/web/themes/default-304/icons/x12/rss_round.png b/interface/web/themes/default-304/icons/x12/rss_round.png
deleted file mode 100644
index c436887723821660e32a64043f7158ea637a8662..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 428
zcmV;d0aN~oP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004VNkl<ZD9>e*
z%`O9B6ozNP1z2FghJ}TVTW|?h?8JqzBGGng-yccSMwE`Sq7exq5@8{9v>KI=RywVw
zp{SP4<D3rhH_1ES$vN+Pe!lM*e!t&Pcs!l~Q@%(vUW{9*hC*%iY3z&F{&~IL(O@uq
zV`uU-AI_kjfG3OQV;VbijmDJI7KnN<5Db+{jssN_PDkLd1NIF#?uYw%N=_N&DA(}$
z%mvND-838xK_e%)fXgY^5z)55@w6)`*N8-yi>+E3cDrFuGA0Zc?~hOn!e*!VduY{c
zlxxJ-Qg2kG=XD{SOi2GSLviU-RF@VfAt`pnLb<M>ocPYHc)1l(+_mdceNC!3tF9mt
zla{LDOm@M+7`zr-;&a|Tn<dy9rgeXgat)s;LuX~^+$>l>X4oHh&y8WYGO@FHl>6ga
z%aEOe<z846Vpy=!2lfmSBoO+%)?W`Nm6{c4uVA&Iw)%cO+`rX`$!a8JH3Vw^U5yVM
W$eUx*O%)#i0000<MNUMnLSTY~mcP{i

diff --git a/interface/web/themes/default-304/icons/x12/security_green.png b/interface/web/themes/default-304/icons/x12/security_green.png
deleted file mode 100644
index f6818153ca30909a14db6ff3d542d3cd8770efa7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 218
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4g`O^sAsXkCJ@UGe8y@bs<stA_
zUefvK0|_4$)1yW%;jKp-Mdno2^RPA_aVSzSHQ+6{?7;P??B_wz!#7T3Nlfr%)pWSt
zaK`;2!{j5aotHj*{Vsk;Dxs_H&)>egZ67u%2$%TA*VP_dC9!0h;zq@`{t5O8QVv-M
z6QyG%#h8UGeiW*=B~6g9&{F`KmHg3uT}N{gTM4hkNv0O%Q%$-PuQD*Wtq*&iE~4cC
PbS#6XtDnm{r-UW|y8=-$

diff --git a/interface/web/themes/default-304/icons/x12/security_orange.png b/interface/web/themes/default-304/icons/x12/security_orange.png
deleted file mode 100644
index d1ba672d95695796898a8287c3bb86bcba77c1cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 207
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4X`U{QAsXkCJ@UGe8y@bs<stA_
zUefvK0|_4$)1yW%;jKp-MgCN6=Vfg^;!vbuYQS4?*?}ug{#%oF+s27k4HRZ`1vRW=
zoY}vKQLU5v@zoDszl$5Fc`^GK?o!*)_F<EPaLlX=qRm%~RLqWi5d6gM!|b7Jk+WF)
za8f~L({WZ8Ugjd5f5$}&1I_?VQI2dVaEaWYx=D&5i@!|b?r!~;Ko>H2y85}Sb4q9e
E0Lhq20{{R3

diff --git a/interface/web/themes/default-304/icons/x12/security_red.png b/interface/web/themes/default-304/icons/x12/security_red.png
deleted file mode 100644
index d2f1bae8f40ec481498dc6bb69e823cfe34df362..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4iJmTwAsXkCJ@UGe8y@bs<stA_
zUefvK0|_4$)1yW%;jKp-MQUpQNU$~^aVSzSHQ+6{?7+q6=6XQ%@Qo8$5*K`rE@QlD
z#+EYqW8xes2L@?rXXagMB}WT*AEr90o!FMJnQ@uKl4*(?72Eh{>)!BTU&-2@Tap^V
zW9F+-$QXFIL8kkEp{tCD@q+9F9%3)L93>d;{>z)QPy6i$pyL=kUHx3vIVCg!0H;Yu
ARsaA1

diff --git a/interface/web/themes/default-304/icons/x12/star.png b/interface/web/themes/default-304/icons/x12/star.png
deleted file mode 100644
index 77cbacdd07eddb0bd9c9f13bd6a893127e69e1dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dKcP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0005iNkl<ZC=~_4
zKTp#^9Khkv_wL$XDJ?A&D5-4)!A1}g2VxvdjGLRg#=*_axahzOaB1S=;0rJqjgC4w
z5UWf&xnSCeO@P|8fQ3T;-S5ulk#e~Vfb)V94}g|%!#cey!X^l*c#lM+OY=010stWq
zj1a&&m0g<s`{=^t@kZ!WQYlX^-NShSKmm9UiC~0?N8ui<mn47l>R?%kyKh5qUH||v
zKza~HCi>Q-C&z7mHWNIYD_jOd)*8Jhzv{!-(5mm&`E$S;@XxR1s&@)mn~jYZ#`48E
zNEQLZt?T=xwfWkM-f5e91KMY)4=Qx(wRPrXCEpz@l{E2*8Hg-Eut+R9ORf-SI;A-1
zOl^lwKUG@!Z#&K6-OaC8Du+!4;Q+!egdK2wj@s~kyHMHhOx;uBe;WX!!#|CG!L!<4
zuacRmYy1#Ifo;)hcQ`r=UK-`<00zJVM*HY=um}AHgJGLdXh;Mt<|o=j_1fyl>30Gc
z01&jYtK(F4wN`MIs`=RMM-SH*-0kJe!NpWiywN((AmT9q0sxC&YAaj2$CqBkqTyR>
zg{_^1rJwQiW9Rjf5>h}%0f5JO-D-B{J~=O+1&;`bP&*kU-wbT*2lxoUf5>sd`&sH+
QO#lD@07*qoM6N<$f_BRCqW}N^

diff --git a/interface/web/themes/default-304/icons/x12/star_blue.png b/interface/web/themes/default-304/icons/x12/star_blue.png
deleted file mode 100644
index 5bb59dfba15d8d6bd0f3d19591dc3c7e66014765..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 457
zcmV;)0XF`LP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004yNkl<ZD9>Gz
zOD_Xa7>4Js@CW<=Bt@DCLHY-*Bw}M>Woy^VG;Ij&Oe|;-9n_`lut6kkBcx-RnN%-&
zl@cwjwnSd%JLsY(c_&}q_xaA8eCG(FC<-L2)!OA?Ys0seJ=_b_NmP?Z*+0iWHk-{P
zOHxYLRHVx_g!5lqRFg*;F}#6wcgvEuP%IV^GFq4k7BHneVsh(|*W^(~46%a4VRzCl
zhw&!N-URxW3>>Ky?A}$-w`gE+C4mE$5kss%=X`j2$F!2gd?<(2>oPt*ztLb?4?jaZ
zFJU&A2QkD7N5MerGTp+6SBG-*g3fiKzG7T5Kn$@$D5$h9QcVoFHH>+5L^HKEe4DFt
z&*aiT46*!3iBc67*+8!t!&UMPnU^NiLLJF+1Eb3tCfMJJ;YV`V?M@@E!WXT=<cwi%
zCkcy3!;mY6+3f_(Zk9!=AcolAvC6+=^+zfgW<bwEl*`PT$m3&`|Hj(BI9W;=@q6g`
z3QqMJ&X}kskFxf~bv}(v|62BVU#XL*?tB_QO!=YFC#OL600000NkvXXu0mjffu+r`

diff --git a/interface/web/themes/default-304/icons/x12/stop.png b/interface/web/themes/default-304/icons/x12/stop.png
deleted file mode 100644
index 86a01e00781284c371bc42464e4225e9ea4537c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 271
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4Yo0ESAsXkC6Am!RJ$Yi$V8Cqn
zAg(Oz|KB%n{wwe#Jr1q0R(5{qmv*c^g-7V{%7<=Ium0U;{rUfX&OM%E3T7TWs~@e_
z^yIr9H0l5S+?*f$%pft9_Jt3Nf(}(G{Nq1l!0@>FNr1?F{|?_B69j(Cx7o+<=R0;H
zNx?MX=<?*nEa#56-M5z(|0~~iU&e|9ETOQKM}4ufl;2U8Kkmn_N6$VW5i7G~+QW#H
z8^0e<O#DC5kY_=6^A#f*PX2%Weed;VuphheM1rr4ZJoV@)Q9;NGCSlLil1{&VH7{L
Q8t6j?Pgg&ebxsLQ02799PXGV_

diff --git a/interface/web/themes/default-304/icons/x12/stop_round.png b/interface/web/themes/default-304/icons/x12/stop_round.png
deleted file mode 100644
index 5c9963e99b1446867afde21dad729ac2bae49f22..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 445
zcmV;u0Yd(XP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0004mNkl<ZC{taM
z-!DR89LCST!e8RjY?x4qF0h#~6E|esmvX1*xM6dHo63zYZLP@>wbfQOCuKRUHWA0<
z#~$zVV#C?KXWu=~=XrlCe!pK~c|4vrpZK<ScW?H>VUxw48oeJ*{=8mqM@UtR*?b<4
zr4m}2CW}2adSqlkq}w-D_0}*9JjY@vyWKDX0T`hW%8Lt9qeq6Uvg-4#aTGIlgq+=m
zt0gzyn@xO}CiInM<ZM>yks+&aoz2oUF6Ugxh(LCH46SMvZ;b}>u32P6fF2pL%6=r$
zGS4)mog=syb|5ui!BZiRmr4aG>j2J&honb_tPDJf4Qj&B95$R<`=M_HQQT6I9PE=C
zJu))DY3{F!NKa29Vd+Iu09V0v=nOa=LhF$p8M!2GBv&Y)ei*@VcNgMT3ts9qygoc2
zF=7{5r}W6kP4lQi-^W^uhH)}6isZ}`wE0;iC&r{kkBmIl-xtSG8oG|VMEt8nPwmge
n{eK!eVx0%ksL5jg|7m;zNcfLfJLGrQ00000NkvXXu0mjfVXnp3

diff --git a/interface/web/themes/default-304/icons/x12/upload.png b/interface/web/themes/default-304/icons/x12/upload.png
deleted file mode 100644
index b1810b31b5ac4ea872a798ce7e1c89740fc6cbdf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 271
zcmV+q0r38bP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0002iNkl<ZC{tr7
zD=T9tFR5V2?g?ecnCiul+UF&b-0%7ygp+z)MKY&)gXPMKD;P>kOBono8qzxb8REJf
zgh2|o{mlbo5Id^VN*E-EqM@X)lp(g!T@a*T`jyE4Gp|RXXo{(K7A!6(g=qNy|38QU
zmVjZH24pdi8jxDBVh}!g@+3$AEIH?11Y83MfaGB6z#5)EfByf@<C|~|$TolgNDib1
zMFX-8=o&zB7#eyy``{XoF$i>b_Ttun4S?h@G!TQq8Y(L*ePAI#2m|BH2OJNiU;v8@
Ven|#zn2Z1b002ovPDHLkV1n3yXnFtu

diff --git a/interface/web/themes/default-304/icons/x12/world.png b/interface/web/themes/default-304/icons/x12/world.png
deleted file mode 100644
index b7f9a8e8e77c606d08e9dce80f2fb6ac2e24539b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 567
zcmV-70?7S|P)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG00060Nkl<ZD9>$D
zPiWI{6#jvphIrNU4&GL=FolUAf^=Sm9sF|;5y68BUSyNO^dPNEqd1k>#<t0lm^N#h
z(zPx^H`lFAmo96yt<I@1c9~NTT7Rj>&!jT+;Nd+Uyzl+{-bWaQA+GuTe$V|Nlh@=p
z)s(EQ%4u7Xc*+LH^KNbj*L8tFV2I};v}C@<r1c8d3;|;+Gcez`Q8C{l%5l`ibPJs7
zJ_l?kSC?>lE{KEE!`LsM!}-}L?iHK3xDbQ7QbIHwv0W@-8AdnE29CVA2@*Phq1g#!
z>OUY`TR4^-0pa@K$z6xOWa1&q>O_+hbkdp!i4DS+zl&&f1KAn{Q?}4MeE~i4AV}mW
z?ifj=!~`X|q}Ca(syLju4aNG5OzkJqtKV^@pg2vu*exDM&y){i)g0ntx<gV4wUb)g
z#G&{tc+*!gQhbS-x{b$`7W%at*d+|0SG|P72a1>=cZeeL)Ld`lvaW&fUhI{97+owN
zU;l-PN&|c3Q#g?cp!}{4k&ja6=yBbpQ)zBt-}AH18Xjkg-klO!UdMnoibqxpbEP^S
z1R1?cD;Eyg)z&7?EIh$UjfJ@U4Wju45n~%#vyJkb4RE2Se`wu#+_P|q8r23C*S@0o
z$;SLgilQ4=YH%9<ecZp&U>#{BB!NnjYztG89siFsegpfIeo*3O_n80y002ovPDHLk
FV1k&Y3K0MR

diff --git a/interface/web/themes/default-304/icons/x12/world2.png b/interface/web/themes/default-304/icons/x12/world2.png
deleted file mode 100644
index 2855f3bcce50f9203b636d35eefe2b1e64dc881b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 611
zcmV-p0-XJcP)<h;3K|Lk000e1NJLTq000aC000aK1^@s6R&`wG0006iNkl<ZD9;7K
zPfSvA00;2z@An=&0zuve45A<$W@V^Ynu`@3Y|9C?=GLM=TWjmkrAw!}w=Ug0x79qj
zxp`=-Q(ao)k~K9ex2IE5@*yJd9>n849>3S;L(=IqhzV#xOSC&^E;tmL*>!iuJj{*g
zPT!I&NsG+T=bNfrBOC=6i<|&Ef+T-Id^?;Oe|$D^J|@{^ArTo7GN*H~ZrCv`v+awl
z(pa%{tHd(`adVu_+LC6<&sA~La~oIu*Wl%R*le!jlky&`=ZcpCJeeJk?ALkY7`?xD
zQcsC(4Wr>v#Klvfgu+IF?fM3EX28q$qR@Ys3aH#8o{b2%2E<-G?R$vK(JXWVfB^rP
zj$&&MaaR~2yN0HvLiQV3-V{mVZg2`$eNzAj5C#Yokdy*muD=1(42T{-65argNBjwH
zdh)?D)7KGxwpXAr6LEJ0764`erqw{nY~et!qmM)}p`>(fVla~lM&pqe#n*VZ`w>3D
ziFi*O9-9YKp)>+Q4?dJXBgrM<lK5|QXJc)lRaP+Qio!4rJYRbSN!<dm07bLFx)e^k
z1A$Ht3cr6XP^H$GJN#bC4|V$iJH>=J45#TrRc&LxT7|9QM3%n{{)dq-m8)}HC^Xrw
z%gS<%?40q0+|fI(dmySC#mYWP2UXPnw$S;iep$^Io^;IKZJtsFqr)xNH!3%xMPIHE
xTc6n#{)`a<w6*4vyd^Dm4Qt*ogc`>){0Ec3?cV{kM)d#y002ovPDHLkV1h5B5fK0Y

diff --git a/interface/web/themes/default-304/icons/x16-list/accept.png b/interface/web/themes/default-304/icons/x16-list/accept.png
deleted file mode 100644
index b0f56047f99201d98034229b9346111d361457dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLo7}w|M>sko>_H9V-j-#
zW6i8LZ{PlB-pI&o*Wh1#`f}6%0B4pDQVr+YGusjc<d2%A2q&^FxZSfxGLO@Tag*YW
zIlb#7<+xA$Ym#*8Ih!Cg|D{6N;kPkw&b3K4oEA&>SHDx|X3j8MvBhMuM1%IM3x`?P
zGv44ixLooucf=&ExU)Beq}_~;%?{~2X>ufi!Jqwu@!d<@qCm$nc)I$ztaD0e0suAC
BOo;#h

diff --git a/interface/web/themes/default-304/icons/x16-list/accept_blue.png b/interface/web/themes/default-304/icons/x16-list/accept_blue.png
deleted file mode 100644
index 128614830de4dcf06bad4a47733dffded999c57a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 466
zcmV;@0WJQCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004*Nkl<ZILoDz
zK}!N*5QhCJ{fZ79I&|<L6bJ<cQ4$J49fN*AbO^Q(DufNuG!!}nog}2BOAtj8Dz>e<
ziba{JY(;7$)4o%?xVD}gc-U`e-gkDtZ)a_`o)84VrIFB}9*}d{`h`{;(nyM;Na=K%
zR8=KCutp9wXrQ$+H)63E8;bQW3SBp7EnZ=;Mh*cDw5BHLs+)sXb(#*BEJ3ZSNz&Le
zUJVhrtkGmpv1C3{;wv<WzwNltAc6fAYHf1*^Onqp6;ibN+5H>eLkkbQXuyZGcTuGY
zQD)rHqOqO{YKGSqKlP*CA$LS!Ej;jY1H|fanH)Ze;&&<wmk*0H<(Db1n_C@P(sIy1
zi!e1<IVzD;lqgqi8iri;*Zki4rp0K1?AuueT2lkO&hGgWjd?RP?#q(=(lllOX3s&M
zYdX+&Z-EaHrqRt5<JifNTxqg-AtW1l9ca4`(fEws(?=TFxMl3#6wL)B<6Z|E(`W1*
zq^<Y^4X@u=g4(}9vKnRS`ICf`GI{nT25aQ{j`F}i(;&a|4+?drgC-PTv;Y7A07*qo
IM6N<$f<gt$o&W#<

diff --git a/interface/web/themes/default-304/icons/x16-list/accept_green.png b/interface/web/themes/default-304/icons/x16-list/accept_green.png
deleted file mode 100644
index 043e5c694399b3f548f1fb9623f5a74fddcf5c3f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 296
zcmV+@0oVSCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002*Nkl<ZILob*
zp$@_@5Qg_CJP{s4DiAmlBtfJ01jF(UOGsd10)d#BK#?HOqy!YA^lK>T)&s=2<dUxU
zfB$;dElFCDrm3=7*fgzVPbHti7JD|UEXzz?*G6k?e6VJZ8XB|`e980N0jKNHtPV@F
z*w0+DW{*IFwqb&+hY=6geKDy8Ce^!Vj`j;4ZwC#NS33%Wg8n$-H<)^P-neJhFt8Z7
zA%$<BmZJzJ?vI<Rp@o5U1_Z+b;4KK}yGaDIhXySX8MFZj77fA{LK6x0gA7}UhUiTs
uSQ?^ujhIMqbd8-qq`!R1oqwh-zw;BeXpIo~z}rs%0000<MNUMnLSTabzIjss

diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png
deleted file mode 100644
index 517ee8e6375863dc9339ae0ba23221b6b84f70c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 435
zcmV;k0ZjghP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004cNkl<ZILoC|
zO;5r=6zos&r|}E$pz$xL*o!go&<hu%A<=X7gq#ePq|vMx2!5mnkSbykga+ENv!R=o
zP%pgXCGGB;*`0ZBHEk($UC%{XjuK1BwVaj}(dI^!wqY0$LcsGp#KCW_agQ~uT?HPP
zrl~+d7-BXLF!ks7ozCPxgEg#8k&rb74nj;K;Bf5Y^Lv8M#|X~*54@3|B(ardUhO~d
z>suG1<w897(f1~@ZXqW}f-?1GfltoPk<V|UR`0-WxUicp=20Cn#F9XoM2$)Cjdh3p
z!T}t|L9tjwRkTri?8)qXjU|RyNx-0C1h-z=*xf6jQmH6eB(UmTMZlXeQUr9HCtLSV
zI65{^DwR|#Nk9pi1T18$q+#75n$7@M*A@!;p_D+wtcOmf1Zg5YV5<nG+cb>Drx%yl
z+TOwKf?$=2s*UV(5*%l_+E6A^W~z<LgTy}blq5lXatuxl(yCGB6{(Y+F!{~3%u!zZ
dF|G5Q{{R>5<;V1&u15d>002ovPDHLkV1oQg$uR%`

diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png
deleted file mode 100644
index 14de6fe9b21c78ddfce7930051708f85f126ce09..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 428
zcmV;d0aN~oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004VNkl<ZILoC|
zu}Z^G6z!+@X_+#qUm#K(EJ(*Xm_ZRbh&UM`h(pC8C<w1ZK+-{L1Z%6crfqCX(;jmk
zzK|EvsTVFJ_uX@H&$%z9QZB01s*z+PN#v3>qqHiL!;K_`Wm)h%4`CQW1)o{t8GG1U
z1Rgk!lY$n@CFb!0(^-t)>0G`u*u!3pgsd8PvBV?+4x<^qekOST93%J`Aso-LBqG(!
z(emK-TPFp#J43XB0leov`r$<O{mU^((4fBjmrc{e@o63YOE(1zzX#FkAx`>;A(jNv
zBx=l#&3X_7sMQWpKfjdV$EU8$?sp_H?2!Zv8kW_p>I@+Sc6Q6KZ|)@l&lws4-Og%O
z^(cy9+cwI36<psniwQUmSCuu4b=P&VUpc_V)onU{kpyWXJ>aU8VVhgqI666l+kDl)
zMJA?e<ert=jR#)?s-#S9jrohjJ@YGhAZrS&U8JI`%n_-Ro-p~$+RCfE_RqA=@B9b*
W%;U*4R-7UL0000<MNUMnLSTaG*uX6S

diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png
deleted file mode 100644
index 44f7ea8fde9ffd93b96968d97528804fe30ba44e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 434
zcmV;j0ZsmiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004bNkl<ZILoDz
z-z!6L7{>Rf_$yqvaN%MXE|hZNMt0*?t(1~GQR>hlsUz8t5-CY1EiDR(EN#-7onvi&
zjcv`uCVHIboAYhw$FBC)r{43v&-?WKb$mWYD2fs=iJ8CwYXM)gFq>^AaaC23OeRsO
zRA2>j*4U$lTCd@<rfFi}zVwaN%Q7aSF9PPQF{q)|W<pnMIDAn;|60})_8Ls$a?e~E
zW97VvzOdn9a3d>VP7ULKI{_NRxIevENAGgR#oTcLAN601??1{KwVdHB4a6ZWoxY++
zO-si1^3dOE@*w$b^{C|xXN3V{bT^0Y#S{YTI?jwLoMH6|bB4`eWG4&%{4E9|cR0zs
zy9}&8VQw?vau$xB&=tCo1h)*N3t!S8xNXQDwT)X4he&bfOv1&KmP57ngW*kG)~Ibf
zM0t&&!v}OsU%T*!5(4Jb*sjs}kY=NKv`=1n!k+6Pc|GOS^Cy&p9EKt(0dv-xKIN8w
crdEFEKeFbe$qEBxDF6Tf07*qoM6N<$f>@c#5dZ)H

diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png
deleted file mode 100644
index e321918ac1bbe3789316f18023ebc61e2798eb1e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 436
zcmV;l0ZaagP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004dNkl<ZILoDz
z%}WAd5XSve`YSqg=+MDKhal+CCE82ZKnQ~976ri;Qbe#3X+;o45D`mANI^v;Noa(a
zyNUK?scc4R6w^LK`?CACo_yd3vop^O@7D$bl2lbyY~nT~ft(U(CcD^Xlhibg(&;o=
zmPL*bBZnG1@cK1ZbzSF%yUG`>CaN?Mdu9+L2f+icX9%V`&5?@=^{?f9LCrNJDfWz|
zK`ZBF>Wi2(xRGZN%fJKuZAZa?IQD0h8`Qg;W5)L%=)LhnbH^o-a|17W(2D_lNK2<L
z)T3pYvAv==K;yN}-%bs{iyrjy0BCf#K;4TO2C=L&vqs9g;i-EDjO^qoIDf++mUWVQ
zqk-tHr!EFyISWUR)D^yFLffWj%$7bWv}KAKfY-eRK13KhXHv}Yra`s(H%;jUk#hsD
z`w+!7h7a$lWBQ7M;S_^d1|H8f$`5HaR;2dHOJ7j?_mKRaa^~rS)Pn*IMKcUy<eEO^
emVc&Je&=87#-zy>EI=>-0000<MNUMnLSTY@U&34f

diff --git a/interface/web/themes/default-304/icons/x16-list/article.png b/interface/web/themes/default-304/icons/x16-list/article.png
deleted file mode 100644
index 6beaafc4fdbb5cbb382e0e2f2434df133856bd83..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 361
zcmV-v0ha!WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003nNkl<ZILnoh
zy-ve06h=?dh7>U%RjeHtVS;C1;{_NPSu^%AI+pS$@kkUgAjHCe#LiHag!*0v+liAV
z1uQwTW8dTB&ylJEFr7~Aprhq^emowJAN}0dMIj)|GFGCff(D!Ju4iiyzZQq5D3Gs&
zuWw;l7#6v($OV9dlXKEEolho{qp&7!su}?!YP;GFFx*L6A^otpSP4cHQALEZ7~tde
zfn_1=jt=>Jf1U%;8bA~W01>SL-d>(s!>s|d1t1EiXBQavZ!{cme>-ajh-wKaLGC(!
zO@B9VMJ1%lL)2~R0*Fi9>RaW|!swq2>dGGA%^Ct7uMjAU)UUJEkGlceNnB;%A&pQs
zKO@yiA;@N9ZD2!)NiSl5Z$KEfx{tb9((AZ_5xBX!<iG6)XMH)1!27qi00000NkvXX
Hu0mjfCdZd9

diff --git a/interface/web/themes/default-304/icons/x16-list/article_text.png b/interface/web/themes/default-304/icons/x16-list/article_text.png
deleted file mode 100644
index 6e0b9de5bdb92439061543b9985a5b591997b7c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 383
zcmV-_0f7FAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003-Nkl<ZILnoj
z*-FDe7=`nezEtk=04^6c;*A%2r6MAN8}3#uUF{ZYmn@S#>2YR4N>XQ9419rM=6wGl
zWE21jL(??q`W`B}&e^SGY;J9X?WwA|p%k7xrxXS09Ej;FO6CYDL7Z~f-m*j}U|~N>
z7YwI_!}d<9(~?9eU{mRV1x3Mq$0<pK0#;WhI6OYb{?QqB4o>-6DDWb=U>Tvn4O19a
zh=CcRHx1C4_-KuNG)5k3-yS}OE<Ym`I6;E`EI^lr+cenx@lj`CBMZOv3CJpe?I*&z
zMM#jy1*RAOsazenc%_q{y95tk4sR(H%-ncwgS@3sFd;EM4HxhE)E>bjoyz`!+m?;%
zrUh%2VC+O|8(7{7!N`vALZ?1;v#ED&8#hfGR}Bl7bqg0YlYb|vfL)^eB872AP$Ih{
dQo(=7bH6sb7=fpEXLJAn002ovPDHLkV1gKwo`L`X

diff --git a/interface/web/themes/default-304/icons/x16-list/bar_graph.png b/interface/web/themes/default-304/icons/x16-list/bar_graph.png
deleted file mode 100644
index 31920e0582058d7665c094910e2ed47445cde96f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 260
zcmV+f0sH=mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002XNkl<ZILoDz
zy9&ZU5Jhjq&(zK?K0t+t3KnTp&_+KqX>uopI}2lxm;@C~blYVQ=ghD$Gng61^T^QQ
zJl^&2=lL7Z|8)7Bbv++~&IX%!if}vlJwY@BUG`f70MHSl*}J5my+H{$E@y~G!_NlK
zgQI2;M*x5dp_K14m_<7b!gXQbSQ#h@FZ>QjMUjfu1`mJ`$~J)9BPjvm>MeK@+S(xZ
zl>wC<4H^m3Od#Rg0Fvem9O3+}G?15sz^vHXWU=b>oiC?-004K6_N1cN96H<p0000<
KMNUMnLSTXum}<ZP

diff --git a/interface/web/themes/default-304/icons/x16-list/burst.png b/interface/web/themes/default-304/icons/x16-list/burst.png
deleted file mode 100644
index dd9ddd6ce2d7eac8ed0bdfa325f42861812fb12e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 534
zcmV+x0_pvUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005qNkl<ZILl*T
zzyelW`(prOue$!Xfq_)8@WRjYbI<({0JAUt`VSLdaN+0tC6|6HVAVAB#FqpZd&a46
z`=_7$+7HA5K=%KsC%!5G*$qJUd7QTPANf?!clgu!o`WA9fb4!C`#*>eqI(a0oDZTw
zYCvkc4}LTNiX~te(zf^g{?@(k{<rRV_a026;g&t`8i4qG+unEQJNAD7dy%1P>#G1D
zZm8Vy(xH0mtAv{Eum2Ok@9THGfd?`}`Q{e_Wt*Nilx%$d9*F-F!o?e&tuI>ttO0}z
z*FAH98<fBHsY1@`C-;H)KN0wS?wTk4Ks^QwiHq+WBrSQ+pR)A9dm#Q#1ilZ{gNVxb
zMfV)y7T#+B;n)TD*2gTk`=1E>K5G8mhRAt$1mFe*&%9|6GV9j+&{?<s<HKRIZzqJ$
zx$O`(=XOKb>{|g~%|27E3HVLDe%^1|jr0D~ZZ!B!yZ#>weh;RnUf+)q|DF@CCU{M{
z296r{30Dg|CSLsy#Pgx_c@Pa0?+2=J0P)=?Tq(erA{~1!op<WJ+~C}IS;4XQ(toGk
zO94QBKadT#87P;4RkL-+1qIvA3-e)oo6Za1jAYk!Q2@w3PjarbXgvqd%9d^C4X~*J
Y05!zCt4nf9bN~PV07*qoM6N<$f_bk95C8xG

diff --git a/interface/web/themes/default-304/icons/x16-list/calendar.png b/interface/web/themes/default-304/icons/x16-list/calendar.png
deleted file mode 100644
index f278eb34cd5afc1be22a52a81f4a0c0bcf949443..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 335
zcmV-V0kHmwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003NNkl<ZILl-B
z|NlP&45X!{{Rd%U*<b)N047Kdh8r;P$XmEz<IWdwcG3DraCXX)yKr{ctQ(jH^c;Bo
zzisbJumLsOp8YT1^aN}`?&^pCGgsUP8xX(n&i|-+w=fN8TXXt<)2dVd>z1GRU$x};
z|MEr0{uj?b`agfp;s4n)5B<-We(-<F)cyYxC++(mJ7MqtsNOxO2ILf#lZ;Uec=_%d
z$r#0eXRp72v9Yl+3Pu-)@j)2HfX6RCgE2@EjE&AmmqRh&{<Du*F-Q|OHVC5_aOcSf
zI7apYx;Qc)#eka+-($rfP1x8VjAFpG`)|P*qzJ}F=cCJ^7;yQ{8!$$X1#IFlF%$zX
h+<HwiMlpa~3;?Cyy=0`4Q;7fo002ovPDHLkV1nJGnZW=6

diff --git a/interface/web/themes/default-304/icons/x16-list/calendar2.png b/interface/web/themes/default-304/icons/x16-list/calendar2.png
deleted file mode 100644
index b121c78e58e5d41fefea64d19a896a8e6d347333..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 259
zcmV+e0sQ`nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002WNkl<ZILl-B
z|NlP&45X!{{Rd%U*<b)N044~-xz%lOc4kE@oSj<M0%tcgw?hnq88Gq4TexK7&KGcY
z(fUVlcFK~waCX?N8<+<49C-b|ZSPC40X5s6{V(721Z+U=>WBX`SKJ315Wn!w|EPJl
zFbyCV!wq=(?i&~*vkCF3YXHSwxc}@U7$dV`{QnXXU^a+GS4)%uFwN-lC<fel@&SyI
z*)TpxGl&gy0kRzR!r=0qH(-p+Cd8+%0T*t)24iG4AwE^Y006$et`l+7iXH#}002ov
JPDHLkV1mxZY!?6k

diff --git a/interface/web/themes/default-304/icons/x16-list/cancel.png b/interface/web/themes/default-304/icons/x16-list/cancel.png
deleted file mode 100644
index 0d40cc63a584399a374541ad8b41211104952f48..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 228
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t36#DLo7}wConW^*<!+|@Q<H`
z=SaeYC^m_P%(}pU5Art!N*dNkE)z>*h+t^jDA}}5GE&!%Gw0l~Wo-+XoQha-6`xq`
zh@Z$?Ib&|C=;C(%Htq?$J15TSX)0vZ^J6}D{P==|Icy7#n|eIlcp_kp#A@*irti7G
zH77?XEb3m!qO|GRUdMd}J#xJ}o^WU>q;Lez+9<h6`G&lyeS!tAX6}OJ!ZXsQIH;If
bAHKoB8Xi}^T(?mf=xhd0S3j3^P6<r_n1E4}

diff --git a/interface/web/themes/default-304/icons/x16-list/cancel_round.png b/interface/web/themes/default-304/icons/x16-list/cancel_round.png
deleted file mode 100644
index a987e300750e80088855fbc4099da67189cf2a21..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 461
zcmV;;0W$uHP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004$Nkl<ZILoC|
zO-lk%6!oX{lY)@GkS1-i?-oIe7A*{HBe<6`B#O)*;4Y2IiefArW$Z&|w7_bil3Kgl
zoLe)@OykN6hj-q+=UnE!xzFQqL?jXsbYygp1IP)UexVnKbmU{P7|F6s?RJ}t07nir
zXrOg7H`D1f8@}sx`beedB^qUbBZq(nT3ZuzHOz0vNmAy5u0YMwByXM>pN428kEjv~
zQMX(sWp#y0vmyh$mCNx84dU-O0vcp+zOP!13NwD{C<+U(FD)-Iz!A-hbJk!F54>o=
zm-KpgKzDwD3X2QW(=;~pY8r#No<j{9XyJjE8z3IG!z4}l829r*vx#9w&Zt9+ur*M^
zTXf@_U`Rocx|(V>07uTKLu+e*&r$aibTv6fw_<?0>aQ8Am7@j?wALf=C3e&*<;K1A
zewtwe_SXS{0nP(eDzXN9>m{1M@i`Hv%V{4qvM0QrjgBzDTSb|q^)=Smexq}cp7wSr
z>m7ClYX1hwZInN&6?%;CkhHnM07tIxC=dLY26@gu@|>qKSeqP600000NkvXXu0mjf
D>M+U|

diff --git a/interface/web/themes/default-304/icons/x16-list/clock.png b/interface/web/themes/default-304/icons/x16-list/clock.png
deleted file mode 100644
index f770a9c671fd9b5091fa31beb1c1d12dddba5eb2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 419
zcmV;U0bKrxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004MNkl<ZILoDz
zJxjw-6o&It{1pxk4h{|ug5cnorT;*1R}_RO1t~&AtXf2h2u?wZlrDm_wiY82>Q{-<
zXl-Lb`~o@VJ+;@|YwFSi58V5n_nh3XXqpm+Vdw$b08)UaYuzG9_63wo(<Ixrsnu#x
zCoqPF96azw75kQDalvi#lQs%I&14=JjG-amfmdpRuASm!zDX0CRc89Yqn+}zm?IZz
zQWAT{(hzIM4H{402-2rM>tPKZ#LsqgG{|Cq*NqPvTfLIlF1Ej@>hPilwP?VHv~pCZ
zQL`ekRcL=r)!{`AYPkVoYR{#SWk({Ff8v~~!;6p_Ozu``c<Dlb`OEtk=fZj?CpExw
z61f@;#m|{U&SOL6@r`1sOQHYfYtk0@5Mdr%IAi84m(nM7F;{^%e2C&2<A?V&Fkk)`
zc%*AoAJSsxj{0Ydks$ZyAw@l9$9pAX-=)~P!(a@p>r?LeXX@p5{sxCknuNZd%K88R
N002ovPDHLkV1fc7zhD3W

diff --git a/interface/web/themes/default-304/icons/x16-list/code.png b/interface/web/themes/default-304/icons/x16-list/code.png
deleted file mode 100644
index 3791cb592817f1475b17061c962fe113b92c3607..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmV-H0>1r;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ANkl<ZILm#L
z%Wl&^6o&IiJOgjg4HQ&vLJg{f1V}{{5)Z&43s5%P3ThQ7ZN;T1bU{;<O5Lz%BNiaF
z&_Wc)v12!J?3uC0cJgz^2C0#qj`V9RpE=*0%bWs$f>OC$#%U^*N@ofu)_=dkNq}0>
zV2CgtLXv`LkSGt53mDP|lQCRBh9e>zvsB7f`_UbNj0N<`xyO}bh>n*^+4dUV2qYJv
z!tIi?t(@Hu?Y>N;Y}JiztbW?U;)hNAOE(J;;Q$uhXewt%LhA*I@`{=Z;Bo+iZnO#F
z@Q~7w@O+A<@568e^e#`%sIze#X8~Ri!*V4RP@?k1#@PqIvHORkxNhUlx`l=%!2C2N
z+qQEe2qL;!Vu75mywEW5q=|ZiW2S21?q?gf-gnURQh@8aS->xiWA=@XON%<rKi5$E
z?!pxzjw~P3Z%y2;b}+SMU}ftNLWp}A!2HfJuD{YTS<$h&=TOc*4h#;B_HPY_i)5Q!
zGjU;F1LMK{4B$Xxm|N>$`kjfXWdpT+4}B`;Peb6^LJKqW@7%K{mNyO|rJT#Qk!oP{
z1S(&9xcSk-Wy-nU61e)Zg&Rw46rVN;n7+&~4D;J~WHPj=U9am7CRR-B5@3>wS$y2Y
zzRn<{csxK25u;Wz>OG@Ya@qqKLePA0C5n({EdfMPGzxh5==5<O_Y(gCXEz~eO2Kf6
P00000NkvXXu0mjf>BR^b

diff --git a/interface/web/themes/default-304/icons/x16-list/comment_blue.png b/interface/web/themes/default-304/icons/x16-list/comment_blue.png
deleted file mode 100644
index 8bc780f4118869648de4b88b2eb4a1ce047e068f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 328
zcmV-O0k{5%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003GNkl<ZILl-B
z|NlP&GB9X3?Eu8<f%rWT|3|{_q2dlG8ej$hB?N$Yzir34|J^$t{Xc#G(|=?D;)BFN
z@*s5}^>72An$L&NxcdL;`=9^u0gyaM9Y{Uc5U2t3K_-9t{^vh20HhA;lKC(L-h-S+
z3IM4G>4O>Yf8X`@BpCow57GxWV9D_pBpCowk8HsClm$0PG619=qz`6*1F^0E1>lSW
zPhn}p0XZEcfCLLy+{PJ|H=cimg+2%;pd=)uR0v8WV1*mczd;E!q(tO^krL68vjWHv
zSZag?7!dbkD8^v`I7~pGZo_?4ClhHvf!Bmfu#kR_k%5RXU_R7VP<l6Dzz1*`upgdT
a2mk<Fj${$D6hK}80000<MNUMnLSTZv9)PL<

diff --git a/interface/web/themes/default-304/icons/x16-list/dollar.png b/interface/web/themes/default-304/icons/x16-list/dollar.png
deleted file mode 100644
index a8a2b53051dd55feb3c2794e718c1c2e0db44c4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 136
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar_~TfBgS%&&+fD?Wg94
z{}p&dfAb$ruuS=?aHiorgNe@;#{VA^n%EX(98fh&U<;686FGjUK1<?5ea3O7K(>H6
jLMtbUub3{~X~@7}*VrvN<3su{pwSGTu6{1-oD!M<Z1gW4

diff --git a/interface/web/themes/default-304/icons/x16-list/double_comment.png b/interface/web/themes/default-304/icons/x16-list/double_comment.png
deleted file mode 100644
index 574729c16edc05ca302768fed50595a99ee3ddfe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 302
zcmV+}0nz@6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002>Nkl<ZILl-B
z|NlP&B^VA28csI=@qaA1ABY7QZ~>4c5T6GrMhBn1|M@@Tz*CSR?}69=mjUx}X~y9q
z5H3JA0IV1tfW$$zqsu*g|MP$0irfF8t`=axX1mvfOaC{XfAb$7sM~NKWXOE50jKYO
z!mynXfO!#QKmxiqh%o@B4i*jtFh7HUZO1vR;erf6u7(?c6rKGk3vPh@2g10(zU%KX
zV*{3$x_3N+1<-v^U@kfS0!1@O9;;@k0qdcX>!B`E0OI|y=tPP>1zd^hJUD7l#rA`u
zG<?R@|IkE-J6Yo}^gS$3FpvYFniFs;pfo!J01e<;P1_qX5dZ)H07*qoM6N<$f-=K;
AJpcdz

diff --git a/interface/web/themes/default-304/icons/x16-list/download.png b/interface/web/themes/default-304/icons/x16-list/download.png
deleted file mode 100644
index 2a4ec44c7128ae504de14dd830a4685faf3bc9e2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 275
zcmV+u0qp*XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002mNkl<ZILoDz
zI}XAy5JYo1E<sCA5h*Tw32H9F2`KCn(2^=HoEv}^%}QfA#!mPY6HEJfo?SVeh;*e6
zr=8SPtL<8V`{OE?=P~JL!1=aUeFPYWL7*0Z`6>X3aU7A96$e_AL-b>eNzGe;5~9rn
z<QuO6DAb|{5Vbzfv&0w|x0it2MF>HrX;O#+5b)lswnjjWb545_05l}BEo(#Z29j;m
z0+2?a0|HP;2%DLM=)hY0J_0Rr9NNy~5L~MR+y(#_lb>6$zV9Wy1BxT?T#GmVg>UpX
Z-~}oL`MF5=`Gx=h002ovPDHLkV1n<=Yp4JK

diff --git a/interface/web/themes/default-304/icons/x16-list/envelope.png b/interface/web/themes/default-304/icons/x16-list/envelope.png
deleted file mode 100644
index a98b125f1160b3148d8f0ee75d9c6211c4a776a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmV<O01f|%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002FNkl<ZILpP8
z-wMJY6o-9UAE_tlDv172P|!sY(b`t6DJ`aU9}%aWHD$3AgS^<q4-x&oBOYY{z<k2G
z7jVwOC#B%=eEpR#L9Z_$%~UHi2~D}TAvj-Et7Lin!1Ks71))?<A_&PQ(GH%5gdh+K
zcBv*MxK@Y92SR}G_M#n(qs($hD&e|1!Ki?T0U@Zv@|HV^g>7&?*x%_cU`1OsF75;+
s7F?Y)EMfz*=tmd4-htOk?EEvm0iQ}R#kSS9ZvX%Q07*qoM6N<$g5~{UnE(I)

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_black.png b/interface/web/themes/default-304/icons/x16-list/flag_black.png
deleted file mode 100644
index 0b453a5adaf7264c42f68aca488c6ea9598e33eb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 580
zcmV-K0=xZ*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006DNkl<ZILn2S
zJ*bjV7{`y2A}L~v-uzm0P#VNQCD2KDR~<wp718kfTUT*#P6$mW+g(BeaS;Mn$>h?K
zE)6ZU-C7I&J?BN?y(ZTKKMv>X_x{gwUIu{W^LZAJ$C;#QiMND_cySu5)oM`xiBR%Q
z{4Bd5s1v_^J|Exwi&*n<AP~TIyM^2B=JT)q6U1UMf#z<tS}hWZ1V*C~mdhoaPA7~;
zBgW$~*6TH9vl$osAa10BkI7^b3WWj=hXd(!8vTABo6QE(=@c@V4B2cJlgR{!!vUdC
zh)do`1-GqM3tq36FTn5jqf{!12lo3tg25n6CKGzS9_I5ocDo(qayg`e=Y>K+JfzWR
zpx5gW4u{e0cClKmuvjdhQmH`K6t6NE4ETrM->U&J<|zb05L0+O9z>&2*lacohr`eO
z8dj?nX0sW`!dlJ+=3Fj!SF6>;xH_E<27`fben~t%_FswQ>AB7YoNB#Z7o#ebN-+t$
z-(=FkC4rh!d}%hDaJgJ}w8wbbOf_KV?UH~al*?sgGMR5wgC`b?g+(F}Mm1sdI*h7+
zRlq342mUIZPUl^vQhC&Fw;4$p)rV0LncZ%GSU@}@K%zg?d#M-a8;u4dF{2+%O!AO`
z^O{SDHSzeEj1`MT#uKGdsjGq;;wSN!NS<Ah(LZxlz{wm_d?y^zwQ990p8W@6aDyxN
Syre<^0000<MNUMnLSTXjr~{V(

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_blue.png b/interface/web/themes/default-304/icons/x16-list/flag_blue.png
deleted file mode 100644
index 3e3609259fb0ce3b4cdc1980a55be9836e462ad7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 681
zcmV;a0#^NrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007TNkl<ZILn2S
z-AmJ96vv;7yznoGUao>xh$SwKrJ!~r3N7=ZEKP0uZD+daS}7G1Ole7F=@fjMscfTs
ziAvcZ(Ij8)3KEQ7L9kR7#3HgNV)pGkKNOawUVM3Y&U4O(^L)<{00a>UBU#0M>J|s6
zLsf#YMW1Bx#Awa!n$^1|-~F2J!yH$0WUW{W;DosN;^tub`8(K|TQ|nZ54EPYU`9nR
zx~4urUv&?f0(Z{;0I~5F@2%vLPMoZNg4)0$Y6qSp>rx+5?0#Gs4&%`r&^@t$y@ky$
zwA2w34Jc<oSgW+4pm7pa58k6X5W;u}XdRiwA-fOG`*XN4_7#&0zo9gYV0V6FWi%jU
zB_py8PGmR(DC?QQg@IXIfBXd#^AY5^29aGIVCYBqrhg&$@*7fY-AmDc!zE+_pE#&A
z;Y9s7D(=38b8rDevq1mTPe^n4;PAgf!{iSH-h7A7+O_zX2dsV@8F0*40iB}{CAX(h
z+4~N;b))Ee_Bo;}^*~<}Kpw*r&Fv93`{-K09t)Y5tri8ThHKEfMp5LR!uA}OKi%O?
zN>Ez8Z17TCq1(^J+y0rtimu8oPMPe`mHXIzFSv+zpq1zDkt5cw?#X(9t*m()8=7f$
zEo&5So=n_FJtCRf)Kg2I4FOW8t)##}w(t?E5h>Ix^mJKdkxOJ!oeD{yt_=aPX0lB2
zxqOZaZl0ksah3|zO)Vuwq*9YeqXu<r*8@oD<VYC=9&enCvB84<5k+Jd+?`0I&J6)l
zJrcqiVr^NC%Pz{PSRAK|n*w&Rey%{W*1k)~W&kPY3Sfq{Bl?ZMrq=!eD>L-O7ybJ6
P00000NkvXXu0mjfcB4Hu

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_green.png b/interface/web/themes/default-304/icons/x16-list/flag_green.png
deleted file mode 100644
index ac6bfb81c18cb6505ecac90d725fe337b46b53e8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 684
zcmV;d0#p5oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007WNkl<ZILn2S
zT}YEr7{^Z#T@(b}+1Gv0T^B)DQP9Hnx>>en^ZnTN?mh1`vr>%8B#<r?$_nhJw1Gk&
zqL9w~n47h&(xwC}F_Atgvk1x-QIPcSIdg$7niqc_-t(U4cmC)990q`K&Y4lEGbL_i
zYRD$E+SzMqQU(gvE1`mIf4_Z^{V49;Jw|IQ#6Ho>{sHvcD&zqvbvjXj!tU)~OZu%*
z+MKE#JBq|y6emVY;po|=Yax3Uph~wW5BDV9Q9J4<PNCynE5hHpP&L9~#+|q^(~Jk-
z!{|$Oz<I~=fxvkS0Yk<SAJiT@eB*_vdr^tN>n4o;jN$f|>mbW$n5sd?`&K0Jhz_X1
zfga1ng@B}~l)_stLrqw5XrdVBpPxbJbQ?8{pe|XRc5&rRBL+WrWAt|n+Mpc^0b97i
z!F3Z_`(C({5>8H;xcc$};;9fKKZ4LBML7Gc8n>ncxH)qTluPHL3`m!S3tz1UB`(1n
zcc5;v3OwvY`=`KTxnDxreHY4O3ibteh+sEn12%Az&zf#O+|3TSpGa^I+fWqT>7vlq
z(qvpT*2#l?`Eq8|EE^zHE&#?c9omo`>Yxo;*gpR@BI%}O>VS>q0<0nzPfe8qz2use
z6Zz}ZZ~;@I64Qc(RIN<8E9C?TSwxt;%y?xS_pb4@IhaxHW!^>?(;MV8Ou0vp@c#jf
zTy%-4m?fnx+-okUa2Y`vU5^Q%r^U&Xn3My+`DPLb^o#0Ns_Au8^UuH9avu{}<N^qt
zOG7x1l2&G%G43NLvY#1;^(6s$q>rRIlALu##ufjP03lDt#aq&*MgKfzy7vz@3j*T>
SQcf=b0000<MNUMnLSTa8NI!u9

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_orange.png b/interface/web/themes/default-304/icons/x16-list/flag_orange.png
deleted file mode 100644
index 639cdfc0dec82180ddbb4d118cb3691793e12dcc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 647
zcmV;20(kw2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006`Nkl<ZILn2S
zT}YF06vmG+4IxCkF{vvrl(d_|s0$&2z+I#TMJu*kTkc)WkJc0ygJ^-;jTUX?K6RUY
zBdZlf(Fc-2ACwV#AqCzfA_d;$MG?-Y=iP=(ntJhY-v7t>z0W!SBLGBE6gg`%3I;_G
z$f#fH5tMv>S1hePG6}yt<9_-Mb0r6$3fJW^Vw-?od4*u!1151@27KuUZj}RGIgkrb
zh^X`-unxFi2aNfE*PX!4Ex^D=;A0q={>=R=Dqw<u{A@t0!`3+W%ctQV_5d%tfDc|^
zc9PLeKnY<zbTCB77?7w1%jw7l%<9c;cyzv+0A7w8fsu<$hyvf=1H;>Z+uMP69^l(k
zDglIx=Cc8NjZHQv76m`N1%&Jbo;ZNFeFS_0#zVj$!Oz?I9S5df0HK1JWj(MemU}vr
z9pTPeEXD{K*0B^9`_TYQL>HI<+@Xtv7HsMQd(f~9KvgzbtVx5p6<>Rc>7oL-Tc^In
z4Md7-;FB1Fnt5E~+An4Qy+YcB(tVUJF4^nxdtg0nZb0hIeUuvgvSVpZasjAPmNI?J
zbOxi{l}QYVZZVK2h=~04X;N`%h*kioG8j&_qP@9sF7DnXKRrc~xKJY_UDYz$vo#GF
zSRGJ!%4&JTnAGZBz0MZB>_6@lJ13Q3nYmgbQ<qEAQ@a8{)ouy|;Y5?Iie-t}a$1g<
z?BZ@aEa#f_g3#&!RS^|JJ)|_5CeuZW95On@@7%X0pq%=XfoQYOEQ(bQ8avhmsB&ch
h<J9KtGfr+Q_aAs(9Ev|J4@3X}002ovPDHLkV1m-v9moIx

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_red.png b/interface/web/themes/default-304/icons/x16-list/flag_red.png
deleted file mode 100644
index 08a5ea575fe76a70ffe8690fa114a70ae03a547e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILm#K
zT}YEr7{{M2+i>C(9D5}N(SZbBI1n@q@j{t+=Y^tBHk<qKW6n(q1Krgq5rn`ZaOs5?
zA>BxLBSaudmP_5{hFU^s8hznKHYqE%f6uEMz2@@b$Kjm!oZtI=5dgAUtz@%UXpM-L
z|Ds+YQt+CZ*uNyYzbunIT9MqNWP(K^$19?53q-@b_b$cvJFTq<3BoTQ(dDFq*F*+>
zyt<i_g9Eo4>y?#Q)o3C?xg6hJE?|2bdxL}U$>lHp6%@3a%~SrA6zpYZ17<TYG6HOE
z;mg1PHdHF0zaJPKMKm17o01Z6I!38r=XzHcyoH5`q^AQlH9$`fFgAv0Fo;loK0X%}
z0Ui%9H;04CN%%FIT^5{62pU`McG!(ZEGQKCsnY=s4aW}x0ql>DBb1hgn8gBky+^5p
zv|30bNaY$lZQ;KTm6hR>OomuR1<=`vuf4rEoSsH7Hy0m@ixDxIu)!-A_U?%yGWxcT
zj;M)KnNh28AP9(7RbiIs<7R28i686+mC7Gn<oDc#tEajU@5F;^4hP(|wRp>)-eqQr
zVG4`Km*w2bHgR1}HV1JoSZuca7N-+ad3oTunDFzRFcW0NIaxY6Y^MYwPGfg>>_&5Q
z^qC;gyh=qgS}i@+>1Z}9OPm!7NJPm5Y9?&r0yg&b-SX7c(G{1AZZ<U$*NEmbGRUV;
z(E1qykvay<A=jipJmWbb?h@TL7-*oro<cGi`Ogq2nJ00{MB?1s-cFp}k?5gbPxs2p
z|0@u=$o!5=E=j+M(THi?;b_hhhzv6^<~eg-((a>r3{_XtA1G(7z;ZRK@&Et;07*qo
IM6N<$g0Dj^RR910

diff --git a/interface/web/themes/default-304/icons/x16-list/flag_yellow.png b/interface/web/themes/default-304/icons/x16-list/flag_yellow.png
deleted file mode 100644
index bf137827010d1e7ba2df497f24df1f2bf1ae925a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 480
zcmV<60U!Q}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004}Nkl<ZILn2S
zPe=km6o+3D5d}fF%Ief1=nw=2foIQwqKmF++U{zlWr?RnrE@`Gb*f{~O@fFZ2)ast
zh$5&<hfdujk0#S^Y8GcT^ziM>d-LAM%<K?jjC5Tm(^Lpkivh3?oM7IHZ*PflFz@-R
z6Q3qQ$|@AaH{k1UerM%kErMLm?`|{&K@nU?q5}XIJGCT3vfw(KRi)xE*al^AByv%3
z2;MBgo-BCu`O=cW1rnm+Rm$f;2|S3nA(&ZSHdr*8kct<839i7o$oa)lc3T8w82SO<
zMX~6XBtB-p&~f>4$7}*HY8YBYRg>)g-YFLbz%U<0tTukPUBFoj1X9d2{jxxQA6@pi
zRnQ-gYfp-@!7eYSD_9z_imTOLYLfjc;J71^6_!dZz3213!RO~ODipj_D$UZ#iHquW
zM@IoJR6El&gLyn#$BT=r-Cpk|K}x}3l3rd$sa&3DF91`3;W#yna}fUK6=fZxLFsgu
zYBfh&0cVFxzzyi*IS45hixb~bCKKu?7y_T*8>mf3B)pl90?v}y#Rr&_*FvGS-`*dX
W1Tps?12A*|0000<MNUMnLSTXzWzR1F

diff --git a/interface/web/themes/default-304/icons/x16-list/folder.png b/interface/web/themes/default-304/icons/x16-list/folder.png
deleted file mode 100644
index 1327b54b318889bc3e2680c5a05e616a58ddd669..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 383
zcmV-_0f7FAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003-Nkl<ZILoDz
zK}rKb5Jg`nBM9!YapM67kKjr{atCjqSMVYR51=a#U{s77cZw@<BPdBkkqAa2I_a+O
zVrEPx$%tappRR7||Nd2UJ4yU!L=Pv+hx3u@<A>f48;k3=Tfb81wPGoGlD%Ciyk020
zoU7N0OKnLi!1Y?OYAa_X4+m*NNB|hL8$aE<U(?ODTjMTDRSkt9u2RLhDw46Vv{}j?
zbQ&ALE@T1>pBc1wKmwG_Q4GRW=L#Y(E<WuZyJqUZJOH)TYfwmumLT7UtX6x!2QwrC
z1wOk?tbbIGiX94s$30{og&_*rI=;_i3rM0e)nyAsXku^vJBBF%%^(EGp|RLJ<PNNV
zner_eOBfMU0-)$X{;f25%9+B*K|buGGpbWFN|?k{52T4CpO&B!H`!A@1nM8&F(3W?
dXS)A>=P$B8Z-fNVUMm0q002ovPDHLkV1f<zn<M}L

diff --git a/interface/web/themes/default-304/icons/x16-list/info.png b/interface/web/themes/default-304/icons/x16-list/info.png
deleted file mode 100644
index da02eae4f9921a8fbf20c235a7bf87cbe2d547ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 432
zcmV;h0Z;ykP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ZNkl<ZILoDz
zO-lk%6o&mN{fZVXTC`}<A_!WvbQARh0^3K6U<x53n2PLUBZSmSLPFXEVKiArn55}w
z*@v2GlS%M4?;!{8s4EXVaPNEGbGV-#k1I4y^V&ph;DVah(<|)cfQ_N+IueNls?{o5
z!7(-F=%Ke;aU~oMOTlBgiQS6|79uYK$J7|~(5p0I*H&>LR>ss`R*0Dv4&ooqoVm6p
zhO=ibjj?@R!ek)h5KYw(G%AWl595D3UN(qwf9cW>Cbk|rm<eV(G<sRXS~ieF+Bkc|
zxSn#@wCCyf25z1#MJM#KhPBdw;X5)hww`qG9p+H{Y~s3LDZ1orFGFcC7s_IE^-dw4
z{}S9fy-EWvXYKSEBmP^3E3+=Rb$Z*kAcvTG{l@U}je?P@3vQj>_Cs{8(SK6F&{ABO
z4`onm{0bbmbb6F)bU&n(NFIZWmzdqZSD?mR$3yD&l#@jZ+Odi0out4qwVqG8@6XiF
acm4y4k)5Lvd|D;|0000<MNUMnLSTaMzQkn!

diff --git a/interface/web/themes/default-304/icons/x16-list/link.png b/interface/web/themes/default-304/icons/x16-list/link.png
deleted file mode 100644
index 10df4aee8b87f53ef0b7b536e2024a13a08abe24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 218
zcmV<0044v4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001?Nkl<ZILob*
zyA1>(3`A+*nshLUJG=%+CZGYD*!WI!$r=ILz}mfFgpus$9~4RDi3-VAtyN|w0CIP=
z)((<6z!`k>-W3W+3IO06fxDdre9iz#Dgf>SLbn0inFF}HNXpE{0OOtlNGk5WQ~+QB
z%<Y9pD&E1~`*4`;dClQRa+!KsGh_kGYrN9Ms{c?y^txwD&p;ZG_ns-Wg{R;72PB!*
U+nX;+J^%m!07*qoM6N<$g1<OfUjP6A

diff --git a/interface/web/themes/default-304/icons/x16-list/lock.png b/interface/web/themes/default-304/icons/x16-list/lock.png
deleted file mode 100644
index 5c53ec5f4ffb5c20a964c37de47174aab1d0b81a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 246
zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002JNkl<ZILl-B
z|NlP&48wrEy}dwMTH1ef%zy;odaxM)QvBe-ga3E$-u-{=+O_{zu3Q1r$cErF0Hzs)
zk!?SB?i?7y3?XO$hz5BDBvw>ZWB@aSBm<EBOq2mY8x<%r09(l8!Z;21`+5aIOwfQ|
z4`<-T1P%Cpy&a5^oeUF$iQ_fk^SN>`Mm7K@1{23?z=tF0a10Vd=EKDB8t`UUI2?n-
wkohn%yav47;Eop)G~nqnbG#U@0i-4*06plAJtZ2<JOBUy07*qoM6N<$f}GG|TmS$7

diff --git a/interface/web/themes/default-304/icons/x16-list/magnify.png b/interface/web/themes/default-304/icons/x16-list/magnify.png
deleted file mode 100644
index 4c47b23469e6ee2a693ecd429565b2d7f58d2881..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004nNkl<ZILob)
z%}N4M6vs!Oz=gW*5#0Lm5H5Ux@eO(a7vo;2G$@8h2%<%iwWwJnx(I^Em?&H1M^gr6
zDUF$xmiF(S>lhPU3!wvln8o~l_uO-?Bw3Y6Bz!Cx7T994q*+|jZ^eF)2~brPr)NbN
z*ELkGYS=$KMlzKeiG1T=IvJX#Vekp`S$czE=)2zTVkx~s5<}PtwM{1z-0cIM55VjJ
z4{r>91={aGx&DN?B=2NeB;alLY;c3Yw=Y2L8K}00S=-h~kQWN7?7jrI1n@-*C_Vz4
z*#kZcp`c{czTrE9J3rx*Ca|%`1-eLJYS|o`Hu%zl&n@_<0W2)@L1sh(g;rHzgSrvG
z1qSaF%A<D?771L`8m&q<?okrJvup#gSPb!aTpzbelH~bgVxslk99Fk9%rC0^WLcIG
z3WX4jM#oDmQP_IAc`GxKNF?lZI!&+Fi(oMLw?tG9hr>q_kH_<W61tY6D7rLB*(HHM
ofJ>xFi%F)KM0dO0@caGx7ir1H<RayVfdBvi07*qoM6N<$f{4e%tN;K2

diff --git a/interface/web/themes/default-304/icons/x16-list/minus.png b/interface/web/themes/default-304/icons/x16-list/minus.png
deleted file mode 100644
index be99e5b7489dcd3f5052c88faa70372ac585c78d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 123
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`PM$7~Ar_~T|NQ@N&#c-|c!fbr
zV#2g(-{vPVcg>t3@$c{d;~(D33oysBEc|cyr~T6ZfQ%J30{X&2izhKIewnaBnt?&;
WU(H4{HFqYUX$+pOelF{r5}E)hoGMZP

diff --git a/interface/web/themes/default-304/icons/x16-list/minus_round.png b/interface/web/themes/default-304/icons/x16-list/minus_round.png
deleted file mode 100644
index e246f112a7ed309bc9289bf76e8c0db0c5da43e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 346
zcmV-g0j2(lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003YNkl<ZILoDz
zO-lk%6o%)g_>+Q=k~V{6_8VHb33M~yekeskN&Nw{R0yI~3JxKCsHj2FLWY9eo#wgd
zaAz8Iz!x64ob#T;J@>;fBC;&Y^y&CW1Y)MKNq#cr)3a?`T-O!P^JFd7#K_^n8&|w=
z97h!_XEXU~w`E=~D_9dlc<_dr&~;t>*=ox0JRb`=tw}GKnXRFZ=B+%P<+g$ct;R8F
z&|$vc=~M=%*+k%_hFTh^Lwax2rJpquftMO;RRi=~Dk^qK_k|h^i<gRB(tSY#wlle@
z$-~KUBJk=Xs6+gjjO9L)P6S^45QA%ct5xLg=x{4|Lf065NUzmv>81~2A@}bg#XaTk
s@km}OSMpf6P_QPp@hR{9nfCe4e`c4FO}Xm=4*&oF07*qoM6N<$f|6LC5C8xG

diff --git a/interface/web/themes/default-304/icons/x16-list/money.png b/interface/web/themes/default-304/icons/x16-list/money.png
deleted file mode 100644
index 915c983bd180033ab0dc54e7b15dca97a34ed316..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 328
zcmV-O0k{5%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003GNkl<ZILl**
zUlskI5C#GUzXe`Vu`44PfP54TBK|-8d><!9HYjdolu^R!80-eDy}KL(uei17KTLkv
zbqG6TaX=){C0tkyfN20>5F5q^$$`|&zAz2Uk60GsK+phWKFmcRb#pJx`~&rl3y@~Q
zFaX&LD{n6b8&JQ$>VMAW46r;%?eue#U=|f%81U@(V=#sp0+LTzoA5tiz7L8^paw*t
z7y#3ZYzVR!kPU@JFNOiIz(Y3xB)0tKLU;hf3?bSD$eKa?Mc3wF8h~sFOd&`fSu;!=
z77lO&&|?7IzaVzZiirQoYvSMrM6U?{gkk`CLP8Hjk_|vlNXQt&0DPGVrU9EA12Ned
a9|i!R(cC1!_He8K0000<MNUMnLSTYP(t7Lw

diff --git a/interface/web/themes/default-304/icons/x16-list/new.png b/interface/web/themes/default-304/icons/x16-list/new.png
deleted file mode 100644
index 89d4487823bd64744f08ae3fd1a3035f3005eb4c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 200
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar_~TfBgS%&#XElQ9?ps
z`|0=gsuDR297o=N`#*n&I>#Bm8?qnd+5RyqdYs)~|3AQ_iJ^<J{@>r9^S9bdo$<RV
z&2^pQu))9k_4OO28JHDV6__u?GHhbFsVc#yu$$${)cN)G|D4Mh&!o-KYtUqoWZ+`v
z(f{+?{RXQ6^P~lhoo`rk81figFIvnJmta`_`}afMjZZfMoyOql>gTe~DWM4f_tQzg

diff --git a/interface/web/themes/default-304/icons/x16-list/pencil.png b/interface/web/themes/default-304/icons/x16-list/pencil.png
deleted file mode 100644
index f13405605f93032fbc5c4d9f49165d0bdd9dc13d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 212
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo7}&oovX}Vj$pJ?D9TQ
z)v{6jgM^dcro8lQ?HjopId1>EYj2>~m1u1Ep=;tEan2)*1!CKlF;;%HwFp1?+k&e{
z<g_A-z*JwxsmotVDo^QVTDhh`Z&&lqVuh7&_KKIBkC!Z-J#}+qNSMX^r>7nKrsa#b
z-<`zYC}qi(_0)NR+q46pBqsc8bnR<AU){UNb=raaM!}@oTTi$f9=%w%=;rwhpfedf
MUHx3vIVCg!08jN(r~m)}

diff --git a/interface/web/themes/default-304/icons/x16-list/pictures.png b/interface/web/themes/default-304/icons/x16-list/pictures.png
deleted file mode 100644
index 948ad9ebcc4fb6fe64c221b4a5f1ac32d0925d97..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmV<b0094qP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002SNkl<ZILl+m
z%*^ymOH2Dt49>{NaQgrMKLavm07-oR@tY_NQj607Lbij{q^GCjH{j5(|6p9O%Kv}*
z6gMyi@rgEI%j3WQ=O4KIpOi2`F<`-kkN-&x6BGkVR^IzhYM7uHP`>N$e^SE)Yb+p#
z2?&EUf(%*rDH+ViY5=moki!IqyS$a*Y@7xFUH2b7Oh6c<8HSO=32Xo`DLa7}FpM51
z*f5F#=m~@5SioffF_@qMpfEwl7zqj80Q4}yhk;4i8UUp3-$<vdY%c%+002ovPDHLk
FV1k9?X+Z!0

diff --git a/interface/web/themes/default-304/icons/x16-list/plus.png b/interface/web/themes/default-304/icons/x16-list/plus.png
deleted file mode 100644
index 0c343531cb45ebaa58cdbcc5193bf6a4d5b4b4ff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar_~T6Amz5x^(HEaxz;G
zqet-fzgh-rw;TGbQxkl)G3uIkADofHEVce=v*As)D{<!-llQPKXg4!jw`&IHu^(3&
zcr~o2dx^D42h><~>hPE|i0fGh@*k_%+n}FQ)PJ<W@aDz|r4~XxC(RW8CP+w3&UHBT
uFTp_VX2bvgijA{(m<s@98fIKzWB5Kz=-aAw-&O+M#o+1c=d#Wzp$Pz#rb<!(

diff --git a/interface/web/themes/default-304/icons/x16-list/printer.png b/interface/web/themes/default-304/icons/x16-list/printer.png
deleted file mode 100644
index fe362609705fd0715eb46102a4662fbeecb8c48a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 271
zcmV+q0r38bP)<h;3K|Lk000e1NJLTq000mG000jN1^@s6?Q>5r0002iNkl<ZD9^2u
zOAdlC6h*rpMy|vqIAk@<*o|{%Oo_%A<1c~;;;(#zPulpJ)?$^!!AX<0_av{k1ON!)
zx-OV-9A_ZkXOMRREgKECKbeL?LI^PnQd&cDuOPZrLJ(amMPd}hEZhcyODP00Uq?8w
z@VSItT6B)12yEL11O<B*J{7P|as?E~87`odDuQhrUd1^qk2x%&4CY}5vw$iB%qW6B
zXadjkdZ7t^VKg4{bz@n&!1w)L{QnKGg}Qn08oOX;A6sCczyz=QbzcbNkMs+2<_Ux}
V<F$B2Cz}8O002ovPDHLkV1jh|XM_L%

diff --git a/interface/web/themes/default-304/icons/x16-list/question_blue.png b/interface/web/themes/default-304/icons/x16-list/question_blue.png
deleted file mode 100644
index 1f5b3608bd87e9d1065b8fd0c957a0bce912e105..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 468
zcmV;_0W1EAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004-Nkl<ZILoC|
zNlQXe81<+0D_XQ@;i83$AZSrLH$jUEg1}9y1|qTuN&-u=X;WYXiIju{QZ$f=N~k!`
zIbm~AoIJODcr{lZIK2DLcfP|NRjLN)^?GfUjw;bWYFbq*REr%|x{O96yk0LVl?rO$
zm>O&J(EDF=*=DnehG^*%+qY#*+jD{(QzPi1R|;Wjt=W82!oW@py5lsaPP2lemZZ>F
zs|#@{Yv$C5&8s5%%@JJ3U(g7HGcRiN5P!?jGQh$0g^M5PGlc|Amj#>!9x-W6Va}dG
zxbPvGYIS<q!(Il6O<KRmqt_U0;-EPMPx@5^)HHh8!(I_U=#CQ5tobF5>_?G%{N21m
zcS+IdC8U4}OAI|L_Y$Aqzwz|`g#~+B(&?1~I32@z2I^&>!lAtoT#09lA4DXbq_=(v
zViSW8Z|Gk1NF3V_L$m5@(&??=MCBNl&r;}`cMHx~<3ihTW)+R3M>@vFi?n1<qI32R
z>P0t(cLU<ff0DJPi}c@B_Ge$AKS^L{%P+_=wU$@8?Z?#4bN&Hz!=sMBh{SCG0000<
KMNUMnLSTa9Bi1(n

diff --git a/interface/web/themes/default-304/icons/x16-list/refresh.png b/interface/web/themes/default-304/icons/x16-list/refresh.png
deleted file mode 100644
index a63077d03f11f7891a1043776a4f13ceea129e34..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 150
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr_~TfA}jVEZD_3>E<_y
z85ztDUCCwa4TfgDH+WJMT#d~t7x6eua}IaD!0=>)!?gCqQ+pjwuq`^oFkjx2>&TP6
x2cH~gT34YaViz&_(_#JZoqkh!n)Qt*0xf3untP-#?hDW&22WQ%mvv4FO#p>}Gw%QZ

diff --git a/interface/web/themes/default-304/icons/x16-list/rss.png b/interface/web/themes/default-304/icons/x16-list/rss.png
deleted file mode 100644
index b35840d491b9463b2cbe79124cfaf483fc5561d2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 243
zcmV<P01W?$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002GNkl<ZILn=r
z0SyBo3`LQEgp+U*kT3}+0SO3MQVElQgp)7{NVt`xBwhDA$dUYn@X6!14dHr*!n#Cn
z){AwpVpv%Qpw+~ScL5r7%pe;pu`;VVAPTEXfV2dW68g&tcu7j|A)wy=@@CSU=H9~t
zz{Uxr89xrQ%KQ<im~x;uYn)C(FvX;CZS+JQ`Gxal@A?y$ly`oen^@$<Rp(j%9W;gA
tiJMS57a*7QbTR_l&qSu7)fs6S`T)Oqo19>{-EaT^002ovPDHLkV1jd^WgP$j

diff --git a/interface/web/themes/default-304/icons/x16-list/rss_round.png b/interface/web/themes/default-304/icons/x16-list/rss_round.png
deleted file mode 100644
index 27ce67d2b3ecec7154c442a68414f53fd0b1062e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 417
zcmV;S0bc%zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004KNkl<ZILoC|
zO-jRH5dDsjBjgA@LXMIn^awpbPLPE~5EN0OVr^YWin?gKNQz`tg)aP8T8Zd-d@qw9
z5~G_AJTlC@c{B6n`;2Lr=Xov=0@46uuKCN5w1L?7eMyo;(lnLA=rhI~Ipnq#e+-91
zt@w&XmR*s=QP5`$Mh>|(5vrEOcOYMyb}(0o#O2N$Ewcp(7p5Ft-UE@y(O7|nisb9K
z6bQMWd}73NqqyyfyatufW53D~;If9b6wm`ppnS?MHo8Dy?uv{ok>_0KzOQ)#T-LBQ
z6UgieqaGRk7WTaq2|FTBxyW^$Qx_N`cwiLA=sfRMB4>8KN}&01Lm*orLct!AhbVpv
zF=kI=v<cRE$fqDDs;{7jxW*ywAUWtL@dYCLmijk61&y3_{Sd3)I77#65KbVnYpFlt
zYPR~stnnLvU8E@pTc#b;mW$MSl~-720`kC7&|m#?l{bD&n>^<q9r>@m+i1=$00000
LNkvXXu0mjfLw2{+

diff --git a/interface/web/themes/default-304/icons/x16-list/security_green.png b/interface/web/themes/default-304/icons/x16-list/security_green.png
deleted file mode 100644
index 38afbbb2095225c42bc20e1de30ca76f0a6d7075..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 210
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Lo7~DoxD-V!9c*}b8D5a
zRPXx_kz7kp?ax>t;xX~evo~^Q-t<hoy}f<6z;QK$QfHgMRerOkm#$l)U~+YqV3K3#
z>WCWoOVuo@tZ8RH%}WhnOqj@iU~@QwR_yPMwaf{M#=#6u7Z#jhZTNq8nUV3b>6Qtx
z8^SlfysB_h@7K!G{r{4MLdD~(WK+#T?)jb2{j-U^Nc#Vp&#asuijVn=`NRMn$>8bg
K=d#Wzp$Pzy|5GUd

diff --git a/interface/web/themes/default-304/icons/x16-list/security_orange.png b/interface/web/themes/default-304/icons/x16-list/security_orange.png
deleted file mode 100644
index 4c5bad763c62abaa2ee7749de532aa56f7af364c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 215
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^E_P~Lo7}&oxG8^!GMRwSe{jR
zNuqGuq6MikDr^fFlTKdzJ$Z(LlI?;I`x3tJ70NpMUY5}hIUSxe=eW|*^LJOUPCUJj
zSIM@wTX52nI>ra-i+&o0%om&@lGUn}@9!wtpvK?uK8|tTE{0vZ7&tO@^L!bkX02y9
z+sas=y;aO2!qQ`}eQ<a21c?WZAHFah5MU{+@R=g`;4Jg`M#evq&!y+x*&J%}ux$^}
Or3{{~elF{r5}E+qkxpd*

diff --git a/interface/web/themes/default-304/icons/x16-list/security_red.png b/interface/web/themes/default-304/icons/x16-list/security_red.png
deleted file mode 100644
index c469be0a06b1ccc3124c29f003de3f50256db08c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 221
zcmV<303!d1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001_Nkl<ZILnoj
zy$*mN41{?;2WR8p$Rj$q86Snw#LdM;rAf(AXhoAV1bQDoxw>iTT}|Hm8>Q716W1}5
z`3xbG2BF`+btK+Rnh_Gk^#s6UV(~f-)iHviT+PU`<`|R!SY!ck?Gs?>6A-`JSOsVh
z&71%nn!f<fMFv2Kb_E%%6r|S2WOE9V1XvK<y#PoEf@FBIC?mk?2iXT10QJ5XskNOS
XUFnInI@Aul00000NkvXXu0mjfOXgJq

diff --git a/interface/web/themes/default-304/icons/x16-list/star.png b/interface/web/themes/default-304/icons/x16-list/star.png
deleted file mode 100644
index 70a227c3ae024d7d38862dd5c5ff5a7d42c83231..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 511
zcmV<b0RaAqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005TNkl<ZILoDy
z(Q8rx7{&b){1f&^^b+(idWxQW={buQ(L;!94{b@x$YvbYRyP}|-4eED5{}il29Y6U
zL8}E_GI8VPvbLF_#-d9-{Ca3mQ3_iJzNhcw9KLgo$I}CnE=club^=M>Y-+G&Oh%oZ
z5`^vi0HwJTNb+x6J#i)0q8h+050adUIg-5FQ!fhYm!NK77suK1qyJyWeo0|Tg`26!
z(%f{EQhow9W}vwMpDbu(d0sFmEu6)gJxwNc3Nt=ZkW}zUGBb%Fyx0TfgWyD9{RXri
zz@`mf%FuZX8yTp@pmGd%aX;y);a}cJ3Rp8icyk15=b&*5K0kwR4fx)M%~#Nzhj$aW
zuLGp7M*cQdl0RdP;#Q-uJ`L?h@O1^;+E22^ZQPY{(uuL|sYvo$*)gbJhL1UDJ%n}<
zns?ztl9F{ENr7JO_m}RBfD?lHMOeEAYuDj@9Nvzy`eX=6;a&tjJ3j#BL$Dmgt%T^<
zVOSo5%2C{<14zpC%zyR%K6tqo``&Sk$(SRlV9gHGdFq43T_lZ=(~H2Y&hI8+oN4|3
ztE4_jrj<TSI)0L_t(278DwVg(zE6_*M<ap%njbZtwGXm$Zqon&002ovPDHLkV1k)e
B?uP&X

diff --git a/interface/web/themes/default-304/icons/x16-list/star_blue.png b/interface/web/themes/default-304/icons/x16-list/star_blue.png
deleted file mode 100644
index c49e74b13e2b92da24f09f4322f1397dcd91e1fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 455
zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004wNkl<ZILoC|
zOG^S#81<+0D_XQ@(V|7WqDAc_iWbo#2>Jn$5R4&22}WfFh7dv!Od%o#1<^yo$q@6^
zSZbv*7^YF2JeOve@v-W_VZQm!`3`gM+-tM7K$0YTli?=OLiX&oZfJ@<O-4K(4-`d#
zrfJZ@nmuat(A#OaBFnNE$dtdZdtJd|uqeoyJ%S#3Eg?+RhrL&2jO}FwX9GD*_@9h-
zYNn8gv1Wc6v3*&>s5fmeoT%a`rdfLQ5P!?DGa$_MrAiG9Zzc^+`?JO#ur_P-a)z@E
z5Sz4d@rH4468kqLL|<z7X#Bv8)O%g@Cw&>=<qT&<0I_hWV#pnbGn7X+P@{)l!V)ka
z$YOByL2&)7&^FATuG4D?;ODHJ<}u*97o0mtw*{DW*5)OMO-#IgqTd-6bR4Uw*1xfJ
zUW7wdk=GiKm9nAJYu-fTH@ZU4=v%(SjPDU6?wF``vd1SqmfzTVkXC{@^e)|YB(=7K
x)afY43pGe5DyDYgf~?u=dX)ctnf`N~e*yh5vd<AZ!jb?0002ovPDHLkV1i`5(mntH

diff --git a/interface/web/themes/default-304/icons/x16-list/stop.png b/interface/web/themes/default-304/icons/x16-list/stop.png
deleted file mode 100644
index 65fa261e423de3e392f498a76fb37f857b498571..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 366
zcmV-!0g?WRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003sNkl<ZILoDw
zze>YU7{%`+_y|6Vj}XO%wx(^`ByE!h+Cgv?9K@-kIH?HYCi(&@B1Mc^imgfr(Wyg*
zEINq8F<&sDi8s>H3qLq~=g)8%05%Vq&uz83Z>9-?G@Io)hAudUfh4*x^?==MxVGLz
zg5Wk)`K7LPUK@4Toi@e?`yr(1M&7^Wk*X|=G{t|`RCwoSh#qOWkw=-#fhVQf9jY}D
z<CEiffOK@H47WU}Ru%^}84=FTc053O(xdF3fxcWi?aO6M620`DvWfD2Sz3CiNJ#VL
zc_BQHI`P1rRJgE8MWk`}c0+g`b;9!PT3!x78cS2~esmbZ^M8?9uOPa;qKGuZt<Crk
zNb@q(WjFa%@Oa!<$M@$)h-K=?%CT#41@pkJa?A2%PVfUTBR+M10PbM<Ek{iwSO5S3
M07*qoM6N<$g5(>e@Bjb+

diff --git a/interface/web/themes/default-304/icons/x16-list/stop_round.png b/interface/web/themes/default-304/icons/x16-list/stop_round.png
deleted file mode 100644
index 4cc285205dbe17d9b35b960115385429254dd72f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 436
zcmV;l0ZaagP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004dNkl<ZILoC|
zYfAz_6y2ZFPl~|akL?8&BosX$w1TAi;4j$BBntJTe%X%_1QAKwW0lHsTfrc=5G$!5
zxa}F*VP{ncyl~*|x#ymlJ3Avuo(PA-vW<)l@&KGHwF<k~VM9|Cg>+q~TCGM-AP0vU
zG|)C{uBxia8oo*;dPyd!Y_AL;2Zw+LTEPUaPID!Zpu*$?J^1}(+4*Za&2n(4xlA-Z
zGq#3!j>qX{e2l?LrT7TQ9UdCQ-#9W1GMMkvG$}VKa~RuO+@KuU5o*w)2fZ+0hxBxK
zKvyHf9J%Q!Zg3Y22sLQYgI;EUC~SsE8yXPsZB<y!%R`G03~oaklpX97P|cpvTRz{w
zLn|0yJLZ0jPWyZQ1!&zPutTgr8g$a@<2aw4p`ZE(Tj_FnQK&)dK1BW-i?JvjcXu&p
zOY{5?uh)Z|her5~-ivg<w@XL9PKNBl99^sh_%~_|7pd7*em9C#h(<_TU12~DuH{v3
e`!TiioPPnSLXhHN?U^S40000<MNUMnLSTZhC%gLq

diff --git a/interface/web/themes/default-304/icons/x16-list/upload.png b/interface/web/themes/default-304/icons/x16-list/upload.png
deleted file mode 100644
index e45598e0b1e520b25aaf13f141ec1e1b3e06b9ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 265
zcmV+k0rvihP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002cNkl<ZILoDz
zF%AMD5JmTLUc%Pif&>aKVeLgcfyHtHTdAOc8)(M-i9^sVvuoVs2QvJ5`)9*WL^O?b
zIPD11JZkghd1PsjVe|R6X8~}3T!#>~xd)6OZDXw^nR%2z1n&pHIY%)@Dy86nlo8km
z351)W5CUrrAU^Z}!qIE3{Pryg;K?~tN{Jy1K;f4J^E`7;1AvBu_gvK9fo}jj@B+|A
zkOVzoNdk}r-uvYdv`2hM%?U6E0P<n_b**NMp>_{Mp!Ta)SAV9h`Wx^9HNOL+c)qn;
P00000NkvXXu0mjf-coC8

diff --git a/interface/web/themes/default-304/icons/x16-list/world.png b/interface/web/themes/default-304/icons/x16-list/world.png
deleted file mode 100644
index a94d9a6247d89a12a30f23d96f7db70de53b219a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmV<G0Tup<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00058Nkl<ZILoC|
zPbh<N7+xtCu5#td#l?+slB68OO>&Vqi5y(q)UwNJrM_l=lC}A-XqrTg`AmxT#V*Vk
z`;(d(69=#FdF%J}eX~XR>S^o!^ZcIod4E5Xspzv<EOr%H6;uSo?51*`nru-~kR*u|
zMWI|SN0G!UoyK1HKVrzC2DPP{zx;kbJ!C&<DBz`f*CbWA+o{IeL$iT9@|>jU_UWBa
zgIWU#Sdmza%G9_tMh$Dj)VpJ&y5)Wv+4GU_EW^J|zA5rvUI>zcHZ!E*<Vt5ZnHE|Z
zHd*0DVB%m)i$j$hPm6KvAjo1q$VNexr-KG|9a=Ncxou`uf~0HH%ATMX1Z-06{3y?h
z)AY@baEwO*G4ddQ(yMrex5EU9{4-TcgFl*q>EOP0G60h1jd9+NMv%#WQs3$dpM<0^
zP5?0|(EDQ`zzA3sW*0@pK7bT)cp(KJ4I{9L*s~}SfP6t9$YH1}lros8t<ia$WVvD+
zdIjdAFz4n%*L*{@HR><Y`F)<+)@PUi4aJ5+x_px}UZhf2*?JgZPuy~f8-KmZ<sMTs
g`S!QR^q=Sa4fh6eND|S!5&!@I07*qoM6N<$g1%?xegFUf

diff --git a/interface/web/themes/default-304/icons/x16-list/world2.png b/interface/web/themes/default-304/icons/x16-list/world2.png
deleted file mode 100644
index 58e7e6e4dd91ae8f4f306b1e4ebff47ab37b27a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 750
zcmV<K0ulX*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008DNkl<ZI8S9$
zZAepL7`^}c6XdUc1VMl5M-+^V%4p7PShExxsVg;g;8!grmtbl-G`}+4(rFTlEjMLl
zLNhm==6957?mEml(<X+M)2yIR?c=of)s3kS9Jt))Ip;j*@?3^lS3Dk%6P6^DN0daf
zg31^~DiaZ#k<EsR;^m~be%@2Arq98IK>4v+A)<QYAn7Uuqvc|IQxNW$yK%Fj3m5Wg
zuqx!UfxKVJX9J8eD1Taq+rtlFvRM(;my8zs5PHYvU>cf6N^24Lx<njJ4QAJf?2hx7
z6E{w?5PO<WLT<f_vG+eQKDPwhhhG?d_X8CpO1cf1+tk1V<*d4Mwp9mu8sR-jn3!M2
z)W<(~v-lTNE?DNA*w=D~_Q@Q<W(5}^;u8UkKq^qX$@!KlOgNV*(eddYrayziI=_I5
zR|;tCI$V8Gfi3zK!(B=KYUW6(fIZw2jhumUSY{Wgvp1Qb*jhsggh*nLm|Gk9@GS~r
znZ3&65Ot)Z(>_V_5_fMhfjhe!!R_%l;EE(w<${U7aSe%P8P4{kp>fiL{#hFw>jcsV
zOV)^xO_CqyBUi2i6O$%mYYhXq(x>ozNc~jzhAqYyz9Hq=bvi@V&#rHPRCbGH!bAz`
zLX8=xjTvhk^4Kc+EeJ@g*9*U)vKeT9=OY0MwMK}}OVkXP8_KyTQ$l7`VaLM|j|f?r
zkO=I~C5+B~N5PPW_V@-dvdT0dTzU(UvB~o6>Lv)A(>*cb`Z6){_AA9p#~1Y5oX`xm
z!q*@~zFvbUv1H|tNcs6me8QtIu@O2c6*$%AI^jVF%$6Cn4bPzY`6RUMBlLeLQkfu%
zO=AhiBj6Sx=Xt0y90mIOD6VU#gtGchlxm-#<X#7I%Im1}2C{dNT<64><&w-YHZ@BD
g0`g4Wc`|#|e^)y=*b=~26aWAK07*qoM6N<$f`6)BQUCw|

diff --git a/interface/web/themes/default-304/icons/x16/address_book.png b/interface/web/themes/default-304/icons/x16/address_book.png
deleted file mode 100644
index 923e0bc8422955a4b7aecc4b0371fdaea9f99888..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 681
zcmV;a0#^NrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007TNkl<ZILn2T
zPe@cz6vlt^=FM{)N3(GwB^E*p6OmG^z(v|3S4A!itzA&=g20L_f*^9$URo3_3MGOF
z!lDRDQ49Jr1%i=eO5*ruH03>g@1A>G%=iaPJa9PN!{s~Q_uYF!wrvBn0cH2km}<6<
zufU~Fw+UkmcD7mexVN|6iA0Dx4zXx-E%S17iRI)FjYf$^B2=}sbZ<nnMFgO%r>l$e
z)oB2hvpM&l@mFJSPj|Xa0F%J;RR&f?MFmw=iv&TiCHF`qf;KcHuXHz5HaE8cYZ5H2
zHNNlTc^*m(N(5uFG{Yh6aF|#u7p)Bop2y786q^7<gcUzv$DTu!R32ZOyg2=f(Se6J
zj)MrKU6+|u%4`G(iwJ(8$lF~*arrR@x;rp{)|&lC&rw?2%5?GxS{wG&)m_+GRP+hJ
zS_M!_vAp6_T;9N7&voL7QVyQHLCvX~e0zP5+`<xkKR}cr7#{8_OeAUx6Nz;I5kV;-
z2m(Zey@y-rd(=S?1ZbV<D<z1)g6EN*oz>~t*>wp@DU_(}#ca)<SNtFYB!Y+`?Yhj*
z&FM`ZXjx}4^8Nt_PF!RB`<qNn_5vEEG9Kg?6nr)tJg}8ggp6T4`I7yOmq}0l<jb>L
z%=~!A@Qd3lj16IoMoGqlym<UbJRV<TV2cO_&EMZ25E057+X0vx?Pqap5RA!4P#F(I
zB(zaNL~D)FnsCUlH1U!7u^})J4qMpa5XNMl)b}-M*JauBY*|{uHpc7%^0n4jmWAUu
zTYhEBvPkyz4_&OUe`;Je?T?PeLO?Ze2dF$-!o+sFobnlYmEtb20{r<0=<Q(6y?V=5
P00000NkvXXu0mjf$h<Uo

diff --git a/interface/web/themes/default-304/icons/x16/address_book__arrow.png b/interface/web/themes/default-304/icons/x16/address_book__arrow.png
deleted file mode 100644
index 0af9c50b487d2ca51474949700553ee27885ef5b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZILnQY
zT}V@59LA67P0>Xd6h(JJLfNN5Oz^@~Qe2|BV_y?(txdKXp{*D!8<o12efyO{re!HP
zQ>nJ)W{o+gt=yRDST^QoiKc=iUSvMKJL<^@s{=ot7yjq@@xFg5C@6>`WD+zF(*sTa
z!3_enm8PjJJRU_Y2sBTPMl_nuFxYIcI2?HIcEj!SVPIqgUneK=ZDt0uv$G&Yk-y9e
z0s;d3)X_AJW_8Rz@!w)Wa$u>TUZqlDRF{q6CfTz1=Z5?k{Fs{qDT|j18gg=SFw}S&
zy){C(t52Y-Dg&;{d3qil$Hyl^X0FSP#>DhA)<s5&39O(=sZ^rBUV;x*=@>K@0~21B
zDUS)x2kGe3O7Q$rG`wSDSP>d3BCvuN3WWl_wIcXTckzAHgSL{xuo5gqsTl7zV4}wW
zPt8d*srE7DwGk0}2&_Oam&=)J&wTENrI3cJ_8fEe^X4{>N&ozrGK$$j2$w4%u!82S
ztSmV0r(vq!NeTy<Y%WM*vgKwnlm2;~B8u5TFo%;#U<EBQnGE*wBN+c=hw*wMle(+i
z-%?(t1+U14YRBjwJ1|S7QgoE2V#M7BgC+sC3Mq4THmK*b{xay|R@@r~!ZnV*9apT`
z+w)zlz$zAt@wSA9z4jsoU1q$@i-TSr2a&oQ32Gg<gx%6I9MgJnYXAsSwGM2{b@CSl
z9YUcH9VIC+UW-TjV<mi@CWa(!Kh%AIpbJQK{Nk(!2vJzxEebjX0s-2KlJUAA4o1y>
z=<{Qt&x^&;^BQo@R50w4lwxnC7s;K#dST7rhEqB|MZS%M-i(Y4@`Myv?<6iucxExe
z%)shHWkV}DX@#V>$}b2fydr$zZ=&pfV{@cnY)yRLc;HU{1@eCwA^0bagE8y@Ho@=!
O0000<MNUMnLSTZbUQ5mZ

diff --git a/interface/web/themes/default-304/icons/x16/address_book__exclamation.png b/interface/web/themes/default-304/icons/x16/address_book__exclamation.png
deleted file mode 100644
index abd5fa9f6f19c921f233f6fddf5c9245427109a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 767
zcmV<b0s#GqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008UNkl<ZILn2S
z&1+m`6vlsd=H5GZ?#!ggjh3N}iH%WALX354TS*p@EG+m%yQrip2*uj95Uo~G+*t50
z2rd*CN)i`}iV*@X{HQuqY@`H)sI@WECYel<CNr6N-}An1CX<MY2ObXREPm&C;5e@9
z0-Oap-+9vJ`2V^LJb$5l0&6X9ecAcJ)YPc&c?7;s7z7Qal1aiuf*=S8Jdgg7k@4L$
zS403hC&tD&lPdwRRoBYDoIe+S`NW0t34j9d$+m-7Z*MRC{Wnoc{ik=&^Dvg7nHR^0
z`c9ra3p66cj4{+|H7b<~S}a-wYwI@S4sJY77$z~svR0|EeB%cH0Eh_Hnqp7K5!(75
zYFxg#^gF*^d=KCE5rI;<%<|%*-3^F~2sNci?LS1edzg#k=dpk>hMosc(|-6AOEVv0
zjOEV3!RK09TYm(IZ3DE{Y*lMyyNCF0;uX?SJNG^QDu<50#?RAlQ<Y1U{b_=h0%~@4
ztT~DfH%HM9Kt#}5P)Z>p+<x>FU%!7Ir4$y$#(JJR9ymuLv(D<~Dy3r4l#0cj2wH2j
zXp~ZDUGMeTxCMgD{e(>stsVEWxbQivD=X%25kv$dI}U#N>Rk>#_A>KVrrCRUmZn>~
z7<p!b?13ELPCffg6s0exo0=K`S8I)9E!Sqgpy${NlnQhF^zj=kUHu5XRRk$AIXQ`{
zEi!QA(ShN6Do;nvVIzVoB3KOTfBb-m(0yzafQ7l&X};|M3#B}teLBi=HIL(`80;z>
zJUuY$Yy&)F4AvOpj%8y$&+66hvECY~wk4c|hp*Ro_>s4myOINUgMGI+`?cn1%v!t8
zTAMM(5R1j|eV=5IAd^bsB(IZgPmqjVC+%&rS$v7Kw@KRD;I6K8OSQ%s2gm_$0)0=l
xF~9rwdxq)A>?Pd2bK-2pL;iFe>~Gh|{{`89LZnP`K%oEt002ovPDHLkV1j`RYJmU%

diff --git a/interface/web/themes/default-304/icons/x16/address_book__minus.png b/interface/web/themes/default-304/icons/x16/address_book__minus.png
deleted file mode 100644
index 1fb998230d2e0afd312dffe52b180435de680c7b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 700
zcmV;t0z>_YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007mNkl<ZILn2T
zO-NKx6vuz>&70>qX4$lnoGgq89mGtr2p46GS|znew042H4y4E;Xj7{eK?`Y-34It9
zK|vCIEK1CxA{C?-lBtDXGg>h(-@E7D7LH$3c;Rq3hs*E$&*gtD$8i9ffTC+hOa&{S
zkHCqG=|dP}a5BxJTb-TFZa7TDb%{nI3z3tZO*AWuNF+ie9Hy+kzGErP5fOl*JFTrW
zR-^#<or&Z>#-ED5sJoax1n?brIIqA?BodUB{Uiv2|7s71!)QZI@5zpu(!+<FfQ1!o
ztu?;y<9QxR3`zuJGBQIJPAEh)nvK?m8P8*KY>dAEBEqa6ux8^9;-&i*CjXrH!eDnh
zuInNKsdSpj@o}>h5E2pmK#@~WNq+HOx;t7hfYzFl-Nz`bYG9)GE?OJ5R97EgyKdck
z0DB&wl;ZcSPkwO?ukV~;RjiQhwP&e3c#giOSIN$c<NE=k48g!aYhEl?l^2UG0z?F*
zgdhkI5jO2?;ML6*f*?TaxxP|@2+VjMsi`TQnwnZ%K`Dh2mARP7nR?a_=0GBd7*gpp
z)5)Y>wt|SDWl_QBmu-|EIL&bXv$@>c322m>dxKJAKHT{93Cpr9fUd^I#$Cs@C9z^9
z<QLb__viw)4Nl1B*S&sZbOzhD@w|Z8hOG?s^$q9x{$ppUBMq7#U*8}i6z^{aAUW8@
z$Y>XJduo@vDv{W5y}i9+9uU@AW3(n@8GentWqPOw41_{9e!*(4Jb#c;pjf?rGeZLd
zBYE)7F~+P1a<$gjwvFq$e_1%uP`+U0w#)Z>&WqeP@%W@aIC$FvDu4?>>CreNEB)nh
ipU+RmxdhAt-~Ip%4NTtB)(&(40000<MNUMnLSTa46hoZ=

diff --git a/interface/web/themes/default-304/icons/x16/address_book__pencil.png b/interface/web/themes/default-304/icons/x16/address_book__pencil.png
deleted file mode 100644
index d56768d3e4b4410cc58109ec0d83dc3e027c699f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 763
zcmV<X0tEeuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008QNkl<ZILnQa
zZAep57{~7|DTpvCR5HIPf;pux<%cvSUov}>OeaN!YfTpp7ibELVaqJd%rIM8LB5ow
zSnAB$meU;K+#0D^x|Yc@dlAhEqWB^6-?=Auu@6xfemsZs@c-R&4iDqz=Ee|C6N>Jq
ztZe@eN(fAlP{;_9k{D)5P}E>BKw~sQ-_wJxzCOIR*<f=x@M(M;->0WBJ3o(wg$0mc
z8W-jTEX#5{77B%ED~$Ok+$okM2bT*PRVo!Gv|0GlBL6E~UtbV|pNoqiVd-)~b8c=f
zK5H^CTql98_7vXKh%iw7o1q6M@&1v7_O+Ly;hdX;XLz`jzzbTGN+m`c)A6<@1!Klr
zfOCXr#@>$psuX;Dl8)BAXpBrwVnske8i5x)Qz#S|u1|xby$nAl>@bxdK{ugGos6kL
zJ)A>&*y~c!qKcy7P=R2(g=Ad<U3PXhJ@)+9L3G^|VxT^Ut~okOlW67oP0C2jna${Q
zckef`>@Js}Ei*F{efLgaX0)FK4%6CJe2CVL>j|`S{i?Gu(5lq{d2|iS8eM`8xm*tG
z-J_WLV1?mYJgwR*2mYw0J5jhGiNQRXiBKOOLnXt+x&%g<Oa@CuGRAEt=!^EFr&31O
z{mq56_BP9*tJqAgqQEA9e~pJgka*13mw$t9sZ@$r<w98N&tq)Bi07B%peu}n;p#pZ
zN_U`D?M1^C=hkDy-U08(NI8KQSR@h&EaizLuovcsN;rDkDb}V8K3tRUiQDq6bPl{C
zBF+$aL9bXWhFP6}m&N3-MSGwt*p1fwFgz{uq~XfEjnJ2bqat-Dor85DAz5n!0~zk~
zCJc*2B65X9bl-^QX;5teX6>lH=mA}E811JAvgXyn!8xn^{KO=;h7)WfydZo#?!#D@
tL-vpw$vQ<r>^s+9tS3{ulnEwm_ywwyBqoLfolXD%002ovPDHLkV1j_xUpN2&

diff --git a/interface/web/themes/default-304/icons/x16/address_book__plus.png b/interface/web/themes/default-304/icons/x16/address_book__plus.png
deleted file mode 100644
index af396b41050db1bc095eca7b12686d2569710525..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 737
zcmV<70v`Q|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00080Nkl<ZILnQY
zYe-XJ9LCRd21QgXFc>1C)S3!?us$gGVX0^~EiXqBD%V<@INAqe!D84@^0KB;c}dJn
zyD8aHsodIT4fEFWf~CVu=B*T$6D09N=F_{QjzX*s{CHmYpXYbp^QYKsHbuxFXz!<c
zTmFM$0u@ZtR8UF^MXd?6Pt0aCS*<X3cA~AX4?T7}><$MeW@hkhejeYKmax3M3{sT3
z%N_xX#d6a?(=<#4QUAn!i#197?*hF>qrq&;MSN*iY>Ins%#Xs)l@*Y(>~}$9c6K(V
znl50ZP6GSGbNEmz!a&U`Ll4g4(_;xUZ@C%?*Wx04BO+u3kDyttR%2YBiI27En6#Dw
zu2ByQ!xr@4OUKyLOgztt#HiB=FCI@y@CaV0R4R<rOX0BG!jIWubd;Y&JE5&K6?20|
zxQ2`vt~-xr%@L-&J3Ral!6Pszl}hH?OJ4`kRzhQ-{t|O`^X5hhlkWL5wSd_{pir1e
z@CZy<Sy|}2dm0Pl{iKk@q)B&z$=2(MOuFX{Dgm<tPFPq5!6Rr@C={?&reW^04d$W*
zCR+-Hf8_C+g9xbhN7`HYh8<Ytayhzhr((w50i*U9I;-W(xxcYsHTAjR*9Ji1Qi7`R
z9orfgbeO8*cm(Y-nGEmBY1rzoU~<5UmwB-;6vV=OEe^smK6sV>;8*Ph?UW+4Q2_6f
zJrmR&PQ|*QTOyI5yF8f`j-u<48jfBILr+5vcqM)iOebxCD&6&dUC=8Qi_uk@h}Syu
zRc#Cm`Oz@sMZ;7W1EFpo_UpJfQ0#}0i3o&Lhr=tEGf5TgsG!KhC5(tfBJvB#Xup}T
zDg1mcxQ<}3F7KS$5)dFJy=`tmDB%@h`jj7K`x}ArZ0GhfK66yOkDk0ALg4%YP9_@C
TX7j6=00000NkvXXu0mjff~HtP

diff --git a/interface/web/themes/default-304/icons/x16/address_book_blue.png b/interface/web/themes/default-304/icons/x16/address_book_blue.png
deleted file mode 100644
index 6f855e7421f91af66e1f0517a05b172d732d8790..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007XNkl<ZILn2T
z&r4KM6vsdF=FRgtPG!?ZEczj|a7?5hM218`L2Zmc3ZZQoM6?RpwG1i<iUR+E!iXS*
zu&|&qiWa3N4HO8bB$_%}GEd*V=iC-EO+rW)?&91ZpY#2mdv3z_eSmX7gB-iFjsK6&
zz?EFsk8=*cyx4HRukTWjN)ZMD=`gI!n(AuORaJyxNSI2|(%IRylIDvDK*NLXZrFVm
zh=Ik`(=Q!9k_-C*CV}2R3cRMKCj6Ebj4`WTPNh;f)sCLaJsr&_Po4uR7CcoYj$@)I
zLdBwDan6-ClRn9$PjxztQ)MBFn3<a5AAl3V#LKj7S;v9qO_j_OKYsD(?I=MI;8ZCT
zi_A<<yOn^Xh@d8B$Hp4=H`Z~z=Plq+RZbnu(Y|*xPltctMA_cf*0p}ah7SPVAAq%%
zczKD|#yW01ct?FU!-eC!xOid@_xe9kS6hvVV^jo_&v(~mvwLf^*}ni0!CH$k1`(ls
z-&U^O8z{x97-O*3;>5BLMHFUdwJ<yT*MhYc5nDNEjKP*;6EBy+ii%Ju7MY)$(|>9p
zq7?-XUw`3z`%d1BjB~zyCohM`ae!K3ds|!Anzd^`x)n9>t+hCp;MMRrXOHF>n=Eka
z@gVQN&T#iho}sY?)H$43Og`UTlgYGZGMS2kaz{FbzWv0CaOP+u03Sx@7##bBbCfJt
zVIhhTk;F<1DOCk^kVrBzvB>b)JkEiaOyVVdaHS`;CZ<p<vJ^$WEH2_Z=jwqqs*3M<
z1VONBD|?>D^A{fna))mBx?-^qkB+7jz;56w&`ka5Z~y(w@$^?_p4|kNf$zTopGjZ5
TZ?$AS00000NkvXXu0mjfc-=ui

diff --git a/interface/web/themes/default-304/icons/x16/arrow.png b/interface/web/themes/default-304/icons/x16/arrow.png
deleted file mode 100644
index 82cfae37cce484b4f63c7cabf3eb6ab65fe8ccd5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 531
zcmV+u0_^>XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005nNkl<ZILl-B
z|NlP&B^XTTwO?Y;@3;)d_H$prvBSKVGl4k9X4X>%i>VJ7jQeha)oawB!fk+Y?+pf!
z1}HuQ#W6%10K!H+*TFUd@tGM<{{IKj7E|uW5N!Ym8+Kg<*?6Y&>firU9{l?cVgp?l
zgJFPf+r^nc!85pU<Jq78i}ro_-+S}Ve-Iz2J_f}AAO~p6um80tzx}T{@$G;0@vmT9
zb?oc^%A;TZ7wq};KV!>#Fm68o<3C8fdfmwwxB*J#ht7aBq-}Z!#|i6R{SRL9@W0ob
zoBv&=UH<Ph<suk^*cm%s{0HfQ8z7Un6X?wE|H}@2`CoY8^Z)1_@BVvkc=6wL-Shv>
zYoGl$UHas|=Ddes?7Q{#e~^0F{9Onah^KFwDVDbJ3@)s?_4|Lm)nES`?fU*7#0RR6
z0UCk`1E3&-NXmK)ES$WKK_GtB8KE8j|I6+9{~yE_OjsQQQjcN)w{au`mr(=;=8jkl
z!e=CQ{r?Z5c_Np@@VM7AuuAGMfB@V8T!2YbgMlq*?imnfwJVEZ7SlwLM>c>7i1~n6
z28gwQ*cgVHtcsU086}rM`Px7%3&i|D%#3URBM`Gg4G{xkDI8b~s+j|1Dck@`FaT6!
V`gL9)4>$k-002ovPDHLkV1mOd{Wt&s

diff --git a/interface/web/themes/default-304/icons/x16/arrow_000_small.png b/interface/web/themes/default-304/icons/x16/arrow_000_small.png
deleted file mode 100644
index 02867c8e314d3df5a02fb7612ae19c136be8f943..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 267
zcmV+m0rdWfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002eNkl<ZILl-B
z|NlP&C759t8lcyHiNUbzDueCpXAE|8p3k(O`{E3cj<J|>A1p_-0VaJn8GxG3%zXO)
zKZrJ;d@qJ519V$2%mgYt1H#<#tIkBPz59Q{qyPUwe4tzmK?7`;Jbc#i;Q#-m%m4p}
zok!r3oB#hSR~|k?&;ZGt?K35^ww?iDkPFNg-u)kV?*D%fA1FuI1we%iqG=l$gp=1X
z@Ww1ZqjT{8e-O<Vw=xDKN3;QKL30_{0_V(R4VZlfNXGyTVIazY(WFc|1^}}r$nmj%
RUUvWh002ovPDHLkV1f{~bA<o^

diff --git a/interface/web/themes/default-304/icons/x16/arrow_045.png b/interface/web/themes/default-304/icons/x16/arrow_045.png
deleted file mode 100644
index 6dbd51635918c324d26667c93b903601b7e14e8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 505
zcmV<V0S5kwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005NNkl<ZILocl
zNhpO;6bJCzBN9r6XIQW>Wk{JK8B2x*3rdE&F(pdMTL@W*QV1E!kjDb0C}WweD0M^P
z85YJ&2~ngB$2niGFP|X`Zv8snIj8%-n~wni`wR9j0TJC7vPkV^2NJ*NPy~c^oqfbZ
zJ5NQ+0YKgM8`SEQ8us3R_CE&Tk_ERO@Sv7`QNQyHn#Bi&ij^mzog%=qQZTQoRpwK(
z!F=m<%&&f%G$K*8_5^w3H!{uQJ<wbcpw1g(b_J8nNi)w}%a<vPdsnZC(xqES?9@SA
z>pH|VuS!z;c7b+32Dp?haSRcK)29&KBxJdxhf+<_ZUODT4R9=;;}{~cr_LdyZBv#$
zaso6@89IX4-aYC2OMq?u1ji7OJaY~1J;$>6@hhM?YNQ%Id?EFU0L#oFBBB-^!Fupc
z7C7|)G`Gqc=JW_v>WL!2JY#@xv-E!9vG59pqc7k*_X^b0+&sRLnFgdWs#2dZp!|{O
z7^pp%QA7zhPSy&CSpcfk)BNM1o_r24LT<=k<)5QbCA14wKyDHCuE+`5AxmV2jFIYd
vfB~{X4#-}A!A3u`&|fssKV<kN;4j_*%&<9Q;p|hR00000NkvXXu0mjfyDr~r

diff --git a/interface/web/themes/default-304/icons/x16/arrow_045_small.png b/interface/web/themes/default-304/icons/x16/arrow_045_small.png
deleted file mode 100644
index 2d850694e6429d193e18e99f099d1f6014e29f40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 266
zcmV+l0rmcgP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002dNkl<ZILl-B
z|NlP&C759t8elv78H3%N=QHi+zBq%7L1IK1U@_%B2%nkx^#A`UPyYX}yYT(<3?LgM
zMw9_sjb|A2+ArCeHXncHG4aIzs@wnnXCC|f87M}a0kVaAxRompFVXM6d^7C)|NqVt
zPW%VaKr!MBkjUD)M631WP0v&R|0^^czo}Wg{h9yS|NnvF#2LUFv;2(h@&Es&%J$p@
zvX}73ud)M)@x`qqE)dxQ=XkIN%svCeOE^Opa03ls;Eq@fGI+$KM7kRQ0CV=(mwJUe
Q>Hq)$07*qoM6N<$f?z6sZ2$lO

diff --git a/interface/web/themes/default-304/icons/x16/arrow_090.png b/interface/web/themes/default-304/icons/x16/arrow_090.png
deleted file mode 100644
index 7e670dd348da116ab08d0572011f39c22304f598..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 512
zcmV+b0{{JqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005UNkl<ZILoDt
zPe{{Y9L8Vf{6o<|o69;BD<+wQ1BFO1I*5nBLkBUiA+hjMoh1CTlby<oQ_|Xq4h^h1
z##rK99wHL;@^%oTLvu^39Y(Z6FpO|}dLQ98Hn%y!FMRg${P{f-0K`$)`?>V!ldwMd
zEZUqAadl=}bhzW<`pd*^h2%?3pE-N%mmA<m(iI2zQXhU`dW&WG><8dj`-_?H05$#c
z0~23alGEE6Jb3pf%VabS`pioXv^?HmD5qj+47^PiF#hEqn6p<f&@?7#%8AG>Mpsi9
zSxMo3IEh}*H}t)Z!5-K`zb}fR<zHZr{k(xj$EwRRx*~JA<By`#DPi+Qus>rzZ$O#i
z!tnAQ=Z8LubA#{YEnf`Rp01<E8wE9et;2rN0rSHT;`F@`kvIHtSlyfGn)?ZA`pioX
zsDBa0y8#V(C78rnPXeuh-=Nkq_6i10cGyLYwMQ6iZ#1N3VFw0Z3g&tBDy?PuhGxOb
z8_=%8)Fh7ez9P~T&OjH;pl&e(YWmEzD>}f_)n62qH(yB85^y2})P@0S`ngwZpjyFJ
ztFC=;R@ePpW>K2H;<Dm+sR6yhs5o-~rxaDW1OEZ$oB!`Tm(5`S0000<MNUMnLSTX&
C0r7nR

diff --git a/interface/web/themes/default-304/icons/x16/arrow_090_small.png b/interface/web/themes/default-304/icons/x16/arrow_090_small.png
deleted file mode 100644
index cd82139450ab3c89bcfb5693e08aff49bf687077..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 256
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`$30yfLo7}w|M>sko>_H9qJ&h!
zjoRLWMYo*Ue(%&zdh>j*4f7($nh6#c*&=*u87`HiJ-ht>zoSWq{}x8J*l@?L^FHiZ
zdHcTq|9?gO|NrJ63WbY!F08OGUH1Rt|Nn{E@BW_O!?iH_{r~^`Lh7d&eom@2e%keI
z&cnX=(qrN)SY03*7_`zRoVj;QVbZ35Jy(JHfX0KBFJNPPcS2R6=GYUC3#<-ON7y@s
xQyH=!$Z+t@u${d1;~8TEUQuaH&zT`S3`_h^9D8nlY!A>&44$rjF6*2UngBHIZp{Dy

diff --git a/interface/web/themes/default-304/icons/x16/arrow_135.png b/interface/web/themes/default-304/icons/x16/arrow_135.png
deleted file mode 100644
index a0882c227845eae464b8c5a49ecbf2837c2fdf54..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 531
zcmV+u0_^>XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005nNkl<ZILl-B
z|NlP&C76L~1~|-nITMJ_5Wq9-=e}ToVH5*wW<5PK;m-g6JvaVg;7RxX{|Cw2&VCjH
z#0)TuVu1PNduQ4%{r+El{09o|z4`Y)NX}x){TQGj3^)xi>bZWV=EV2^xjR3BamJRn
z|LaeG`VSHZ;(j1zFzmj@px1thLA&`JgI41iR0DKc&Yvke^yPoz+L!+W=G^%2I`Qm(
zmkDS7=kI>@A0!9V6r);wj6uG5FM~wZRtB;3O{fL{CC{X9fA!yS`j!7Vdtdywn{pA3
zlea$k50Y1@IvRu10HDMfueDGAC+vOmAH<H{`TD=XtUGWVxam1qT&`$O3|0exf@cEu
zefkfgfw&(;yYBe#UvBYBIJVsM4lFO8xg`d}0HMS+XFymuX)Rb1M1%OcJAeG=Tm2P|
zm9~8U4^@k50B`iNnLr%F>)FV_Z4$`<qCtF~sHJBlcmDg&wDI46ksbg3gZLnEF4tOA
z1K4zf8JNX18IS>p&t_j9!yY{E4Bz(u|3Nf}4^xL?01z+&F$)lL0x>@jivqDU5Gyg6
zq~$UB&N#zloKghj8w0TcNFJL3%s|Wv#2i4(4a9svEC|FRKr9Z#l0Ym4rMan+8v(~6
VI`A8NqGbR8002ovPDHLkV1mj+_n!a&

diff --git a/interface/web/themes/default-304/icons/x16/arrow_135_small.png b/interface/web/themes/default-304/icons/x16/arrow_135_small.png
deleted file mode 100644
index b51c5c67d59bfae5a9ba4d029aa1cc10657c1548..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 269
zcmV+o0rLKdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002gNkl<ZILl-B
z|NlP&C759t8eli)`Aqw{FU}xikeKc4XT%v`G3EZ5nNR=!ue<R5^OPt5|AW{dF(4++
z0KN80XEKj{{#<qY|9_8(C;po@AAbfEv(sukL!1H1m50xSo&W#edBTbRAX>lw@=c)F
z64}B%+(a25k+t<q`qlscHH)`DQ)oDT)A{88|0>NVZvw@a5M=;g+{&4}G0V^J$FH&j
z(o4ij_uN$3|NlQoj3@(u3K_T~7Bc`1VBid0z|9&kdkGMqVGEq&F;Y?@-3<T$zlYd^
TN33;a00000NkvXXu0mjf4Apy_

diff --git a/interface/web/themes/default-304/icons/x16/arrow_180.png b/interface/web/themes/default-304/icons/x16/arrow_180.png
deleted file mode 100644
index a1e5e6bc61f8403e588f24a32090b5ccae1eef74..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 540
zcmV+%0^|LOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005wNkl<ZILoDt
zTS!z<6oz*rmZ(^fP8am09<nUM83-}Uv?S=UAV%1cU|3Iz7ra6~1SO&dq0)%@qL?~3
zl?0KH50>575T<!S@B$tu1rub3P}IM*rtvVtcp`AYxA$6`e|=j35WB&9#8-V4iI2Yv
zYyG51Zk!dV&6>E}wkQdETI)}-&AI9k9nSwtAPMEeE40>4{HLH{Mv_F?HGppxT587w
zmW>5<6OttA**s7)wh8W&YJLPQ?<hF?XjsytYMk3b;eZ<tzpa61BPegz1t%YTkt9)1
zr#Er`^@^8*cdMxQ=t23A2W21JD1HBzl0i2rKY74;U2wc~P(7L2KyKeJoowe4Zg$M!
zddnoPHjN;oVb}}zw(eQ*jxLDH@0YQ8Z&mf^I&QyQMrx-EDbF=zI$gNZyMT1Z0@8Xk
zT<q3xp-V%0uM3>l1vH4m_xhwc_m#T!c^y#>4-($|2G2%N-X0*JM{zLQArIW?QRjz%
zBmDsPhjN@E`tFM$IIj!1LXVyik=Lq3WLAfau(hib0|4KI2)EdRh_Ge_3brf6d`g5~
zDv^6{v?|6F6EBR)Utl7lh*;t@VKrHDicKj+o!tA8K*SOI`7eLL9%7$QVkV9mVD>GC
e@u#|AH~aw`Ci-F}_rJaX0000<MNUMnLSTXewe$@D

diff --git a/interface/web/themes/default-304/icons/x16/arrow_180_small.png b/interface/web/themes/default-304/icons/x16/arrow_180_small.png
deleted file mode 100644
index 431b8384aa5ed0772f34cb824e0bc891daf63b14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 261
zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002YNkl<ZILl-B
z|NlP&C759t8lcyHiNRvZeFnQZ&tvT8zBmJ<XWGtw#$ecW6)Z=T0p^qM#Q+UCGxO>H
z{~+3=?<VmE=(b*n0V+H*^~wML(QEJi=Z;@>2E+$ppxjJ?1}Ik^KGX5w|NpS_2poUu
z|NoMk|Nq-AdH9T=0g^e}V<fV+o=Lg#|G)V{hzme`5C+N-b^%Z!17F<A7~YuWXN(U2
z{|};tlh-kbrfmev5oG{S69Ze|oEX-C*=K<COtzr8#2YZ0lu5?`Gj7Qh9R%Z100000
LNkvXXu0mjfOvrVw

diff --git a/interface/web/themes/default-304/icons/x16/arrow_225.png b/interface/web/themes/default-304/icons/x16/arrow_225.png
deleted file mode 100644
index 1d5c216b11ec9c6fa9b3819b9de55ce63e5119fa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 529
zcmV+s0`C2ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005lNkl<ZILob*
zOGs2<6vsbip+pnLn4&GT2TGzY6w(kEg3u~ANl<YiR0yg~GJ=6FN>UWXL0$MlWx#Bc
zW|I>wvKB?U_<9KCNLrbXg$Wj8_?WT&p8rL!4oL=j;K#Y=@%_%~DgbIPsC^M+G)$<>
zrY|Pxbv~6^HDYGg*=@5br*qB_G&5`V`R4xwtuuV2o4x|ftalbPer^?v5P{UPtX<=O
zaOX`B^`Cx&HTxj~E(@BZ)s7kzFte`pt>M<IWsB+$L2T@92~zI9Bf92e5X^#$xpHI`
zH=iw9RJ>g^=c$$N%_Ei|q3ku$r7wTU(hB%}Td&}n_oqeK(306tEFUs>FhmgV93<NL
z!jG$-1(Xjjp`iCWE_6@gT)Pj2{ola(v6ANokNqWxx$Y&pc+ih459e{#J&7|dW5{Us
zA-``LoW<UFV(<_J$BWvP{lw`lfurC7(HFf7NOsR4v1`gC_t6~K7hI0QUKLr?rw+uY
zsm-ti_RIH(PU`m~`u>j)QapZecJNZS5uV?vwudFKMV(SI)NxOPIPy4vNWmc-_5=_i
zL=ObOdD!_5V@H9+QCpVNZOd!X|0K)VBfIIsNx{Bda7b_nF_i5>?8a{RzWj~raNjO)
Tat|^i00000NkvXXu0mjfF+=ye

diff --git a/interface/web/themes/default-304/icons/x16/arrow_225_small.png b/interface/web/themes/default-304/icons/x16/arrow_225_small.png
deleted file mode 100644
index f082991f028b0040350f0ad98915892a76af9b1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 272
zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002jNkl<ZILl-B
z|NlP&C759t8elQyK7-ZtM+~MD?=aZRe8O!%_r($*K4UlMxd%}Om`}bp6KKd8paFJ3
zdP(5Q7dK}-{r?{%Mw9`1?U&9>d-DIkdF#n%4s-6^Y`g#ezx&*~H-X|yh%!LA^6;6k
z^Z)<b^_}<+qK*15-UNy*(QG))O_Tu=SzFI&u6g&_@X-JNR=p?wYnASJ1{AZCDcDV1
zAo9j6KVy6R|9}34uRaUz`2Sz?!2kasF(4++0Jgw6Gg$*>pFzeTF}9$&BPJ!%-2ebG
WIoKe;F4UI*0000<MNUMnLSTZrMST7M

diff --git a/interface/web/themes/default-304/icons/x16/arrow_270.png b/interface/web/themes/default-304/icons/x16/arrow_270.png
deleted file mode 100644
index bc00395a32d594e944b5ba54c8a35b4048d372cc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dKcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005iNkl<ZILoDs
zPe{{Y9L8UkgHTe43N~oPM3Cq(mjog+A@yP&0?R=^gUITTT{IOP6nXQMkcgA?;5;-(
zXi7<cm&NeV>mjJqG8Lw_i=r}EAbWhD(c<@~o%+G&_wsz7hmQat{)g=E!q_hZwd2X4
zLh1;bHwJ-kblr>`S_K}*GkCHBFq=09LDle@89DHMAA!X*_%fR}2Em#BB~dvT*CQV-
zrE%}|E*^eKgIV8mZxEd7{2<B#G2t2bmO};>Q@B05h2B^S%(;#`?k$4TT~Sfm`#Eb@
z$gYJQw1if0XD$I|-q~}PS3ul73!<zqCT~1nM%|!9Yd8*O-g6s^z}4|SsE$&PKk^eb
zLtk+vybN>4y+Pn?pVu6BU&;2^4ld1XqH%fyzR5LsMt`6>w2Jyj0(DafG`~!OJMIkv
zbri>M&1lEkrsdU7dvJx47B0?jgFScLTLh{UCD+4RaqBZ#^YJ%|BdNbsyh($1_S{(n
zN6udpg<iiXYIq=u{2{HdWkQxmGqAnL!2K=*X5QJ`9cKkUgFye;PLzuRU$<tz{8T#M
z0(_Zy*MI*K*cB%gUd1_^_vU?D(}?8D{0Fz<a6Z8yMTx?paOUBtqChV=05^F9$Ti8=
Q$p8QV07*qoM6N<$f`WSQr~m)}

diff --git a/interface/web/themes/default-304/icons/x16/arrow_270_small.png b/interface/web/themes/default-304/icons/x16/arrow_270_small.png
deleted file mode 100644
index 4971995972f94f19b18dae22999a5297db71563f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 263
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`=R92;Lo7}w|M>sko>_H9qJ&g}
z`EyH&+vjTyjlW;Go~|IJ<~D`V&Gx#a&T?CphsMV9|NZA*<XAJoB9JZP%KW4YxqA;J
z+^Bu)^LFn4|Bfad{6gxd7{1;THg4=XUvPZAm2mCH|MddAkD8Bk8ab@XI6t#1`v3oE
z-Cf`Bzq4rZ+xh9gy~i94W|zxm$2yj*u@^3S_rLyW?f?JPbAJ7oKf>NAoXQYj$n1aR
zlEk|cs_7+sOnVuYfGoer#$al=f$dCR;>Y==Y%a||T%-+{J~J`6xSVLJd6jtt=raaS
LS3j3^P6<r_u8wah

diff --git a/interface/web/themes/default-304/icons/x16/arrow_315.png b/interface/web/themes/default-304/icons/x16/arrow_315.png
deleted file mode 100644
index fab81cdb4b27a8d4a9e30618aef139650474f6ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 495
zcmV<L0TBL)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005DNkl<ZILob*
zODIH97{^bONCrjY6?qg{uo#O`9#M8=Ll$%_hLXpMu}~~gA`>EyNS+JE;^M{vC9yf>
zO?eliOq#M_qS5F3E@s?DQk?qr-S7WD=eN5I0N7t({~|DSow3xO3zjixW!WQl91%2W
zr#z+Om?gLFDwB4C-gpWIZs?Kdxdfm|`|kza=X6<^PhX*7!vUQqPN1D~m4NPbpAV=6
zR3M`5@CB;n2N$h-&p^4p{fLu*ChZ@%1ym-t?C_-KZPC2*3>A_cjFvkn8oz?NH5*Wl
zm}yon-hA$A0R;(7TRgsTQ`D~8A+zrQ(tGz6jItFdFO{w#Z|p?*Mmz-+#?-I!Xw!<|
z%Qnytp1LTIZk3reaRt;PZb4{H6^kt&QUp|l*T_7qdQs%c_YgmNtwKM23)CTQ!RPUf
z*0bR9ITloAVL`@OGa?KN4-h_e?;>u-4wNIF0y;j0Bh0UOf@@1AMWXD0fSE@Xy16Hy
z4*6c-T`<g1A|jWZ5HRlqe?&`2PVkf7GwL<EM3uk`2}P1LX{ISne!uvUG}AcVjruCk
lAX+2@iTDLNB=BGU#y12NC;eK;X~zHn002ovPDHLkV1mCZ*aZLp

diff --git a/interface/web/themes/default-304/icons/x16/arrow_315_small.png b/interface/web/themes/default-304/icons/x16/arrow_315_small.png
deleted file mode 100644
index 868724a4b72b948eca65f48d828f20b911f92dbd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 271
zcmV+q0r38bP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002iNkl<ZILl-B
z|NlP&C759t8eli)xrhDS7iWNYiOtL>+@=%nFj!50#9%SyK5+&B6`q;-^#A|Bl`n1r
z*-L;1*nz~%C*PY%lmU9}mzH?UyL+?a{{R0DbMD<VZ$0^}|Iz>dK=Cs~8KBv4np?T@
z@Dii`i#Nm0|Nn2-cj7;Y28t19fK0(|28pb#c3P!7o>}#t_-}aV|9{Oj?>+;?h%<mU
zW;qC-F+1}Azu=Dl|M?fb`mD15|9_AeQ3kLD&1GN<oHLU(VD=eg3=$hDDUt35006vT
V*bK~OE^Gh*002ovPDHLkV1ii;eQp2%

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle.png b/interface/web/themes/default-304/icons/x16/arrow_circle.png
deleted file mode 100644
index 8087eeaa43fc931fb04fb4d2a77efbd7ecb7940f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILoDv
zSx8iI6vqDy;)|A1qRv2+feV^ZYN3TFD1^%Nk`H1o4<k{jB}ihX6^c}1HIoZjn2|MT
zZaHS5g<4n|+-V{#Do1n4Eo_;>t<=-`E^;#pdg#J$?svZPo$oS&h{XRO|AbwgEN7&@
z0DmLn!KgzkChS8lkBZ>3A+g<H{Z$ZhWh|Z-Qu!#6zHdpUbdU(1p?@hf*E|=aYqjkO
zuN)6&PyI&$45omQiU$@cPnxImZx#qM>o6v@!16tfcWDuoqe;P~gPVRU2)yuC6I{~Y
zQP?|A*^j=`#r{Qt4%GKaOh9DiaMqEw&xV|?Z+e6EhkjStKo;MuQ3|%6?M+Q=8Xq~<
z{)tXMpCO**zk|2`xz}P_;Y)wkXAayRH)XYdypzy4X5?9`6!_$sjTs$N)9Eb}6jjk@
z<++5Bmca*vZ~n8WP<?OP!TR^FIBQ|QNGb5hek^5nPLZy5n4rB*JQbeDpTsleo;lsZ
zn`f`w9^@V--h5}{tPNTz*pSgKrL<1c-s=Mdy*~ZEa6j6K1Np5<yC>jbhYYgNN`X4%
zt}&)&Xgc!7Fm1{2wyF=c#5pH73g`Vz!YS#NfQE-1GRWdaDd0eAK#_T5XY~X{*Nx5c
zEUnWu#Nik~!@~|4WO1VuI3?C-)+X0mf|_l#x$X<?Hhq}&%kQ$TPN<duG(7B(K^8Yk
z!K!^m;SgJ;b<)+pa5v48Tf+=_w#?Cv2lFz}@UTM$S==ZEcvLRl!Y(9JYad%>aX8sC
z;&^Rx+QGCyK-TPGhYYfKRu<SXu8gnB#V0})boi7iy0})Qy=0bwhQ~Y3_%Uv{Sy`ZB
k92plz^AB8?vnt&F1d3lLN7x%(CjbBd07*qoM6N<$f}7_{@Bjb+

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_135.png b/interface/web/themes/default-304/icons/x16/arrow_circle_135.png
deleted file mode 100644
index 5ddb81b1aac080155f41f5132431f572401baed4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 780
zcmV+n1M~ceP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008hNkl<ZILoDy
ze@x7A7{@>RqCXsECAwQkt0W;VEzxRee#B{pX@}a>YP!o(V~v_0Wy6|k{TPNylcFn5
zKU7B|#J+V~3&Rz5UDrkBYUh-AJkK}$Vf|tA*<Sm;pXYf$@9(}p7yz*Ufvw8X39K&o
zzydECSkUFZS;1FKG9(jeMtI~pqQsemJmjUF$pT#06&h1wHRjUvjxlXc*AFuSs4a2#
zhV`LEMlE_|lLzF#7l#%aqH?>xXP?rJRiETXUm|7%2<!pQV12Qn1HH080n&4?nQzt`
zn>G1eAvwBl38^h3*@+E9>Mh0kM&InW%?OWLcTh8AO=}qe^uXGJZY}OegaDs2orG9k
zVc42-e;^_5mN5tG(<{!t2%~TUwH$lAqS|Cd4@BNJ>akV|0bVED2zO<@X~%w5k0LOu
zGi6D7`%3SOcDDEgF9gs{uqO}6d!<v}>V@Q{PZr!M6#_g`pE8f5Ph1W^_!Ja*?Om|@
zk;hWkl!wgaP!n5_e4oubs9|0hv?#5W;f#;1)B}2fv=Bgs`APRKpqc+0>eJjgv4PD?
zY@|Rw3Ii1NCLk>Yh!wR2A6eTEJFAQWv6=y(o<v!<$0@#s&5o&J;`kc5-<jvS@bVtm
zQU1Y#^NB~GA;NFE{SkaidSUzBL7*DRv)`v;c2PH&Lv*E_df`>Q)_}4;kY={&v7UH|
zwtLG6er@$IY-|_-x3WPXy)?Z=M}30y26eyHyW%tW-!X%Ij7n=4Sw8U@r|-H-@L`We
zfv!GvR&cvx1&^Aq;HMcCAnjE71s1BUU>B|G5Ji;8X6`PX_>nkAPd07aCH@x~HW4LF
z%QBzom#aQnoa)9wq#lPEMJ9{rSgRgq+NptuW!xN3Mn?$1<IDvlU*)7RNvNgV9IsH$
z|G;r>bM8$}cD_x3H1%+X9xucZnescp7I8r4B9ecAmPH6h0Y3qZV-EzN%c{%(0000<
KMNUMnLSTY3R%$Z<

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_225.png b/interface/web/themes/default-304/icons/x16/arrow_circle_225.png
deleted file mode 100644
index 3bec0d1063ffd36892a3de637d4a95a1ddaf0688..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 758
zcmV<S0tx+zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008LNkl<ZILoDt
zdq`7p6vwZ_%(BNMO*Wr|mM)=eMrfLvWl}AO1j8qqAn7D)pceIqnowcovc#ffKA2Od
zrkT`yC72jo9Y`A0&D6`-1kJRznK@6tb7znh^hXyy_kPbg-|zQQ06_f@+-t9#p@PaL
zsL%&GD(sO#7+x_YCDan=6;Mm@h92}{2Kl`}a!8@qrgzS>g~N+RIkOD%56gf$y=$Ju
z8+!g;aBo}^rO*w_84DC?7omXuwhG*pj#(h8Qa6m=RRw{!-wF4ZjcISbS%k}dUm&|<
z)_lB@Wdcjy(+FzZ;Z4qbhY;e$jQG}DYr*d8ucdKn9h=)Z17}+eW-`+OH%8*nfS|@*
z#uI}%uX_fPTJ$Vt2-X5o!JtywZZKvv=^*^h2(z<r2m@T$FQ2CTuMSbTizppsGMjZE
z>zOuUhF~r5x%85jw&@{7H36u1Tp6H5B<Oy=lk${xbKnkdX$_N*^J1Fw5v&Eo(3_-Y
z=VFx~=TN(6cTjHG8m_?OLf3slg4;O_`sn!jNyvOY1*ox@D-dM17e`ev+UT0eQUCmY
zjUeOcQKz(K+#~b~cLRzBm}9jp#MDg~$*jaXS3t}X-@;eQeKq>FAjNnqnXhd*)3nDi
zMU6K)vHLUNH@amSf>j0(7Z0*zmf}yig3U>Fe8<$rJiq$clI?Y~CH_@9xod7u-ljyA
zm_UcL&BGDRSMXMS0@VD}#vYOp@{{YW1smg)l*8%jZ5vV=l3f~2S<Y%xmTR*~>eXrv
zUmsgV?|QZXPHGc`b}azTgdzfE>msri;KSSMOWB6z2<&33BJD5sov<%wW7a-i3R`pX
zAsyIj0iTW~j)VOcz#Soh3;rx1j|0KWW}Tzh#v|x}jp$S)&--u$FIcAJNy_Oz2$oe7
ozvr(7b_6~_KoI@|^f;sc2ZU}6P(tl9y#N3J07*qoM6N<$f>zRIApigX

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_315.png b/interface/web/themes/default-304/icons/x16/arrow_circle_315.png
deleted file mode 100644
index 7a4f23eaf5648fa632f1644b2f148fe2c4f19253..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 764
zcmV<Y0t5YtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008RNkl<ZILoDu
zdq`7Z7{<R2;y;>_iMm0ViKY%oQ^79c5Rop-{>VVglv0v(Mresx<~3VVwq;2ciFvm%
z!&!-lx70K{x|rI{qa|~?g+WSd>8!W+6FFD}{m}=%bDr;cpZ7V3008+PRv$qMj_fX*
zCLwqAB=o*PD6TL{k$Qw(gK8<Ah1{DZsAG}xzZFQrE9W#x9gDgG?XpQR`4cEqQ!lJy
zt_w4T2uu0B;PyvJ!~?yybm|9O)+|He$TG-AEl@nZ0#~#aD0;OF*WXwGKg5>nVfD=y
z1m1Wr+*dZGQE(Q>?)wVoIv31`YxP{9e1fGMRnBt7V@r_rY!MXP3Q$dbzQFJ5m^7|=
zPM6vF8IsioGu~PM;_;Y(l6PdMY?RJ#QBOW$fwb07P&8r!dglv#@`vlvyXH-&RWl$~
zjB}!bkr)gRuiTf!JCBXU`RZ@y4=t`z@^%TR#}{~H^|Kk>^AK120jS=QJxIJRy&#?!
z2Z-l|=jGJ<6YBE?uIZg@N}CamR80caTh6u<VQMRJJKs&qiF;-*aZT%>xd6<FF&nxy
ztz#QsAV_&y7u7gz+FvsbzIg+jAo)p*W8x!XAODazo@ypkqqj?x)1Qf%l*pRNDBSVj
z3osxJxHhcY(_nyz#u+o-+06+}F|>e!`XG9;@OqsBGpT;Ep-8+7_yYU5MxjHZN)z0&
z03ziV5H}gk-g$kT-SGw%>G96%Z5OKyYMjY2lj@M53d0?1zF_0AI${%DEwN8fY2DOj
zaB2Dm?k(TJzio-KfciChk8viqJE4rntbp$D1@tgZUc@RSLt-6Wt+B}&)Y(=VO*ZNk
zKo(GIY_bRHtfQ+kF|(a!=~-W3g*YQ3#>pp~2|km{94b{Zk~_ml4|70%lL<;XxnYyr
uUd;F+E_7#o0fX2gPKfXyIIm?Hy88=OiYH*y4on&V0000<MNUMnLSTYYS78bO

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_double.png b/interface/web/themes/default-304/icons/x16/arrow_circle_double.png
deleted file mode 100644
index 47eafce4c7cbf24635334e43444a3123e9fdd15e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 778
zcmV+l1NHogP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008fNkl<ZILoDt
ze=O8t9LK+IvdXG6`f=vRF=AJLlsj#wiMm;4bDL#L>q=t%QFmh*yBL3nLg;QgEh#qE
zbwr{gE<%fCJ!pk-u{7t`R&oiaj!&QGd)jK+`lDxieV@;d*Yo}|0KohY>?gErwge%6
zfzJ7eFTxACH{%d|XOa=$`p5*TM_Jf_;L<4>E{J9vpm1c3MLh;UXGO-fko4D<=yOl!
zrN_#rB{<`42%rNb2O&kntB^%jAb-#bw9gx`hF*K~L!RCLT~Rb_RY=NAvEt%!?>_=W
zH;t}h%~*SO-!i1V_zL+0D?n?J>ODb(()%XmmF@*~M%Oo0-dl?*sCZ0?Z@9vu5nI54
zyaD;CYSTn&>u1R9HUst~|J^cs2NVu72lEF5u+B~Cm}@{sA5&%0Vjqdv0t8vTT6xpV
zVp8J_gqIpevDYAE9cF)aAG7ajU&QfJqXC^Ebo+5$KzD3_Z(0{gY@P+VehO&qm)XPY
zP4AW=C0?nWjA!z5#xLU)^*Yfpqid!$Vhcc_^MZcb9QSzAOl$X~XN*@$2g64^F1M8+
zGPgtn^$0qEF3_3=vjMzIO$AX8KJ-g<6GNiwJqF&z#t4^$Iy$G2bu_peMF*mE<BQm9
z>7EThIZ}9oXb<aV^kF(v1NOPj@s9$W;%exQ$lB(C-r@D1038q&_D*0gr$1o>cATx^
zIw#aBCCv*e!NV`AL%L}-KdoK4{fthC5b+Z;NLm)aM>hww=AN%@$2YFr*lJtAw$ob1
zF{aX+8($MEGFTLDbxR7*`enIaqa}3f$qFK9vVcp?5(FA7Kzk$yVeEGcYytFecKI{*
z!Ku8>F%^<MnJ=Yo<)&zUi#23Z)Lr7=x(e>iRu*B$D$p4sV;}wsz~hMU?Y1}x?L5Rs
z>;xwy9G|eGoS<YaC-OGgKu~fe`kucBI3Qevhq(R&>g=TcPkLkxl8%1^aR2}S07*qo
IM6N<$f(x2vCIA2c

diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png b/interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png
deleted file mode 100644
index 289419c8310cdffc598a644ef93e8aec2ea20dc3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 802
zcmV+-1Ks?IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008%Nkl<ZILoEe
zYe-XJ7zgmTQwb%hX<8fB=1j8{q)sUnap*pjrH}|3S>h!FbzNrKuoATq8e!8kw2Og)
z&dj{zQd3(~)~Jpy(!^{+rEXqoH7|L^x92_8holcd2Y#IA{XggY&!>Yh#^`?_?|ePO
z=jKP`e`^E<+#R(MmX3vhYd{TXPzjP@$M(N%KrlyvlD`%3g6<im@h#?xOx=PmZ(!LB
zaF%Xi=0xk{P++N11<%L;P5fC<^nn#rIvkzXza*FG78<X-UhK>5T`~g<GlmT3_AFxf
z5M401%-op*LEby$b$!6Xw`edh_syL6l4e?-uAOcOQ;f8F$=|C19i}koW!<wly<-we
z<}sN`&J?)k_7be{%1@zbZC}LaRHl45=XhLw8%)ag<n)kzA)sYl(^%3pjx#i7OwLRJ
zKf8-?NvJo3pHYq`iHiHByDoQo?v`~Ux6D^)XBHg=dw6*YpKt%n$k2SlBx4F(FKUtN
zh3DMU&0_({jRv7hx<<g0b|7x53OS{z$*u%4dL@!G1zXRyp>2}(5>CofdL@!`Q=cJc
zX(!@H+7V=en7R>RLZdMNc3h@_mGqdPW11&$M4ge5s4`)av6Gvkwj?UirubUKN>qBf
z%e2x^#Zc0rGJQDgU6=y01oZy83G7vFz+p`$OwORtHns*?N8d+waSwyxoFl3n&i7M{
zial~(hQgV}6j&Wo5VX%DGZr;Z;q3|&CbM%!r=H|M&CBR$-CJdB;8%Z@2Q^QLZR2VJ
zt&dk(Fa_%)$_QGhn#bhMSI%O`+V7ZCKZ|!L=Lj>*eULSJJ(-i+#65_%j4WquI9l=Z
zU!d&W(AvXy=wD<Ok>x73?8OkLa(sr{vV?(|Q!%b%Wos+e9VwTt@lWGX4sM8COaWYu
zly6EIC5V^6ETA0tB5L2MOzPl`YAU3-3#h3B@&d~HWbCSqPJZwVAJ~J{zYDB@9oP)m
g|A4$~2`EzV14vO0ECB7!>;M1&07*qoM6N<$f_vC|rvLx|

diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip.png b/interface/web/themes/default-304/icons/x16/arrow_skip.png
deleted file mode 100644
index 860332d754ed5a288875c5ad98ea4df8f2d87ff6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 553
zcmV+^0@nSBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005-Nkl<ZILoDz
zOGuPa7=}Mbbm2^4Xgb|CMW|p}GcF{eyM!%kqi`U>G#61((G{`+yVzxuMHA`9!9_z;
zsSuMQ5?wHk;Us3ROe!-8qHq|q=<WLsXMRGF1P?s_d*1WE-+TVePXK5>P{GAFRCuZ1
zXntLv<2N;qIc#qF5@6JZJD;fd=6mvAA2PYz+E=p|_^-Vq8L()Jnsb5RyE<rYWc2Ni
zfM{{Uu$ps$u&#bUZq%0te&fdQAIP4+PB{f@E<^)tw5Sv${B+LhNgVE)z?H#Yuz6()
z_@V3HPC---MC+nIar$Kpr(VQx@_7s=o=xCT=MU7he>0rxjhlSVnI1(ek3ZEC7G;c=
zfr{`rb_YkW^X?F~-|ENKhNwaIa<;$YtC^wY2O|3X>q&?*##eQJN9n^cl!QNH+x<~&
z35}vC_yKuMBZktpag$$h@QI@AeXW74>PK2MyQa<Y(^=IX$HGty1(7&xUde^ThBEg)
zFe(KJpCF?$OzC^>>Ga3IvJOD@iz-4&a;CuTFQ+tL8Ko@ACt0H66S&Ko1)UiIL_Os}
z<=Ii|<o~-|i*qS;SECkEHXc*SS$Q)vjGOT?tC>Q^|1YlfM_OFI%A>qrYcpOuBeRsm
rq%s~R!@gWP3tpR9U}utOzQ6NdX{5sXx%S!B00000NkvXXu0mjfc*h0z

diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_090.png b/interface/web/themes/default-304/icons/x16/arrow_skip_090.png
deleted file mode 100644
index 2138dfd5330816811febf698305a70ef93f47b05..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 515
zcmV+e0{s1nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005XNkl<ZI8T+0
zT`1jQ9LJyJZK0@1xpCvYC|kKuYDz97cEOY=yTOg<Ol=X(&A6EIQjU`gY9X8(FNL;A
zdC#vzYGkL=&akrD&~YPtJ>OIR)BiZ<wD#2J|MY!%zJCQkWq0kXXFZ21x8I@itS*&5
ze5PKEoL6gvH#L3c?6J>x#PbO-z(-;`1$a~c&j8CZbON+*-@y74pr-%tfxho7$)M{V
zmSwk>0p~sFGY>xS@f$-KaNeO|{;wZBN4H?kp5H*$hdr9o=eR}N<~3S3uF?GE3U#x8
z(DeBd@7COSyXr>w!424B-)A7RQ*0UUcf?G~$^|MvIZ;1%g2x&AJ_FiRX&u`hQrovw
za_hR(+8rqD71T@~gPOk4VL#wNO527?db3QVYRZ9v{#{f~9D|xZ^PmIzFDkKd(LhS4
zUC13eM9Jh2P#YP0egjFCuPVN7#*7rt|3<$37m8-jL2b_2_ZfJS^U6cqYrBChwsu+!
zsEy3%`V5#)R8fbDt{U@$zWD?l2+b^0k>w+{$cj<%qBVW<2{aI@d8$badpRueOF+y5
z5Vr_W)7K<u!h;P&Xwo&$L-H)+AthGvqBVU@mL|$P@Bl1r^v@h1h{pf`002ovPDHLk
FV1iS7_t5|V

diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_180.png b/interface/web/themes/default-304/icons/x16/arrow_skip_180.png
deleted file mode 100644
index 1d0612926bc6dd0ddb52fb865c18c0b2c8c47fe0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 554
zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005;Nkl<ZILoDz
zPe@c@6veM2x@aaSOdYK@LNtM9&1|AVi;7TMMUcW58iuxrA}U+-M_O1R8ZE4Nk#4kz
zrbZn%RvU9s8K0m@HG-fKI$9(IHOQcy?)`diz#&uc!jE&$d*`0FdIW%00{QCR(bgO9
zDR66qcH9}K-S;PGPwTW|tm2j_awxnxY;yVagGL?yuL8wr8&eo)iY&9Bc}#JMwk7~k
zDfBmfGU25Qnj(rz%yDC69<pz5_>egMZ$ZKJA;m`D`vTPV#ZW&KhxlYTXGwvm<7xBN
ze#IradHgp{_53hgc=Z!k`eV5K_Ai&-#Bgn37Lt<>ipq0Q%DdR7Z;#HQrh8@qm7%XV
z^6)cCAB<rC-C-PkJPOG&=H_@;)Ogx>=7rjD`nhiS7)Nz@2FE(T<50&plypwvKq!iR
z&nB@qIEj+*G$hB6XmK!Vyco)^39GE?E`4?&j?AaOP|!0A@yT$`%0AgGdCT#pfDNs!
z45~F1PxP+W!1|Yf>={)dT6dx&f#jq>)bVE0a`MS@u#P<C?aE!&rhUDDC_}6KWeFtb
z<i)!K<+NZ@v$jxLQLRcp+@b|nrjM30F2>DxnN3Wg%U^Zgwe#E~-UCT&vol`%Ms6vE
sNoPDvhW#>k5xjP0wSAL9EB&4S0J+G<6|DBY#{d8T07*qoM6N<$f;1oqrT_o{

diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_270.png b/interface/web/themes/default-304/icons/x16/arrow_skip_270.png
deleted file mode 100644
index 3c37e6e8b8aacd1dc6de3b257003d24cbf8c3779..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 524
zcmV+n0`vWeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005gNkl<ZILnod
zO-NKx0EI7;qJgOi1sW=dF5C<?L6lNf2(<_iLjxV5Fm#hCCMdRv2wZ3+A?Qn}Y-li4
za0E#iMi>5Ux<t7!WfBL)Lct7CnAIHbk)FK!o-VrZz03Kz=LrC!=<SBa^>>?wLRv8F
z9lj$6pR0Yp?8xp2@G1=OrnYyqfx_N3J4Qjzsx+atceH^^ub2NDZQw%3f`+H_hv9j-
zC=XHE-q8l~p3Vt(`@9wT;#(ALb9;FHH418L&b~H~Q9mxSpG=DUXJ1TY>&z}{NB^K@
zdKc7Y#vc2Qfpd>1L{?Ks<hIQc*);hV_k1gOII;?A`pnroc7S9y2Kg6R{V9y%E{RJ2
z5~%5$9p}KK&xSIkmGXgQT<iXhGJhEMjD2n3Y~85$Ol?5cOl{%z@H%b{t)tKv!TC2o
zQSc#xn*(dOp(qXf27Byl1IiSq9}Ia@?+?n7&<?VE8xD%bw!xe|_8kK%6sM~E-lWQp
z@^UDO<iWi|+!ImIXU?8uz&r`=yW(U;zc;b`z03{8;0nZ$9gKmRK6CRNHE=?aqDYUs
zQr{3?+9%V40B>sLXDHGXamNkBD>4-x#YLB=rrC9;NAjlrM~))VI<ODfEB}zXGTmJO
O0000<MNUMnLSTYW74zQ!

diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop.png b/interface/web/themes/default-304/icons/x16/arrow_stop.png
deleted file mode 100644
index 702b9b7b791ab1ffbc3ceb962b75434421d1f156..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 608
zcmV-m0-ybfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006fNkl<ZILoDz
zYe>^k7{*VF%F;@yyhMwr4=u2kTOUNb5kw&Lr6QCLC|F7m8ePn;Bf8i<u(Foe7e_&f
z(sZC<L1Gu{gxU}-!W1jAV6@gStM&B0r!n}uee(}L-plix=bSHp0YHogv8>{?u%7X1
z*3^8Cu=dullaMQKeiWJ421HiX;8;y@H3Zl%_6a@^Mum|aV88UnpjGw*Tnzz??Lx1<
zkx<u%0Ir!=-%AcyartdTJKGb|T2ug&aju7NRHwRsp|bxkxTn`i_Hq!<$6t-=y;yp>
z+ew0o#nFxt>}vMoeD81YOkSCOvXd`W<?TVe6Bfq{RpA}Qk>^1ieip=`r$HQi5=43X
z5A1IBqqxzhInntO>|K1ULvr2o=)0c9!UJuJ4;8t61`6uGV2f)IIn{kwU**NRD_z*(
z83Oy6{Dx1u7xPM5l;h<H%Gv_h|2TkBO5W!Aik!L+$gUlLwfdcAvu7CWHJ3h+T(c>h
zt4Jw!JClp<t5{gwex%;<VO2{2Jd;<Z?raj=FRJ^dcRYyM+ZznbDy$cY`FB-Xa|o7)
zA#k5ma8I(AdaX@w{G<0G-kv9>*>VlU=hiaH+zN0_$aBer4Gs~vd}~A#?*E#I^_k{a
z#N<siikY;!OioN*5~Xo~uDl~=5c7$2!p@ko_TDzx3inZ;K`bDWh(y9nn#;8DhGGu~
uOdzHZGl>*p?ikX-ho=&8QNHp1&i?=sP4O1t3A_IQ0000<MNUMnLSTY9A|_}6

diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_090.png b/interface/web/themes/default-304/icons/x16/arrow_stop_090.png
deleted file mode 100644
index 3f65f5ce25f5e04bac733f79a570255aa3fc4d24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 558
zcmV+}0@3}6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005?Nkl<ZILnoc
zOGs2v9L5iWHBur*hNX~DEp(yy!pJa$L|jBKkV0lr8!N>Y<H`_frG(}y%f=xLERjS)
z%}E#8rZ)Ls_(}(zL3Bh?Ol%Qi+I*dF$YHK?1v~J&=YEg#DF7<3eZ`@X|G>d_B=E^~
zF3GcbpwSaf!>o~~a{&8>f%7kXj-1v7*)QxH2DGWpJ)aMf-RxD_O&*)R<=<_{**6_X
zubon<HRCFyZrYad#4SzUKj2MGpSkHkO7*BZ^Wck0el(*0$5@v7nQhz~SVx_E3)J+P
zv&X(+AhBXN5F|bP%97MhZ=s}bElAD8Cg?L~kNvQL)0LkY%Hwap1CMU^EaOJU94@y_
zp|E8X_Tlef&R+O{{Uc4O9^XX8r=Pgfzl3WqCz0PMxZ<3^&DU-{=0>T@2lm)E3?$qi
za>SPpN+?BLUR-Dy!}ZQt?9SLX3}{oGD02lkUOJ$TmGnx%+eM_cd2q4I2Wt8|9rjHJ
z;_mjVm|NXMvfll`$&O{D^{j%LK6BH7=(9FuO-NOT@~c!-@f#wi-ftkf`xg@XHb70E
zIS>1WfzV^kt5lIiujJ?lKP<g|#JK#RrXPCD1|l@En)m}(of10)M7e+?g8(&sO`PW7
wUISK5k|xuVWAC(FYLy^b)7PYE4u=l>1(^*W^7VcaRsaA107*qoM6N<$f|=V3ApigX

diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_180.png b/interface/web/themes/default-304/icons/x16/arrow_stop_180.png
deleted file mode 100644
index 573ff4889bd49f1a63d35d9c4e7e1b440c43629e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 615
zcmV-t0+{`YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006mNkl<ZILoDz
zT}V_>6oofaR^$+cIsQ;DLZxBpj6Q@#iD5oe5Iu;&fuf1Rmn2M!3MC2?s|l*HrnDDp
zEQQK`pdTt6qD)R$TA4#X&RA3g5spq$j;pipTyNf(H!pm5owL_k`#xO)K$C&;FMRVT
zB<rfiuf*il2WXkQpH`gv%)XfDF<G@e8cUCK6NjWb0I+g_$#M0KFA)0tpLhJNd4UQ_
zmwybbT*^J+k1ja<QSj`{01VG@tk)<T3shJh?HvUx7kQ|@BKYnOjG^{b)U(&UHkFM9
z>LqKse}gsia2GA9c`5jO@<Rj_?O`11ih8k7Sr4UGcglm$N5HzM>X~45`A1Q9e^8^+
zH-rNnVU7Jy!`SzP8Aes-FRepqdwh~jR;KRFAC%ty3Fr0iDE0=iwxJJ&^*ty!^+JQs
zJlop#MeESKop<Hl$3tM9Uv^Kh?&=7^-tZn-=igy@Q$N<U4508z5UVc-QP3PjzBhoP
z)=yf8Y}?ypMSBRW$)&d_X~zx0=MBDLBsc#+_RT@fi-pR1X!hn7S^g*lRs}DlIa^u<
z-*bHtq~3{WUV`%~&E0m*1ZOF}q)D!OFalNu&B!h$Yf&{>H(eAwOM3{zo9QSq5toul
zG;L#}%upd#OJX{WKT~WO6t}Wc@ce(z^jPxBy_WT7rP534x<Fx5%u*yN7F!(7-JDV9
z938u2p`M%0J5qI06bXuW-LNVWC-|{)Q)#ll^IsJ-@%PeJmW%)Z002ovPDHLkV1lmm
B8=wFH

diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_270.png b/interface/web/themes/default-304/icons/x16/arrow_stop_270.png
deleted file mode 100644
index ebb649f56503f191d6c5aaa105f622ca2fd39857..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 584
zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006HNkl<ZI8Tj}
zT}V@L7{*`3ps*+d6Bc9_g(WGZ;Ke`+vYQZ6vJdP)DxnY-QsPB|i^#l~(Fc(X!xf{V
zGNUeRveZ~OaQjOt`2qPwP+CN>E*u#0^nZ*qjynbpew_2Z&+mQ4E+z-szeyqoz27|=
zWx<o^5C9?tZC_VI-JJz)eggR9yo&R$V844za$Cm5+4|XvYMEGqEAj{K@g;D!=Ja{D
zT#(r~AbYPwB&T^q^6yNUsOuw(s1GinX?PKw&5Ry>-mNIex;iM?O+%7<V}dAGB!(J)
z6pi5+ICIaO-hT_ozH1-&Evh~k#Yx``&UJkOXYNhMR<Oqv_UNUuQrS6!!dnXE9aBim
z=*J6oH-w0>>vF&T-3zFAIg2x$(<t$d;n3|t6t|DUcs7aCPbX2^GY5L~c^5CxOW9f1
zXJlOJRdu1CaNhf9qbe{D=Je>>3UnyjFLWD@^L}+U_zT(hr{k0bet>)C^i~w49dpaJ
z>eu3^=@KpR-AJo?rAqpKBf~e3qPJ0S=AJn{`n+2%NX|Mc>yJN>4JRJTCgX{0t$ZP=
z6&=Qw^5?3cCk8$_bI+U}ecss$Oj1tyWMkPQL!<cQY|ZTjrCyI-sx_nic!B;n))lv@
z(lBr&1RU<yf1dY1eh|oc2W0jFI|4v@H<0QFHopPr^Uf^DOLAU(oK)1R){ORf$AZ7A
WQ1>D2EjaxE0000<MNUMnLSTY<u@QFw

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer.png b/interface/web/themes/default-304/icons/x16/auction_hammer.png
deleted file mode 100644
index be94131e3cdf37f8fe773a12de32d5008619e489..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 568
zcmV-80>}M{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00061Nkl<ZILnoi
z-%FEG7{|ZrToS96=FcT_YMZGkSqTkFOSDrknimR|QxIK9DuS9J29*>MA*DpT-FYJv
z1bMBOf?k}<@TU9y1MgK=$LIU{u5HY~4t#ic$DR-0=Q#(E(-H_{;2i$)_yRCf4=grA
zEnk6tbrqI?*B!u{>$&7KW(%h4q2|KSdn<9{O4Nx3LuF9Oi_p6-V`d}KX1<Me*serN
zlgbgqPUjQ%L2pe*&HKI@v%T1BeoRIUlk6<?*px6y8r&<+M|ojUvU)#ce~Q%^Ci(R-
zVY0{JPROwWSE4BSp1fv$PTh1QOp-N@vsgT-1)etp?>d3?uA^8Z6~I(TL|*9ihY_0+
zCgC{TNjk}kwqpdJyMg%#uo{K6`KTd9i8IcFkj<Si32#Sw)Kbeo1hb8>zV=^A$?sOL
zCo>Kg%iEc0fMQRcVC^=PNc0C4Ne!Nd#UvDDFLt;bijOQ$@b(6jNc7IaU7Pi(>_Fzk
zpg*%%UUB-B4h4Z*6|UgfWhau}Uy1)=U21inFcR{|pbsc51UfxOf}XQLpahvS5r7hj
zK3E$ytdl_~+Sz!bGvJ5*{bk&+-Z=wReG30~!X6}fRS^%y<+ELA6`F)bp-u=0oVHYu
z0U(3GD-;O@bkw+13spj;P%e}Sez(czHZq^A6S5H$Qg8?~P0(AB3yRbL0000<MNUMn
GLSTX{bNsCU

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png b/interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png
deleted file mode 100644
index 199bc64ee8ef4b33e8a833f7fbb27347a444c571..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILnQb
zOGs2<6vzL?ID(I|Eb|pUbMiHzmDWIJ#@JUN%>)|es30~nr4poBVo-@?65=C?n=KMb
zNDyifEpihDwfNNN1ts=^rbWwHwK|=18y!W1F8uhokMq0#bG~~KX8}s1fXekDYBm9_
z=|D#gR98Oq<pLNCt`q`2yOy)8aH*gr9qMcr^viA+1tsdg1=X=o-el+(mnvwi)=m!^
z3Ijoj<|4IBP!X{bR}}Q476<i}C(_dnCr$bsBuS>)4+cacNfyANu$3q)43YF7P74fH
zq>?0gH&9DU+mV?Fs|tb=C6Wp6PI}n9*OW+-CGD7lMblQ`d=AiC1Pt&08>=o3Xij61
z6?*unEg%v}BJIdb7Lr`FuOb*J1=?&tzXQhji44C;%yy2X1!N|YM0SU3RA=r#1ZOf~
z+;(sC^L4{%3AH1GmECF0fRdUOf}s*9mgpPG=C9fSLy|bkeJHaPnS*tD2Y;20e3~n{
z^V75E<`>wny$K1f?uKHCo@y@($a<P*aO`-K`A|XMdldWbf{V2AgGkom;m@8$!MSWR
zl77|g`Ymf`p7{wQw|fTpJ+BRZPz#au6S`({o(8@X$vNNi;A9dMOZ11KdXm+b0#%&?
zWakzl<HB?7yZ6oC`<1BSEm75Mh_;VJd|#t7272yRBguLo8Y&?ii${2}9kK4~M*OMA
zT95?AWAo&mA(Hci<|iIxS>TnevRTl`H9MF*W;>I~q%uhie;L>qU2}gn?-^0FXM8%+
z*;U8a*2s$zgCsEV%ob)d6U)Rf>lpsw5n*+Yj)u8Lr>!nSir0$Z56jChNJa!1OaK4?
M07*qoM6N<$f-V0r$^ZZW

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png b/interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png
deleted file mode 100644
index 0f44985dbd69cd48d2dafa1a832da55a05d6c678..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZILnQa
zYe-Z<7>3`8%_x)#FQpmgCD+WX)B+943+D7=(SB@Xu?1n4q#=}9Vq{tAR#<74Cvq*Z
zi+M?*6iO;dJPM~DVy>A85~c_m%Hoe8nC4qoQ#9zn!^eDc<~i@o9C+w}XlKB<@-K(o
zfYW|Jb})GE7HF5ZLy_Q07;r6OKJymN6=e8<p9zGf<|he<g#Wi7*%dt18(LeQK|C>q
zit1xwHitx$i}*Z&VZ}m{oS`*lM2Q=Fy~Mlhcu|)YB`8TtR-BC_lw<}ZEL{k9f<ls_
zeZIE4h7E#}e7R#1bGJihLM$q9NH|GeriP1#^hmpelFZqT{a|roJ#ao4DBKB@?3s>r
z!~;n8l_Do-C5d_)Nhk?zht6as$;Hq`1f|iySv^n`1?AZx|6!6)lB!I%sixb@Md$r+
zLAN8<@SM&65M%~GdANV$u<R@G@;^D~g~X?qbmKq2mx|h}y78O{B+{A%g5uraQlj1B
z`r!ksp->X_6+=e@Gkk82`|*3KMp#>8tTd)RF)O&f16)e9maJGC)l>2e>dg#oHB8rD
zx1@Y>#5`d%8pXs=-UN-QFPRpc+XOBpT1S4;FRD2q_Fotuo-=%W!Q#5!Z&N3Sa)k^m
zM!udDTC=}OeVWJdb>LE>S&NSfs%bvp$v!}?iQ#P}V=YyzY|v^N>+MbuZ(e7K?yhLj
z)wyeo`ZN#YDro%=QUui)7jVyIn0=ZoEb>#myE@nxD+YSP?Fpz3^hAi(S{Ie(5vW5d
zU6o#k6#2qdNr)s!5@0d2>R#1<Y_vaEjD8CeQ{xxxmFQEwM;jIPh(6@yz*DkTvPR-A
yakUhnth@l7mO^yQP*DiA!VLAX8SRxfaqkaiMp1L$^fVFx0000<MNUMnLSTYo<wo-W

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__minus.png b/interface/web/themes/default-304/icons/x16/auction_hammer__minus.png
deleted file mode 100644
index 70ddbec91f218cb4b218eaab2c19110b1933cdd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILnQb
z%}Z2K7{;G;8X=~#{K&7E8Na5?j4Xp@VOChDU}#zxSUG~|grpLb8d9LC5fNe|VmD|J
zgpm-`I+sB$&NAAxpMT&kq}B0x@4f1s8G{CX9OiJ|-+kWq+>6Qp&=mrD4(@QL92lzy
zCR?DMoP?e^4U6DeJ1~DXmz+YsV6-0UVKelP*`)C#>c0iOWl-rl=<m}B^S-amd>UxC
zJ&9(K$`K^?6_N}=e;tjRmse`cx5;kvc{pw)$@=(ZTO^WX3tZh>hzi0I$-=d${W=jb
zlH}K7pYgXNGZA(bcoHR&we%VDW#qggktDu$oWbJWQQ&b4@Zub>bis|4ssu)&6a}G|
zZp3VnND^sBX0ny!Y1=M><u2e+3|NT6TD{$n6^YZ%^{6c~ktA|EtWi@Z{vmkK2<z?5
zrY!fZ?!ZnvGFZ8tu?8rqDG+2jp(xR>R4jYz5G+X|0{>v|R`BJj2Hx?uKEfw>-T_64
zULU_?%X*(PV4wH^_h6=o|0!Cga1Acof{Ei!B>i(X`B&DdR_7JQ;t^M{3Rpa>^O1cF
z)k0CCe`orQtixfb-Y^j6_rVVE#zk+WQYIhSM^7pApOrx)>&5+0)g{RJ@teW`pES+G
z`OHaz<^a-iRj~jDdG-`(CC5l3iI7^tHv@;s0mAViNQ%iGc}R^1XNxMr&QU?iNU2v8
j@(Lv%M+uG+MIzV)ekt`bSO@&A00000NkvXXu0mjfu&5NQ

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png b/interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png
deleted file mode 100644
index ac7a9c9fa0da59cd8b9c5c840fbc554f5325bc6d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 655
zcmV;A0&x9_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00073Nkl<ZILnQb
z-%Aux6vw|er!B(V(lXtQ)lJ<Lv(k!MDp%9(77VSBf`vt9E8-eqnI&bK6#c?XF&T-X
zlENU+hh9>GK&*#(OCsrg|A7sbo^Iz%qwcakbm7BgE}ReFbM75vYJfi#sB<oJW)pD9
z19TNb-rNbZZx0LtcgldfdlN}0j2E<fAg>g{{MsK>wnYB7pdkY?lmm0NS68nZOVvbE
zS=5%8R3sAw`nqI-sW7M7ed=MrrKY=T)Q47|;v_SjN24s^B#YqK>SUw?21^Ex=S83D
zxr&p_4>qd!c6cVtiUM0AS@J$qt|r3=EeR)yYsVTaTDAe#i-G(5f#HgOvCd`!;XD#K
zU=E-3Mp?p1xE-F!Vv_MJkt`VT16RGkfDgvo)7v8~vD!J27v-67l1I5IKfgP~+?){p
z6$O{`VT{!lMCjb8(U#lc!CojxoA20NG_HDk)szrl5(Gm>AW33AmflGHMi`ug1&f0X
zmx~4c@PTKsSWE?6u7Q_8U`cRqA0$c4na-*x?`<>#>J!s%gvF=VqGEDXe2hhID38Z;
zD?L5E^f~MyUMqqmiTSNR_=orI66*=$MH`ZeM|#9(y=rZx)9HjIxVROPB<7EybBgy?
zH)MkwaMS-WaT`g+4?0jS4{6Xe4c4mL0Q1*qv*NvSJ!JM8EUkAvD2y*|sYkUZ2Z^gt
zLx``+tD%`bcM&DT4kEv=Njy=%7t~<4m^~FhEuEzi^w{AbQV78gmrXX2MQkB96B&dG
p>0<J{E~@Q9&PR6w&cBKUe*ylI4i{(C(9Hk<002ovPDHLkV1n!xCnW#?

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__plus.png b/interface/web/themes/default-304/icons/x16/auction_hammer__plus.png
deleted file mode 100644
index 587f55686d5ac21629007189937719ae23b040f3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 638
zcmV-^0)hRBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006-Nkl<ZILnQb
zUr19?9LK-aypheNn_A9lPR*4rBl`mlGA+zgFj~R_3kzbctZf9fEGa0Zh%hNd;%GsF
zga$!A=VMS0M|z1~d<c424?-{Zsi)KLcim-MGidPP+<Q3ZbHBgeIYYGr=x_qjO*zh0
z0;zgnpc&%sZm0))Aqfn%0T1^VQm`>!kgSKe(FFBrIHI!>@!x`84@7(`)W`c_J>A!;
z=PtIHS&5=eqCgNXEhgfGnooxGljC0fVW3OD>kny8vXDMzvV@b^pu40PVL-BE^n~Ah
z9<I}z<m<COonH?3gjrRPl?ax+jqlU%6NfAbC&??vYAh~q18z41j}HRlM^<8;uLcr+
z5*bkArvfHRI0=`-J+YJAYh6V!(E;2H0HYzuH)k6%EV0Tt={LD2oP<w@_K3lje+aHO
zLQbCEk)e6n<;a!8jpfrxH9+v5BEeWY1WDA02xQJwKynfm*p1zuDqA*QdzLU)B{55v
z<&`@pcys`QBx)gj)a3CR^?>RGrYfw3?mI4Erc%Xzr8SS3_T&V&c3F|s=i$h29tVTg
z6-Ik(!;0XgThe01M3>{*ezxW>)k2U&eH*)=dF=N=^!flF{Xft|`6tR5)%mkW{|(P0
zS`M}JBBpulEQ6?7kHTLgNv>{`7;z~k_~Wp)pYhZs`6F>Ys(=GATE2$}5<7V-QAgAg
zbTi<_kn@Z8dyA%Vk>1x4Yxo=9EH%UyVlz=iP?tdYLEQrvREmT#g)1eCNE(y$zLo`l
Y0Eejsn%8W=ssI2007*qoM6N<$g0#yZhyVZp

diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png b/interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png
deleted file mode 100644
index ee46a7e905379263ed3b08137c3ad815296424b1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 584
zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006HNkl<ZILn=q
zPe@cz7{$+Gav&xwDkJ;nXw8t7q*IX(EGwM8grNyCu`)q&N*XOF(_{k6{$V1iM7(xE
z2^B#Rtu)*OMO|nUZQ9S$%>yA2Zuh)5lQWD1(c<uN|9n5rckV@*4`>VkEv1V(vj*s`
z1p2EXsa;UFYGE7Ub{%kcPrmXRa{)b-kgFl6&%<$@fyh4t+Ezmn8=*c8#q_iG8vU}f
z&dETOX_7oZY<Z#L0jPI9mL7?g>*@X`{ifT}bTZR-#36)Evcl12g_083gp3^vI^(el
zO(#Ddwd>q*m<hEcAOjIXUL_*>ZL;2l&`HiXZm_tp2^gpb9_#}q4|=xFl>y110hK^a
z9uGT&&<V$3CRrypYnA{!ZUnA{fiVmA)aj};A?`TML5G>p317$b$l#75fGb;JKRvN6
zZT9UZ-{Lq7mao%W1z}GCVB!G8K-8#&)2CL!rV|2kgFU+z!cSHJxVIN#AZn)Xu)})E
zWbkmm=ZLxRbMc8UZua&^>pi)E>)TyR>dSEaH|yX|$eoDSTugrfT^k?<qJB<vXx8p6
zkfGh~VQ9PoDWexgvqoPtmFpDGT|mo9s9#UcYt}<6AnW}=MZg_vdUhZ>_kE;w{@eYN
z3m<Pp_3K1r;lt&I`S(d{j_16GkPity6{}fBva<Y`YW71FlR1BG?wLe@^8eI2qtZVZ
WkpktrW#PpD0000<MNUMnLSTZLG6}T+

diff --git a/interface/web/themes/default-304/icons/x16/balloon.png b/interface/web/themes/default-304/icons/x16/balloon.png
deleted file mode 100644
index c3f88a0809ea7a4a91d43b982c253d1ef755e751..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 561
zcmV-10?z%3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005_Nkl<ZILocm
zO-K}B7zgm#XA!~<nW1SP6yZSwCAxLoQ;-A^L=YQArG%>;iam(BeW<4nt74eJ62Y>H
zMo{D)biEWFWOLCC)WFZ3b$1*YH)CemUDK!Mk?~cR?2-dN=H;FL|9=|^5vBhj9mv2Z
z2S}gmKpLonJpUuGk^96+>P=4b&c+$eawmJ>e4wGYerD*IKe;j{Z>Az?%)}5gOSqX@
zOefW#JTvI>bB42f20l9AWZ>z!W?dPLU}_#w|3Rj+&|PvC_2}0~z;(8nJ7VBN4cu13
zz7QG|`t|+a^eI$Ao)CA$K>tH<t*=cQm<Zvv-`W?{m0r~3c3fU)!T4O`7Cvi{Zi72w
zpr;z1uO}u9T>Z9HTwC&>y4XtL7k{P9wi?_K1KtNvC6B%dXS4wRjCSIx?A})*+J@7^
z)nV?4fp_=d%=;&&I+iE9;)dcyJ?7b0Y`i7j_qd>gJ7VDNU64F?;G(xS-yQ6+kE~3+
zQj_uCOj_;7wAv>GeK$wEj-zhQaz_kYyI_%=mqB`MhhtrKxK5f#C+Xg{q4|;DoZ)O~
zk!5FK_fuJ6+2cw%K#k3M>E#WpkChZ!M0WQ8-{z29l1B>3X;MPUNQJEwZZ%!C4)EFh
zmYY3bHAfDS!{i9bCk3R46q6I=xcM#TK>o%*u+3UHL_$so00000NkvXXu0mjfb!iOf

diff --git a/interface/web/themes/default-304/icons/x16/balloon__arrow.png b/interface/web/themes/default-304/icons/x16/balloon__arrow.png
deleted file mode 100644
index a3e2a7febc8404b0657f6fc82739113d60182d7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 669
zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007HNkl<ZILoEc
zT}YEr7zgmzGwdQ8Sz&H{P*fKh>4jZLP#1$D2&9ZYFtx;$)l4s1UP!gnDFt0<64_gg
z7_4P#!NhG+D=3MuZLjMM%E*=bbS~yHwy}@$={av|AyyY2_;C)0=l{QX7yw`vf?04u
zZ#5D0)ey#5Lo!XZM26(34%JVqoBos089GZda|<?G&P(e@o-~+ZU+kW#xH|z!KS0t4
zQ*l=!7PNXs9;-}rhR)6w81R8sTP|%-M*@Rxh<^r%d_co<;9txM5$}N8qFS$}8KK~j
zf>7lFUe7@khrYf2x5#@4a2k$ggo5r<gi@s@-$fzJ!Hn;r7Z3?_LdbIs#z&iB?9&AS
zeTUp^lxBp2`&EQ$OoiV>VZtT^Cw&?Sx>|6!X<h+mOO$4W0^M;!o$w6a;*%i@eDz+3
z2~X=^g}rSs{IrUv8KFR1NvL%_$~En3GZ&Zle1u-B86tkoy!?*lv97aO?KC44<X`5Q
zq6RI~q$n)d)%t3j^#PP<`IO<cWhxQuhD5MymQ{cFrLKBetL7LfxLYy3#=I5>izPNn
zT+!($edvTXH^BDB{^04_@@E}ogr$CjOhE6OWn@L&Zo=e9(tZ`}(7F6qMgb~uLx+Zb
zJBJ(HSU+IflSha`CfauOph!<`TA9Yo9HBsZ#>`3-Mw>*@XU{nLfGgBGp%^!rebT^Z
z?o=vqE*Is?a>$X3MIs}8qqS(UP=H}3V`~Ym6^Tpr_ASo=#HII!#0NU$__rKoAqkSA
zRVW)RMd^PQFrwVO%%b8uZ2G?2HoVK0?7zYM@6dvuyi-(SLP=X!00000NkvXXu0mjf
DD$p|{

diff --git a/interface/web/themes/default-304/icons/x16/balloon__exclamation.png b/interface/web/themes/default-304/icons/x16/balloon__exclamation.png
deleted file mode 100644
index 102e2cc1ce67533a821798646250715f80ae2cd9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 682
zcmV;b0#*HqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007UNkl<ZILoEd
zT}V@57zglk-qlUe7h!21B-Mp@5m8+v-L!Qf1l|NA5Qox-iJ}+5E+ku;t|%|;3v$r3
zWNqfaK5)CR^=VE`TF#}L=1g~{+p*1I?8v6Jr}ufCUZ{2B3qRhM=RD8<J#Y>O0Ni?T
z>kfEbLYTHv!dXhmHftG?Qx_;TRi30y*5ufOy*RTnAk%g=t$gH7rFHh#S0NGe#bIs|
zU~U2uvGMrqRIf17uCZbd_AUp!q6cb^?fQZ0Xt2izv7Z3ZA<DA?t<8EN>hJK`H0jki
z!vb212~q|7jSi4#({I=RMcoi|=p8u20?b7OY364JC5Sj+$wK%OM1#!`7Vd#KRs(_2
z3I@+%pH9LV7GNqQsA@jqltP|L@Y>}d^cTR?xRy5GSX0oem2idy7%mcY$=ChBHTvZY
zNYf24WIsV~sfB5wZk34tE_mJ+_Tvl-czT|o{gzu>UXJ&v;tP@){NM8-FjxlBN&PC5
zeKmoWD=GJJh6Q{!^Jv3I19=e<ZpM^KCCp4{!PB8g#Kh+ipK4jwYdqI!DA``8&nHJ4
z3zDDly@}^OH1nsO?~ZiM_$z3IgMg<9I?d_gGc{>@lt*;vPuL2$*XNNP>TJSgr1Faa
z?M*yyGw}6egQ}3*l?|3QHMpFoz}a&$g!QV+L{==9Wz{NWMs#Q=&n+z$U~S;DI$Be@
z#)cH&9XQ6`0C(@eacDPg{+6TQb7}3cJcHz3%aK{|OzopKE&ho*{_$|nK~emX3F2@D
zNa1p}Be#8TsPPVOqRpvP8nv6+MQx=vvVf*q?%|W$oc&+$`Ppo4&4mGf0f&!g2}B=K
Q&j0`b07*qoM6N<$g1rhxWdHyG

diff --git a/interface/web/themes/default-304/icons/x16/balloon__minus.png b/interface/web/themes/default-304/icons/x16/balloon__minus.png
deleted file mode 100644
index 2aa4cd9dcc0457fef169e91c5cfbc79f31ff3149..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 605
zcmV-j0;2tiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006cNkl<ZILocm
zPe_w-7zglYzad2)Dnrx$kc0;d^58A#vQtrXj3Aate<U<J6gx;dE$6AjN(x;tN?5N$
zBPeo*T9?9uOqVX02Ci~{Ung@J@4L2HK0VK`&BMqp_QHqv$M1c<-}ilac>xh&GhovN
zFWZFls$IZXyV&8mE==SSv5<}eOJUE%Gd#<g(t^X@TQwc?Z+bkLrK!kTHk`wJ95Elm
zwd_JJlk`RAUt2vq!?WuJFK9vbdb<zyYU)H7vtJOkPh_qH?PWr!Mc;?L*4kdq$b#ps
zf}K|biXU|v`u_3Xv{_XBPCsX4!RS@Ntg9<Q9n*d+`k8u%n(D?><UTHbwPE6Or^M@2
z*r9Vq77Vutc6&8FqvP_V46ekSm|W<i;X8k&hWd2Q$O6}8!LCFm9tH9#FMf+Yz~zX2
zL+R)}oO|06;EXI7x+vIzXE*otF9rt^y6QqL?%Ys(+Ljo(QQ6O#Kd%4)?rH-(IUyQd
z*DCD3Ve|OX?89Ux;m+rhqnJyMtn(>n$6akZ?am9L@o{tEGb#WMDw&i7Oe<R;q?AK!
zsMZi1FbhY~uapP*JZKiXEXM`Z(@kZ;AO(LkHDM{<Kh<D>lShPTH5rfIJ!4c@U6lcf
zhb*ws6ZFt<H^3C}TLC_F0n9W5Jf)dBa)>mT>czRP)5bAgll^3yETAwP1K?UCDI;4+
rIoVDsNF}KzHDnLjUAR{EU;f75@rPIj4VIXl00000NkvXXu0mjf<f;|;

diff --git a/interface/web/themes/default-304/icons/x16/balloon__pencil.png b/interface/web/themes/default-304/icons/x16/balloon__pencil.png
deleted file mode 100644
index d835dc087a10de621ce597ed28f9b87eab0773e8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 662
zcmV;H0%`q;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ANkl<ZILoEd
zT}YEr7zglk&IqC|>;p~vpom?VkU>{<Qw##d2qDNI49!wgu?xqD<(w<co1&#z(_%zr
z=9ZO4u5hzYybx=d!7}h8x4BJYE@R)OPv<#oi@XTJ7k<2l^F04Q@5M_1fGh`DcEQsM
zCOoTTq^FXtF`Z#D?j)z+lrf6foeXzy7c)x>GAz|;%2Bh%6#V|du^6^TAnF2$PQhY$
zG7_8_bd2_@O}K-*iGpr^;5J!mx7YbS19k{c0QkRhBTMkR;28Lw@9Y-!wmQs+g2&|y
z9rp~kTOq)get!Np{}=FB^;XP?f`_LWQqRxX0^qYk+%NB2@OwJI>u7}OZ}s3FR|$Cb
z+FJvd5d{xQ7&<@i`xJoL_aZnqr3ZI+8BAtpz@(vwhc5iZGj=h68Bx%7ilJi1z|G;P
z*8)GB%`oz@0bX1_0ie;q>pfDKb!ZcO&Z{ueS2BzlQE;b-p{<?r%}vubo!ezo!K3@<
zAQTG0E%{*>?~sGvrB84T)w_*V$xWCM1-A>Cpf6y%JJm^s=lV2X$fblU4aEyX{f!Wr
zF(wSQAMJ0eSgXZd%!mR*Eg|N6l=R-E`=8vPW(;3f(g|%L>(b@3*0=?)3Gm&L&(<rl
z7)ej1e+n?%rK3F}tfntZ^T>gmU6dTmq$Fo2W92f*-b+U$?MRwJN&JZyNaNvaD*7fb
zo8<CY3b%!mayz(8Svosbb4b#I=h$qOC}^o7O8m>3Yv?OgDaqo4mE3ABiCf1dbE#Y!
ww~^Zro2?K9_$6hz)Ofal?yD{#|Mg(OZ``mh#(2HIzyJUM07*qoM6N<$g6irzC;$Ke

diff --git a/interface/web/themes/default-304/icons/x16/balloon__plus.png b/interface/web/themes/default-304/icons/x16/balloon__plus.png
deleted file mode 100644
index d171b9bd7097605197bc4e33ca11b875027d642b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 640
zcmV-`0)PF9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006<Nkl<ZILoEc
zT}YE*6bJBU&oU$HZJStXL?vFVOfP~i47%7w1by5D5`<Bhtx^^g>_VzlegvhVeON9U
zA=nayAjw_Sx-q;Ex0Ms7fy>-?8{0D8jct~vb6%%`WCT9&<9Rsm`TuWT1^{d|*s2Q#
z>bc~Nj<Z1>S6D7_4LXbTs3A+AooQ%?b}6&GV7K*ZQNz@`o0eq6?wwD0(vS%NWc)Cn
znn@?aqu!~v1`F-b?oz>Pe4wq?8zoI*Xv71lX#nvvnp_5FNjHeT4<4&wM-yeFf>(8%
zoC-P34oKkAkMVyKCm`f7IVd9)^k3k_FgNQ;K->X~eny8t4D~|Pdmp}iZHC~NYZ7`#
zJ;nrOq=J`PPHxS`#}W{;Nx@ma3BofixZL<xA$LoHGEzZLEhp!^BTt=~s1?5Z9zo38
zzM{CV118^Vos^LZx@$PuzW<?WylkL6Q!{iF#DHl<fltlBzAFU}C?gdxlZvT31h%d_
z-&GsaLy38(7@6n{CxgA2bhsbV;l3rK<`cs`^~!eBX}<UQne1<5&s0V%v5~5X7V^53
zZslWzf8Xtmt|!&pxae2Z0(5s(^L+gw&eVmnY(b~OrU@R0<!FASLdFi4b6%&BSGHEk
z&7^d*j4hspf_s9IwFx%XD%kgU4gk9=d}McoF?K%h1%53>yHJHj%}-uGCLg3X+J@FI
z6toG99n6)n#tru3=`z6Efzv#+38_#4Dnv!77;VXZ%lT7qIhQfrS|hudW0UU6HSB*5
a75oO>Xf-F@16+0h0000<MNUMnLSTY@^&<uV

diff --git a/interface/web/themes/default-304/icons/x16/balloon_left.png b/interface/web/themes/default-304/icons/x16/balloon_left.png
deleted file mode 100644
index da8c32b1490ed0031992288358f624cf198e0927..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 560
zcmV-00?+-4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005^Nkl<ZILocf
zUr1A77zXff?}9)OEKSmaBqAj$q`U6il~4o`L>DcRQW2M36uXde<-e;gW+Iruh+xdn
zD3V;D^G5MPR-+b~foAT^?KnFw<(#q2^6h=)csfdUV;}tZK0co35r`;uLj0G30SAcJ
z4Il;^AkTjjY~(s|l180V|Fdz1v)tJ_a4c}AsBwDuzCX42PFhPxGMJ4aX6JD&J(o!(
zg3|Pm%g-6kZW?&yfCGVhhg(&7B7*5zMD+`q+JgR4GpI(#A^}%PD|d{67xi#O4*No=
zQE27kzp0;54tYY{F$VhUz_q$OsbMmN8-6OIsLIb!ksjj0w>FG_y}ORzN~A~Qjxo?%
z3(c#^4;n7LT`w-rdoVHAPT`inl4sgA?id5!YN(MW9*46^0DnZga7l7+D;e#;sgc?+
zcZ`9j*Wl3e+Xp)rCcERB>_s)^*;ed*TfFbqzE18K15c_zc&@@J?~T3gV6S~V^Zg}e
z68*Y9OvQcK#ZMiHpzqSS*RjXVS?(AE=gTd^Sqb8i9rC;F(DO@qgM6EGktTA1Gn_5k
zZ}~H@agG#P#Dj}gAFH=nPoFsfaQ37{n3<1xz)JGT(WZ0O!HQD2Oz(1XoRpFhQmkik
y$!-GX0U$YgpjcN#3P}OU(~CKJdDo_ao%juLY+5)~EVg|B0000<MNUMnLSTYUZwGJy

diff --git a/interface/web/themes/default-304/icons/x16/balloon_small.png b/interface/web/themes/default-304/icons/x16/balloon_small.png
deleted file mode 100644
index f92545e84acf62972c86d42057a1fb3f2e31df73..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 348
zcmV-i0i*tjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003aNkl<ZILl-B
z|NlP&C75Aw8L&BriD6qFlMWCk193SJS3+qJUk4;l$N=2~ty<lmpB{Pe@8_dG|9?IC
z528OmIrQK_t7bPy9<KrGvzRhJJwEv0|L1G}|9`rIz@M-F|MXz@1CTsk16F4+HU9m0
z<>$Y5C;xwYvF`udM-%?PxZn8y`MuizuOChP36jTaz_L`Pf_JyqKmPc1*8ew;x{z@9
z|3~Ml9)slZ8n7sd$z*+{{OsqKdY^uIzVPqY7YqM?dA{KP(+kZ{*Og1p2Fc?!U||vy
z!`yf#vpI20l|VcRh^PK}v++NO28n~@2^s)Y%rGk!f~Q6^yG@Q_o(ICyqL~?H#4?j+
u08k@Ca{#k{qd)T|AZ7sJL7tQc!~g(Vo4di<T$gSD0000<MNUMnLSTX~grb4~

diff --git a/interface/web/themes/default-304/icons/x16/balloon_small_left.png b/interface/web/themes/default-304/icons/x16/balloon_small_left.png
deleted file mode 100644
index 34a1c02ad4bb2ebd0fde3384ce14b6893ab4993b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 350
zcmV-k0iphhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003cNkl<ZILl-B
z|NlP&C75Aw8L&BriD6qFlMWCk193SJS3+qJUk4;l$N=2~ty<lmpB{Pe@8_dG|9?IC
z528OmIrQK_t7bPy9<KrGvzRhJJwEv0|L1G}|9`rIz@M-F|MXz@1CTsk16F4+HU9m0
z<>$Y5C;xwYvF`udM-%?PxZn8y`MuizuOChP36jTaz_L`Pf_JyqKmPc1*8ew;x{z@9
z|3~Ml9)slZ8n7sd$z*+{{OsqKdY^uMx#a)X7YqM?emeK>(+kZ{*Og1p2Fc?!U||vy
z!`yf#vpI20Q~$i({2xRE@gyLw1c`&>@ft8AmYHE%G&95GDCT(}JT;oxZB{H30|)~R
wVIXKgqdzkYZ)y%;_6HimK#~E&ATN-E0ez6W#O7@t6aWAK07*qoM6N<$f*~-VtN;K2

diff --git a/interface/web/themes/default-304/icons/x16/balloons.png b/interface/web/themes/default-304/icons/x16/balloons.png
deleted file mode 100644
index 4508686488e37c7f0cc74b007469f685d7777810..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 586
zcmV-Q0=4~#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006JNkl<ZILnoh
zUr19?9LJAmCH8k25d=L&P$5*Wy$0fgP>@A|xFyEOY6Ve5Wi5jWA0jGJC^N&YCKXw>
zhW%kN#FvDufl^p&=FBZ`w$!`j4Zi(;W8R&q5FYs4d(J)I`+4~O1OV~ODRb~S<>Kdu
zWihdzIH|zrV!r1b|C@faACg&|(&|69<VgQZmoGIMio+NJCI<l{iqy~d@&1l8KECIi
zDQG(=Rm#G_%K`lP3XJywW4#J=PJTu>a52C+Q}D1_s+=~)`X=zJ2Zr_riD)C@kxTgg
zr3S;{bI=B^K#z4yaLyDwJ|KnHVd64IKj`}K1B?vR;YZ}c3=-emI_FG5ra1AGI&fFX
z@?QUmuJM=$iNSi}MlR6?gxV^*I5%C8Zl3l>TdNCRcYAh+QzMU%jC+auNXG6#`*dA<
z>)9D>aV)59u9St@DNJjA^7lt{Hrer4^CM7Sraw8mF><$Re&;Qlth-qucQx9j^|oCZ
z<7~~pxV9rrEYzCQeA8YjNFZ_qvo(L`R1x02vdw6IYFh4nieN6yE7Qsf=F&XDc~MiU
z2)NM}$HLlfuPyk$<_WQ3Ri5Bw3bt>~6UR%Wl^Sl~=J~B~o}1@;&Z)~3(6SKAukNul
zGZkAbrF33NtRM=BrNknlfXFB25mFWK$F;6)miDddWjXCP5k<s0Vhyo6BV3jd<xdIz
Y0YmsKMO9SFLjV8(07*qoM6N<$f?I$VJpcdz

diff --git a/interface/web/themes/default-304/icons/x16/balloons_arrow.png b/interface/web/themes/default-304/icons/x16/balloons_arrow.png
deleted file mode 100644
index 15a3210547e70ac21150aff47e650e4467909463..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZILnQZ
zZAep57{^a%8kO2GqBr_vL4jp`35%j2vY;R_vw}^h38PIdEGyL1{9q;&R+f^@Qgk{~
z%UWyM3riFG(Dfw;is80gPTg{usdKsL={eV?n?iKq$GzvC|MTbG-yr}%o+VK)G)dI|
z`Dq%4oI+APVCyip@6HldpiZQ-BvGL@CE!f&t1OLkL~jGv0Kil~fXf2TZy#;F4H+7?
z&vGo!7t|+EPa;iC*LCpoGr)K^z*v_DxSlkCNq0rZaxBjm)XJzQ>8`Qv3HaUtF8f;;
zwJ5;WmkWc&OE6@*40dxqIIIm5EXVSE!DBfkD(MVau8~fMW2gp(&3W*(FJ~U3Un(3d
z$MVE25yg<F_)it_RMe%t*fMTa!f1aXa>pA>5$NmVT38P8D&WoI^Vw?IqBorKxXC$O
z2a`4xQU#ONO0a(_uzye<Z7P>8&Mu9kfym!em}7qGM-MdLm%uN(7IcM?jwhKReP!{!
z&G%wxUU4*yQb?$<L_!I}eG2o;zr1yX$EvUPGM|`vf$S+6A_-~9M0!p>a|-j!KS&FP
z_SZ39=Hss^I2`77D+a~eZ<|O+Zs&Bt|C$fWe?M^70)WF@Xn|2YQ}8eI>9sE)s<;IX
z<~NS7j4d&W>I`th41mMj=9~^OU%-r(OP6GGs+gv^<|7^%e_us4C-nfw+Gk1W0a%y%
zj^hi$w=N*(4^SZ*E@I}{-OWB}YHN_J%CJVRZugTs<U-2~5YYy(O0MBnCu*m^051Wu
z?B)qUDI<D^;1I4?Aj^?JWGUhoAX2t%Y6J)nSGM}?&xrQlCL->Fg~<A>!vgi*jTGOK
yEl4o30SQ9ZvO=F-DW$&Q#ce)2lVfpB+29}5BSUt@5f=LZ0000<MNUMnLSTZ_cS@H4

diff --git a/interface/web/themes/default-304/icons/x16/balloons_exclamation.png b/interface/web/themes/default-304/icons/x16/balloons_exclamation.png
deleted file mode 100644
index 3dbec2e2cd42374b1cdfb30977fa0c604e689734..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 755
zcmV<P0u23$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008INkl<ZILm#J
zT}YEr7{||hW?_*?1zmM#7n0Bi)rHhW7~+LgkV%24h&8lQBb2Z#75qplLQ74XUvtZe
znxAv{QPUxAx>efLIh#$_mfLdqxoOUPI_J&Rmf#CN&T}|_{+#!B5CEXI1nhx00q<!~
z#KD9(LaG~dA570(Swst3Z{dF=U|&hHPm-=HUA#J{wu18;z?u=jX@b=s!&Y6#12H|P
zIhtn+nr>ou!t}DIQusLqu&e=C8gql}S0+I(&5_a^&9epd@z|aF&Lxc<=7+#(>wyIm
z53JL<F!Lo1%=!$l8J>Z|(qX4Lnr90dZ(t<i{w3Wx_sQWf*TJkI557-lZ(-r9z(I2~
zk6aRo7}P@kNf3)8#w2(9mn}kAFcuLCJuwx7x+$ig<_I1Ita&ousg3u3s}f$(ug*5W
zid96YffdVZuuVL-DTSA1)!bc~l`(iPVe=LKGrzW|g}(A=Shq<)S`_AJet2ZMHQP%k
z<1^zO1vsA<jeX0aF`~F$VT<|Bf=etGbuDbz$6%!ExOvf9GWWi1N0qXL@g^XO>lL<`
zuecWgAG@Pi^9J>GFphFJ*6nqmQw9$znwazQMg~#Xf^E%DWx+`ADOfZ=f$;Efm^Wt3
z_c!3OzB<N>@TXuq^Tv@xm{5e0ISmkr&y2@`O5!K)5i#eaHJb(0Xf=0trb-kg^E5An
zp{_G)22JcQjXDIxZ7HB0J`2MGr)Rqb%*#$b!>|Pxk1;4E1pAgo;$mu^t`z=l{N|l-
zziCPv1e2pD*c;Gwa`Yth*89lY%b7s7fP5UnzWl44N=jrPCzR|D)E6>UT7{q0^7$}W
zCj7x}OJ!GzR({aZT*B~N1v?3c(l2mYgZyy>nU4|zlCL2_X%_nMDjTVIIY?QSiw4Vc
l(Llu`q^Qh8a{goV;y2UyU2tOj!mj`T002ovPDHLkV1gOHU;zLC

diff --git a/interface/web/themes/default-304/icons/x16/balloons_minus.png b/interface/web/themes/default-304/icons/x16/balloons_minus.png
deleted file mode 100644
index 2af8dd3ffb1ee9797ca26f4790808bae4b368167..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 637
zcmV-@0)qXCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006+Nkl<ZILnpM
zT}V@57zglo&nnjET0|FRT|`hIRJTDF5lBH$kVS#HCBn#R1yMwwo6!fmh^R>WFmueg
zsfCu!VI_+(ylG%HPzrO+T)E}R*5=uA!PE1ecI+G{M1vnY?>W!==bZn`5RpB#fQr`w
z^E!_}2{}McDe!d(e=g559?)?Z{<47HcYOZQf#+6lb}XF0+-JmzVZ>Yvv)|q%2D;99
z`Ex$U=cR!5L!eX|30(E#&yR@de#BIt0<AM2Fyg=L=W~2s3V2urN@sGZ{&D>N8gs%+
zOvdUk5xs(62G8P1#D>DqH5B7r<9v?KO95>MfqBf6thuqbqBzouqeFK58og8?`KeLl
zb9|o3B~mf$34K#zC6x8~PWGhZE=&&BkXvf8S`4>W^zb>N3Xqzo>toGTy6%u`Pb53~
z2r~%}abqUlgu?rq!YkLVfYUs?x}gFLB!3E1nxFXb4ukb3{3ZC%UsEbRKEF2VsGJ$R
zX9WA*a@bvG0{wjxFit*&g65yy*eQvJn^n!%?*~Q!%&`@ibG>Hr6bhPuaJm?KUl^xt
zzIB;~wJ^rqL<;zy=3AEj*{llqSM$Mr8?kMLA??<&LE03OH8FNa3gC@8&2y?l9%Ep-
z<{d@)RK{q;scut<6tIKJII#uv)Nn0tp8qRcurJqi+JN=iXoJ#4`3>l&C5x`_)i!YD
z8?@VKy@V_#2C{(6B|0*T%pkBy?jV12m36zeWAhp)qw95~n5-r%Nl`v<VLph@1K;=?
XO;8sW6Nr=K00000NkvXXu0mjfhdMC)

diff --git a/interface/web/themes/default-304/icons/x16/balloons_pencil.png b/interface/web/themes/default-304/icons/x16/balloons_pencil.png
deleted file mode 100644
index 8f6db51fbcbeca996205f919058e063bb8c17e9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILnQZ
zUr19?9LLW&tGNARxrc;34j%$x`DhP;iGOIKfi4Qng&C6N5=If4^G{H*2a^mHQk$Wx
zNyaqOVgIH}29c08Q8aV8sk!A`rtU6R{5t2h*`^P5;KM!Vp6~fy?&lx?Ku^^qie5F@
z(|3`iQqECIBVg-Pwja(SR?t&S{-P#g^QFBdQ_m}V13tS4g7X0DvjD+42rRw#O!aGf
z**?p$yim|}fkcwyu+~`M$7g`mae$Sv2<V#s1P;p$3(K**P|#UKBDoq|8DE2MBM|fs
z!17!(cxG<Gm+5j?a8!ZUSqpx5{~F7&yii~|Pmr;2gUX=qgWtdK2o{|>_&Rfa3(Kx{
zKg+Q^3QMG7&=dMk?FA%v%zVYR>NddgYy+h}nz=@>cjenyjuKTMn5T11M-lgO*l@xT
zSbPk;$4Geyy!!!oC+~RQ8kE+y!kyJ!M@h^Zj6=7u$^82F2^hL}8h(1sU}?zlcUQ<~
z?iXwyYElv1-8^#KB#%v>#@J-TI4OJ!Tg*SJ%NB6kJEF`hmCCr1#6&GrRY5n#gW+4)
zVqRYs5AR;6qRe-flO}~iQOxr^q)DZ>^a!O11^;8-HCpz|REsD1`BIR{WLk+tB5y|M
zkAr`ica3VGUoZ8s!}S&TRc11GL@XAgje^#E64O?=t9sa|vTio-9MSORme?iXuol18
zX;4Z=5{EdBLs{X1V+j~tPA6h&xRIG>Pe#jGV(6^FA47+&>~KmViXN<h4iQCi`=qFq
zk#|UxLD&0hi_tY$oq)P>Ja{To_#j8wLD@zjkp=8!TxFK1C;0%$rSpT7c(#2;f%^_8
k;A~b%*+<zO$_oX*0fF%(l=F(dP5=M^07*qoM6N<$f_a2YtpET3

diff --git a/interface/web/themes/default-304/icons/x16/balloons_plus.png b/interface/web/themes/default-304/icons/x16/balloons_plus.png
deleted file mode 100644
index e14e8c27afef17b5d55097c014b66305ba248d97..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 680
zcmV;Z0$2TsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007SNkl<ZILnQZ
zT}YEr7{{N^SRa0DIjxH*2nz}p<*gT86lfPkmL>(_mKZ}T3nGcWT-q0c5`CyFx7u*4
zjfyN&(Tc?oZ+g>8PzrO+{MvMyZBBE+({o;%ZZ4<;Kh8Ov|M~O2zXON}FN#<MjYTZ3
z=>$t73W&2|@O>IT4`qQDG#qCO6ft@8>G+eqFSU&`6I~t*4k6ACAO;6<X8ePvx8-6Z
zKj%4~7Ypi-v2e1Sj!HZJ{EF!BLG*QpLHp@1=(Jz6^Bm8M1&<3^IOl`Do+<qP9)sRD
zI60_CkLx-P_g%md=Oy&^-@t&oWs2u`UMzTelz~+<k2W~*F%TGegk$~XIO@6@#pE}0
zfaiD~LJ~;~Jg0v$=d+yd<}>Ynw*@B$s)?#d25YdZKChkUh=>BwJgraJ3YWhYEC-!4
zV^46}V<jHqwEF>iKi~GgwH$ENX;zdP^H>7$=M@&2pZ)O(+wQ6Hm$w=1)medOC0kvl
zd}&*)ik08ZW!ZW)lN;0wIH6aFGT(YDQ^eh6i!i_EavXqd6=YnAg^ZGz`B#WCfB&2k
zJ71|H%%|Rw3v`*I18Wk1K`~eGzvdGSilHOp#R%pk0ZfSt1^+UCxHTO&nAZE_bqRgh
zqZ*`(f{0$B6AQS}I!#QeU{yK(W<FWB&bMPY6Bh$jD+RG2BV`E`?_zQ?T*J-tIgGND
zl9(n|A?t(+nXsjQJMvkiQa1MmG$e%L<{^oZlbb5pP5adZnSumDM#Mr{T*n%x5@~)%
zdj{#tAXKoF*r?qrY1p}$<<NQ?p(HjD$;4W*aG%r&1=0@KFRc{|X#56n$0VFxzt-6R
O0000<MNUMnLSTYr+c2j9

diff --git a/interface/web/themes/default-304/icons/x16/bandaid.png b/interface/web/themes/default-304/icons/x16/bandaid.png
deleted file mode 100644
index 05e02f66674af6352bf75f4627bbd30de072526f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 711
zcmV;&0yzDNP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007xNkl<ZILn2S
zT}YEr7{||^m!JYOY<s5=X1R+lawwXKlsUCcvn;=`g1VBRZoDWZ2)ikeHYYC8P1EJa
zbnZ*%M`a}yB`v2x7)TcpxzxT9f}ESu={aw`GR^FPALpF+od1vKftQewx}3|AvvELN
z8X!H{K-@@Q4v>CiAP05~9)?m}&*Qle?|AlRxr$;X#C8aXL%pUTX82U3HaKpZUmUZ}
zPg^QHcZwq_@eNP9vOvI!;eQC?9-NHSExzobi_g30(x{dG9Jf<nNBO8j110|xD2GnS
z^??@-8hB=*K~LwhB<QvJZECo%o<MoGL|(HnW~1{@+o*q}eT5`2Zu4WVY)yev1IpVa
zeC^z0Gks&LqI1JdD<o{3-Xgitk_C#t1a>vV4;1r;uNZpWd6h0r4hrkH`zArc#&H(P
z8{0EMfdaBx5Z_lMtNV1%NGEPpQa?TpPPhdLJF{`@1^i8O1|*tQKp3Hdgx*3~{oJD#
z>NS?r?@wCk51f}t*!c@~)Sb_pn^lk`h6Mq(LM)jO>nxBOS=%25Z_sxx9UU>02@<w`
z9BQCl$7QWe>9DssBrFOP_IzpMXKZ_>zn0Dp7zD{%$94KpcaF~Bz9UcCZaN6bC?KNX
z*iOmsKd?0eF3$GXEckl$^u4=gg@ldMc2s6*NaOaQfG|Ox7!<2T1(iORc44Zgnubc)
zI4!x-Zo_^qr9O=#M`Bh5#cE84Qm^*Rt0@eN5;l%0N9wFj<x;bwfvj5xq9idUb-2+}
zb$W8jr43BG^?^Fgw!U5Al4QJ=ArZ({Bn;V%Y(zF793t4m5_yQPNZ>AAOX2FSByqJF
t+aU$N??HAW3M3kdLZrwRWYZrB`~m<$o2)@2I57YK002ovPDHLkV1jN#Kkfhk

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_arrow.png b/interface/web/themes/default-304/icons/x16/bandaid_arrow.png
deleted file mode 100644
index 1fab58928156b669ef6728ec2b616fda9299a0e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 802
zcmV+-1Ks?IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008%Nkl<ZILm#L
zX-HI26vwak=_e7x#!(?kbUqZQD2j^N;x=YM<(8R~kqD6n7A_QJ1&vs4j7>F;HIwU%
zv$>mA(xQ^vb3wrp($w7AFoM)k>2&X-Ov}9R=e%?8`Tsco4-cVV=kzWHUH4>=#Fs&a
zV2mmcU{p<16M|7KQC$e$QGXD}lbS&KaPr2dGpk4J#UM=(Mmizh2w>lQ!ZvG()yyw<
ztLG=n(%K(ITBVa2J_>g*L8?HE)WrNBfb-L6+wA53N?7ht!AhqZez01YC{69u1>-2r
zya~Xi>9|d<u}25SS7or&UcL%h>QXOgggALKfJ<YPP2OU+2IgCfVWF*L9mL3L7Kkrt
zLx4UQyEH`cC37#7@K%!vbIpb8AT&-@gpI5$5DWeRXoc9dE|Q=BnV8;`-++~&daizX
zQouoI9DTTryd(e%2mt*JaIJ~3mVS6FgMo+Xut0{F2C6v-?P(ls82`S~AG<64Frr!u
zaH|TpzB~6^0bR0G_|{Sc-$`Byq5UVaQAH?UnGx;lk(88*5)&_=Gw}%skyTJx0Cv=e
z@nm%Enflu>X2^!N{3H%S>ul3KP#v`{iW2Ku_9<rBy$@zY-gn+1m&^eUAkc>L<R8h}
zQ?(M9uFK~jqq<x0Ec+}>k?+#Oypn5SUY^9n%BKKm^^%T?I6#p<PMNOFTb!uMh4<BY
z>mW3a=yKthySU>u8D`B-Y1tUV2uLOXXz!fSFG31GoIYX5S{$#;fwd4CM{$T(;a5ET
z_2w8r+#tZQzCTJC25`L8$|CuG9N(1{J2+0vzacbEK?qNu<HPvaookfaCN!{AbOW#A
z5eV%CpgnmLp*?mc_60&qS$pQmp>ac&ak4tsC=K3P<6vpxN&YcwA}gXTL>3k?<-JZX
z0W4xvJ?24IV#yu%J6gE&v1^(eb5ZQgNUwS@68~-3o7_7Q?IaQqZ6~rb-JM)wc0}H1
g>T^Dh^kx+B6YsO_2YAn(5&!@I07*qoM6N<$g0E_JoB#j-

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_exclamation.png b/interface/web/themes/default-304/icons/x16/bandaid_exclamation.png
deleted file mode 100644
index 5fc2d8b51b7a6873841dc73009f9132ea8de3bbf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 829
zcmV-D1H$}?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00097Nkl<ZILm#L
zdq`7Z7{<TzO{hN-q2@FY67`RYl8I7w1245@5m7p<z#x#Y{*g*WAtT7NX3ErLv)U}1
z&AI!<X(qFac;+@E74I2p(=e22pmQp{eP@(tnIAkneCNE+kN1Id5c++t>|vq12UtjS
zl!Y{WjI<{)(i0hyFftOElJG9`DV$FHI=Ls4cN}JB^%NXrA>|2-R6M*9AhhLDuyDz#
zTv&D}7F_Zi+9KGVPi8nMIgCQDj$@=C;r{^kzquG(y!=TE%eGgr(xHH#&UzSsncbn{
z<5XXG6F_9sg`g5|rwY97a#*5kS0PJwg-6N5w>ASrHl_xZE;^L3@Zkk`+G^H8yiTQu
z<T5t|sQEauA(bO?zm>sfWf8bro~(l~b#y5~V)=0#@eiP$hq)#Jr)-*p25RrYN}t*1
zGtCkogsG!W4yvk2#1RC5{swRjDS;JJuf@<^oev%|ywt7tK|U$Y!qA&ou;gyB$`Ww2
zEFL39YXMQZ<iJXIs}$_wZ20m1In0y348$(E34NBsFgGFg*pz-IhmqP!gcu>R3X&({
zaP@h%m|6Rqxg16{#n4uk>4PvnY`h8s)}-l`c@=zioUq&U)EQbwAw~=!qW&Da>N{C`
z!YG1CQ<)F)MfDJ@#n-@P7J>Egwh{Mu;i5nwfLYhw*>(+<wy7vTB7~kN;H*hw>EgJq
z1itD^*Fl&%+Dx|fqlMc)=eiB#gN1Jc8Q^RTr{C65iLD9(kjCTuagA_sO#2AdLYO+z
z)9kv2a@;i9mp0ws!-ocQHuQAGL089-=@vO9X|ACtR27HQ?ZV4FV<h|s!qkx@vDMWX
ztQ#M+f%NEL0*v%V`!-;Fq&EiMsr_k-j5>sl?W95_yZ|v>l-4(<5qe$v5^n{6haoJ0
zI-stkY6flL-=~K6!qm`in4ih>Iio>3WXe!QJ!5`E|7Z^8=0ve_3u0LncVbwggb*A{
zp6|;_N3~B1(8s6uQRlNl<dha7hqMTF$cm7y`T?TzGEn6&LnjHG+dQ=T00000NkvXX
Hu0mjfSJ;W6

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_minus.png b/interface/web/themes/default-304/icons/x16/bandaid_minus.png
deleted file mode 100644
index 1a7842360c9bbd04a622060acfccaca140694d90..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 739
zcmV<90v!E`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00082Nkl<ZILm#L
zZAep57{||jE<pw6OWU17l$jq2N+z0#82HwfMUhUif`q^?^~DdR^u-Vor0K?%)HZ8V
z=iJ<z&bP9Xij+)U5C+nRh%~i#gdpdpbb8KBMVEQt$GPX+=lR|9hjR&89v2Vrq&kf!
zx=fyUl|VX<1MwkU`9Qjno_yHTdjiUEzKm-Xz7tr@>Zm!w6X!7?ZUt;4h#xo~s}A{{
z^NVAS`Dt6_@crVLDy$KRDuE;RJRlBi{*U0$<8!ffi?2KA;!8VS8gbCyeixl;tr&4D
zp+s!nM3B^fR;CHQa?{`o8x0M&tx7_pj(}4ES2hzQJt&cB7si})ez1iGhOFx(LBBJA
zedQYpJW5FFD-m>a&n)zvvzE>cG_I4dIGsf@gDnpd{}H$pAnz#_^xv`RZQBjHG|?;0
zKOPxH35(-V$xPN<NJIe%7s$Jcqzzvl8t8aa6%Al<Xxt}C*qX(06$*DPIgnz>2Ete?
zNbXcgZ_hn7(@{eO{rS9^{=&RW!q(sLMC}EF<z6<Vvc{HVAgy~jLhvZWmJ9nlg%Sfh
z_NU%k^n<sK4(ZE937bFn-=X$1(&ol2INXGdj%bd!@a{O+1!7rT1rpO&JoZetj?VVz
zMag^jP5Pwn5}m>4*3%NJSq^FTsK1RXh=S%ExH{XdU6|_B(2qXtIth!@a!P8mMstH$
z><`CIh>4i9p=!#jUYP8tr)woFj`^gdU7yLP8?iW0T1vxV`^1z5WuxlSH<Q@BB4Kfi
z`4Ufk2A`pb<VX#EsTzyJVf*B092aj?L>h)`FHB5&)xl|>CfK0d*_9B<rC~xT5`#n`
z5y*CAE3yUQ5%G77ND)9@nap3SN#`4`r}Da-U679Z2a)|qBC;EaLnO!!WZSX?{s4!q
Vx(+pPMWO%z002ovPDHLkV1f+aTr>ax

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_pencil.png b/interface/web/themes/default-304/icons/x16/bandaid_pencil.png
deleted file mode 100644
index 9d7f08ceed93e321298d956a9c2a940fc20e2a80..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 777
zcmV+k1NQuhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008eNkl<ZILm#L
zdq|T}7{<>zAHgbWuy#=ilI0&owUojJ6?j=&n_20US&>lqM@b-FDP$rf$YzeI*k<K@
zZtmtbr)DKqCYqNZ45T0=P3?{l<=m7`=le35X1?%n&f$BX-+3SS4gkw_X)gteqbZ<2
zMggY`fwq$fxQRS+1lozba<r>MfilRNNzO|0jZgQiRLKzvSWh5em!kCm;XUU=w1H9U
z{NjjZe%e$p*p<prlO8@$3L!8{5U>#Qe*gy_oeL>jeA$K<pPTX0kOlu5wc)Ae{2{vx
zsTlJH08w|Epxpn$j{O5B92jg_fdqyvKC2YvZUhkBR|#|rBUU{BtP%VAn^r;mqgEgB
zWvvTv$dIU0#n;b0sl#urrFgFA&MF8U$CV;5m?S9TAAn7YBE6~nim$}<y5%Nb8t-7%
zZx4+OgpT7-3Tpa<C}Idguoe*MN#Rv}dSJj~^=j-R&4DpD1EJ4!99uH~u6N(o%n1lx
z0}#dp1EO3?UiIALT0CsX$KU%J@K2JLhS29PWTMt2eqEt_k19(nR^#Gg?1AtpXo^R`
z6pwa0lDP(Y><=B4_?@#1_g7>w5PJRCeH)w4@*3=UC|jXWT=V&SSQ-|ls|P?z10rlm
z+?vm1?3s2wp7mBRkO{j6_m*A7Gi2X<n%iW{MLBK*?DWmvz(S!=&EarF_vk;cAr9ru
zw(AzAT;=$^Tek{A$7xLDnXEzP>LS>i7{`ibv)O<F)W#z9lvBGf*>(#DL+CiQ3EWn5
zHkB7_*5m+5LJSMASgb#9pe6=o3~SS0O%n582pz{L=Q@mOD1EJ2A_lALcqj}vO4)|N
z(u?DhPOX31UGA@v?eGZMFj{j3YVeOYxUvxTT{s2KkoGM^^wpb)C?e)LZac(Bkp)rI
z^%5~vRdkrr$L&P)J^P99Wd-aydJv|NeJBx^Xgks7WeEBW2j9#4*cu~400000NkvXX
Hu0mjfh$Lv;

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_plus.png b/interface/web/themes/default-304/icons/x16/bandaid_plus.png
deleted file mode 100644
index 3da2d463e34487009185d611fd5799e11a1a2ad0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 776
zcmV+j1NZ!iP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008dNkl<ZILm#L
zdq~q!6vvPEhXv&e-9sZvY=0z~D2j<F<fAQ%@-fAV3IZwWAEBD`kI_Sr)XA3ET(zZh
zI=4BUkIG6aR5Eo|7)XCa<?>Nk2|><H>2~g~6gBh0mvhd&=X^NdKQ6%Eb0VCBOK}{i
z5;?HR2sG~{U`Ms46KF%Vr<1K6`$#^<Gg!;<O~iT@Pw_4e%zFq}rDQcgXxEY8Qjfzt
zGdF0O88a64-OCLu!X6RG!@Qs&jerS<{{z_h=x}h^+^c3f_q>75_nYW1hlM)p6#Z5i
z$>WFD07P~k5-Z(9R_cCcq@KR|MTlp><T6XixwQb1_w&RRvx8<j(^E@by@q8Fx5Mnh
zxq?*zO)?UBH&3LReyXQ$%_VfY>*g{Dv(u6z))>=><R5@VN}}3xMe46O^rrqQogeAo
z<F|*^JcQY4l8d#5R3bqDtOP{0<_If4KhV(OJ4Mum&7NU94`DU4W62iX(x;FZeKG;2
zrGV%bxv*;biH;6v6!b@T4gHCJ8HCkSxKU%4NUu1$J~pG!2Qm~JA){ae0ImYYRI;rp
zTcBZUPj+0VA8ci`S6#qESp3v^gEnLeYr-o6y1^`TptR5^0MG^U0Es0_p#6etkGHAl
zM7x@Yyt7`TkIPQeam?!u3JhoS*2RHQ;K={3pe#ad&>uie3OPT~Rx#^rQPPk0ie(UH
zr}lu*xV_k~2b&#Cxl<?ULJqeBwV+ETMNV7k>}Yd2T?%1#bo&L3>O?LcssbFzli75o
z*ga@>ll+0w<F7|?cmcxfRHqA?$`iN*NsKpu(oYNJeh#JxXA)h=`TL|0uh43#zoxI`
z*vP1@)IDZbx+`TttzrINarnoCC^QNIC||hj^J3Hc9Tcwk3}MZo`0wZ&BO+0S(cFdN
zc&_qdET>A@OycoA0<|3_L2W^WK&H0=PI<q?sKeTu0e%C4e#vANbi7vp0000<MNUMn
GLSTY&GjFN@

diff --git a/interface/web/themes/default-304/icons/x16/bandaid_small.png b/interface/web/themes/default-304/icons/x16/bandaid_small.png
deleted file mode 100644
index 30ad6aee130f7ef7d312648fca33cb59abb9aca1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 350
zcmV-k0iphhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003cNkl<ZILl-B
z|NlP&C75Aw8L--oiD8`w6T?PNCWg&kOblDSnB;&sAIL7)<jEAZ!GlSV6a#dCn(BU^
zU;F<r5I>w>aAd7JQ!G&iZ17~#UGKrv_+<0M|KE=+`v2?rQm`Q_T$ySJ8nD)bNe^gK
z%iDc({{OnN>Hp&mePBaCE?MNv)PUE3Rc=g*E8Unnt}bf$|M}RG|KHE70viHy$$TfK
z$#Wf<RPY+G%$2G3)sAWZp8+*oUQh=%<mIjz|7SZeO`mDcWID%@34bgsbYf}(X$CnP
zM1x#1)sA`26kBHV8TL#J1PuV%lzpN#@;pfMtDV#T_gXVA?Y3gJnq<SwK$HPMn?!+{
wN;)l>XS7-{&uKDa)&jB_h&Est<OOmt0LVw9Fnts{g#Z8m07*qoM6N<$f{o9cO#lD@

diff --git a/interface/web/themes/default-304/icons/x16/bank.png b/interface/web/themes/default-304/icons/x16/bank.png
deleted file mode 100644
index 7f7d646299c95fceb6c4e99add2ead28ffc3bbd9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006CNkl<ZILnoi
zIjdSx6oroic?eo5C|Zf|P{E-RL@WetR7AldSfof3UXw<JB%}#~NO(q{b|Q$K*a!-u
z*eF31CvX-K9R5Pe6gzjFB2|LPh0UJ6wcws}n9Jp29*>9ld_EQk1Xw5(Vv$IMMWfM2
zA>JXQ#~gcb;GrWT#{OXN5DtfZ$z(D$9*-Bu=rO-*;P?Br!C>%Bxm>OvkH??2T8)s=
zV~+jb48&fq*BOh&KK6RO?PxTjY&J`oOonIlm}3tP{BHxN)5+X!_v=I=QJPMtKbp-Z
z6$%AvwOU+=j2?6B!GVX48#o+}r+hyDeJ~hMqtT#BrNTwsZkIZp4$tT@#~vJb=(vH!
zV)@YT_h~pB(rh-P&1OTV(}}LvE8T84x?C<e2U@S!d=CyhblgC#R=-uLRH<}2P5&C;
zq2mT}xtvL*(hQtSr4k7TMfYm(&~XEaM1uG{pU<gUtx`N5r+YPc=(vGat7T%bII-L9
zs9vvADwU#pHF)T_f!%J8iA19J=kuALb}pBrdo_6IxPi%J`XoGA!mGnowcG8xHF)T_
zfkvbGg27}mp~YfBtJR9O+btaq2Oj(Vp7+b;lJCKRhmIS_WU?oPLXlA_m0xu_-Lt`9
z$eGRN7pv7;wApM$;l7JTqwz(r*MAfK`xzW~=(vIKy%It#g!Vr|Bg6v?egReM4R_E8
RH{AdL002ovPDHLkV1g4!4yFJA

diff --git a/interface/web/themes/default-304/icons/x16/bank_arrow.png b/interface/web/themes/default-304/icons/x16/bank_arrow.png
deleted file mode 100644
index ad30c35502908fe06f67cdcdb08ef840d2a10569..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILnPv
zTS${(7=E26jE!9=Y)&X-5Grkopkv5_fs1luxEdi-g1jiCD99~ZL<fdCBHNrDhbW_q
zWEi57X}ic_L({oxbE3n;Ty(havWutx{VzH|Vm~~*@AJOT^YH)Q_fu0-6B&(0GMP+d
zHk-+6wUW(dBfH&xSipI%%z4gx*0G*_I-QQ_9|6U!t*s`P%jH>ITug9f&hvc(T3T9E
z7K`P~(9lpglga!T9UTQ%<~-;9UICKk=4QRa;c!PHk@UjC0{Z*=;q`jO%ADuCXC3Q*
z1?cs9G8hbPPNy@tyuAE<a&i)ZKmb!yQ=*Y8bDr~_b*yKf7|__**yZ>8=cCam#>dAo
zGBP5XW@l$HGczMr<~-*;>sZe|0Yn;&=Gxrc9AdE;;_*0ES68vQxryD~UF32(WV2a5
z2c%LdanCx|vrhn#LZRp^D=YK#_V(g`!Fu+oR4O8=R7wQ}1zt`L27?d|3j6h}XP;ay
zC(6&yXWUp>SwSciLU(sJ_Uhde+c-I#!6EbIv4fT?RBpOJ#IGTdNSteHYY2zK@OV7f
zt8WW!;pu0fzUSR1-QaeIwl7IkS6AoA%gej8v$G?fw$JCopZ(Rb4V>`DVf4O5gZm}g
zUu?mj1GKke+nSya9aLRieO>rv!G9fJ)%5iAU;XjtTkvLq&J=L^{ckuo0JVEQPD-Wn
z4hJkPEg_LeAel@eolawYeO<)az#AOB6@lUAYt*|Ypc6jBmH?DzpM5F6_^N|SN=mw9
zGMTruwDfL8Ma4a}TJ5W;sTt5}wS%>_wS&T44^~xG4OCWE-j~}SeLE5bWTzf}J)pHc
zkT$dvKScr*0#y5<$ohD=(E8+K;jzAR0xxFsPYUw-C?On*EdT%j07*qoM6N<$g5qOa
Awg3PC

diff --git a/interface/web/themes/default-304/icons/x16/bank_exclamation.png b/interface/web/themes/default-304/icons/x16/bank_exclamation.png
deleted file mode 100644
index 10bf86ce4d0ecf66f2be6ba643bf313f6973f379..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 759
zcmV<T0to$yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008MNkl<ZILn1n
zYe<t}7=6BN6vAwfgUKW!49U?%C>%ouc^Q?8s5qz*5&f|I6NDRN7!=DfQrXh5nxnBL
zF}6aQIb4fS%bar?w2Q8#?NSh8K^N>#!PEDAKO#q$ABXc?&N;li?+dlHwNO`A2Wqt%
znwy)UwY3%6+uNbDv$KN58Di>bPJ7ako_q?00^kn;+uPdO)Ox+%5DW&R#MIOLzX456
zP12T@mXkJ{&7DrCzq?#6B&MF`wEtTGud%UFsnu$G1A#ztVPOG>hKA5&GI2~j&1p|M
z(*FujDwUv8sgCJ%I_uKX(pRt7i^IdiI5|1V8HuT<IqgYDdh&4rH8nNe7K`QC?CdN~
zOiZBNZs$yXzaOWkr#Ysc=Cmgr>B+|eKrWYGn3<Wu`T2Pahr^giBye?g6?3^9=JR>X
zX0vn;7>~!fJ?ThKJ{ABHiR83cEH)U8M*J5XH#ImlF6Wr^<daIJ079V<1OkDHlC4%N
zvKNJgwQXz^og;hk(}oitdsHaeAs8f|NF)N_^ZA6nNF;&|hXZ?hda$s5aPK?@pB%>@
zn;wk4IE5WY_~YW8d>{ZFgU93PmY0{&?RKNVV8E?)0t5FOa3eo}8jS`&<ofYeKQHv$
z!w6UaR99DP8HPER$z-_OHk-}(d!3HEF#NOwKfmik0KoUDv*;V&lj%CK`;t<zAE2_b
z@*?|Xk$xRLmCxtfQhV<<;G0AjuEY=H)FVB{Umn6(_$ZEE6)rw@G7OZKmR_NNP$-1a
zXcS|y7$%cROr=s7kGOHsUys>W^|+Qiz@312EqM?<R?%DE9YzU7MMd4k#l@zQl9Fp>
zWo3iq<>h9XOm@Ahs%pe?S-cXPtN6D5T88WCeYp9tmt#U~Zr7KGw;3B73fovnSV#*o
p)(=(|;X>Gq5Vo5j=p29>KLJ?#2;yIg2$=u?002ovPDHLkV1f=jVzvMP

diff --git a/interface/web/themes/default-304/icons/x16/bank_minus.png b/interface/web/themes/default-304/icons/x16/bank_minus.png
deleted file mode 100644
index 0edcebce1527f6a985aeb50dd8e392b664cc2d14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILnoi
z&uh|g7{?#KN<(mXaG)rIjg3&j>1iTkkf1QOA#O;72M=9hmo6$))FF%^F{jf*C8M<t
zWp)r842KsbWMgw4bUGQ5n}_~^4jno?ecs=oLo2Kgym@}T-Va|s-w(~r&5_&fCa>2^
zOG``S^Z96HWrYHPz)hihh^W!W92|J~oK7dv9~O-G{eEvW8jT$t9W@Y9qd#=P;^Lxl
zd3iasy}g~kxVZS9%jFmmHTszUZGq(RcwE6?@L{=JZXX^Vaw3u7cswpg)aYXl4*ahL
zE|-hu=jZQ4B9ZLL$;sDZvB>Fkn)mkhWFsPK^f3nq9zJ=&?Ck7XDwX<FtyZ~EDDckC
zj%+$OIN(yLBuCWfV-5~Hd_qJvo9#iRQsG*y#`Sug&(6-c*X!}s)fEp01HQbx#657U
z)spAnz{4j*q}S{3j*X4Q*4NkhUj-gMqtQsD(P&7eQpK@3o6WMgC?1xBhfk~35-F8R
z=<(_4Devy?ayT63VL5pCZc7poK0}hENT<``d_K>ySd53|;GYQddlJXta0C?!#r=N2
zFW+`DndIN|j|&U@c6^+RHXDDKp5_-sgV!q6=XXS}$YQZP5>J-#>hP=f_xG>m*@+4M
z77AU{OQJd%42GvzaD05sjYfl;%_g_oZSHovvd+)X`OWGor>s^^LKX{en#~+hD!)9#
z7pT?hwb9YhxK5{gZZerRrlzI@XWg2anaSAg_Kf(~8ME2EH90xCDeh|n9C-L{(a&>3
iNH1jk4;h3;VEzFH7~N@VdY}sc0000<MNUMnLSTaZuRWUp

diff --git a/interface/web/themes/default-304/icons/x16/bank_pencil.png b/interface/web/themes/default-304/icons/x16/bank_pencil.png
deleted file mode 100644
index 1e98dfc10870576573dddef28bc5622eea44c2de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 707
zcmV;!0zCbRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007tNkl<ZILnPv
z-%FEW6h7aa4Z&UH2AiLEN`Z=VSF<6a1LuW~q2Yz>qKgW`n|`nf84Z+yEOYIL7&KNx
zh>{6PPGq*54KZ!HT{tHug43XXpkNnWJiX_;2okM6csS=g=XuWia=w>3J3Gl{vyt6y
zr-6Y1ayp$fG&DrR!^77F?s4RrdG520_3Z2D=pedafM#%T&^|Uc=G)%hE^y?U`F{@R
z@9&o#4#%xnES5MrI{LY=umFx+Gtd3Y2B>;_d#x^)YdoD!m$tUH5C{a|_xqK|HS^qO
z9qWG&uv)Fu)zvlP@pz&;J3HT3R#p&+M377-6(dKkndd(1SkFFXfW=}N4TVA**=!ce
z%gczz<BDm0eI2P(N{L)E&wbXho_zvDZEbCjGnouFH#f1nyNmt(eH<Sj<Mi|tXJ=<9
zm&?2d6pKZr&pOt#&s$$lWH1<R>-Boy)YKII7fzk-O{TiK@JW(-sJ6D2)M~Y#Cr6`E
zh(+OVc{m(~v$1gl6BGC#Nm;6@s$x9N=ku7KpNHG+#%1~Ejo0vcy{J?w=#%9aaiTtw
zWtmhemFM8#0Et8bKA#U4<)P_2NGG~c`8E!t(U_{Mt24z&d}g!RB}vl#lamu=+reNE
z=kwJiKi<u?D(2X86I!pSBJ68#ZzpPQZhj)3Ecn&&uUcDM`y*d^KZ(VtSuwwQ){2**
zM_@hs1c=0SCYi|PawrrE*xTDfsZ_$@;US9ow77PUVtzYo!N=7(MaO#f2@uuP)QoDi
zTE9-Gn{H@mm}zQi3bwSggiR*X?1K?~4nMxY_fYe-`^MEpv9B4{v7UVzjfS^CR|E_K
p@&&+Mhm^e8BRS6T;%HLbzW`sC@=npSEw}&x002ovPDHLkV1hepS;PPU

diff --git a/interface/web/themes/default-304/icons/x16/bank_plus.png b/interface/web/themes/default-304/icons/x16/bank_plus.png
deleted file mode 100644
index 17a55d1d5208288618e20ac9d83d0a3c2b09089f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 695
zcmV;o0!aOdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007hNkl<ZILnPv
zPiT^H7=Hb<jWIXJ6dX#B48m#tiE3ivLC}cJ#My%IP!O?LhYn4nB8U(~BBxUZ+lMuF
z8R8+qflRz8A&$)nn{$&favHQC=+d#n+xLEl4lS_{9-jBl^E`a~em}5SEMT+Qz~OMf
z<m4o{TrQZJnu6)+>5Cj55mQfd+LMm-<TIH}0RIT+b-UdTzuzC&+}x}ZQ&01*0TUAw
z3a8U~FOf*3j*gCgC6h@crk>`s?-an;?RK-*>wS^W=j-Ki8N=Z)hC(5psi!&ZNk{rW
z0cNuqtXAt?pU=l`Z*Tw1WHK0w#c+Lnoi`FwPjlLnj`ZZ?1IEY4XQR>Rr(&^)>2w-b
zR#tdZE|<fNjSZfur#bCOM|$#c0MO}l&kKbDmP#e8R4TZ?zmLbq$JlDMu-$Is$;k<w
z1J-Iaeos2mlaB*{TrPhglgR?XU=aToq$i(3p#Ttz#UK)iLX^z1EOG~h-D=X4Pa=^3
z2!%qztDT)4TwPtoxw$#)RNv0sM^*AN3Z6<T%&mT4-2DLb8w|tv4h{}5l}ceC5Wr5g
z_TzPY_`{D7AO6CyQh@iv07j$HD-Z~tG@DKSv?GxS{$1Z(^Wb?_i@KBr?|h#@m>+73
z7G<9yF}w_8V`DG5CyVsz=&G{W?3wz)k`8UBo-=^Op$d$QjJ%<Mt*tGrR;#$Tw}<t5
z9UF}XkHf=5^sISN!(Kzp@>RUlwxW9J3JPCKzCw6#8T$JAW(NiaLQ<*ptx~CcH##~R
z(P%Uadc8hwFc{+8UB}gG^@2*JnioAA{HADXk@1U9$p<%jfxaFNat?~FnC<xhGv{{U
dF~<PB`!~9f;=_Gqn$Z9N002ovPDHLkV1j}AP4oZ&

diff --git a/interface/web/themes/default-304/icons/x16/bell.png b/interface/web/themes/default-304/icons/x16/bell.png
deleted file mode 100644
index 3be57e07a5366b7f9e1f10f1de713adfe1908420..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 696
zcmV;p0!RIcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007iNkl<ZILm#K
zO^Xy~6osF+s`^vAx~sdorzVpbM;Q<lOhgP5f{<j95FOA(0wM|`e*FeFZbfjLfc^jz
z2<8VkS-TMzfj~AvMTqt|FxqWRSJnG*UD#^10S}zbecyZTxreJngqxQ=%4pRUVN>yB
z)BQ1;5Lqi<cXukfEj9D+ryG{p&NuLY6OAfY25s+!2!RN9fYZ~r83X`cN!STLwBn^R
zhmK!3?7Vt%aO<h>iplu?pLbebzA>x>-2HGG*3R&&&%Ql*C{WGC@#bb_<MBV<4%uk0
ze)HX4WBEcGc*}PVjG1u|59XH#dYrzm*@FIHF4mf!xc~1<HBfKq8%t2F*6JVbTJ@z~
z7^#SpK%5{>-V2m$C5=|EqJ(KGQnIF1tr^ygB{mj}EjchoFh<Z?7UKEkj#!Ix7Hcg6
zSO->Tbb5m*EBGWYATLS+;@(gjR^nu_Z;JwJE!JuPj1_dA(T=)vdCs14h*JTDIOS(K
z`&RaUzG$?@T7xzk5zrR$LbJ4cVRxFbFW30FE(vHWq?vpfCA&WD#r=7$HO6Rkks&~#
zg{*LdVQrxub(hkKtZGvVG0REPi8^-T+{N$xT1{2LkVdCNJL=Gn`?NX{)tw=JwW5yx
zc;wi2rq;5Y<lP-Sf5F+4m(H(M8|~!b!)J^~Dd{+6d$fhq6Dk$Qj;5j=dc;vPIeL6`
z?YG<aUINzwfYB=%{(SxB->r6c%L^KFPQ(NF<<`}e_4Rdr|MlL#3h+Fv)9LWl=;eRD
z&k#U~2=k!|o{i}NF;E9sjyQN=j#B`C4Y~bjiwDz-D1hfli_NDaF-k;GN_jwY%7Bl<
e0x7U9BJMRl7CwkXGvez20000<MNUMnLSTaKs7L$&

diff --git a/interface/web/themes/default-304/icons/x16/bell__arrow.png b/interface/web/themes/default-304/icons/x16/bell__arrow.png
deleted file mode 100644
index 82ff8a91e8869d709afa28edcec3255c81becca7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 816
zcmV-01JC@4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008_Nkl<ZILm#K
zO=uit7{`C_%<OD-ll@9|H?vKXrrT&CQmw2)r3giet!-$FcnGC}h+lXL)RPyFilVF+
zr4__Oq!q;86d{LH#EQ02A{85z77I3MQnuaAY-Z=3cODPBw9UmoJh$indp?zjaQZci
z`<3ZaWYdc4Yw@|}1_fhe-#-t$!S7=yPbsBpB2o{7V7A?AvDw*`1sqGcyjjj!w?%M7
z_-gl!_fLdD@YwN#!?iF7W<=x!fCFHud+u0xCQ}@HzIOEG$78F{`}vm#6Mr=NO>;fi
z|JTLy%imRErjJx>pML(^jKpylV9X}K-bbFAt~n|_dTZ?_mlFrsdt}mHYLO{MWHj)@
zEqMCbUA1$ceLv#>MA0Tdv0NE1>y{5d;mS9ByLb`Hab@XxV|B~E1LZBds?2`)^(AFl
zbqBz8?#^JZ2jaMHvQN_myuM?e(UMKMvXzPVcH)m$nfu`EC1qLl^uWNZ1EBA9;H5G{
z2_^K1a$jp&Rh?_iAM2-<4Ng7T-#>eIiBZ%|6k%kfI-VC}h+~5>1_4YAMhBeSG5_oQ
z73=Lkqn!(m?czqsE<oaL5p9?#dZQ&1h8SZoMgtHTL3aXjg~8!%@>8|yE-e7i>E0ZP
z6%s2u=rB3)(C*PlYmAA|kwyfxfljCy+di`0518y|?2d+x?g6wB{6L;4c-yuP6-yPZ
zHBqF|VSoUk7J@J)n@x`73WH<*hV0Ripd;x5f)1X)p$;E=@s$I1GN}^TEUA2+Tp>@X
zSR#`z;0|Q5-Gn;y+>?jfftm_Bc<rFK#MRrpF#YOFQ*J8fUA?+YtLfvneA>+hvECq&
zi0Mx&a#@RFA?+PHx@YQ(GZ*gI7VkI!&2?G%=-tzoGr7Tr<)nsV5ewksPu`lCo15dy
zvlsqWfMsD~?XRpi@BC}qtXK+^h)~HYXSu}?Pz3q_#tS_9@G!>#7FRfPt-(U?BSK)+
u%dqBUh?Iz+l(K+yFC6|~2JnG45dR0(@>B+h+ve8*0000<MNUMnLSTaX>5TON

diff --git a/interface/web/themes/default-304/icons/x16/bell__exclamation.png b/interface/web/themes/default-304/icons/x16/bell__exclamation.png
deleted file mode 100644
index 2eddd3d11ed7f06b1a1d183a2d27756f5486229f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 802
zcmV+-1Ks?IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008%Nkl<ZI8Sww
z&x;#n7{@>FJ2Tm2noN>SHals$b=9qC1#2n7)>3Q*6}t=FgF-C`>u>)74|?$=h#m!n
zD&j>}U7>>Zw)YBxMM3RFs}#E%H*LB}CYj`&cODPPs(bJYpWE|%AHH86B_dpSRr6mJ
zvWmc0TyLcpI|Itr%BjcCt5skLxCDH%JG*ytEDfyWGQ3eM>f0i?%HgZH=R9}s!ylbg
z$~`SYRs=-A1<>l>?NoTOP(AqUv9m8dl<I7Fw7u!X{hwpylV-C)zBqg8zSf@`kBRX0
z?lr94!-*r0o;&6$f3DkVd4K)!i%y1D{R4+i=bu^qf@=N5J*ibIHo>*Y#2`ubP_5PH
zYm%k_Sal1pu%9&9VSRm_L2s*=@$WpGSROIE1{qiF;v^O~lbOnn0|`bp@n`PlM*BN1
zee)Wv;Z?lp@KBQQv@s|RV3L0bbA^hh1O+fMP28M=c-P737E8<T;=5h)`C-M&=8q%^
zi<1aKk_g5~qgtOYiM6DurFrWLwT4GdZ;|&RqMNUi_agFMkFZg^%NSm80c0E(V_B$%
zb2D}{!dlB<pt<sG6VFk&uBP9AuR9p_HkHFo0Ii891`5E5hjMt~{s-q0W3V=%Q9I5)
zXFrudQz<w^vEEtx_~NI2nYVKDsrB4RiN*?1EXT{?9S17anYuBCBr%v#i~u7e#G{lT
zm}(Tu(+4{(S#1BHh&I*OARZD%1GTjB{L4=`Q&Y+d0&=Ai#d3+6>I{WanM^*w$$09_
zQzw`Dv09FYgxkMOK5_dttLI*MaXFJKhS#ob(d|S;-H3jtO=<>sUdldSQ4BQIvLBu~
zySV)M+T|Tb^R^4n=}GhbcP{)?C{DMvo10BVG{6TRzPYfmvB8(0UH(;#OS7qon!V1>
z4acFW6(|v*9w>LKO9iL`S%CR6M<1BwJiw1l)_!mEJ!6f4?XW;AERZM>K`EsHe}X$1
g{6ASB0{TGuH_U@Z+@No_kN^Mx07*qoM6N<$g7RB`>i_@%

diff --git a/interface/web/themes/default-304/icons/x16/bell__minus.png b/interface/web/themes/default-304/icons/x16/bell__minus.png
deleted file mode 100644
index 7b50d7261bd7da38b707b35fb789aef0aa4b5c09..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZI1vTG
zPiR|p007|c_wt%FaY>st?NYnVPIsCxH-<1#K|~O{L3i*lMM1=WN4<K`>+r6FdC^^_
zBJQY%-gl6B5Cu`kgy~$nmCm$jll<O$Kff=elw5u<0|4#mpwkL&-><F>_I1lLJvVnC
znEM6S6MzyK001(aZ`OUdIFmg{NuHAL@ES4zfE=;_K$X1I?j3pk^xE4`R@rp_)b_u%
zn-{+?w$^`tq1=rhVE~Z0kwaMmP$f@4@%)9;d1xKpy1!}j@84|wai_kv`br&b0QmCC
z6*&|I09DdkTv}O-J3|2Bv5qf({2^`qvw5!=xDAkVBZqn(0BXCVl-KKx>1YVxnfFgx
zTsq{+r<cB|Hhu8twW@$7GKdASAQt+~_WV>x0+0ZxVraBFjYeN@Wi11cK~W?{k;Ism
zdrK>`sVr4hsVqwgWknfBX6F~Xqlt&}9?Pql_NgF)RFNuT;aIPKc%ht3lx3+bBPhxw
zjz?y?a|g#`kH&(0f#!)IgH#2n3boPL@neslJY2-6EDN!SQX-a&C()6k%SVSJ$H!4^
z92rM4h-ESyrKh_6M-I*R7M5a+iXw`Wk%UQ1Mw3dX(^#JA&K()<r!%ogVv%Gp8tV`D
z!`bt1zVl+O(FjwWj^^yFneMEG-h%dQSN%Xotv(f2Uw-!N-YA?KjrI3N<Z$nSH!i&U
z*139frhn_!T|0xJ;m*+BU|SXUO-)rEY6UZ$Ot0JOudbar_x085|J5=Va~SNVjn6*0
z{A+t=Zad4H2dk7axb*qQ$JW=^ef!n*n*mv-tm1HEckthxTFpil2q`5?osi$%F^?Xm
zVWsQTiGyB+pEq3nYuitN3GVgV?)Te@kWvyt$k0LyIRF3vpu`Y+sQw4IvNFt6T%0BV
O0000<MNUMnLSTZ5)MLs3

diff --git a/interface/web/themes/default-304/icons/x16/bell__pencil.png b/interface/web/themes/default-304/icons/x16/bell__pencil.png
deleted file mode 100644
index 71e06cf20abe86115d86ae02bd926f1f1da9964f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 824
zcmV-81IPS{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00092Nkl<ZILm#K
zO=w(Y6o#Mgo4?F7bLS_M<i=@YVnU@IY#XZ3BE?#SrcIy$l{TXIgMZMyiVK6TQa2)s
zN-h2^tb(n$ks^^nuoR>yMjTvdV-cH76P<J>Gjr$O``zOrGtq2(;aMHtbIyA>N<=vG
ztmeN;b}6ic;*Ztf^J<ffF>)x|t;p|CeDvM@Oq5Co?k$y`TZY%SIya<&>3EbE`%-#M
zgs=z~fQJDsB4Z25<b5Nvv(qc^au`6Xf8Bv_G?^QEWZ&_p?h165JziM~1#Yu;<?9Q{
zfbvkI(WuT9i?19R9er&^<e~;JW(#-kIec<oSS1E)tE-V4*M8C4<VI@m!SQhul}FE?
z-SbAFP<ZKz<9uM?D-GcLTgded4EIS8Y;IL;EU~gy${c<0g&ps`GgmAOU;ow^v(U*)
zG^{#=d_y=IjdgX*e(*O-m0!8@o*DiAn{$6Q*5z~%Q0&yh0G_`&%#J5}B1%vIPP0O-
zb(KStk8|<-heVyk58ch?k0*AzoY?6Cnsx-i_XW?Bd~RSkEyfT8hQ+HtF){NEUwnL)
zJ4Sb7XY-EZa!bpF4jMp$4LqN*oITiUTo+>u6Q?e5`uW3b&)!bIWs%Bc`&%t;^Zbpi
zJ-;160tFCqTC!`buy@e+JdE)veR+ztzpl|^X<Dww&`5sdQjuM;C?UXX9?>&G-H`(s
z`_}C}x!wWK^YDES&vg*M^#sQau&h`<mB|j(o3h{Y1<#j_22KmR-c*y*Pdt4j6pN{d
zWf4!ONoCUX=6Xq{Geo;BLeYpi_Q1i(hNGsO7IwpFM_5_ov6Ig{ITekk?8U`pYSlXR
zTAfC<Lf|!tL;|)Y6e&xS%Ovb$$M;WtdhYVgkY+9nP+gbuTd$t^Iho2<bU5B0h-iSf
z-<=(spP%QmPcHwa0Ie~BS1+$uZ(a|DC~E~uL>RDCc)3OokOR5^hBJ)s?&l$Zg)--U
zukd~QS6pDlPO@qz@s)_6l+r+=O_=|e0qQ^l2>t>2f?dxmyRN(d0000<MNUMnLSTYv
CH;b+S

diff --git a/interface/web/themes/default-304/icons/x16/bell__plus.png b/interface/web/themes/default-304/icons/x16/bell__plus.png
deleted file mode 100644
index 655a29e97a738a0e390b53cccd23e863b7e4c643..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 772
zcmV+f1N;1mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008ZNkl<ZI1vTG
z-)og+007|U{m!?u?btcn(QTeFwP^#vq?8#LQCJj_N_x?SNP&c9e?d?;T^4p<WH;Se
z5eD6KBS{E((?&(VkVGNL%}wVv&vwrF&ilPRPe>`b@J<E*>O(=J7W}(he!I4*8Dlzf
zb^jLM&(uD{Eas$iPP>!=03gH3;i~s1MzRMf$y0La#I23jLy-=hed)}sBF*Y1kV6&#
zD3e#}W4qp%J@M94Wj540xN@iR-kl%&S66PnIJ_AbR^uw&5`LD<<q#tPW%A6EFPxgq
zLv821<-6|Q{@Y)@#p>QypR1z2++X(m(Ic~P<<bvw==T9Ald*}(>4{>!4Pd{TKfjw#
zw^!~hwN4+H`2Fi&=Rh!*Lp2Wom4}^_SF3|Vg*JeXr}mnd++p(47w*UVY?cg!L-HVp
zq7R@oT;Dbjk^m$C$|CGrA6Wb8{PhKSn3D&l2IbK2Cy<h<sXf!9DMn=(#TX^Tl2~-S
z+no62%F2xoug5Si29|nqNF`82Gh?lt<FVHhV-#Zn`Y|cG9V5-H+oyZ~?0GDvd0n)l
z3{n}SGE_QU`(_?Lu(MwjV(csWg_I~F-CkkW?y24Fj(y!irCZP~$e@TxyOW-7wjSNF
zZESq9C<^_4q3Cra^opd@D>WK}QzOl-yV{%SaM4eSev(0_tJU5N$4<Wa_RE#Q!7$Kh
z7#<xp(i}BDHm*L}RDGnOQXL3KUwii0MkgHabhS1*<goO>nN#P^9<L6Mv~J#9u)fyT
zUT@o2TTvF91_nx7YQab&GuEuNj-EJt{Hu%CRx6p0a#(wq7C$+E;g9;r)|D(D-d?7Z
z!Ka^pFmw6xW#4>x?M6VBiDl7Ve7LsyU!`I(3xt%C$wtT*)@{QWhG4qs;1k=OhTj%l
zytQH;(8E%zZn;(04=E)fgbX#*kOKe!03zDhK>0twq)rB|Am38}0000<MNUMnLSTXi
C(0L31

diff --git a/interface/web/themes/default-304/icons/x16/bell_disable.png b/interface/web/themes/default-304/icons/x16/bell_disable.png
deleted file mode 100644
index acff16b14486b1248a10a7cd1dd53f28487ad097..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 497
zcmV<N0S^9&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005FNkl<ZILnQa
zu}cDB7{*VdS{!N-A#8{X@dz_GNCkr^oXQAE<%;Ys&PCiDL{}G4Cnp_rQN%%9^iObg
za}?bC3!DV)eZ=qMIxgsgAH4TG&-;kqov__*g-)mQi*C0o^m;v^-|wdZW@zRdb_I(9
z8--;;A<}y=%kV4<TCEnR-ERAa!=budE??K{bp&9B2G5w~1<hvDNNhfz$4Hlnn>{i#
zc*ZO*sMqU8wAE_$Ncy!AXz+|#UQjNV8TLx0lHP1KVbZURK!b-2%kzR#sl+&~R;wCm
zLBeYySgX}EWLTaT6bgkM#bQyU|MpIrpSU#PhldQy^MYJ1$G97fMsK8fhzk=Qc*w9k
zFUVvvz@E)!KW4Mp18L`0z(WRE?C=6rRRvwwrF=gBNtcCNKeGZJGRR_w7o<|DlP@~c
z=@h^2CR~5uMh02z@B&3qqK!r)x>zj2lgZ?MJRV2r%X=CO1}^|JG<e9+Wj<qv7sTW7
z0HG$6$?rrWq0^iO<lW*8uxEIb(P#z%Uf^^(Z4QUyNEAhvmyRS!zECI>i0uz%Xz-As
n>@jwD0UaB0Kpg%PWOoHWB&Q<_5XM%U00000NkvXXu0mjfi_X|M

diff --git a/interface/web/themes/default-304/icons/x16/bin.png b/interface/web/themes/default-304/icons/x16/bin.png
deleted file mode 100644
index 7fe988052a9582081778d449ef46247b2241ba11..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 654
zcmV;90&)F`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00072Nkl<ZILnQb
zJ!qOi7{@P>Wa#M7H5nbcWDH~xp$?@|2f-x{1*N4*Ek$sURH(Hj2zC>Z+DV900-aij
zS|i37t9hxZN&JpABt~EBCyfqI?~y(swo49v!*Rd=pS$<&Wg3l!Au5&Xp-d(-%+1Xi
z7-NW;^Ll=MeqAb+zFk~gv@b0!S><xMnY)kFYBfVxFc>5Z)yshpK5T@u)y{6Sca_i9
zI@{k$?NIEf84hI|kx=#`QaJAm=u(aa0s-RI1?W<a`Tc(4zk;KB_v`UlZ+|b}+PPVP
zF6EfV;~}OB+JkYq)*1?icOrxjx|N;WWsC~Yr5tm+-Nbc4rqIhfK8j<#vjH#OUydI;
z8o-Z|q5^a&$DB?lF)2voTXFYBvzt5peg2d0VD(iUwlkfn9iU4&wzjrLObYf3Vj`01
z)Z6`0`LsDq7ti~dWI>F5+HF<%x7fo1bScLy77KBGgdeqTGL`GK)h~~sd@&G0nO4s6
zq1K6?G~-x+F6EffXe6!+PR@G51Jid{wdF=Ca~4eN`C&9G9@7!fr5w}i^~BT;l82r4
z{U>QC@g1Z}V*KVcqDwiZ)9Hw*YZUvVQn@im9#nos|9wd4QjRGU3Z~U+kz2n+bTNb3
z$yixgVM?V^&)+uqd_M4cy}<7nY&IKMtyZwx?cj2`CTr+$_v!NTGNW;ab9Z53;aRm>
z1wjxXkw`!+7KhEvFR-!k8Md~f5DFbYI$eQcu?_ssG-2j%mPtAHBofK<+1Xjg%*>2~
o&yhC>pHJXx6S(I<7c-ds16Sf+7ol=9hX4Qo07*qoM6N<$f?=#Nt^fc4

diff --git a/interface/web/themes/default-304/icons/x16/bin__arrow.png b/interface/web/themes/default-304/icons/x16/bin__arrow.png
deleted file mode 100644
index 1191c51775b8c457bc438991351d999eefad97da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 746
zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00089Nkl<ZILnoi
zOK4L;6o&tqJ9#y?>CLMzs%eWL_$bsz4N?#)xKInC=|%*lpeQcvO6W>)qnk<*D)>O8
zB7zHbVRfffgKjKT1s{<%eb{PRQ)BbEnS1BnabqMJUHHS#z;M2E{^1Pi>FEIgaL&6E
ziA2N1!~{&!1b`|4L8sH{QdQOR`Fz~(_ZKxyD^^!mPbrFW4**y!7Q;_9M7wq$pIpc<
zg;kfkKHv_0$rNX}X%pSBh#_nONURKb{bNr?hDs0<Lg0T@&M?mTKMNTp%;9EL!m^8o
zfK|FLXDH_!C6`N~lzH7u8yGe>74nW14u!Dt1|_p%u~;$LG-+t)cD8ByvtVi!5jXCO
z$npJ-uipzs4gks-rtA7|u*a#mMql!}ecRP^wbxGdU-;H`XpcHw;KnbioT*5l5JKBm
zvuu5U8rh<4ojz7Gp3WKh)FN%F4bjw}38=2?C>a29T<EnSGB+{HwG(G&+bJP5mzBX+
zZwr1)N~@Hh<ccQ%08@zT)Ws<+P{Yg<XOnG_Mwi~RGdO$eoza{&bWLcRqn2e|7M%Zm
z3&N88)X|lh)K}dx*x&N{U@SN;AU;nmadq3)kZ0bzrt6b`%Ymf2;qU*zwxzWy;`w&z
z%<7K=kH16`3)~|iF_TQ<sZSubcWva_%{P70w!!A+<`52tE1O7Z<+;dCDsHW-yVaS<
z0{+f5FabPI13UJv-+1?WypI4tXJ;q8Uhm=F-rmd0%geBB8-+pv>2w;;axGYrK2S=*
z4FfeD9cWzNiWgTOj1fu)8Gx#IJg!C}5oa_SMJAJhuImuO#^PcQ>$rs5?Saqd!^x2u
z<eOXZ=-icAbK(7PVf6eR0w4gOQBjobQp&KD5>iS4AOJuJLFuHMj_e|VmO7an9T6WM
c4g#3}0TCZ)ohX+7vH$=807*qoM6N<$g8WHZ(EtDd

diff --git a/interface/web/themes/default-304/icons/x16/bin__exclamation.png b/interface/web/themes/default-304/icons/x16/bin__exclamation.png
deleted file mode 100644
index d87347ec6a3286122686af03d1a880bc8e6d8aa4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 750
zcmV<K0ulX*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008DNkl<ZILnoh
zO-K}B7{~wb%saE=?(C<l>qokkR!Ag81$z*Lgy>Kfq(PlbC=w4r5Y(yY;wgy0pe{lk
z0zFiqhoVE7hscCNLK8N>GBtMHb=}?Bciwkqy0o%l9{R)oIXpbS=YxlIc6I^)7-MH<
zW@f76@i;i=0N@5tuBxg_*LBP1^RZwsSO^3H1+UjTC(H6n0H7Tm9r&y2*oo7<KYr)d
zDs-1t71F{h>B0izHZe?#n8GH2gZi*1IPrd@zX(ww1pZg03}uY%SV$#86^*)uWfx2V
ztC%lkB*qwuE|n}v)T7bB{ipm`KBv?vGNGjnil&7^VcTTRrEve?#;*BgL3K9~&xS>`
z_mYxW&zo5QC}pT&7+c^nRd&7m%p&L8^rY8guik!`YVJCx&*z!BNtH6&HjoLCjvSyH
zRUygTDA?BB9{-nQ*36l!&l`Q_D+TgdUdl*@VW4OL$TDG6hRITVkp-^zEgq2wk@6cx
zd1_@ew7>bX*GP?O7EdchX4?q>KxN{(^Jp#*@>71jZ?^gP?hpJzYpvtfT&mAsqg4mK
zHZA;a*!c^>a@d_~_371wp**-%H+i!8O*&GwN50rK2!F6vt*e+m+#VaC?XiJ>H?VET
zYK)ep9^X4Ko?3lPG*!`vm5_&qhG1l7Ngx=m5f)mx0Hmd*C77lO(=@l7VLOhMV?3K%
z9t`=)LuJ2G;}{vfi3FR59tl<oflkgr2mrLSw7}!>T<Pxaev-*#VB0qG`8;@j5>3%h
zICQ)cmRLu_!3o5_9R)z}bL#uYTqb*i0&tIwjp@;7RE@=ANT<^<3<E;gSetu`eT^#0
zq!mE1kxSl2Hu(Yo5UKSyOeL~c34joQ8d;Xx9LK3}90!i$008N^gj0L#5CH&?%>Y>j
gcWci2>>|eh00$9fLk9CjegFUf07*qoM6N<$f+W9PApigX

diff --git a/interface/web/themes/default-304/icons/x16/bin__minus.png b/interface/web/themes/default-304/icons/x16/bin__minus.png
deleted file mode 100644
index 8c70f25b5cd66a5958d0836f6bb199801fdee43f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007jNkl<ZILnoj
zPiPZC7{%Z0O#U^SWRoVfEwy`4=&evFq7X0UCJKTLh$ks1mVyOuics~^lNYt3-mE7*
zd9bG<Xs@-!_TZrso3<nxV{Do~yF0tHJ05IGZ0f-e9s@J;d*2&AhGer@008Iw{QCNO
zUoMw}<2V4&1)$sS_Xku}b)(TJkH_PdrfF6r63J6a-v9s`8ymx3^_@I(Zu0Ao=C70*
z2=*p|$?sKbi#r}MZI{@>BY?zUG8|w2FhARZm=FU0TkQ<vod5G8QwZ|~S(k7<%NB53
z`|XUvIY&$FMHPjGgG_rc=ZqRn-%%eWtlgj`W?5E8XU9>Jv#;v|o8JUeyNG!CR_K$L
zeLr^%y8!_03^PshFF53<f%hNzk&79%5(#^yTMu`JuUt?!4Q}sK?Mz1kN{BKt#Ol2X
z#jabPdv_xCsnW2UrLr>6lT=Cv6DX!>q9p)maAEc&Ng=n*wW*oy5rq(?QJ3ATpN+UH
zrQ1r-QpXbjfKd{dev;P`G3HFoYz*uD0W*8Hd)u-d8$h_l=u1n7k5RaiPhTIb-g%VM
zp57Z;`_<&lnj!4=DU8m~BU&sTZs2*+J+6m#p4}h%vTHb2@#e%azPb_tfO^2k(wiH%
z{ib<M0?VvWC?J(eb(%=&Ho2&~o+OpEmB^*jry~1@Cq{Ju`ir?a5CBN0(+G#dSI5W4
zpVw+Nc%BEtFi@#fAcR0@VF6011cg#iN>MKqwtSqI8L&+Dex0i8dUkPf@o}|Ug=v})
z!b7>-0Ou0HU<lD@6q=?X7K<U18M%?q=U)M65C91P{gl#-lrklygp?A%pLB!}99SiQ
fvg^9<02F@%f3a60o-qv@00000NkvXXu0mjf{_#BP

diff --git a/interface/web/themes/default-304/icons/x16/bin__pencil.png b/interface/web/themes/default-304/icons/x16/bin__pencil.png
deleted file mode 100644
index 0f7a531e94e9e3ce5dea4c9ec10464b75b51e032..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 769
zcmV+c1OEJpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008WNkl<ZILnQb
zUr19?9LLX9^r6Q+^dNzPKKKxl1fzk0BKU`BG)NFZiD0W}k|9Qcn&ey}<U)`+mh;7F
zldQxZbMw!f+th8BrgLuYk87fHf7(A+`ta+V)saR$bm8-Gx!=$Co^#LdqNb)MMBwxJ
zH_OY*MFj-~B7_j31JhqvSUAMta9);_l=M|rRz9t%sp-JkTLOUq5s*fsp@{s)X;!xt
z(%Jp-wQ%x>%N~d?Y<gl^{Z3e?wTBk9_M=7jVTvVL>LImSP5JKvlBFI}sZ^A|3U-2t
zCFenM-Q<d_{8>P<)I)N)oRU)zOP_fIkrP%l7zLdz;ahPW>uCYWQV+>wGRk>@)tz)n
zCZcCTX$T&_K0doE2?5^91}z|2;><QSA|#bcDcJ&}D`Jqn4JRD?-w(gy6|_DN!h$uP
zvjUP`FD*qThC!&ex0jMFSa(N_i`IBBmOAzBhfgefhbgPs9o5gTMSS>Mm`H)5rDf2=
zFdqyIQ;oX1x+v#c*bXGj8;)d5(CGy4QJU3SBM!-UAa2+V8&++*+fN!A=Af?+<``xP
ziN#{ddBN^MlD*OX1zNiur~D2(v=6yXmhDmJ=T(huOf?zIWHL}!R5Uz+P#qEqg_N8X
zn787wy89OJ;1z6mqJ{;-jBS4ES|oGu47gnG9G=dKH+WQ0TU#3?=NO}@Q;#>4HrssP
zmX}QLtn*X6tgIg8rtaOj{tB0%?urV8YHMpzb8|D{pOd(@Icxbe{p-!+vMVu@`MsZH
zi9_7%RaI4m>g(%;c(y^QRDwdG0DR8S-y?>J;W8ld$cr+Nk8}db;Oqk)kB8`W0dujq
zxcH&p?+2D;!DuvsUT=WuQ4v7O3Cf|X@Ns4gEEXT^?Zp89neD{+?II55a(;gPqrAL4
z3BxcFd`}p_!0l>gtLzdpiJuJ+a85$9#3AlaLwHvf^A!?P00000NkvXXu0mjf%Q<f*

diff --git a/interface/web/themes/default-304/icons/x16/bin__plus.png b/interface/web/themes/default-304/icons/x16/bin__plus.png
deleted file mode 100644
index 1b1a05c8a7f34eea6d370ee15dadc3833f3905a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmV;~0w(>5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007@Nkl<ZILnoh
zOGs2v9LB$M@0o}5az<y=5%U%X?gXL51VW%-U<FdnCR&706b3@nA}FjjuG$nvx$L!Q
z5iJUWpa;2BNKGka@|D#%&N$BF-h1Yrb5Dz!m>OI3!N-Ba`F-d6^C$6m900%=JF>8_
z5KSZ!uq+DzJOJvQPN&P~^NBzpz(S#r84LzZzu&*Cs_Ih!paTN~_@!v9`|!}`jbbL^
zbGe)9+~Mz8bCp>(F-n4zxJ>|w*047;_4fH#8KRtX{I4n*${73SL#hz!a8nN#wprp3
z<@-uTVT_^dN~wxMy>1%3anIVP7ahACDxsADWmD5MtA4gDB|P>x-?H+JQ=f<M`_H&G
zblkDIt(OV_P{~lkF#dpRoT}^1Bx^j@<4gO!cJk8At&WrZz7?I7ep8i9RRfg}rL&#p
zo9dKO-n7Nlv$gNjg;Ft@Qd%0qO7iapieVTi8vqK78x3Kyo>*hS;nB5Dg%G8Xm-W;0
zdPqnq$_>h{8UX;PN?aqimxFb+)EXXL>d=~9M!c_nZDi@<?iK4}Q0&o9M04SB%eHo2
zBNvj5oN3KozLf~xxz;|DDY9Zt=cP~i*=TR~ftrUKk6M>&zChSw=K$N5Vy{-Sb@zJv
z;<j#?SLQCX&E;qO0I)5#0cJxu#Uv!A==%CPB9TaSh?JtpcwX3&%%`XQZ3i_!0BrJ2
z#QOJZ0JPUnUV#8WS63IjUhk>F!NKudE(hDTq3b%*=`=X!cv<@nNoN|Ws=$A=9*Ym=
zSDDjFfnbUP@Jvih_%uy(#$qvKvsoC10nTltQUx$35p(w;5D4JhhttT240zrm7|rzo
zC=dX30Gd@*?U7POq?C|S0{GdE5Q6e)_o|0T1dT{xR=%*#1Niy_d5vjknAjQf00000
LNkvXXu0mjfo0wnc

diff --git a/interface/web/themes/default-304/icons/x16/bin_full.png b/interface/web/themes/default-304/icons/x16/bin_full.png
deleted file mode 100644
index 463c7d6aaa1fea3ed62c24b87e089bc5d8859b3c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 809
zcmV+^1J?YBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008;Nkl<ZILl3w
zUr19?9LLW#l&A+qu~&WQL8uoW1z$wShsYYT2Oq)+JQN|5dYK?OWR(x5Pa<P2ix#+t
za?=DAT+J=rcHP`x=bUr9>D^zqxqohR#_60}Cpz%qa_{|ozZ`z|Tp*E10HLq1545+p
zgSxspAP@?{O^M_N29j%2b2DgbYXcn}9iY3rn|H-xF%S5!;4UtJxB!ak>!nv38eaGJ
z_ZzP@HmaLjTBdP<92dxN!3cKm|0~dHwG_yvO0JciuxaUs+gZN2Os5OgqhziU{<LAY
zE;C`1!JGJg7%#erOLIV@(NLg|O?uz2Gq%%w^@J2;ix&}0G=5fQ=kfDp+mVSB5SQkF
zTCJwQ4g22yN%}lO3ex#fnh8Ywa597J2j#P9ru_5Ws?A0Uh)Z)|c6OEmy^*AMe$8q-
zI4-5fRms}Wt0a<6Cu)xrN%YmS=c79yF3o|dsVNFSgH?Nonf$;N!?9|yP`Qjh80XMu
zBg^S60V|yWacK@rOiWOqH=OW&F}YkOXEw+9gC~XZWo*+G^ar`j(Z{tAXY_JAq=2|I
z2S!InDRAB94v-n73m4qBCsPtX51?445Os$NsW+NvWx-%~?uKGM;?f+DN~IL&!8>@n
zvSq`QkKY;gpocH^f887LqG!{gnx8G69^>+rZD)YEGzTDr6n+L;qi0KR+Vwd0^X1!*
z9Vl0-#S^*8G1-}N+02j~z(0%6fx*E+3Ur5}zB#>-Ipj`Rv(tB+JFju6e3gx6%i%fw
zCZn?i&143|r8&^k(*p(u1_*G;XbaGDz@@TD&8o>tPNGu(jnQof&Gah}mt;tmUtL{Y
zptrYo2p>(PQmK$qsYEj~GiYpV49R3NB$vw({$%_+;$ZhlXJ;p%>ni4YYisLMmSvI4
z<w6#V1)0rTXmN2JEi9}doo*8u3{K>5L{KP{Mfk@WCYirk(1f`q5{aZjp->?Z2o(69
n@RES<dGI?P>?w##G9>#O4y-;FmW#3U00000NkvXXu0mjf+&XyP

diff --git a/interface/web/themes/default-304/icons/x16/binocular.png b/interface/web/themes/default-304/icons/x16/binocular.png
deleted file mode 100644
index 8279f4584ae1847e328f5ae0dc35ae1015d844d6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 397
zcmV;80doF{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00040Nkl<ZILnn$
zv1)@*6!i--bP1G>qN0OnL69y5K@=o$QJe&E6<vapU(zMN(jiNhLMWvW0$Ga0IYYPH
z-up1tiWGC<z<Kw)d!FaYaliE<%W`d5R&5wYP3MVPS8vPZ5>~4fBuN5vo~U*8i~vPZ
z=mNCoDcYaf1wlX;b~kF=n&<gORn^9IU63TH!QQ(limXSRblbK;*Y&2=*L{Nz&-0)x
zOO`W=BKEmq7($k1jFX<{IaF1}beicKd^(N;MNvSSrr`TNeFZEQ3y9;Gangy?1EkYT
z-(Wv95Cow!AU<NS?;9M32AH{vKzzjD&^I^^cYwWbTq58S86Vlfv2XB7uh3=OGRsW8
z8+2A**UZF6e)Yfl6XK+48knX@7fx+&s?ME9c5oi*gB^7G17d?2FPO2$j5TJwU~h|f
rY_T2DH|;DpL);<ei2I3{w==UJ<P8PPzRhd000000NkvXXu0mjf%-64)

diff --git a/interface/web/themes/default-304/icons/x16/binocular_arrow.png b/interface/web/themes/default-304/icons/x16/binocular_arrow.png
deleted file mode 100644
index dead761828fcd908fd62956740f75485a69623d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 563
zcmV-30?hr1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005{Nkl<ZILnn#
zQAkr^7`-prlRhM&lp(aSjjbG8bYp}POvZ-uZU%P@9D}(KgmL#W2Em{p)O-;ULFa=O
z^q5aR>O)Zkf~?kxP!ucb;+}mFggk!V&)vL@A?t$!-+#{ko&W!iBwf^s)9KXxe!niu
zvd-rgwR)8zkqC0R98#$i_}rpauZIM<TrR!<<J^k&PnA_w<qPHi)TA}5)mnAC-PKSi
z1c$>>C9Yz(+Xcrx>w!Q3Uaz-m=xb(!Z{ctl`FvjN8IQ-scVn>_GMS9%S=TfTg+f8-
zJYzQa9t;MN&1R8KrxA@t`4><W1<7Pm^sIBw53tTNW`n&(1DnlOH{iaB!JgS*ztMnp
zuCKs-6N7!T!C_+t#GO!xpb$mR`pEPKhL<V`YqQK9nhoCaD}0$!7CSS?LeJ2o)M1f@
zE<f8s@egqC=_YO}`LC>*>vwHu?wN2sFG+W%J{S9EzU<hvH>W*`WsI#KVEz}t9BGN#
z@B_k;$K!#|=VOB-=58bwrGeK!^%p;Y@d^<8bb;J1V0rR>r)F^6B!lBCz5P<x=xnh|
zUHE(J@k{iLuj2lz1B{jc=13Di=p}rh9nUBOoiflVgEQi`33m-_vwlroIKBOjh9AwL
z-7@&mn3XySR|(yO>zAQjSz2vVmdkB{nF(X2^Bh1NJzn^*zg7SM002ovPDHLkV1g<9
B4G91M

diff --git a/interface/web/themes/default-304/icons/x16/binocular_exclamation.png b/interface/web/themes/default-304/icons/x16/binocular_exclamation.png
deleted file mode 100644
index 1c7550cca6442b5df5329b4610a5fc691c6b5d36..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006nNkl<ZILl*T
zK!90VT3XMXot>YVnVCHU@rjg!gLD4={{Kr#O8zG%CjJNUiIjr_2O$2ht*s4G@E^)2
zMh*pB3=IthDY!_Y9K(DS6_uCz`uZ<DJw5+xXlT3yid|M$R|kuM*dTc~H@E*rMn*58
z^7D}mxa#BM^S`XD4D8Q{hzPKA!@|P;=j7yo*&zA6yuAN4H8o&)kRD_Mu6uZR{LjzN
z|DT+k{68Qd0OX4Qetv%c<Kp7LY>+&N4YB|v57L8dz%6tG)YR1A27uU=`MUpCOjr0n
zq0Jd)z%670?w}h0^fTNGnwrZ0=k&<^fBtah|J8GJ|Az$of(*EWY`}f=FaU~u2L|GQ
zU?BdtGiUt0e{;b9KVMh>Ke;#je|dp5Nd7*u0S7=ff)oQo8SH0}7)WArBO^;!1=FkN
z_uBu1qVd_C`v2Y4!vC3>A@a!J3CzzRHb`Lqaz=&&D;S+G?lU<4@ktFh5k0?=@qft_
z`JW(hkUR`n1Mv$(L&N`;mX;ueFF<0u7BMpJS;9Eu!L`^o*Dt&O-@2vr|K*Dg{}1oA
z_`6{y<4TY`%z)2W!r=3^d5o5a*NGl~aMS7k-K)l67l7!yS55xU?BxCnk_Ty)0pcUT
zF!%=ygJ-}ncm@oEe?YO5)0-JLTsx}t?&WQ*|1WQ8{Qvs45=?{e*}XD97j!c&2N}Qz
z#6mzU4#ZN(cy=qpEFeCEj_0&7oSxgpaB5x$!*l@tV^~CvNMCsX0000<MNUMnLSTX`
CYb|;J

diff --git a/interface/web/themes/default-304/icons/x16/binocular_minus.png b/interface/web/themes/default-304/icons/x16/binocular_minus.png
deleted file mode 100644
index 63cd02434be2e168cf7d76b7a4de8894b531e988..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 469
zcmV;`0V@89P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004;Nkl<ZILnn$
zv1-Cl6un;{qC>EB6l2XGNkNb<1wj<VI8<>GtV0*kMM8%_=Z;-U?c!3}-{{~XNI^<z
z5y7PdGdl<^_4eLJOw$lb`rw4~&UyE|cW(fG)@>$}u?mHPmCNNU-iP$u^`z@M4h92k
zx7*13ke<7a38*LvA3$dx#{0Eq^?IET%>L=YD49&!*=*J>m&=$=r)|=nWmy&)bM}kH
zB5ImuJO0QU@KUK%&@c?qXS3N9&uugs*zI-&XTR6$p=p}J=NfOoYpGPie!q{MP6unX
z8ovUo)hf1HEy3Am&KI!HHQs=^KOmJ#xdF@r0_NU;g+G9Lc3WT`5U}tDEd4VeZ9_vu
z8lvC<Ggx{99{CnNOj8y;v-X#-kaptxmG8TrnX_;}xFg&H3@-sbuA@;L#^cER0bt7d
zuK0+sQdJf6`8)@#Sd-~<L%0HX+fc9{<V|-0>wp=o+1MxO0G|fkZb}kfBocTYi{Tl-
z*QxUYJ~O5sx74FWJzCV`mb3}s(7`0YA3L=WA;bt0VJ{>krzY|ZrxO<bMkp+g00000
LNkvXXu0mjfT+Pzs

diff --git a/interface/web/themes/default-304/icons/x16/binocular_pencil.png b/interface/web/themes/default-304/icons/x16/binocular_pencil.png
deleted file mode 100644
index a9c8ac1eb7f403494467679ed921a20d15225c40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 558
zcmV+}0@3}6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005?Nkl<ZI8TjI
zL8uZ@6n%H$GJ`0hC<qZ1U6>MrwMY?6VHhP)gg_8~xJVol8IYuYZGskUqX>i|qFoVf
zYV(87hc>|{B8s3*3}0G({4l$JyXWy|nuZ7;TsZHZd(NAC7^VK4N9lChsZ=UXp-^ye
zUy<|A$3~;UlgWg8y&mJfBIloy6lXFS44`mdh5PGlw^}U>Y=;T;e@@Ng@%SQ}%`WQo
zI;T>ph4elplS$nJ24AgKIiJrj4)}S{;Im;EY}>Zpv(xG5&uzEcJRA-+20t2&cs849
z9-5%Rms+jHmSu6j-{)qtiLYSOG`ZXDY78D24}gc}Dv@vSEo_iTBzyzlpn+8`^PFgJ
zi>Txod=DGQ&i)F(p22uL=7AXS`Z~WNdhZ$h2xlNYS3+b7QDg8kyUByWfL+(+v(f0T
zq*(O~Ht-6DC1t%cdL9XE)?$2bdYD~js#l6cA{&nb12{juoq^HFoKfoCQ&MlA(8b#p
zxe(vAPjKus{UQm_42UmC?c{PfE*6V0*g@~bEv3cJ?$Z{;H?AGxOXZl)2lQ(Bj|`U2
zZ>q%02lNKwJJ*l$#A*cpgQX`vCABFT>`MlYWZ*~!`_lU`y+RLp?<?DDw0r*Cu`s`R
wpjA<+BT~nuPKJut40?UJL`JBOS!kla0rvYXzG@2F_y7O^07*qoM6N<$f+o@eo&W#<

diff --git a/interface/web/themes/default-304/icons/x16/binocular_plus.png b/interface/web/themes/default-304/icons/x16/binocular_plus.png
deleted file mode 100644
index ac0184daeead7b84b23f5c31f2be195367bed7f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 530
zcmV+t0`2{YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005mNkl<ZILnn$
zO-lk%6unRe7L-kk$}$K<2Q5SkK_VywQ4p0taV3Zm6ru>`%0;wjRqa~zDgBccZGs3S
zqKH6<n3AAPi=e36y|2lpLBcK^=Dc&>JMY~)06(?ka5xmd->-PRUWL~!dW|}ZMx$6P
z7BQVpBd=TZ8Z|>er_;$BP+hm;{i<p_9_J0!e|k`{TCH`L%T*7BLMY2}owRei-7Yld
z><0n?^msgV)vss+F2dn3mP#ejXEK=-&rKu}n9XJdXFr$AVYyruKA+JBTn2+d%;)o%
z$z(7Vi}5Qk5{Y0cl@gqN=6nJBd`25^tq-u-Y>fcsO#-g90XO;p>bcPZ^Ckf|+JKsV
z2Bf{v5Rrx`IQ#O(Bn}=raCB{)wVF2Ih;QM|G-c5<YkI$P!;JG!%V=C5K#&bb5H<e#
zm3QAgGZ%{80I=H&uqSQ9O3$lla|Gj$3&<SyrBk7+HAQ%EyWQyX`8eP~Xts8MEfc_I
z&(-Yx9O^;d>36_$lNme<$I=FnFus{qhOmEa6vu9-QChVi6uRDFsY|?Im~c!ze$WgQ
znt?(y_#o|sFrngv{mx?FtGVVxV?p8zj@7f!O^^uv1oNL*>^Oi0Llu_j`*o)K6HT}r
Ug{6dwSO5S307*qoM6N<$f{RJ)UH||9

diff --git a/interface/web/themes/default-304/icons/x16/blog.png b/interface/web/themes/default-304/icons/x16/blog.png
deleted file mode 100644
index 09267a222cbef0bad211947d3c501b4ae8320fb7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 513
zcmV+c0{;DpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005VNkl<ZILnQb
zKdahM7>A#j&}%dx37Bv@IaPvC2oBO!5H3RJQYSlgDfDynBb4IU;MSo_2R}e{?B=NW
z2Sve@+-uaFq(d<zy|?0--t)fi@8NgebB@&S_W_V3={0c6b!!>N@pk}42ysr{b~>HU
z*Qj0BeSeOXFbtDI9LMzDDijJgXqt+uJ_96z;K==bz{5kpyRRqG8s&64WdOOHM6sx1
zSq6ro0TQ0)vs&#q9FD|sOj@HHkH=&aMG*k6K78Z%<R^u~4JYjd{P>vZNo$@23_jgq
znmVOYk=@Qm*R}rx4u?ag_~wiE<lyX7Pg<h{L68CTdOhm(I*Y~P?|m(obh}+fqY=8U
zW7{@qO~!!`f_A$NfMr<#IF3UYhEyt*r01f8*=$BWpGQ?y_WM1$t|Np<^5t?l>)>C2
zZQGB|A4L(SX(sVSfa|)6{nctktJT6V47S@XK@ebBRu(XwPBZjovzZiYwHiVQgb>LL
z(hk<^HOgQxpwVbhDwT+$i1~c}Xa?u^aRzKQ8$8crI2@t?h2e0hRjXBGS;ldkiyujr
zWhRpe<MG%8d<igs=bEOy%;j?0HNP>6BH#D@U%=uIb-W5k=u6W<00000NkvXXu0mjf
D9B}Tm

diff --git a/interface/web/themes/default-304/icons/x16/blog__arrow.png b/interface/web/themes/default-304/icons/x16/blog__arrow.png
deleted file mode 100644
index 500ec141287ab8582f9b7cf53993c50b552e08cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006(Nkl<ZILnQa
zQAkr!9ET5uMK&aiLVGRo#iU+Z1c48-hsYoUhifk`I1j@_MkMYb7-YJab%!tzS2SXz
zgGp8^Y78^S7In#C3|2!KhGWf5+;EIB=CAv|bjqm210VO?%lG{`2QHhMnqtKC^mLa3
z-y>b3V_vUUz_G_guIQM@;}P)f?QKlz_rcqD2(vdE@#c1uLNlHX9L19xhw-3yKgc0h
zbj<B`3wW(oQ>CZ<jd*|e6u!F7D4fN|(H6WIJcdWcI*>!I=$Omp67XuZst)*`m`C!p
z9cv2`Qj0JD7(foWqGOUI33#PaQ3uc!f<q_p;a-b+g`ES)Ay;(FZnq0~xm?E9*4D0&
zL$2tU&1MtuQmF)|(}{3644==ZLhpq_0l{DpvMhrfaz)3iR;z#)i$x@p$-l_w^S}1w
zkSjW7u~-Crb8{1Ob90DBqlm>~>NAl@Ae+sq--l;cV4BIIcg+8=XT-<4?>uJAY&Hw{
z#>NIRnan?l$K%j@mNBsgT$JJ|?f8nZeRPR2lgT9Dxm*qohlBn!71|GamvC(&j?3eV
zXt&JZx_=qcDxk#j>5-U`b#`_#gTX*>Iw~D~Cs+L6FqQ&LpMjpm-`x5FoE%<|87-|=
z%XB&&r=tb}0fa&!L?RLO**E?c9k!6lx#0k`$~CTj0-DSLxw-$9k@|Xt<E^c&e0_Z#
z>2&(PoF96Qwt3))elk_xVHx<@vPOkAjYeZ=XlUTOaqz;xyShvFQwQ3*ozzhK0~hFj
Uzh|592><{907*qoM6N<$g0S>1PXGV_

diff --git a/interface/web/themes/default-304/icons/x16/blog__exclamation.png b/interface/web/themes/default-304/icons/x16/blog__exclamation.png
deleted file mode 100644
index b7a4007c0119fcfc0167047b3073aa6fe244a5fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZILnQa
zJ!lhQ7{`Bixl3}%(e#pVp|zHViY0>|Ar#a_w@PXk1*M%*2VDebXI;ceaS;u;7>gY`
zh|(c`Y+4*FBIpu=G;K{yB-P|{N$$g;G$dM~@ASUU^ZbAOpXYgng@pwG1VNYqhS=ZP
zbY1s3fMnbDZg6OBZtlT;)VW;l>h4{#EUTMvU6<^vL?GZpRTUJ)3kaBIn?}RLFihs3
zbm-Mcold6@Ac_LPph7GbCLC4)f$i-&<#LTytBvcr^lGGbyWM>_jsw8SYfJq4_MSk%
zM@Kyj%h&sAdNq3j^0&{T>l&d@kXo&drm6o2v|6pc<fVt(dk!wqQ`4)FOw;TGWV2aP
zsT3O<8$0{j+$599u=?&6LFpsI@r(3o`W)D{O*)+hAQp=OkW41&bQ);EB4dep%Ee_|
zTbJ9GZ*K>sQVGA`kD@3vn@u!Lqh5W3?2i&qy!h29vCwLwR5`RaAdyJ)H}Bf~D7@t0
z_$0HLXFR$)$w>I=@gt+JCBXUzkjv$|_RHlmXHE^E$RdJWVR3Phdp9Et3`T~nR{6B+
z^2!s5MDY21SeBKVnwpx4Mx*Guj;`y(<6|_o9upnX_}TbOdip$a@Dm=d&udiIY}@9A
zn9t`a6be)-6&%N5eSMv3wTfXFd|!KuC~V;hU-60+rqA6WApK@AWCmrwdd#voApwDv
zl@)bjVgirHLo%7{wp6U$C#E-1#5%|hjp_~R)uo*+9SDtosno9sKo}TSRrRPSifZrt
sE?+Qa<0H=K-=9hpuw~gXiferM13ml~_ai0fMF0Q*07*qoM6N<$f{?g51ONa4

diff --git a/interface/web/themes/default-304/icons/x16/blog__minus.png b/interface/web/themes/default-304/icons/x16/blog__minus.png
deleted file mode 100644
index e02d945f26b2d2c7448f18c21e701145dda06993..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 570
zcmV-A0>%A_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00063Nkl<ZILnQa
zO^A|F6owB)43@YsifXorn}(^?z^ujHtRs<u4DLcI!bO2?5{AN!D3LUbK`zXn2r4ot
z5sO5l!~_u}H*OO14;4j3^zELH?odq(UU>L^c%H-g;G<Y9Moc^&-;#(W*-{-vA`yka
zl80T@Q8*k{h{a-oy~{@sxvImf8%DgpeMWK?uWz12^x6qLxpEZju&X)>g+dB3pU*Yv
z<#i)I@0`c?;6=$Le0^ZTn_H*w)P4-?u&X)>27?MQo6WQVKdT>6d*{WEPkz+Dz5Qzd
zJM5~C{C>YeOs7+A0DnU2&N+O!Z_+;D&jIYPt2**}y$UgzOfVXa4uu_dRYx9=M<K@J
zF#>@Ave_&WiG&6}4+aCIQYjP)1+c@e>d5VOE5vX(M6FgkK)2i7zh{SC)sf5PQiy)P
zk4z?md_Ip-sia-2)hb%8*8Y2T*yYBzxk==7Iu)YV>!I0f{+CLnqQMTkd#kGyC3zeU
zheC8Z9r%1c{?j!0zFaQjgWZl7W;33fOh~S;BdpWaWn6ehv`ZF?g={t(BY0I_{a>PM
zYnW_rAK<YZ!b{M`#s*ofR>7+#lS!o0Y2<P_?OH4r5wqFwP!3@p$qnwVtkmzxc!xKT
z=eXpw*=!c=b{maG<51XPmz&=$86_9=dcDnHFo<Pfmm6+>0SF3iC#p07DF6Tf07*qo
IM6N<$f>Ja9$^ZZW

diff --git a/interface/web/themes/default-304/icons/x16/blog__pencil.png b/interface/web/themes/default-304/icons/x16/blog__pencil.png
deleted file mode 100644
index ec5a3b2c3a7860c1e29213dc72b5539d8dd5ba35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 647
zcmV;20(kw2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006`Nkl<ZILnQa
zT}YEr7{{MC3HlH(7Daijc@t$<vq%yegI#zXj=X5Xxfm58(T5k|AgU3Kd9xx{X*Ap>
zt0pb7HO6SnoC`;Gu^dP@4VxdRY>XlL?|n|4m=xiGAA8@!@Aq&H@5t}>6B7soI(5W0
z=~Ny0d_IN1HW$09qv7FUh1lHO#NgQ-@SWd{@I?dOT|KCC2xFJ_VWej-9(UD&9d=bm
zUawanHa0e-^y-2EA8$2b*3+tU98-6i@%r+944vBvcGy)Nc|0D4SYKb41AgQZ$d5bm
z{ev6drr&HCzz(~rBe&bF5Y=i`4&W<9uQeilyIEeLb^tr<auc#xh@4KRLR2ahluD)l
z!VbGrO-(eZX+#c(Lm|rLG6n_)kW3~K3<f3qzPh@KXf%pUCIfc7-Q9QRH0@<d(>kcH
zuTLS?*4B{E=l^19X=%&*b&Dm8{(gitEkV7#y$Z3ivVwR#j){p0WV2cMo6F@;EEa$5
zCkExI_!{QMM%Pm!GuiESg;-u*#{B&JKbf9<hG_6KDuo+pYikP|42GlnM<lY@Yzncs
zxCoca#s4%3KhMm}VD`%kM4q3J@#v#=*n2we>qF>fYb%k-WFo88$_PFxAH9}z@(JRh
zGcxu+IEl}h5ZL90Te*xzBbm)+!AFfmB8bIeNTpJEJ2r%If4huF^f;aL$?LGojaqwj
z4z#qih=qj(6bgkuyboRhN?#FpcnaC{sN7?RU2cB2WY9TMUte!+XlM|%==<n0)qOg4
hc-Ot!eRjFw_9sL4Y<sF!0ZIS>002ovPDHLkV1fm<DyaYf

diff --git a/interface/web/themes/default-304/icons/x16/blog__plus.png b/interface/web/themes/default-304/icons/x16/blog__plus.png
deleted file mode 100644
index 4efa66df5028d7d1a1120be9ecf7a0f63c9c2275..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 608
zcmV-m0-ybfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006fNkl<ZILnQb
zL2DC17>1usw{13E2pe=`i?lsim!c4QsP&=*0wo~gNi03olNZ6Ge?WwSH}Rm7gP?0q
ziiqMN=+#yWidvBtp&?C-t<r?F-OcXIcqk1Csikw8neTfa-g#$6o12>hK-07fKtG2Y
zWu??h09^>Nx7j~6HFf_mYS(qI?alQt44Va|6uB!pu~;vrX<!&VfQIKa*xK^g-uAfq
zB%oEJ2SLyVh(t8{`V5lE1c`(RXjH3pDwR!qzkyPUR*l|hG@1)3B>)rGpHo|XPb}6;
zV4i?CH`;nyHTwecvy<4iMLgce=4KtsGXD?oeZQ@E`C)b6;GCA8R*mj?UK=2n%P}@K
zMyXWVy{~eanVA_D78bB93&(M2)wDSfLXgd70Z1m30HjhW!Z2ibc(~bfpo3zuNHiM7
zFbsBfcCai9Aq2%@k$a6ttgNiEHCUS-s2_b0h@cbTI8Mj;rIgsV&G#S6Oq@T9`|Ii8
z&u9T5L?^&?-KPCYr9vi?VYYmi59^<hQc@LFlrIq7;v<Shy-+A%+jbL>PN$o|(a}+a
z5PV+$%0T)!02|>3XD&_*0YmSey+zOG^Nf#=6OYG{QnI$T){(&}<0M~RFYUh8OgGDq
zmsb6rU;~Xs9f-}(&zmD7BXo6jkxHdHGPrZ>766kkF7ZeFMbrbhUCRP>4M+e3rfHsz
uL?Y%vzi|7UKP``_L4K=m@>OsXDE$M@c_Hu6tM%#t0000<MNUMnLSTY{?-A4h

diff --git a/interface/web/themes/default-304/icons/x16/blog_blue.png b/interface/web/themes/default-304/icons/x16/blog_blue.png
deleted file mode 100644
index 3a7b216be6f639093543dc2046a265227f70ecee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 517
zcmV+g0{Z=lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ZNkl<ZILnQb
zJ<Hlq6vuxi8GH$Z1Waltr%JFC#KB#7o<S&-j!r^{eumPqpP=13I2D3Zm#%(+I22ks
z)KT$;h=PJIiF%U`#gIHtE8gkebI$+ApL5U2^m;u2GMUUvpu}xw9!1eN07VFK36|RJ
z_UBvFj^n(&+?DhB94DeE;@SJJ<nwt{RVA0p0pR;SyWNice$Vd@uSjZ?)9I7~NRmXM
zP{6V*48s6mv)SNz9zhTgMG;Ajay%a6M;L|xe0u$yUyD73yi7?s@bL$!nxy8RfHz-U
zOw&ZuG}h}ix~~5p5ClOg`TgDfgO*)B=1E+W)F{61rvTk<mwLU<Y&QG*U-LPgPKUu@
zfUfJ<woOu#av+4D)oKA?Sr!1bT8;DhOu1Z+Ypyz&OeSQrS#r4?hr<C~*AYU*@nW%<
zcJL5j+xDZu3BwT6G~@eKfa5r^eb4i_ySu|M3|6ZZzVBmMRvIuKk5lw!vl%C=)ha>=
zgb;BLk`5M&1xml)r_pGjX&PY|GM!Ez_24oe7r=74WV6}ex-JTkcU@PlR4T}_Os!VC
zx=6AtGa8K;4u>YN%>V}QR8`d%k|e3OY-1RP+wFGy6PW!0Zbk|_&W$Vp00000NkvXX
Hu0mjf66o$n

diff --git a/interface/web/themes/default-304/icons/x16/blogs.png b/interface/web/themes/default-304/icons/x16/blogs.png
deleted file mode 100644
index 6539158e527133665b5ede174b7a2719c0cfde52..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 556
zcmV+{0@MA8P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005=Nkl<ZILnRF
zL5LDj9LMoLQHKt}<R$8|uoQIZl+f8c${vMkPhQ?3Z;^Wl@~{vtk%^bQlm)Ax!bTS*
zR!v+o*%CoKr4a~%n4pLt2;#5z8yazjh3&zY(V6%Deo!To$w)Svm0T_-eEskJj!vD^
z4)@CD0A5q66jL~7aS!*}23U$@GO1Rp6>dE{!rg-+Ja0~MKk*&+UR7}W`6uuh_vqwI
z@}XYcZWp_+kMQM38|g|D?<#HhKD2RXKab^di9{lybn@TiC+V;20gJ@~u~<y$gxodx
z?Sl)*sVn&W^cs%$uH)ll1Mhb)ndDZhh1qOoHlNQCiA0o6gbZ@XN<O-XKR-|KyYv#j
zjt_7W-a<NX*(5g_4HSz-^U5LNa9HU?$RLL-4xr%M{x(iu+*}XfvwFRbPN!owolX%7
zg_KT&406b_h|c(|TCJj7E~8efVLToq7z`?%2pQyXqy8Dq;_)~plZlO7DwWLdfsIBZ
z1Ofr26Cr~fvMeIwrcH98P%s7gd>+H$5PrX3=|spNhb)WOY&J0%3~Xc`<UPjWZns+*
zh9N=*IlS5L_ib&Gy<YF3%jHs5`tU;$*%pt-Bjk`3jYgsWgl4^7&qnt7e0%!94M$gX
uVvxg6v53wrvUR|@w#eD!oz<G`SbqU(--AS>7s2}g0000<MNUMnLSTa5kObHO

diff --git a/interface/web/themes/default-304/icons/x16/blogs_arrow.png b/interface/web/themes/default-304/icons/x16/blogs_arrow.png
deleted file mode 100644
index 6d7b0ff3f26f1015834a9c97dde117a26e6bce30..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 665
zcmV;K0%rY*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007DNkl<ZILnRF
zUuaTc7{~F4*n)zE2sOHh!6@jW(M5w@bma&lV$ler(*9WR1`Q&{3>svx7)oTDH<Q|C
zg>$Lk7*P^a6IUiHF~y6RYc-c4COF1G7z}^C&mmXFXdU=+JiL#OA2^cR?Iw@MLtd|!
z`17yl4w=}b4xXhy7w~;-Y>X4w<l-5gtyxf2I2;a9sZ_A9*M~!v05n50Xt%#d+x;;1
z-<|}Y@r;Z%Bs=9bH#Y~}10P<0NW&FQU^JY@@h54t^u5H|+8XS3yO7a;le=AS*B7j=
zu3}(dK*)%>>*SF$Ti_K9c-7O0shhhoaZQECx_X72N~N%}vZ7Qjmti)Wg^Y+9%wd+}
zTpfPQPUB1P9zIW5Fl}mr%dkx$$K!DX0s-aDOH3w{kP$J1In3e(EO^(~jG6wu>kIfS
z7K<U1$tW!^FT-dw3K<bIn8U0p@$dL75{V!b3LzSeqEsrOtE)@Mh?v0~9+a<9$!4=*
zX=$m391I3=>-ksc-8oDoi!c}rLPo?4<}j;D<ch^&4cYJa<J9OZ9)1UO<BK?IeB?NC
zV~B_u%wblQm`Eg$&*zor>&_&!!=G?$FpjofKXkr%3@!o(@4Q)P=}+p38O-5d%;j=5
z@vA%G`v%Jba5)W}{`k9|S)kb%N|Q#TA+1&`3WWl!Rx9M6P$`?uDgv$f1={b1u}64v
z+s}`u+Mdp%GXXSSolNbz<h(-iQnj|WDgtJ26rb@-gU*#a5CIzW&*D2Sc=S6jI{Ew5
zq*AHQs?}=ouXv{JaJReu<Zygz=ZIb|AzttkRW7FL2N}dU00000NkvXXu0mjfdVe)z

diff --git a/interface/web/themes/default-304/icons/x16/blogs_exclamation.png b/interface/web/themes/default-304/icons/x16/blogs_exclamation.png
deleted file mode 100644
index 7983deb8971ec29380125738854501297cb16afe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILm#~
zK}b|V9LMqRjBhn9pS$&1T-aREWG_)$S%*OBZq})TD`?Q6t`QMIm(EewScooVXhIPw
z9z1M^0!b-4)FCje4Y#nAt+%uLd~fD;SXMNvISn(+hadmni1G1pgb)ZJFvb8Ngct-8
z{C^e0FnnfhJ`qCT`#wNocz8JXzt>}9V;2Cn0hVQ<lp+j6($}A0+cvgsBZQz_E>kL%
zcz@$G>+9=m1_r}0Ow^G`B+|FIxX5t_&iA!bbbYEsc>Jjur4+^(JkP5EK@j{i@`FqJ
zH};nwz69C;&{|WiR%<{#N*IRR%Uam>PHejcDJ8C3p;Rg}df#L8Kr3Bcoj~VSpdQ5-
zgOrk!m#1+Ha~NY-esPCN#lskb@B7Tn%@K>mNT<_ODwP^gm$cRZJij$SGP#$A2DuSm
zYmIiF5|7MdaS~&C{tleYt!=C8FcA1<Lhm&lnIS&BeMI1oqLiuubxCW@%*;&fhZKv9
zjEu0bus|#pBeDA<(LMWU-PM8<PodVHZwHJqWHK25GMNlP5RgixAk>t;O_AuxFm&z_
zx!Xrr{ya^!Qjvj{NTn1?DYVuU3I$eHR&ZUHAP6WF3aoz1)6f7iTxD`{60iITLPd1P
zoAm7LELJ^=)|zxWy=8EY<KQmmXpTE9ugx<(b%pQVJXO}qhk6PJ@49}swY0Q^<2V>&
zn3$L#9*+ai-``L1bDn1N1tY%GC`$~Sy2;|ZqqM}t&hD-q(W@7O{Z>AokM{QVBBdmo
z&2DL+)p|vHJfK;Ag@~d2;~MUdCjfMGwk41Kbk7PP6^%wuNGV(YtZ?+quc6MQ?f{Si
k-PB}$HClM}dntMS8*0WtJCusMmjD0&07*qoM6N<$f^lj>3jhEB

diff --git a/interface/web/themes/default-304/icons/x16/blogs_minus.png b/interface/web/themes/default-304/icons/x16/blogs_minus.png
deleted file mode 100644
index 3493ff6075ff5297e7de9365392d3a7c7e018bff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 593
zcmV-X0<QguP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006QNkl<ZILnRF
zL1>a;9LMoLk+2TIo0sS`7zSNrgM`j@jU9z@W8mdE<SnvbFkypmL?#j>LAoFv`of|^
zN=!|ZOjaU@r!*o#5EB#;3_<+${GX=i7;O)HeSLZU@8buRqR}YDVlmQno%sFn{i;ly
z(JIf<>;ZfYhr^t}8H;ClcJ6?QA`}XV@pz2un+LeLn}qe{5pD;*;?}baZfv~=@9~U`
zP9?vUt5&OF?fC&deXAgnDIu7t;Le*0%sX+6Mk53Q0U@JvlOIGrPY)Olhw%A)LPpG;
zl3(Aw09{<h$A?#O_~;tm-Pf?UW>DmExr~0luNn*n@OV5zM#K!}Fe_xgh~M9H_?dc&
zABVfhxfc;}TvFs>v4~_csjhs8+wB%IB4#j$S$qHszU(aF=!t210PhtF1yrk5Rj=2B
z%jFU>B4#j$Srg*PcrTmHBArenpU<Py>A>l93K<bIn8SneXH@z9essItIdUqMQr`pD
zZnxoZIE0Ld8O&kUgvjyGEIE-#C_y|PN2}F>&1MtZW-}2pn8U0Iu~aId*=$bla~m7b
zO(uL;URK3dRuD88e(e*zB4#j$Ke5qh%rzm$<U@btAt!r5R3WR?O3Y!F*XxD+6RPU<
z`jo7%uVZszp|M3&o^6{bNOEZwi$w{TeOkQ7GjjHdUA{a%&Q1T;qNZv0j7FpQUpymc
fm-qqu%mIG^Gi8o63yzFp00000NkvXXu0mjf$W{-X

diff --git a/interface/web/themes/default-304/icons/x16/blogs_pencil.png b/interface/web/themes/default-304/icons/x16/blogs_pencil.png
deleted file mode 100644
index d06dd1c8a73bebfc597a2d0e4f79241667b5d6a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILnQa
zT}abW7>D1LU1S7Hgs6)IDNvz{XnkB%v_W1J-Y7!p)d<c-UKN@oG-MzfD;v9M4QdKH
za05fdn7Eltn#0-_Yd1Ni5JsYcV=OiX!(Zq9)BbEDuooWAIlLd|fpchTYKpvGFZp~v
z;{D%qheRAg2iH>N0A432CmDf5f@`?8YCze-?RJZUg9BU`n#N^o0Q%Q!FgQQs+RJ6M
zJf8vQxJE+%RGyHrv9W>PSJU|TB?-@R9PgHsxHq1}Me_%gN+md*P9dTHR(|67qz)(+
zi?G}6LPD&oD!;vd1U_*R3;n0D`1B0kKhk2X_n4xbNF<QU<rMPyJS-NAkPxv3>#&x)
zrw+U8EBFz#VRO-n6;l&D#^Z`|G#W)95KvYgVltV8N3SPh4c1{T9>4~x=4PyooL2{M
zE)t0#l}ah>27`z-Hhx{zXl@g0unudL6>H&KC=|ld(h~fBKl}~{Fg%P|jV44=g%MmR
zpHaaf3o@BZm2yzt8V!%Z<#M4=D4?^gEjUKhP6Go2jL2rQsv@(ux2Nto=byD<e&RX`
zzn;NrwZdR9m<L;1iTe8b7_q;<uPBDYVZ`HcY;SL?=bx#0%#L4Gn!Rss;9G1CI-O2v
zwOS&h(Z~qCF`Z6V!B5B9p_z82dF1iY@3*eh+Z!4hxcLDQHIrUGMR#|%*xA{^=;$cq
zCsf$l+QP!zxO%f~@WkfBF6xv`XDc`*Aua2$0c%$h^z{S3*Wq*BMAzMO_HsjQG_ekA
n)gp7~xl<Rr)KdRKRj!FYg%5tZa1b>@00000NkvXXu0mjfjOHq_

diff --git a/interface/web/themes/default-304/icons/x16/blogs_plus.png b/interface/web/themes/default-304/icons/x16/blogs_plus.png
deleted file mode 100644
index c48266531c9bc63a4fe110743247ff2044966bb2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 641
zcmV-{0)G98P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006=Nkl<ZILnRF
zUuaTc7{~F4$o{|#ks|755G$e@i;{KGM%ZnPAQGxYB#al9b<xN!ii8$J8<`1_3^t2W
zQps3>Qd5(SY^+2QuX0f>1TjGoK@eoW-sg~#HChM091ri~;|Gr9^ZCf{_fsGcApZR8
zc|aysX@F<x_XT|Scs!iIDi_c2Y}<mS!tHj8<>h7UycWbkTLk(C3pna}k3)Cj*nMLf
ze8w{}T9N!jUW<#17`z+An-3Xy<0(wVGdT7rgYMA~8jS{AE|-wef0IYNZ(9rM^*S65
zhma9-Tja@8YY-4>yt=X#Ggr6a`2`Ig4yqJ#I-N$fT2-pmYOq?ZLPo?4<}k~BW-Wev
zn!}gqI6lwVFlXt6*SJw3CzDA;A`#`zODq<PkP$J1In3e(EO<A%0}Eqatp$8GKR=Ib
zHmg*rRA4rng^Y+9%wblO_-A}JJ3EV5EQUlPfl{dilgT7xM9g3g56ai5<a9bwE|=TL
z(P$JWUmLOK#bKOJT!hhR6fz=aFo#)9B3CRH+sNT?7`yzv7%G|3^YRD`27~Cn-b=&`
z<}j;COr=uD=ku-SbJ1aRJwAY*XMHdf1@;H~p}N228%=5_h#Ab`U(DrlZSkw)dY<+{
zpFi<ebWf8Zy<ShuDHIB@+wG8lLZzjpB}EVlg>ZIy2ph&W=jgUNz3+QJ_^vd*X^P~f
z(dl%GfY~d>XFNkUJ3emzx)*e-BS|(j$p!p<>eOg7r?pzG_*Xnb$5lQWRwe1ux(T|x
bURm%HkE@T!fxhN>00000NkvXXu0mjf-f<v>

diff --git a/interface/web/themes/default-304/icons/x16/blogs_stack.png b/interface/web/themes/default-304/icons/x16/blogs_stack.png
deleted file mode 100644
index e568c075960498a04a959ab861b4a3e0d6771675..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 545
zcmV++0^a?JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005#Nkl<ZILnof
zO^8xa7=}Nh7A=Ai7g3vmp<OFCfh#vgi?BtjoR~!+XHg3wVqheK${++G7ZO5F;3)Vr
z6=+6`xtWC+>Ox!v(n1jN4^a>Vk+<_+LhcNgrapMM=UmQtpYuvOot8`{Bd5L|jXDDl
z&z`<$kW3~O&KRE2h^0A|N*%P@Z6x+?BKzVt3Zc6Ohp#+HJh_3@YK3?_t~B!B=G3!W
zST2`{Mx#n2mgep7As$A*;PHOh!1wMe?u0%X=ER;Gi^T%ra9C-C)_*eZy!~vL8;u6$
z^EraSpwfu22m3Jn{k?O@s!RCx^fHciui(?84ScwN!7%exG#3g5%w{tL0s*BFVGs6U
z`u_HL41ONt*Y^<GM{jWad=se$7f+b;`8+0*3H*M)(ulAJ`!JmWd_m>q7Jj_Gwhl0x
zbGaNwqY->QpVEl12m3I6I-Oc#HpgNy3<d*uy<VjeVGs6UdN!Lih(sb7kH;vLN~qWC
zC(L}wa5#k1=~OnGO@uwzhw0U770qVTpx^JW_hz%p<vOt2?Yyk@vL)=nK1{FGY6h)V
z3*Byay*Ha34#%#(c=Zo9al75ZK1?qbizt`Ns8lNGbUMbG|18a>*<c^0_j)}`Oy=ur
jvuQS&%JjcsW#;?_1qp(ZW!VRa00000NkvXXu0mjf-G=)T

diff --git a/interface/web/themes/default-304/icons/x16/book.png b/interface/web/themes/default-304/icons/x16/book.png
deleted file mode 100644
index 6d4bf1823bae23399ce0050eee452b8a9dd50bd5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 391
zcmV;20eJq2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003_Nkl<ZILoDz
zKS~2Z6o<c=%xoqxw)Un8Aw>$WpoK@s1=I^zdkTwKr3;7$2-cp#5DbXH%63<f&HS-Q
zb_vNWEBIg-`0?IvzQ=nblu~Tt2I#uW`%~)U6}SUXJ7RY_o82Z_W0HinG37aGwP-h+
z7-KM6GaQYsiz4NmD-9mUV>r74av-aI{^$Gxc-SY9gTVkb9I{@oD~q+(JiRPMNw90+
zy(iCe=JR=_LBHPz@2d^)9w7w1UhklIu~@LlaWZDmaL$2qNGVCv^uRz$$tEXG(6H8m
zwE)=dy&u-vdIBK?JJTtn)Sdk&fvX_^q6DSxY}7#gogm(VDhNUdQG!x0TF6$Y5CTF7
z0A1`s2w^kth=KPWY~JAelkhf00qqb%2RQcLqol+bQ@M#!N<x+<ET<<xrT_z+0PmB@
lq{Fja)qdvu>tkDEe*q*E!ej>L)Aj%W002ovPDHLkV1nevsxJTl

diff --git a/interface/web/themes/default-304/icons/x16/book__arrow.png b/interface/web/themes/default-304/icons/x16/book__arrow.png
deleted file mode 100644
index 6a66b4ef022ad0f20489a7280eead9b3b9c9db8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 524
zcmV+n0`vWeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005gNkl<ZILn=q
zKWNiI6vsbzxnFWk69>VeDJ>>aVu)#kPCEMsH*qWN;G~WnbarwrIyh9YXsHMyx=C>m
zk>DWcpd=w82rVcMg+S7#N$!tBnjf)EDENirj>mi7_c`7ZN-6er3&_|j57Qj23UC)d
z4FogKH#Y7>g8&_k64yFB<6~pQV==VW=pdjtKYz1dq^z}}!Hbm@n7aXVfad7-dlxPO
zj}8*Zd_IpV7U_1oBa4F|;AQED2nhxaoO5(K9jevpNP}E12hNQ)z&V5vWV6{r#kE?E
zUXGQ+3?kNAuofvLjYi{;fs~S7&TxW=F$RnQ!0g`#WsEtRKnTIWbV7x3YyOX*9-pAz
zPB1YuGZhH}y6yIG0$?b?juR|gp5*tRQ|VYDx!7tp*9Q&MFoLa)rsX04Z2m0sA*Hy!
zFnetE*|#O{+&=`WPvE@|3FPDnuAZOfdjqD;S-QZ-ZMbx;F!%aNX-RqS5kde2{XOvB
z_vQ`Mzt(vCsnYwxUW=)7MN)+f>kr<17E<0<K-_zu0Fur*l$2<#L##8YX!w3t-eu=x
zhPU@tn|`~zw)=khl>m+dDPS2WkXqavwZ<xQI?Z@8?zX;^T;=I);MZSPo7oVQ6YCrR
O0000<MNUMnLSTYyZtDvG

diff --git a/interface/web/themes/default-304/icons/x16/book__exclamation.png b/interface/web/themes/default-304/icons/x16/book__exclamation.png
deleted file mode 100644
index 3bd34df3d1f46d16f3a1ac14e31f116e5a7af065..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILn2T
zO-qzf6vuz}&b`mvc^oMf9i34#O++MSAw-)H!GfrkErb?PV0{4>Eus%lw5o-Dfk<0L
zfzZMhQGqTclY*isT8y+9htZk)(!!p>ml-;6xrfU+|MNSCbA?ihe|8%fb{8L?<p1^&
zxCfy2Jq|xzUY?J%#zYaZF^$uf$q=X07-KM6Q=FZ>l_V+WTti@SVF4!RfEuvfy8O<}
zdEm)m0y!};fhrcM*Xu2lwbnd;`$aSe_6vCLsnu$1Y;3d?7#|-8?^_GtJwgb^#>S2$
zZ*Fd~7vp3zfs}I&oI^@Uxm-RXAf;q4ra3{%S_{?!VE^5TjhYvnDZHkfx&mG_2;^Y`
z=Nv)^65lxozDiE7F+FvYPTrG|RfV(Q>_Gu*ZKHDHTWiV5cMSFw=suodptp~6L+jmH
zRUxY?&1V3R?1#Y7uih{+IL++!MIJqvWct)f@7)W}6kzugsAdG+sWl2+X^bebw6uh;
zeq$sbw_C?l-5#8QN_q|<;GDxd$3SX@f&LDD{aNMJ%Xvz>pU9tRi>>8qy^fF}gvOG2
z@A2LfLcn`Zr(7r3ULuqJOe9NOx_qBlmFex;*4ku?)^b(?aR{L&gwXE2M@oq?hA4^{
z*2|0zR>{cUWOaqg)*Z6CLRN2+D;yiytuZHnP9P6F1WuE`_B}zmG4o+)sAnra@*kAl
g>1Zqe{Q85{zf;%pn#=u?*8l(j07*qoM6N<$f{bMkq5uE@

diff --git a/interface/web/themes/default-304/icons/x16/book__minus.png b/interface/web/themes/default-304/icons/x16/book__minus.png
deleted file mode 100644
index 305ca0c1d054913a99db87b080e5cd88479c4d4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 471
zcmV;|0Vw{7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004=Nkl<ZILoDz
zF>4e-7>1vjoxM!XsEq`Im4R>^CtQ(2uoJYf)+Q+|qkq66RY)x<1tX$o8X@=tf}oX!
zg(*_#<w78MMT&(8dVz$!nfWYkZ@EowxxyEQfsgNf=NY~kWsD)yGhp67e0ht>`U$K7
zn33ZAhn=10l{m&$Dpak_*OlpMs#8-~Yq4=mb7|@6&}6*#dBFDOCM>Q1DR5eT{Q3O{
z!0U?yy3uH0noauseyKT*V?KU8R5`(DKnQ^}O=-8=r2+MN9YQD%AOw_B)M~X$=1!->
zpvUWR0g?9}yhm$Iuh+X2ptWYuGoB!F&Vh3PxNN^D=iFohr4%F6$(7f=`%eNtAb8yU
zJe~j;OOV&S(`!H8QTuaL2ry*?x3^z#y}OTy5JeFiNpg4Y?Bu(^ZXsYuAR+|<-QDNO
zy*r~I*MP<MTU!_rK`8|g58r`^4CbBb_~ruZU%nwgq&0t&q<7=|_kqa>sv<H2Tn!;$
zw8mOnxcABOYT+rr*?7Ch;j2f$sR1l73mmmttr<SK?!?cWCciR|`v-0+%#Vit;^_bY
N002ovPDHLkV1m14*b@K%

diff --git a/interface/web/themes/default-304/icons/x16/book__pencil.png b/interface/web/themes/default-304/icons/x16/book__pencil.png
deleted file mode 100644
index c045fc8b15a478c38fd8d708633085d4fae13372..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 598
zcmV-c0;&CpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006VNkl<ZILn2S
z%WG3n5Qo2Wa_{X;q&}*)w1SvcjipGzM-f+9C?amExQPfYQXl;TTnBfqst8@w2UWDT
zh@j{u6hRj*Rj`7!BtD2*N~<w7MdQsq=eVeex2eH_fnk{W%{R;l%d+@mXMk39a4^dM
z?KO}DumZ`}(NyZJW81inL&S9}z9JkZQdfuTy12GYXCiUB++-=GDgt+ghG6F@zylU)
zk1y`q4_vM$kR2TzSe>1eN~N03wrz9wX+~5Cf&yA=JkMita<ZmCdwV-*U0VRH5ke4)
z#g;WsO-->_qa;Az+td<)kWvbiLP|-YP*^4)rDU;2i?J7jY|3SjK>^?Q@qHhFavbz>
zeosEVc6TmwPeEK(6DXw+LQsx_E`*>sKg-I{*Y(k4vU?8BS=9stCRJOLJwfhMnEQ{1
zV+Y#WE+mXe{gVJ#Hobx8Yz>Vu)c>B1T}RW;ipA>+#)AY_ErKTNB~d*>&yhHnh99xI
zc}xD|k6jZF!@rhX!75+D7*io>vL|TeHa*>O2Ck%-TXm95?sJ|sQ64O0k;a(HlWDEd
zT4RhsYfZS6WwRKe_i&tnt0_KM$M|mV0N)ES{|@u!CK8AkV;YSy^;&DBl(?>o<2bDQ
z`Go%78(h3L&P?P4Uj1IAl$eErW74CIKtuoyKnpMcY^UXTwzAapt*%4y4c}hPZkx&G
koBw{6H=E|m_<3OZH%n9*dSuGemjD0&07*qoM6N<$g1EI0PXGV_

diff --git a/interface/web/themes/default-304/icons/x16/book__plus.png b/interface/web/themes/default-304/icons/x16/book__plus.png
deleted file mode 100644
index 23260e555dfa870ac67454af67a0295bf74cb70f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 494
zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005CNkl<ZILn=q
zzl#$=7>1vjolPb&9%>=N6>@1p2)IQ`3sF?iQbEW+pcWQ3)`I_o!W~zn5kW*Ot~e~T
zu@KbaKrXCA#OuTuyh}KAcYauGvLts|4t!yl;bY!+p5gn1Qi_T00(E=s@d`(48+Zty
zW{UM^o0|_xVTdl3sA`?BW0eZkav7~PIt+<AojX&LvexDS&sSHWeH%!Caq;tiE?)uG
z4id;#tA&ap(ljkJhhfNzcYTo)%mz5;NRotJuU8n*Y&OBU;sBgO2tlLKIAo6FnCy;~
zivj{`Em(_`lF?{%C_qX{c4sj`V2lA{05FsNpo}p`69^%g=}xY^Zq5G@d^owrUa$j~
zf^+;h1Ht}c0$?G*u>6%9S1+(Wcy)s17)a*=R1v{@{e)k#52<I@?n2_Al77VVX)a(&
z;Ju$C7^E@L&9m9r47k{dmVox#mv2zsdxQ`G;dBnX_gTLuI`y~C*3&*7SiV)`^ZNG@
zOTWJ$GJ>l2z6Kn3&Y`44Yd!b(^V|nuV|<UH9m2j5JleYsj1{1P)4;cGw_D@2*(sdk
k_IQQuVU?d|YvM8g02pJ_((zn&PXGV_07*qoM6N<$g1`{pGynhq

diff --git a/interface/web/themes/default-304/icons/x16/book_brown.png b/interface/web/themes/default-304/icons/x16/book_brown.png
deleted file mode 100644
index b7ba58f3d58b02a60fcb80fc73b2acccb571ff6e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 383
zcmV-_0f7FAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003-Nkl<ZILoz@
zu}(rU6o$Xnd!Zl<4)OpjgfOr;I{6CX;1lQz_#m!MY%VTr#CNze!k`n8#6(T5iGkam
zI!K8E4KALfX?v3Y>o=ULBuQA-CD6P+wkPba47dPDel(l6!{JpaO);esRby6bzfz%E
zE@O<rq$%C=^P3P-N~v(Z>-Bo4X9tfvpMRNT8E~|2pgWxo-NQOXQAEROnsWb;t?s`7
zBEn*^U^E&<0qu4hC&U3Ff>MfBtF;jxkH?5e6tL%<!#Ri6nmo@p09tFDb66JvSZlG?
z0<8A+vew1{!9Xd6b8aIX`u}eLY&8h|A_7SMY+xgRVBo#qY7qLtVEPG(_nzfAr(q7f
z_lU?=fQT?J;CT*%*|$N}dtU?UB7)W$V@z}swbs1nFnFZ_d?bJY8o*P(->=O|Om}^z
dH_v35v0ofZ#U`f<hui=F002ovPDHLkV1noWrO5yQ

diff --git a/interface/web/themes/default-304/icons/x16/book_small.png b/interface/web/themes/default-304/icons/x16/book_small.png
deleted file mode 100644
index 298d6b3b2c6dc13d9e12f0dd34f4573b09f7f0ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 280
zcmV+z0q6dSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002rNkl<ZILp<O
zF-pWx5Qe`QU)VGrLJ9E*p25;f2v%Mo;vvKXq_*<_-a?QRTUlA8b)9+ZScF}c-Ngh_
zInBV&ypNAzo<sz5N|{-+0ck%disBYHUtc|)9hraodAWJ`698N^O>>tnuW|QXF!zto
zGHL)6IcM@}Mb~xPu&!%ZXC2)^L@eALcSlvJstQ#dZ1N%Cn8Cu#zzh+g?|Vc9GlT3W
zQvl@#01OW|-F@63BDR2tz;-&>CK;T%J1K&)EQg_#hzR)pN>dCz+O}QBt9%}woxbl!
e^8f$BY``zlyl?dXGP4H&0000<MNUMnLSTYmoOJvE

diff --git a/interface/web/themes/default-304/icons/x16/book_small_brown.png b/interface/web/themes/default-304/icons/x16/book_small_brown.png
deleted file mode 100644
index 9d5acf299a0e617ecf51d0d512f0842405b157da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 275
zcmV+u0qp*XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002mNkl<ZILp<O
zF-pWx5Qe|^OxPe;dI1UX65CjKmPIVQKn~#vgmm7((i7|jQdr2=v67854}J@AaYN7t
zshnoupP!GJA0|j*NktacVn8t!%CfuxF7DUqYR134eb(kz0C3s1?cMeHEAIXi%+uq;
z-x~mBN{MkC>HGd5HcdlH85u}gxjXJojFGyoi812tSjr1=WoDQeAq0kDAcTOKVV(!5
zz5&2d|M0vM4gg6<eGV`e;+eZ6iK?o;Ohtht-uD>*NxQD=UWQY>O=l;O?Nkf@{}&bm
ZJ^`MiblaIn!QlV^002ovPDHLkV1oKjbkYC-

diff --git a/interface/web/themes/default-304/icons/x16/bookmark.png b/interface/web/themes/default-304/icons/x16/bookmark.png
deleted file mode 100644
index 6bb98fd547de0e794569a7760eff1ab1b9698ee3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 500
zcmV<Q0So?#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005INkl<ZILn2S
zTPs9S7>2)15;-TKxNzY{xp2)m{RJ1wXeLI+VFsa;Qd4rJ`~g2eIfYE*f<lNWqLh^6
z2RNVmyzkmWn`XwUr?u9*_V?^>?Y4+>6gC;UGRo!Lvg86>f-7(hZY--3Omn`D<iCa=
zg~td_K@<UtW^`;!IdlIb@L{nJ4nYh-6`0l0QT-ekP)fLGE}M8@C%(W1<}?)2kG?+r
z?C<}PF#k{B0`odDqVGLD`qA5KB<zGa&*KSPU_pn6^|iZO-vR+6VJFPbZMnn}RD(qw
z8qycPUtc>rjf9;rKg0R=6{88N!IBOR>Qh^rKDW0U2|HnaV#_6#pav`}?)lKtqK`hG
zk+2iyN48vI32H!CgF(Ibc=W;RH4=8h{J@s~`p7|tpcbqs?s@BW>s@oRk+2iyyEu1#
zqb}zk2th4a)s7B*VcRIAgq<+ovgPKA{=dI2$GT;$IiZA|aJ^w!b?nd=t?+wH;Lroc
zK^Q)E!g)oc-W#vbF%m%*D3}u2CIOK~?DIe_$Of4p4Wxo(kQAviZ{VgFR7{HOHHfrg
qT@K1XDJTI&ARpv_bdVCMOZWoh?J5vG=3l!20000<MNUMnLSTZk@8WO(

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__arrow.png b/interface/web/themes/default-304/icons/x16/bookmark__arrow.png
deleted file mode 100644
index 5cc6e5b23ff368a706d5314757f5cf8698e7c1af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006nNkl<ZILn2T
zO-NKx7>2)Fx-zLCLZMnz1W_5Z(1>xyDOyJm63w-daRzmo@rM~<!Vm<r7C}L6Mr>hN
zL}ve*(ZWI^!rK^1!9ZFjR@=%-OL=?0>u4H|U3fU>yyu?hzGrbo7CdpXgPbr7Ns_l@
zgp86gGHw_S(xKy6Dqr+GU@%BtFD=kRH__Y-9d$h~@N?2n66pnnq!Ud|n2AQA5?yO9
zeSG2h@&YHhg~moq*VbYt5}B81{y%|}+(ttKepgpxx~9gKXcNtKe>s7Z+(msora~e7
z3WsfpHqkseE0=Tv7rBR643iZVm<k4Mi8j&v4fp4+xRk&}?xU^_KLP>#EHAeu+C=lA
zS-GSW6p=3Qo)bPFzWe>QM4M>dvEAVc#O{de@@Lt5>7C@A8C)bNBHgH}!Z)uM6Q!lL
zM4M=Cao^ecDbB+dNAq8SoAiM9{9>B;T2f+5w29_dw&uH!h1&J2R(u@LvEbr}IVW(F
zN2sjCq}Jv^m1q;qi_2R2`J$y{d2d*r&S6~m0O)$x=~t%o8ph*=s6?CS{E1=gFKi$E
zc=kQu8v=?4{t`_BTTb>_a-LW4l5?b6q*t5h*duZvf5UFc4LywK1iLIn8x*t+<8T7d
zHTO*Y6;_fpB=@?=GbJo?l<W0m9a&3OlU3QCtBIXYfo#vUmstl-9cO0$O_^j9+0!cW
z;)qBY=Xt3=dmGtIHj<nSN2D$DP|HBZz8YWZ+=@SVnSxH{E4;4&0000<MNUMnLSTYf
C5*@Js

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark__exclamation.png
deleted file mode 100644
index 288af864ca69948ed69b65ec36eb9d42f0de5e76..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 677
zcmV;W0$TlvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007PNkl<ZILn2T
zT}YEr7{|{s2i*kS6a>+YH(?M_-9$BKBfRp?L5O2w6Q?;pa0ACe9IROoR8XMh3`0oR
z)U>&@k6Bs1`)aY4)@lpGnJgA;wUyTF>3QDD7O5Th@tpIV_x$)Dcn@PaqYK%EoZy^=
zkqGhzd5g>;^PC?-Y*god_5T_UY&=7zR~OJBJ6J40mDVc)HBNj;U~R!+WB|-&Sk~!)
zB($bJo5T-<^#xL75KJb>HaEj^OUsIc`u`J1ks)YngKv$EkZo!bC6t8vw7;G}iVTC%
z2ut<#@Kvi7C6t8v;h%E0mY@h3f!0=7)M#L-u1=It66(+3{_iWUCMZH~f?f}wtE=Hl
zO^ql?oG*odg}-}h;KpD%XCdTy`M&}gG75OlbX65()M`=k-JpX&dwwiE-<f*iko5XS
z_(p^gxdIvDgoXzAq*6h;vQm^#60el|qxVW8*^CV$zN23E4PGh?;kltdf?{M0@SdrP
z3izm0iV{j9Nci~Fg*;bk;Y?DYP(U))o}3!Uvp%x%d_)u!BjZq83yTyR50ZqEQ2${W
zHw9gLgjDP#;6DcoFE!x5RUq8&=kkf`D45{<PA(*&Bs6ywa{1jp-Z?v?OuPt{z^FqH
zp`Z+co`VVM-@b<N&mk)0EaF5TC80XTnB3XJ4@?ej5oW_jAUeHIOh7d{y&oRfHwm;)
zPhkVH8QIp)*keM=*fCshwO``BVRym%`0GN5zuF0z4+gOkVPSiGxQlm_K!WT*_TtJ@
z#@KP3@1~cnQ?tIyW)`?|iut=O%xASQueF1DdODc<>S-nzH0<IJ{UD=p-a`d=00000
LNkvXXu0mjfyYM-I

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__minus.png b/interface/web/themes/default-304/icons/x16/bookmark__minus.png
deleted file mode 100644
index e36870326885ba435457d29984221fb1372d629e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dKcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005iNkl<ZILn2T
z%PWLY7{=d^BqEn27A!1ml!Z0p`X^XeU?yfVF5?nvO3Bn@rEDo{<eF<_K{3fCiYO%|
z`2*bVy`JZrq0eOa>eqM9bI$pl_so1p#PSS-JkV?yat6-91-JxP;My<>!6e^Tq5Q|Q
zh~NmE{4U_4Dedo9zS;j4IMLVx2ayFuU|Rit{pjjaO4w&Eo0zcux4;Hw)aTRpjt>3k
z?EIE6|4(28v)bFMZ*6V*-rjCXSP65E|0S@2Iqm7umzEZN^>|DPD`9>XluIN*F_>4c
zSD)Q(eQ9bkC9H(`DaOB!_?w^@ENFMPKDu1`)X-o`SPApvpj;veO2CrhocDEg`rve$
z5>~?eFesN@unfld7g_`*U|CyR_0DeBdxyi6uoC9`7!P0`zm*BBBUV8vSW%qwrn*{h
zYidjhD`CEY@p;R_a6u_p)y77BX4zOs2`gc~h4E2*<(Rx54s%&Ij5RBiuoAYhbJ;X@
z9>V0O+FA{VxeQ{09Srb?5m{#?e6NU<JCIeNN<Vh$!{l)M!TTrCAQ@ziiv);Aqze6X
zkOopf5=a2?AQr@g)|t17oorArBC=B{Qjd0i=w|1F9FPSvKq^QCaiMilpAz#*seXk*
QR{#J207*qoM6N<$f;&3&4gdfE

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__pencil.png b/interface/web/themes/default-304/icons/x16/bookmark__pencil.png
deleted file mode 100644
index 55b42813cd13571048b76be7d4faff06477140cc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 627
zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006yNkl<ZI8S|&
zT}V@57{{Ndh%AcLkSHN94%W?J7tw`5>1N@@qPr~$v<>TG&V88<409-m5rtia1VvCc
zK_6<OSkf1*W)vEI!61T&y6UD{OiOwCKW97R1nLXF^Pcy4cz);q!lCEPo=?ofS6r?=
zfk1$!u5+1>%!D3&24BEe=Dpyi?t0cbjWR!x-d;)6*7o@Q{+bm8I&@1021Iu~n}VxE
zjg3`RgM~std_G_F{xz;&La-0qmi~TO?Ccbk=vnJ@nTVWDr`s@$p2D|NGBU*DmZT)8
z19zmaPZrwSWwE29EYZ3ta5x-vsG-7pG0hL{5(w(Ru%y%SH<6HqWYUyq60K{$EI8<?
zptC3GfF&6_$Jy6z&PaE+%txd0Cl)g$nk2_Onk&lbKf#$KnUYH>o>575utvVO9hLb=
z#FS`~_sn-cFxNw1UXh;Skp(Zo40wa)gB?6Qa=Kb1pOZ{vx6FmZqDjyjdy76Kw4A^L
z#s&9$cg!b4hYdkMk*+S$`YeVaq2&Y~Fd^}{{0aso9|}pnr9~u_60N@~$~9qG5Vr}u
zU{Y|;A5Bg2v$@%nXcDbYqi?$+wdtU>An<~F(%LF>_~LI2szj4$JyVpMR}9++t@Vg`
z%8p7jiM~H(ZqS4$mKwCy1vG=;JeYt_ljuH4v_G`cplz)No4~dkM9-8M(Gi@tfJ(3#
zIKT$59;^jxN^|BH^iU0U;ir1xCpwOIH*kTSzyRC9R^S91!Mf7is(&pUORLP=HTM7j
N002ovPDHLkV1hSuBOm|(

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__plus.png b/interface/web/themes/default-304/icons/x16/bookmark__plus.png
deleted file mode 100644
index 51978f1886356dbb3a0fc75596c18ed59f7b5ead..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 586
zcmV-Q0=4~#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006JNkl<ZILn2T
zO-NKx7>3_lj1h>LSyWJq7C|U2igr2U)S^Y3h=LZ%Og83djz8#tAxMU}GFlZ3=|X5>
z^hbYUv@ocM=w?t92vMX&iy$bqw3M&+J<bd&jvaXT&Uw#058pX(fdwN)O2`?{!zlSc
zK9bL5oP6=T{p7mpcsgG+?lX8p-YqZCp&QoSZK_&l1u;%ul9AkkGIG<px@@ks)g;kc
zIiB!?=PL_><d$`I+H7;P&9$^-CCdLN2$I{@(P4iZ8*R3!$w}0Sa_z4q2$DP2-flDX
z_4X%`a1wQ*d~{xpT!Ij}Yi(^d9go{gU7eGt6Xox@pSj|4f)Kf9$)x?NuD0JbHBO>V
zl)s&qBbT6@JTTsKvZ~6aVlgLCC(5ss=7sj1D+I1>1O|$MzM@5fax!QQ4K@*p*km;7
zB<e)D&wU<D5#QA%f-o5}-t$LAh5f9obP{!<{PM26@ZPiQfUCuR?0eEw(Z3-p2$P3a
zTWiy5n+GLPC(564AH78>e(a0m-%eX*?($*Jd$bTq)QRSgJ@3HD!)t*{g?{+!QCo^~
zT;vrZq=yUw!|FtJ2sjwkD<4_|TqsDPr@$AbV`Y|^yPRV+;nQNv0PsvCfD>GAB77;V
zCwu_p<9z<e)=wqI`YL_S{Y?R~o$ToaUK|5XalSkKXYV9C$TqSWM*{tb2VS%GrO&PU
Y2cyhdZs36wq5uE@07*qoM6N<$f=izgRsaA1

diff --git a/interface/web/themes/default-304/icons/x16/bookmark__small.png b/interface/web/themes/default-304/icons/x16/bookmark__small.png
deleted file mode 100644
index f3a92cbc8477fad5d88332e7d6ac1f061a02838c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 263
zcmV+i0r>ujP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002aNkl<ZILqDB
z%?bfw6vpv$?#p+%i`mU?X2WWBvvVcNiln4Qq(lk}EU>UquE0Vm^>_}=mKip(_;)&Q
z@BC_}MgYh+$!`G*RavtgJFp`=sb*NyrtN8gENh`wgH7Ah06Er17~)o~!jQ+F1laOn
zA{_()uAT=&Y~S<zEwEC}6X~K-!Nql9i0vDm@7{fbxoVL}55AAH<G>Kxm#T&M)m{P<
z)hNyoo6{#MiGVRLj96cFXbn_LL?kf~@j_k1nl(hqL?jjP2mit+-2un?dLU9a8~p$P
N002ovPDHLkV1mzpa18(e

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book.png b/interface/web/themes/default-304/icons/x16/bookmark_book.png
deleted file mode 100644
index cf55d2049bf20b453fd93ac9a1c567616c3c73da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 520
zcmV+j0{8uiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005cNkl<ZILnRG
z&uUXa6vy%J{JHj~MCisET-69AZ5Ba%0--K^gsuhk1%&Q=3K!`r6iPsRfFdq^0TBYh
zVlhY;262&u+T1hexX4XxHMY)jIP*K7GsCzTBjtJy)YIcvce#G`fR_OA!e+gDbo655
z@Q~_YK=7Ur0>058?Cr6-vO=Ec<XJ{*clX)+P)sQ;0$#V<?A&?4(}(w<C?Lz&A4cAF
zK3;DBbLSDT|EIt=n@#v`aDI-Ro#84K(7^Wg_M#}uGTyvDb_>D909D0QF%eV*FM_Gk
z>-82zTU%S8`hNkg3}`eO0QCEPR24M&WdR|jgla;If>ac^7*S1(Mx$8=?@1{^S}q78
zf@!u8SSb*ZMUjYHEwH3mQJ_VE#fT+k{!-4lQXp3elu+JwfaQYpTj2i^m=c_$Ew>2H
zVKx)Y6{WzF1d?15L=gcqo=i6w)arZ~ex_wVmI#)Q5K~GV<aKJb8n@Th7*;AAoSxDs
zyPH`lC`T9%h-QX!4j@xiTK8K_CKFVZYPHJd=H~3}%K%jcnFc0bu}@thuxe&i;HIh)
zy(iD}e||&nJvJWQ;JCXEj3bZ(>%d8;)2Z@S2G@S(>9;TC8TkeFK_GZ$&Kk%70000<
KMNUMnLSTYVw&^wi

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png
deleted file mode 100644
index 7d0f980a044234e1c3ea1370328381dad4fd9d5e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZILnQb
zPe@cj9LGQN-aK8mH6&1UL(yl(>SjwsL6;yf!dq9#L$FXCI}~{9)K%)xK_Rh7f{40>
zL_~y_4jLgYDE)yAyoeyXuDZRM-*j+&X_@sq4a0Xnzt8-JQCe$ibpr_P;DavyT?OC{
zfZnwkKAoPv-8nTys#wJLJbd5B%Vh9JMo8AzlSm{;1Od6Bq3b(`w6!({JR2KhAbpx^
z7rG&eAP5*=(Y%?Q-`jp`;36>oyMdR@W?|JqwTj!^L^U*k`1JMl#i1Ywcs}!4#Rj_p
zB7zga8G{&uXADk+LZJ|cdV708<o^Jw2FPSG04y#pA|fEx+YjJdYZ0+X6k($Xr8Od!
za=E<S!Sk@zg5BT1H^$&3hz(rLz!(#Uj4=lrI4ig)LZS$#HO>k<FQt^K8JL3%1iv<I
zANClmCEHl5rfBQwY4?MGs9MGQ!@vo?QjD2qe5G)1+rU~&#VRgeI!a5}-Ieam4!0aT
zzQ;ftW57A`KRPM4hJ0H2N?mgYh4p#>ir*G^pVnNxa`N!R)cj2+f>J8J&WC(HfA*ty
zhSt_rnwpv@l}ePtJ_gT+ER|vX*DUEs!pq5-S?!#o1_?xj+^HOuN(B)il}fQ(_`<`v
zB>*a0o3x+Hk?s$9a{tw=^1OQ*NIK_IK%<DDJ&!~p5qCO~u8Y@i7dEJLhP=KzvF=tE
z9&fxGeW8FOKpGeY`biHL|MrJ<nCaqBV^Y4)%}C+VEnxX4ZBQSoiE*;_00000NkvXX
Hu0mjfHFz6g

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png
deleted file mode 100644
index 656a504b94a8f896b2b02006715315d7db62641e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 666
zcmV;L0%iS)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ENkl<ZILnQb
z&r4KM6vsdBzWeme_#}Uzqcdvbm@q0aP!MfG1Y1P4Y$3FWgzO&>Y}LYL(5{89B9K5^
z^#g@kw1^4}S{RZQ6iQK~6pX{D@7{A;G!804o#o-&&-cUO9#3mcrLF@xd+ts*|E^`=
zCV<}4%-vsD7|+hk5UsA_D~0d-sC*uOVuECCEnyfE1_6bUk+I!J+FDx$%uY=)oIc65
zp&p212m+>mYM$L)+8@6)d={8KXrKlL24KU%_BO6u#!DnXeER$Qt3yE$@ZiNKuWGOt
zAR;&soH2+oC}VIUEH5uthx+>ZK;-`bUImcP=K)w*SwTcVtU3(fTWb-qNE~D17*A_N
zEX88+Z-P=-Yr!6F;2UFb5>yRb#lRRtZ}^Z?nWq%}iy&UrKpix2R&a5Q#4#?8aaKUe
zq=GjL4UW>pD-x=#u?DQ!4=|NPzp`x~a3ZACOS;-Kv@|5>Y-{IC_FYS)OGLVKh=CJ)
z&tuB8;Cmh(h7SFlo~~X-uFTS%?qKNHQrrC4q@Ev}+y~Ic7;ui!oh*;qPB6NYCD-tQ
zOmi)vx6a($98&&5PdZs|EQ7JxzXNTp<zATMM@Jv2REqVke%@w&)7jC;w_l4qc|6Yg
z_IuJt>ypNBDUR`!bFTWyM1(@2KomuY2-$`;@|}i6?MG_VI_EFkBB_hCHE#w%7!{1+
zv;vaOxmM>~y@;TcA`C-nYHG*@3-orCNvQ8cL5b4F4Wgh#6l{{p9O>EK;hG0D0cqei
zaGdnz)m^2l!>_a1){W%BTMo3@YOE`M{k+EFA9Gn6cr<m{V*mgE07*qoM6N<$f}kHa
ACjbBd

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_book_minus.png
deleted file mode 100644
index 2f736089709186bab85dfbdaa68b00be48f38226..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 576
zcmV-G0>Ax<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00069Nkl<ZILnRG
zJ!@1!6o>I=?#v~3!>TEKS*_xVVUrY#q!8=^v9MK}Sl9^a7Z73<tgKQBCI(p-q97KQ
zL5!7!g%*jh7zs*lkzzv>Tti;&%sCdhS+W`uryS1t&ySfi#yLm6?gHg-<<VIVUkzX!
z!0p*AznGo9*E=&qF-@^igteBaQo)Xm(cRTWk|ZQ?Om%eh&Tf+nA+!TtPEIm%W{BIv
z=OD`<j+t6@ysdriJbrWJGBEYGAQ~JTgf)e&Ep%f8Qz(E~1_lP&MR6SS>iv>w3-$(x
z2r7blk9beyJt{(@(P$U-_xFRy{{@&lpi-#-u(-I0h=7D>zW^ITKqMepM#wUZbBF|5
zt=7&7QA7v<!u|s5y+<W(3p5va@7qP*`-24<1kExe%TVXgAnd-BF(w!Ig9L)jZ`;ED
zg0LgFp3V{dBT&H_!=yifH3rok!LA|~MB@ujxVk*oA#mP%Q03NkFKMaF{OUKV`jg7@
zha5}4psHAFnP@gIo!(gcsPL&HAcR0YDN`zyIMvg`YN0@VWrfl7H8+PZ?j6RXz|gaL
z9jB@oV*p|ip?aap`uaK|La|t+udk1lh4Vak_W=cL6!ELsY#rbH@zv#mZdEM;M??e{
zMI=emG5c#b?stsx^u*J7mL6XNemfumP6FR+wOWxkK0Wj^Z#S3o9{&fbejjbGiL=lE
O0000<MNUMnLSTYKg#f_-

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png
deleted file mode 100644
index 20497977a0dac2f70d989b792ef739ee86d6aede..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 689
zcmV;i0#5yjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007bNkl<ZILnQZ
z%S)6|7>A#8zVEXc$+D|v5ROufN=R3t)kH-^8;dqZP;~bX2--=zRu+K^t>{8xL{QXb
zkf5lR8KfY{*oDa=oYINWynN@pr-kD%T2Sxqyu9c6J?}Zn_kHqp9;mSg+GG5?27p!o
zzo=Q$olIV+?&@N3I*q3_p68+CalDHcDP6RPNF+ie2xx3>J~wyCx7HQ_4>~&7TeX$5
zyK5l~AqeQq_&mGaKR<qI?>?Y&p@D8_Xn-FMrl)a}lc;DE#G}5xzAzL70S{jfse(Z<
zKtymNIAaiF(8l0I7#J8R4As@ufyn;>R2~qI#{n1|97IGwtOhv!J~<EIS!)roNEl+n
z5as)bSaP}CY=YKUYr%@T|F)g#(IIp(z~mF>3|#(fjKLTKfH8)h+0=^dqeG7@B=kZ9
zX9X9ANEqV65N8EzE!J9;QcV3EVTt!+RjjqODFc`MzZrP>*Y==b08kP1F*+RO@$*|7
z_t(~5X?8C8r-2hZrRXrL@RY*2S%c;DvcbDgN6San?KqNpGc|SFLQk=QZ;S!wI5ksE
zy0V6MnGZC&F;>t^Ou9IJIKj1B&nREBKKuFCw!Wv)>3P54TWh%+siCs6l8W+jGSMin
z#$U3BdmL{{&~`mZX6YG*M!#fP7URiy8s9mGQVJjt5gIo)GBGiMh)@yDvSsBfP8`}z
z+l?fj{G-@l3z&}{6T`SvHyS8)&aHONm5B&iYa)>dB_$=SoP0sci91}q*~7QelgyOu
zLTim1&y~1T_iCV20n33ZpbgkW)v<J8sjv5T989bo>mP}KOJ~>Q3jLXp6yJL;17Cjw
X(hEx83q>`%00000NkvXXu0mjfY{fiE

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_book_plus.png
deleted file mode 100644
index d1eae3554b9cb70fc1b7b54227504180154b8b1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 603
zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006aNkl<ZILnRG
z%}bO~6vy%JeeQkm8JWa_YN$mzfs6_b<*rtS1+{1s1g?W>(V|V@F6d7PS|}|BL4t@@
zEhMA}q)oMuV!*JXSr{=orQ=Kb+<Q(7$H6JH&hm23?|!&1#yLl$ZUFgk;eI#&t}<{3
z!0lMfKb)Mr-8C^mwo<`H5!PCwLIFE6LVH^qNs^GnF~#BG>)S&vgwPClG&;)AkpZp^
z9)~oAIA*Nsm@2(%-Tvp$IbiH}LDb*h4~q&L8|eBvCX)fN^!4>Mo8ma;@${T&3U&sF
z2r7blk9beyJt{)ETy8e?_V$9v{{@&vK%r0oV0LyE5djI&ZUHugfJi{nl#r$v=MV|h
z>-DW2qKFUzgxv+!dyh)o6lg=>y>B*o@AnpH5HwAZG)0|5gRp&5#+Zh{?<Ejy<FqZb
z2wv|WW7$^VtUbZE9N0CYKLjdRV;J=ZvBsdfB?uu<i#~Gc{Au*S*G@h45-q-J5jgKX
zsB(3)i%KrfO!X5*{m!(z$6_=Gsj?K7U{fHIzCn505)eXQJjs*G<v85gNi~yUe14vV
zbc*8TV*o7p1qO$U9l*egC(m)JiZKQt77>aki>$7$A|hn7S$cYUSlY-lGckt(N3Udg
z|KLlVjvpT|TY`2~%>w&G1Q$glNz(H6&u|NXrz<z9g&M4R!`<bJz={JB;1KY+R4Qe8
p<|}{w!~-kclxyu&{Y+!V{{ms@C`12=bDjVI002ovPDHLkV1maZ5g-5n

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document.png b/interface/web/themes/default-304/icons/x16/bookmark_document.png
deleted file mode 100644
index fa8cc9b59320b9c92898e9690976798bbdb607d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 599
zcmV-d0;v6oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006WNkl<ZILnQb
zv1?O79LGPuyGv^eDQF?KW_GAb!AJWK)D$|TQ-{*gLFg<9ZlU-Gh+B%Y&<vd#I*Lvm
z6p>P$q_ohc+95)dfbZpZ?_6Gz7bg#ncL%@U=RV)#ozxl)07L|UXPcWlzyn6(``bpN
zHrS{tUX>6604`U!4$Qa9<?5sD?TCIK3I$H;^)J9>R`VYCk?X;D@A2NFs`p-OZ0z1y
zUXF-kLazsL%uEzTPuJFVR~8m_RrLvQe;kl0c~wFN3*M7v-$a#8r$e{f<<-_!-K(zT
zA+E1FSc`~|hComq%@8og&~CSRcX-Id+1dJ=y}jqaYXGPH{s;g=K&pyl@Cj>)qKGt2
zDHe--zPR`^G8h3cBKR~VWRZ+2DKJ$i0FY#L`5u=f$yfxRGYG1rAu#FO*da-h$jBfM
zfT6(vplON~8A6;f^z(p!4KxI-2or?@Hj8AkpKQ`OthHkXCXQpWDF#sQu_AmsKOX^%
z!H8f*a3aKUEQ7u=1AtDF@bTn?x%G8E92^XDV+>?AV|VcL^pxA>GJqHnZjyw@J3HL1
zRG3;^<ZG=qjDRr+5XZ3q{Jy-zecIn=v09~ADhWXK=!gJ>5SU+GWv)^o%^uF+(e=7r
z>0DoP+-zci>EmXzbk%CPL4grLM6kwSti@W3bB=;@SYx<qwcK&DSpudVa0@8?Iy<|W
lSz3C@e~h%(y8%jo{souEGquxlscHZK002ovPDHLkV1jSR51{}6

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png
deleted file mode 100644
index 082225822377563482650fddb35b4759ed381b90..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILm#K
z%}Z556u^Ho?>$AuLIo>dE>bcp6}n+T6qH)HPzWVNY11NT6(R*K0+IfJ3JR1m-1PBQ
zEevTD2~tEKM43>8`Bmt`2lkY__s+~|bM-x2bl@;EaL(`i4vgwgr2tS$0dTRaYXCSv
zHm2^SQvDkbV+__9L<E3%PGLK+E1gWX)m^&e5r&XRFgZB*0r(l!ya2xE^q{S^SZguH
zR9x-s94c*W^zeOTZ4G>%ZJy^{Xl)&8+P{Cu7}E^w-3o}5tT9Lg6KiqN85lz*lVNpr
zl^fmNgVva)Tu3}LX5+4uQaBOBm~4umwI-cT^Kfj8gJordx1T)e18xGuO&DeYunBO+
zpdxr)EQaTKIOixXF6Q0B!g|&q3qUJ{bq<ME(#GI`f<yv<Agasli3dTjWd)mKAjaTC
z$dAXj3<-ijWesuxuxYRXFwPNEY7-LInlKmeuYnOErWARJ1hHr(9euKqkCq=Re^}11
zJ7TT78~Q%l_kE&N8Zg!pQ;ILMvsr-FXr=hNw9e7SGSaa<r<U{U&M)bGTMYm*LBROr
zBs<&Nc{w^ts=kNxqd5dvn3+KmKIhIJsC@A7bFVl@d~tf3l4KG<X{Gob1RNR|U`I;}
z1q}_%|Ju!o<{G|bpwg=$1YRw}nU4CyPe&$t6+lB<8^z`2y%WR3H$?;iL<A?owbT@!
z=2k$2we@vebu|_BRlL4G_Fidy3!o4vuWD_*A~|856YHFW&Piac_}0qt>(8ZbTx5IC
z@O<IPzRN(N0!o33qT1SHx~Qmx|3pxBx<m4JCe`AbXa3vAcYt4i0m4UdK&C%Uz5oCK
M07*qoM6N<$f{q0*bpQYW

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png
deleted file mode 100644
index 9d34e49763105f1dbf7f0401d8a67aaa1af279e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 719
zcmV;=0x<oFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007(Nkl<ZILlp=
zPiRzE6vlt&&U;BS|Kb=mnm}tRf!G!-4}|Kbpb$jUb|FQxiwlcu#YI~|N|#xb?h?A`
zrf3@6MR8@-O%@SB8Ep$?ifGdi;si4@#&_Sj@4D!l%%lfC?!EAx-~G<w$kn+y07L|U
z^JmU{2Yf)Mp8hm9ceVXcRh%l`djNti<7dFW`tb0?M;9(cBngBe)tQ-xz(1Mi4)9l3
z55_r%a}HG<x_tWd?9Ri7BjOm}YC#-Rj-u$?i4(KO4j!CU)#JeEc0d-%sp2!3caAhW
zttyR1gJ!eI_mh(|PW4zfBuG@-cM%a%@A0Y~d5<xMdcDpsw{G#_z`)Fp*RNj$egFtG
zNjd=70;H-)2Jgw`h@yxzO(~U1Jb3ZqO(#JIfDyr^DLxy?sFDJGVF-ZDeBC{PwRYPG
zt}B68CH0=(AmGjFHT30e+`iAT*2>nWiM3=Bfvp5>fTk(NTinJXBV%WY>-RBkqo>_x
zthHnk5kb8tCqhpclFLTgtp7&7G)P}>NU^w^k^F<PAgvRmbxa(`WD*0YbL2#L^6c4v
z0340go9w8(%jDFrl*@yRmL46N8l4WNMyIzY0BBgty=s-h_&9f~Rhqlj2y)<)Rp#gC
zdHt$JrN6RQ9iJu&W~El^BoJZ4S`J*f!uyvlG4ky<Y`(WjUn$S>`Vu!6F0&T@L3vOA
zZdJZa62vUsxWP)TMyuHrfQiLLhQ`M+A{0I@v-f0#^S{$$);KjWO+IK)DQ_0ScZ!Ep
z`NRPE#|sO4{#{-U+FNNv5D}jL`7{0Hb^6Q-#jr)|<<}I$7R9j1;Bfze*z%PCJAt9X
z*w|51C{(%^<=m0l7yAcV!~Cyu;<Y!IH2!|h(p#f5c~hbc`C<S7002ovPDHLkV1kIt
BThagk

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_document_minus.png
deleted file mode 100644
index 548690a98fb79028e326db926ec0bc319866b117..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 627
zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006yNkl<ZILnQa
z&r4KM6o9|`-WyF}gc7D7;zkg%ROq4qfVmiGT)7Ze(IQZA5uwm-kp2K^Hxe!q1ZOQs
zt1xJpS}=r2h=xUOgq#`iy*c-u7W14RtvYbI_rf{f`3@YDFBSnX#sKhqW@Z_9Kr_C*
zEf(|F9}&TdpsD}_Es0aW-SfV_-0<97NUa8`6s1C85BQnnd;q?;)ZkfbvDP9Y_m-xo
zS8t7vheQ!ttwI#h6NcflY<6{GXlPYL9s`5zfJDiPpb1Q^#U*zvLb+U~QmOEIcD7(e
zCR!muP2~D*j4?P>RHS)S@jQ?7^K&+~w|UsxTX?g%`4U(G2&7hP0-ynKBA5i;;roPP
zh;xo~I?d<P)2pUI6M$z7);Tm8$rHf=U8xiRagx_s6U1@cHiB(2P!XIeok7snB#vX#
zG-w4t!{8bq&fy!=fCQdLtrhUEfvDmeLq{rwpN!-sOV$|#_`csTxWBVQ5Jgb~-~nPS
zzA=0~IUyVztOGm`oU3;<hA4{6#Ks1<j*r_70LpR9$5M$qQ&a40Z2?ePSm4jzUSrTF
zhlfjDmC93v-Qf4p5jXq#>ITMe5yw1QUgq}XBweGUe97mD_xH(-j5OD8c(@<vf49C~
z?>d^xk<MgZd|F#uQB@RB)%s4T@_v4vU)Kh}kAs8L&dbZQ0CoYofy_WQyQnQ;om1<a
z)|}JWT8*sLD-pf2RtK`#MIZxo2fz&=b9Q`u(K9yoivI{#tzIMm`3sX3Tor+)Ac+6~
N002ovPDHLkV1ln58=C+C

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png
deleted file mode 100644
index 63c0709f31eded01676aceed1ee74e1aca5591a6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 727
zcmV;|0x127P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007>Nkl<ZILl>{
zT}YEr9LCRkYjm@VF2tK6#UO<c5lm%%Fz47t;!Q+@9Bgx%^Mh%riBr5#0&nsnK^IC$
zS}|%(MS`>}36fCrt8z4LNrFhaIo;RO`M>TRiw^vF_MZKpA7}3l>lhnjgl&9W#48A$
zoTmwNO5YLpMn_r8$OyYTJS@Tz1R9QUIVEKQ-Q7S(2Po;8_G4W9Pe2<nO#Vm&-tuyw
zy&X}jRZNdo3(vs;-YzeLW;m(;2<Rb($rlV_ix;A;tq3<Xi1|&W!WXX>6Z7++MRT0g
zxWH<+OH}zoA^gy25NU2ksJ2$juVrOe-Pyromn%-TPS?O;1gjqykT4%{fm^LcxUmr@
zX0w<i_`bU<O6Vl?b7+=2Ls~6kHU0e(=HqZ!JaWil!I8lr<~kQ_@9)PYB%s;3v^4fn
z5EwJ`^+{Bp@Rvx1V0ATom6c+yDwWthJd8`W`R5*k;l5iC93KQh&TjSeNYn(mV5PJa
zCq^R<bUHDY6bkJ5d~wO*<|gX2S|@Bayby$0cB89H;&vz+#Ud|+O(q=c^<sW5DZ#$q
zFG}3*DLipF5C{aINKWp1#F&Crw6#gpMz~<1xEQFaisz@IBK+Y6k7pXQP9*}rT5zSH
zz$KH(G6xx7nx-ZR3khcO^D&c`hxOiGyx~dw+<J|7&N8w5%r3{xI?aQO!a`=v&1EdR
zqJk+b7NU+W%FCP_Y)?%g$o~<~<RqNeE@AGK>a;v4$Hw|JXqGzE6<4NO&93V8^(2V$
zQ_xAm{DtoQUc-CWY5Dn(9BV5Rpvy+H)R9&a=iCLQ(u#ydlKBZ6;M;)1UWCn!Y0y16
z=3<(qPOQshoXcm@(~W1dvhF0p_i<g7w3JbB{$b)i%~FTDe*xY$PnVCZQ@Q{E002ov
JPDHLkV1kGvR__1+

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_document_plus.png
deleted file mode 100644
index 479c7445ffb7827108fccb649d86cb11fb0e4d32..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 660
zcmV;F0&D$=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00078Nkl<ZILm#K
z&r4KM6vsdJ&6`ST1huAga1*#NL+GVJ5E16Wg|^6r*set&twf4~h(Y=Tq(z`a%OW>z
z0+&`G6rnbmMn#yCg@z6Iqx8Kw_nsC$ov}p+4)<R8p3nIn?lIYs5de%a09@_v9srJ0
zj1Lb+MzT8(5y6U}ssQ*U!cL$jpUHHb=<N+C6d;*oW@u;%_#SJ<fG;IAc-C61wTMXV
zjjpcYs+N|3Fhqa<hA^Ze2!bo^?Zd4N4Z|XG0jS>#h%H$WG={0QxcH1jSYKafV`GE6
zJv~EKq_q^{7esdM#u$TBMMa9KisyOc^LZYPj?!3NJ#_EMlYU?jz?VXy2!LIH6T!sr
zeTf7?5a666l}a(OxVTkxPz2x^gLMv#NAg5)Kv^;gKosjrYy2pR_KaXl9H<CRmHocI
zr%4n=rs$v)0J{!$0OA}8V|F3F=TRsH{OdqeNf^VvWRgTYk{2)8?T=Ze*Jj8c{&V@z
zX3c$(2rmpn;xry0){-!W*@cB7!1M5o;oYzIG`F1MXW~a)?%+7nsaJa)0IWw5FK1>r
z+S$pAXU_oWdvlYw`DqNws$GT9;e0!RGU+eP%~6@j02t30)}n}$0|OjsYon~GiCi{I
zZYf9QxkCV~$O>mJo~{Gxo<AMi?%LGRK`Nc@8-Mt4P*qVtRkwFSm1|@DOfBcOzwkVK
ze*9@M^0$^TOahbx>0|Bf*R>?9b84N_f^!;KtD&_TJUFYhUmMlGQ}qo<1LZz&07x&-
u&#zT9H{aqvv01-x$-VxQ;isF80rD5;u5lA}z!R+i0000<MNUMnLSTZaDlKgQ

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder.png b/interface/web/themes/default-304/icons/x16/bookmark_folder.png
deleted file mode 100644
index bd24879d63194be0b3aca530ffb8ba125ad9bdd7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 601
zcmV-f0;c_mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006YNkl<ZILnQY
zJ!q6c5Qd-K@6MQjDDj6FF+>oNkV*o95VY4yOGPk2L~I0$G*Ltpt<#90rIJcg1ueAD
z&L#no6d`(`paHS)K<{Vgowd00?hGj$cp2W^nP+DwtS>|WLI8k)>-i2aMmN@eFNE7{
ziJV)x)N^(L7||il9lm;ZoRpwk=F6j7AAtIn{?EWOfKu)fM~_`zy7&Fn186kJwHl$n
zpPeTr#}8kcyWeRo3f7;Tz4_Oc+&fnhOGr+ZaEU0je6!Ih3gt5H#125Y3vda!$YveM
zTd)owMwEL2JriUz%rn^xHzTyYn{|sqK)yYoa2cl71TrI9%exXi1mqMQfT;&yU4Xa0
zU=nIi5Q~Clt&WMpGkrPJi005%;WCo^A3&1hmLO+RGqJhxkv(G<PkQER2BHLQ6*(nL
zP7wk-%4LcWFgczQxbtn}6MKh;7&-l9N@7HU-U&)>Mv_s4!27kg6d{mg$P#XbBuYi3
zTB~7B$$aY$WK<i*>vu2Nf9g1|-@F9CWw;EpR{mLU?ExUJR=@-%N?D0&N(|3VbMX8m
z!?V*=Q^GBgm5@YM;!0&7rq<(e?y0j<3Dhn0xtyuTGYn3Q;u3=sqf9-X!6jTyv)RPu
z{P^*kx`n=#N+1FQ^NTw0^B22f2$W0ZZ52bHTCEa8;KuUq=Py=SnqSmF00x2K>t~8<
nM~67Vf5gTnm4#(J1it<OOY(fqAlVVa00000NkvXXu0mjfFLw(8

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png
deleted file mode 100644
index ca8fcc7fd111164413287251e6c7e96023929981..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmV;~0w(>5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007@Nkl<ZILnQV
zT}V@57{_1FE`lz)=pu@`2<jrjj0#k+3?V5I1TT!jS*SQa@?(Cma5ikVIWaXqmbFsU
z3kgxHK_z4mA?4TD(wU~yWu_^k%&(cc>A&;5dCI_x4*bsVea`d$zlV)f2#j!4{$|R@
zM=R321+BCTu9-HSt(~!mmIoR?F+W2;V_PnW7RjAB;A4kQ2ju62Of!8a!i-&$rYRuQ
zXmtiuIpzF<VX?eP9^7WQA_4)81{*m!+__34F4gpMPHUPG-8zQy2|z4cj_Kda+0Y$9
zLWB7hOo#hpL#>84Gm|^A&W@sSAkGe4wEZP#7&w&MVPOMhf<*rMY!fEKPGMc8f+sDF
zJ0+$7p|{MOpu8poG>jqA3hYgJZrPXGCTD#mf`r!VYQ*^YlkjF`VKq6Ko94Btdd`{a
zjqrUV{yEn8b=Q?9xp)a<)?z_Iw>I5?(R0V)Nl(XeLIO9<D-#bnirY2tPp?6iGR&No
z9mTTMa>jZLf`nn^OD#Tz_+l+31xvB9+%&tL_c%X4KfsdH1j=?53OhRW0%PyQ*Cxfw
z<0jaHk78A!z(Pz6H_eM9m2i($W5ID3qc2q$F<*Tv<};|rItm1dQn$khThI}B6BDr#
z7spNW{D)G|Zn!NQKL*OM;_-m;)MKx23KA8IL*?iRJPafy{o~obBG7K|nUdSJumH+a
zkF{$A3FG`g30|Ez$mvsF_;dbd)q!^XPgA)aE*B_IJyt9iSeu%2f3DAf$G-b9SS5$6
zC!d>UI@8Y9n#>*2y#dNok3ag$GWJ9ztDCjzG1GZtTWHt)D4yHz#S$n_J$iPE?5V#d
zYnihZ;(M=lTWHsAisGiMB2*T!*=4&$d^5sj)m8Dbw*P^$)S>P#l=)6WyYfn300000
LNkvXXu0mjf`CwJ^

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png
deleted file mode 100644
index 4c87cd3ea355dbcf5da0ef85f6d8ab5319de501c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 754
zcmV<O0uB9%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008HNkl<ZILnQY
zTSydP6vw}r^-1U@uor#Es8ErjtWbi;EG#5@$%jZOHLs<qndN2MHoTOnWiF+pUCgpr
ztz=Ch1&cCqO>JE-yRM?7X}hGk-te;eZ_eb1fe(G~o8Nclod01M)|<~W!gTL1KR8Y)
zpk9NL-hb6_X9d(`s-+xTv*5Hq@^>drkMwjvp#YicUKKC@R%zEdZGJFC7V0yr3yi{J
zg;dN`!Q$@;$mLj0OcYJ^_&_Q~4B@cNs0E)xM+yI|r+{Y!>$$^A$YHI(sNX&;r=-9Z
zA1`|J_+FSAeK2LtML<9RtRtDwzTjIwt2sLX#yazO3B}U*D-0j=z*15Y7Gq*W_l9go
zzxD*I!)aiQVbl<bHjVSphnJjBL%Fa(m%~daZI<U4^xX|xLIUQaq6EjI<(dPA3}NWe
z`{G^oW$1MWp=<J*tuNyW-<NV6Ys=;((icXbqVModEXKxSHY^O5D<{!h=!8MzA@p~7
zh+jbN@7jZp6&spr9&uhwo5f3H%?*{n;O&lu=x9s_2ctF96@3lcU^cnI-0Omwv1HMN
zvB}9?Rm2suFB!Z<_UvF0^atE9A0Cd$pdd6RyFz`{9-4>F&=hYGsZ=>aUEnZTc8d*^
z-exNH=>{*6J7ZFzeZLEA5fPXR2@y@TwJR6YGuB?h@6J5TEiQuQt1^V2*l?Yf$e-%D
z3$5o?ATshFkLzxNdfnA=qAin?pn1x%Iyo<)vUcX6e%EFZUEI;t`>(ciP_N_d1<@vp
z1vF1NmL15m+7yw(30)RmyE~%0AP^R<LNwKMr(SzylxXkfWzan3#FKGK#@-~!9*?(W
z;Ad0Xx=^pVJXG|KnrYBH<>=T8Y<hBDRx#0@iLn;tx=^pKC_psLh98mnuVmRq0r!i3
kvik+0vfBTFW+_A2KmSNX-WGx{bN~PV07*qoM6N<$f_k}YL;wH)

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png
deleted file mode 100644
index 2ec8edb67d925b4aeed37387a4b0b8ac587d0c16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 656
zcmV;B0&o3^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00074Nkl<ZILnQY
zL5R(J6vscm|NnmtQ=)l@E7MgkNu*v%O%ryCouwB=LKeirMlZd*SkDH<#za=K62&aA
zvX~i9C|s_nG4&E|xOeXFe9zC~UhXx$g;U>tozw4p&i9<~d?W)P1OVtilKuwP(2b{G
zN5V;F#pGc}K+#kC6ByKTcC0vfYArEBsl?m!e?118v-;lvR{)CCsiZ_@)xPWh{CDRJ
z%*>D)4Z^&6%>85I+UbW2PJfuF^4;p^T6IcrG{Jb`{)3uf5y?psE|Ez{&YSTUY+paz
zoxg6V43sa8j#4Of0WKjI$?S*ZqHleLOaI>Q7zliP{c5W5k#_}*7wU14%rH+RGu({O
z$+w=_-ThQ5@nm$@#j$hgWc_8L7m&LQQ`>>e$gG{aV%L5akdtpY5O{VQ3R4fjx&ZI2
zU=lKG_vSgRMiUdcC;BQ|!c1lk9px?~%6|exIc^bBBDNya)t4+>vul$l4kjRzprbs+
zh{?%AU{0w-9s(xEV+42JRbTO2c`1Y2E)GcyO3>?|a5JKeJOmy+y+<AbQHCtyW=NvQ
zGwO{7<`m|$Zy=*SV~jnx#p2DY8M}K60GHu1%-Zj#X8R5R*<=k&V4_Hh)MKQ)cbH{6
zH&Wg^Og%>2B1sWRBt`bu7GY`+&yHVqCTfAEg+7-vbYTwz8!EWOz=jG#7xv&1E~nLM
z;d0);|4P$B-$X5t0sSYgYRRWB%+ErgRFwW#SqRkYb+QmRc4NV{o0D8WaaH{R7y!yg
qw&#a_U&=~;A*$2VMsDaVF!c>1v5<Hkc*zz30000<MNUMnLSTXkA1_4!

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png
deleted file mode 100644
index d45d29cada2234d2bcf578a3a527b6696cb21c39..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 727
zcmV;|0x127P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007>Nkl<ZILnQY
zUr1A77{<SIb`f?X3@WfLBBDga(m;$L5=s-vyDlO{RQ#V#O$KUXE~bV|%QRC-w2P2P
zr=!r&Btq1*P^RXZGqb<O(xpqCy6Mw-KRsdKMIZdmbKdhlzwhF($x4wCw!2$=69k>a
zlO5>f9bvBUVh#TOr>6y>tzQt%u^ks&mB{~mNEm}&4`{WZq?x|U^yv2)>MtEJp{NKZ
zL3qWilDthJmQAonhXNW6HuLg$^4V$RI6ju(X=^cDE*HXmd@33l3ul(wqKpQMEtri8
z!Dc}LJUKZ$`8?N*`AIDX+JoWxo{zYQ13gNmGVlSD&Ul3=qup>k#@EPG*iftC&dlUV
z^G}Ng{p~?qZmSPKhfZwDiS}a8BLv3G22n=mu|L90L@+$LxmZg}<7tUKhJNEoE*oq8
zF#Wa=)RjFpTqers*JmGM>ih|~v$C*~l!SRzEPAxwTk?Hh*!pro9qP&+8!8oLN>{%$
z;C)yC*3;9m6d#Yij1XYSiq@Lru=c9p`c#jl={ivNb&0rVpjf(~UwUj)wlY(Pv9o?y
zOHPI}HWtz^f+5lyqg~lp{!jy_?H;DO)R;8I^+|mdd93%QC{w;{tH#I~UwBedu$qv-
zljg;D<)EFl^E!TwS76oc2KC8fFN;K(%HNhd7z#ZKq^ACp4)ZP0ZsJ)sPrK6z>XXO1
zHKI)Q;<y1Xf(~=c*%$x5&kgHAyV3S*JZ*M6s81d%ixF980jGAsTnb~rK}=M|z&@nq
zNi)6EZlpDhXV~B-s81e0#a9%pO|58j3>V|az>Qs@-C%Pf&%ll)P@g<HdnNWaWhhz}
zMoKXMMz<@p>#n=Zle)<l6w%u*Q%VG=q7*e%iHgqufx6_7`v<OVKDXqw;k^I=002ov
JPDHLkV1k$FTU`JE

diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png
deleted file mode 100644
index 45dc2e8921f90a9841b84dc486d4d02cb3036691..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 710
zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007wNkl<ZILnQY
zPl%Oe6vlt=_kDN9nf~ca<#@GW0*w@HF%B4mR3x})a?>IrX`zKqZ3bMp5s63)+6_?@
zMw<dDNNF)Ni&SbCbVrGpg^b-Oa1?c5E{${V_nzmxE$+p+MvD$S91fiGJI^`c>U0J`
z2msJOmEHq(uom-or^CAd+cpk<2J8lEq;!-Or|4=t2n=g8uRJmN{!U_qN`=2ZJ^35Z
z1lZWp#DSOJ+<b24i-9F?4;861of0EYy><T7tsg#sR*ST{O6coj-RPd3r=Hn#y0-KO
zTYzOP)6-HfA^U|yt#H5RAj2Y(lO$XslaQR+;x!(AVJiT)?KaydUaW41>ZNlRDU{X#
zE+H4m?4IOe^noqZX0HNJ?%TkvZ?0UwNmwLME7av6nPHwtX1E!lQ-8esRREs-?n9Qe
zL}+^GDYCJ$2y_E-mtkr<kQte^YgYtdv@*opmwz(&cX@MHUt;CKg2L1Vur+{pPB00X
z0r1iO*N_tPU%x%;iQZI}t;`%c%3Vg3-v@|t+#;kzEF(7-uCac{8_#)SG69(c9px!T
zOimsGJ(UW12$&p?5!_i^_?^M(5W_EhJ}xmVLAQg#&4@Dc5cqZeC-M-8GGq}qLlQ-v
z(O6x@oWh)c{Xj;eWnB1qmdBodnhQV90^l-ShFLo=H=CHq0kX?=FoB68Dbk3M>fya?
zdVLSo!+UAOh+8BnB8jBPk@};U+RL-!UpaI2K+{66%Naj&h=H*YTw-8sgz+<na0!=F
zmL)Fd&Yin7E%eUS0~yeN;;bHDUg4oE1S&=4Kb3_*qtPG>fnzg|eEa=n&Yw7|{s0UB
s)v1a6ovlMW$^VFj8`P&~^a*hNA3&p|3c<a%9{>OV07*qoM6N<$f@)z!ng9R*

diff --git a/interface/web/themes/default-304/icons/x16/books.png b/interface/web/themes/default-304/icons/x16/books.png
deleted file mode 100644
index d7d6eac82d857fb8d0291973006c0efd02281f08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 498
zcmV<O0S*3%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005GNkl<ZILn2T
zJ!=#}7=WMI%;auQCD9aifgIj#afQahXpv3?@efFTfZ8d7g_Zw6Y=pz=v{I1t0SgPk
zSP2%1$06b+7N&6p<+3+l7I!=B?Iz@fDQ1}Wd7qhgMo1|+BJKfAd-M4U$HxxvWG36K
zJs|q@450aXYwJ;cex61gbEeS<<8&Mo*XyiqY}^Hy0r+z*?3MfQ@oDo-w+ol=0EfWu
zYWc(KH-Hzis0^&I)P`#hukOUlh+i4rIRMTtEwH|N0RW{GZ$At~(V(QfUQxdFxXbRY
z1|Ufiuyz8l)&iWUyq_(z)^0Nx3^2xkvr*9?>U28DOBc~vSCW-deE$BPG);-3XaX>1
z1~6x>#bz1(e!l`pk_2Z=fNQP6mH<;KLI_%|R!Gj3oiUTjFg4IK0GR`#C?ZYM0LYb{
z(X$4nBS@_^6gLz?YaI-{_qoB`kp@Ar5Yt;nDFuKK0zdkv7;XlDI?3SYw;z9AZf}1L
zi{pbKfA^XJkQ)TW{CS7D`@;UK+ocALr1yRiIAyIx3PG(_tF%!FfzQSc7?od{1Qvi{
ouh(1To!dM1^NtUOz}Yh3Kky>;^V=TrQ~&?~07*qoM6N<$f}VxnR{#J2

diff --git a/interface/web/themes/default-304/icons/x16/books__arrow.png b/interface/web/themes/default-304/icons/x16/books__arrow.png
deleted file mode 100644
index 219ae0bf37a37d4a27737c6edf893a51d0968192..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 604
zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006bNkl<ZILn2T
z%}Z2K7>A#8=id2n)G{eS{K#R(Tgh0q$O>jBfrzwfBN4Qzc0~};sy`qQ34$St7PT;l
zprsHI(U%JeTsZ1PK}Kd|O=vmSbIv_2^j>D1q!-@BS^S>&d0#lfwr&1V7l4!=yw%0_
zH3M9)O8fnnuqMX<QsWa7SK`qqb%_KGb#-CaClVy$ar#C^&I42d%&rXj$VGTFntGVe
z!{Kv48TeT{zC3UOxNTP|16?$C!?DXpXA&KVB@g5K0JJpkAlH`$z;PTNy)24KgDuLr
z8s(vDc?tyyfa|)T^#(v|4e(#(&t3=p-Q5(6MU+zDYpc@0>gnmhK6DT%Wlh*|9Nv9=
zPN`JFvaAh&QdNM6)*9`3%+1Z!09@C_S1N={DM4=mY*G<IkjZ4iaG>lfwJ{ks4P+I-
z4gi*AQ7V-}K%nd^$=65|USkWwFNZ5w0YFMwrMUI&E5+)%;nYwki{%J=(&@GqcVDeR
zsJK~Qbdpa?ibglf`$B;iZ*5Kvr}?t5*cokTJRJZWDJ4`MDL77hJA=nNm|uZa1rm6@
z48v!0^^fm7yBY!l17l2;L1}uHdsDM4|M<1~N2w3lf&SjsY>NA%Po|Bxa?>)#>@>zC
zwblqBh{a+!juUpawVqtMiSLuIrXs#EzxSqiIyyeJw&vY1hPwjj1oA*HZD$s?{k-en
q=IzXZsMx(fErb}0C6f>05yf9h`VBSPe^$2u0000<MNUMnLSTZRIS=mu

diff --git a/interface/web/themes/default-304/icons/x16/books__exclamation.png b/interface/web/themes/default-304/icons/x16/books__exclamation.png
deleted file mode 100644
index f78c16ee2c778feadba797518665180ada31c10c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006>Nkl<ZILn2R
z%S%*Y6u^J?^WK@clRDO**(jr<GY&Xp*-N9WMG=&3TjW9_qTCgMgsc95Ald{&EnD<3
zXj6oX%pj169<*?>y9hLb%E#m*=XSquZVQ|1jAL}*z}cMN`JHn#UDw$l27nfI{AP@Q
z#{_V-q&wer3GwO%K+C<6k->n^N6<8>3I@HbG)>GvfX=?Y3jiemcS{1b?;?y}Z@HgN
z!>;o{4wx?=pF4UCxTO~>12MvFu>W%Rgc(KqX5;4b0BjA1=;@3DU>F7uUs_tR!8+xh
zGUeW(G?|P8Kr)#GrB(q-DS-bff3c%<wY6bc7E(&cD^YA9QmGXB&K)?8Q`T%42Jb$P
zk<DfiLaYL$ECEy~rBJrb<m6--Ael^Zs9}`DmACmMck{#P2el6Hmx`uoBoYa)*|IG1
za+y>(!@&dRSQ)#^_utDPof3dv00<$-X0skZ2*GCgoc4GtwV?p9hDN?jje9GI0>E(`
zZ~sE=I1WO~Q_nLxk||D~c|bhcOhk;LyS9#W)&Nq<)#Ct#T1rX8|DO69ol0Y#;o)Jh
zr>LuP*b~Xrx|4T2fU%K*bR3#|FKCE__&WcZCyxi2u|HB>y(mw#zX=+-=~fR=nCQB$
zH@$`r)K|}8`Yn87hTfCc2<nS$tNo>SZ~wV)Wk8GTuIttSo0L-Mnug!+_YN4VcuFF=
zf+^;}$g?~<#M0~|0HV#I#=Q$mr!=4mNCO=-_D>i8|Ll?RSaaQM5WuLAxp39OluyTA
c`w(yc0NWA+@c7tPn*aa+07*qoM6N<$g1e6{pa1{>

diff --git a/interface/web/themes/default-304/icons/x16/books__minus.png b/interface/web/themes/default-304/icons/x16/books__minus.png
deleted file mode 100644
index 6da011f424f8429e30086d7316c949d6c92fc30b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZILn2T
zv1=4T7)Rf1c5}C9G>Iuh#Dg5(EqH~-!bBlpA%cj7V0B=t7D7ZwArkx#L<`}RD~^Do
zVrvnwun4HA2o@KP1C=O=5%jjOxOHZBEbeyMy*2uSX@>dUy!mEE*tX4Iav3P;(|4!Y
zJ}uy8sydv#iuL+7K<UxS%3^+Wl!EKBvrve~nCs%^^UTz0mjF@#v%8Ewx&SY4l^)mY
zaO5J;1G?GmdnZo;_wA%IFwIm2j$NB;xkbcQfC)nY_Dqd4KXU*8$8mVN+7U^EA?5ju
z@|o*(*488dp67wqeSp>);J?aWgCet)3Y|^|r4)qPN*Y+zY8CtNA*7U<V#jfK|LFz3
z?_*h3AD~nUFru|a2LbJNI|J}Mk5H)?E~NxL1Q<{eLQpQ3<Kjp;RI0x-3=CunU`GJU
zvhaOB21LrCl4*mXBiK?(NG?c3N*Nm%V<Ll*^P8(#gIF<<Vq=Mg4{zA@ssMlxf`i|-
z=Jp0Z??nLTUj}?`apmlZ;ogolmY0vmfXE<LjGnhKZ0xJB_~hBI$=;8TNrDY;ZDY&?
zutRH&Ed;q-E_03kg&Q>d2k&UzIah=3{=vK$G;thQZ#J6~JP*HY`+0wVUk4^1LbnD)
ZkUy(3@eT_)bmjm6002ovPDHLkV1o1-@5}%I

diff --git a/interface/web/themes/default-304/icons/x16/books__pencil.png b/interface/web/themes/default-304/icons/x16/books__pencil.png
deleted file mode 100644
index f1a57ed572464c740de1f1965a2abbe0b1d51733..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILnQY
zT}YEr9LCRy(N!0DQD7eyvm0GrB~kW)jWj_dNLDGdMz6XB(_U~32aRT}tZC9xXBj3K
zmDI9r3=DEMG5avPC}<d6G^#}mg2Z5u7f<ILI4_%2c;E-``SU){|HmOZosRqk8^cFy
zZanx8?F^C=T(Qd`zkR`24AH46Ow7*Wbs~YeWD==#8uJSa_`SFYgUQsy$SvTFw5*j-
zN`oeo38s!G|AhS;%r?kXE^Ga2F#EApjl$3p5g6MiaW;|?c*oM9)q#f$vTWrFM-L8P
z9v8SnUqGvRMj3?bE=#$nIgB%pKI4cl23PPCXyw%qLn|2dcsxQ)YG%XdTbk~}KJ*TC
zT~Fa0`3P$4iZtpEXa!-n+bz_jW;T4TKXDh<fj6SyqURn)@(RB{r?gxaL|rbIP~(bR
zRU(x)n}?wUUZKt#g2Q$WV8&reCuPB7r_(9a_y(>jk;(=2gK+lsp;qliCX+#F;ojsB
zA(gUVTvb)5w-X}3RVDn+=SG_Y{k=Pp`R2m@V{KSj((vM7{%-9J;&!`T+sIWV{O%sS
zg$v#i5$-s@4b9yHAjPNRWYtEkVA^W6Y8%b|XBw*CkDJ%`h_LhIn)#yb#yPUV{F1D#
z8YYD3Wx<T1C}QK$&I#0Ci3=J#?;y~-LxfMa<o{G^$srb6mqi|ftY*BoSS)DhpTY5K
z(;96a1^D#=m%ODYF0Xkj153{)#uy_d)UqK2)%(`}C@@qcH034d55*hfl?Vn*ZU6uP
M07*qoM6N<$g0wIn<NyEw

diff --git a/interface/web/themes/default-304/icons/x16/books__plus.png b/interface/web/themes/default-304/icons/x16/books__plus.png
deleted file mode 100644
index 82e1063df938547fea473410a5ffd576e9828a25..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006CNkl<ZILn2T
z&r4KM7>1v7yw^K-RMcFA2!=y5m$353BDK&}1Tm{xncJY+6-A3yE!#x|k+pJF3H}2{
zWKdv1W<+SyM1e)94LU{(ujib5TIgKnI!P~li?ev2@8N?Z9LM1wxddd)>3d!5odw`#
zq8$xfLB6>Ika;paeLYoQPullsN~hy#^nLtPioUV2ivS6L-Iv82y9~3pGn3=v(0>8g
z1lDWUZ=O5_Janp+fiBu|Fm!cr!S6(@gxDwoV1HXP!+i$<a9x+FS4B~6uuFNkMmc|D
zoW(^2KoA6A%r?Ln1MpwvA7Lj0xg5n}5v?^uMphfh?(S}!-X4@vHD%Xzng8~Ja=DC@
zavPv^0#Ij+!Gs}&LZJo_1ObuOF<dDHW*1<GiV%WqHXD~K%8}OFn_<U5B>+wZAf=>S
zF2{h1a-<b6(|0K~eW6_*0)0RN$O=Fyl~COMj<lv^i=54mu%bVKR(15ht~H1itMW9w
z#p=*JO*+kn*#Kp+qmKq@{r#W<aFtR}eWa@V+A45jGzUOQmpGE|06H3HCZ8XV0Tlyl
zZNk7>OKaH0%>CIvG^~F;e6IKC$H(tK03gI$X{~Ls);1Vp5JKR29<J-g<9Qw<scSHG
zW{yp3*UTDhS%swsIPU<>z|zFTL<`TN?|XjUt<@#oh08yeKWiK@ha;ff<1fwI3sfQ-
RBz*t?002ovPDHLkV1grH{xbjo

diff --git a/interface/web/themes/default-304/icons/x16/books_brown.png b/interface/web/themes/default-304/icons/x16/books_brown.png
deleted file mode 100644
index 4fb21ae301fa956332994c0cd6f44348dc8b5d62..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 508
zcmV<Y0R#StP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005QNkl<ZILn2T
zziSg=9EYFxa@YLOlBUpqASE6WR0Qo*96A&y7t^J?=;G+Ae?xEyP8k(k72>FL3<wS}
zNvYsqkqCDxO`E*m*Vo~^OD>n-2acEb-uLs|17A+LuFH}<0;<hj*<*FOz{6Dg@ioKq
zPdR|<%TDJ>VQr04vB-L<lsuP<MT&(2HxCbA0H}F`=B_aOsc3%Wb)(U^e^5DD`T5bH
z+XZg9^UA<pt!#O=!*=E3h{<S*wHAQ#<`&!6Zv)_Y9-Yr!0AfH&d1s08(+B%Zdp!Vr
z-$zVTbd50p)mN<+2bB}Xz>g)$SA#EHxpSA{aEOSYg_MC)uh+S;wT{+0Q}#TM_iv90
z!w|=D5RsX|zdJc&43o)(e!rgq_`Z*bP2gJVj6qIB5D}D8)M~Y)JX5xaL@g0vs?z{B
z1~`sG7={U8rkpmIE*Q94>(qt$M9PtYwb7aZ#0IhAd_)9e96ZkhKq<wqGk6!w0N(!$
zPQU*iAGJR8;&*{%@NGgh0mKHeVw`yY2aexdaBpEi=dQJO1Gr?2K`BK(pU;d@DaF|s
y4V(kP{Fw`sfv@d$dt+4Kbk)xjSO!345%3oUto-CT&mr*u0000<MNUMnLSTZkC+gV%

diff --git a/interface/web/themes/default-304/icons/x16/books_stack.png b/interface/web/themes/default-304/icons/x16/books_stack.png
deleted file mode 100644
index fb525bd0d478bb2b55d022d8c564eb691014fb26..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004nNkl<ZILnoj
zJxjwt9EYEa*OC-pDuRnIU<w`V;LG55aMz`?sGB%A`yCX)!J%#nb#Uz9CL%biSc#~$
z4lYF;8qKBWkhD!3EBc2FxgU9+-(3<RrR0ZM2W)?FZ;IY?18mD4p?y>;ZJEg=Da&FY
zm1<r6mW5@S%;ocI0HUiwU|!hBkB_FuNXH8drjkrg3{$*#I02UAf6Xg9r(~yRD4yR7
z0NHKc+`Zs8^W~k(r0s&Qj40sG=F7VhN-0nw!1sLs`*?pJ=2rn1sKpwz%|4#z#Tpp7
zTn;%q6NFupNF-Wj-2^DF10a=BDA%Q2F2?}bY_@G~{0!&|_l02?WHOo7!;a&0n6**?
z!1MZ|fJC^65Q18*eFj2^4zp-9g5a|*c`UZK&;$UnbBLO&&eQwB)zvLuZ!dg2+pz|{
z04=lnyry!v97gpRKx^FrXx>N64qyTg08(q67D8A`DI{Q;X6zM4%&Xx?Qg7xG7}8o-
o3x&c6XS&k!=MBtt;5EAZ4MQ*Zp4B+^K>z>%07*qoM6N<$g3zJHdH?_b

diff --git a/interface/web/themes/default-304/icons/x16/box.png b/interface/web/themes/default-304/icons/x16/box.png
deleted file mode 100644
index b1adc112204c49811fa193701028d80806a91f87..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 463
zcmV;=0WkiFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004&Nkl<ZILoEe
zPbh<N9LMqBv*)=xI4B1f<>*3gZjzKjl7{?AtI6blDETvTKuU%&HtmmLYN46@O;$(<
z`LC3W%MQ}cU(e@P&w9AnvU=_L^*o>Vb6AZL5&I9eS1p0GUoGinLke@AW?4=B3|lm4
z*>05t$!9&O&hU|mz5-+1^?W@&Ew*tuEBCR%77bdqRUxtMN-5`Yy6_N#&x29!)U4wn
z;H=!o23s^}*{1v@GlX{fUc$!{q&OHYqm#)R4rlc<Y|)@)zH$*v4+|}P>@((*y&;qK
zN3?V?Tg%~W(PxmSBb%SEYz9JumaUbFFcsPxrVsxBz59$5T<amTF71c6)ou!|_tN`D
zKZSOO2n|~1)rv6l>g}R?S98Sg7pR|Miv}(8l!#z`S?Q!(M`Hvc^;Hd9G-#Q-SOoj?
zQhVfA{|mNg&@xAn23(KsR=Tv-MFm?lXql}*1Iu^LCOWt1qk=6Ov@9iFVB@)hA8);}
zH$(+nG-&Zj(xnS?gIPi#7HH7o1#z+jSz?S5c>CYK^EcFkLIS`gpSu76002ovPDHLk
FV1hos)zJU|

diff --git a/interface/web/themes/default-304/icons/x16/box__arrow.png b/interface/web/themes/default-304/icons/x16/box__arrow.png
deleted file mode 100644
index fda5bd79f5bae6d4bdb5d671ce14a1ec5ff77013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 598
zcmV-c0;&CpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006VNkl<ZILoEb
zUr1A79LDi?+o_w1f-ZtC>Ou;N>Y}2qB7%wtVq3(JxseSUY^Afbkws{k6s%fCrpvi$
z)45VXQr4pUlVz9;T^ZG~!6?*%Mnro3be=<7EBgl>`0Rao-{1Fem;fODhv>6NB=uV)
zo6MEw*`sdDmVL)rHf%-j0f}-(D%Q2k4AtPv;1$L5rXsw#=~Qr^KIaT)*{~J&_DkY^
zzO-xn`rbzz_&nfNL_Jm|B<|DaoZ&1Rw&Je*BP&exoJr0+xrVd>w+X|w1q$x7?>Nhb
ztq7YnRP(yER2dFe>JTX2g8qv}#2V}h?!C56XfNBT?8h1l!G^8q%F|F?s_z2cN2)Lt
zuEb<l1w7UbKbW{(j>+!Rn7VTosa_Y@uoay~4b{KvJcW3$B;)57WZ!X?4O`Kkt08}~
z;{;wdAIV^py=LPq8@3{3&`=<8>v-m0|DBWm2+Y11f~_~ehOKDcr>5X|=op^)5C4&&
zb_kvcAlEYtrz8Kdy~r*^qh3vIuUd{`)N7l?;SNFT>QSse)PTH>1TMb?ww8B)T3Zz}
ziIt00;_7ZygkSI?P&|t^6vz1_U>O4pqu-Urft<33Q6WFetQ%FnbK6yezp~9-@?mvB
z-83!FyEMJIDFOWmu;QTa<Dwl-2VbyIwnVn{Zx$E>PuDyExX#yCTfepc_GngV#azAD
kGe=h+l~>a|UA1!l6_;Qv_a@wBi2wiq07*qoM6N<$g8Hf=r~m)}

diff --git a/interface/web/themes/default-304/icons/x16/box__exclamation.png b/interface/web/themes/default-304/icons/x16/box__exclamation.png
deleted file mode 100644
index 80aea4361631655592ac194eb9243ccd2d3d4b82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 651
zcmV;60(AX}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006~Nkl<ZILoDy
zT}V@57{}kU?J@}JB8cclsED!)CAtYpLMuq7wI!OA5~G!heOMVqntiVlN~`5;vu(Dv
zwIp>;DwWZOW#m3ubFRfga|(_!*<JAOJO?(`%&QLk&hzj-|KG#Q;V=N~e_(@^5<)Um
zDN*vMlBoBHEa{}rC`%5xY@k9yWPNPNHYSE!G4Hx7@TsE)U!I*7pgws{8OoAFE_-!Q
z!d@Se><m9DeoKKlXS2WuwL%aH>XYY`p)5J%vVQ)>QyqVEDVlh9A4#0e2k`#EVFBvX
zXOty}TxKs96RqP<PYGdrlN9>etr)sp3Qzk{0qQl%&9K(z3%y@g4RXk3-DP6pVSMlw
zrX5!hvo~R?y8&uN&R=|gc@a}RjfnMKMtnd8a>!*}rDCFOqU!=eohMUdE(ln5!TVyZ
zP$^3exy)K3CbZG#=MXd;PeD?u8f)OSZN#rwn^2>+Ga!dtW|E5ueZ+h=_0==+7z^>$
zU4q{U3nFegLbm-Nhg@dZCn7q-raJhvRsY}^Mob&<bMhu+G8uk+Ys9E^6O3|^iCm^D
z5)qa$;|YvvlnWTq7Q*Mq!`$R~{=a32jU9o<z6Itgk+WkjzhKRBj<xLO9CU-v`q~A!
z_1TE}D-iS-ptq+Ee(yH;hPT6Zm76Fp;y8XOTdm0D9$(wRxiYy|#`*d+%jTn@JVXLH
z!VRcK0=ejGUotJt=cKe?DbEU?m6>R+bLOBsYj!5Q9y8<Xkcig{l?b|4%^L1-dbZe8
lT)@~96>HJmVD81B`5$V&LBtC3qG134002ovPDHLkV1jV>E%pEa

diff --git a/interface/web/themes/default-304/icons/x16/box__minus.png b/interface/web/themes/default-304/icons/x16/box__minus.png
deleted file mode 100644
index a8fae8526f8158e96620e31ca233e9a368dd5b96..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 518
zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005aNkl<ZILoDz
zL2FY%5XXOScg+it*tCgIO5;<Tkm9MJ;2{#P7IO3EQBZGw22Xy6;-yy550FdsBKjRH
zRH~#siOGYugy%cFnf36@BT<V;|1di{Gs}NwXLbYcJ?BC2{-FbK0Xzb(PXqfSy*hia
zbJ+}M%&#6^0Gaz$K(r9uxYN1!<bjF+&^S1tTrLBUrYTXY1%R=Z{oSqC$A^3GfG<WA
z)YGo6v?3K@DruU|$!x5;(u&m676qe#c-l*A8>_}STo~fQkR(awWa>B0v9z|aDxS6i
zPSgXe$KOw*<IhKo$7A9+rrB&#DwP08l7u(g+tg|`8jS|^dOZ^L>*NFg*!uD^mlhXk
zMiE|w!C)}g?S8*cU<`q^l){jqVsnDLi8eVoAxV-m$2FNuihZS0L3~bNGKEZWB7&+G
z0?_OA3OySW5i-SPO1=P2Bo9o{?RF87LeD}($&~y7WqA{=suY?31yvzaZ|$DPWjXl;
z5&0w26yIKbARUeh+Zclx>878s<(_}^JiSfTT1yy)e<g^IV(#DF{M}u9xwCUK0Ioc~
z6+F9EqjOft^2xX4l#BD%AU*uS+W=Sq%8-xcKOjIFocBBb1ZB7Rr9OW4bpQYW07*qo
IM6N<$g6<UWRsaA1

diff --git a/interface/web/themes/default-304/icons/x16/box__pencil.png b/interface/web/themes/default-304/icons/x16/box__pencil.png
deleted file mode 100644
index 9652a2c048814b5728c19fbfeb8b6ddfa7a62aea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 604
zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006bNkl<ZILoEb
zT}V@59LMqJ*$#9W5g|lHFVIDhH$`_v7bOu`Hiv~3%NItACd*zIMYCBJDg()KQ`=;2
zSu<D}Q?s0ziww0W%gmxdG`m?8CA<8!-=U4Qw3`lm&i<U||2>Q&0Eqt~!leo+1Eq>7
zsW!!#uL)$zJmW4KwxYj8p;cqHT;I&oM*N60sK(nW@c!lr73b7*?r@h4ThV7w#DfFM
zwkelxhzs8b9jXzhQ4NW6>N$6~%Z9D!P2Q5s@rUQ5Gs9PrGU(WcXV=PAoHNh3%Z9B8
z?blM{yBo*U<&eDqUdu)d)EDDL>me2A7SjfFTJzNTmB$P=Y(>{zEj7i%b@<YA0n;Hn
zVqG>kjqCpK`R+Ny?p0yByBhKSTCfS{YJ><DYpMBD@GK_%N7J%jka_m;atX#4$><X)
zH;c|aT5?BkpT<P{ku*k`zbO%?89_@CV6)+ll#fJ5k(Rt4Zk<Yh^|_3;>ESwKKq8Sq
z#o7fEZXxnSyIw>7sgC1#={`KC5w{NaT`Q1?Sy5%oNA=cu-JUg42+uAJ1>X89@w~+}
ztKrrH^g5TTvG?K<JZ{<zHf+V}g;HGEE_?V7-gqs48TIJV*Su1VeKkul<kW+^Y}oQz
zW?V0?*KCoIY;`;2nBOkHGH$4p-!AFo>(m(=wtT_-q@1M1+3aPq9zQ4Hu*yhTq0nWW
q=lpK}dEwwr88~T>o5~AkU-$+5=^pD6ztp?{0000<MNUMnLSTY~gC&vx

diff --git a/interface/web/themes/default-304/icons/x16/box__plus.png b/interface/web/themes/default-304/icons/x16/box__plus.png
deleted file mode 100644
index f8c4f9a0099d2538bfdc2b1a40cc40a88f14d2f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 571
zcmV-B0>u4^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00064Nkl<ZILoEd
zT}V@59LMqhc1}SlWCaOcbThPa(nW9Jg+ve$L13B@T2vy7MGLKr45Fn;7Z!rF^3>Lh
zxoOQnGL})PNJ7Qvo!%^xB4^Z!D6fB=-$NUx(h558+4Jl?|L@^2CIIArNPneH`aq@b
zHZ`RfYwb}h>ltU+u$8`TIyvro7ly}g`S5k9MR|N~7hay<r*NOT&l%3LVJp|R=yH9l
zzIym{$xRM?8EjVKhD(LSed<1EILn5uTs1#Tp5%@Ck@4Fnkuuo433pCaDcoDnILn5u
z#5QZ>d(p914aXXa5vnf2!0~e25A0C5_q&&&t8SIrKWg)U4O{7{(5N-pe+*;2jYz~A
zFxumV;adEYcb5)f^zvaOt{g$KuL*3}N_V+NXWn)n#Pi6Wv|k@!J>x7Jw$imxqu|KJ
z19;kAlg7xpT5*;QTj|`OQRvl${pnwQGG&oM<af+NMRYmXu$A`pc8Uyl*5YAs=O5*V
z@=*1u76sw?U{hK*U8HTDoubdeyK&F&o=|CEDHa4AO4$b&oWWdVw`6@5|13lDX4~Y%
z8e1>l;7O=@Le5qPRwPP(BfhM-nAcp_65H9MD{VuQSyVIa{Ty%RH!65j1g<mdGe64q
zj4&TC!<22x`73Y6gPhk+aQ)G+{l}}&{M&k_8seT3S1Z4p*LQEb6d}4U|GWSI002ov
JPDHLkV1i^h7Z3md

diff --git a/interface/web/themes/default-304/icons/x16/box_label.png b/interface/web/themes/default-304/icons/x16/box_label.png
deleted file mode 100644
index c6da8f8b3bb2bfe605dcfc0e352dc0a99170ff3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZI8UY1
zT}V@L9LDkgcFw&QUIbovBY0OgnRi|#B0=;*NSNjeI+<ixR%8(QN{ERlzRi4PzUB(a
zT)s{b2bIfNNoG?N-!B{(GVnrpI?o@@*w~H3!Dsw-&hLBJIb#BVI1e$Ct&%#Mt(rB}
zI?HwAP@uqb+-1X7II>iVSuDBK>-*A(V`sgz-2D)1gU=++`f=`XmknDnnW2iQOf}il
zdV8J=|K@5Xm&GJQ;;bL%4tLqG7312QrocO0w(0xY1l?S18oo8>NSp)DahDBSVNX}6
z@o)bVxoj`L32R{jW@}Qh)SfSKZZpTjR-7c~UtI-Y!&Z#kQ>eu|^9BcFmDsnJV{fDc
z7SrV*yB}X+?^7xEKUcu(s0JIhVmMWyx7))nvD#PUr-xS;fCT3$u1ufc;^;AAKOAAh
zRtz?5h3&3Foty7pV5R4gpMHTIpD)C3Ya!UM6$2>>S=Zk^_dj*reBFI`4i7OnF#(6$
zjY*eFe*WH?2R3X)&mAN6c?O>1XXk?;Q&lPWv9%S#S)TzmY(>{CBMtrOeGGS-IS7Bg
z(XtyM7Fu$_hOLN=G>C?4hB1Bv-rHGlmknFKqD^szj@O9>XE@lf<pm-%7c@~}ViOVa
b_YBv6l6*@zzM)he00000NkvXXu0mjfOtJFj

diff --git a/interface/web/themes/default-304/icons/x16/briefcase.png b/interface/web/themes/default-304/icons/x16/briefcase.png
deleted file mode 100644
index 7d3ffca1afdcd28003edc59a2027a7171cd13289..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 463
zcmV;=0WkiFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004&Nkl<ZILnoh
z-7CXk6vxjMxmuKjazP1c#V|9QmxOl3%~IY<k@pZ8+KoxpG=`PAB5o#mi^4*#xOk+*
zg}>%_zDHYYndVoYp7T5Be9rUqJhan56m0w<P*1dOCfcYY)3%*dJjkJjo@hT@iXWgG
z$y+6efM$RgIn>aTbO2a05xGl9Vf`zYI3T1^z+)s83WXT!UpY83V9PG3uiyZGZ1!?w
zshtl7D`mw$xLa(K9M*S#H-85D7!F+WTLp!}v!^2^UcF9+1DAZYf_n3H@sryT<3aCs
zGuy-$6Low#YUY#SY5_6waNyEvwV+;BI{9|4S-6_A@%gxg&&Fzh<#N)>aNyE%g`lu2
z#8kMRwlf^K<TeU2;89;3j()$;%E$VsyFH~sc%&wFx+rkqlB-Nm^DUVi&yXpDBasN>
z`4A`8;lQPtVnH4Dm-C*pD2CUO&n{b*fH=N}UN~@RqEJv_{m%RPxT%0%IB+R9ov1gP
z6fP&(ttWzBIB@Y5SkmaokxuGAz=4Ya22GA8@1MXid;`>#n7%Lzu~Yy6002ovPDHLk
FV1lRa*98Co

diff --git a/interface/web/themes/default-304/icons/x16/briefcase_arrow.png b/interface/web/themes/default-304/icons/x16/briefcase_arrow.png
deleted file mode 100644
index 0b4927f6468c9bf80a3a0d803febaed8ae41720c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 584
zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006HNkl<ZILnoh
z&r4KM6vxjhi55~IVL^+8vX}<)WivWC_KUPxWsyYl#CS2{q!ay69E;gxrDB+-W4(T0
zQX8f02Svq@AuVcgQL{EK%m||X0XJ>F-tP^k!G53*KAd~*J)iRq_eyW6NOI>dx_5|N
z@rhh57ON*HDiiJnZ+~}7@BC0Y+Wy`d@wQHiWH!)+(!R}L1U5Y8L^X95_q3$kZvdmO
z=d=As1JY)RB=SWuGT(A(!qtT;&@?=|qIyV$A5Np|E5JQ{X3sZpHHx%&MY*mEM&@Px
zAAYud0i2IO<@j$JrhvTWw@R+*u{CNc>EKgW6;kKRF%T&*k+~D^hCkL1D|!pw$aVMz
zrcp5lc$~i3-1--`bOwZ|$<8p|wH){_1;>-{i~?4q5BB~&Glvd_MLPTjHQsRqqlr+O
zk#l8u*{};wV#OFf;lqR4LX;mpi;ag{5wCSXhpt>MG^qC%EAXmux8d2T5<IRi!lOF>
zUwL{m06KK#!d8RgUnwqz=cj|9Lst@BgK6+aUmQn&-MkM&dh8qaCc|KKdwRNg=+Kq;
zW`k<lyAqkySj&-0rNAfUdf_=8x^iZNLEWqN;AUlBn)c9I#7kBgxXwIdEgiZNTW?T<
z`t9%PaTfz?>ClzjERm`lQM{ag-TFdUONTDMbw$hMeke=SQlLYZ4YD<>HEWg#o$NVH
W6u!;hWNlsm0000<MNUMnLSTZL#}BCh

diff --git a/interface/web/themes/default-304/icons/x16/briefcase_exclamation.png b/interface/web/themes/default-304/icons/x16/briefcase_exclamation.png
deleted file mode 100644
index 19e31d79d34fc5604a15357a5ae7cb7923f36163..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 636
zcmV-?0)zdDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006*Nkl<ZILnpM
zUr1AN6bJD0lgfff3NlhCFc6avYAapKKaI>71of~8Y#4#jUx>hR<to}J<<|P6Gw-Ny
zW)Evbb8U%@G6_oZXKUF=O{oW=r0pTto)S*K^NWp@FM8p_@BZ#R-*eBs7uqTToK=6_
z+6Hi~6yU~I(6m+n&lI#Xg+FCp;h+F1kl8>KLW@@7)Px$6$7h(nS6L8G#P9tW4lHyJ
z`PpIt$UhB8vj)Ig1f15?wLu@-{oZd#&Lq7!F;xAI_H>=HsRpXRiLC^<s;WpU?b{77
z?6YOX;#1erWHMoFqG=}BoE39!2bXMcyF%h)&O`X=rWr%$ccHs}lU!;4;Z8M%{d)X0
z)r6uPzmFclaE}%{&1}3?OaTtP#6LP}@vUvoECcNY_%%|8pGRsi7-+zeNEJrjRHF9+
z`}w?!F;L2Y@UXHU2du`lm*;A*@1ho8x!2;iF#}FUHF5%4C!<>I?O2+4cAx3s%4Q&Z
z(7qS@8Vpk4R5|)i=+JjH7e`+g;`EndoE|U2WZWWG67A3b-J`O*aCsvTPEVy^CeNij
z?6xnP<)PrRK%z^5Hn5fekq!FAhojM7Sa#y0W2M+}V7=ryx+Ohb3S}I%;-wmkC4P3t
za?EsCvjjt-5YjKD^Z)NthO%(FP~s2jHlS<Yy0jK!J~o!Gkmx+~9@SEYvT(9M;vVtu
zJH@zjLA8{jEUeB3Fs}qoAMMHUvN@qz%21Y$HM&L6ZOjHfAC#diHOLWG33>BGnVdh(
W*u8JdXV7#20000<MNUMnLSTa2jW0C-

diff --git a/interface/web/themes/default-304/icons/x16/briefcase_minus.png b/interface/web/themes/default-304/icons/x16/briefcase_minus.png
deleted file mode 100644
index f84335b9aa5738c94f983f5c734d14df9cef5b2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 516
zcmV+f0{i`mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005YNkl<ZILnoh
z&r4KM6vw}-rd&9bh>SK97=(rl)YJSuR)or|Y9m37LXfCAQBgD{vuOr(P)tj~mk1LR
zg(CKYg5sglN*6Z-Y11Dvv^?GKjW<08rSZXsd*8X|bME0>%y$6`7ymNX0Zcao&)Z<V
zj6iu|Z0RJhihsP*z*|5kBGYIv0t=F*AS}jm<^L%_CM_UY2gTKmy#?&74|y#pFO0hd
zY>gtRFqCcE!qtt<A4UFmf4>y7sEgo*Zd;>%E!>iyvoUeTdgb-)^Je8gS#CTf6P0B$
z9q`L+utMfS6_P4LKFtnh+CkLb%njL2T`h?pnLeR25!5r7YB8wYsq6AR87;8+v`4-^
zyd)pvZL&VnENeqe2JRWBLl@&s2DOvECf^=iHhjL<DIZ2#<^7$Oefe~^UFguovvUT;
zTPc>pm-`W+Ll?=g!4%ligJbI(Pr7AQx4L+<-mo%!q0pTR9lA)IHK@l|j*FK;>zFu>
zBYaZsi_huM#e*{jl^bY~SAC}oWTG{a=saQI-h0MeI&=}QHK-N+_F3I-DKM7~T?BkU
ztP+aDIcVy|FqaNpexcSQcoX$O9R@mdS-`KU(o`Q3I{rVn;hafQ9!dxR0000<MNUMn
GLSTY)?&jwJ

diff --git a/interface/web/themes/default-304/icons/x16/briefcase_pencil.png b/interface/web/themes/default-304/icons/x16/briefcase_pencil.png
deleted file mode 100644
index 67e66ca2e51024f2fafd66fea1454074c674a705..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 598
zcmV-c0;&CpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006VNkl<ZILnoh
zT}YEr7{{OYChMk^F|rjA6@6&g$4a->rbVoHuL`yim<2&WI_-n3tr*G{)mm6qf>R>r
zR%AhDlv$%hi0a}*5Z!pwrT0Ow%YX0x#KyFX@`WGgd7tzAp7U^y+-nf&ZTv&eZjqby
zBDZ#l^R7=+In3qS3<(B<a=)g={lhRuJ{m@&lsB*nCAmYR1vVs%nHvfl5(os=o_4un
z=<33#VNA|wK(0GQVjDzpot=9-WHgwj87>qG@H-sc4@CUM25AdL61Aez=`^^O=Q0Bw
zco;K&7N(;JZCx^bbo2bjeXB&|j!&bedXMA#?PlaJA3)~BcD?eSj3?^wG`R?rbMY!n
zT=RntUFr5{)VJ;?d`cYriw`%v80)Fha;DRc*PR}GNrpg&uB2QV^)+=ElQFZz`%C*V
zcEN?wRHc^tBMXsjU5{ri^%y_D2XyGl)twsk`N|=@>Da4zdB%(9VK)ZDD}Y~97>L^N
zsJ$8^tuD=rb`R*#mH0M|;;9tNv9=L!vLoBFWk&whSs&=ol~}DtH<++4j-$Ve`tigX
zweQGA&G4zZ(sV`W(3MEFMqS*u80DOFE<iq?2cMMj?0q_P<=i@r${yQ<{?M8dNpm?O
z-bxMQ@;%nlp(|~xHEP&;`$22m|ADo1=*qGRk!HInUQY3r{{?I5(B-$%Jx_9Gg{Zke
khb|k~ES6e0<_I0zZ%Oc^y;>20x&QzG07*qoM6N<$f{|w=1ONa4

diff --git a/interface/web/themes/default-304/icons/x16/briefcase_plus.png b/interface/web/themes/default-304/icons/x16/briefcase_plus.png
deleted file mode 100644
index 24e67f9f328d6b8bf703bb0aaf2c8d39d4cd82ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 555
zcmV+`0@VG9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005<Nkl<ZILnoh
zO-Phc6o%hbB2;6OQ+x`8B$cKJHJN{nWmL*6qJknY3Hp&V&5A@ThM*b3!L;9jz9>j?
z(M0q|K`~Ucs>OvM+O!JVv<TYG`t80qW*DX)^n-_UzjM!X?%`hC*aW0E|K{pO;8F{4
zxgC+~oiN2HhfK(~7#HtX0(XKyaRXb3)Ov>#)KK&cl}D7rY^6E;bCimhS^8%KF%bdc
zbufzg9Bv2wP%4nKg4y$<pNbBf&o}TbMkJbGeBY;HKDR8nDA)CUH%mdf!r+=6+hV??
z5AySsK4#DLaOTK57xgc8Osr;2GQ^cBkB#4=Y?unuJHIf8sl`5~J0Q%b>0Z81?EEiv
z36E7@8(5#Lrkw6WWx!;s!+f0F$9M5qfj4Kn`SNrZpANV4(O?T79&P5fL65Zq0meqc
zlp_}xn;qsuau;8XZgD(65#^JiHa<Sq`d6ME@1PvHxUkk?bgIO;@Zw}A<;X?6$>AEj
zwHK$+U!U2|2X^e6`|BN<fenS}^2m{k@ih)Jwsi@M>5r5%o6S;Bs&(nU9Jx5P%3<yu
zXymQEwFOeKYK}*P4y}v#R4Yd=hF3UD#=iYsJMLUitsJ@V>{IrIV01bEy7f|2D@U%r
taN7dR#>!ykgB-bP5U?z_RLv7PfnW0tpWSN|f~Eif002ovPDHLkV1l4~3F!a;

diff --git a/interface/web/themes/default-304/icons/x16/broom.png b/interface/web/themes/default-304/icons/x16/broom.png
deleted file mode 100644
index 97daf85a9d9a7e3760d81c17e12aa267ecd2ab3c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 708
zcmV;#0z3VQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007uNkl<ZILoDz
z`%6<{7{{NtlA`ElrD#DZQbHDsRbH@pp<-cXSkqB?%ey$!uyRIYwU&z<Hk+EaA}v=c
zl_}=sho<EHG_o`(_2>SGf^W~xq<%>XeBg85!}Id}@VqbQ5CB>ZRFf&l&OEp%s5-;5
zx^eg1by6v)E?ZD-mZw)4K~$|GbyXxucSA}2KZ5YuY|&JcC7QUWx))Ar%VClx%!x4U
zC+S~;ASQP~vS4AV0=9JV%BUcz_i_|U_mET^wDbg<7#)Z6=jRt-x7+chrx<hZjj&!2
zZ!-N!(t4A+D3Ihk@M6JM4g|9xhPm2MxVdAXF>Y?QU;oo)vtefDE38&4T%CEC=_^Hr
zR`i&YMD%S9Psu@3qt3gprEJ%5r&;;Y*`obE-Cz1c>MX)|a}K_ZnP9P4Fgf`dCX)%H
zPt!5s$i%HP;@Qna7Vx=LRjHzD;$;Cwp68&iIvKBxad6h9;8XuKSu#6N4uin}r_%+!
zUXMYG28IOTxN(XF_tOMv_L7>B>hqN7t~`ygj(m(d^3ZLJhpVduA6^u})mjLhPKWyX
zb_gNb%Hu>V^IJf7l0}qRBYK@r($K1phNCPNBW*btZqC3^O)92)u3+k6wmaOxMCv&#
z3r;8mMF+4T>CYtH)&z|6g>@R$=&s=R_5ykAq8J(~P|;Bq(D^VyM|OL@6}bX@JfiFI
zB8KgQk4hrYbSVt)9;czB>=-gbX*B&19ghzoatoHMom*s)Jjq-8Sv2Gx#5n~`#s-qw
zcm3ZpD;W3Ib|#oPz$g{|l%?HAQc?&>3O`EW-VVlx*~qMARx$D@?#F6o1GA0sWBeCa
q-^HHy;{G~j4dcbEl(WnIoqqu|#f%HngfBP%0000<MNUMnLSTX(HdH|X

diff --git a/interface/web/themes/default-304/icons/x16/broom_arrow.png b/interface/web/themes/default-304/icons/x16/broom_arrow.png
deleted file mode 100644
index 574f7b14f520e5b4cd72f3c963f6bd95ba0cc061..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 776
zcmV+j1NZ!iP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008dNkl<ZILoDy
zTS${(7{}kYur5MLJD7S=mXT44A$TG@-Lx?C)YMSt`Lvv=SURJznrjOko~E+YK+Ubx
zO50c-x|o*7KIb{`u#6zO2)e1ef`9L(C<IZ^13#XR=jH$7`CeWEfcy`nF_RKCqalNm
z`t;3i#X7UrC0|OKvngrH+MHDf5mFyacs1t<ci*4z{zVYjlucV3vuG=u1y=<Up3;wS
zQ}S3yyb1R=fd?bk!YN^St3X{EeJ=GOoUtSXrKbp2<niYX_A^8*oWH(qfm*G`J3|rH
z-bkTJrY|yG376<Zc!kG_?GEgi;2;ZlGC>&Q=7R#qo}reAwdFza&$_xgEG?}-rBcD%
zn}?-=QYaFsK^{*-EBS0o7L>J!oCZ3|kB#=qedkOaiJ#{OOMh^^g_vy1!RmwzN~IFh
z(~FSFWEg*xhACYp?#9usJF!f_{wugfK>Mej2{HCK2Lts9=#xgk)SQBa!7`g<d8h&s
zi3BE-8Dg;*!%99RQB-&PG85FMQo=t&cnnUH=L>yxG$wlTF|NylUK$B=e=%mB6vEtD
z0Fg)pjiwuvQf);94QFf%$h`y_BIi@1sXY~);!x<y!!f4K!Dw4LMj8c}H{3v3iynT8
z$*(5`Rh3tZiU~hoNXSJWN<!V4Abw{Py($Wm?817bJm?kdyIW{mJ52HFo8}V`px)s8
z8{Q{-D;CIhxgXvX-HN1P;s`qYus8^<*8?DI(BeX+5&ji@-yH?*t4U8SsQn1AFy|$o
zOD4b9(E~P-ZIhSkE8ul3Liqv6SOnr{cPL!}PKaM~*32%3J;ROR$vDUG^>HOxiC%>B
zi7WZymZjZr&h1~=C(zCNw_6Zn295{~GcMPRDOQ2?&F*D5Fb*+X7_M90d28lmJ-1Kl
znms!L*e7Xc98$C?TiJiB-KV3-o|smRU33e_dNPyQ=Dz@qyQQvBqD7Vf0000<MNUMn
GLSTXwgk^C6

diff --git a/interface/web/themes/default-304/icons/x16/broom_exclamation.png b/interface/web/themes/default-304/icons/x16/broom_exclamation.png
deleted file mode 100644
index 0c355f8ac25b870deb3761fa1207280b46232651..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 785
zcmV+s1Md8ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008mNkl<ZILoDy
zYe<t}6vxjaMHCceC1gPtg(M-2Mdb>eMl@L$u~yQ}%1c^V8FtaiR?D2&Fl~9sEpk~C
zot8~ar_i$6T)jr7OQ#MZ12M`d>QlkL=bd!<A_X1zao{|hAOH7x9|A!C16_@0q~l!K
z%cyYAXcrM@Vy%-fDo$inlrTEGBqb^gBYFNR5^|T5{9gp2MTty*HG%2*EG#dS<eFt9
zIJ0ArwU~sz2?9C$Jc0(EXE`X?&F-i|NN7A7j`W2j90?pd!BkEvUrreq@Ia^2;Z^++
z^gmWXyMx_}_a`CNm*j^QkoOM8bHNP05X1!$oa5IHPOG+-Df(T_8Q%*E3eer{hE}V^
zb8|Afo6?aJ%j&bYFxdqqPstb6WvRYR#*_2f%-NC`He>8iXLI^D!F&kqh9vYk)X-=&
zc>1&pYPA~nirsLU;&FZxyLB#x3;1`1<?mv3&f5KWQkjIN!mYTgQovTc6EB-jcqJ}t
zCiGXL(cZKMCHd>nqERAiBQu@Zzy+7%7%78E&JjwJC9qtIhNC(Kc2hDes`YqYmxhk2
z1L&w(gyF$5SgRs2X(Fr4RIo_SF9BWL%EGgitkG5;hnpEPm`+CG$?YVx8TQ~|NjN;h
zc6|R@jn-P($mvv;R(^(&2t|c3lFjFWEx(gkv>VaRFU+ix!;-TBj+$V69MnLmRAS`K
z+0XVGAH(BnHjYETYQEp7=+t@^k)dEM*VClXA6|h+CIz0=N%86JY5r~rL%qom?guz*
zm2C9`(;tGLHFvsK<V|v4w;8p0esFhe`_|L777g{s(A6nJr*q}|)(Tc)H8QWkhclTo
zn-j!Y!jXjdQ^MgW)^n%W_seT{Bs?yOH-XqauBEV<C$~2km{b&qmI<6GoSB?i9DlJJ
za#>}sBjEjTKmP-LLHPP1!`nsNjydn@N|~O<s+hGz#yry9$R+z&i03~5=&ih=@HNxM
P00000NkvXXu0mjfpOAO4

diff --git a/interface/web/themes/default-304/icons/x16/broom_minus.png b/interface/web/themes/default-304/icons/x16/broom_minus.png
deleted file mode 100644
index 430cf6492651286aa5a92245dbed54f6d58cebdc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 720
zcmV;>0x$iEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007)Nkl<ZILoDz
z>q}E%9LIl8B`Hyq-N=G6q=ZTqMyZH5da*Dwtf?=`OWw^b4J&83R&%+?WwUwLA}wb+
zDw~*>7fs2$9aowLd3oJGQ1qhU+i!DS5Td{bK0Jrt;rroxo^uWXpyfbSX@bnmy>o&p
zQx|t9&Y5!^4-{0BA*eciaaJBeR2fF{icpen9U=Mu2!g9KL}OLDXyjSg?O>7{4wE#h
zkAo(Fq<;zgn5+fKfQ9igm{P<ut&F7Zi{U8TOH#hy-y5uFlpM~PpI?C4Y{rMKe9XPp
z!gxl!Nb?~n(VOI|-Q+q04;F0VfIkZ&nalNg8#?+LqUUCM)!$7f6Q-v>!e}(YVa>*L
zPa(<@MVCHaM3gGHB?om4O7EWLqFsYlec(HLbK<AT-okH^RfUnJOw11JU@#akHufGm
zoepmvrC`*Oh8w5E<LhxO;O7dfND`f+PjfNUmWiIq1U%P9!(MY1Q@vMQl9|3@Xfztw
z?GC8bYV;cv(8LN$$q5$RO%|lsM{-80%MOIC{3M1ua`48I4VyLwj?My1JW;{Xk_V+y
ziMqOW2q9XFqeT?+OF%ahM7Uldy6q2>(V~ukr6>wRt(h2XO2t4`5+=JYVZ1iO8SY?0
z^+AG6dsuKxCMd#}1@XU|*o?6l;RCa3<*=3Ub$hO>wknbaiUa7VRtRe67hs`3mhYBD
z(bX6csg4%?_X|SMcp(U{9wehpwgZh`^tojf&2mWkNh?tuEnPb|x<sxfFU_Y>pLGa#
zJn75Vq$Dh*mL<;23T7>{o$+T5GJ!H5N>4mMQv80B&U;aB3DFcYsUdoMjmW`Fl)4)@
zzuDEyI%YGojq!2sTir8n_x&}DC*#4abY++OJO2Rnz^HL8YjS`90000<MNUMnLSTYI
CDo4Hm

diff --git a/interface/web/themes/default-304/icons/x16/broom_pencil.png b/interface/web/themes/default-304/icons/x16/broom_pencil.png
deleted file mode 100644
index 97c90cf67f7404f3d929f95d84082596d10e31d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 799
zcmV+)1K|9LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008!Nkl<ZILoDy
ze@x7A7{{N-k7*3sAzbFitzip0E4muj5400u>C%Lv@}u>OF<o?yq%$r~R~!+JLQ%QU
z%BV(^ujWT=P5IORHd}x3_IyucGd7!NdwoCOeLm0g+WYg}mpYjvKQh-}3<?S}o6Xef
zVIP<GGpV&YnCWZ=Q$;$HD~;)7I8m9A$SIsKNJArYJ8U-O8VrRA2?>G!A~<6t)2St-
z91kTERT0I+Xtkw-gM)~Tjm>Jg$`QW_!YVSjvOJwDMPNJ;Mkf1WQo4%cVO>B9RZ5da
zqgkNS=?VuwS<rBn@2Qd@L7=c>K(S-sMG2g#TyN8pa(_<*_Rb+CFHjPcORV@XKZ=X?
ziz>JBBUMsg!7ZMHTq?u6`uhjqa=GxnDGwi>*x=a2chj__Bx%T$qmvF1jFe~-%eL{{
z(kwpYD&T%q;&uCfdD)o!)#-Gix3>=thXXxzJJH*`7bQvDRGi3>N6nH_28%9aYnrd-
z&+Mox4u0i5x9qdWG5wn=dElObHxKh*x7*R({T4+<Md-YiimsY899hrT566o@?qxi+
zg&Vu>Wa8<K?Pxx;0o8?}s5&|Y_|k{l$3pO~r2tl|6>V)juvjc;wVPpG%Qb~-L~uHV
z$s9x`L2>U4hWF$;JgeP>24@@&rvyN5iI+EX(BsKMc6K)0?pt8y>Vj1qE&LSFu?-wi
zZ07rIS5n}yM4~1?8c(aYqvPUMw3lze>!y8paV|q0t`(M8WY{NIsb`9uC4$6XNxY7=
zcrG8T&SrwQMBZ;@`eNrqQG2G5mWzOr4NOaC|M*vYHOv2p=s+AtiM{pG?r>D*8t}L(
z1-1DrkQPdvsf#EkZXS^;_-oCW;1l_hJa8r8{EiT8)Khn~j!cus{&{AYpdJMXbA^RM
zuwF~)N%KiboJWd&Ds7g%X@b8nUKlNm5PVV8$0%W(FiDsyXouFxLwlN`^D%;-Fj5%q
dn+5P+d<Re8c|S-HE=vFa002ovPDHLkV1mNYc$5GD

diff --git a/interface/web/themes/default-304/icons/x16/broom_plus.png b/interface/web/themes/default-304/icons/x16/broom_plus.png
deleted file mode 100644
index 402e0e8376d40b5442b2c5772b864ff1c110497b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 755
zcmV<P0u23$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008INkl<ZILoDy
zTS!!46ovQS#h~&wT9G}J5hZA0*iFeR1QT|(M(3fl@-B{PSUE<+=rlQzlZ}nZm=>vN
z=}?(snh#Bq*N#(~26-Xq#fQL`>ZxG0=O_k2B(&gTpMM|LVx6Bu0O)_9iey1n=GGZO
z<)>$-3)jx210jMcQw7~lncbC!5tT=fvTQF&*LIU~ApxPcQ$=+}im2vY#Pv{8ns$*i
zV2p!q8%h5P*u<nyNhVCaDS_pbc%ly`sr_6e^0$zbyXo%@yci9eGbbmfV6|HDp)D5^
zuk|pW5YLkRNKz|EnX{4PJ6OsAzHA8KfN17IRknBYi#xFsW1ZTc7K;U=qaR^5o8h!)
zV6-D2C2G-Tj2BT?RNRt{hC3QXM{U7|Zo4t$ougJgJ=~f9L$c?fza|aieFm6JCJYX~
zhrwV#Z~Z9@G$y0?n0QbW#{v9Z5oL*@W#DlZdLE{sqdWmm^|5eNp2SG!MLA^bMIm%L
z9UKlPv|25?Oe*LOi^j``IN)ZIAXOkK8OfFrg4WU_=xfeIZ({~p^#|c>$-~g2960N;
zq0wkyvo%2o(NGvGVwm{=x|$#&jVjUZxSxbNZ4?>{V$jo&hVGivcvX>z;kNTQTDucu
zQOt+}PkVUb3JT9(PP9K*P?SFh#Q$#6YCep9zA(F9iPjQ+ZpxBtE3DpMQ)bSC>U|};
z??Y6hpn3VPo(;NmP(*8EMc3WDFjSx2gO~S`u<yoZc$+=Hxm9|PtG=Xxjgm~Y!bX2;
zy^kCuH+gP7j;iz>@HD!AkDiXhpHPLD<nk<H+?jPu0JEJ53HGBD^;VMNgGf?jE$^gj
z9wW?f(C2W_bq^;qL}m}Uf$N`L#&|HRn6-@G+*~uaQ^@a&R=)N76bLF_ImGA1bKV6i
lbP18h%|@9^C3(8etX~8ahkY!)r{Mqq002ovPDHLkV1n~$UpN2&

diff --git a/interface/web/themes/default-304/icons/x16/calculator.png b/interface/web/themes/default-304/icons/x16/calculator.png
deleted file mode 100644
index d1782c97f6ac5b7ab0eba7f9ee5e95c3a9c3ab26..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 443
zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004kNkl<ZILn2T
zzlz&H5Qo2AWQ@+`5fWePw~#9%u1x2Lh>AQ;aPkZWHEB~=m9IAh4B`qw$Uz8Vo7)4;
z?56O^*cbm<7`|cH`R#88*39Q~0E{sofic(5?-=8EfaP*Y5@Q4)#(1|_EWUPKceZmd
z7*G_&r^8xOmSvykNs?TBzAVce__h}?#`O71_BkWQNC<%t0;;;tx7#g~$po`BFGmgz
z1fIv^F{+A)AR=^Kx94ayB280_G0*1&{KJ=rv({5mo_;=IjPXYTv)QcAAB&>Edw*Ue
zP1$TVkB2p@s=S6(Ro3e@m)PG^)tv(o*^7w?)9DoN{Yk#=#vVE77bYS`Ravc8T%w4W
zzURLYLI`A8#wETT;n0CqRjR7u5=F!wIdIM$jgVy-r`Sh7f^%*sP}enW+v2@XLI_k<
z#VPjTy-(V<rLOCp0C3YZ&3otE&{|8L=M0C#leE_2oEtVx^8vU4Fu*Nvm!|2xwf5b$
l&lE!V<Gud@{E9LD{RdZKc@L(tTV4PF002ovPDHLkV1gnA%=Z8Q

diff --git a/interface/web/themes/default-304/icons/x16/calculator_arrow.png b/interface/web/themes/default-304/icons/x16/calculator_arrow.png
deleted file mode 100644
index 184f01693af878a46c845ee5c1e9ddbb5e2a74e7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILnRB
z-)mA~90u^OKPa4a)kSsVP2yFXEQ!-33<QH9FG8Kr#EXhz(oeB$b+tg8vZkVp9D`LG
z3}nTES`lRq=P!2DX)-LcVnYJ|i6`IDv2)>CFMN0|-sd^zC9Bm+jLl{<cU=7sW?{pS
z#bOa$Yq#5IwOYGk_pB${5J@BwLBejgV=t^H+7L;lQo-}cS_I*A7*nfLnEW(}z=r_*
z@BQ$-^T8Q$V*K?uSWmPelF4L(Cy8bPi(eNpzd4V&>KtZ@Gng(+gMD~(b`-&nL9m`^
zLnN2W1tGWFjlHm*XhUQ&nFKc)jRvaK>aN&5>xni*Mx#-1t6r}o9*?73F854!&w8Q_
zk-=aP+^N-SVAj{ydnUtrXKu#mv@1;9<p7ahuNSy0l?r0981ngi&%D3fgdw`QZJ7P#
zI2HRr1O6%z$8iD=dupjvLN=T2nZr-NA>INyW1fqCckFyXr_%}U@jQ=ED1>x6-A!9y
z1?Qt>7$??n;_fSqyl5i41$4%Izi-1qYPFiQS}o%(6bfKcsZ=-3OIw)u30(RN4441%
zd;yM)rFmjUrBabbqj{Li<q!-8kxVALdDgptp$97%xV?ly&oa1YO<X7eM_h0Cqu1X$
z*uJmhaOXT?e=Qb^$Ye4-Q|Eq(<Ey~Iiwl)LqxZ^zlOsD1IMmUvP$=9=rPBW|`-fZ`
j`_4VymJK?`{_N;CcO3rIviaSd00000NkvXXu0mjfi#!%a

diff --git a/interface/web/themes/default-304/icons/x16/calculator_exclamation.png b/interface/web/themes/default-304/icons/x16/calculator_exclamation.png
deleted file mode 100644
index 2468be504c46ba27467ed62e2e535d05f5e224dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 615
zcmV-t0+{`YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006mNkl<ZILn2S
zL2DC17>1vj?l##pShU(UEta-v1@)j8Y26+qEcK#-NIeK16ffqGqX&P3;7zI*e}I8p
zRPfk%Nl_4_B39c9MYM%V+}30pcV^a06E@Y*fsf~%559Na4@S(*%>f{UxB_H2`22{X
z=y~&EMNtGm6h%Yx^Yf3xFzh&K+cx=p{%*Wyl}e?i_AJXf@cB}y<N;4w211CY-gOHu
zQ50c}!5D+qx}}$wm&s<ch@#kSOAs@tXEGVI)+nV=N)d)(i#<I(IF5r5qTb0MSbVhD
zF}j1p#>WkW5J8(kE|+WSwR}EL5Cok~9EYW)rL}lZYOUETskNq3sqjC3e*ci#w*t9y
ztLOWAcW9QSlxmqNrI?wSAqawf^qCmhX8iO`POcUvXQ#g=f!)^7UJ0!=3kwVU!+Hg}
z4v}&a93PwN*M?c8LFs)f7-Mi<mv&BL>aQ8ip5?}^XN-(b^&2g&YK5g$djhGord%!)
z=ex>NQmG_DZ&553(T&YycWUgE(p(4?NZ<F{R&ZUHI8Tgh(tGqU->YwV`Qjd1jZfG|
z1}Bx`dKe<)%E}7WYLy@eEMpAia+xMo@PS%w6=8j$TW)db@&i)V4(W8G&rYV#D8;k{
zQtRvM1HSJkq?CA`M<S8H^E|@sS4?Cr9JxW-u2K7WpR`>gZU1I)xHlVy+z~(@FyuJS
ztd#Ot{FB_i*0?x2YzE@Jt}c|5G`}p1Kiw8@{sQ*SQWN5IGKK&E002ovPDHLkV1i)Q
B9U}k$

diff --git a/interface/web/themes/default-304/icons/x16/calculator_minus.png b/interface/web/themes/default-304/icons/x16/calculator_minus.png
deleted file mode 100644
index e3c8b40714b4a3150c83d3e513b35952de8e3cff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZILnQW
zy=z)w6vmHwGZ-NmGPFY?8N?(*<KQ4TND<tUEGlk}Eg4GbC8R@_CNxMc!5cwBw1Jcg
z6<i7-Ln*DbSikTKMT%6i#l?T1<J0%Fec?)Pum^rT!}&e$dngi#5EG3?w*`;>gKgPi
zC>#z;9#19{jK||U;XQkX4w1!TkrZOF7-qqqp+jV~S|x8&-%>a&pCb7+iIXoUIR12u
z#K#1VJ{%#QisRt=0PGn$L^hjEa$dM8Apawe-1i(V`<KYJvp8#<fgj$z*oF341AB%J
zk)kLPT~$@gf;~frC=?1wo{UB#^!xog;XQkX4pA@|lsp{{hsb0y=ytoN$$Rz;9il)W
zAbB<z48Sy-P19u9lbyZQRU*INFHw8F9@6PF>h-#5@}52R^~FWXlNg`RC)wjuJDm=y
z)v9Uop1tJ40u@B}_XA$9SF+z~wV>-d%H{G@UhV84x3Yrw8yk2%H+L(FE#@6jhFmTe
zc|0EGd85$)Q!16F^3B>Be#Ybfa4sI<BgpA=lH2WmQLELUX&Q>f;#6k0ws5$-jO6+{
z_7!FPQWTk2e1VvG!96jD{9C)-Mx|0QP2RI7{QKN{NPlKY@W5`js}6@FF$?yDzxlUE
ZzW`(X+-SgikO=?)002ovPDHLkV1k`=^Rxf}

diff --git a/interface/web/themes/default-304/icons/x16/calculator_pencil.png b/interface/web/themes/default-304/icons/x16/calculator_pencil.png
deleted file mode 100644
index b3665e9af67399dc079db38c25adcffa8421ec5e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILnQX
zT}YE*7>3`^327b(Yfu<0m}5|qJ6JFk9JwFqWD&TrGfx7;gOG+45rPIX9I~I9;>Jvx
znPfy17G`D}bARlQ4T;sNgTM}U9PIG!dp>+)(Zn9OxZ!=T`}y9F*=#mO*zI<!$k=~i
z<sE{JjErz@)M_;x92^`8-ILeQVN4JN&W6L`z;Te*&|$2lrG*pm@A=`2`{0RrF#mBL
zb31czZM!hLHH%UIC}uWiKwd+KF_}!pS=#uvf%PxzSpBq$mGTNg`4AQ}i=f5h;c>V>
zxIrH8jM0MD)>e+!>2%^a$Rq!mSkBNdSS%LK&1$uZa=CmYbWh$wcQ^YXmZb$oqmeUF
zsZ<aQ22m^)n<m|px7^dy|6LGXCI#U#GZ+k<Tl@R_AhOwP(<DqL)9gfF-xQ{&@k$V4
zY+zu3<1Cd*2m}I1r_)U{v$qVh+5DnjuVc8Y%d^7RFw^VxoJo3Wp-@0FnfxcSiAQ+1
zK8X6yyHKfAQ*ybyH_XJ*>2#dixm*rjuNU!n{I86@58&xSk5qO|wtcl4+lD$jJDIdV
ztyVLwR!iK;WHKP4(deH{#zJ`Wq+cpW{FiX;%DM2M{wz}{6znQH9HmmpG#bslR4N6x
z+l}4bT`9LWBUpQQUMfGBQDf_M0OXP1I44C;i*uj8n$PEvNF=0u9=s0x`i#du9d_O>
zNv|SL^v@jjq&X#WvAw<B+0oJAYD7GTeMnZhpgOU}&&U(cdk=f;Hxg~&$(<{0MF0Q*
M07*qoM6N<$g25FlTL1t6

diff --git a/interface/web/themes/default-304/icons/x16/calculator_plus.png b/interface/web/themes/default-304/icons/x16/calculator_plus.png
deleted file mode 100644
index c833693ce0631a6ba123241f35b93ed196a788dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 562
zcmV-20?qx2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005`Nkl<ZILn2T
zJ!q3b7{`AX-e9hYQ<ab+5ow$q42a2MC<+z)7&6x4A~cGNi<9VBa1@E@=HR064sq9p
z2+7cZ8b1gPC5qJgg%mVz()T_b+BY`Vv<DBr|2^FEzvu2ak<aG=5JH>-66`%bTWg;N
z6USN$fVFm_SS&v9eSc(SI2@)>D9mloIj-vlddhK}J-2sVcM2#C41^GY?q#lLu-0OX
z!5D+qdZ1ga7L${ch$o^q)WJ4`ZX%IDYmHJ0r4+vJ4;YO`ky0Xr=#Db*>i6p-TbD@I
z-mM{o@P-U>xm=)E3WWlm=Z!Xzl4i5HvOO2lTC)`)tu?h;jolcm3&K%K4a}5MWV2a3
z&-*X8?k4o{#CNd3hTSaM3Zb=TadDARy#47e^~=jQI_YnvPWmgIV_$}kV2mM?$uNrV
ze=jq8apn-dJx<^LZ98a9YfYt6;a|?L-s8g3CG3V~U9UsmfU-+iN+Oj?5sgLxZZ0e=
z%ma9yhm>-_*|%4jm_EGYRi3-g8cw_2CYekUi9{S@4Ap9tbUIC?QW@}Q{0J`}HHpPy
zIA_Or^Y~R`^9Rxpz!<PU9*<uum&>;t$D!Bj5s5^0aOTAo*3b7@efZ%ucYdAZ%)YJw
z#(@bb<>^o;ba1zi)IX)B%>g@Ze%d-^e-8NZ2Tqn$W#R8!H~;_u07*qoM6N<$g0F1?
AmH+?%

diff --git a/interface/web/themes/default-304/icons/x16/calendar.png b/interface/web/themes/default-304/icons/x16/calendar.png
deleted file mode 100644
index 7f38cfea75b5fc0031a63543213ad558fe35121e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 415
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU`+FLaSXBWpE_y3w^N|V@$-L$
zW2Blme(kk1G1+O=wV8u=*DHY*$Akp}dcC~cELnu~wwZ?M1+MnH8qk*1*=bv8clPqn
zd(jIY6zu)5^LgC4@5MW8<o0U0mM&B|aZ9i)u(1AjY8XFX%-)l#%2WJ0<+8R)Eq-Ko
zvM0`szhaW_jwd<ORyQ(CKb;zDId@*tD)mT<f|Xjc3%<_v`ndJ}dCU3!*AtB_kEZYg
z#b3@dF^^L^=v?{8ec^$-NfT#J<+A?x!+vhYl-CO<tUGb2(R+KFwYk{i=Lr*}A8ufK
ze%>QR4I~=fW;@Mv8w)pI%q^2Q{l}8OxhZQ;Xl0&m#>2kOWX{0@TqzF^{FN^F@wD<z
zp$t%FG5Z?nKC5-7&*ohRNi8*Xezy1i^XX-`!MxDJh0gQ7-N=e;)REb-MWg<5SCG2y
zPm8Z{=Rwj}ji*hu+I`}ArQCx9M;qR<E-mu*ntPsEW`})TQSy&X^LESv20VkOtDnm{
Hr-UW|6py?6

diff --git a/interface/web/themes/default-304/icons/x16/calendar__arrow.png b/interface/web/themes/default-304/icons/x16/calendar__arrow.png
deleted file mode 100644
index f98abd5996fd701bfea83b11f382202c374fbf23..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 554
zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005;Nkl<ZILnRF
zUr1AN6bJD0d+RBXAX1Q^m4!5Xi1f*aD18ykdgwtXf*Ke!AEH`e8cZg833};a^$-Ii
z3u{aS|2(;rAd>zNE{ZKew;Z#zhF+O-?b|uOE48tq`@!d)dpYNOxLhu+C`A!A&iFL2
zE~)Yy-BGG18OhSl0w)`PK(rVP1|e0R^Ofj1^@1>8*aU`$vDDZIzu&JbhK33h^mtY>
zlBFfSu$ey&2Lg3<a9335y4~MjAipQGl94RECGAzlZpSvi;!m#^sj)G{78YRi_WqN!
z*$`=M)m3ICBUzd^y-D}<;9GMuR@>S%x&PhXUXsj8MzVCmbParRWs)Nq$<lGtjchK5
zOg38<nU#!Wsm63G%?)E~t1L1rnVP%>0~?tPl7_J>SKt@AeQTKfYRG~Cz2KPXZZe%l
zES1_-$I}&fqCn@fD6CC=FKf?TAv#K$b8T}I%ZWsho4yb(KKiWH-<d|oi!kml16IfE
z53B2gjV!!?jjZx3hT`!e=Y3JQzXRQ$fJ^WHyZ!~R+@4>gD*l^}D0MH+A1AWDUc^57
z5ocTht$uI@4c;&=yaOsbAIB=MPTAx$R2^38;d74%d$IP7;$#529;$7bldLQ_bx<jH
swNg*^vj6nu(7vXT!~x6M*OHO!Uvk@Ct_u7BcK`qY07*qoM6N<$f`DcJ&Hw-a

diff --git a/interface/web/themes/default-304/icons/x16/calendar__exclamation.png b/interface/web/themes/default-304/icons/x16/calendar__exclamation.png
deleted file mode 100644
index 103e9cddbc1564b0775c1657e74b34918aa2cad2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006kNkl<ZILnQa
zT}YEr7{|}K=&l=Yx{xC1!>pTK7(|f}UFbz1UNndyDb0%rlo+iQhS3C(q@Z9I>q0Pz
zEJw7cps46W7`9MiZEnt$w#|Lm+@`*6&b5E%Ij_Vv-=G7(^M4P|^Lse&%ge%?vxvYU
z5bKDbos!PcO|)v{kjpj)SOpFnV_$qeA1LWujz-NY2ZY2Xc!s_{cpDqxbUJ0Cx3_|d
zn&>5mT;>&<;MH%71s`-e4Aj)f-01GEpu9%C<dDnUO!BeN)rAdl#b3k2$c~O8K0Xem
zv-2<Mwl+jsT4Yi$IpnfWDie955#O7d5NmCf&~wIM(1d!)A(z#wm>^c^KcPhqx$J<7
zxmYTpP%QqF#QYF~?$a`<mmG3goywKGXj0bKHCfFqV|KCwO8TM9TtNXjb!7v3Rtp8B
z6-ATqoC9IM8AWAGqzUn;lLqw20sB?1r}KHlv)Qd=mf&%<V>xjbdc7W*g`4oX&*9)U
zc7t5DPsO^pwuYan)D{B4r<iu1MK*E`q7^a!d3arV7>@A~F@&+bD*Z8W)!AgSiUcO!
zcVIqn0n?slym)Sg=j#c4n>vL%m-*!D`{GZk73|^sR#JSd$jV9ufgf-1`CT*S0w)pj
zHpm-LhP;R2ux(#>ImD0BTh#96{N7``9o0OsABW$iLn3$xiJ5vRsjD)Hskb|GV>UiQ
z0~&U4KCp}P2i06W!)FFBu|+LzTUgX&WRLy;=xAGo2(mtI00000NkvXXu0mjf#%Cjw

diff --git a/interface/web/themes/default-304/icons/x16/calendar__minus.png b/interface/web/themes/default-304/icons/x16/calendar__minus.png
deleted file mode 100644
index c9a9885e4e790384449f0c7bb5d47e4d64acab45..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 456
zcmV;(0XP1MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004xNkl<ZILnoi
zze_?<6vxl~6IvRA2>M}dW(`fQjo~a}f<jXcQ4|CQ8sXBGkZlfzgo{N(Q&cXIYfjZr
zmSTyCS!(9#eBTpMdc*6$=bm>t=W{qbE<GtlIUy-X%n6IgxIcF=s=<LvodH2186nDK
zvsp&Qy%&R8P#bVBhj7fH5Z~JEoJys%%z;23eKqNY1D9^)5YB$q*ZIO~<?z6OmcRY}
zK6-2Dg#(vvNaM1(yv*OS;#(}nl|+II=``1TzAj~#i*pMLT1GD%xOAm+UH5wVVSb+T
z4u=N5-<?iF&<h7HP3f$#MB5|?IB;oFXRXz4bF<Yl1$yDYC5z5RT?(~E!xZR+W9b>N
z`O$20xmGg;df{jTCUmyS^*R?S6;q%W&JqTU>jYmvKl!m#GUVLj;gjj<E~hgyyifFU
zNED?p86fQBWwpCv(U7=2o-eoi4>BY}L-LwNmD(-J&&gG*h9u=7?b&QyBC^3MQDGY!
yNDPfAb#N4o@_&E>7XxMol?o3l75@)#;Qj)nTU55s$0{`d0000<MNUMnLSTYU)5stI

diff --git a/interface/web/themes/default-304/icons/x16/calendar__pencil.png b/interface/web/themes/default-304/icons/x16/calendar__pencil.png
deleted file mode 100644
index 946554db6fbe3340a6d52c3cc1fe14539921d610..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 561
zcmV-10?z%3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005_Nkl<ZI8Tj{
zUr3Wt7{<@J@qRa52oe4F&WnO>97WLTCh@8Z5eoEHp&(2GlZ`@%U^fLDQAmU<CiIOc
zO3W-1!zhAnDCMZHm9mmG+}xaNkMDE73ct0=1Hbd`?0J9hzMW5f(psg3s37ZraFUhh
z&p)Y`(V=TLIrxR>Ri$1flS#1hypcMY-wc?SO^6{7K*H;VWm%@8zu$!`lU_P>RYEr5
z(U0C<Of)xR(Bm<6t*6Ju#*Dpm=&BiIcvkN2#+p3hx1k~AA`vW3PNLA&^_y%*2hy#r
zrm~j~UG?1IWvR0hDW4AuZEXgA{@&hR7xvPjtC}3nKvs2=aM9`GU)ZY*XDihz%9YBd
z$WKq>iPrHctq-X^GC(+2lAy4<`d?DEjj>P&7#M)1^~A3M=kw(<vW3Dwu|Gb>oskg~
zi$xsvcwXF8%BObA0O3NmRKj8|_gCgq5Aig16vZ!nxEu^(dqcyuQ@q4o4*stzE3lWA
z>N5N8KE^Gdkt1O*-X=ythpyV`aA`pv@qH%q2l3e$#_k<4@^GjHQ!`PpmkwRkD6e9N
z)>kreLFwgX7jqw8V?1`u`Q_^e@h1Mje9vAwbj^%yT8Hn-&DL@wa2&|bA$+k3w}Pi#
z86CPDuy2djgIl$}U5jKm(W34Bje4{;qeFKc3FBN9$u#_H00000NkvXXu0mjf;290$

diff --git a/interface/web/themes/default-304/icons/x16/calendar__plus.png b/interface/web/themes/default-304/icons/x16/calendar__plus.png
deleted file mode 100644
index 84dddb8df4932ad74c9a577f8f75236fd142d290..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 528
zcmV+r0`L8aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005kNkl<ZILnQa
zPe{{Y7{{L%=Anqtf)0ZStW3!I2^~7r!aVF~5_DNo!A6Hj13?T11`|{Wj~*6X78DXj
ztO)YZq4LllukK_8w%VAjHEc5H+PCNX{v<Z~p?l%;et$2|^LcoA`N>yfB(2OTx=t%s
znLK~n!mCDyu51m6DRVO-i>Xu!OrGoUsKxAnPr513Fg}i@Kmf^P(k8~n8fd6#FCDtF
zq?<DTXLJ;=9S2iwZ8kTDh8n1^v6l{A`6!k*mBB%5>J@(^5-85jBD=7FQY7+^!oUF1
zeSJ3BONXw!b$MS7hw(WWM5e#r!tY<9kSFY=LsvRohM}w0BwTdp$}yLbYORJ!wb~Ty
zr9)RbTyB@OP}<mN3ii_Js2dRdU8$f@Ds9WPcel{}vKQeG!yFK`1CF}fDU{2|7K_{B
zJnuo|=LouA^n%X*3%f*)h$XhVzK)fA-jmC(Zs5d|bCyf1*Wo<vf$whXce%eWE{Ao1
zGLg|MF6VNdbUiwY^O=kPAv3Lu;@7{a-I(c|K2CaV&66whH*qp?#?rMCfb$>#Uvy7a
zruWAA4E{sL+<P34V<*}tJK_Iw+$J5m9B}G@F;fSPdAJk1gDuOxP)nXkhwfjivr97w
S<tan}0000<MNUMnLSTZfboy!l

diff --git a/interface/web/themes/default-304/icons/x16/calendar_day.png b/interface/web/themes/default-304/icons/x16/calendar_day.png
deleted file mode 100644
index ea7f247d49513509dbce68f18dce65c23128005c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 489
zcmV<F0T%v=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00057Nkl<ZI8T+5
zy-Pw-7>CdK6I>dC2>RX}8k$-gqoqZJ0>v%CFbblA8(2$jg|-Pv5)IiP1TK9nQPdDg
zgB6saSYc9%U-|a_&h3hVf*yFzIq!LY&*5;n;#EqKU=A4`W6TUz)NlVZ>%oDmCN4DQ
za9fD$SS&_ZQP<O?r>P4bd18)feVy*d$0-~RtCdz)8))cp77ko-&l7X<ySPZFW;1P?
zOlmDVoek9Ykc9(RTnWWlX>N|n{KStyfU=<wr7kWgXSdhLSgn+poK!2aaNvq_oy&sF
zMo$wHl$@GUVE<*YGzD2WaK(tuJn^Wu2?iXvVpwOPQms;{QlUNmP#ZoU?F56WHqJbJ
zX4J^Sfh&e|mI~a+6^k`iyxx{IvT)!U7cBpjN|edv==R}(T$)Bl(Wt5oaAxe0g`+MQ
z)LF|E3Y5xbYuMcGmNl|);EDkq?LD8Tm(Ned-Saa|I~=tddjr(S!htLLbv#La+D$x8
zvo4o<?tUaf@pQT=$ijguy7_PFlX5G~A1Cqs-4@8gfvfK5m2&sM@25_H0~Z&Jc1gL}
fBW17?;K2O@ntn?oCK=os00000NkvXXu0mjfQ%~Jf

diff --git a/interface/web/themes/default-304/icons/x16/calendar_month.png b/interface/web/themes/default-304/icons/x16/calendar_month.png
deleted file mode 100644
index 1f3d9444a4b76788829d93b374fde550afc256dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 507
zcmV<X0R;YuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005PNkl<ZI8T+5
zyGw#m7{<@}6IvRA2)b_#4Na|%(i}lUtu_Qv5EK|hOJjpkgwVyjgbI;eC`yS$qmWXH
zY{@7pC@J%rZ|8Zx{77)n1HW_OJiq5V!zUi36bXe>p+=8l5G&4)e^k1I1D7XtFe{u3
zLWHByC}G9<KNarGTo6~2!b>wVbluxa9*>7tnwl!3>`rCjz!leOQtbYWkJE8i7tPhx
z@tPkQDdYbgvT)#vkYG-7CKKh=6W^>>O4@An90*Wqcv$CsV1N=vBd^H9fh+tP!OYMQ
z-5U(_)Yr#g|Iy!H5oF=O6`dNRq(-qyFyO!y9U5bWVv+3o`?R^YM;ksLt?%s6>h?BS
zy<S>zyJ>lAi<Vq2T68!FSvYV-yT(MOP~d`aJWipzJ1#hl#mIkk#RZ2K7j$rb&IQQA
zfm<q={L1B6PUrK?+0Bi<KaNE7JxY*;!v$>`)9;y#{`KJPEf<ttfP$mTOZ^qd!htJV
zHO#Ny-&~MPrx_HK_9!UrQGhHQxS~a4_9>OB`US|sfh!u+-_$JS{7W`ViO<ifKo$;M
x?r4&7(QdI&Ex>_`g6?`L=NhG4s|7f4e*rRZOy)J%x%L16002ovPDHLkV1fht=}-Uw

diff --git a/interface/web/themes/default-304/icons/x16/camera.png b/interface/web/themes/default-304/icons/x16/camera.png
deleted file mode 100644
index a828599892892978cfdb8cfbb866d4a96d2cd368..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006jNkl<ZILoDz
z-)mA~9LA5gg15Vf!ss9HLc0)5MG-+S6i)_jdErGyM2v{Q3%4fGSYB*n48_V|!feXM
zZ2n3;n)rh$ohc?LvJG$4f8*(W-w=v|8awbg=ga#&&+~qt_i#7>+;!lbPUjpi$8lc0
zUjOUbKcTlfgvC;+1PZAi|0j!7%Q+m5r9Qc4vl*t-=^soclfTmKcKcLIrshPYQVELN
z?Z#j*KqL}j&t9*GTCIlpbhM^xv^O4)VYAtua1x2+kP1B>4>Rd>I=HyFM7!NaHk+k8
zVKf>sXie8>Z#W#nYPCM42A}PAJ6tXoGiWxOjASy2LZJx%$}5PMz|C8?;q$E^l}clG
zH;hK31+&@wj2h%E77KWuX9k5r0f|HstE&Oz^95)OJe=ML<DT(8DwQVd6^jiRjmBka
zP&OD0bR1?7i|rHQSX)~sxvN-u^couxk@3*`2KBm#Kwtxc(1up4eNGRtq0wkyGMSh`
zJbs9SgA_J5LuA}9i0<X!f180nn8DtD8JSE4J3AlABxg{o)i0<)Tc^{}ahSo;Q4Yt)
zMG_;2t*!Uu(7xjI^gCLuK8aMr_Vx#yoYYV*pFyQkz5MMn^85p&(^Vp>lb4%hf+|9x
zID)}<jBxl9>DNg#kwg%oP$+zyTrOXZ#S-U&&|<j+;Tv%m*$#6A;U`o$CmKzjQ!OWz
yO7F^KG9O|6iukCOMvxK~2sf_C0@Ggicm4qj(>q`7WQ73$0000<MNUMnLSTZDr4;%A

diff --git a/interface/web/themes/default-304/icons/x16/camera__arrow.png b/interface/web/themes/default-304/icons/x16/camera__arrow.png
deleted file mode 100644
index 61c488d0b43991ff372c2177ba7ed26084ff2052..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 695
zcmV;o0!aOdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007hNkl<ZILoDw
z-Aj{k6vuxOburtG7fO*B-37reG|ZSUY=|(UP3HusBNns@2?;B9q01SW3BDwvJ^4CK
z#Zh2$X4B1bFX&)yt%0_37_sR^7ySv}e&;bM=uPOr=Q-y&hx7fNa~J^jKQNt6w~vW2
zW-2Ku`8oGb=yQsrUs_rM!Q-n3L{Gh}va+%^#%*V32dPx*7m~^3Z;3=AG3w=0vruks
zE(n9cfQ^j}2!bH`Xfz71*Ngq>D5f0Mwzs#TR;#bGw6wHm)MzvsMUikgjIFH%g25o>
z=jZ7q#N%-hiYZ66&CN}emzUR*zzdB=gPNKeQ6LZqh}i9RxLk{9YQBq50yvR<5@vHV
zW@qQn*Eayae+^}2Wj9D*L8VebtJR7EE|&{4Gj>=kRxB*IAXjLiGYKMv$|@``2gKUq
zq9017vVjCV3Wb8k5e3G_CplASX=&qozd`MlduSIzB6X(w@cBZpTHE1v2T@d1bd!$g
zm&@fSEiJ|Q#xZC|x6u03hpw)EKJF_F+g_sSp%YCVPS_?ra5|UK+dIN1Sw}%ZK_dwS
zi;IhC9OPR)5K@3fcn{0y3c9-o`O#iub@d(A)?$1mFM4{0;Ba{1@vI{+FYh+Xu4?@v
zyW;?H%pjolc>+D30o9|ou#EW7-#>+pjwd1m1JjtB^YPU}e1#BXGMSkbj(zyr{t37o
z1F9oGxD^K!4+7##ZucJ4xX<vg{bNo}P6NxhV4cn~P9(D~*>=;bAMfVd5~v6R^q+A~
z?~qERZGXTlkx0(c4J4dQ&T*-JB6?;8Ab(Wdd5v;^A@h6ho*g=^W=AT9gu|M_5chTI
d7dzQO>>KMrDG2aXjiCSl002ovPDHLkV1o7+J9hv8

diff --git a/interface/web/themes/default-304/icons/x16/camera__exclamation.png b/interface/web/themes/default-304/icons/x16/camera__exclamation.png
deleted file mode 100644
index 1ba77c5f01347457684f63980acedb46cb43514a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 722
zcmV;@0xkWCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007+Nkl<ZILoDy
zUr5tY6vywLf`Pr|Lm9Jzh#vA`D;TUXw};6FO*RLqNr<(~kP#s)n8p%CEl_MJznG=c
zANpmcZqw#Ai@7;}FtxSZT)M27E5V{3d<(w)?k|KOrJxI+dk*JtzW1DaF9AUQ2Vypx
zx3CaGEGm`i_t;;d+d-ZRzuylE?_c;wDrhY+8jY0+e&upGtgWs6K{lJ+mW73d1g+(}
zCNZg03QAQ~6_Uv$7={sSJRV0V6v9?_)Tc3;TU}j+!C<&ZL?Y1;Ev&At7DVRf=drSq
z0mpIhdcE`{q|<2u>eCp_rBW&A_4-RxV6?Qf6y@dRf<Pn^5nx#sKHntljn@#%00sLC
zVY4-2WW)`pvlrp;EVNo}Jr$VH>2xreOsGFsh#9XE<3n|5YI0y=!Uu)g1ha(^IH@Va
z)Ko;sO-_cP(P*qxAgETWVK`L+XG=c5e!hp`Qx&c|9Q@obQF*=@ZA?tyjHLzB(=j+4
zZ3qN7D3!{~^b*4gg#vXo$KZda$B)e?coVIG>$Zh&_c{6o#$j*wz~14(z=I$>o+)&9
z-{m`*gIq4ZLIt?uVkNqp_aT>QrT+jMA6wyLwdm|*_)B|%X!JE^XA}HLA#`=QFg6xK
zFgOR9Ox7Sg<7wkzj1Hc__pF`&n*^VhYQgz*a1Y%?PtQYiblef>?R^Bddzv3D#*Yv~
zQBjeN94M4nJ@-}L-YwQ5mC(ZLX+R>b!Yi%>f#EXYq(I;ov~Y{QK6Y6mkyweoc-Prs
z*PajW(`sZEr9ubPW)@{&ncZ2HTs)AMm)E)tHnCWIoIJiI>R*Z;+E`yciuJcgu=(Yx
zU@6H+!G^0%#PXthw;`WLOa^ZdXMa1H*$J9AYRQi4C!t3|eI8F#ivR!s07*qoM6N<$
Ef@nfZ@&Et;

diff --git a/interface/web/themes/default-304/icons/x16/camera__minus.png b/interface/web/themes/default-304/icons/x16/camera__minus.png
deleted file mode 100644
index ed506c6c3f01809a785059cad557434fb7d8aa63..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 629
zcmV-*0*d{KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006!Nkl<ZILoDz
zO-mbL6osGnop(AaO^l5;pwN#fi3AIUY%DZXs-<)*x+>jHyLHuODQ@adX#PMe(opE4
zt3p8pA<%_H#J1E9O-rH)8WWRoW|HZ`4}^YT@vQFVK5*|jNBF+ac_gN%r;lfIadDBc
zv9U~FU*DMl3Wx%urfI$~O_NL}BhI*616IW3<mAKI+1Y2|aCqcT=lt!&?d|RS+}zxA
zmCa^nEXx`JNF)-Z(`lBLmPn;ixUNgJTIJy2006@<=<e=D*L6an&`7J*3MwJQw?rb5
zR7$bBx{7VvjE_%Hsgx;~%k=m66Ny9sXfzrW3I%$5dl5q5d7hMjUaQrxZ5x1Qvq`B`
z#Ih`u(s`YILrujPpSaJ$LKfF;lgoXiQmLK*E;x>Z<2V4+>val+ALR4vwA(%(mh;Td
zXSnqs&2ny?VDJ)KTU#_59-ik(1zfOg8zBy#Un-RWfs{H*8C)H_$&F+ZfIMY%-9Xa}
zq||X;S1RB44aafNH0{t=Wgw*@7!0w$Z*%u{lFecf1l+qbO0~L2PtRqfREGdS*EEfG
zyM6TOE~Hcp3|wP#^E<KF5Q$hAAp|=+J8W!xA{ve1`y2wEKy)~lJF&@oI)eaIY?$lj
z43_niwYARx1OfpD2jg^fbmIFyuIp-QNGbdA)YNZ5d9{+`N+3Wy9_Khqr$c2~U%%|`
z?l#3EAzns=NVP#b4Jb-keB0Ui?jKR!YqeVM1<(atJnF^&$OG!)ymkHsM#}DOB8$!s
P00000NkvXXu0mjfpoSwb

diff --git a/interface/web/themes/default-304/icons/x16/camera__pencil.png b/interface/web/themes/default-304/icons/x16/camera__pencil.png
deleted file mode 100644
index 0611e47de4af5374a372017790f8b9444033d744..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 666
zcmV;L0%iS)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ENkl<ZILoDx
z?@QBB6vpot-^jqXK~gBa>E$9<G+a|0GE!)=xfffFkZMc9B&3=)f2>qYq{MV%;u1v@
zXN0<mOgD?Up@Zp|f;Lh{r27kky?nao#v&-l=)&jT!?`@qJ?C5ofc+25Xf)=rGRCZx
zm6gBd{t9j9IOf&WRS-P3oe(o=nO?8IvCCIBo5k_*@oyX*9sQAHGPz4yUNuXUm6d_8
zSS;Av+k?mB5oaouLL?GFzB-C2M|YV_20ERtkx7#Dj)V;j4Z>u5dm9G_hlt1HSXx@5
zmyk}U1r$?`?)LZhQCnMkp9~i2>gr%JnS?<s78Ce<J_Lg+aI|+KaR{6_TME0q9rN>k
z3=g{zjc!7#)i#mAa!pMQ3<iTR2nK_go%P}MT^n}FRj|laFj_r=tD1VOt;NvM;l#>H
z6dH}DnGC{JRaI1uFqoX2hRZdIPO}B*>cZIRQuKKef}7SJtgk2FboL<>ibJhdKcpc>
zRVo##tE+{9Z|WJ>^&pqa;i<`j@yESzya>S2AHc+P7=geVhKAnoO17X>DqF}PUQtm&
z<)HrhdA#>tMlRb5o9zMG+PeABK44>G2b-I_SYD1`aBvKZixGswTTmzzkA8k5iASCn
z3$b_LB4(#X_`p8$cHW}De^lUh&%p0r=U<xOEhHe9%k8YBq@;Of!tvEVSuVumFBMpr
zbBP!7ghD?cVIHs7_nEZpnzGQ~au$3daaU8pmn#<vXNro7dQX5|CX-!a1C3HQzNPW1
zRf^p<Fg<Un_=KF|$Y=(*r<3NM+>+FH4D6rRcU8a_9EjxJW&i*H07*qoM6N<$f}BD;
Ay8r+H

diff --git a/interface/web/themes/default-304/icons/x16/camera__plus.png b/interface/web/themes/default-304/icons/x16/camera__plus.png
deleted file mode 100644
index f3ba46afa818de3db3ece6b439dc24df37668825..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZI8UXJ
z-AmJ96vrRMx|mGpMo1H*qAm)&*bD~qrR`#{U1(donC69I3ki`3VHdtkBC%bliA+{4
za4=s+;L_>Zo5|eJ!B58$HY8<GQ!j-6g>TP!N{EUYbl~%x^E`+1ea<-y0Q(=9*=#<;
z${4dYH#h(M_D|@z!fA^{A|QDDut?gdmKlx4_C0RL$HzE2I{J-5q3}o2>GU4e@~)Yr
zP$)ojbaWt_&BEn!37^Si5Rb=2X9UIcM!9@GkCv8}9#&FP@|FraJ3EEQ?(QxQ4i1q@
zrLelXN<U$Le_uc`y-_Zg%fVnUJR*U2t*x!FSS&&ynM?|NJ|9A%Fa`#PAsqsjYA(ZO
z8-(A#g6ZiQBof=u>2$p$5Y+4SFquq3AQTE=anXmNp%DawA*eMbn5`~BgZ3WQ*OMX_
z4kw`1YWqkarqO7q9U<WHcsX;h+ei7_8)$#<6k{$)aNqh2o0}3wM#d10rqI~f_?VWM
zP^;Cbw%>qksv4SwyI5H8V|?7n+kFrB>>3812Qc6WVAdN$Ah3?9sW-fn9jH{QCnS(+
zYHC8oiyCx)?Z;KG5=%>AKE@g*CSLKSeZbb%M{IBJ@sZ+~oP3St<v3!o9VnH`e#W}W
zPi12lL6}dixaLuE>Y<;v@D4WMbk4!ycqy2fna9e?CLc}WBS@&LtFy5($AvF<PK@}K
z>+aj)7a|({4i%o^cKbfn*4FYRc9+kW4p$UPhbm5PeQp4GqO41vmdoX%f59e`$?9nb
zGEOD4muIT-H$k4?tBRoVM=dv18DqWYU99JvBs|@Vv~TgX6LmNK>P-Lu002ovPDHLk
FV1lU9J<b3C

diff --git a/interface/web/themes/default-304/icons/x16/camera_black.png b/interface/web/themes/default-304/icons/x16/camera_black.png
deleted file mode 100644
index 4d7c826035481345f690692d55fd8c02015324ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 538
zcmV+#0_FXQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005uNkl<ZILoDz
zziS#{7{|}GQ-qR15HwP9DoDhjHcGAy!I1OJN$`#s4MwcLa8N_2g7wGPzaTXKK$mtX
zbSRY4p+kq%E}gO@TT3W(%>3>9eW{_Piy_13?t9PkKA-nJj#B_AcR_JD95Y@iiZcD{
zc`kT)C^)e!3q<7Cb8^C23SQLf^{dHbg7J9#AEVLehT(81VXjmvSDY26R(?61PLMz#
zfKI1_NF*ZftyT-gViB{`F|)>Azu)I+-%#*1kw`$(G%0B`8tC<U+yU8a7Ts<agTX+;
z%o=;`cAJ8?6nqPXLWsp;Qcx<DB&k#ihlgcoj~-)s0W3K0V{I*od_IqOJdQ%4K*2i-
z&Q(=KI2@J&+qRL(m{8TA*r|$@=oYNnsf3xe<>dejV~2wG6kK{d9{Bx!DbRHj+uJ(`
z23Jt6Hev2P#q-mtgqbz=(&;P(A1V0ma=GC1`J})wa*}9N6UQv0SUyJk*-HsCYwU52
z5PYKGr`zp@*Xxx6)7+Qnx+UIq69)%1G@C~fX4cr_8X@@n&u3g(dVt;C(hZr+K9b2a
zR#!JA%&g7&Lhyxx4;vfCwQbkLx2__Wdoma6>-sfkDaZ-V1V3)c*`HbEo?ubnx+RNp
c_O8G4Z{UrdrKXz6vH$=807*qoM6N<$g5Hz<ZU6uP

diff --git a/interface/web/themes/default-304/icons/x16/camera_small.png b/interface/web/themes/default-304/icons/x16/camera_small.png
deleted file mode 100644
index af9fb75563b9ffe547b7a98bd41e19500e75742f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 315
zcmV-B0mS}^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00033Nkl<ZILl-B
z|NlP&C75Aw84wZ@!Vnr7$^ZmXAQ~Nm<OvyI0>tS+1JXb=7HopofPjF2%$F};{(t=V
zF$RA2?Ad>iJYEBU;EbcA<Nq^f&iwD|pYZ?8-T(iUl-0oO>({UU_xASA#%lm0Bjb8w
zW8?pO_U!rZ;2QQnG;Jmr+d75(-@W_5e^*!6JVFK>02#1!>5Bi+DNX-7W}X4#n6y@)
zp~wH*+S(Qp^n#6z?f+G)HvOMIXXF2xuC4!Tfq4FsJ^%OZJNMtr%&Y{j0lK=n75nxb
z|G#V3F`$j7fcWhHy?f7sX%Gg<<268BT-;GaM5GxP2FVZdq&y%7007N0s$o5e2Alu@
N002ovPDHLkV1f!Pn1BEP

diff --git a/interface/web/themes/default-304/icons/x16/camera_small_black.png b/interface/web/themes/default-304/icons/x16/camera_small_black.png
deleted file mode 100644
index a8ba67ec7d4cfc5851d9754a783b74a2b7d21ce4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 272
zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002jNkl<ZILl-B
z|NlP&C75Aw8NkTM2*yBQ3}d5XLI#8Z@fx53XFxO-97f21_07%A|7&Y&QE*L7&Hsjm
zhW{XWyaoWlTPZ22|7mGy|2;ju|DU=0|G%i1B$%C_pARx%3n2q82nq`R4-XIjZ*1ZD
zKQwJ77#o<m{|^id0vWKAkO2=t2Ke{{{P&M2``<D13>bshK0bjU1NIa2f~ct2e?Py7
z|6$Pu|MP2>gE5E=5(64=lu#g^iHJz~9}<%EKR7rM1B2uVxga0p4Lmr1kSFB<F#rJ6
WmwG}IStDKm0000<MNUMnLSTaEV``KD

diff --git a/interface/web/themes/default-304/icons/x16/card.png b/interface/web/themes/default-304/icons/x16/card.png
deleted file mode 100644
index 243caab12b8b0e2d888f8a83f4e7ab63d49eddbf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 333
zcmV-T0kZyyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003LNkl<ZILoDz
zy=nqM6h=QRQi_#D3R^*}eS(y+(!#<nkf<>U5lI9E8%wb=jg^gsg{4oBw@48JLU1wc
zBD=D>>w29}5F~{#?!e*x&ACi75D|m{p%=8r<E-NTLb7O%Mh|k~p^Nw7uoUce;s=2i
zbm-!BFerJd;rhN7bm*ee@0Z=}R_yg!3p#Xh*X>pu&l7XC(t-|M6g!<qOKqGlms-%F
zi+ro~^yj)VGfge%(8X=N{ybMt`d%!wphFio)#}Ty<H(m`$d6?Sb4J#u{GTzWi*znm
zGd3HU*|yYry=f$wY<x^6pR7+|k2Bt3O@}U`sZ=qR$-I$BB2fTv&3Npco6%K0Tq)ul
fY7#%VVSnQuu{H900*AC-00000NkvXXu0mjfXbF?c

diff --git a/interface/web/themes/default-304/icons/x16/card__arrow.png b/interface/web/themes/default-304/icons/x16/card__arrow.png
deleted file mode 100644
index f97d856ac759eb848ad8c9a180c8d89bb0683442..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 481
zcmV<70UrK|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004~Nkl<ZILoDy
zODKe46oyY0ma<`CVXLrp%WdOUSZE~WUy=JQV?rSo6B2S6$t^5qVKmA@7UVj16QPL0
zAk0KFO*0y1jMsOjL~{G{*VFr*bH3;FEq-d7ouzi2?pvgZRf_H1qr~wWN}9MGO`bFx
zMM|-nb5e|~5&d;RT>l{n$vAoqaK;RsNpB0X1ts5+KCrzR)xBe4f=YCz0{toaF9EJI
z2RGH!tkss{hflF^i!KvTcmU+>zN0z@B3joksBwC_%=_{JkJtMp_1b-;c5eBIZ(Byp
z%qenqfV3_HGCJm_sBUbm%q=duJf2@kXkJ3(27IYCoP%Ae&}hnC&(Cl?KK@FvW&=^m
zc}%VxfgN_KsHdmG>2|~V@E{9z*d<A=uC$5mX1iS$?66C@EiKjeE*Gw>R#~vaE@i1y
zHD>Xov%5Q4u){8;R8`g9IGs4LSYWc*z-LabKk|9TXLc!4p-@_$o^a)GK-t%~=oc2&
zG_2Qeas3hQ@r>_q%?`U15FRcCMn^X=exafHL=?jL*86G3uIQ1!Aee_T3HG_-cmEf!
X1e3ge&}R2z00000NkvXXu0mjf7f;|T

diff --git a/interface/web/themes/default-304/icons/x16/card__exclamation.png b/interface/web/themes/default-304/icons/x16/card__exclamation.png
deleted file mode 100644
index 7d51346b7030ff0c9eeaecf7a6e1894528b4773e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 546
zcmV+-0^R+IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005$Nkl<ZILoDy
zT}V@59LE0&hF8*+7hQPMg)zJdMe#075J|7rh8JFlmQG!T!;hkYL0*K3H?GiurG$ZB
z5q@-&Q4-+?IuSRl<y4rsopc*x8`FI~zW;;5aAP<+@Z))(=l?$MdEp%D9v`O{6B8*}
zo6TVA1e50~=iH^M9PsgzI(vOCYt-)=cCxaMKcHIBn2PsP^#;qTdM^@~gn3oD$Nqd)
zP0z>1nvmj&#Uj{Qe*oXV0jN|ecpbg6=bXFLH8P@!#$pIZqe(e-e1*+a5AT5<L<Glg
z4Yrrna5)#iU1~ELH6gJv7!D^P1oKi8>{czdw<<6{*MY6gJ20E>!Lp)(&N$ReEe1n#
zFcN|9<RpQ^gGHErRAT>68Elq9`39^uOOeR$;^pAO*VNG0*WwR_;0^>5Sou~5+eQhb
zzY0j!TL`$G$;#}SZsXnCo4=^Gr>E5;-sbdr6Zrn65uZm(k}~t56uqws7U{lT|L8av
zgx&2<3+`~2s@mHhJH>T(kB-uUJKUvmt@g>G-w&%KVc+8cuUXm0b9u&V?oxqLsgq7m
zVfXo<>+he>%+G)NW_tQ3`*=9x8Si1w9qv+&LQ#9YxVV$a%*(40pXvtdMV4yDU6Ii>
kK`sx|Bv<Z=-~GQh18It-9=%9~r~m)}07*qoM6N<$f-UL@>i_@%

diff --git a/interface/web/themes/default-304/icons/x16/card__minus.png b/interface/web/themes/default-304/icons/x16/card__minus.png
deleted file mode 100644
index 6711e6f3423a7d0adee9ef5dd63e1a32ab8a6ab6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 371
zcmV-(0gV2MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003xNkl<ZILoDz
zze@sP7{?zR8oQeu8e9cwJGj4~u_hZD#3i`QtVpDS1Q$nfQYc%55)yKX{(<~28p065
z!#I&UIlc3IdcQ#+M#hUTe0ZN<pNDsOiJ55?XypZkW^+eiEaO(!U+xv9v&fyIJkV96
zalrqaM@?flnfygnRp05NUQY$H8T&!-Cr^gK*J8;$H-dtuwdt%@OL=0*^?fPez@>Dh
za_CN{Y>&rMz=2EqrBd4QJhnz7Dd51RM6q}@5F2~Lp%if7(r!L~{OP*fwJa&%z@_b6
z?xZK4^w#f70S7K^WiqE9j>E5}$(_M~5#vTa&teZTT-uDsv*u*NUEAhtx%?c8MlY+a
zRvY;|sG)}$<Z$59dMuVub^RQKB9T2J+Q9u&Th@asYP2Q@qbW)F+g<fHegUgx*|~RE
RB-;Q0002ovPDHLkV1jWRsNw(s

diff --git a/interface/web/themes/default-304/icons/x16/card__pencil.png b/interface/web/themes/default-304/icons/x16/card__pencil.png
deleted file mode 100644
index 8a2ab2063926f4ba57339798aa718915ddae01bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 494
zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005CNkl<ZI8UXL
zPbh<N7{{O2!BI{Q4o*tpENX>v!5m~Oij(qph~&TQz(K7Qo6ADGNTZQ5QG|qpBWC_2
zC9^ecY17MQ9>4EI7~1mIr{C{+zQ51YulIdv$YLSw++0kITE<DOR?}2gR^Fu~E$&HD
z0mVB&rBbE0<>n5uR?AD0w2c8}g1T5R&bI1mG@4mimbprySRYd=`>20rrk-PXysmBD
zUnynT*~<olf$erX!=-Msxgq@W!l7{ZS3I{{yk~op7pDvP!m+_{;8MHE)DRSh<WT5G
zTsND%Yb%M!3qn43tVQ~8;8K&(*eE|gv;Xliid*Lq?<^NbWb0G`pB%4zWN_e8txnez
z2nN~v@DRn;Qa^Lxl;<b&`RH)@O9lrnRSyq0`@}@o{e2Wf#D<Y_J~&v7%HY5y)xbc@
zo%k%*UT<8$flJEH&Q_PW(xt}}7jWQGkw(+z3<UVh?dB_=kFm#!`ZM1%?BP;&MMa1E
z>4~rXe(uogZ3!6}Jrh>z4(iXKhYV*>!+}dlnVHqeIXPV*AuX*^ytq`X@4de=xS~gi
kf)s>t0w<BgZ~iY{0a=K%7x8pqqW}N^07*qoM6N<$f*E%1RR910

diff --git a/interface/web/themes/default-304/icons/x16/card__plus.png b/interface/web/themes/default-304/icons/x16/card__plus.png
deleted file mode 100644
index 817995bee67a8a9b83da434234b8dddb1824beca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 440
zcmV;p0Z0CcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004hNkl<ZILoDy
zy-R{o6o(HEK_Jm!4npFTWG*Q<WfVnIEm_du5}BHrk=O?$)L@&qWJE?`rJ#aiOJlD7
z1r22hr5K8+`0eSQ7X&HNUV7o-ch5QZIo#oeqi`6GBayDm1=j&WB7pGF1tZQStA*Dx
zfWI#2za0h$h~kFqE>cq6Ua-J0c4PEr=8;`a5X%`Ow$H*VSqKh;K@;}))R8Hi{#g8h
z@Lc)|`+mQ<*=k|E+58p5gAG-8lN`!7EthJ>$f-64J3gPe#x9lX^`59MCs6V-#w9uA
zg2n6IC^s5ds8o8g8ZhDbiH1vZ$b~hx+fuC6Fk33|f*f)|?{aPC*!EOD&kJ(Mg(atR
z>$6<OWH!qSa>#{whr^a)PkPQ|ctH-iFl)7LzZZ-6lulzJmqR*JQr*e-8J)=mrA}v0
zSF4yT6wvPR+zaILgR^KfMs+9DqZ!?ynjCUrK%vkNYBYO<Kq_4U010Kg*KI~F>p>qw
iOhcZCIhXzF|Kbazs-m%at}n^}0000<MNUMnLSTZP3&y_y

diff --git a/interface/web/themes/default-304/icons/x16/card_address.png b/interface/web/themes/default-304/icons/x16/card_address.png
deleted file mode 100644
index 0ab99a1df71ab474db687e7a69bf554bf9578b0a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 483
zcmV<90UZ8`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00051Nkl<ZILoDz
zO(+C$7{=cm9OdNT;Hu<2r#)>>8?|K)4x5X7e{1s*<$wb%Nl0qrvIk|0vPoJcmeeNX
zqkJVwHrh?QT6WDm=9$_JMX^)A-uHdp`Tb|+Fakg_K{7s|e_^4_pyr>HNw3FKi+^5p
zrE7k^PSbTv?`dCHKGTuZv>%~ESK4Q1>k>vVx}{-gWE`rhn$;cD5l<$u9t<LQb%pJd
z6LU^MhpseCPS(fY-{IQSVYl1UY+M4-*H@fBKBnQEf(~7&a=98}i3FC8fr`p%*laea
zj%s+1fbh!;RssP8PEXC6>izrsphH(2gM*C`<3#@jFtdCBtJR7*-yv4dfQRR29Nyl3
zff=DgSJb|~=BIcZt_`4VzzvJVf}UYF+`GVCIE+QV--J)~?d+Htp+i?noz9jA<5jKB
zH7JUbrgLHq*T#4M1Rc6k($v&?AB*8U6v9m;0`{z&Kl6RZo~{&^mv@BT-f$O<qGN2#
zmsMEUJ>~UoasCW5?syMpI&>wcsK}A4D4is$prArT@>x^aZ#%k1CfNpgT>g<f)6Mj6
Z`~U>k!;dk;v(5kj002ovPDHLkV1lfx<Iw;B

diff --git a/interface/web/themes/default-304/icons/x16/card_small.png b/interface/web/themes/default-304/icons/x16/card_small.png
deleted file mode 100644
index a122163ab5d7b30c18b5b97496d1af6de1522025..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 226
zcmV<803H8{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001~Nkl<ZILl-B
z|NlP&C75BD8Bn)kg>U`Jm1(#zNFJ{N<qH>P0O|k#{{6$iAOMxeZ9wj{X_-I&{{8>$
z*DnkV5(mlSH6XF8EBg~r@tZGSFfd3QB#+mCkeZs@_rHJtfBpUY|L31S|9|xE9he63
zLE<2Jyau@C<>lXf_wGHDx_SkOehRc1nGcf3Yk;b^cetRLSs74+1c;V*buB^WgXD*M
cN*oXa0Nmp60u?XQ$N&HU07*qoM6N<$f~MAGf&c&j

diff --git a/interface/web/themes/default-304/icons/x16/cards.png b/interface/web/themes/default-304/icons/x16/cards.png
deleted file mode 100644
index eb20f4a730d2be328f13cd36f91044b1e650f45d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 407
zcmV;I0cie-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ANkl<ZI8UXI
zF-QVo7=}MuYHA3AYICy5C5R9jg&bVMt-vMg3KN8c=%N~28eHAPMGkdpsI5t8)WJm%
zL6D%h&{OQ>6!GhSm0v7~>*#}rpZo6p-@AvHnf?Ra<Z?4^^Z9__*a3mb#j9*qaw1xJ
z{0A_|<ExXBi*y<&qw$!BqmeDhAwMa&D-`Hj(<qWkom%3hIT+Z29P;11<C%>1Qmb*X
zTK$!Bqrrx0^5<~KN6F-wWAEomh2OhfHY|$|6N!jp@266Uo2?dq^!vQ8s^^ZqAIoKK
zb~^kfH2kqxl;8m$c-ev6ZaDl<Z?_Fy6z+sVF@gtt;AIDLdx~<u;C5fGdcE-#kLQ5k
z0UvnTft)`YRf%Xrur634c)&+`;jHWWjQPFv-VO$7Ht>KCyzpx{Uwb{4%<rYQfHr-;
zX#qUogOGUKl75n(d*qj0E|Opt1#2|*vSaE!H(&pW#Y;X;;|Bl$002ovPDHLkV1hab
B!1DkA

diff --git a/interface/web/themes/default-304/icons/x16/cards__arrow.png b/interface/web/themes/default-304/icons/x16/cards__arrow.png
deleted file mode 100644
index 10015f291074a908d1e50078a7b711af28073abd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 528
zcmV+r0`L8aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005kNkl<ZILn2P
zT_~hs6vv<3aOFa&<<1pZDXFCqE|^*udqI=bD7CSMn3@_TBOf)fE|eQ1WxUbs8%o*Q
z^|5Z&*Bv9dkns@{jYbUF(U_+Bd(La0*U-Gpsb8n(^nXt0$9iUFn4oudmi5ieX;L=f
z8!vZWZS!8={$oYSvv&)=aK33#=J1@2Ujo#P(&i-Pm5*I6m!KKEqA~O@U7$`nQYh(N
zg>n7_BVH(P!|1A{oIy*hPA6fCM572tA}TdMefWL`eBB3XcVDp{0w25oo~z#7vdr2X
zj+PMr6nuJ8vAFh7Ik2vv>-mGCsS{MY0sY_xD*9#VjdzD6$y*)|)(;NiQea&`-Ws6m
zTEz6mDH?}|TjP3b(K5D)+*TQm<$VM~A=KOLZE?M|pxp1B9e8hUaQ*m*8k?;>uD2GH
z`{j1Sdv^z4Fo-IP#mva#UpR~aA0&curA<u>$G5iuKVMkf&|qQYK|WXa_X(lgXOn3t
zDLcC}U8n0v%g;A5@*p4bN(AMq%w`*7ER&PLNnzwcKEjLovEQ!}I~U%c3<jnad5{lz
z(P`8#9v&cwoeOUc%hBs!7LW(|P>4SZg`eR4obstzSxi8c%=z%&D-kc=G4%`($eKg%
Suf8z=0000<MNUMnLSTZ{?D(|+

diff --git a/interface/web/themes/default-304/icons/x16/cards__exclamation.png b/interface/web/themes/default-304/icons/x16/cards__exclamation.png
deleted file mode 100644
index add6f0dc8231d02fb70bddd17a034cff4d7ba138..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 593
zcmV-X0<QguP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006QNkl<ZILn2Q
zUr1A77{<T4sjDu6pt=b!O6kG~LzWOkA!*@FxQqUPg)O(V!N5^Dv8de?t&0MoK#dwh
zCxoa$e;~ukywHUVTOJ*T3{N|<KZkW>Tc<sJ?{Vj}#$qr0czECQeBbvzhxH5&GM$@4
zL+qB{Uy_-zO&2)Br235ftmuL!&gEj<{{HrNqkBIm*ZO5r>hs^4w1Zt<uTC3y<%)=l
zqgWNLK~;vic4|Ep`L#9ZlFq(9!m8$S$g1jJeq|ucv?3)vg4t|_yn0XT)!$i=-^ktV
z^RbTJUR#<UQZg9>G4cwFfs2qM-C&GC{AR`1X)`48Ey({*Zs)*&?~@>4G88hHczp)T
zAsa%$6L>l9L~!mXf`L;APPf7G;C}mmb8Fe7Q<$4PiSG-?5T38mHXsepAHwX!addgk
zdP?WcGyA?3%U?{0F78KEsDcu^p(zm#9K@4{d!|a}*7^9xhOy@+gK_U+cpo3Yi>I|1
zd1k_$+xtGSOCHaapV=%Dic%Kx9kEzOmg4b*#2+xVv^dy#x4R>ePUD9xmxX){R_oo(
zm6g|b)YUn+S6827r(LeAYwPP+iN(r7zDB#<#ee2*&MwYY*6489MZVrjG6`LmB*~y~
zPD=jT=4NIT<)A#2i&i6zq*Bl+oa?zctg60#;{wV-dC0`u8a<y*@tpkIDk_)`)fUdq
fe6DhA<SwW`1UiVDr}$`p00000NkvXXu0mjfqw*zv

diff --git a/interface/web/themes/default-304/icons/x16/cards__minus.png b/interface/web/themes/default-304/icons/x16/cards__minus.png
deleted file mode 100644
index f9188b272147972f5562b178383dc80146006e53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 449
zcmV;y0Y3hTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004qNkl<ZILoDv
zKS)AR6o(HjH6;W=wK>@&q8K4G3OTrhTcL}Zg$Y7J^r9ME8r;Ha5El`(#i53vDQO9G
za1lh1Bq$93VVa6~x<`BBQy-7$z{lkse)o6Z2Z#v&0Zt>4A!pI3kzxM>#{R|QP>5%j
zwPJ6K7rPxFG@1!+wAuu{+Alc_1PDjB*TYV?E8v!ezs=?eE@iUUe!+Px1}EV#IQ{;;
z7Q4`Bw*|zlR=iTH1zfXIPNhl+ygk8S_&J-!r%XnaR6dWDMgzY(9klv<`=Z{{pm|KE
z@uOD5N~?uCUawQsdm5CxPbRTYD&c3diCY|ZAnH90%H5?>Sg2O<ooN`{ZWoXT`H+_s
zl-sb`;<<9UQe=he7K<CmgM7$K3d(Id92YYR#nGZp=UGrHw}Cv!hrFbqoWbSd0APi&
z%$Ni6ARpd~&RnrLWOUDaubE6R9P%I^@}gg(^Q~S-p3yz;&45+Ceo#Oj<U=9$sp0*2
r#`lz;m&<{NW|pz^>m|j&dt`n935uo{aduQ+00000NkvXXu0mjf5JJje

diff --git a/interface/web/themes/default-304/icons/x16/cards__pencil.png b/interface/web/themes/default-304/icons/x16/cards__pencil.png
deleted file mode 100644
index b160038b34a3084aee1d0aaa313dc3f8f97a927d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 554
zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005;Nkl<ZILn2P
zK}geK7{<SKsZ&A_ST|1wf|npv2v#6u(Is{e3cNI3VS_<~a%1k`K@T33VW+jgF?1kW
zIuE94VG9C1EXQhDgvykan?vX37<>Aj|N6!>++O(c@x46n%li|Ku`!|O9Um7?zrP~(
z(NW=UXlVYa(@h3-I=wit;I5>z5>}VX-qYUx8cruBYHHTB!5*(y(FIwBQ%LN*$D8SC
zWHK3e91aW^jYHbmT=LZICZ>F$fLuQRAMw~Cf`L28#GYelco<*8VK86vw)=dddt~HM
zR)*6@N5_b5E?{})wl+NB)*}*r3+9+V=56(Od>^Axe27F!EPeJO;MZ%zuUt)7SoR{B
zPU9e#!^6SB#}&O(f1>y_TReNpa}&S5&tpCm!cHoMWHyTjeSO^(y@P>X;NTl3U*5ov
zuXA87u(E=U-Cg`XJj6Yl?a8U$L<oTw{RXUs-f4g4W>#0RvA2h9snKS!m<2uPL$7Ku
zcim{5T2CaBak;Rmqr)QTK_7ZmgSlHK)4-Yf`ezqgTC5iu8}AEx(1%{tV6M$<wn??i
zl1q|vf*$lyUVPW%@e<{I<$cXy5T&9Aedxv0_-^g*Ls8yW-V$-8wY9i_9`s>Iey=J&
s#mPSN=j-Z(f^}9>`_HQyMenlu3pARSKyk!v_y7O^07*qoM6N<$f;21&cmMzZ

diff --git a/interface/web/themes/default-304/icons/x16/cards__plus.png b/interface/web/themes/default-304/icons/x16/cards__plus.png
deleted file mode 100644
index d078c6bf1610aa92fc83a7968233b5f007a2f140..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmV<G0Tup<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00058Nkl<ZILn2P
zJxD@P6vr<u1w}&;RM22U3WbzXgkj+z<j@i|RRm!#3loHd$gl>N2B9H@0_jUEoeBz?
z``F4g2%(aoQ2fFa74dYBb{}f*@ecer_a6TDaDT*caX}c{em~g>1VkbJ_5;cjcD!Sr
z)Ge5#aALH0W$(tg4Y2>sCd&^uy<WyL&??ozJy=0~r7JTN<@mGWSa)Ck1}<6mco0*u
zRDwdWSc57s4!W<Ye>A(hKX~sgpO2W`?v)&Ukjdw3SiCjE;HkDuf4I_BXJgQ_r@623
zwjCY$9$#PK?&U=g`Th`ez4gJs;VAqR3Se}(Rz<yq;LcZ}*P(>@6C)&YIhb=g&7$5y
zVD9Gm8N#s`M6+3#vfI~0y@kNsbub9wWD>qI88BF_7J?q=lb{1BFsEHwx(vnRi3nXd
zvanz!=z%`psgxv`n=qMn8|3nhc8$i?rc}-n^gti<k^*xEi^Wa|>7sN}nh1KJ5A(tv
zibQy-=gfO}dYbTs9_WK!_%-aG=`=8^=ggZz6ncGS0eYYhhUitz{229f%(u#9gn`va
g>G<=KqT*duzc*rt+=<yH1ONa407*qoM6N<$f-E29hyVZp

diff --git a/interface/web/themes/default-304/icons/x16/cards_address.png b/interface/web/themes/default-304/icons/x16/cards_address.png
deleted file mode 100644
index f76d171dc627580fbe609f1eff7b931a64ad2df3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 553
zcmV+^0@nSBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005-Nkl<ZILoDw
zK}eHf7{_0_)Tu)dR5wp{@)EQVf?WoE2M-HR73`9>$`*r+Xq6!n6iB<Yn^<hF&4W}F
zN+biLwHS&{X)uPtR%|SFicRL2`}h7|eP5;oB|Y%t;d$Tx_k7>)69B~jARa^_hQ4UD
zL(;tuI@E)ALm|x-xfP9nfW<uDs+Qau8Y1p`qk+%4ElkAcRj<|S$mH|LFD>C)v8ZOk
z9P?_y!_iT3FB}#<fxy+OynHh?hv3KvCKGe0Y;NMm>Z*Y=VUGD--o3-a;ZK<io=?Q!
z4+il<_NjClWAV6QGL=GVaS^|2HC!GXytZ%e4{||qZ4KpW6_*AEdW`q8FI%|nkE*Uc
z_rlz}>1pJam+^CB1Lu9d8^-(Qlb3Khop=<8D9887B$C-IJ}xZm@_surgPi;qg-QjM
z*Xt4VpwIoMAy}4$K7R;hdHJ<aFmNW!o$cy+m0ejWm*m1TE|*u(gFdh40lVFf@idg<
zSS)6U&CX&xkx<^}-0sH*T3hcNZEx>A($;oS(1Sh>S3hhv8!lY$SB`&zIm_em2_a5M
zj!O;+deBFEv1dyqL-V=zKHb?VOwofr^x~(ne_vmRrukfZOT<ZsV|xKT=);g4Pia5R
r-gD*;x3mZi>!9S=j@RGV_HL@*d1<Dmus0P000000NkvXXu0mjfie3lp

diff --git a/interface/web/themes/default-304/icons/x16/cards_stack.png b/interface/web/themes/default-304/icons/x16/cards_stack.png
deleted file mode 100644
index 51972d8325f477bd55d71c53097f8507b299b6ef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 375
zcmV--0f_#IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003#Nkl<ZILl-B
z|NlP&C77Xp<w}OS<;xNDiWR;<b{bI_s20Tl5UyIhI2~y6|9=E92!PaL*j%+_$&yod
z?)*P_>lRLY_3`8XfByaZUo?Am23a;Ax_0gV_dkFBXHA}*MV8IGE?oHk@#oL~iJhI<
zWZAsw<jMbUzkmN9R$rgP0P+XO)L%ded>Gm0HAj#BfARI}f1l#wJO+?IK&F2F@dGbL
zwt4ZsecxXF`t{!?Ik|uV<PVUkuRnjri;->C4-4BQZfjdAVqg%%0P+XO)F<!X<Hg7}
zn?^*`GcYhn0Wl{7$R8k6AAk7pA4cDO^$LuU#n5f$5E5bl1CT#Jrrv$`?md%=N-Kzd
z^5x5a5Qd7ifoKeyVE|}aG{{sYb@d7$*BC^D_}IiyY(@g?Kr9J0nGoj0&`oJ}1_1oq
VwIc62J^TOw002ovPDHLkV1hLFui*dy

diff --git a/interface/web/themes/default-304/icons/x16/cassette.png b/interface/web/themes/default-304/icons/x16/cassette.png
deleted file mode 100644
index 54cdfe3afdcc61f9814fb907715355941e2e017c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 398
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU<~ziaSX9Iy>#-%tV01JZIido
z7F03mR%lx6#3IaokcGvZ`Oy--Miv>KmI;mmg3h0emg<&il)SjGP~q-d=`W`Lp6zeG
zaBz{@hr)L!E${p95a4VGVOd$wpmX~6oObD(Mh^@<g?f%B=a|jzexN72i>D%P{dJGa
zB7q{YEafjRq#ih(wY6#8>-38zyj_dtXiPu7z<E03`a+q*CcbaVtk0ww2eLOeE{I$2
z92&~vsF1ei4M<P4MB9t+zb$0=G^Tnj`n6Ag#nr48VXN!Yz>>d<b{;9PI8wL&_{Rzn
z)6+(b`xjlz=<t5rGu0Mo{f`J8u>zUrI&FyyZsyF(*ct`0Z~naJiB@ytSV8hdvEqv_
za?JH(zndq%H;#W=>cMTfjPKjuTRi3ix_9cQ=hb%e7vIfGHk#S+{Qm>K^2%kW8<x+R
qFTGIv?$eN>ck7oZ-C0!sSU+juoj=E2zeWMWnZeW5&t;ucLK6Vf&9o)}

diff --git a/interface/web/themes/default-304/icons/x16/cassette_arrow.png b/interface/web/themes/default-304/icons/x16/cassette_arrow.png
deleted file mode 100644
index 48c7cda85969691490b8bfc608e9c35786bb5013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 527
zcmV+q0`UEbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005jNkl<ZILoDw
z-)mA~9LA5tg4QDRP{<?@L~ziBgok-F5Y!O7SUV1PVx>Zsf`OKZG(l`ATI^<QyJ!@_
z)@?tAV~j-v6%C{)B5-uEh@k$2g55lw=Oy}aA(QsPhv$6H_x(H^js!s357NF1OeWKe
z!Gr%~h6RrrjRxZJIBK<8U+^v+x-3|&R;y?>n<$k^eZjkQ=(1p~QmMe>@$|%Iv%zAq
z{6>~#(4otMjdHmRpU;PSy^druDKZj?2%JtQtX3-ug@V{IIn$xbf+xjd5y4;(olXa4
zvsq*|n-w@54%qGXe|DVd&}G51d_Iq8G>Ue+jc&Iqvejw{_!TafOZ+tMn4Ia*Wx<PF
zE{9kw))Q4#;dZ;BUb~0Wt(Q>rBIwX%!B!@dK_ZdZlfbQ4So#W)`t=1CY_Z^VI-Q25
zY4Ccz@caD;1Of<!LI{V$7`<{Er>55h$IdO{{KFm0eF4-PPa!K4pCsdKr&1{>iUM8N
z!RNmTt!(4wXW-%oVDjA`N*{p}mzIC9;IYBCUK|Zx{Vq=~?vg`ev%90qJJ8+&oCinF
zY_ed`;JCr?UL2Xa|Ni82fH|biU;gFxcMgo4l@4lmmj=e~yfN~^;qiI#{wI2G*P#Gg
Rm$v`_002ovPDHLkV1jM%`)B|F

diff --git a/interface/web/themes/default-304/icons/x16/cassette_exclamation.png b/interface/web/themes/default-304/icons/x16/cassette_exclamation.png
deleted file mode 100644
index f2befbf31cf5d1dfea8b8421c81321a8ed9aadad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 578
zcmV-I0=@l-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006BNkl<ZILoDy
zPiT^19LJyc(xFZ&gk%Rv++u5onu2LysPKk6DTtSRUqRIHpde->IU9<$8oLx7#)47n
z&>vR0ji8_?=mi@DG3L7(!Vb}p>`<`F2);eP2kH<LMtkAI_x-)k^ZoF=ye|X5_5<6u
zK$4^h&g1`Nf&>e-S`Cp%1eHo<PtacKP?rQx%jGia^*RcL!k(bL)S)g37E7fP91cfc
zEEWrlM&n;hCKISbT@pMm7K?DZ-KbWpP!vU^EXxAB-43(aj9e}!)+lMF4s}WJBA?I0
z=kuY}YQbPIh)k!`0-MbStJRA4Z^kh_en2G6)S)g3US+dc1cN~|n@zOaZIO*eLqMk(
z85zX0dk*~U&5NX&I@Be>+e{{da5&tTq%wq;3uE}T{fOr|DA8k}4s}VOrBW%xVzFIO
zmGihWJ%H}!r1*SWovVDd^Vds~KqJ9QB9TBS6oSj;g2&^5*XxDf??)gIKvEsW(*4u;
z@#PBt?HIP!FJN*06v~&zNU*}6F<n(vIGs*JqfyZPAL4Npw;O}dKg6N0%2-~yh}Dm0
z@$U5*%uJo&0=7<qC!DXlF+3oBo1HT5Y<}{gvo<PDK-pPyVCMRvos+}TG6@cH4s(wD
z%j`Ajp|06_-Hjo1KOe{T_sb#)T|3%)a8sIN{jRXg*xeiK*4!l1`a$cz0Z&=-G@^p1
QNB{r;07*qoM6N<$f?|6Ug8%>k

diff --git a/interface/web/themes/default-304/icons/x16/cassette_minus.png b/interface/web/themes/default-304/icons/x16/cassette_minus.png
deleted file mode 100644
index 60ab78a95f8bfb15c245e83d2e00c71f312422f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 440
zcmV;p0Z0CcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004hNkl<ZILoDz
zKTASU7{<?CQwRSbl8YdMqk@8e20;bEDKChVItW@03L*}|O+?Y9rG$n)LsZ;`prN24
zkaqh94Sj%wmZ$TaK}aw(FZ_7Vd(ZhjT+YiC0K`6sy#q8&8%nPK$&djz<M9~9ViAME
zU@Lf*4qXP^8HRz$WP)zDyA?c3hb{x|`~5y5k;q28UN0OD#|o#@2|9Ec@X+h^kVqsj
z8jVn?R8-C7a*9A80FTFmcDt?iSlQE|%YesDr-O7ljrn{IyWOs8qtQ_K{eJj-zF&Ln
z>Ck1sQ>)cNKA(qanpi9rs!pd<1-~K~45~}x9xHn~bQ$o{Y&N0m`bOgMI6|S&if}j#
zI&>NETCdkpE|+(L4qXPk)oL{q3I)VsF(i{oq*5tlG8tsES;eWG!pvsFh1H64iv^eR
zF0NcIoM_sokk5OyT17M(MX6K**Xx|gu`T5U)-i-wGT>J7@fSxzd>sq%y^ehU%zy)l
iTXMJ~ZsqR#H~s+TcjK8yG(8vq0000<MNUMnLSTYhrNRjS

diff --git a/interface/web/themes/default-304/icons/x16/cassette_pencil.png b/interface/web/themes/default-304/icons/x16/cassette_pencil.png
deleted file mode 100644
index b226e3c22c42e8166542bbe19719d057a5801dc2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 524
zcmV+n0`vWeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005gNkl<ZILoDw
zO>0^~6o&6?y9sItHnw0e5;p+}3Vwu$A0V}h;te7~^#*RyBCQe;Lj<G2kGm=^lmF0?
z1iL7d(nX;GX?F!n|3ILN(oMm3_4d9)DXk<SBm)m;hI5{GhEV`0H$k~^fDmHe<i$1F
zXTVXf*Fz?gLA%|)5}c(&mjNfORttl{0QGwPN^q7AT?V{tHk<JId>7(yIAFC}|6;S*
zK!+{^UNssGghC;7yIm9t1zD5Hq{QuZ!)~{uTCK_+E6;T3GT?QsRzoZn!+1P~#bS}Q
zR4PeaE*G3m=YPF>=8N8#!C@gjGT?2cQb8(}!e}(YWHOP}FboM_;qiFnr?J=X_o1$?
z0-X+qLVRbyyK=b<RaGw}7!1Pe^&)+L8R2jk)9Dm>v#ts8i2<j@ViEa#{!;2slQ<aM
z!Srkw(P$L8T#kQm%772Lt|OgJBM=D48zPYi;_)~ViG)PUtzoz~FXh&gIXuj+gAQHA
zT%R>fgWvB*Hk$?a|H7LOjk{7d8n;p0ipp8`=rZ8g<m@~a=asLWs`yEHdrSOUSyH~u
z%+OVCnJkzr&eGMzGyM31;jVbEZz}3cf8mdN>B8d&;`xpyHXd!BKkysMKgR3wSU)QO
O0000<MNUMnLSTYm!tKle

diff --git a/interface/web/themes/default-304/icons/x16/cassette_plus.png b/interface/web/themes/default-304/icons/x16/cassette_plus.png
deleted file mode 100644
index 9669097a48686d4446ef7d3bac7b01dea6fe1544..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmV<G0Tup<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00058Nkl<ZILoDw
z%}ZiY9EOijL0=2KLx>kj5<!?2E)@J=kWoQ!r(mvB$WRhSK}^aJ3q_%Ufm#Ip4^d%@
zphZE8Kx)&*mO+aKCYWVGo45NOnt_?YQR=|Mdw%zv=jCt(0P!Bgy9;zW-G;{A8`)sN
zexuPqEEYqpRvQT3r9+nmht+Bo&1Ms&QfVM~mkwPP991e6I2?|isHzHs!SEYJQ9y?-
z3y#a>GCUp+>h(I3$)wCsC?v63tuPvmC=?3vjLDe}T^5`ai$(bTesnq===FM;*=$x~
zu~=X>oBufDOouKDPV@OZ!r?I5?KZmIuFO`eCE+V<Hk<ruJY#aELze~Txm*s>XtXD8
zw;Oi59m>iK#<omQR%bwmE(<O)nG6z%L|>F03l@Ja%cMh>1()e`8j(l@E|&{luNOX_
z4}m}c!C+9Lu39nqRmH@n39*L^^xvlOVS5(3g^3?RTQ{jx3QngJ@pv5E|BbR~#^>+R
ze-LYvPb@glxc@KnqmQCE{!HfXKH=A1`+mlPF^wq=Q(xA{uT8ff!F+Y-4!GPyLVOw7
g6-&ccGC6DO1sV3f1<<d)qW}N^07*qoM6N<$g6~4pod5s;

diff --git a/interface/web/themes/default-304/icons/x16/cassette_small.png b/interface/web/themes/default-304/icons/x16/cassette_small.png
deleted file mode 100644
index 8ac8072deea91b24d65b414d6e1bebb489c9c965..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`<Ar`0aPEzDMq9Ee(kRzsX
zcH$1kSphcNS40PH%?g#ZW!Mxx)2MF=XM9Lb(4^@n|9H-GVhr#P&=<~FJN;bxAtlaj
zbBvRE%qyPjaqd%OnG$qh%eAC8cT^9qzs8l!Gee|j?rxPE!Co0_8$A!+*y-JLxSId@
r9o~C8{aOF6om+h9*SGmU#1FD+{8@SDRc=r-&`AuQu6{1-oD!M<lt)ZV

diff --git a/interface/web/themes/default-304/icons/x16/chain.png b/interface/web/themes/default-304/icons/x16/chain.png
deleted file mode 100644
index 4c93b294d3bfa760a122847b5419a9f4e5f90199..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 358
zcmV-s0h#`ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003kNkl<ZILl-B
z|NlP&C759t7~t#c%MctKY#b625)Z`bNH`uOj!zDxm%+!!$22`Xz4q9#W4G_!yZ86;
z<H!FWJb3W;#EBDk9UUEOKp2}GNDoLagR84+>cN8t?=&>j9~BZ3>StkL>FVg{_&;;z
zOcV?f1IdBZfYgHYfb=q0Sy>fbzI^$Iyu4fkGcz*-NYSA~2mfEYcJ=?OSFirRe*OCY
z?c2Bh16=_&0Hg+_7NiHHmqA}&KX22f?f2{InzsoE2owPoRF{{R|Hp<wav(JzwIDqp
zy$rm(yiQtLI#cJ&S^D_Mk&Az>TzUNe<jL!Q=FMCF7$`msgmK7C1?gn~0wJKu;Xvm#
zft-khn}FicAdEvU9HbXy02dI80kIT`SPZOpG%qj!0G|&@a%DF0HUIzs07*qoM6N<$
Eg2J$y_W%F@

diff --git a/interface/web/themes/default-304/icons/x16/chain_arrow.png b/interface/web/themes/default-304/icons/x16/chain_arrow.png
deleted file mode 100644
index c0d7642cc9fda3e2de4a7d45883738feecb2ef05..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 533
zcmV+w0_y#VP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005pNkl<ZILqCR
zK}eHf7{?#j^pJcp7K!fALT{psk`M+RChWFBYePXl9Aq_!>L9|fQitv^x)f5vr&Ca@
zVUVCu>-yOo6TXZwGiq*4KNQ(c-aIIe?_ZD%mIdB?;m6DS{Qtj)mzbH(0-b{eZnvAf
zUT?F{=kp5!C-7r_S_YR~F4v7fAkd#oCbRi`{y^7tE))s}sZ=WGa5$cUav2=B<a9dk
zsj9jj3Jorq&E^+Iqw#qp5@AJA{s1#%=%5P+F4^t&o=hgQXSH4l84LzOX>n2IwY6_t
zEEc&`DseXZlf^HN7NCPJ9Jpk&*&Z(}#D5J841YA4Og*CTG#CtWIgp`)E*!WdNm6S=
zL*wgc^o^cKr1w`>bzWZnzCSq`)5Uxg9A|^^B6qyq;{NHxE*!Wdj#+GO7vCGg7f&!G
z=AGa;yEeSEqiiu>4=1;+o+qPlvEYKBT3{(hUH8~*Q}|07RCUGDo$qt}a+A3!ypq1^
ze|48mJC=?Sx;eA49Vsy1$uPHl{Y~!==K8+R+Fxa<MJCImPgMIbuGBpEpn)p?JFR6Z
z$DS2tyhSGebAc$*<@@t=se6tjIi@wL%(yRh&C1CBdqL&x399r&m5N*Anz&`L<S07?
XS6S(T$O!9E00000NkvXXu0mjfiaPYO

diff --git a/interface/web/themes/default-304/icons/x16/chain_exclamation.png b/interface/web/themes/default-304/icons/x16/chain_exclamation.png
deleted file mode 100644
index 74f3277acc50d597440202cb4b408d06efae233a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 584
zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006HNkl<ZILl-B
z|NlP&C759t7~t#c%MctKY#b625)Z`bNH`uOj!zDxm%+!!$22`Xz4q9#W4G_!yZ86;
z<H!FWJb3W;#EBDk9UUEOKp2}GNDoLagR84+>cN8t?=&>j9~BZ3>StkL>FVg{_&;;z
zOcV?f1IdBZfYgHYfb=q0Sy>fbzI^$Iyu4fkGcz*-NYSA~2mfEYcJ=?OSFirRe*OCY
z?c2BhpE_9ke^EcvjWe4W6F_P~dO&&^^!4@gHf`E|zpk!%n}C2o5zvt8^78Wk$hfMq
z<p0`v2LE3^n)Z3=ME28-4YfN!dO&&^czJo9w6t`l&Y83H@sT4J|6IB9`2We1*Z<6$
zxBM|sd>RO^Tv+h>*4dnYf4;8%fBRhazg3G0UxW03^fCZ}5YX0epwpW`&PT#cK=Ej9
zF6P*&&CKUtK4|+98XEfl`JLJyAU;q$5~LSo02dI80kIS|+)~UKd3uNbxsOk3fRWDd
z|M`uK|3^0}odb%8LiJ(?`kIUkyB0Ar?peY(<H5DqH`gz_|KGZ$^#A3H4*xHnw0;8;
z2gzgA+)>8JuyrmY!?t;hmWS7g9)EDt>HpoU#$XqK=(|@<{vTY!dmJQ>p&95jhK)1f
zc+Rbp$}eBu*82bQmd5|DZ!5tx2;V#|^AaSFqB+Q&fniB60x#-jn6jXg;TSFqk_P}p
W1_h<)_q8<u0000<MNUMnLSTZKn<TUV

diff --git a/interface/web/themes/default-304/icons/x16/chain_minus.png b/interface/web/themes/default-304/icons/x16/chain_minus.png
deleted file mode 100644
index 67483b8c0d0742302f31b91fd5455ff482e1f226..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 398
zcmV;90df9`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00041Nkl<ZILqCW
zu}cDR6vrRv6bQ!+4Gp<V;1DftMs7MOI0QPyZ9y&$njO|~v@{tVh)YGZI@Elkazcw}
z23ePIoBjbcD6jWzGEo~Ef`0H>-uL@?yyZvCOuvEt!Gc&UM)7!jGm%K71#OBn=F2j;
z6pco=G)+5fHk*CNaVD<o@?bES*tY!|4u|t#UIqs)MIw<s%d%c{{iva;>Y3N;Jv9u2
zP1F1aX2{S%7Y<wsg+iH5r}N?Wuj?L<hfu23EbjFlc{m*MXf)z}|C!~AuLbC!3kNO*
zgTei3_5Q6;IKER9B_oAgHk;*nAVUXTIB?15^KAzL8>Mpj+O5~y<8IgGR_ke8soc0S
zKL-o45?qp}%I2h;SHy`^6lJ~(7Gz1dSg<0j3TunV5#3%AwWqlf@<bK-=^Y3cL=W$&
s6wiYBQh7%(gcBlDm+~x_|NUS11T~2a=-&E`y#N3J07*qoM6N<$f~#z<W&i*H

diff --git a/interface/web/themes/default-304/icons/x16/chain_pencil.png b/interface/web/themes/default-304/icons/x16/chain_pencil.png
deleted file mode 100644
index e68278d836adaf26ac94db94d940e8dc5994320a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 520
zcmV+j0{8uiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005cNkl<ZILl-B
z|NlP&C759t7~t#c%MctKY#b625)Z`bNH`uOj!zDxm%+!!$22`Xz4q9#W4G_!yZ86;
z<H!FWJb3W;#EBDk9UUEOKp2}GNDoLagR84+>cN8t?=&>j9~BZ3>StkL>FVg{_&;;z
zOcV?f1IdBZfYgHYfb=q0Sy>fbzI^$Iyu4fkGcz*-NYSA~2mfEYcJ=?OSFirRe*OCY
z?c2Bh16=_&fSsM4!B<3h)@^6!zq#t_QyKL2_477u+J3*Tu6dh)fItz@km~aC^8eT{
zNKQ&hs--a^>gNB3hX0G$*zPd!^71-qY3WRzGiT}JBS$X&xpL+4|C1-L|Cu*$`D38?
zG!TZ#T|B+v|CA|n{(b-c{lB}S(j_le)=UN<5CWPU4s>1<$cad}2`C;7!XUP-Da-N+
zHB9%uKdbyNAtAA!gM%X<q!(lW7Z8g9u@p9}ugNG?l*|~maw6kikmmkM#-nc5%mGk6
zAidauwgLk~eF6i+u0@RY8>TaE1!<mI$GESvh{46(nwbGF0BKxV&%m&}jzJAwb9(^;
z16~6PLKqlk6hZK$JjRCqUv8pkCTIW}_@Cj=xVk)^(GI2=-2ec#y~c%uo0F#i0000<
KMNUMnLSTZ8bM`*~

diff --git a/interface/web/themes/default-304/icons/x16/chain_plus.png b/interface/web/themes/default-304/icons/x16/chain_plus.png
deleted file mode 100644
index 99a48ac4d9852f750002ff14b1efda3c1f4146ff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 474
zcmV<00VV#4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004@Nkl<ZILqCR
zJxD@f6owCI1>qIDLxV%EVS+=nNDUU!qDvYP4K9@g6%~a;Wm1cT{SXw~2)Br!AslK9
zqr|`^><6+;x=^9e98sLUR}d`h2im&uaKG<8?{oNwndvXkKUm;$xybEyH+noCufSJ=
z7x{NHxa4#?n|wasbUYqUXEK>LRaH5g&AufPi5t7!J_X9n;J_t^!_gOu#jb<FnPXX&
zm$X{#d?*xRMNvM03^R1lg#(vtHrrS#m3lUr>Vg`LhEO^@jPb?AIp=aY&gb)-PG7Nj
zMPUIt=)!?ZR;zV58r{DQ1m^Y(2E&*rO#1zPE(d1lpbG~sNs`oRHd|IVHa69xqtn;3
zGnG$HE?*;&Emh=epg8M3807lhW^UVYzrcY@;*-VZF7dosJh6mXk@tY&jF#oc-lqws
z75N?xTr8*-)C!DWGA?b?dd(^5%=dHgOcVMD{rHXOh*k|r`$GqR2Ko1Ldlk{5o@ha@
zP*|S?mb(@%o(uV}7K8;MiD*ujG~PBa{)Id8UoRLH=b=i41}c(;Kkg!b2Q|vS4l0~}
QegFUf07*qoM6N<$f?lG~b^rhX

diff --git a/interface/web/themes/default-304/icons/x16/chain_small.png b/interface/web/themes/default-304/icons/x16/chain_small.png
deleted file mode 100644
index b4f1b114c4562dfea7a4e964b503f70837d89de9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 214
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b3I)gLo7}w|M>sko>_H9;uVGv
z=0AV`E|rmy;VLOD)o!rpZ*6tuc4_{hP&mORj#)=nw|jfe%}+1h-L?MD&CT7<#QTEj
zqJo`=j7tA?23FSAU9Ydd|HGcSr{LkQ?(+Bh{<Fg+H8ocr(~ah{vnqV_=zmK~$Odi)
zlMa3%_LGlI8|KfCmt4ZxmF<|wu=HS(!q1B>CK9|142i7!nL-urTn9Ro!PC{xWt~$(
F699-mP#ypP

diff --git a/interface/web/themes/default-304/icons/x16/chain_unchain.png b/interface/web/themes/default-304/icons/x16/chain_unchain.png
deleted file mode 100644
index 8decfb022854b09877b7a7e475d66c1a8bf75110..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 515
zcmV+e0{s1nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005XNkl<ZILn2T
zK}!Nr5XVPdBmzY|c<7KIA-Jq~hz@#^WCc-CPzkzp3WK0ScTEa9bm`RR@D@skGD<ID
zf}L!!gW+fBu&~Wv_R02=dhlcR&CJfeH}hXA7K>D=RJN<t>H$+<!2#mP%jfgIphBUr
zQ?J(>{eJ)5Fbs1xn_2Vu+=87>r{-WVct;$0D+}nle%R~vj8^OHIT#FHD~fU@z#e|Y
zk;jk>rBbQW@p$|d4sW(R9uEP2nZz^vh$D|78A>D)C!NmyN3(fx8wdnWT`pIdc)?;1
zKjO$^NRY{7D4k9d@iBK*Rl8}o?`GZZlj-;SFByWx9)84;7Yc<a8jVsmn<Z{8p|MEB
zk#(kJ-~9+zu<e!Y*O7;>)@ro{a)BSjVlmP*jpFh60##KhnM_itRQkUF8Y63iM_A6~
zau|78*2b~`?k8sJ)W&2oF(Z*kgCSV#;TPH<yW{eFWo<0`B5Q-h;*mM$`$HRUw|nss
zSXmq7Tt1&q%vsjPu|U=a$;<2YqR>(s4-YTqaA;U>Z=cp^G_@WdUzgfI-l7G}8g9XC
zFk6hqN8RT;pF95z2j?8$<Gi3Kpx8xxwlicG`wQf(e*-6114SEoNlX9$002ovPDHLk
FV1j8&>=Xb1

diff --git a/interface/web/themes/default-304/icons/x16/clipboard.png b/interface/web/themes/default-304/icons/x16/clipboard.png
deleted file mode 100644
index 24c1528a8790e1c583e1bbdb7a19690e3c1614f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 440
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV669aaSX9I-8*5gH<N=z`+e2+
zWf?0JXEiw#bR6n%=$V$0b>Uy5*ld+W8Xa~XPC860S+X^_bOer1`^Pk$d9mi%35$*h
z9R9%U`t)txqgX$8c7B=i^Tp*db1gd^GM@Estz3QdZP{*>d3<_nO08EdUdMb+mFdUv
zmmkwE&-Pt<iO1mhtXu7?`7KJbT#U9H*_dj5{IUNW51V4O&llN>*Cg`u#as=%uuxFv
z__uR%>`d-5eDMV;MaM5@^ysf&XDMOxu=YNqNZV>Ft9jQtrroLWT;6-25y+c!sl#pc
z(XDQWIb?RMQr;h{oOM=h`s-5Vf(NVmYJ{Z%Cz^|_4h8edj+;Dkzc)dDY7a=`txcIn
z%GVydnRF4PaWU^|w<k}9?{l$&m4>;SDuu87kZqUG0(8~H?2Z%Gm)vTmot|^%DNu7a
zTW+-uk5FZsXU$3es_F8nOnfmWSzo-^#D06&tU3SbZx_fh8CJSqy>lkpmRP4New2T(
c$niJ#wlY5*la+BBfic41>FVdQ&MBb@06llUGXMYp

diff --git a/interface/web/themes/default-304/icons/x16/clipboard__arrow.png b/interface/web/themes/default-304/icons/x16/clipboard__arrow.png
deleted file mode 100644
index 2380ab60dd7d866c15b94935e752ec8406b6e299..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 569
zcmV-90>=G`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00062Nkl<ZILm#|
zPe_wt90%~<B@dpYLnZyW3<6<F6w?UIAwhH+vMDros1aBpLu64Q_GdDdi7+%l3ko9*
z#IQpl>k`tz%R@6e)NE@tnk-(Gg?nW($G7J<d>`jw?*kurc%JX~c^)2m(n7?>?0fu|
z>Z)8Wms9H6<>a;UjM1aA112QFLZ@lz<sIMZ%1RuJ=e%a@b5<QN+M<Zqm>09xZCG4f
zMl|{z$>g6Bp7R>-afY)-kHXE0fE@kz9$;{A2;<{VF*WrXGc&Vz{$dj0@CX6}L5_g4
zMvsQiDWWJhf5hXaIKx?^M~}}cqEIX%UnrR33}=lVg=~t*@9ZGAy={s!oHcqha7Gcj
zydk@_Wr{PLHF|Xalp_Ag8??<$Q=H+f(W5@AA~y1QtY)(n1wO99`*sc2E_Wu~S9_?#
zeS_$Bogy^(#NX@d6}hKVm`DSyfe(7q=ub~WXql+@q#`o9j)bP|<DZM8?b){yTi-l7
z-y{%D0kSOWgG(NA9wqWwN<=!BLoAco$1#`2qhEmcE6@?$<BtKByPpK{a2zJ;I!@xR
z{GgQlsB+z}zQ7(_C~54EplLFJw$H$ko9{(!_q>Pu)zYE%8WNFPt$5edTv5Z75m*<1
zTE~!HZSVE%cIlvGZ9G8J7pq8^Ibri^H5VT0$1LX~+~Mwjt-V&pN=tc=00000NkvXX
Hu0mjfX0Htg

diff --git a/interface/web/themes/default-304/icons/x16/clipboard__exclamation.png b/interface/web/themes/default-304/icons/x16/clipboard__exclamation.png
deleted file mode 100644
index cd8b682e3555a377b2f994c83f3d0219f0b6a536..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZILm#J
zPe@cz7{!0@b>H;H8E3{nnKqf3U`3b<Q-l_-5+VaZ41%yQC~(oPMN&lTcGf0HA#f2|
zgk+RLn`#l55Qr#9nUtC`rjGM+^xbz~3!RxaCVp_ZaPN119M07qHvoX9k)CP)N#Bpa
zsf$42_EqetHU7GMePT1U<GNd?$k=!S)BqGLOo-Es=ZfmvZ<PRi?&+GJ9e#0-5ORBW
z6u1eXJ!(h;zBFEHuNfN~BYL$P)ASLE1OZrCNsvr#GW+a0RaI3C_w|edX8?qwG7%~}
zy6L_DfNvj$2#3Su=H_A;1_{d|zPd_0+DuDFCvTtkq&>oMG5`g%wOwJaQGnNzl|U&)
zX<6Cc0HyGHvJyD1i&Sb)0GgJaK&l-8@2h9l=6kVX?+6z+;q?gV*_TRT?*eeu2G;UN
z4p+7^KRtx2qdRsAAhQ$f21qWw#~&!d^a;#BAq5p$XmQH@KY_Db0@oqFFi3etEtjwL
z@wBU!q7z!Ax&;A9-F6_QREb_$e?H+88rX~U_xJO6^*eb-N=@m|U`x<vERfEYQYB_2
ziO&rX2nCs29^uX4ZDJdfgpZY&QqpSMX!^@pm`T9KCJ4j89|)x7u8*Uu-?-W&K0U^T
zribK+HS!P0eTEsVmXdk_<P0njY>mLzyXUcOJJU(=6vxko@aqB$g|&2t#L_DO4o1Tj
z6S2e%4af%$)fsf=X;gaqt83;+ew3V@zoHA0`$PPi{>jKc@kR@ap@JkH00000NkvXX
Hu0mjfL3|h`

diff --git a/interface/web/themes/default-304/icons/x16/clipboard__minus.png b/interface/web/themes/default-304/icons/x16/clipboard__minus.png
deleted file mode 100644
index d1536eb527f0f285ac4628fe06f01908666ad136..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 489
zcmV<F0T%v=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00057Nkl<ZI8Tj`
zO(=vx7{{Lrii;dL$Vn-+Sym(^a*>n6uB(F-CrL!fM?Ml#8@6^GR@AQ2p5)@->@r18
zK2{>M+Gu58R%?4a|IG|hZ>D}V&HR2d^S-p!Oay!_-wd@^=6XCHx6u2A8*4uu-I<9j
z1_TA>U39!P+JAq39%X<z*7QDHbHHk|L7n-!Inr0hhleM8bacvBSGQR(#~SwFz||dj
zn+%F&j89DQ!om{!{p%bGZS&4fgo7KK?Dekj^voO-hO0YTZZxQjY+gj8w!nd_J6dco
zsB|X7sdU;FIB<1G^K}N5`uO1F`@1c0;OdTMY7NSg8xpUtw!nd_JDRLEsAst${_<iA
z9JsopF^54trBZyKNZ0}gE}E4RIbfvHpyKkx>&Hi1;J^(Q5N%6OgB1o9vn;-h$NzB9
z)y2C`XO_L18V=@>C9w(<1;|}W)L))O-6fNJ7K{BMR8_@qa>#G|atIzl9r7)`WuzYD
z2i?ez`c0&#hu7q0;B&cnEQhQqiD&Tw8TmqSXCbNm;a1)oXtD(kTr^)T6$y^|916GP
flKKyD(V+bVWnx6eaGZ7r00000NkvXXu0mjfv~b?-

diff --git a/interface/web/themes/default-304/icons/x16/clipboard__pencil.png b/interface/web/themes/default-304/icons/x16/clipboard__pencil.png
deleted file mode 100644
index efce1c43b3348caba895b23ea4ded20035ec478c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZI8S|%
zUr3Wt7>D0OB+*SZp<p6i1j0c2i&2tn1g*S^*t!n7u`7%IhomEkVNr}qm|;nRR!f+Q
z6+sEzB*np1jM%qLZJ}c^l!cp{%<=2IUw&VUY6l)Tyytn&8Q<uhorvjn{N{YKt;+3o
zyA&;}xOi6X7@fIM!ybiXyu0aR|K-+XG#UrPd!8BR?3x$cwVOz-`y_@=HDF@mGeV&V
zW@ct}c+WFFV~1U%BVUt=gj!eIJ?QGX3BUh71_mA@5E#P4zDMx+?%-PIbymQx(b26&
z6IoJ+v3R^9?67NebYq{1ES5?r6pIyMhh1(0wSvgoU?K}EE66S{SA-pQKWq^6UZ@K?
z_n63>dLgs4R1tRkwl$GyA%gFOa8SoiGLS#i3+cthibN9$wC}2!gU5prA>LA3JsHS_
zLIKH4=D)<IUgBvmh<rW|r`3A9kH|@vY-AwQ>L(`V=l@A0Hiq#LC-TWFXs)YHS}d0B
zz3NY(vvnpimCIo&o&JlkHi|dHzv4iz9T)ct&0$?f-fDG$tA?m`n~t2zW}&50fAHzc
zFkS}_>G5FC0ffRYz%Do3>g(thqLx~c-_=L_raqKG<m)8HM~~?76ZP_B_&L~Nmm6cP
zS8P7Mk>slj2QhZ0$)x}ERv@e4LE9!gJGVohvBNGmt1Vd+^?TRS;NdEg<)}GMG>U~|
gR-u*8+2w}YpLJSF5c0!Epa1{>07*qoM6N<$f@PH(*Z=?k

diff --git a/interface/web/themes/default-304/icons/x16/clipboard__plus.png b/interface/web/themes/default-304/icons/x16/clipboard__plus.png
deleted file mode 100644
index 05fc5ea9df5e9fc5c54095c371768ab868ab29b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 549
zcmV+=0^0qFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005(Nkl<ZILm#|
zUr3Wt7zXg?VhR&eTcKcdRRq#kNnwPt)?dP_piQWYBBIiuL?Y=QWh5c1q)`oASYe=n
z*j3#Ox-D;BFuF>c45e)Gp)A}dlR4hbJ3J?8>^ty-!#U4$&f(yB01(jw|6FTrC=Z1~
zL8X0FP}bIFbPsC|h$$rccH_&N8=Z4gQwbI_mo>dFS#!X%fI*Ydb3E43#N*>%d1B%l
zCzC%4WG-v6CmG4=9wL5&SdBY(?{PT%hzAB<@bK_k9vvOySFeXS5_!t^dml)IC98Yr
zZ#F2eHoqqlt|TK_-NVCu2Ica3&gOEiBqLefLtm3Y*_9Q}EHAr~jAV5Wy?YFD)D7vS
zC0CM>tnQ(w(V#!-277VQm1HEVd$?^Gw2;m6TsmFS>CacVF@BhL-CAe2p7mn?1ut;D
z!5~{bab|wLq#f@Ae14&uH$GYKlnwfTm&(;`2BjQ_r)|5)sgIY~dgm`_voG?7aJ8e#
zgh5{n!A(HtmIC^j$?#+<Rm2);;e)?U6hX9xAmex)(7qY;TYb>1`l$b%iC^ZOLoEf?
zte<^1D;+$pBJ@|qq+g-bw$*^*-G}%?m%pT~J+)k)+|Jcq6^?XPyHGy?Yi}7wj+KMl
n)F1WOl_x!p_lW0{bfo(i9nL^VlISa400000NkvXXu0mjfn|l9}

diff --git a/interface/web/themes/default-304/icons/x16/clipboard_empty.png b/interface/web/themes/default-304/icons/x16/clipboard_empty.png
deleted file mode 100644
index c1d8414a7fc5afca4e466d49cda574b29773db8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 492
zcmV<I0Tcd-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ANkl<ZILnQa
zziSjh6vsa^JGZP+B!{vpHs=)wBG|;jE|uv-u&}U9qm}=G|AVODk3y`hVsY4sy%wgF
z9BDLghhC5vF5cbFuU(7F?al_g<iRk!nfLwjnKw^7Uj+amDC7I7tMQN1*KPyn508Gg
z#@{|%nQobRO;OBtRmpe-tN@%FZmH{Qx6+&Ik1hdxdGqw=;N!+)&f*ShH-QHL;@N6x
z@OACp`bw|YBfbBUB#BvGJ_Er1{$H}pu>0;Iolb{O8*ev(8vx4Z6@oE_e!tJ|le@%m
zOdQ8ZDY4dKjKLT~tJNaZDDSJpdr!OFW>Glj2sJeV?>$M99B=SH0&6YS+Jy$z+B$*D
z>+W*{=Nws<p|!?ZOP<dPo6RPnM!6#dS(Y)GOwd|W%s>0c6I_kJRmpTZWi%R*=Q%<M
zL^xgL02PFq8iCdtAp}trEpB8;V1uLp<S}A|Ak?UxF<efn0gt3ytPcnV8L0OIxN`w6
z#+(RW2!S^6%RqMs5?JaEN%szBmyJdPr4&&Vl}k#Al(KB<-T`!nq`;B_5+L0fv;E@r
iXHF7-3buh1aQ^_~@X2PY6nuLC0000<MNUMnLSTX!f8T)s

diff --git a/interface/web/themes/default-304/icons/x16/clipboard_text.png b/interface/web/themes/default-304/icons/x16/clipboard_text.png
deleted file mode 100644
index 31bece5efc2d713996478e1dd43fa103f9b143cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 476
zcmV<20VDp2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004_Nkl<ZILnQY
z&nv@W9LGNw4o-65ASb0(4kD6T<RT}B%|GBWCrL!fk4QplVTA)xDDB8W+ReCp@~ep1
zS}ioKL^f^B`gq>o_B^)BH&4C#K0VLt^*rD2m)6>efUo0^;ciE%+wFEKJb7GLD|B>6
z1qW;>7|b`)_3qffYbX>JfH~ImK3sFaYP*3SeSPBZZ<dRTTe-S=kZAPT0&}ck4-Q=2
zk=JQpQDb6qS{4?TWPN>8_Vy0s@X#+?+dJa*uE@;n929}8J6dita87MLg~PVMfvY=O
zY&CE;my>ihYYQB>x}*7K1E+s}<doThBM~{fyOU%lQv@8ix}(`91E<stp+usHkMHjy
z;K0=#O*I(!Q{8YB3`+3+-g*{-wZP@2z=5kf8m~9-dpa#Qv6wAz;OdS>9R^OQSM&!0
z2HdEh;Q0Jp;K0=#4b>Sqo=QnXeYYKO;OdTC)kFie7W|S-%40lk3mmv;&|0IXipWz#
z{HA_T?CZ-GIB?PEQKqQuEhj!1>6D{Er!8>cqRF>Zp{Q>uq5ZB>;{N~_4ccFE&Oz%G
S5;39x0000<MNUMnLSTXzz1@NU

diff --git a/interface/web/themes/default-304/icons/x16/clock.png b/interface/web/themes/default-304/icons/x16/clock.png
deleted file mode 100644
index 8b6c96efb3ed660de52a8df8293062368ea5e08c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 603
zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006aNkl<ZILoDx
z&ufx#9LFDq7scvii~fQ^mLkYR!oa48^B1U>au&~FOjcfft^=VRoOKwZF*dp`*lEX6
zW4i>+J=P@c(bVnHDYY#fyT~rzzV8S9^0<l)J@E2*_<Y{)*Y}Z!BZP4OgYpvy1h`Nr
z#D&9QE)t1ci$<g4lrV+wgXeMVkU<umKMBU3@_b@xZS8HYSgaqPp7sEqF~bg-zX`^s
zXJ&+LQEXJ&ZE|vcPTueAD0hGvcGHQ3fb5XK@AqGSJT*1Dy}#f1ba+U<ce_d{lgTgv
zW}oS9H=l3B;_+E@n854x+Fva%Z{(^~QtqD)(&;pN2H1(U8d+Lh-9U#4+-~=ycYAwB
z5U7d8V&v)!d^k8bLWc>QPUo{+rP3P&1}6rC!J#*3cRI?xD9b%`n84w1JQu4~Mew5^
zwpy(ul}Zth$3y5RBs|ZPWHL$KtgjQP+3cai1a`aq$*w5MYQeX9o!D$P<vyT7$w?B)
zmr61^Oh8Y2@N#i+6JG$Yd7_eB{R;(ICa+gkHql`Mi^X!|;lzaSu~29=&(4NQYL4md
zOS#-~xm*G|Okg&fIit~d&pSCekHF81i{Hu}I;+%bEuYUfk1RS&fJ>*-aR!6IVltWL
zG7Ae^B}r=0(q)(Ol}fYO>=rG}A%iR~wLn7|rQFeIH21YyZCtO{3zQdq1kA9bnY)x*
p=%@uF6g}l8<@P@q?Po{O{RQ{<W<3@N7?J=0002ovPDHLkV1ll89n$~+

diff --git a/interface/web/themes/default-304/icons/x16/clock__arrow.png b/interface/web/themes/default-304/icons/x16/clock__arrow.png
deleted file mode 100644
index d6b7e07303ae01ca6ebfeb654f56a96be4e1e7fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007gNkl<ZILoDz
zT}V@57{?DW1IK3FtgqW{gqDtlY^*Rakuh~sHVd}ntaBlnA4CMs2qakL#UukU2W=EW
zu|TLK3MyrG5#&7E94+TMI=4A1HMQLgA)emnoNaA_R~`7B_vLw>|L;AA!=V6x`XBh4
zUazN`nwlu1(MXw0CTUAci;7?*Fj;V~!XD1xEM}0sg7V7@(>dyPKlg>h%c~n383gxO
z!yeA;Cn#_4=&((*Y$Ce02J1UJFy-~~D}pubwRd*faJER$*w|QRX>IMAo|{VqVlnu!
zz0HRl4o6;qwIJ!u`27jmYVE>ILqmfg(CKuVVW)G#$8oTjJsq*z?fE@|J$7jcMqRE6
z%n$@YU0t2|!|dz|3JRfV8ur$ZPxJFDm>~#)nwpw!Uo@J@4dhNV7z{;Eu(q|u_rvjc
z1~UXfP+eW!!*U!i_?aE9s;Yv%zCO@uwLm^0Fbo5|y}j_*<AF#rnZXP}5NI@-wi%X<
z7Ye>DFN0dG=GPoICu3motitG2^gCt<f`FWM{{G0wBz^&W%=H3E;VW34CBV4~pdDM-
zR`oas&a~MDfl{eFbfLD^_Bj+vB{w&VLj5n7!1QQ=M|JBhSSC0ajssNO4fs#r3DCSi
zp-@nAxx7MGUqAR|aWVBPoz4rIU!-6#2Ec>>F8cp*BLZ-;|D#X%A;={biz%5*rmU>2
zyzLkodiOOFNo}RmyVu48f6flP-<4l~_4}~dl~O(7pqT|YcJ;OIc=sDRClC>i5>AOk
zqI0FCrB;bVVk6wkV#AvBl6yh!1(2G@gJtwnE0It+!2yDVaD;GTKMv|2x=RdW!IJt1
cSF#!EFGyBh6MsSOP5=M^07*qoM6N<$f&@!HmH+?%

diff --git a/interface/web/themes/default-304/icons/x16/clock__exclamation.png b/interface/web/themes/default-304/icons/x16/clock__exclamation.png
deleted file mode 100644
index 4ab75f41857700dfeab1b535913c22719ec85da3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 736
zcmV<60w4W}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007~Nkl<ZILoDz
zT}V@57{}kmx=?0aSrFZIvr1ByqOGu4rZT4vrqIXyz(5p@E+SmeO|(L5(g$MsHAIRi
z^P()F%;xN3+2)zsn0B_#HaB%Fzh)wg2%g^OoNcJkRR@0OeR-ef|9fA~2LS-`Kk&D*
zvNEDptBFRVAr%!BX_b|gxfBhhE)LFfv4%a^iy366Kw4W@*Vt(^zOv2C_!pL!V+hW1
z4Qtr*FM+hap+RS2n2<LdhNbm&_-r=wBZ6yKt8Z-7Ved9UX=&-6OI1}(rm3mWbRYnc
zXp|2b42Glt*BrDqVYi30)zwXyQK?jdK&e#9A9i&O**Fe7@!b)<UZ0#JSYv!X=<Mqo
z!VE<a6c!d<9J5;IP_PxPRtr1V5R20}hZ%|>P$(45Hm^69Xh`f>US6J@2Ru)}ZBc`b
zxd$`BU<@-9L6D!He}&;VUhp#>$jQlpmX;PME-r=(=QZ%WQwot#H<*Uc0UP3Cn4t&)
zxm;c|!7#zCf**cA<mKh@qubsCKG#+FvpEP}XERJ%9?fHhA_(Yiryq254C5OJudOAI
zjp3!}Dm{7){E9pV`Z2-ULK}Q|Df7$a*$SEy1TvXy@7aO^-8YwOaeifG+mjFY-U4f_
zh4uNH^t&Yx{@ws%gNNrv`gf~LFGPYMD=Uj+WMmvumXx%*J)XtYjg7b<3e#UMLy&EP
zSyvIfe|H^Rjx%8YdUEyCGttwJ10s>|L(nTVHI<~Nr^_-kGjAE%+ec?vb}{H1{mqz)
zAiyesb06nVfFtM52J`DQ%ZO2QA|Vh{_EV0E#o|*bDJj(wi9~n%n%LnOKeQR~9)XBQ
z3Y#l8_z__(2P1E~M7;^YE{cS*k8&VE&mGcDv2CUIF0mS0$z*>Uu?*ZN9e)AM&1+ZC
SyF$+Z0000<MNUMnLSTZvI7~SJ

diff --git a/interface/web/themes/default-304/icons/x16/clock__minus.png b/interface/web/themes/default-304/icons/x16/clock__minus.png
deleted file mode 100644
index 28af166fd8a0b0a28b0caff95109bc441538b2b1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILoDz
zZ)g&67{_lSY>L$@TWiqkjVwiwiG+a-5$8Wp-;}d<FUDkLFFokZ0-;_w>ctq7F$sc!
z!5~<@iW>7x(A-&*6gB5|no`@+<%?u*em&3KIn;<=bnv<R@jTD>^ZOmgQG^icf8cKp
zhl6stT$J1GraT_c8L!tn2DkxQ1lMEO!x@~#4ALtYxkJ-|#aQe`GLtENJv?k7xW*dx
zaOQ7<k?ENkW`kwRg<6dq93PW+o16R-!5a3a0|5qSy99Q-{p_vD$=QwV?efRHJ@T#5
z;6sr}<WzvQPtZ%GQe~gtKZ_Zg%_az}R;%G@G`f~77D-;*9SMiSr)vaz?CvgETv=Je
z3?K;1X7kOrTU+}m=)~vqk=`2eerIPNGk_p4nM`++g+i-6(B9GMbatJfR<HB@49B%F
z0|)}6(Rhz77J0#UaagC*kx(c^EEWraPe^E*Cc$8kJd4Lku2N}X1`q@WgW-09Ww}nl
zmr{x7^?Lr<rT`>!Ig-j|Im`fp0Cv0nWMN?)zW^TdphMF83TcibOUujan7KbZEC{q(
z?YSG{<IIP2x>`9p>Ixx=sVVYWqam+=m!qR6v4MfgYF}S!m7=1&K%>!6DwXQ0bz<W2
z=X}2UquJ~d#3A_0@Bf1(ib@JU1YB~toKh;4TD4mJFfu>?CY#Gu>&@m#19<N7G{Zwf
zKbiji>H~=+GY3H=+&%$ZQeY6cER{;H$z(FWLZM)QM<NW?um>|&fD4x(Glxl0AORG>
idEnwd7!+qQL;VKE5=3emn%k-X0000<MNUMnLSTXg-z{eV

diff --git a/interface/web/themes/default-304/icons/x16/clock__pencil.png b/interface/web/themes/default-304/icons/x16/clock__pencil.png
deleted file mode 100644
index 4d04f2ed5c6cbad2ccaabc67b81b5109a817c78f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007XNkl<ZILl-B
z|NlP&B^XTj`S~#f1OzYy2M05RgoN;hhK8C0aWD`kK{1GJ4w3_@0jUM)0bz6lG!l}M
zGN;X(x9ZHbYxkeNdGiB=L2Qs1NDib1mjN1S85tG(&z*aG`}y<#uRnhLzwh8dFb%>W
zF_2tZW@ZIQEs6oYzP^0Xv9a0v&z^mJ;lYFdFF$+$YwGFgfg1o4y9ks!bpHI~n7FuX
zkRBf&ABX{7US3ucX3kuD=I-79x1hFza7#-IoDIStxpVjK{hu~>?plx@Ach#==H?c)
z_w?z9AOnzbOiavwbTJS<e(BOfke&_|6^H>&PEI*zZr}a^QvkEk-`^j_1<&8V2g_gG
zu;JGc9-fQG7#SVF2H4rz<(|8H7i_>QsA5x7)Bok=<^MfAJpKct@PATL(*L}?y#EuY
zPyfHVyZg`ohKBze85s|P4Y0DZia&Jj+#_TI?%cos-@?KIOvCVnGt2%@ojdpc_wV2T
zdnhREoX^1E1~vd_n|=S3DVsqt0CMJQBtu~A`**khKd{mL|MzE=|0ANJZfa_3MrBAz
zLBhbu$cW$B#iioZ<;%~WynTz}Z<ywTn;@E(OfmiG<EA<Vqz8y01{fF^FzD#$=y`d2
zcU--7>)E@{pRsCQHqGp3pr_ITkXn!)5Qbz3AmHNSVh|M-HPYADZ|v#q-F^M$&1a7v
zocncXliNR#=4q{p@0@K!=7Q9K)WQMO02Uw?2V!j&78V;$PR=+U9-fM1Z`Q;Azuf%a
zn8$S2%8<1YBnMQZ3&avoJ#Yh<fS3n}#ei4}3I9*=VcZ<#!03Y{CJt2#(!&4%2UkNb
T=b4d;00000NkvXXu0mjf_jpZ}

diff --git a/interface/web/themes/default-304/icons/x16/clock__plus.png b/interface/web/themes/default-304/icons/x16/clock__plus.png
deleted file mode 100644
index 1a6934e0df8535cbb810e13edefda40109859a70..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILoDz
zPfU_=7{`CMH%lXGHgnoB50*?A8`CkxBF7j4QoyB<+`C4S#;wVrLp8QK!0e!IY{<H_
zrJG(jvSNB^ON7*Afgy?nEBu3TVO^en&-;P{o2TCG^ZtH&p6C1dz3<+=1OUkYz}@tE
zJuw&z#Aq}UlgV`6Y&LgNj1;y6?mMxEGdPPG<hY=1h-K|le*bKEeLeYOcejY(9&6ac
znUe%<w&7uCC=%J($YvpTcnBXB7Pu9`8un~<yAx-t1Uj8gcyDlUB(%J|^Lc9ve&+LB
z$nAC?39z<8dyCQNj>T#n!Hia`<pmmzM*iCCoeL)t5HFpMxLmHIJ%YW+<|a%{PtRe7
z!V6R?)!p|?OWP=@#A30)@fz}Rb#)sv6kecIDo4W`8^!WK`NV;NfvP9S9vpD}^;D{e
z8452@C=`z)i3BJ3RT`GbWH2^125Pk$=qCi0Wx?Taz?+#Fh^5m-%uslNTrR)A7>T4R
z1>ciN=<4d?)-vWG3)ceOa6343h#3kmpr`eYPfP^x3*cksDkPP!AP(Gs2m4Q;`R(;Q
zX0AMH<poly^un#aKIf;kwM=?%uPTICL!%&`?}d(e1(<U-I6K*tuJK)p5?_Ot6G$Wy
zA`*!@H2wXrzQp61{X(Jo<aa%AGkfPB$mGQ^|3lELzP_F`Ha1GdV)1jg#}oV-i)9W9
zg+F<Uan@339&i19=0!tBl<EQE7KS-ILT_2XP?{+148wHS)zw)A0)dnAvV;?BHBZld
zYe}{Pc_vsPR~d#%NLg@-BA{HRw48{&)=wUuULhm3zEXz#1zk}_n1saodjJ3c07*qo
IM6N<$f)jN)ApigX

diff --git a/interface/web/themes/default-304/icons/x16/clock_fill.png b/interface/web/themes/default-304/icons/x16/clock_fill.png
deleted file mode 100644
index e8bbfc23801c658600224b03e3fa64fdc2abfe4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 628
zcmV-)0*n2LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006zNkl<ZILoDx
z-D^@|9DonQ8^!9%7X1Z-EJcusgn>;F=NG6Km78^lVYJz$hoE2}WW$eEV<d}R?WQ2Q
zkgmosR?)|f7FjbjooUnNG99~#7W{gD2YpdibkTw5oWps4&vV|xVE};nAB2<5W@8)<
z2jg@)8JEj-!0mPq6PyIL1Ktng8qVM>I)4fbooCrg^NWiQ`1SRT27l)ll3R^^U5Z~#
zOk5nF!kNDXh9-PIE}2eO3-vl|@9aSG(JVAmw*@v|M&RAbOk>jLy@s=W0jt$|@Z8wg
z<zy;VeOoTWR=X_(!r?Ftd?S>f&%k>Ux!^r>1sxhNo6Xu=@%Tf&ScH7%?MN^fq=D`(
zO3!Y>(meMV9U3qijb~TZ);?pP7mvpS#iyZtWS>O0(4hgnUO&kf3O~AHcL#R6y>AEG
z{HzeDyom0hLjyXUZYo_Y3V}vPR;$$z2n4`nG6DI8z_Kj({eHNA?>bap#rDvl0j*Z+
zT}`Jey@5{~8=%o>glm@qfzRdOO*UIWhX%;oPQ~Wt68Hz|trq<Rl)Co_u4O6}xVx~B
zK!*lYD%GLWBO~1FOs4jw+3b^g*(7Tp^7)#<VBpZ90i{yO$mQ}A=F!m*4t(F;-6yxm
zvqGs<vsf%4oJEHQ@Q_F(j7%m|DHMw7a3r#v&E;xD`q?IYB++Ozx=f^LoWWT<dIKWD
zAmNxuBswV;i^ru>DMz@`fx~CGMrMu^j-b;U7$8UqhY3gj!C+^00NvlY;#oX;<`iH6
O0000<MNUMnLSTZFIU;TV

diff --git a/interface/web/themes/default-304/icons/x16/clock_frame.png b/interface/web/themes/default-304/icons/x16/clock_frame.png
deleted file mode 100644
index f7c00ea9dff148b15e68a00d17d356776ec38ae0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 749
zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008CNkl<ZILlp<
zPe__!9LFCPA+DorG1#G#I~JoTggFpm9;DQ2m$}0lI|SmP4*fwI+aY!z1RYH3(4h&7
zTx-qrwJcN9EP1C+Eej=A(#m1Ge)s$yENa4s_j!N6@8|bE&x5SHyPFw}MrJmfSx-+7
z>+S8m*Vosl<vi!Su0d-p^(aGGa>!*j1}Jz_J2W&j5(<S9r>CblK0X%EIv5Nl1_uX6
zC_~x*2PjM?lfmh9&XABuBuIeQ>lM(NYQ<s!4u@lgvgC*XU0q$oQ{I@(=kxISeDL`F
z2+K0Q^JnSo3_q#9zAk#XTozMPQ?uld%M1p?eXG@KKRnE1dHE|=H#ZSGI6#q$d??D5
zih$mwt)R%H(`gJ04A{wKdc9sJNs{dMOITQ1LUey0$zoARlarIz1Bf&~-j{F7kR&e_
z7Z+u6S!ZXbg|_8#eS#F-76Y!ZSS+{Ri4eaF%0_vXT&C0Mtnqjp)6))YXEN78`Xaxi
zTRSM7pX0~Tk;n!D0g%hITCFV_jf(TeaycQN@^D*Q8-|C6!M6$iA3%S9KWsJ|7Tj);
z_45lRmuWPbSMm5R=I345+Dlvy$nl%+=;#p7E3zCpl@i&twE)Ov?d|Q)cp>HSNLX6&
zLM{}<R?D>^H;?eUT7}maz{-jbPUmcjT-Ms!`oLr|Pwec-aJyF#iOV>-xVR+}mCH*c
zQ(2J-hj(E#nkL9)EiEmqxw%<CKK|adx0i*-vxQJNfzq!sD%DH;ss2Uj<P4FBEPC;H
z26p>97dhmz#>Ph0)YPO@tJN<?N8f%<CX0y0ve?*2a3La~HPw>I0w_aSa>%9M9nM{a
zLh(?gQoYn@o_w5}bLTRdGHyaO>QRQW<kVbN$5C<AoX7R`^*W_e`KF<vVT|*k#u(M8
fM;Xqenp5`=a^Gxlj{Zod00000NkvXXu0mjf1M_CA

diff --git a/interface/web/themes/default-304/icons/x16/clock_small.png b/interface/web/themes/default-304/icons/x16/clock_small.png
deleted file mode 100644
index b17fe52fa6375fd33585896effc94fa95ee0cbf7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 308
zcmV-40n7f0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002{Nkl<ZILl-B
z|NlP&C759t8W0#5$PgSHEEEzF;sL}7Q0xH`1IZCIARr(>C^kMmW961Ddv_l=@ae&e
z7oR|EkQhjgpaI@Muz3CY{b%mp{hyPQ^B+W?y?5{bvW*+}gX9Pr;Ogp{e*F6NPtV`K
z{~sC}`v3LEkN-jJGq-Mi0?83Hz}D6_>*S3apI!kq+S}Xz_w@AqpO~2Vf62;~pFna1
z4KOn^3tG5p)!`Q(K7efp;g>-6vbAdugX9Prpr@xNYHMd#zIy%oW6xi|{sO{lH*7d&
zXK!B)k|St<rlux?l$4aXh=@om5Z6I*EJzF_HxiOEsTctNXu*h2xrK%R0000<MNUMn
GLSTZvOosLV

diff --git a/interface/web/themes/default-304/icons/x16/color.png b/interface/web/themes/default-304/icons/x16/color.png
deleted file mode 100644
index 49b31c2a8b62c04a80c2b7f915f48da8c04749a7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 725
zcmV;`0xJE9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007<Nkl<ZI8UX|
zzfTlt9LMqZv-7~r?63KOy11TMQT#<9XK5}PZN$XJ*5(pR3QG!FI|}~*{s42izu;m>
zOf<wqqs5)#-2qt+VV5l8EHgXKGR(~GV<D_oHup*1<@c3*g;I+DGYRn9W5Hwr<O+mu
znKXBq(LZU^Y-^+V1?Zn@W!dq?l#>fO6U#j=<5A*<y7d(pOk>s=x903$ZdsOjK@N8e
z2n~{Mu@tOy$NXpBy`C@Ufk#It-vG(1JX3vG8@q4nEl;rZ5qtyMCG^DLMCGis?q793
z{J#0H*U~sbB!J2@DMpKPwbQ?vde{>5Y{=PQ<e^-G_#^})=zET+-L09ckDGHz6h8r$
zB|tjDj8?s7<tm<_Xn{Ejh2vlpp<ITj0(l#RgXR@PZc13~myH?Vfdu$yFx_*`Xxk#i
zD%uo{W60tt<XtG+5RA|lWukZpzXJzVM{CfS9=x!gQrR<xL<d2Lfh`NzwnN@Lg($eh
znu#BRZ-PGzpLIj5lU4>mJ%cR{01XES4s&%K%`|BP{&#f}sFN`OR#SG~cR!WPq9e-0
zIK)(d2tn=;+c|*tJ_HGDdtJ3cx-$T_c3FJdTpOFXcttv7BuM&bgn$qbY2Zm{^<gK1
z*Bi~=Ceh*mP<0mmbXV?K)d{y((uF`0Bgi8Fhy?^1><+>DeyCQP{{?-#1%Mm?ZI+Y0
zWd6m{^ZgH<u4<yOiC_cR05*X}4(d@yy?M2?pQWGYAzB6yN-2a8a2dF*&B~uI%vCSl
zv3@!~EiLN`B6JD<3TP~@Wz9eS4YGgU&67NN1b?HH8UQ*l4vceFKgadjO~$9D7&<pX
z=t4d9cw2wR`qDGv`UbEDtSP19BR~S~VZ;1*DbNNyrBwC>X!j1s@-g}~00000NkvXX
Hu0mjfUolDD

diff --git a/interface/web/themes/default-304/icons/x16/color_arrow.png b/interface/web/themes/default-304/icons/x16/color_arrow.png
deleted file mode 100644
index bec3b4b7fd536b5de72eb96814a712b4cd7b06c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 777
zcmV+k1NQuhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008eNkl<ZI8UX~
zO=ui-7{~GNv-97~%g*k+#JZcUx=ETATe4K7h)N4R)cAt5;He1G(o-mc2sz}Shv3CS
z6>nBh5DCSbAShB$R0QiyYK11U(alTECf#&)H@lhLneBLJHqo;`_#OWrp6CBak|g|}
zD1dA8!ej>20<>;2X>KyD-_@qLqZJ4;aR1<X93QwIF>+Ps*sVTCsgvCY_M$Q4O*pge
zv(Gt>c|;904QLtkI(D|P&>0K9ub=M+>RsT<;K@Fqm{Fs}xzgB0Q(vzOD;p3Pu$4vc
z89baHSI)(!{p#n-bNzLV0ipmBi%BWiv!zF0GxgTG(03u_f?+`}3*iVfhSBeNQaV>M
z7w6Yzd+qR>9pYOGAR1;`E1q;x`MO{`U=|>A01O*)IcVp>azQ+_dPY)Zakg%(PKU&=
zD}W7yslGR=-H`~#cCn3zP<8<<A95}<hPf{}+F_cY3EiTnt+F~5qaLiV6p_DYq@{__
z!oXD-T-U=g4<Z?#P%{Zy5SS1Q!M1M55>Y-L{6Qs#6}o_i2Q+r;>pGfgvIPYHYO@Cw
zV)lT=h}!R+yIIrrBu9uxNFHb-q;|1d7rxV*Y#ffU8?ZoBi-8ot$|l#pUHhZIM2{*l
zH57lNu?$oN)-<Ros77sGe#NIU)+9OSt;T0EyJxI$^;du4yi+{p_p`bPiV(p<_~nN+
zHdl7&cj3?5fAQmu9bUaO&L^KWpFz^^NRlMTn*vWUV>yMn6DKd3Be^Ff%NPcu-2Sr1
znd1c(Td*Com&Yvl;?tix4*(H33OujPsN+Xwi;utLJaTwSInEO-U#qdbSf|(Q(bx<q
zzj%UTd7Pg={<<Tn)cXTK2PS|C#`Qy-DxGGcTqb>Jn3fNfsLsvGZ+7|g3!|4Wq^lpz
zhmz9XvvST`13&@(Zin^<{cncOet0DjIYr$4Ao}W!w}JQ{9A^W}t`jh+00000NkvXX
Hu0mjf=oD<I

diff --git a/interface/web/themes/default-304/icons/x16/color_exclamation.png b/interface/web/themes/default-304/icons/x16/color_exclamation.png
deleted file mode 100644
index 56f2715affbcac373933df82a23356addc95501d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 793
zcmV+!1LpjRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008uNkl<ZI1vTG
zONf+p008jc|NB0jncbP4$GYyiuC0$PG~APyh>R}T!62fdJP025&{1Kp9s(&3K^LJ@
zASoG$kPu>&NfC6YM8UOobD!<%zGn6{JCFVP{X&|i000000000Wfv>Ly$2&>JSbN}j
z?zxf7VtmS6+-J3uo&EEzR?nTLeOEGGe%N-*k^)EoK<s>Zs5n}B_03{2_foREmSrug
zv6(Ma$2JeG{<QQ_do{U)%K!<0#QEf4|HZ*W=W?0(rC|CQt67!{GL5Xgy@!+HxmPNa
z*QYMF=VQ1G38Wp4hrayi;DNKb%-Vd=E)kW;cF<LzzK?3R%t|>7zB8D6a&>mJu~Gki
zOY30*&2A%c|7*plcPYph$@S6MLpD!W7aP5Fln7<<QfG*ULvi`HnUT8I#|b>kI@K;8
zjORjAF<+9;?vdpC=%~<DqS|dIblIryvRY%izZ}n)In|O#V4|saCA%xs1Z%QNNvBe&
ztRuHy=&Y#6IrCdzsqMb4?zCF<Y?#pOZ6Sg27Spy7E2D}kDw&Kpm$R&H-OpZp{XKuw
z?wD+UU|dTJ2|Q_9c(l1#$mPqSOI=xAFE#`bHXC>C+1n#uj1>ke7P7aD*|X3>1k=ym
z`C<0&_JoE>EejI=iA`Zj+t%7GeFFo|ocqSWk-c*JubWG%cV{e%ARTw*&wt0NvullX
zQO3N)v|v)Oyn0V(M=D7d+_-T=+M00SP&K{w#mGNDUOOWK%N{mX8kc^#e{XBDwwca~
zO$nY#h3RkgRC4B4es}x33l_H@8yen8i-qO0&88>;pW~Rzn{Pe$>$97q{YSTp11}bm
zqm5aG##7m7TRW;c{q|?ZADy5pL~Ggnk&W8=`yowJA%qNuFywINh?9eF7#beFP<r&j
zhbQ9bKu=1#Bj5e5^`)C&b!olz_`&R7Ax%>ugaj2-up8jZPkf4#01yIEB#nYJiroJn
XtIZn*^Jm)000000NkvXXu0mjfcT0#_

diff --git a/interface/web/themes/default-304/icons/x16/color_minus.png b/interface/web/themes/default-304/icons/x16/color_minus.png
deleted file mode 100644
index b0299cd5cc92550d022fc3f1a3f8aeae656edbb8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 733
zcmV<30wVp1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007{Nkl<ZILoDz
zy=xP37{@=q-mks8T#|dKH8oXZ+xS*nbZ`(~z{LtKf|HBl%U}h^4qZD44*mhIiinH5
z6a=LRN-2oep_UZ2FQnB=FNsMncbA?+)B3VF_`nyQ>BIB#{fan_`Ja*iPaX>f4Un@?
zeb1o&jS=;`GR(5ljc33{Pce$RCPH>SP#KtMau}D?FTi#wjM{l~%sP3_H1z|rqoP4o
zBd8}+<=J|#_tL%G^yEF@{vQ*xx>30=JD%&krmIC)u&@fA2Bj2gps_R4C(UaooG(wm
zjyH=6TM!8lCm0mn$+6s?E4o@O3Yr$QS)e5#odSOslsi$^Y>~T|(?3048VhRv^L3&b
z2@rNNqGV5-Z5daPG(qnMqYJboq|;E#K*9oHqqv4>8xm&e&EkkpbVmZLY795+eaf;3
zF_RWaZ3i;h4G9O*7L+^L5NT?DJ6;7ESzB3TaX3P5t}q{xS<~7@1wj=JOBz^~O+xQM
z7!JOo<5j`a!Rvq@swU<MGtt%!3K1;O02FMX+>)cJD7sDw@P1PzfC3TQfKMSSAM4*!
zdeRnYd~AF&Kn+1#3%1gL(mIp_Sa$32EaA#FVBs4RFP7$d2M!*SHW2}m4HT+?5KvRV
zl~CM(l^RTaUTS`&HgSn(tv42U@XndNY-R_XW=a(TiH{(G0KmL^3v+rJqXBz<L>w)z
z$u5>}Dn$8BBbAs5)`EMlCtr;pKi#hfX+=~JXf2QR%}jIq)RDhqpgnx_=!}Tt7$F24
z2F@#^^5}uF?4b+h?)}5kG>;*w4%w^MF{a+qEY~m^UZ}_Qu;s$ZEr1H-fjoU`KWB1h
z$qx<D-rq^pfkNo=zVLzh$(Q(r&%oSXn7aY~7C-_{OCA46a0rwD7l?iW!V385$K0oT
P00000NkvXXu0mjfy8lB~

diff --git a/interface/web/themes/default-304/icons/x16/color_pencil.png b/interface/web/themes/default-304/icons/x16/color_pencil.png
deleted file mode 100644
index 56f00c931d65bc282e4f1f9b1bbe5fb17aece99c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 817
zcmV-11J3-3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008`Nkl<ZI1vTG
zUrdw*008jcclQBzz<C^6AX$o_sl&<EOMi6PD)qtIYOBRVt+#yWrOhoLT4q~~HQQRc
zW{+*Hr?%cm-I_LMY5LIo!vs1cIE+6YaEHKg_rcfi7sPSwrym17O@u=%-Xb|hW*!ev
zPU8s`o5Z&J@~xU9gM)9rG&p#6ijNZj0O+Z2a#kuiELC4tpDGJe!=dz9^u%#|;8rH{
zLFdVnn`b!_0)V9Bx$f+Vmgis1X45;v`f`fJl<IPGrZlwN`QP+k?`<yBjrL!<wC`|N
z*Nwh7J{JNA9S^s4oZ8y?e!5|*7?_x0A;nxqLp7yt=SukKz(nS&zJvST=sxn#%}V97
zw;2c_ZqyUBH=o%0<h$vH#i_tr3yBs|jcmx6Uw>#Q`KxF84jTCOvX7ej9uFo@jjxD=
zP}}HOvSWWX(N+vJXGyoy^cbmT^Nsfnl`rT$`l1WpUDdnrxs}%4jdv7|RYV^qU?%0z
zT5enNK@eMLZV|O_VoSTl97F2^dXK)~{11QH5q_%9D^@#l$pVL_gc2}X(>9-~3kvEL
zq)dfP9<}7$oxJAR*S|OL^L0<Pe<H}ftWZy}Ar*|OwT-F?As;be6-haiP{MPseeKK_
z6L#%6rE0&K1r|`Qk{5{(!f?&>-Q|awbaO7)pdzQD4cFs`66K9bc}9nsTcK3tL2)@A
zQk#wt!o;kLzfF#G?s>X5%!yQm)+H?>2v|x|44GPIdWjojlWXIaF0NY@LY#N*@7AGr
zvK@O`*D?)3AXE`(6o5)VDamXdqbrN?@Z|l{y5c!jCBU3J)%j}w)hoZR{99g*Cnb#w
zjA0DpC?v=)mE)V&udGD1NBu0_ArgXbu-ob7!?XUF`Q=2%uGQ?89hoqj-6Du0rD93p
z+DJ4xaIX|i-|px9X$C<M$FU#?8qkey+Z(zZ*m_X+-o5I&Hd<^YUn{zmzisr&WtIFG
vMlga(5XZ3~2tu@?74-lB0Dv0iP(<`USvNeV5_5^P00000NkvXXu0mjfz>JH-

diff --git a/interface/web/themes/default-304/icons/x16/color_plus.png b/interface/web/themes/default-304/icons/x16/color_plus.png
deleted file mode 100644
index 23b3e9c32a6e3e7b2a26f282952dd31ff52ab908..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 762
zcmV<W0tNkvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008PNkl<ZI8UXL
zOK2Q*9LGPuoqsYj`<Pd(yV<sE(r%@X1W`mpTF^tIQfR5CUW8%=Q|P6VL$0~?kb{>(
z+nZWMEmn^b@Ii~>p@+1_Ln0g4yv!!ubT-@B&hE@+JS1sF=*bU!kG~JUmn2ET|3LwK
zc~cn5fSQHo1BT3XM)il<2rF6vKLcBPSL1lkR7C$Zoue~dj!-A}Oz;$qF}G}wJ8zz}
zZSy77yJ<kvpwr6c8ndlI|Cjo?uCJ~Dle;C)1d1^=P@E_Yo;UT?y0Ewgz5yFK^p3%c
z`2)&6|AtrnYGI<gs<A6k07;r5DP+e>`#&)C=Bm(jAmxCO1}g_)KQ#K#AGuOGQ!?jn
zE{}JD@P{YFGYTN;V^k|1w^RALkhQ@qKxPjZS+Fb!@{o2wT(o*dQo~|z{Ju0A5?@jP
zYX&1-cR*W_2s`VLHC{kv3y}7}a-h-2mRJN~5B?^!i>|iB(nyTj9$`Kr|H$Z(O@t-}
zj>_OTE@^WwlJN*N6Tb<*34Sj;)(x2_%E!AqsKl^H8_;lp#!ft4M>9<}0RLav>_CN>
zr-HeN+Mlh5IWy~uMTkpC9taRpJF;3Eu3KYNUcQgx947eobS(x_0E_EP{kZ&Bcb*Pa
zVrnS<Mq>e}3M^|-Q!vLg@11>xigk|#f~lo5w|350;o7t}d(JK%^}0D-1VxCDMgX|A
z_zBfunka@ww?Vu8nB>OC7f8irNs<J)EbuyGX}d7-+VKy~e(P1qF^ItcG(Eol{%wX%
zdi<B4Z~xTV{=`p#BTTm5S?9O4@5YOV+xEUgIc3}XkT^!R%KZBIJ)$7s*hd9szPaB5
zK)Aczfrt*2fieg5gPbV6MR|Cbo`ZcfJ*Y%=9#sC|{oC&rFYNDG`K%i9Md)%d9qtMg
s;O(TB=W(%jlC9(fO73vAa|($60rV36wUr(yu>b%707*qoM6N<$f>t(ZCIA2c

diff --git a/interface/web/themes/default-304/icons/x16/color_small.png b/interface/web/themes/default-304/icons/x16/color_small.png
deleted file mode 100644
index 085a9d99156d9ba00b083626ee9ce0cd8905a049..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 411
zcmV;M0c8G(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ENkl<ZILpn_
zze@sP90u^OrC396v_@OMoPua=Xl;$Ch(L;#BU%~~B4}ukN=!u14$K5eia5|EQIOEU
zjx<ptT;ddxmIwrU)#!ZkFF1#W9G>;V!^1-W=r5t}0>alsc^k3ERlQK0V^VQsI8_{+
zl`@89;h9cYltLW=mcKBHm8%t{8FuiN&#N|VH@vbKPzwF$VjEzZKq#&g%Ebi*Z>K=g
z0R;Sj^A0#Jp*;VhM0%2fCg79}QmKB(ztlGHc?%SBK<oo`*AHHI>fB|NB~8Gb(5DhD
ztD1p`3S{s`4ewbX>jR>embzg~q%?tv7)jRJHa~+C5j-IM-9YRK@VbFLbB&vHG3^HA
zCt)f#qgddE18I2MfHM#5ihyZ4rw|3THy}GPx*QP4<V|I%8s}RLt}fqK`M4k}G!ztx
zJggHy<mzR#KPr%YO`;=fiq`ECO&$o;=V5K2+pqjDz%P?b&RFx^$94b!002ovPDHLk
FV1jOVt_uJF

diff --git a/interface/web/themes/default-304/icons/x16/contrast.png b/interface/web/themes/default-304/icons/x16/contrast.png
deleted file mode 100644
index 4367274f82954a40c36f4735a30ba786eb91a4c2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 631
zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006$Nkl<ZILoEd
zKWG|J9Ki82)HtXpD6wP?b|@L67D@dVwUD+-)ec6gNFmq6#U+EIqhxX@A`}+|&7x4+
zsSw+cR3${4n3z<I60w35IR)tnv9G_A`0$X@p$|TH$8qm_$Gt}&goyt!K18EYA{L7g
zi9~`(CX>QcDy0NA;N@^Q39t(`zycs9W&-heT%Jy+$x5ZNHy8}+qtS>C1Om4{pRcRa
z=}rX#0Ta{zEg;WiGCTc#zd0NZ5lz!$BuS1zggH}Esr17nf&-CAL<nyuyWQ?huh&Bq
zMPW{-6LYy-$nADhd_F$~0T~X2!(nBiP)Kz;9n@~OSsV@r3lmZ(6c-Ti;6Nx8vNfB{
zdZW=m6V+-Jl}aVFy80NYR4TNxq8MYYjYcB{fwwpi3<kZeR*SCHYUt|fJ1P{8Q8xPp
z?eBj^O68*&Yiq_^2)xGu_|sna0=is2M~8=bba3z$Q>!&I^m-E$_=p33zu#6Wo!0aD
z63XR@ELyF3hFY!dL*N|_!15^L@nou4te}&V3l@{f!eTaC(bCd`It1R}fXCwzZg2a@
zT<+V=+1WLkw!Z$7MWcB#;PH5$Ah3u7u)c)dZkKOvZtdi9<z}Vw15H>guQ0v-`7b_S
zScJ*XSR08M5{ZP6!_esrWGEEgJ32bAUtYFptJVG6V6YD5^5viN^Sont^aXJ@rUUnY
z3_Rp=xhmN6PemfphFC0q4fn1=7VH8OSO)i*In#kTAOH(s@gHP&&(1M({{YBF5A&G>
Rj8Omp002ovPDHLkV1oA=7!Uve

diff --git a/interface/web/themes/default-304/icons/x16/contrast__arrow.png b/interface/web/themes/default-304/icons/x16/contrast__arrow.png
deleted file mode 100644
index ad1107bb01f1023fd3da554a20d827fdc1ffdab8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 706
zcmV;z0zLhSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007sNkl<ZILoEe
zZ%7ky7{Ku}S})p`f}&OsL9jO^z0qwZrd!Tl6lu8mVw-J_z(YqMgrxN%#2}VXjj%ba
zC2h3{p%50m@*nCs%-x)N{$Xx7*1#8I3WFPHPtVSFImA~TeD02e=X=Nf?g#)N{s*_S
z+wFwI;UHWt7vXlh#U77Gh8mD5Cnv{+dXWwlBI2;DfYa%e3=a>J48sg1lgZHj{yy8)
z)wO3fo8t<FVo@X#rDMwD0+NxDk&fNn-AF2x0+wYtBuR2Gl0GI13JOLKN4S8^W)tJx
z$#^`zwX?GWi9~{@)oOWqy&en(LqaGNdT_Xi4_K{Mnb+&}Y;SKvEEdb6(P*-yLsF@9
z1&57%z+$m9L?V$;I2?wIjg1YUX&NdkuY+7Jhq5v$Cw;C`sS-Hc#|OH*yG_w(lnn-h
zu(q}iUhh1Nk59tb*aXOA<ww-isP=I9D<8l&ZNevDmzI`cdU_6~re=8+6;($lm9^=>
zH$Kqb-rhjdi=nwW8Ys$_rMmhiuj<ifsCq%cwWcRY9Dc_KaCu}-r`zN6F|e?(lBKq`
zj#tq$3H?!k(x+po3-z6S#Wk%50i)3<Zfi4>6y@Iv1UBKY@&^tmef)z{tm_Bemms{_
z0x0SE=`VRk>$w1~FQHbeB`qzj9Tc?`VVGZ#q4>bS^DuxZ0MO|B=iwT_rOv7OgC7F7
z{QP`Ef}28dgS1$zLo+kWq1DwGd$suuTr>^-KHoI3ce?&%QZ^Wby9)rtt)ug2&ENHz
zz)4huE(-(#IezoEb8~Zbd3kyF@!BRDN4=uPf%PjB0AlS&{~7(Kdl(@yffGoC3emaa
ooVxS&y`awK7u<T?{C9@<1E}d5?0If1#sB~S07*qoM6N<$f|PAc1ONa4

diff --git a/interface/web/themes/default-304/icons/x16/contrast__exclamation.png b/interface/web/themes/default-304/icons/x16/contrast__exclamation.png
deleted file mode 100644
index 2efc34c4a0056ef9a710e2082c10ccde45c88385..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 748
zcmV<I0u%j-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008BNkl<ZILoEe
zPfU_=7{KxOZP7&-2bpfwp<2Ucw@SdA3MSE^T1&ksn+&&nQ?}+Ix2Ub<W*K^D%qf9s
zb1*?|TBe6;sWIhGrmrFrGK7gpx`jYvgH87I<1OC7p;Pbn;o<Up`R#pQFaW^*2lb)V
zYO$fAA<SSfU`C^nWipxgNDU&#aom9PAPq<Xf@RAI==FN;#KZ*Qa=Aw1@whLQN+py^
z<)K2M2#Z9bH71jpj#d3Dz@40&Y>&lafn+iXi9~`z5CjE9(lf&0aHg{(R6wKAu+Xm)
z;c$368jV6E5~0=C*VCj@DKs`VM)LCVOlY}~4ye^?zTIv&?eFhHC=|+3S67!K9pdqL
z8)#WZ2UIFmO&}2P`Tc&#@OV5xk|dOuSAakufRYj(CH-A27Dv!>A06oE=#U44!GzcA
z1-E+>?Di#?oBIN@v-7~`ms0NCISV=!hnm&Z;zP7NMF-HGmZK9S*4Le|uwVnT*+MHT
zs{~<XIrKj}0XtiL)RbJUP6uY_KwDc|4N0!~Y&H_C)|DJWp#<*AFTm$_x8N{7hUN`u
zk{16$%dhAFdOUo+-e_7`al!KPMviNeo6y^N3V!&ysGGR!c?{hT*|B2`yoC<PWHMH3
ztAemvSGOIGEy&i=B!rof3W)AJLhmgGq3;BY>rNlM>Bn!+j{FUv=Zn?W)^eMhTiUJG
z^?=K@3x5RR#gih~_$C9FLju$9?}KAi2+Nks2cPt~=EE>L0`-SLSAKpz#zmJ%bcIl<
z)T4`wP9JHXN{;D@!0)aCuk#{xg7ow{FTwmc%Q7>Fmu3P-kwWA=gTWA>cm6t?&2H#X
zGR*dmXHt8fV%Xa}2l1Z|sF~)roZNf+5+BF}jv!2=06Cta>%_FkQnrDo*w?`>%=Y>@
eW*P3rdVd4tzB0`XODIGD0000<MNUMnLSTaSMr(Bd

diff --git a/interface/web/themes/default-304/icons/x16/contrast__minus.png b/interface/web/themes/default-304/icons/x16/contrast__minus.png
deleted file mode 100644
index 5c5a17e5ebd096576647c7b7290ed5dfaad84478..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZILoEe
zL1>b37{~FyBcV`JQf75nhlU-Z<J6Fq+H{8n4xAmFs7SE4Cd4iab{f(p86Bj;2C+jL
zx{E^8b=KHY8PjcUZrSFTn6QI5L3#!4>3QGg%U&cp^uoti#NXE!UnKxQ{s;RoKR-_v
z78Xc2943)SL=ufgHOPuQ0)Zfm=Fm9mMdU1AAQTFzVzC&N&*v8#jYhHEZqqX}GcB*z
zTQwLAn_{t;i5dSEP{rf%>3Y3hYBrld(=>~sC>BPTb4{U8d^{Ur1HoWWf}c)RtJR~E
zlM|@bY8<=W&T%*#;BvWYB9SPHV<i^|1Ol3LIvqVeK88xA!eg`9c$kn{t=_@0n+y2;
zeru^zDjpslLPw!cfNVAkgM)WKtJT85fSScTH<?T|9KYrQKA+E1E|=;3{e9Tm`v&Rs
z8YB{5U}@<yXf(IG3=NrDIR3x|@SFDF70|idHmt0qV0rl~N2j~n#b`7$flpjuYHG@w
z&2AP`sVpRu86LfUxQkAwujBYF7r@)2356ojOePQO>pMJVvxR4Pcoh2kZxnI-$kqwC
z-EPU`q?bx2H;%Tp4&bbjkq6-GyAH3Umsl?)7uzocg8Dl`Hr^BRh7I8TC1Yb_s)>om
z)5&D6l+XWw4vWPJ&t-D>>2!7p60-K^4}phVE+;BH42FA@-yc|9UEMD3?pEm0QP(f(
z%C**$^A}oPK~Li;A>U_l$avPd0zA$kCAujT3bpu~zb}<a$7M3vLwxN3CD0r)qg&{5
sA8uxu<!PV?iBT`Q`VY#}_c9yu8<N2FXwDg^!T<mO07*qoM6N<$g3zNaE&u=k

diff --git a/interface/web/themes/default-304/icons/x16/contrast__pencil.png b/interface/web/themes/default-304/icons/x16/contrast__pencil.png
deleted file mode 100644
index 69e09f7406b38a98b6dc5b7434ac39a05d98e713..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 744
zcmV<E0vG*>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00087Nkl<ZILn38
zUr1VE7zXg~jFnJ2BO$}ZuEGY=U^i)ck;hVlTFJ6qSZq!PolVD(L1VHYBF2yiCTv9%
z-YBRyHa2#%4ca1S650A^Ey_qrh#@8umDS$8N*$67_QLPx@IB8t=R4ma06-=tCWzDN
zByP8xcsw5B^Z8g5MHT7p?j}<bN#hPh`2!TCB>yPjdA(jK>Ov+AxzPyfK~;LazV?w!
zHUNWz@P?v37Ztc%F0tS5XCje^FP%<DPfkv<Hk<9(VzDG>nqH>mWgp~n`O8cu0~(QN
z)Jcfue1Uj+db&TAO2u-y9AvZE0)}A<25ownv|ss^Id}>+H8sx4%F1h#1SelGK0eOF
zyEBPIV(;ka2$IPp%V02o)vSiG=a(TLe(|LGxW2CJ6TXfxzbAzPhr=Nag+kuL!$XM2
z<3%1aG`t!X6~e=hg}|6vprN5*9m7Vpz;3s9#bUAO?(Qy}+1lEIg}^%)9S{`4&&-#g
zU2_#=G8w4V>Li9=vjsy#L#F-x{p|MkHf(Nwhfrt%W@f&CXY4M(&rKLG^P!_v0#a#X
zK}(DJ7{hPb0^Dg6K0$VMbq(g`=3#dBYe9aC46Rk5rLTiR(Zo`zH2H$}Y=PBk?OIw|
zj?T|7K`<CDqEu@CqEIMP7@lGa@H0tWE{``Hj=<vLdJ&DLvxru!gWB4<D2DH|1xBNh
zXEs}yVDQ`C%E}I$*VcBcNK;d5n#19I#IT4h=<V$#ctpj0eGmGB!PQtKasX#KJ8!d8
zs*X%~IWLUC8)yGUp&&m3fq;l{Xu6rP+a10@U@f|_5zp#$cYZfF>vCdo{g2X8&H^sI
zNzTt{!9^rQl9G}V8JEj#=kxhJ6%`ft@Y)WVK_eu8_6ey+)u$P@-~!^JDkS<3;py6Z
ahWr5?_u!66Ouf7S0000<MNUMnLSTZm<y~?B

diff --git a/interface/web/themes/default-304/icons/x16/contrast__plus.png b/interface/web/themes/default-304/icons/x16/contrast__plus.png
deleted file mode 100644
index 5ce1789eaf4369fa50f09d17b6f9fae879ba3f3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 691
zcmV;k0!;mhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007dNkl<ZILoEe
zZ)g&67{KwLF<0bYHksv%d=VM3^>S*A)m(GESl~$Q#U?2-+O0{j7wv@=#a<N1_9Cfp
zvf3L3-J1=f-p(3ZPGr;lbANEkWC;tz3Bn1kr^j0!itJSfpS$DW`QCBAI|2aYe=s|@
z+fAmYr-|3=B|e`|;P?AgNRO->4#$heQ9o)zq*7JD<MAkFXJ@HcEH;zR=MyI<C$!ye
zFWPLjj7Fnb<Ma8YSm#**#oXN7XfBsa6$%BQX_`S%6ayorV^$)Oe65Ty0hh}qz`IkK
zOy=PD_!zR;EUT}tk7Y8Mz-%^Wc|4vUhox-5>2#_>p^*RR=m^s3bQPn~SfvzFDwSI}
zY+(ZqheMxAr4q?x63X`W_8=08KzsXbP^;C@+Nxxf&b3-?7KcBwfw8eM>*3)c9goLh
zXJ;2ep)dpjKVW|TJE&B*YIJpJi#Ys+4d9!$;uFvt8=J7WxC{#mKUr;UcWQKYc9#O*
z*ucohh&~coODr!(AQ)V&($R5`C3|%P1n=b_eR-{b!=KmyE|1FN@%dL*W3aNaRi(RI
z#}dAi!$9U4oS(Q<3Jh^{7f%Bgi$yRzY@>p~=)wB>K2+-Ic?eft+yv2toMHU^7&vdl
zIpS`JlBtGCCV=Zp3<iT@aPY}!Fu0M5#ePAVPWK4JZ{?s#Kd3=Ih{LBp1a6IujYNT)
zMst^PIGi&}OPh)9?KIunYyNZj>Gk3TyQIh&735nE+JTG<!;A^xWI0fWq^Oz8<*M<U
zzb_Jr`o&`L0AAZi0W?mY^LAy4W+1QmQF67e4kM%-IEVPC3CYehRR5U_a-(Fpe(K*0
Z`3u6H|FWow9n}B;002ovPDHLkV1nkuNiP5Z

diff --git a/interface/web/themes/default-304/icons/x16/contrast_low.png b/interface/web/themes/default-304/icons/x16/contrast_low.png
deleted file mode 100644
index 5b4c2d7e7f241ddc09018fa768d83da262f6314c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 647
zcmV;20(kw2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006`Nkl<ZILoEd
zPiT^H7{Kw@KNtU0;Ic*FxyCGHpbZCZ8hCJM11IK6=ft7o&0u4+fug}EY>1~If^F@O
z=@|3Hxz-ZH4mt!G;z2xkDI6<WhoaN4;OSBF%@>Ofz3_Q?56|=EeP4bA01*G9c{3Oc
z#K_19VKf?v(b3T}CX?wpG9m|;%YBGukPe9u(ekIjWvA2Wjz*(fl}hDZtyVi-T3V`y
zLZOdlv-xdTSJz`)l>aSog(S)Oa=Cm|tyTd8O^b_*P2q4Dg2CX4L?U^H%L+z7uh*Zo
z*=%H~R60UXEEZ`#pO5DE`ymhroQOoCP~&sxfKI1V;;Y6Bg#sKL95Bqy%`r4W!^6W_
z4u^A-4rsMnOE#N*pUGsPC6!76MNu$5Zilh4F)*8NH8q~`KYhZ0mkww&8Zw{HpQh7k
z*x!E*o10s(va$-x%g@1Lx!qxM(pAU66FQ($sqW@-xzl8F7dAFxu(tMsX0=Xqa5`Pz
zG4PZQD3wZEJf5h<ViZK9aR!HDs)NNc{uu)cbU-ebtGr%+lA>P0_V!B#w|kmlYH9`)
zih)Bmn{B28eSLlB1_y`kM<Uem&dwWX=kd%lSgo!v0)cQ917bQLlgS9FRC-OVzVRp$
z+4-=ymxGq+=?65s-Sbr>I=_p{YV`XcH7-7%Pl&~0Sx--|pCo5f>+6YQ4AgP)$Hc_F
zZ~gs4RX$&kV6j+Q)ZA$ga8Wnv#S=Eb<MHkYg~D01fWsLSMLwj#nXBkxW2Zg9MnZG}
hUHXUaU$gAS?oXaq_$TmMTI>J-002ovPDHLkV1jhsF75yT

diff --git a/interface/web/themes/default-304/icons/x16/contrast_small.png b/interface/web/themes/default-304/icons/x16/contrast_small.png
deleted file mode 100644
index 606c490662373013d52901484d9e7a6e3021d777..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 340
zcmV-a0jvIrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003SNkl<ZILl-B
z|NlP&C759t8n9^5B8FwlmI<v`vBDjQ;~5zl7XWbu5X%BFVFTvRpD(m()vB~dj~?y$
z`Sa(e;^N{Tfq{W{xVgEP01c2MXuy;yQ`~Rey0z!cn>YVoy?XUOJUsk=OiavwcX#)D
zKm+Os8qnU}9{=pwvyV4!-28v))an0LR@VQ`%*;Rr`~(`XhM)lz6&3L}Zru8K?AWRQ
zM~|NTZ)@ua#!gOdzkmj8B4|KHMuz+5%{%v8xN!6T`SUk`HV6Lq@Cf{`t84rWXh0`H
z1Au-ON=iyeTeoh<p39dXe)9H?_-$Zd@rsR&eJ{`eC4vU{`S~&E>FEh6Dk{1IaXbS9
m!$lyT4aBNIJR*`ZsTcq*+_FUG^_^G%0000<MNUMnLSTY=ft_Cf

diff --git a/interface/web/themes/default-304/icons/x16/contrast_small_low.png b/interface/web/themes/default-304/icons/x16/contrast_small_low.png
deleted file mode 100644
index fd31a180511bc57e04647c3d9fa299f471ebccf3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 362
zcmV-w0hRuVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003oNkl<ZILqae
zu}i~H5XQgvqD4}y;SJVB1Su*VMWt&5!9_{}7W!woJ9khh!Npy{f}2u^6@sM=SR!dj
za7f;3JO`aRq(cV>Ke**Me(>FQ$A}1vh+{$hJz#0JVcRx1=YlbI1YpB)oNWMa0B!+{
zlv4QsA`+!isnKjU&nuP6p=p|$>$)$kR%<to;|l=qxfYaCHOsOZLWtua2v&XH*M$)K
z^?Lmjz}Z|2Qp(M8xqJ`=ABf`^!=aDqRKYNe9U|JB3rLcLPbLw@;|N3qO)Egt3Xt-P
z0a%`!LYk(dZr6R%^)>vIfnw3XVBq(EmzfVplH|VKzPjo4ULQDL`Q*HidY<QXI(Lsm
zbUi!IW>2|Vts;t|bt&ZufUPhLYXF`BTr$S`S(fDk{^2it0|`8USXcn#e*gdg07*qo
IM6N<$f)Xp5+yDRo

diff --git a/interface/web/themes/default-304/icons/x16/cross.png b/interface/web/themes/default-304/icons/x16/cross.png
deleted file mode 100644
index 45d6e0d22aa95129d1ef11f92f55d1cc2fde7cad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 426
zcmV;b0agBqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004TNkl<ZI8UXG
zy-Px26voeAVBFB4FDb~{1gYE{1qZ>wp+%G=aFsjgUQkO7wG<TeAtgl65)=(h(ewrl
zK|yOYw6sP;r{}red(*rQq44wNoac9*E2=8}(6#t4&fkfMG{LDz1{l7a8!kZ^Z~hiA
zFj}uGU(Rg>PWD-?`dLSTE1K_GO&_ya{jzQ4+-Q{$^Ik4H*=wQTWxoZ77(nI#!AGT{
zH_4>F6^qK5JmqrE?mnG%c652uQGh`95bQ#D$>;Sl9@o26O0N?M-H$}H8I3A4I&=dI
zAjl4cZHO1Km>yY{!*MvQ+%comRj`U-4Qzl-NL!H4@zpaNdvM2$4qe`K6|A=ebA^K-
zn9=D~z`)!>^x)iMm+2^2#sJI%1P{(D5J^zR8^0imVF99z;28p6&J);^po}+u0e)j(
zdRAnq1Yu5O5%Uxn2cuweUZli~4(1u&v=@Xx7z~3EFa!p{fSXw$;^u^I$S>%JAI6%f
U0Y`og^Z)<=07*qoM6N<$f})eRe*gdg

diff --git a/interface/web/themes/default-304/icons/x16/cross_circle.png b/interface/web/themes/default-304/icons/x16/cross_circle.png
deleted file mode 100644
index e0886b8ccec4a51c1f59c4e866378ee339907db2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 610
zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006hNkl<ZILoDy
zPe|Kf7{*`Pf-MYds>E6l4}yYYJt)|_6p9B?8Hg+n&x*(0HxR)Nym;7QV@`$5`rl0_
zgZ;^5-57(^g|Uv&(nB)3u7_SE=_$N>-z+Pi!?D9&_$6Py_j#V=%l82y!vEl2)&bxl
zks&q#Vp{-n#0HV|;PD*yGM<(_7X^&$g+l7bM8d32O<8BNv(DMfjPpZLtkc0klY6ZB
zTfoTUmKLp|DE9a1X*3n(96a}Ja?(Bshc(vz84$|^gQ_txVSgPTN3JiUqvzn_UU6*9
z-e_u4+0zJEq4mA%?>F_~VHE4b(2$E*r>PXa?CUex(+Ic=@aR)2WvPh-Zg+RP!g{@q
zl}ZImr4kkj1uPbecu$gWRhIFvx7T7%Bj67GX?nZ!d|&{d#pC#(wH0%@9O}A``F!3r
zuaJ4oW2dvzVNWAqnI5!c(s|m`gF9_)xJ4q-Y#4?+_nZA_)L9k-mgsX{$K%#fB!Wj5
zn9JodR;yLF$LvQU){?k{G#?yUHcn`LqIs9Z44Z4Un#(JCUJr%LwD=PjXiIMU{pv|a
zhkZz2!R99<eDA?yHuL>OIBchVK6OFd#(6pvH|cOJ1_D}ElI&v&(RnEX$HW^lFZ%r&
zYv;v-#MMPyrN#|PzaI>m+2&^Jvm`kTk9m%Jtm%SZB?bhDcH(jjAejWXbq!$qI>1|o
w$2`Y9(p({;>=6Te#3e!|V*jAs)B4!^6KS>od}!ZP4gdfE07*qoM6N<$f~f8zN&o-=

diff --git a/interface/web/themes/default-304/icons/x16/cross_circle_frame.png b/interface/web/themes/default-304/icons/x16/cross_circle_frame.png
deleted file mode 100644
index b67b8c90834a973435994ffe66f7098ef3f84711..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 747
zcmV<H0u=p;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008ANkl<ZILmF4
zT}YE*6vrPD8Os}G=9mSF!UDk$QWS<Qn9PQ(xy_F*N>Qu}Wpv?gREAL(;%#Nr5?M|V
zKbD!HNK`5-o3-}UnzD^eRAd==(T$h?p7XR|MhAYphjaeF=Y3vyS#xtUGa8M|Y&Nr&
zmKN69+Ip_7txe5o=k%nZUQIj7P?j8WS;hepzEoSS)&Y;l6FNFN!r|eefcnkN%}{@T
z{{Uqu`|kk~lgXraI2@BCe4ClUC#x0jH5vi+AwD}e*vG`g#3W_O5eFCy2I2}|IFrdF
zHoChJ(CP4lKY#W02~u5M@HIAyT|6Fx-EMc1LoU<n^#vA-#kRYf#M{meM9pSUCED9h
zK@~9=L}q7a2fe+$HgcIxr_-#ht%W~~Kf~vS24vP(tyYj(?)rMT?N70^v=k<nX|>v$
zbgh+JJ^0SwFkf0Kf+r^@NTpIpBoc_lV*KiHjOXQHxx8Ftz1}Y%muWN_i{J0Zi`rU*
znwqd$QGw?&8GJq;g25mnk%*8TTy}C6ii$+m?RJA)rdF%(c)ecCR#(HLQeh!KA1)ru
zl=t@b#Ef{QP>AgM`Z~yEDwV3+?+;+1vlAO-Wmx@>{P$m=-LhQ%C%fSWxvZ|P?&{o}
zYx~W^$5<>WIVCT0fgt(#_*gJsScugJV{kZ}+vKvEni_@4WFGPP!k9G};VdW+@(LFN
zX{aaJ$v=-WTU!AbjiwQDSyfdPtE{Zl4G-UU1%ok6HC@A4ZZ1A@DV&CSn$gbhkHTiV
z=OTw(CYQ@uadEL!sZ`z=9K8E75;?%TCzF`E-holYc>(n_i$wN88OoAFF4Y;%S&2k)
zK_-)Rs8p99O;5j$N25QH3C(Cn8OoBAc3Boj#!+%EWoKt=q*CeaoSd8?&S;t;n$eCj
doQr8E>o<#B8vsi;q&)xt002ovPDHLkV1gMhTp9oX

diff --git a/interface/web/themes/default-304/icons/x16/cross_shield.png b/interface/web/themes/default-304/icons/x16/cross_shield.png
deleted file mode 100644
index ea75a6fc4bfe6278bd47944ee5d4af475140844d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 667
zcmV;M0%ZM(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007FNkl<ZILm#K
zQAiVU9LIlZcnF(gJ2!hUA@?BC5@HH6)ThJV+(aAble!muw%&wHNT{Hf$UtGDEp5&P
zwI!p3qKNfSTURi%%|&C4wQ7_g(+B<a`>pG^Li)pp``z#N`+Se%4iFLU0F?0&%Y>g;
z1!yLoC^Y+(nNQhe*oA)sln~QhfY1j?`oeHcJ+tpW0U_cl4Nnp_s@Gn(w`YEikK>QA
zF^qR~WT|(bXS~C^?5F`t0MXBG_s&Xnb!<ft;&OL)?yJXxTYY`_-sQsl@G!pV>dMnR
zzDzr*-rgN{)BrEQi^9mrL1t(OKMf8dpI4If7kp9!1DNdZ$B%CJ0Xu5IJix}5)4Bi5
z;Xv)-`=fd>N!n*e4Y)<`Ecf*6ZnU-GYEx5ru~aHyKA*>QI*rL>5>u%Z&KZs9HJdTq
z(y~iVKn=J7FdOacEIzi|G1A(K3!;dzSPW%Z#zZ1fmc1k|Dg+uDzLRrP4Y&?)fl{-N
zY&Hzk)uEr3v~nhsDfgH)n%_1Wv*est1Fiv_oi`XZpIWULIzrCna#$!7%CmKg1!o0e
zlN~kSGJs*Gq9Xd-YTeVyK@u32i^XD@h$!yO&?jU^4Vb3C>Jq?3uU@|$rYErcfW(&y
zT(ivAIYHRw-D&NgI7K&;0OABdWU;n3`%n}Q-<nJ)^Xn*tjmE=;nwl){@a~j0fKMag
zq{}G4(nM9&yP!_@ZHq*PYwq!kcN*dM(FRl!I>J&9aN-QW=sAG(D}s<_xTc<mXS7qV
z>{e<6jwypvgq_g?IOu6X7r;HP|MZE|#Bp}m{RIzB-jY1vUG)F}002ovPDHLkV1hd9
BKsx{c

diff --git a/interface/web/themes/default-304/icons/x16/cross_small.png b/interface/web/themes/default-304/icons/x16/cross_small.png
deleted file mode 100644
index f55e3cf6aef8cc0d5aac7c757308ea2fff0822c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 205
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Lo7}w|M>sko>_H9;uQuT
z<}f3J3Wkr80(+-4GPe3pVf1e3`agBbANGq5F}-KhPc>9J%znls`rpIvU%!ujN`isf
zsfLvf>CA<u0`q@9c>7o0#Xm7Y<4t0Mf*#MVMm+{CyU&L%e6TmV>zgBC!Ypb(W$Iu4
zMbQmr%AY%p6vQ)v)dC7tFPwMqEvVDms3+0rDaml}^_uS*TkF|@?ql$D^>bP0l+XkK
D535T#

diff --git a/interface/web/themes/default-304/icons/x16/cross_small_circle.png b/interface/web/themes/default-304/icons/x16/cross_small_circle.png
deleted file mode 100644
index 948ccc36c5e141c36dc0ad9e8b7ff555a17d489c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 251
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hdf;zLo7}w|M>sko>_H9qJ-3j
zmd3_JRpw@K0e$92#sRmuRs5zfb~kpFTU*4`i^=`_SsQihzItNfe8-vz7J+PMSa1DE
z`uFF&!?*u`pFLA}^?z^XWxM7hokj^-7jClq`u^7w5&2X9`Pte33RP>@yom?t`NEKE
z6%+VTa!I9bz~|T3*Z-ftZtdSY&TF`%8tUdIrj^xpZ~pwgxT&eWyrSaIyzJ!Sy{$J4
yGT7S6^a2XiF1RV!F)wobla`d6Xrei}kFlTo(2lm5H_L&(VeoYIb6Mw<&;$Uor)(?$

diff --git a/interface/web/themes/default-304/icons/x16/crown.png b/interface/web/themes/default-304/icons/x16/crown.png
deleted file mode 100644
index d48dd5d9c87304fe6d6c261722341e7324486bdd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 645
zcmV;00($+4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006^Nkl<ZILoEc
z-%C?r7zgm@obv~G8(wq~-E`9rtSspl6a*!Nfy-9MuyHnvtgvF4tE?<6wRWTFXtvo_
z)<iQ#ZjE#k!lW(frzQ52)-SQuMUxu&?R{VMP}HdCz?T=E^E@A(mzMz0|AYcIWqMbI
zQo~PwnM{-Uo4NolTjkUEa0&cmp&#<cx&SVg$}^fvWRGu`Y;bOssL>)(y(W>pNHSIA
zQ?#~F(pad$ERlD+Ol^B)1MlZ^0tg>c==wpWmi=%rAZG$tQni61iGCX@3#g9)D<*)P
z4y)`49Z>9ShJFJ0S`27mfQ13=i3ioV;mO16o?<W{%z$kSxG*+kL0W)^0lu$s7hd+1
zfp2iH-GJd<4Gi$79&JH-z-q;p=Vvhb)Pa#($1wV=4!rg;R*HePTqJI)_#9P5?YBTQ
zD@y>0*l``;wMifzTq6KpOM8Wp{%Re#<1Z0c==J97!25{$>lH%#6$+FqHG_fO816f&
z1Gif>IQGs(mt&<4ya}ztL;p^6?o&>(nQ`E(Sth3@SB<@LA$i}f1CIkc#4Gf9a&_QS
zWGzy6Rj~dOO`1Fo*j7tCwK1Os-Olw0HRhwUE)U)#OT`Ax@@$;1T!t(5T!fp9;C<z*
zq*E;8KxT$SrumW!@4QI8aEez*4mIFy^e_gmS@0yd3Gr@Kyh1Xj;@iMxn6f1|pA!K4
zrY@gG^#wC2Xq-(Qg;~^MT0m~|B61fmCJ)OwZ6P%m%_Hx|In-*LMOS%0pPK|SSf;RK
f{zG_w1_!<a`AHgw(CG=O00000NkvXXu0mjfZx1EJ

diff --git a/interface/web/themes/default-304/icons/x16/crown__arrow.png b/interface/web/themes/default-304/icons/x16/crown__arrow.png
deleted file mode 100644
index 4185b7c73b4ecb6f18418ee3f2f98355b2768177..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 696
zcmV;p0!RIcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007iNkl<ZILoEc
zTSyd990u_J%wP}%zJ>bGL-i7r1ZJjK5f&1KCE;SN3MRAbH9^fy)Uv!}sks_nc5}<i
zE}3g<g5jEEYKcjsn^}~iW|EPJZ7(S$_;qH`wTC33fsX^<ng5S-I0S(HCuGkOc6Q|m
z#q!#g!P9Cs+S4N)UxjZ?kXIJ^BOB`JK?=XCK8ZJ5Q+bsso+E>nqe_t@eKZ%76Gl==
z6eqG!wT2_h1)gjdd6oRXJlCAYfbOdTJ-s57uni*v0#<-Sg=*??I<k-#P6G@$x&j2W
z>Ud-4WkJto<heCKJ{AKS8K7lAi}PI(`plvD(i;l~bTc540r!{3wOALB!vO2AnOaQu
zW<Wl{NQ(+{{UR99w)7zm>jOF+eoob3angwSR|Q!7SOK~FKA3{{wv%wajKmKqQtAE*
zNIpIa;2gZ+0_1KLnCUpB0CKnP73Lj9E?~GVNx4G5CCmlnS#1!T9LOt<vuEB+q4eAY
zqRwoA?3qIGm^}@11Nkmss9A*Z(mr$<gI$2S<^>EhKyX>#tl#a)2=D7}i0)~4GKqZQ
z^5<GCyw$saQG2rT3JK*kI9=L~Gi7%8ry8JsI05}Mz=owg`L81=>jWpKWYDU`Gt*gg
z8p6<C5eiH0VdVtJ%_AtB0?v;BD#u#VMu8m}&n5D5=O|`BSBqH-mOh!3S6CRY##iYY
z#-3=AaH|SOG8+(--GG4fJMgQUK<E(Q5&u~7Ol*%J_H7H=PL<)_)NyVvwMO|+W6S}n
z(*#mo>_IZKG>HCGAMHyPPgSXNcMq^tRX(>lFfn<HuUeibcNPy8uYYAzNY!1pkm_N#
eV+ER(Ir<H$y%ahyV42AP0000<MNUMnLSTYnyf?)F

diff --git a/interface/web/themes/default-304/icons/x16/crown__exclamation.png b/interface/web/themes/default-304/icons/x16/crown__exclamation.png
deleted file mode 100644
index 845be0f1a5d6d5fe8d982e8d29d516b262a63783..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 719
zcmV;=0x<oFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007(Nkl<ZILoEd
zZAep59LMqhxwp6By9$XciKt#gFp<=#$SBAlgeF!bgv?oFfhkLx<wKgGhGCjpE+24c
z&1MU;l}~e|Vs6QFKBi@&mZ&XX=qSTq=MGyD3PLZw9QfaRKAgk71c3f0GONYyO(|lI
zwALmG^t-jr>6uD+fUi#=tvvdxHO=X9ys)c0PN*<k6(V#O8EKS^3Kfj<&a>zgIoWcf
zn1V+|F^u$=1u`ZI5z_n8zUl-HSW-o5yea1L2U-pUF9Qd%&Qgo3OO0ER)WLxx%RsP6
zC1~q!h<SXEwC@if9g72198hwg#?_mR){1aUT4TWh3kNQ7pmJ$giB$n94j6t+lw!=9
z1nC4lH4&I@SAYYxivt(1I-pYF`)D!TAGDb5%!K=60i@YCdp!D$CopCS!BB%AX6}Zq
z4A^8c58$%j@dDCJ0{V={(O0((^V1sGGd7?hRm@-U3bS3=UcgZs=ea_=UXE^KAVxdG
z@pImQ$?j8VxhI;M(nXS@`ec#J*TtM6a{{J2GQ7aMY6Y~{0??#A3fogZ%uQrLE|<eK
zmIiBy;Cy3X>v%*ZF#_onLe|oFDHfc0USQCC#q$-~^g(bohG1@7&Hr1%=Yd$X8@Ena
zs#s`qB?r`DOe)uIP@-9P8uc1EUKWHypMKDDf|~q|7;&6Kf6p<zs7*wV;}GnvLGFeM
zR`j}@G4l0c6dlM)F{Q`iC!OajEDRUni!BX~=O@u&+JVu*!x-t6c}^g$BfSA=sb1e+
z_lO1Y8Epymr^3iR^y<uBGDXR#DtaH4#q6gtZ895nTK(Nq?{{NrXeZ`plRT?bf7|96
zlZF*bfDdmI&-dRRW{{R=`?umuvgvNq+wyF>{|hB^BI?D&@?Zb}002ovPDHLkV1gX>
BO)LNa

diff --git a/interface/web/themes/default-304/icons/x16/crown__minus.png b/interface/web/themes/default-304/icons/x16/crown__minus.png
deleted file mode 100644
index ddeadb3a1d6aae93ab58c3b3249ca50939507f7a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 662
zcmV;H0%`q;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ANkl<ZILoEc
zT}YEr7zgm@eczid3Waqc1{G1%3i`l4r4ON^i-huG%Pbcn+bpuejAgE}vM|)xjcZ$t
zrfq6%`9Y&?jZB5G(UwHtVxMGLX6q)U1pl4$Hdj#tqXT~qJm)+=p2Hyk^gkiLQJUFS
zCROp>TO!g}##^TrgLoF7E`#qZ^h?H7r%OemvaV2cy7!A}`!0d3dV$PZflPTqewm8G
z)fz#|LKdAsu00|(9T3(0KJW7sGobyLL^qB~)$G8=fb<x!x?&r3M7xbB&!!Lq*2RGI
zR)c5@9+6C}hxh#i_*e{RWPqLl&C!RIxaG{k+s*<opq&A`8PG7=t4BhBhXL+yeGa_t
zECHY3ezO__U0N`}JMv^F5(5SUzP>z<;pa9C-Z_Qg7d7Cu&ygZLZpuXTb}qhzbLHA!
zfpA)y3`8TR;{dOX0eyi@GQevIpD@^683*op3*{$txm0oBLr3m!Pq>=Fej#{RB7dn=
z)#ES5K<H!~xa-lvc5pG;Y#ZXhyWkc)^6rE0kaVVbx<C!Y)&-qNcCA=3`o@8w2c|gi
z)W28$g^)87f%Vhios|sV>|_MyDo{U>`dM?hp2$kZjRH?~#I46o`&I<4D)?%$;5xBJ
zp1@wZ4Ckgy!mvj3M=T7X)FgrOmkJKNcVXm}UH*lkUJLre$I)|Lk7t1$xUyLZ^Be^%
zN(HR*Cc`*^K9;fOay|iDQ`gQQbM|}+<Se9CO&T@kFQ;1FN~$ebMNXEB+7(onw}f2V
w7m+7t0bS$wd0z(oSV=4?EUEvHlvp2q2W^x1ECjDjE&u=k07*qoM6N<$g17E7y8r+H

diff --git a/interface/web/themes/default-304/icons/x16/crown__pencil.png b/interface/web/themes/default-304/icons/x16/crown__pencil.png
deleted file mode 100644
index 4ae445f1d0087dad231027561d1ced1567d7367d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILoEc
zZAep590u_Jxr3ljfdq|3fzg-xpoNhlQi7#a3sG?Rl0vO%MHZN`M5|dQhFZ(ebhzfs
z;mgcrN=<xeDr%#dz2Zw^B`Jp3`cRINd^-2ymPQ|h4m@1=-~0SH=N<w;{}Zz3$hLOr
zWJTh$HA^6GRy(H$THy}9G(ddv(6X#*PW2hWw(4}D#(GXr8BZ~)NMlr{VWdCG)Verw
z6{j!_50$4fvYZj9>Aav4zZZLrnH+HB%Bb_QteC$ra3FLE*i(>1-R_|r<i(Sd1N)YM
z&}OY*Xul-W^N!g21Blz=Kph9tIAC+XEks{U45oWdfCCN=oaR97;&>XoKySFP5)i`y
z>(8kwO!j0!+`(&`3bO+maG-Tz<RrYnh`&Hi#+CtEEq;8cglEElxo7$Cyf1|~`#P9`
z;U*>APm}T8l`PGAlh@QwFlOs#EZhgUf`TN#J$T&*h%+xR)fO!Q9U&noiT3Y@PKRd3
zx>p=wZm7@)ylhREjxb<}^8u3``|;3}1dqpqNQL5ti71lVFUrWCEh`$cXJXcQ%?CVh
z)WC3I7rG2l5-`>h21oTqc&4+E5V4`p&(ANQlK3*E3S`s>1&g1mF#ksH14iv<rCV^;
zC^6I!3Wr%Pm2J1>&})R+*x<EP5y*dH&LJkIc+i@LC&mP{SH$6QX$&k^_ewjsm$x1F
zOV&$eQ@$LXcMl``AiK#!Vo0%$k$N|)!e<K>J{qN4m>)04jOz+sG^x;O-XxW+x8!(d
zkHW9vV^9Y(v)J>l%@JFuEIxqR5_eE@N)XklL&%&OM&{f^_6pxdQIx@E(hpGAk)70-
z7)X!A@5P=MSjQvhQT!t~u4FB-;Y|70T)xz!-~Dp`JsmHoFaQ7m07*qoM6N<$f?YsU
A*Z=?k

diff --git a/interface/web/themes/default-304/icons/x16/crown__plus.png b/interface/web/themes/default-304/icons/x16/crown__plus.png
deleted file mode 100644
index 66a13f86943ab7e5b856d71f9e374c4d2ec306e1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007XNkl<ZILoEc
zZAep590u_Jy_XDHsn~~N9~MY`=mpc(t7IWXeMks{i4{7;wy9)+DO0r4-Y|4wfiJtb
zoVrVzqFF*S$xH~7W@0Z?Vp)=<EL~qxO7Q8No35awpbHNN{^veF&fyRM`k#<HPg>cL
zFBS8(HAkem{Og=<SjBQoTnArS=$HJ{oa!^g)ivp&tKozg=SUOCZV{-=Bv46`keqKI
zk1bI!u~3CsAmx}yO<7_b|DX37Ga1lXAkp2^l8tT142YZsb`&0_`@X(BoQtO(2JD^%
zB3rDY+<r<bVIAK43GibvppF3+1~mJg7vX^`79YA&z<^E$9A&_@nL!KY1$Y?H@NLA2
z;jSF;6FhB>gSXoR2DDDUOvU_w)rzlgD>3y(#`vQPm>MbtpMCDlz>B6B_#P(Uizh*y
z{Sol!^(x@&z32z{Yz`P{+phwAHt!Y2`-=QPe`~sWg>J>*2aGqvp}(~X(Q?p}w96VY
zUeXY?pOna*D-{p8GvVzy?*|??njmLyM2EcB53H{b#gU0DEUO9`3vh-IIasR9A~{TA
z;mms{CZCn~fmiP1>MQiPVqmCUgRoj1B9s*{c+FT^9z4p*9;ytnQ{Fy-$JX0m!9B-8
zwA&51T^bAJ>`wIrj@&H>y`n|*#{<8GN`pP54H77Mv*5&-g6Ve-^%W)uD=_LggMm91
zylykXs6-&VLWd2q4(o=a5LmGI6BP$~$QEcP_UU$oQdxW$wH*qlmP9?(C2yr_^LDCE
zi6R$Et!W$8ByA#PN%kV2c4#d$R*jeUXwO34ry!Q)EZV;&HQ*|l7xb&^j~;yoOCtIm
T%kOG=00000NkvXXu0mjf0J1lB

diff --git a/interface/web/themes/default-304/icons/x16/crown_bronze.png b/interface/web/themes/default-304/icons/x16/crown_bronze.png
deleted file mode 100644
index 9d0e752bad6eb628870b886790098e9f47bf5303..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZILoEd
zT}YEr7zgm@-7dP6ZroCka1?d1wc6%{5WIK=2Ysx91x1Qkfdv^6X|k{_6DDPTHFI;z
z*k-b@_CYf<ou);BQbBYP?ApGx3sDopf9JexFGY=t4*WUr@SGp#@Eig_{}W1@g)LLX
z<mLP0B7rjbo4N!%G${r!(gVJ;&=2`zT>_#8g*LoHnTQ(|m3Ou)DWF%<Ev=H=n-n#d
za%sA?K&ZKvPvj{i8rVt{*9#TApP!R}XT?P9O1%lABFuo&G$3BxsCbUSi@2<!7Yry%
z10@gi6q+!RZ?cH!Cjg^fFkqMgXBm)OjJhy$!GZ<<F)-i>18Ny?AK`<@3gBq~3>aNa
z_F}fX7W@XOW-FHZD!_nYgbyP-P*;bQNGq1(?U=iH9vJHeuOWN}DW`}<&jEb(?Uic3
z1*Q!K3HaivmjPbO03TaK3E;J?Pnh%DW#EnLxb%dV4ZCFEbK9O@pD<}AnlO{+-IZ#5
za-WldS9TjbWg1MKE|Gx`Ef&0WRAS6X-f>eJi0OzTI_g-9UdPhyMj1%Cs-!8rZV+W)
zp<TqczTLQ|rOt>p4R|%|lW3@Orrw6+$#RUG5HWPL6d|ilx`D5JGy3;!L+r>-jGwZA
z_w^J~7ylO$pjk)c%A){=ZeW#7fKOpL)`t0@9kX54c;9gd^KP3og%!UQYoYz%{rsE+
zuvJjCp4<)<J#wlk-n2ou+ng^1*&b-jrJy610!=CwHTAP!Ip|bTg7@=t86by6&64*I
d;r%%r_zuvG^ijj`2(thH002ovPDHLkV1jy}BWnNv

diff --git a/interface/web/themes/default-304/icons/x16/crown_silver.png b/interface/web/themes/default-304/icons/x16/crown_silver.png
deleted file mode 100644
index 917987f6f38fb77c7f60c85fc1f301ab2b596ead..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZILoEd
z&x=w~6bJB&ii!$?E({kf#2*Ag8wF95K$qe#@K5N4%_3qV9|;v`i`ltxz(HJ0Op7N(
zfit}srQr<?lQSSRsU%5`h?EQnEuu|uI`_`_Xeg=Z!Iulib3WYby#xTr|Aa&$5o;om
z;OH6*2FW~sQ)ht3<Kbqr8PF9&e##%~46xa3R+GuZIUEk3R;wlRPovRXS11%KMx!xo
zu~-QHPP|?(@%elK+E3>gkWQybJRaxVZa0U3{e0eq$+g=bL9f@ZAaL~@xDpPBZ)1NZ
znM{%k0NoY>91dQ?+&Vsf4{K`z?Cre+1Rf(0MId{6`W+SmG&szSMk5f#S3q}At2Lq3
z`Tz(#7>~cgLZH!TK)>IIUato`I}I2PCqQfM_7DW235SOR=ypG`+HZkuHp_r!vnd0#
zHV3x1j~GB}3y;uhwPc`Pf60!pvGGg>4h}lM9wC)Vk!Uo^iJ}OSB+0<~`cvR}9#&VM
z$bclZ5v~LFXJWC~84wDEh~MwOF&>XE>_8A+uv@5BpUVLKGfz&wKp+sfNna%cTrL-}
z+wB=a5TH`2K)GCoQmF*_e4gzfm&-w+P=I2wh*%YGrABXL$?0^S0cy3Hn9b(p>2wN%
z!GPUDr_+V~{Ug}id<|P$Z(w)#ExUzY?=ws$-vImX(m4j;cNw4U66O&Wb1IeU9_Efx
zsa(dD$H&FvYs?x91|D-?r_(*8{d8^)7%`VH)_(}?H&WmS8&K*L`l|t*00000NkvXX
Hu0mjfaAXQe

diff --git a/interface/web/themes/default-304/icons/x16/database.png b/interface/web/themes/default-304/icons/x16/database.png
deleted file mode 100644
index a81cfecfad0e853e89f30febc14d22633d0cbe16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 399
zcmV;A0dW3_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00042Nkl<ZILl)Q
z4Gm=gVLv}VUkwe7G*(vDGzJC+5H0}XW;QmqE+HYIb_E56217%`3P(rB0-)M}z`#HT
z5N1F!AnnzwSO4$dzyJT*wQK(`UAp{#@80A8w`@83f6tzC|4*L0{r~#)m;awV`|%&B
zHVdl(&z?Q|f8oLfpvJxbckbNvfAQkA|7Xu$^MCpBok0HS|7XtJ`~T?C=Rs_MaZXOo
z=Gn7n|DQQ?=Kucw{{J;KHUBFrD*iV#H2m-B>G=<mD=jVE4peJ48i>>k#NgmyF!u5B
zAvzF&YP0<P{TV=*!OYBz!OhK$!NI{Hl~^wT^Fz9`vonK<i3tN3sHv$j=<4cb5^I2-
zo?e!!swx8vZ~?KHq@-jqv0jjpk}3x2f$C)t0%9FbPR?9*cJ@YKc5Y;0VFBSLAZ`Zo
tL0P()gM*_PsHTaFi>nEw7NiHH7XW7#DB^Js)4Biv002ovPDHLkV1nU0y!QYA

diff --git a/interface/web/themes/default-304/icons/x16/database_arrow.png b/interface/web/themes/default-304/icons/x16/database_arrow.png
deleted file mode 100644
index ab07ed078931ced354efe6d94391dc0ad86cea94..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZILl)Q
z4Gm=gVLv}VUkwe7G*(vDGzJC+5H0}XW;QmqE+HYIb_E56217%`3P(rB0-)M}z`#HT
z5N1F!AnnzwSO4$dzyJT*wQK(`UAp{#@80A8w`@83f6tzC|4*L0{r~#)m;awV`|%&B
zHVdl(&z?Q|f8oLfpvJxbckbNvfAQkA|7Xu$^MCpBok0HS|7XtJ`~T?C=Rs_MaZXOo
z=Gn7n|DQQ?=Kucw{{J;KHUBFrD*iV#H2m-B>G=<mD=jVE4peJ4QUkGU{p0`ft6%?j
zFP*i(wRk3jL(U}90?}vMrT;UZ{{L?|@y2!Y$@gOP+AlFM1P2F$v5$`r)<Dddd-1>b
zq>KN3r(F4OQnCGi^xC`sCp`N9AE^0^ZtH~@1~W4=1~)f11_uX+RBT@GTz>z5$Aka>
zlP>@NA9fyrOK$%EuUvWf3<C(Lsi`sO>gr}<Gr*^A(|?n)ZT~H*cK$ai-TL2r;obj%
z=l=hf$l7{FGG}`XNIw@4i%CjK786PbW~E#H>m2<5pFecQV=jlHJg8m<At2V_<mAj{
zXJ>B&X6Hs078Ve00^(*MAC#q=IXF0)*(|cpv3hhrW7G7R4blVB3jlVuH*Su<%B=tZ
N002ovPDHLkV1gB!1eyQ<

diff --git a/interface/web/themes/default-304/icons/x16/database_exclamation.png b/interface/web/themes/default-304/icons/x16/database_exclamation.png
deleted file mode 100644
index a10c08422bce1b9d3e33860db89575d7cace9c56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 592
zcmV-W0<ZmvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006PNkl<ZILpnG
zU1*X~7{|{meq_*%7lF`)S7MQb7*f!MHgL2|5|JpXyQG@YC}gi7p?Oi1VbDd&3l*8T
z<+cLNP!t=q*-*;O{Aj~mGYnl_^fBrp_;+3*h#|yoq60r34(EA(oaf;jVzb!@kJ)TK
zq*AHuB9X{W2;mu__{3uIHJMCyMWIl5G#U+SFc?N??qQ3?LU_m@0(-aHMYGvNwOYl(
zLK)d?9*M*ZGMSf{n_EJy)<L`d12p$+UqQRwMyXVyg;}IhX@tX*;J67yqba&Cpjdp1
zm6fmmu|Vr^IN}_~AruNB5D38Sc7tVEcsw5X{eJLgPN(xJ&DH(;A?A{oP|OUW@tWJX
zU@RKPOwx=ms}WRZPvVGe==_ERkH@{J6^8M1ErxfM3-GbKZl5@Ifbjfvh%VPC9&%cI
zY+VP<!|Jl<dnU4J>UoS2QV6kHtvyU8Q{N$`;<xZ>`Y1lXcY{7{e5jvBZgP9`*%&jB
zi&BA3rz1wAk?8gMQ~g?)x;KbM*^XLy5Kj_Ll;`y*&hGn`dB6nI_Ze!SOQ}>6wOV~<
zy<j|i73tU>EWg>0Mn&7Z0UsNc-I$)(l26`Y_VV?cDO=@o`Nj1u#3Kh$f1yEVX$Lxs
zDy)5S^&(F_zpeWy$lT=xGRjV=RC-P#k$CBM_6mhUp3B3>1qDCLw0?8L#Up6lbPJk6
eA1RI63HJ-Mm^xDFcpTCI0000<MNUMnLSTY-HWqXM

diff --git a/interface/web/themes/default-304/icons/x16/database_minus.png b/interface/web/themes/default-304/icons/x16/database_minus.png
deleted file mode 100644
index 662af8f4394cb41bd228c51547c5caca03fb1342..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 456
zcmV;(0XP1MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004xNkl<ZILl)Q
z4Gm=gVLv}VUkwe7G*(vDGzJC+5H0}XW;QmqE+HYIb_E56217%`3P(rB0-)M}z`#HT
z5N1F!AnnzwSO4$dzyJT*wQK(`UAp{#@80A8w`@83f6tzC|4*L0{r~#)m;awV`|%&B
zHVdl(&z?Q|f8oLfpvJxbckbNvfAQkA|7Xu$^MCpBok0HS|7XtJ`~T?C=Rs_MaZXOo
z=Gn7n|DQQ?=Kucw{{J;KHUBFrD*iV#H2m-B>G=<mD=jVE4peJ48i)`BYBe><3&dm_
z8?#lwWV#%P8G?g@!Pv*g2WKE|_7DHRPE+UqMjieCTl9?n&*$KH2-JLL83V&i1~W4=
z1~)f11_uX+R9s$|t*H9{dt4j_o&huj<Ol{eH8loZUENGv2261B`roap`M)3Nipjc$
z|0`HoA2k3qw}4y#1YAHYCMhXdOl&%kl9DP0>4EBH5CUQyPEO8Tc6RngV0La~VPOH`
yCLnGG@<Ca;nS+C)8K|a-i;JrXq!y$Hq!$3qXdx$ShTCBP0000<MNUMnLSTYdjm>EQ

diff --git a/interface/web/themes/default-304/icons/x16/database_pencil.png b/interface/web/themes/default-304/icons/x16/database_pencil.png
deleted file mode 100644
index 21eba868a4a6e48b9cbc34abced0e6ba1d7ea6e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 567
zcmV-70?7S|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00060Nkl<ZILpnG
zUuaTc7{=cd{=XC!c&@xryhuSbL)hSmaIQ=e^RCM>5`)1K47_l9F(^xlK|35-rE9X-
zh}g;uPt-*#X&bV@5ygaE9LU=OyL<Z1p(56Tt*btGF1~Y~-}CXl-}_N2l_E{?c>J`-
z<4GHh#xxOWnq(@QOr~pgyM4y#bQb-7e?Ah4Ofv78L?S_&=(m9Ma5%(ZFhIZG$M*Jn
zD9RhGt-VI4vxRQ=BX)K^Lsh?lc{2wFsH%!yug5?I?e=pt8Y__HWi*>@wtt6>ja}^R
zeff_A0@-YKRhDH)l7wotibA1)d_Iq2v4~2g0_|TemuoR^C^s=dU5@+rCMsiNe+C@3
zgnT%BeV5}Nt#h1k<bci1Psogqud=%EnB!g@DPa9&6ZQHsMxzl#p1*mQNIY~C@7&7Z
z;hYa6^(xrJN^ClPH8!f0OeS^3VzIwA@x`-yXe~x`cu5j)E)}Tyd_KD3b`ym{AreKA
z1VOlPPzm)~87s9@I^4J&#@5>>VDI5#G#aH~Fi84xvm~$Adue~b!u%|j<^noAe<O&_
z(*^w&*y$OU%SAtzjp?|<;h5TA!s6_C;OhqlpM=tS@M{iuo}bc~A1v9KPFSth%Vx8A
znmy-fgTbJw#J=OKaIEif8tz*xmNN5{Y&Kg-^J<L7eh2r8Cpdrr+jsx~002ovPDHLk
FV1oNJ4Cnv=

diff --git a/interface/web/themes/default-304/icons/x16/database_plus.png b/interface/web/themes/default-304/icons/x16/database_plus.png
deleted file mode 100644
index cc67cc49ff289e5d530da93dabc51a13ff5e63db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 498
zcmV<O0S*3%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005GNkl<ZILl)Q
z4Gm=gVLv}VUkwe7G*(vDGzJC+5H0}XW;QmqE+HYIb_E56217%`3P(rB0-)M}z`#HT
z5N1F!AnnzwSO4$dzyJT*wQK(`UAp{#@80A8w`@83f6tzC|4*L0{r~#)m;awV`|%&B
zHVdl(&z?Q|f8oLfpvJxbckbNvfAQkA|7Xu$^MCpBok0HS|7XtJ`~T?C=Rs_MaZXOo
z=Gn7n|DQQ?=Kucw{{J;KHUBFrD*iV#H2m-B>G=<mD=jVE4peJ4QUft?Tgrdkt&abt
zdNmH~R+=$rmK%{4i1Lf{|EIhw{m-&M{5r!zVFre|LJSPS!NFkc<Ku%f5dGIC{?}Y)
z^<QVD?f=l%Y5zH<NjwB<KEp6aXeNW1nHhtdn;V0JgF`AVFDTA5`tSHW2m>=r6*$8H
z0%~e%47$3ynYavanjZ9Db*jmK&6yVebspLNXKfLD#L&ZchM|{lCP+UQ5Q|AlN){7J
z2Rc(M{!880{?A;&`xvALs+R#65)3+=oSeDr?Cg!e?A*x0!UDogK->)EgR*op2M0$p
ovlrVr#yGZTjGnAJL3%)X0sJ!_zZ?o}*Z=?k07*qoM6N<$f~lYFr2qf`

diff --git a/interface/web/themes/default-304/icons/x16/database_small.png b/interface/web/themes/default-304/icons/x16/database_small.png
deleted file mode 100644
index 1919c749805f469ce48acd3ab2aaf16825814aef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 287
zcmV+)0pR|LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002yNkl<ZILl-B
z|NlP&C75CG8Q|sR<trc{kjB8kkPgH(92^{7($dn+#>U3wK)E1d3`l$R>ec_7H*fww
zdGg%<ZQG6m>D&JwJ^Jz=D3?Q&0neU2`+wxfk^dVvZv8)Z?)v{bcb@)#@7{Z&4KR+0
ziP=13#*F{X&CUNSD=YuEx3~Y#$jI0QlryKj7d$*XaC!kKN7w)>D=U-8$jB||UPw+(
z-eGNRP1p+>8XEbyyr8M6SwzqPadGh)TwVam)e$s+o0~hGm6f%Ng@px#dw}d7c6Rn2
lPEO8l9v+^IA&?hH#Q+q_!5%$0Dfs{Z002ovPDHLkV1iRRgI53m

diff --git a/interface/web/themes/default-304/icons/x16/databases.png b/interface/web/themes/default-304/icons/x16/databases.png
deleted file mode 100644
index 5cb5e5ff498765f03575c2df6dbba18ee3563c0a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 457
zcmV;)0XF`LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004yNkl<ZILl)Q
z4Gm@R@$q4hlapfrv7vllAU}<PfdPcGfVhF3oxMv`RJ2t?L!;Kl#-`ZU*EawN7#NTZ
z5EB!F@zY+tdiDSA-Mjy<UcLJN;K5V>w{AW5|G<Gu|1Vv7^8e}6Z~uV?WMLQp0w6;`
z20VNA?EmT0r~mKXz5D-)6&wD~nX~r)+O_-tA3b{g|HFr$FbqI(GSHCCxw*Ojb8>S2
z7Z(@*FE6k8-`w1f*8qY}PESt<8q)lK^5n_?3knK$01YrhF@TVhJ3FV~4FiG(R9Cm+
z^@4F~YU<{hGiUyvI(6#*`uh6+m6ernCwF)E0r5=ghJmN2r<u36H~C@U;NXzq<m5zt
z80hNiX6x(gGcbVs0d$UWN=gdOFqkxH+W&d;)}XjRN=mAPgM)*C!OhK$!QS3Jl~5R{
zsi|#aV`FOuYHH%*;%egL<je&oIwc061cQ!_P9`BQ05ee)P=gd276c`K0ZB>85<)Hj
zIT@w_9moTnlLO4IjVvrIFx<?_%G!+8$!Guo9ibZKH)9s*00000NkvXXu0mjfdq&(n

diff --git a/interface/web/themes/default-304/icons/x16/databases_arrow.png b/interface/web/themes/default-304/icons/x16/databases_arrow.png
deleted file mode 100644
index 23756383c60f7012415723e45346ffdd2845ae56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006CNkl<ZILl)Q
z4Gm@R@$q4hlapfrv7vllAU}<PfdPcGfVhF3oxMv`RJ2t?L!;Kl#-`ZU*EawN7#NTZ
z5EB!F@zY+tdiDSA-Mjy<UcLJN;K5V>w{AW5|G<Gu|1Vv7^8e}6Z~uV?WMLQp0w6;`
z20VNA?EmT0r~mKXz5D-)6&wD~nX~r)+O_-tA3b{g|HFr$FbqI(GSHCCxw*Ojb8>S2
z7Z(@*FE6k8-`w1f*8qY}PESt<8q)lK^5n_?3knK$01YrhF@TVhJ3FV~4FiG(R9Cm+
z^@4F~YU<{hGiUyvI(6#*`uh6+m6ernCwF)E0r5=ghJmN2r<u36H)&x|y6(~cm=!Pn
zuRi<vzk`EAhLe*MX<^_$^XC7VPyhdqT=Mw8Nn+aq!`Nm929Q61&M{6&Nx>Qhp<Ubm
zJ9i%Y@7jIpzkczi|Iusj{-5yZ|9_q8{ZDjTFT^moxw$de+uNt&3Io5jPyTm2`2RoY
z^8f!~=MlK%=KudnrF$<ksHv$j=;-KV;_^aF-=Y5wO$Yx=B`<r*6}#-B`NF&Z1JC{c
zFP^^PqFBP>WKi-Kkd%}xAruQzQc@+n(MvDr9Q^;EH)i=6zPOb!qVbEt`A43UlQRdH
zT^m_gSYWuBm6f%bjg76DgM*`qi;JrXs3w=ix@ZM!!0a<@fpcPjhA@B(001eLL3yVZ
RWLy9M002ovPDHLkV1n24EH(fD

diff --git a/interface/web/themes/default-304/icons/x16/databases_exclamation.png b/interface/web/themes/default-304/icons/x16/databases_exclamation.png
deleted file mode 100644
index 4f4ddf2e9a6d2f39654410532e1653f7182da527..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 630
zcmV-+0*U>JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006#Nkl<ZILnoj
zUucq17{-sHs24$9C<tK}!LSfUS-Tj5=7nRZ)QuNGj4pJp`ALSw_;6t%gUtS-f`*I;
zVnSGrDHFWNSsG1NO%u0;Et@mus3_R3f~W5r8I75)7aq=e;qc>mUfx4YCKE9j3`8cA
z5%&JOH!}SoA%xX1qbmY|;JR2W9+S)EmsKj2(`YoFVv3Nz0TPL%*$*}v4OA)>lu9Mc
z%*-N@$RV9Bpirn`b#)UAV0Z_BEf&H8>h(JE`8-mo6r$0mh(uzD#hxLXEu&ifu>-Kp
zG6R{i+wGtz3QngJBO{~mcy6}^bhK=>S{aB3e!m|Mha<@VdbR;NS@wDZZD-IC;Bt+%
zji9txEK}id7{Oo=ZnqmWP5-g%^WDOD;50Im8qB7>|38D;$~R1e4q?3(K{DEl3l3Yd
zzrVjnuh;J`Lix=EUT4nY=f)#^m_Lu@@)Kw@njx)LyBokeyiE^a{gV&OTYRlu!#o2!
zdPHIG?(Qap&B54Fn$6~xGZ+t1$W0sYy*3JFNAP)J2*u|nn2h^ELZOflolZy8YPIEG
zGssO3pt@i~x!8w9{1S@u8obK%Zr*kCvV0ynNV>YZh(e(_*DAu}XaFzbC-8Ami%Lnk
z<$ygarDI4<?3o*-IDPE;@0CiW7h5@qKRk)0{Bf+kKa8~{IX1q~TPLf<m;2Wy!<+~U
zI3N;<DCWCf<?(n;dH8(3$99IBzd>_WZqnS9J1*|>y)iO(-%D~$J@AphFIiVan%&P9
QmjD0&07*qoM6N<$f`~yMi~s-t

diff --git a/interface/web/themes/default-304/icons/x16/databases_minus.png b/interface/web/themes/default-304/icons/x16/databases_minus.png
deleted file mode 100644
index dfea00a5e831be7b7a506b5c1250c21478188fca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 498
zcmV<O0S*3%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005GNkl<ZILl)Q
z4Gm@R@$q4hlapfrv7vllAU}<PfdPcGfVhF3oxMv`RJ2t?L!;Kl#-`ZU*EawN7#NTZ
z5EB!F@zY+tdiDSA-Mjy<UcLJN;K5V>w{AW5|G<Gu|1Vv7^8e}6Z~uV?WMLQp0w6;`
z20VNA?EmT0r~mKXz5D-)6&wD~nX~r)+O_-tA3b{g|HFr$FbqI(GSHCCxw*Ojb8>S2
z7Z(@*FE6k8-`w1f*8qY}PESt<8q)lK^5n_?3knK$01YrhF@TVhJ3FV~4FiG(R9Cm+
z^@4F~YU<{hGiUyvI(6#*`uh6+m6ernCwF)E0r5=ghJmN2r<u36H~C@U;NXzq<m5zt
z80hNiX6H#sF))Dq0d$UWN=gdOFj#17_kWp!^8YpJTK_j_>HXiLXZU|6GxL*W3=A_F
z+}zw4?CtGS@rA((poZ^paTs_q1H)woH8nK`9UYxad|p@<5&yrOmGx;Y1H(mR+{nN%
z7nJ-3Bqb$F2*rYwlvD{&tzZ<8D2L)Y1_+Sn<mAi&X4gg*78V$8W@Tk<W@BS(=HTFH
o;^N|J0;<Ucs#OAMh(a;|0B{K?SQ0_RMgRZ+07*qoM6N<$f=*}e1ONa4

diff --git a/interface/web/themes/default-304/icons/x16/databases_pencil.png b/interface/web/themes/default-304/icons/x16/databases_pencil.png
deleted file mode 100644
index 2820b8ba3e14453db5b853c1b8f4589331b40a1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 570
zcmV-A0>%A_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00063Nkl<ZILl)Q
z4Gm@R@$q4hlapfrv7vllAU}<PfdPcGfVhF3oxMv`RJ2t?L!;Kl#-`ZU*EawN7#NTZ
z5EB!F@zY+tdiDSA-Mjy<UcLJN;K5V>w{AW5|G<Gu|1Vv7^8e}6Z~uV?WMLQp0w6;`
z20VNA?EmT0r~mKXz5D-)6&wD~nX~r)+O_-tA3b{g|HFr$FbqI(GSHCCxw*Ojb8>S2
z7Z(@*FE6k8-`w1f*8qY}PESt<8q)lK^5n_?3knK$01YrhF@TVhJ3FV~4FiG(R9ClR
zc%fHQ6K;TUYHI4{nKNhppE`Bw|N8p+|CN=Ma3^<n_W|)txB++9@BM#_kMF`UMn(sc
z!=SUX^M6B7(1ZUC4gWVXG9Dx?40bL0KXc~d|KGoV|L>`!v}Zm8gB$S%G^hMuKhN_2
z_h%rl_54>;Q)^2W6=h%mg`}sar*TS33eGT?Gp+Fds+q=M%}XX*{Xchd_kSrVsS*wj
z4xk&{+!*Zb?Nf1u!P(>M{_kJs3D#Vn!}P#Zk97$b7grM}Cuc4&(J3(iox-4_qmzlv
z3#*qd{=aRh16Xrw5!>D5V1^)|CMhH=2ul6}l9G}o*j%t;TIT=%UvB<iIm7<HlNJ9=
zm<Dtp4|GlrFuOLgu&}^zGb<}=Gf?h-s3Y?=EhY8^a3`Yy01G!9O(et57XSbN07*qo
IM6N<$g5=u~6951J

diff --git a/interface/web/themes/default-304/icons/x16/databases_plus.png b/interface/web/themes/default-304/icons/x16/databases_plus.png
deleted file mode 100644
index 203dd449501f14c484ca6b6a4c7911c3fb9c13d1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 548
zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005&Nkl<ZILl)Q
z4Gm@R@$q4hlapfrv7vllAU}<PfdPcGfVhF3oxMv`RJ2t?L!;Kl#-`ZU*EawN7#NTZ
z5EB!F@zY+tdiDSA-Mjy<UcLJN;K5V>w{AW5|G<Gu|1Vv7^8e}6Z~uV?WMLQp0w6;`
z20VNA?EmT0r~mKXz5D-)6&wD~nX~r)+O_-tA3b{g|HFr$FbqI(GSHCCxw*Ojb8>S2
z7Z(@*FE6k8-`w1f*8qY}PESt<8q)lK^5n_?3knK$01YrhF@TVhJ3FV~4FiG(R9Cm+
z^@4F~YU<{hGiUyvI(6#*`uh6+m6ernCwF)E0r5=ghJmN2r<u36H)&xIxGm+s)+W3E
zv4;x&J2*IGI5|0y76!`8%>JjmEB&v#!QsEIu5PwehB5;K$R9xG7^kG9;0y!X*`EIu
z<{JK2Uuy9`^mW>Qy)_R1nI{N6VVEN{lfli+jltgDJ{4aW=q<DR@Ay0j12aqzxXhrY
zrpBP7qmzlx3lVG5|Fbp;K4s|Sy{PlZ_CJUQ<1W6rpyV$gDJfY(C>Eroq)HeXc`iuZ
z*Z$AY%yWjJgO>ql06721b8>R#0JCc&3kwSjH?y*`HnXv@HFI!qG;wipH38M+GWfHu
mV8~=W!;s51lcA6uYybed*(u)h^+eqO0000<MNUMnLSTZ7wht%(

diff --git a/interface/web/themes/default-304/icons/x16/disc.png b/interface/web/themes/default-304/icons/x16/disc.png
deleted file mode 100644
index 46397ad813dd5386831d0a9d83a16c20a88bbbff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 756
zcmV<Q0t@|#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008JNkl<ZILoDx
zT}V@57{?E?8^!9%j4r(?$eaiwSWFTo%%up^i%1hoNn75Chy)3JXm-<GQuJMZl%$mq
zXi#c0q<x&D?(=N6&7GZ1x7_q%ZWHm}c|;BcMHjvBJ3O5C|NmXQ4+DVtAND@g)zwT*
zO%0>d>6qHu+5>fUbtMuyiHrNtTtau0p)7U&BskXGbg6ad;fqnuVDUMe&J@4wPFd|%
z-|*{^(dL$xR?7TMaJ;?cO855<tl)jiVPVn;lhFj$x&X(r3oD`kuh%QIx3_mw_BTOQ
zRn@_!#(I5dW>#2#@(qE<M%c$C!Mq8aZ4tcJ10fVdBpQLw=NB3q8}-zY1(lVRrK7|5
z#&(23q-NeBHeyCXh+}tmcaKDJ3(;s4Yim)ghNBpKH8e&YSx`|?an5P~<c|gikz9L(
zoy`CY27|M#tn5BPb26Dka3u`CCj`e5@28F|C@(M9I~=wYYcXJHaT@7#3Jnbnck=S`
z7=q?>It{li0N0`)Ubm2<jx12AR9BrYPs+kt!E#n45?g3%YrCn@Xc&U#L?Qv!v;fYu
z1ebj|MIBjCT3UL+!Y&5v&Smg!AJ*4n;H1;h(Q%!i*|Rx=m+|v>@9)JlI}xCcEGRB6
zRt*e1m<R|V1jR5SktkyE7&bOG5Rb?4!!1I5GmS~xWejbd#qFp13F^p#qN1WhYPGtH
z=iMT`HW3Vo(*AjvSqtnRjaZdd8-D&3^K;L{GwRb_)R6^+g@sIhetv;gtL@`?KD4)Q
zVFfm~17^+w?u!wDaSr_Gd`PR-^ih^NvVcxjRu+?!lT)ZvDtr3x_D`8CX3_2SY};Lq
z?YYmhV(+yZQ_B2;9?DRb&aVQ6M6SdMg+g&EGc&V3J3G5m;?_Q$^pEbO%t?tO)cIAA
mA(1U{SmNkE$lcFoQ1>U*6HR5Q7;mHi0000<MNUMnLSTZO<zmwS

diff --git a/interface/web/themes/default-304/icons/x16/disc_arrow.png b/interface/web/themes/default-304/icons/x16/disc_arrow.png
deleted file mode 100644
index 806d24f893f3f31bb24bb655e6cc5051f08910b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 811
zcmV+`1JwM9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008=Nkl<ZILoDz
zTS(JU9LN8J28x#_yFJ=Nfu>@}!azY#@U|>3kxhrD<!wEPgas9JF@q?3$h1-rZ)KTO
zgcgKK49U6eKX?6ay3PH!d09GrnA^nsc8*h`z^4v;{(L$A-}m!y4u=82{14k7p-{-=
z<>fK?`T0yiK|y$7VWEJKPblAkW&!<2XXq^LQ2rGht0=ov)!W`Rpp?ojI=$Y<%@}=Z
zt=iJ}x__Xeva*WK>?JrZsjO+7{h;8@@04IiCLx=YL7`@$n=xR{!NY7e^Ad@qk<R`l
z$j!}-C=-inonzzta>ozYUQI&#o(LvnP-;}*%qH+oJC<Bauvo0TSS+rkot&JUfFLU?
zD|w*r@!%%k1K-#XR{E#l;oaEU+S<nBU5Cr%!s4O}3-d1YboUO@4j~}O$jG>$*M7CS
z>^<-<zQpF54N|F8pPHKbj6$>5>xF%89#)eRx@pczJA{BBEiJ89r_=Zpaw(=&qwxEE
zC@Cp<5FH)OP-yo1{V-~5FsQ6B8+jk?5CVdfl$1KX!Q_)G)KDnZ@OaiyU0r=AGc%K+
z(CqPeppdap%BEq^&iH7D5D+9MCzr|<Dw|e61I}o{^70ClWYyQ#-=xrNS{uWaZ=X=~
zR)Z%alMA#%2ndprl2Te*+dkTOC+v=SEG@aP;$Fe(>MGoBH+~u&aJ(7CxvmMcJAm{y
zc2yvGar>nBUO<qTm>8L!o_>wvj1GF*6uZ+w?w^CChecisi-Jci1d<_K9Gpdq4Tx)E
zl_&1AqHRG!LIM*T8ylCMo!!K7oOAoW`8jBeItT}OG+TjkHBhAdLjwmKz5abF@F2(v
z4Gm?YqM{Pw<Ku5NKWzRYlTSH}X4A&ycImHEH-<N2t`4n57I!!WU9&i=01nlBo;qAN
zEZP+W5e^b!f`WohhlGTP!otED2zPgApnKuxI}NepKzMPtDnis(N+is#U>_ljaDZ@R
pFZK(ccLtwnQw3)~E!*iZzX5(TO3;&9t^fc4002ovPDHLkV1h%PgE;^I

diff --git a/interface/web/themes/default-304/icons/x16/disc_exclamation.png b/interface/web/themes/default-304/icons/x16/disc_exclamation.png
deleted file mode 100644
index bd45b6d86f567966c603522f7af4be07f4269aed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 834
zcmV-I1HJr-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009CNkl<ZILoDz
zZAep57{~8oeNe1ESrC2F4@OCfDbfTrLBm%Jm54O45`0Mrd!fK0B26ix4;7jwy{wFt
zMQ>7)If*rOZgXyT^G@C7?lzrQrwMZ_#DC}PCREU;4*c$U;5`2yhjY$l05JbU=u=Qo
zz!Vl1GDSs2OmT7XrjnA9WI_?)*e__EOxI`+?WGyY--4JE700Wdv^`YlRa(2*VhM7S
z)}WC!+Mhn_Qk<x)tfD>t66~z2tT{jRTF2X7=rQ_X7@A=XbjDGbC&w}E=3%qh_`15f
z^R)L5L4JPz=8E#tT90yoU${R6XU8zumqeh}KyNaDvrT~axG*Qo!ESf(<>lqIG?SN?
zCkk?Ma%769H@jDPIfBYp@O6#A&o5$aZ7qa9umV94;Pncaoe>~^{G^*^2%;b>E9<a@
z?R5w)IRf5xtbTJsrBYea($elwXdMUy;F_L+W5NUT80VlFf+)zy$fz}&O+lSjg)u`v
zzJCv*tgP%>R8$m0q4li21BTDJFnzrNo0SjJ3_%p6rly{>j86o$IwN#?BmDjqR99DD
z$<EGZC^gj;jguosu`I};>pO^X6C0!%f+&#5WJk3+gOjyPg0tGOu;7E9jQaZeixkzT
zCX>^03akF-Wc#I1DjRs3A&7#cq@>ilcU#{$c@JFf8O+TI@GbhVw6ugp-#l355iGlJ
zfjlP6doJUxBHErJOH3y@QIL?3uq87y^Bl)n-So66E{~hsKZhYzD@^@|@Xggg-YtWf
z@hbE^k8$)o*qGPfB@qSj@$pP-Z0w%g+}tLP<2<4J=BHueSbXUzfx}z{i}3*7zdH+~
zAsza`6yGPgq_y{vL?ZqWWQ2!@Gm(*z@o{l+mzrCeKWeliZi8O&WANjCIJgW<v3o;1
zpz{=)h=CWI)IFV&ed_`#VH;t$R4Ppg3kxfah=@3I^|VxPP)7T`6T9HG?u38gLTILN
z>K)$KZIX_4!3IJEVJl(#I_-_jJ;KQEbTl!V&SqxlK?|dPbe*~V6YFDFxRP;cfB*mh
M07*qoM6N<$g1{z^Qvd(}

diff --git a/interface/web/themes/default-304/icons/x16/disc_minus.png b/interface/web/themes/default-304/icons/x16/disc_minus.png
deleted file mode 100644
index ee62517738955233bc841c910b9fd8509864ce2c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 782
zcmV+p1M&QcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008jNkl<ZILoEe
zUr1A77zXg83`?=PG9y7kB84nP5MhCWpx`#em|jHcu#~hl0+A4+khHR!?h?feN}VOy
zAL+un(Jn^hwsX||J=@ym&Ng$)O@p~j#Ha7u)<s2h(Fec7%g*~e9CkPi0Oo%rE)5M0
zOk-msBbUpWrlzJt&CSgfgq*mPLgxy4kM7W2nxTF#DC}sz+%+}&bcWODU1p0V#ye~=
zgUR4hKcAlI=<MvGJAW%EQgvSK`|_3*oG&>n&o4o{qy=kOhS_1onooe!=@e8dRUh5`
zrJ%mP{&2gZMd@GsC~S^@hUf7TOs`16CoMSR3V5d-g5QfkFaVd!EhrQUCC$iWvSfio
zA`#E1AI|OxlZY+8Mrc}xh!Dp9{(eFvx`SXah>eXPzODx`IWaX$GeokWwzl?y#q_})
z^iCqWF^0Wu4>TH$rK+mx5k=={Gz#z9I^1?Y%&WYcW{6}#b#=AUY&OPNy#}i*3y8;K
zXl-r1Ur<oMP;`#R<FFY$u&%h_v<WeqA(91^m6g{lR(nj(8o+V}L?S!r?(V)*S69bS
zbdE$KV71HOw5zb195I?9k_BS1xJ}QlcuW=tc$*8Gn;~%I^z`)HqUdbjUc|HTMZ9s}
z#R5C$p&24sP+neMIXpZv=Mnty`qmK$1Q7~{u(h>?a5#)_HXnR17BFwTf~g%D2A?SB
zXy$reUb3L9tn5flP0bCSxB2M5O?mx3^8R_~SUu(?=ke}D5mAWQlli;j2M>7FX=$9A
zVMY@LrKP1zadGiksZ@H8=XrnPeG6+a+RV^#dQ6-uLbR>z4<ihtOMVdKWMySBIXO9{
zB_$=dhaL>Q*XngXo728)vYL0tB+~B#Il0??85#bY>FMTv5~K!yJ^?u*B9}NV5{b@b
zW@ffzXJ_{k11Y`qH+qlkoFR_olT1HNrV7%DY~m<!{2y{tyEMc60A#r?gb98Pf&c&j
M07*qoM6N<$g3xeoi2wiq

diff --git a/interface/web/themes/default-304/icons/x16/disc_pencil.png b/interface/web/themes/default-304/icons/x16/disc_pencil.png
deleted file mode 100644
index 181ac9fba09035cdf12d535adca0f4b87438f5ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 814
zcmV+}1JV46P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008@Nkl<ZILoDz
zUr1A79EQ(AFO*d`nc+p5NF`a0fe16EC=UNjv(yVo8<v8mb|DdVQHg}<O$C)?St0&Q
z%R;+RFG`^$Id`@>-8|dc=FT?L<)+ZwCgR)qHW3TD>VxO-<9zS?!1+E71%Ub=f{%iN
z0;;gEkSZ!FqKb=)_m`BEq;M2*T-kxlDP)giNS1U6e+y1lR$Q&_?dTd*$(0tJUhij2
z2ETS*Yw3H_KUi5+RZTMg5}c~9y4Lu8m}brIR8WsjLouxYtyM#3TEL=%h1qOo>+9<q
zN%jvxet!Oe3RzjLb7GQRefbTx&S}iQ=LAy<sOB_a%to+IJ62pPuvo0DOeU)(9jR0r
z66EIQiU#{03~jMJ@K1bzyMG2=)`RWs?I2#?23#%|mX}@lvE)KeckdACaD)UBiKJ9N
zKW=r|d*EAsfvt5L<Z`(_EiLUSfy_Ri5B9|+SdC8TW*IB#w8qDW1Q{6_wL0CLpH|8-
ztNDyTz>o6s^80adaTI~ffj|I;IU5!<Ru~6{H|2c3`YVr@9u$bh;yV3;(XXVnpjBFU
zy&I^hscFv1$)N~j_Ikab6>5AMpTygHEn8@6!Z43F85D>_qRUEJW1H8Tz!)r8U3Ejn
zt%in%+XONj*C#Mw$VE$69mwZo$HtDnrYK2Jker+>Zf}1!Vq=}KJC?Ar;)2`b#@gB%
zJRT2z8XRB-9${qQ7<|rKIDaW~At525v^pjxbOu79@L*O})=h>nILK)e>`n)F{|shm
zC6vP*nCLhcEO$LT5s*saACnG8NFWdhsKms?vw3-WEeyjrgZIrYV$Pt$)R#_-b%)Bm
zZGyms?BlOUmUIZAAA(zvk&#qXRFohoDd|pYTkDuYIpfgKW1HiH;%!oX(sb0FnR@6s
z$&l>s+7X0tM01=D3kyq)h=?fT^Z7R_rQwtK#i056K9fioewXZVnKK+mb~?L)eH?s_
s!yGYtK&6!T@nSkpy60W=PL_12-_|fMx&B3+zW@LL07*qoM6N<$g0+TxVE_OC

diff --git a/interface/web/themes/default-304/icons/x16/disc_plus.png b/interface/web/themes/default-304/icons/x16/disc_plus.png
deleted file mode 100644
index 7c3a1e07941988ffca8bff2230164b7b0b020ef4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmV+&1LFLNP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008yNkl<ZILoEe
zT}V@590u^$Sdz9Z3>EBdDMd;XVF*S_f`Xq&b3veqrR7K7h=mswVNeFvosy(d<VQ&w
z1<}Wi293ylIp;pkX4~A^W_og)!Q2+&)BA3EQQ=hweuqEj{GaFIyc`06{Ez6Zs;Y`q
zS636cTuy3gY7QtAiabhAUEIdzJob+5uw9m6{w_Gy*l?+Nbl~ZPPN{L2%;qq+Xbl^T
z2FKX*@rlN!re?OYTfy=6rq-@+ueH4Wr4DoNXQ7%^L2H<UY0-iu4-dQD&bPO>cd^|+
z3MwlrlN#!4+q^TM__d+0a1GAFI7JJ-sGwWWgR|Sfd)-(SR^f0s`TF|$HkPTVsE8Gm
zm6hdBj6Iy(<VO&mc?I9N8bRKVt*x!7U}yt^AYf%h!1rYVBhN-BS%!)gl$4a5Hyb}X
z1@{O-E03|c?t)UOG#3^Y_AzV@g+g#IEyHQ^!Zgo0S%!)g6crV<nM?~|twxD?{WKzx
zFzV{+?nxvP!mv3KiNLzxf<^Cy-O7hqhKdyw6ck)FTWn#C)&Q-}fM9R~EiEnGrKP2W
zVRJATgjO{NooXHy<6@X)s8~UMe*OiGR_`*J7r|K_SX=W!N3V{Kj++ddZR;~A`Yc1n
z+bmSPI~QOXDpnwq$qM@WAH8w$UbsEWSX~w1^ZO781mO4k@x$tY=fyNKr!vv#yN1*;
zNq}XJv}VK#a&vPJ78e&^=Qyi}eQn0=_0aR@pw?=j7_WtNC=b$M85F{0?CVQ)#|<9V
zk-_AFXhBX+4$02WK3QH~ewX7oZ}hzRB`jD?Q0p`}L4#+O&;En-9a6`B2zn(ZCX$qt
zlpLv4daLJt&j*!8?XlWzzl;{sukt7IpJ~04_4w{&Z?@|+NN<ul>Os=LPJxI@qq0OI
z(W!)lgj%s!+)3Tp*2$j5-PmtQcVvOw7VF7Tk%*R%oq|1-m`bJ6chwR<Os?$JleYN5
b?F{)1tq3zuZ(qkT00000NkvXXu0mjfl$wDn

diff --git a/interface/web/themes/default-304/icons/x16/disc_small.png b/interface/web/themes/default-304/icons/x16/disc_small.png
deleted file mode 100644
index 315d294b67917909a5447564af76bd7c549725b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 390
zcmV;10eSw3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003^Nkl<ZILl-B
z|NlP&C75Aw8Q|~l&k!6O%pMXFVhY3&K%4@lO+n%yc|r!T2L=ZE&+DBz@ABdEk8j+%
z`RnS9Ymev6pFa;I4wA=ffRB%l`NFBa3qEYP@c+@SYyTfTe)Rw0)5rhcynXY3?%cTx
zK=ODEaCdi)eRyZ<lb?^a{GUB-=3Y}%)81LLX6=3R>h1qqH|{+F$>TM^(a|yI`i<+q
z9z3}FKRi6V&dkh=0YpE2_~QS)TaSN%<nbC{Wo4Ck;o{Y&_a8j|zi!>SP3h_B<?B|h
z*|h6r%m01XRz3yE<2At8*x070r)T+_H}C$xdj0zUgU1j5-`jWj|Ff-!|JQeCE(giu
zHNe2YfJ0MLGp4PrZS|FFSD)Xycjx!1gU6q@l+>*TiG$<`8NeVXC&wuyB;*Xlg+Sa0
krJX_IAo)R_ln2BB0GE}qyCTI8KL7v#07*qoM6N<$f)zE(9smFU

diff --git a/interface/web/themes/default-304/icons/x16/discs.png b/interface/web/themes/default-304/icons/x16/discs.png
deleted file mode 100644
index 4998c22ebd4375817edec712f8938b4d59970449..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 699
zcmV;s0!00ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007lNkl<ZILnQa
zUue=%6vyw2_~MKagoFgW89w=-<a}tWIbyOY&N1kvWfNhH2zuDl>ZPZk_D~O|EczqE
zwQ}p%rmL*AmlU<F%|Ac&r$e32%|8<c{e)Cb_e#PnR~`6r?w@ndJ?C>TQmfTStJO9{
z#!ZpAPN(Y}9v<$-x`Ji+<-5sxGamgV!CAw#vGK*Hua*Pe&Amu0S`EkOJ?bsBY%mzc
z$$m?Mp`jt9(P+@XzyKN?9PGS4dUYbc=wZ^<b=Y)x!ME;*P>hD1-3-JShSBTw6D00v
zxs4?K{ryB2-%%##kFN_*p7#TrKZIJX2Hz_z6bc0><O@K(p`0YHB?0cQF;*&-qw(14
zekt<;s%#c47K=+NmEI@5QmH^Xu?z7?a-YPt1%}(O&CR{6+wFEJ7K<=4GICoclOf_+
zwgRCI1`^S9wWp`&Mq6NXG*YLT2z+sSU}a?m%x1IGXf#gZgjDiy9hSDI!4vqDS11%?
z{{)syrNH5EKsK9&d^!i|g%7Zl*29C>H(j`@%l`$;>-B-1T7-?yUdYYjOXgkMmwGQu
zN+gn##{x5%OlwVGiD(L*S)bQ^Zg27Ny+><u>G>(4P$=T@cnA>?bR=5!`|<58+W>|T
z5~@_HhfQE{I$0Ns#jAWi|1Lgc<Zw8>I7W<h1`!Zj0XiQHF;FTU00D(R$sL=`_Pz<s
zz4ftxtGa~`oIavcSSJtxVYSY>GMOCYalZ%UGL*5}0TYQt=no?x`uh4NgTdf7dGl0e
z2fl>^ZGmB-M&G{~Umy^4$>s8?nI|)A!AQ6mOE9&g!0^7JQSLD&#5%|2a=SV@I*bGq
h)->^C-U6(R{RBRf_m#?w6^8%-002ovPDHLkV1f;CN`3$U

diff --git a/interface/web/themes/default-304/icons/x16/discs_arrow.png b/interface/web/themes/default-304/icons/x16/discs_arrow.png
deleted file mode 100644
index d354855dd5c0fa37fad2782522a2ddae1bc7f667..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 818
zcmV-21I_%2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008{Nkl<ZILnQb
zT}YEr9LC?9<%PPCZWgTQ<0e@V60_!@v{b^S&aVVBwdGifL>JNM!n`q(A}uPIP9tmR
zra5hX%xY*WNSSZ*W7B<)ZEk*S(}C3nZR6iL(k#KK7asoadCzm6bI$KQhak|CoSaM)
z78Vlu`T1MI?c(C%q>_@7bfhvQ{;!&jzsLMr<{bhK@~>3a4!n3htkcY{7|o{eg4wX5
z7*q`N`TSbkzb&AssEFWlxkPSmE|Hg)mvptNvd%g%X>m!kFgv1wDJ==}W&<oPxxs9)
zSa>{M9rpdX+|7`joE)sPZxtftk1zcY=p`ZO-GE3W0^dVH@cDe;^ZG#XMxn&MZ2@S1
zo9|g!Syfi^`0ASb6@-Hx5R1hsCX@LP*H9<~F541VjgD39+YuPrhEyi&iOS`2@caEx
zT3UK1H8qvMH5d%R{ImsZCRaEkBjfsxzzim1)L=2f=ZQ%e9UX<Xwl<|eAP}NJg=0et
zL-rP!)Qx%BY<BfOfjOK`7#SG>kH-UE*D|>J-@}lL2hDvqRA^P_{|lH#GX-+R08D?-
zz;YLwq*rA>mw85*l9ICLufRkikvay<W^zKO<Yn|$zde%QZu@%rT5~U*PCt^6kU$U^
zgu!SElO&ow7~BMg4kw+%;XH`}vl<*x27@tv;_k#!s|SGjV9tD~tVxJ``w0wUPG|7y
z=Pj_dwhkB+IwTEJsq`HNCg>Um&NFTJc*DoV_=@h?OMNzY<N`R>sGU7<`Ed<_K}aNB
zDz|$XylB7cfdB-MV!$r+8KKDmz|#R-oc^twCV<1YKam6mk)53_)a&(j{Lh{4MVML8
zZ2_ykH}-9xK<1&<49>(?_K+t#ZBU>Epw$kOd+U_t_%c#yG+G*q#j5Xk-l5hT7yM?M
zB{DUk@weW8s%9}y)uVnk^6gG6?<S9`0dS>O$jVU&9#7EmjgE_pOG`{l6i}(uMx+*8
wahpP+WTJis2DYo9y_Lchlc<)X5CRAM1m)#8;4oM(4gdfE07*qoM6N<$g0j$s&;S4c

diff --git a/interface/web/themes/default-304/icons/x16/discs_exclamation.png b/interface/web/themes/default-304/icons/x16/discs_exclamation.png
deleted file mode 100644
index 4f63b48ec74fb12d1a6e8089e3e564ef2a122387..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 830
zcmV-E1Ht@>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00098Nkl<ZILnQb
zUr19?9LLY_!H1k7z4$PqdMNE7kW$b=si}pc6aQfKqD{xb#Cj+sC<{s=!hFbJy8MGm
zXxensZDu1Isna><pZ&Yrb^e)4-5(tZ-hrF_I%lLP7<J*x_nv!y=X-zWbI(BtU$L>V
zC@(J$@p!y_k#RvmK~!O3VKUY&EWsa7CeQck_lu7RI4!tcR^HdzBR6Pg*D0GdV76J-
zW&JX_Kp-e5?+*p!=jWr`++38MosDvGa-vF0iYw;(#%V`~9%dC<nAGdQWV67^suOH9
zP4oHu3Q~8l-B3toW+qYUXPHR3Gt~>eZXGc0EeHmKu<d8S<MDvU?E#rorX+QT0`U4m
z_vz{BCG)mn*M_ql0?ZE(i^Zz=`1o4le!m|a_EngtmRzLnNMLvwon2iYcO?=Dc)eaI
zDk`c@NJv1$8O9H$X&UTSM<697rSeE%7Av)Dp(z;CjKkpIAT%~MDuqH}6%LdwZRufP
zp$^6kU)@|Tx9p$5mX?=6p-_NzrWVZKv%xH@fB^>|-h8^R!d+eeFJM~jD5(3>V9VVO
z76}h#y5);k)2>v-#l@ZYD=?8rq}~HY>04lKj1R%>ZZM79+`3nGs+Ggx#6(0yAVfe|
zC~H8c!(V5Z5HP$sIayg*Z$rTJ6zEkqz_s`?fB}Php_=Kc4^u`QLl<z}Nkl-*87yw2
ziH41hO(3A~CVAS~**Qdj4bI$!xzU2%pU%gCC%_tY2S%l5^feDyg?M}%5fB|6A5>1~
z8o2R#H+??vVYwY^;OPAV%CBc((OUY;Vz>tKfrnt2O@`SCu2<E;5)HMnScrhg$jGQN
z8jTC&pD#OCV8(2K>2F$~+go5l%H3JArh?scG1LKZyXg|Bd)OL9Gb@oC#>nXC=%mEN
z#3xP7O==@$_S)=pa8jf7%3Ch`Oe5zQ7kwUFwiwvncocFXtA^u}Hn85401i3P;o;#)
zY&KgM85#KktB!bOaoF&?XDn00b2KfkK~t@-(AYt>y+-xF0j4-aK00q^8~^|S07*qo
IM6N<$g7FfF&Hw-a

diff --git a/interface/web/themes/default-304/icons/x16/discs_minus.png b/interface/web/themes/default-304/icons/x16/discs_minus.png
deleted file mode 100644
index 196b18c8959c73b3f21a368730541d3282435693..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 739
zcmV<90v!E`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00082Nkl<ZILnQb
zUrbU_9LJ9j>Wk8h7ao{fZ#kZLz=b>{rLO4&^Uv6PFe4e8bFDXCGJWu=t$e5llx(HU
zVHVO&!HQ+PqyhOSzzbY(fFKGen_HJHV870>aNulpw(tGjbI<qu&iQ@rISAoaS67ER
zJ3EnFE<Y9NcXxN!^z`&JV)bIF{=`P|z2HAJpOfH{>h{2(>BZ|MmwjvB>-S~1{q#Qd
zj#^TwRD)!^BtchK7wYKfK<(}ANG6lj-08nH6fmtZ5&b%BneE_McY?=H!|q-b{0ze=
zmC7OFE8gx&lGfH%qHFIdt>x#p1xU|3flVAkE|-HJ85WYsBqS3_px#mz;wwpj>pOXG
zZf@=m_*V`Nqcf0YW1!RNtRj)<5s8^h1|q>d2zWyW#CI+*T!vw8?p5AsG(sws0);~H
zpuWByk;t+c@N6&;^hL5#sr2r-z-XU0PcvTlvbqM#%gZo1IcZU=)f$|T3LUS*;?6j%
zxjrQ%63M_nfrY|hFq_Q~i^U)ji9=-JBP>Rg@c7L=E8f+O{{m*WJHSYpVB@nL;<I>>
zdF#&grmGsEP{{o&Fs)W=D*y}n!thc*op-F-QxgxL+QgzO!+bvfa#d9oLIecu^<|w-
zygJLC0K<oq-`3XlqyQ{Hhw=h}V1>isjNwV@^78T~>=9tqA_C&Oi%z&b3>+RF0Re>%
z$%w&V_)q}0bW@gnR#CA#gV0t%daU~hO(OzAub;I>qj5;!dXLg+NMjWP)7Em2Gktw<
zR$7Fdh=6EmY0<dd?j7>a!_i&X+;)`!8{}U6I#O1)If^F~YYd?Yav3>19<M<x77tH7
zpR&2V+bMsL$rS^`;}Yz<(2F0MB8{TojZbcLWo2bUb#=9xfWjIlk@QP|;nsU5!7p|S
V6LK+eE?ocs002ovPDHLkV1kqwUpfE)

diff --git a/interface/web/themes/default-304/icons/x16/discs_pencil.png b/interface/web/themes/default-304/icons/x16/discs_pencil.png
deleted file mode 100644
index 9c965e4f0680f0614e8deba5959b852c40a732dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 784
zcmV+r1MmEaP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008lNkl<ZILnQb
zZAepL6vrRu2iXS~5`@Umg1$(fMmW-a$<P^F>U4@ANM??Ki1b3f5UC%6iiklH*kqz*
zF)gOua%zb+!WZV8snfgdZnDkImu)(bx`VcHdY;jwfl&wkoO{nb=YQ|>d!CCBj@;Z_
zR9RVx%FD}-MDDAqsxqppt1n{JVkv&-i=>|DKWaY4;Edv0W7F8c+wnEy%C6OJi)`5G
zUFtnGu23kN$nzuvxm=E9G8rl@Ek$KzWf|A&uQofz78uWv8CLX0STvhp-A=>SwioOS
z!!$HBG?TtRKR0e7kw}OxO;NoQKbJ-!^u`3N{}7_lDEtVs5C{Yy;12-xj+!8SNd|a*
z@$2H^;(CYu^WMJqB}7;s^!4>k=jG)+AvqilgU7iI4y$XA^c@QfFGD*#JQCCCbPx;%
zp{Ay$Qz#T7l36wk>&px{ZJtPBVPVU$z-XH_Ml)8Jn_qy*$w^SF)e}mkvJD$ju0u0?
z*i^y7+KgW$5;gu4n9J=3y<QJKpAY<=9q^2Pf+<P@CP9wBJtybpe*rTZ7ePmj!SWX)
ztURBFS50>gpt~D%9M0Tdf%W$G8WO;qHa83oy@(kNYPPlIwu97*va$x-5fUQ;g0|Ws
zCKG-;%f^A>!^xLQr9BB?4%!uyUpZ~==}u+B+a18?^9Q(GZUyekMg+v_8tu2NGqAsZ
z00b01Bwbpq_G1Fr?7WKAJmk`3Sk;j-D;A~7@bD?D69{k5<)NY1(_Zfm`0;uVLLmrY
zC4f<@Vi+0V2g&fW&Xk!)w@^`uC>0%rKp;3N7K_^~7Rx5tbGLU3zHO|<fjRm|VM=qJ
zCBskea=wz`2R9H(GQh#h%*-sv&(FW7>DL%6){UUu$wU|DjX`yn*aP2f@VGT~saA?A
ziY_2TbT*rlWWXnXbXr<kL3(<+lE>rS$5N4u>rhw1F$mA4)Wv}v6Tbk4(inYBzh*)J
O0000<MNUMnLSTZqKx{Gq

diff --git a/interface/web/themes/default-304/icons/x16/discs_plus.png b/interface/web/themes/default-304/icons/x16/discs_plus.png
deleted file mode 100644
index 281acb09e434b02e6597f0499fdbd7f252681020..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 781
zcmV+o1M>WdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008iNkl<ZILnQb
zUrdrw7{-rn$PJ*5t+8aT?s9bF1ukMODRoV!FqGNaT1FDfS<4IOm9<tEtuimH4KZ68
zGt5FI1uK?$lLq9UK>2TgAPOj(E!YC~b`A@t%~s#`?D@`j-t(Mue&0C=;itH`7>UJV
zBoqp_McVcC^#u}%qzvmUmh88ek?-01?czNG4#_SwHIF=fHEuC3tl6E8<dW02rhTIw
zm&s(!q<>dHU0od#iA1QTrUup4))riBJm2CTnQ{45v#_8uf@#(ai%uJ?tOmg8a=D~Z
zX$z^_x!g=hRaF(y$+udC{^yrrhz*$`9^QgfDg{3hafn1B5D7;>JF3-_x?KTyf0_4+
zii$?Jb8>wn@EnryAoTY38n|3;C-Fog0e;Uaxb5C`Qnx2Cybbl>;LEf|qk(8N3Jnbn
z*Go%F5%G9D0gH1k@HqTQfk1F|Phd8OJ#BN@;nVaCOiWCGQmNF-<??nMsP%5m!q{>b
z%ve5z`FwuUKY@9DKG5lO5DW$(><@u|_&tpIrSRbOH3MGN>Hh*|G@3x89f7%zMhFey
zNrnu|r^-*Xmz0z+{|Zc@P)uckc^p1?rs_|N^ygBAFF4=xZx)%@Z1!OqjfM~bVY54u
zW;32W9?t;7hm&1hUEQ4p=C*m$91dr4UpI5LX|oM-luReC;b0XZ0^+O17Pc<BU}Iww
z2q=6=Zm8AjcUfS<(KE^1?)@uBS+F39Tms@5wK4h;0ijY27y^M1gz<hiV=;(f?F7bp
zd~iz;62qTDkMhlkfT*mjY`0pi%jBQ?0xK}TWZ4Cb*;@EH=U(1Cy3a5l@gE1`8Feyx
z$Yo@(Sgd0_9<QVCN#B&!z7%zOTq)DEG1_zY;S`U1v;+6^aa|s|MKd4x#sT8!4jthT
zG9IzXjiyqm$LMsroWWq+#_A$Y+7t?<d>h!6+#Yn9V$OIgH52d)2ag`$ULZHX00000
LNkvXXu0mjfyU1!T

diff --git a/interface/web/themes/default-304/icons/x16/disk.png b/interface/web/themes/default-304/icons/x16/disk.png
deleted file mode 100644
index e3827760bdd28095ba0fd60a126fd8bfb7c42afd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 485
zcmV<B0UG{^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00053Nkl<ZILoDz
zt#4F86i3f|(f2liLMpncc!3tMV2Xic{|W>G0aY~!6b_3j2?j+F6(rR-f@o3*hHMZB
zDA4e+tf(QO-E3#)-a+hAUIXlwFlt8JGv{~jjLA9kKg(QqcLB2u%vX=*HV;$u>B`qL
zzz4|p{qX*L`qt{w&9j$}GRemPZ_{_~Tz#+t;4=zfV~iwKM0G5{SxbzOjM@<(16Wlh
zsxlZ1#sWeJs4AIk>jo~RL=>Sv0g$aFr9?&@fY&SlPDF^R69F~^L<G$;0*nkqgxzlB
z$ZRndu-lD8z)ypEgm-J74>kL;ENc<?6`|d3^S6g(jM?9}S}l}=5qwGs=NuPrEc`Z!
z5CYHcy{D=wI-L$FB^32_11}<Y@7dYuv%c~gfD6m>`^w&X0E(g*^+1LIAprzyE#7;2
zy-2g!1fbW8!_j4T0HCS}DFC=_J~BmP`_<FUxf8R;W@gS!7kgWZwU((<9<bzW+1pae
zvcx$@qtRgF$%`+~Sz9$g1sq>saq%SQm)8BmjXyQ9m9AZ?pTE(4^ODE64KNK9fcwXv
bEI|JU(Yeq3_4wz}00000NkvXXu0mjf*@D-b

diff --git a/interface/web/themes/default-304/icons/x16/disk__arrow.png b/interface/web/themes/default-304/icons/x16/disk__arrow.png
deleted file mode 100644
index c364501e9cebb82549b737cd340056fdad57b52b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 623
zcmV-#0+9WQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006uNkl<ZILnpI
zUr1A77{~F~v)y~qMHCT)mz6grCL<%fC?lehS=Ls$G76*!gdzP~$lP38n=zYOHtpZm
zWYnawwi(SWnw6DlNwZd~tj!pxVKNx@>pTag7CP#M4+q}&`96m!L`J3%nFK0_Bde0j
z@z(Y2iGKbo+q%)s@->5u%`P~?JI4<l%BJMvNUZe>u&#bMQ6}xVAS|fj7w`;`o8Lj_
z=U>ixMzPEKRv<a!#~x=CrcXej@^NCddO*hZiwwj#)R9DbW(KKrI>QcE9NHM57y>F@
z{8k$Q^6EnUY@bL^nqFS{h97(|F+H8(*tG$aHUtI5r@ScYjAHw9V1@kl*peELjO`Wa
zi1}IDSB$4ph)+%~sJPCJRlUHP!*?NB+2WTJSs9aY8e(~3`HV6Cj~|lB1<8#)C^+tf
zTJ;pvP|J36YSI=q$M8Nnfzhd{tZ0U2siBrta`mJ=WO@gmX6T>LEH%`!ot%nv1Pl>0
zR$PTv+Bq+Jo730)5!6u2q}*w8y{GXt^p!Ud4)-A#3}v7@dUGg4Fv{$B*c1gd)UtB!
z1hIP?24Rxlg5Mv&$+Biaceh7Ccl1UJEC=tP_xuQ`p_Xmql*H-RzJj^R375+!e2Lxe
z63pGv0&C4ZJkY-ZHPo_2Im_7EobnBubB_8{n=Xxab$QWJ?Go5*Zo%9gEwI%Fa9=kJ
znx~e|a$bHOD?Cujsvn8PV%>b`?N0@4i*>eTxxB@^rT>YV++T0KPXNkeuGRnm002ov
JPDHLkV1lcWDun<5

diff --git a/interface/web/themes/default-304/icons/x16/disk__exclamation.png b/interface/web/themes/default-304/icons/x16/disk__exclamation.png
deleted file mode 100644
index 3c6d4c9f2200a73ae345f14de22fee2e32496c53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 686
zcmV;f0#W^mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007YNkl<ZILnpJ
zT}V@57zgn8oC$Ricu^2UL?A(U5s^h7S5{ypT?DeiP;)NBFuGDCloG;pn>MA1Wu+$B
zmItHxm2O$)qKW1}=h97AX2UhJ+)8a^_U}9=Cyv%dFZ|8}&-4DD_pl6^mSxDwC54TR
z|Ma?rOBV@LL-#4mmKU5CX~c`?A}JDTv!AtWv-&^P1gK`MQ)&NX#03iRBPw$~_zF6|
zBKYEM#*`}$Kj#Ip=D;BcpbTYMx~z<7?R7I)Tv|eKaWUMFAe{Y5e4D-jxm=EbSB-u{
zDwJ!~6_jOXWTm8Hux1+bV!*$!5XLjv4%dJJ0Z#!KWAKh<!Pc6DD+kgZDb|)SmL^jZ
z-9YseW`jX^1A$fiuvwItbY^43egti;xv&q$W2iR~bvd!arh1NJDSR=h>Z|$ypZMat
znVA(MV;$)0O2CBk5ZsP9=?|#79lOz@+xoG+hTG3h^F^fEs++)Dw;!IlxfK?38pdsV
z;TwyE&$S)%pD#(3*t=rB8*g!USTcW=+_jXC!&Gb!BdC(mpxXHty=E6Gb2s?vHB84&
z@r9(WyUYpI$$FH???ptjklxDopiF*3JY#bHGP(a$<v?k21FY6w^z>N5P>*Jfc@}6>
z40u`L24yJAlK6aL=)5+B^3;bgo4ZkPtWwh4{6s=Mn$d!)vybuOx(k${EIYyHktTD=
zFm#G07>y>W5`)1g3H4|}?S&3JFC7JCD9hG!o7p}t>0lyv(NuW!_N*Xu;%25%qSv=c
zLOoib&*?^&`VHtlW$A1Y?TBG}l!sa7tEi|bbtE)fEsh<pUCy#-(MHjx|3sPS-z#B0
UZI4eLC;$Ke07*qoM6N<$f|ZL!FaQ7m

diff --git a/interface/web/themes/default-304/icons/x16/disk__minus.png b/interface/web/themes/default-304/icons/x16/disk__minus.png
deleted file mode 100644
index 41993a4f4799c33967374afd07226375873cf15f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 544
zcmV+*0^j|KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005!Nkl<ZILoEZ
zUr3Wt7{~Ev?{+WMg%A;i_r)ARw-G@_7lK$AHgn}5h`I^9NMcZ?uB}a&&5W8!xwT>R
z3Q^mNmWw7*7imRG_J^c025OiMhW$FfmlnmwP(1KqaL)66-U$F%4RM%#ivO5$!4-`<
zmxHrx!lF)-TA+9*2EK#mR|%s|C*n5SU;1V%LbB%TfXHPzZ1$3Gyf2IV(h_p{e34jn
zHGbOdMS4V@Nu$|AT`#VE!w)q)x42m3w!?u-R;wYXmiaerMXRixImdrsH@hkDy!SI^
zb2)sOpD&9uoMm%T+a=PVwNr33_z5%WYwxq!vN*$8Hf-gf)<(UVzz4jWn#1(MLRp;Q
zEE~2`ubri<Y5!X!+Q*lLvuxPP0nJ5yDenY2_xGct?s`dlD;Vki2sUh`PCG+49(2Bf
zr~W1~nGp;Rr~kt{zC~No@HIs6q-zRn*h;N-nj-P@WAGokg=8{?);-;Zp`m*Q-tmnK
zf=BP*@x@87VJkIS3k@baULw#m2whJYzZ8k+hQb{egpS|GBhMSKVJquQ8)UnwcE?`R
ziG*wSmDyM<j-F=S5Dwop6z;end@6;9?$_WvTb_-|mMYnHWT!MgwOB0fQuy{So9qky
iX{AD`RMxK$n~LB3L|S{DLpZVk0000<MNUMnLSTX|Q2>|#

diff --git a/interface/web/themes/default-304/icons/x16/disk__pencil.png b/interface/web/themes/default-304/icons/x16/disk__pencil.png
deleted file mode 100644
index 39b929bcb5f65c3b45607429ddabdf03dbd6b4eb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 636
zcmV-?0)zdDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006*Nkl<ZILnpI
zT}V@L7{~GFoO#imP!~Z&5M2u0L{Jx25-gR7Kr{?{ab*xhbx}w;WYCK*ZEc3b&~%!W
z$H~gGVd_@8`JN<Ernb=aVp)cyhB-m(*LnUpX*7}!d>B0c=lhHdIx87;Ho@d{uF6<j
zOO*);J42H6s7I3a(DH%Pnj6}}snuMx+l}WpXLP}2f+|S?%GM5OEWrmqz~8Tb`2IBj
zkH>>>IE?hQi31KIJssCsn02sv3X4liSXf+)Y4USBx|>oFp11^~p$G@ooU6^3^+d;X
zW>)gD>KlG)i!<}{e;NPiLx(3t#IC9&wB1s{4YzbuSIkNW$|o?ruz)YKvr$Gv&G5VT
ziP%}O3&SHV;9YLGr7XFCmGzg6V^aIKcT-a<Mn?P5)~FY;Ql5xs&mW2%-sOf{IxJsf
z<-Miv5gMDpr@6TmUiC6C7exJ?-FPwdSj>2bce&w~GUY3*vePySZ^2*`BEnTeGL*cU
zs5$R)!z~?>O|05)38E<DE(+6YV&b=mKKlo7!!4!D`Rv}4q9K?w@1wW34;>wyQFz90
z&fHE|vlMidjDZ_&DNW8}O6&DkupOy~&*z6R#V)wr%>vK(jSrNaY((JZTX4fI9h7sK
z%UAdsrP(g1s#p9nMNx&wj1M@@w4mMm2HbE<>!gjeLrP0ZmCkxi$raNL4XwDHqY8C(
zO+sYG2kI{P@w9jtyw5Fvn>1Uu(DoC1DW@kcF0MEhe*4ol+V5CyDPFT)v*AB+6aO0-
WH%4t-vkCP80000<MNUMnLSTZ|&MkTX

diff --git a/interface/web/themes/default-304/icons/x16/disk__plus.png b/interface/web/themes/default-304/icons/x16/disk__plus.png
deleted file mode 100644
index de62ee17d39ddd9ccad17614161fdbc20e9c26e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILnpI
zUr1A77{~Ev=j?K17!gPa<y9pu5<#Sp(T#-{(O9vtno9>!1VQ12A%igI+}ebVHOr=9
zZBB$Hgt-+hCr!jI)QXHu`$KAt)G!$gdpf^^gJN^k3m*==@AG{Q8AS&fMW@Uh4CX{V
zTfLGod@)ZQ`9$jr&PiIOAyY1@?wzx>-><OBSu~GEUQi<~kl3g0|6rV7S(t_|aY;xc
z(|t2>v9E$vtvlxFcD|Pkq8%KQoe55@t#LAy%CJ9J!J4^a8OXhPjLwKQXdA!tm48aZ
zORK9H3<KwRU)KRy@yCO_+gZ-4hQbB1Z}QS<(F(2??O%8?ndG_U<qfI5<y<hchj&@Z
z7>&BJil|y>2G6MH6E8@An@J=#r1u$F-BiljMgyZkODBaUXpg&Q`Tg_~e_mP12{V{Q
zgO>EdHRy;r-*LEk@}FQ94O%)On4vRjpW>F|ciE!r$_j63Bkm831}*7?M(BRr@``Qx
zdmN9C@X%1~FSx^7us+6)>HrV7O*0y_q!k(<FnE1}ou_&@5{dHF!){rB|9}j4c*6ou
z?E`*x<1M2>OGkxz=!;lhva6<#L!q$zg+L%AOW$FE@4_Q~YJ0<I(9#ygb}Cb7HAfT|
z!{*9ci@m*re6ubj^ZOsl(sx+kzZ~T!*4K=Av^a&5y+u@d_7K%QS1Og(Z1DD{5~}j8
jx0EN@CMoz&X!3po>Bl*Hy2!!500000NkvXXu0mjfD^C|#

diff --git a/interface/web/themes/default-304/icons/x16/disk_black.png b/interface/web/themes/default-304/icons/x16/disk_black.png
deleted file mode 100644
index a08f6f13d4662c73a47b1b984c8b7d14cf33e69c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 408
zcmV;J0cZY+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004BNkl<ZILoDy
zu}(rk5Jk`In@ylFT2dHd??+(eFIZXIm}qOGF?pR0v?NwmG<<+RfsLKPikij{vh40y
z0O}J2jgw3>**$Y}=Zcx}pAr!PxCIVxdcDWre7Ze3IR>7A8$<*V>6c|`W@dRyo0*km
zX(G}W5p)4{Ap~O1q?|WyFPtNU0N{X6K+c(vGqc%jBfxu4o-e5Yij)!|C8k>d<{T*{
zfT9A3F%oj#3UJ;NV_XHKlz1Hu**`eg2zVV1e^zkc>HO;U^?H51g27<GPr+K`1%Oto
zwF1x>BSlfrZg*BL;l1bb@`7fw$!IiMdY~0RN(oiv?QP2W`56FrckK_!s`IC{T5ah;
z1>l`?s4A05pwVamFqwq;>8z*#7CG<$&de~g>u$IEG9HhoAsDKPs$w?p<?JiK%y!HS
z0h+)ba0Fbb>cct{V~nTYMo++*0J}hK>FOUU0n>Lfv(ODIyu7mj0000<MNUMnLSTZn
Ctgm?h

diff --git a/interface/web/themes/default-304/icons/x16/disk_small.png b/interface/web/themes/default-304/icons/x16/disk_small.png
deleted file mode 100644
index 3444cbf0d5afb03f685b6389b057ba87445bccc2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 324
zcmV-K0lWT*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003CNkl<ZILl-B
z|NlP&C75Aw8IZ(0ArpwZ8&<7KL&qR-kUU-k5}Et@ZZ7-u{~wU^_uoG_2Ju1SAbGq7
z#4~qKyg2XG|IfdE{eSoMD;$IPAaRg9UISv7JEonP`Skyz`=9>5{PqowL41%nNFJ{N
zQA{nfS63YQ-x0bH1$Txm`oE^~=zowrUIW6J8WyZ5J^26FvE%;_9XbrgAa-xmvj1zV
zj{OJ8<24|Jsb<;IqJ96jZ{PdB+-2hbb?df(*^}Z||6gBo;y*|puK@u}W!*r$ZtdFL
zV5hHKx$QrQJw0W^|BZF0{)6Q38sN>C&*jFLF`I>jr3)DY#SVe6J7d<wL7tQc!~g)i
Wqt)LWx?-*X0000<MNUMnLSTY?J(|V<

diff --git a/interface/web/themes/default-304/icons/x16/disk_small_black.png b/interface/web/themes/default-304/icons/x16/disk_small_black.png
deleted file mode 100644
index 3d992ad88a327fd32a5f0c0737777ec03acef919..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 295
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?>t=`Lo7}w|M>sko>_H9Vu9p=
z6DMwP9LbgnTkGX~T%mA+jUw~4?OV3|`Op63&)@I-eU3E~EIj5-V4R(mmG!Uw-`Cgw
zcdw6sC~<_nv-t_9<c7U__Wb#OGyD3#{eQmk!WCB^I&|otw6yf%1YzOH{~tblsKES9
z!016jLBWUr$;bQt+n2mBkZ8UkCMNb@SxL!(O-3c<z{iG$hX1#>zyG^_$&xSicX#O~
zY+Jkb?f(@kG$t?}2ihdkaejU5Zs|8)rfP5h%f4~$oH_rFA34&%W6^(|LE!=0qqRCZ
pI<Y4tG`>l6h4Xz{Vxs``wm;kY>Ee?XF#&zf;OXk;vd$@?2>`a4hsFQ^

diff --git a/interface/web/themes/default-304/icons/x16/disks.png b/interface/web/themes/default-304/icons/x16/disks.png
deleted file mode 100644
index 6f2a9801142554e4ad2a858e6e4080558c231931..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 502
zcmV<S0SW$zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005KNkl<ZILnQY
z%PT}-7{<SI&in(Ejg69pHL^u+No<ChnnWg%jRgxL8KrO-%qYiYYBGkJ(O}_{TyhyB
z78Z)4NE8btm&Ag3o#)7OX3kOb)o=5@&-Z*^KV}t1SgkM|g*<DN8L;{N_5XoAatO2E
zk|8zri@8?{6VZ1#tO0ZEk&6_xb<eOGVepTUQ}-i%e0|Z|=cfkDu}3aaAb(3P@vv$^
z1fwTY5A-C5@1LJFV2(X<Q3asY=3!NQuXHTk(arS>-M_zUz#MzzbcHop#`pcMBl1c?
zg@L?98aJ-fX8&1)1Lrka_@1e_g|(zh)K@u8{U#5I<{3H~yCpN<?T%ZRX!24hbVzo~
z964*|Dd@POO1{$@x3I2K7p<*rDVJT1E3{+3AS2)Ii(6Pn(If=|8zj{&(QNZJZHebp
z#x*Z9h=35apjfca7p$iSgF!6h8iIdhape;XB6f!^6*-WkMlDSFE@R0tBr=G=E06<8
zdwcr|dctz~YNk18MgfA5)LP)6g@t8ZVL5yiOX5<Z3o^Kp3dpb(yPhBkU-$V|^@TB(
sz;sS#8kcQ_6i8ANBg`#lQ)4gx004+rc(%^DJpcdz07*qoM6N<$f(l#RKL7v#

diff --git a/interface/web/themes/default-304/icons/x16/disks__arrow.png b/interface/web/themes/default-304/icons/x16/disks__arrow.png
deleted file mode 100644
index 9bd0a71c4f1915f0c1f0fcc247fa2c4e3d9c9404..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZI8Tj`
zT}V@L7{>qGS>1?T*HuAXbWs;&6y-%k--M!>6Sl*KBZ^rBO~F2CBOyIDoeMhJ24iz-
zTg|#qN2HZ*GmN99Ww2l-MivCa63GkO(|HeU%~r6%561I8=Q)QTGjR@9&9$yV&df5+
z)?o0=|DZedsH{-UwPa(DcmF^Nz^_y)2g>PAz0ANRTPHJex6?SLJm2thWd)1N%Q;X^
zcj{#Z<j;~ve9XWJ#GMJ(7bNBK{K7&Gl+&Ghs|JXAtB>*OTjDG66J}?=V}5BV2g>PA
zy?+Y3plgo=-DB{JQHACMkI-K61cOb}8Dh>E=+q6ayoJ?n713DfMU&PCp{f&Ocjr*0
zwt4avCTRT_9eoMAt{YC{14P>rs8nC~=Pm5U2{*#wA?0DWxgRg=aa5?U1o9Sk^~gP#
zz3))wOu%Xz$B^(IB`QlFBM~GdThQOo{UB$W+Ho`Xwc|6e@0zr@zgUd#Qk8Zv5;5HJ
zL6Jj}vZ3r`?Q@g}(<rKoB?}Ballo8sjyYg^!}#PzzO{yt2zm?2AxR@65rwp{W4@1Q
zoCQp80qyHQ)Ww0#mm?A*5i~$@NK*ZwHuU!PWrUTU8^GR+gV>~hm@F^`r9IvR$|r#J
zHT}|t^I@LtR2@G>GOS14$x!I2^67!V0O-GX`Z2mJ&oaUa^<8ha4FiRIkF?GZ;N=lU
zzoIRw-KN8;vr&ykBV<Ea8d;b}Q*61vrpzU+EqC+s2%~}D@tBgBnWJ>@00000NkvXX
Hu0mjfx(6m%

diff --git a/interface/web/themes/default-304/icons/x16/disks__exclamation.png b/interface/web/themes/default-304/icons/x16/disks__exclamation.png
deleted file mode 100644
index 4606873416febe49d31c6e3eed7c506e00e3a929..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 652
zcmV;70(1R|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00070Nkl<ZILnQY
zT}V@57{}kU?KXnC?JB&GE>(hxpt2fW)Q!#2kVL`EjG#<3aj>D5n@yd4Z01rsPGK{@
z$Q=0r>D<<ggiXw5O{K!QK17X?7t?>|IiYN<U>85$_dL&^|9Sbbd}$-glQzU5%!&l+
zG<N%y|3Q1oQJDQLsgK1F=-R+GfUWKA1ZYls%Iy}EYdcu3^!^Tw{<iP<9gX7G=4Jvk
zr#<C%3xsD0B|N(<)e{e<TS8bB!pm!G3DBJOl#44M$}~L7k=!#)nZ96YVI9knNCGsc
zJ>~u>?1swhv|GHenkGf+PWHi^^$Mf9*<D;s3s6a_Tap%5l4?S&;u&<=JoL&Acpra;
zQlf23T9~z>5O0Sw(WSnIrrd5!8iP<s)Yc@0Eu!CW9BW}7jz^hjE$+i>LjYNl3R_ab
z-dLVu>O~%+k#6{h3(#M47i0SOIM3Z0WF&%w#0rW-?}v+5BK%3WrBEoaGOvwVZl|os
zWd*Jb?m{yo5##mqq8ySG3(d^e%i(k6VEt<)7-I;1xC+<6!RhJ}?vn7mkC6!alR?!5
zx7&k>38x6%4XRGqYtLfQUxc|CIbIHyV#ap@KJT#~qgKv5%yS$g5mZ2C9gZ=Soi?Jk
zcTl{Wi>olweiTcAQwYwci!Y!vIGcg-=X*Rut=tio#+|!JGBk3_YERFI_;j0X2z2kP
z%EX*A4dIW65S~v(<mVmnBm$lT;elq(B9yZ96z*{T8Ln_rCX?x7QD>)y8gB02AdIDZ
mzdfm8@7i_Dy#rsz9{vHG&zJ=S(h_$70000<MNUMnLSTZt>^C?7

diff --git a/interface/web/themes/default-304/icons/x16/disks__minus.png b/interface/web/themes/default-304/icons/x16/disks__minus.png
deleted file mode 100644
index 764000c0b2e1b3f9b9d97b46f62cb08e37a0f4fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 541
zcmV+&0^<FNP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005xNkl<ZILnQY
z&r1|x9LB#hv;TnIyGVx)ohqbD2k93PdGW`>6e}%Jc<Eq=4JBGZP{-E%0nOSjEbeZ?
zZfG4ei84wz!-yauK|zTEJp_vxq6gi__nF#d)-l+D&m6wr=Y8Inj|7c=xnVpiL(N(g
zz2R*3*8kw1IfmtLNuQg@(&#1%0QL$651ez)T&dt*M@pKFhei4q62Gv$yNf?NJ03Xa
zp1D$idX_3lO2Dwl(3jXc@+!QxvEhMp?wKnqAfa$luIpX)C;KP9ul~l`)|Lm(xo7TB
zVRy{vY&JfRw4HP4t$mJY{VTlb`Bvh?;3`bLGgh&%yT@&GH;$mEDGAG;!u;bO@ar9k
ziiKHCY0S-iM8q7$VDmHN23F9h-%nR8?7@{drlzKy!||3$yo)TMUT@1(EUf+F6O4_$
zhJEt|p0>Wlw6%z<TI+;R1ckT-9fbRHMsUIB^H~?P+qojAwYp)Ui1&TVjvPvIQxrCN
z_8MYxB%c!b>ZV;JDHOq5D2I|}W@a7S!bXmsz;+<uAu94&D1rqHQc~#r0LI5B%7n$v
z_|Ya+`LH_Rrc-2CPHLAMC?k9+o~I-}J(GEPxG<3_Q~g5!P$kZH>X=p&q!dbWb3j-^
fWvh9>bQSCa6OV8)3r9rW00000NkvXXu0mjfp?d)6

diff --git a/interface/web/themes/default-304/icons/x16/disks__pencil.png b/interface/web/themes/default-304/icons/x16/disks__pencil.png
deleted file mode 100644
index a627c311204a6a4c4bb7c6189021be7b48efc860..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 607
zcmV-l0-*hgP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006eNkl<ZILnQY
z-%C?r7{}jp&iVt2NGRwc3c88Fei6Ge%vGid=CmQL7PNwpFk-WxXHjfBwmG$&w#C>S
z!X{c5qJ$Ns&R7=(MS(%1AF#ke?1vmLY~SAJ#Kz_f_QD6=^E}_@IWHe(k$mi=)KLJh
zo#nL4@%ZWgL4C?mnEhMg&Brq{@DmvTe=?aOs7`&#<rdf-{md-g&f<F=`UZ7r3BMK>
zi=aC7DVJNopT(C%*l|fAx?cvqVvdK?^YcYeo%)n3SU}k12x}Id{ull)_?Y^E^uj_B
zRHr`WRutA^>Ya=SlZg7KG}<d3ptt@J9=qS>NOYxO5^n}d7ItB)AFhTl+{Or$#(pGw
zKBG}|gi02s7^9e;eh!am0O7+<yxVSoU2GaJS=jaJAjZa?z}0*o-kOVmEF&zen=M(`
z<*Ivl81uk(>=sm2#f?MfU=?bUj6{%-d_l{h{;6#TKKQPPDK*`O^0gJ8^s9`ob_%t9
zj6^*1zSrcCq<pf%5`BXR+Bc+WxT8%-ROzKU#@Kq!8rC3QjnZF84oRArnAFG$3$!>e
z+OrQdeD|90)ZNM|4SI>?PQ7?3Mhm*kgPJ5;WhaJ*N3{DLODE#WE^XLlEt{ob=Xu5o
z7L*GIkJbpSBeEelH#9V^Jv|m11>L*PGy%V75OVCni7iKxJieN(aCU4Kc3buf)+wD%
tr{u$XFz?;?y{@eK4Hp*T-<y^X{{=^cWjQHG5&QrE002ovPDHLkV1f<T9&-Qy

diff --git a/interface/web/themes/default-304/icons/x16/disks__plus.png b/interface/web/themes/default-304/icons/x16/disks__plus.png
deleted file mode 100644
index 80ec32d79f10eca27ad2e4550b67a6778d2ea3da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILnQY
zQAiVU9LIlmH|wD()niZ;1O@d}67<l6WkrNV*)&FE4KwyokR@6XZ4~HE&!$%A++Z}9
zw1w7#B~eD{GK>)=C>Ug6pn-5$BKctZcE5|QTUW4y5C7x$``-8de8?sF>7;Zc3w`F+
zY4pV7RsVzcoZ~S4E@?KSjCXxU3c$})$^y@M&$&!Nowt)Jq^30fk?;(DEG}YhVZj2=
zdC$2_fqpH$Btpj}nQ40)oQ9@{r)Fm@@SOLY%PL@MJrO!4)~j#SFZew14O8>;7I@Bk
z&izx^S!erTJT#1`nlNZAdVu!QCwS%?&G4#q0#5OIFlS-sH>zlG+<~tw0=c{s!?!0<
zE_%Z`3zN&D7#eyF#o2|{iu*{ke1t>163toI)%_v#_4OMchun|wLK#P?cqx{%u*-Wo
zP#kk$O|TF<+m51N9z%&x-AgQjg_s5X4exhJt`YLD{938iV3}{-+-~7?qEI*xAQthm
z`GX;cC7DSJI}|(xd;MCCI##@Q%v6C-gA4f)ViEiomcx<;1_lkx!ZzI8j-u(q7U<UU
zB(VrC;2=w?Ep9<iPj8m666FN!7guZ4RFK>}xdVI}C<Ou9BJ4ZDGCX@jT6gzT<La^4
zWAM9L`4D%jpZ^i&wZB{SX%pz0JxLAuq?ZssTh|NQTr9<Av&m+7mPQvArh|F+$eov@
gGfM(=ZmCi53%m|_Xa292S^xk507*qoM6N<$f`Z2seE<Le

diff --git a/interface/web/themes/default-304/icons/x16/disks_black.png b/interface/web/themes/default-304/icons/x16/disks_black.png
deleted file mode 100644
index 646bb4e3894dc3ed2a09b93bda59faf9e735f2f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 429
zcmV;e0aE^nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004WNkl<ZILnQa
zy=uZx7>1AF4WwhoWDW?4C5s)hxQaJWx>P}n5tNcaNJS8OCrTAsqzbhl78Tq>=MHr&
zLa}wQ`Fh^a%4rfI2ObFD&zr-;VTnY7MR3izb-LY)L!gg2b|9eNYPHBCqHoU&fjat_
z+b^9vju>#)Xf)_+x1*2kHU#SEV{X61uO)^IY}=-HKD=75L!gd6=Kci;A)|V|PD|IN
z)n*d{b@VY8DeN?#f4OS6soHG%D2hV5u2Z2<*kf510>-h0Ns>gGrujkXbed|l8UiM<
zg=I1sn$H(x7>55{sZ<a!i!DsoPiQ!N@|UyOER{+n1T13<OQm$`^&ZJIP0HnRR4f*W
zG3Fv*3?ZVRAiu(1lgZ=_UwRX`N5G_9F8gvINhBa_!55AL93fzazd#NoO{dR3QNr+E
zLI)xcfI&!-WtsZ@L8P$1M;AP2kfEyTCnVwOoz6qFFvcVnaWu{)q(G8LK-h>Q2bX^U
X(edG4e7ox800000NkvXXu0mjfm@2p>

diff --git a/interface/web/themes/default-304/icons/x16/document.png b/interface/web/themes/default-304/icons/x16/document.png
deleted file mode 100644
index b84a5cd0c9867e09cc88b5f0cd0f3e62a450f564..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 465
zcmV;?0WSWDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004)Nkl<ZILnQa
zF-rqM5QV1}D+^m2gCJI-{)2!Z7TQ>)u}IXMibT;A5*sTkn-pmRMiA4-A7JATh!$3&
zkSG$=TrQVfa=CF{xCsinI`9>{y!Y6d9m-r@5;!Ur7lrsAj2~WHP`Xf{gR`?fgo}_w
z)A#w^^Z2#Z;)>(&Q=`F;w%zBtTxMv5$hQC-LK2NmhihVduGjgYR^$7Z7rv`j`L<Hw
ztD74}K_^580ektpvgSy@TeJCN$a$$WU^W)p5eU#uE~l)y-7bH)?yn(u3EF{HePm^`
z%6dy?U`zj|5ClN0K1!UPDjRJHaN2ES2nGwS`e^m!L`imfJ$7XdrV#uNwCbbS@v)NZ
zN<drYU<!GaGqmcXl}tvl{2*XY+AxJ+PoPyFEv3`SW={g}3R8$JchIVj7E&o?E09I;
zCBPJdWrJ3IG_$-+QOg3`*t9@iVG3!=8CrPY?bqb|Jk7~=aag7hEE}}&XblOYW6|g?
ze<`$snfT#c@Wt2@PtMT76MAVxm>Qaxh!0Os@BasA;eq!PGvl_`j%rTc00000NkvXX
Hu0mjf$v)8Z

diff --git a/interface/web/themes/default-304/icons/x16/document__arrow.png b/interface/web/themes/default-304/icons/x16/document__arrow.png
deleted file mode 100644
index 501197f7e40e9d75861537824bc0917bc07de833..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 591
zcmV-V0<iswP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ONkl<ZILn2S
zO-R#m7{{NJ!3cs5Ql}0jLRbgM#OTn$#Xvkb$cnbh4$gELHX{e>Iye*t;RvJzk!E2N
z0;AU3sq!GfsBn4M!OG=SWWBie_ixWL_Ok_TJ@7gF|2*Fhzvub=$nNowaC3gXo$2}y
zM~3I-$TmAmgKl>bk{>0^@mvl+(`jrclL*CP2u7n=i$sdN_4^?`Ox<4s`6ywIW-<tK
zaC2t|U&3Jowzjacv4Kya5S}e9K}!0Vx?REbnHfcQj0Hd9@qbG0d%e3f8IAo63DiF|
zrRYv%v-p)rRFud`WE|;LIkHSnDlR8^2N9mXnnVQBt8!#^xfDGq7Q|AisuEeO^r{@0
zoK8h=CZ9)w_fSnDw<EnOM@EN3(VJyKiuX`Wvd!Ppt8#SSZdX`xg#yw%MkUGU>+div
zgwb~EiCgDfpw>|jQHRZ@xRPgqoT8G%@NgY>L%=E5O0fC%XT$NaWui8#Rnb@AhmvDK
zxn$(&8ak%~ILEXMzr>|StC$D^9QGY^d^FGry`Hodi*Qw5T7gedF3~^U#Q0ah<Oe!G
z{9zyf9JVd`Nb0CgM<@App;YA(>w{&qjx82x8F_`~d#mVp4;<+6`VLy28ziq`Y7c3(
z11KvQM|P4c?M1Hm^w0}5yaD!Ioc^XcbFHtGrTt8UroO&wZ)4+)YV0{X_^zgXV!fv6
d!X3#-_BV8LwTr9J)jj|K002ovPDHLkV1mQ>6yX2>

diff --git a/interface/web/themes/default-304/icons/x16/document__exclamation.png b/interface/web/themes/default-304/icons/x16/document__exclamation.png
deleted file mode 100644
index bc9187aae6cbcfdbe80ca693aa11ed3276a8791e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006(Nkl<ZILm#L
zJ!n%=6o9{b@={`xG&a)z!9TPVLCGLU2L)FxPQ|*3gE$L<PJ*k0=+r@QQd$e0Y$*sj
zC=OPgN>MB=wNx5SQ_>_&-@W&}=V0E;qZKb4xNy(?_|7@^s{50Z04SwKfIj}e-gut3
zWUVC#0stJ}_rt^fyQ8Dy+Ve2JkMTUbAczuIS66wxuy6}d!1wTySZfKx_kBEL@U%wn
z?$W5&snu#!t5s^X8V|<C#;vs%ffFIXvDSurr2tWiWFpa$wifIAl*?tF&(3lxpC5lb
zF>xDs^cP@Elq*UhN&)PH6bc1`ARwE~@_Bu|5gC}cK@9LOh;8=ESgTrqmO)fPeC>rO
zr7*_C09r=?Q3?@()?^|`qxb?{nxn061fz8X5Ti9=ga#rK^+S|G1ulB~14oCh;+Eeb
z-gYv)BU)>kp_EdDeTYLE<+r3WJ*3)_q%&O{OMe-1{4$PT#?i47LIWQV01*PuP%X|d
zaJay=>o0lw<SZw16Q|Gj&N_hIZ_tE<CiTttI0*>MFQ%rZ*r_a&&*giq#|2|SiYqH<
z*G0Q-WYB^@X>FQRHqFnid1hYSq2zw0qdV7SEu+Su<kR#t>q|>iDivuyh6u9#`y)pG
zzzY^>lM<IMKcwBM(%I2SCsUa-)^bjO_Qkom?&8KqBKD#X5!Svv<6y@Y2V{dxvQB;T
z9+_mFOtMDLK<>D!xv79W(BD2dI4tROXMFxQhL^7#IkYpd_fLxoY${=@D{IXE0U`(_
UDvgj&hyVZp07*qoM6N<$f&+dbx&QzG

diff --git a/interface/web/themes/default-304/icons/x16/document__minus.png b/interface/web/themes/default-304/icons/x16/document__minus.png
deleted file mode 100644
index 6f900ea2e94e8fbb993d2431e04e7c3d79264cfe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 508
zcmV<Y0R#StP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005QNkl<ZILnQa
zJuE{}7>2*OOa^NgO%t(bFk6~P#Gs3*20{H4krFycJ206f;%^{P(Wp&Qc8OSQWiW|K
zOQb>n|8D#F-sT>mxSZq}&dvKiIp@2Fd`CwF{Gm{vF!~2AOTi#{0|8px->*UVpySGF
z8ow5c{G88oER*4AI?eZ~RE_gUgpm;}Uj*3bxYDH(C#3k8O!8eK!M9IOd=roJbu7lG
zmzRu%oM8D7%<t_f#xf#!$!33)9E8IkbUK~00s)%c*-?z;%4L4b<$jgmB)AT;sz>gP
z4aIm~W{{Hm8%ZEQR`tlWwx*aUh#*ra7)mf$WL1xbR#z31rAmc!G6y3G{tmLLN6wWM
z#bj9o1(}19<XQH}svZsad<wT#t#VPWVI;vjK^7f<cQ;YL*Q=PShybTBlBDDtvg>9u
z1xZ$~$D^38%0tmaP%pU{9_G{b_8Mn48}BwWM5TOnNVH8I4hPxYZZLzFR+UrKOOB<K
z9~}I~mPl|2YVGNvE_q$7uX@SJ$OvzW1Z)Xjlj*@P<z<{emPu$f+wF7wY2iAUiKfp5
yzZmbND0^hl(Yw?nw3)2d(MFqX;XfdY4!ZC4yQgQa&OeI)0000<MNUMnLSTaNb?JQo

diff --git a/interface/web/themes/default-304/icons/x16/document__pencil.png b/interface/web/themes/default-304/icons/x16/document__pencil.png
deleted file mode 100644
index eddc6ce52824867cbb4200068a4389c5e7bcd036..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 605
zcmV-j0;2tiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006cNkl<ZILn2S
zUr1AN6vxkf9X;)#2VWvcg&0ASf)9gRFj=-e<ckpOCBbPfMOM@vVtcU{C6GYE(t!rz
zNQUT)G6c06y{5tzwBg{cA;WUJ+ui@;IdeZ*q3gis;U3QS!|(UI2i%K`z<7K<E7AWS
zt~^^<0N4CHJe`}X0^F!!&y-5|JD<k`O+!UhF_uo_ekxUEYi9>}hG_mvz#ld2=|TaM
z6#R8`gwbRY!-)j$#pAfED7Y33A{WmQ&8LFLUaw$4CBb1PbEf2NAaF{%%{EE^1EbT^
zf`M$Yh<~!#b0vHdz7Efd95|+?1cMsAL5l9*NWuc1<;-h~1;9QzDR_`0ftt%Tl<>py
z>~>2Fe3K-A`{Uz+p+dQgS$c;?68<~S`}!s#lH~s?Nix{R#sot}66EL|8cB8|5gf5v
zSJ30ZWl7qEUbkD|C{-$$r)!)iiAF!5&+kW#dR<LTFT4O<aM$G$JS>xdPjQwcw!e;B
zD`wQ<F1&6u2K0LUwKqU@$LSOdS7=d6B=}dN#6IEn>g{Uy-K>oFhAl4*vJB47PJkOd
zJz#P;m=WHz3Z0@}l2A7A^J@1=ct*w_p^wP3oZ)P>uA0rzLEDA35|YD%5Pk`qgqLP+
zVrcI@^0M(PXGH0Ui<eBMM_5;Uo#2`WQ4OPi_7?sOuOshCp5#2snOYX~ghAKZ+JB*~
r?MXe<$KGz;cZ2crtNK3Aa)z_V(q5!O(<fmB00000NkvXXu0mjfxfC9d

diff --git a/interface/web/themes/default-304/icons/x16/document__plus.png b/interface/web/themes/default-304/icons/x16/document__plus.png
deleted file mode 100644
index b61978ae9287abc0db00d1dffc7774428d0069db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 555
zcmV+`0@VG9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005<Nkl<ZILm$0
zOG{K?7{KxW^UeuEnnJ~?CZts@5`s}7kb(#VH?;@^=@YbS5kfACpf3<Df`PUf&SsWw
z1lzh$t4V_{Br`RX<qYT?bvo~@g>yOTFb^C!aNhUF|J>whE(d^!+y>6meHN{?-;6PM
z?*Ry$bIptCnaRm)WG&h`w6$38TMLWDA`5G4_W=REHa96_49&wiht(PzMMU*F`@6e@
zVMwi3BMd{HO-*HuF}HwAO&~DFG|xo<CBlhBq8)7v#yP6hDzo$R4E6P8U(C%t1fCxN
zTDR6J5tInPF(i}8;JqiAOtMlg@3#tcydVa2LQLa%X=9`fv<q6d5TB!nh@iEO0a4Tf
zln6>GXup|bNJ0c1MI8ZJ1znJYQpEQJQLI2j5D^q~L>_&5LSbi}%GvN<|K7Qm#zseg
zMuCHlNTKqP(Xmlp|H=)PPk+Z*+o8bwW5|Q0X;v!*z_V?)@&7C?u*-N>g3XN$deiB{
z1xJu~zdz7>qaT1Rv&Gn*YlFbx+x#NIaz4+Mi3v^(45&s13JxK|XRflk@c!T%xCvk0
zeEt~)^-Y8ofF2-qaeRE*$HsZ@t#jTu=e4yyvepm3y6)2(Lq2%i`vXV;JpphMNc}C9
tc9J6_Gu{5>`sLDHx3qVGKW@DNnE!O47(Ns!zFhzS002ovPDHLkV1h~m_Lcwu

diff --git a/interface/web/themes/default-304/icons/x16/document_horizontal.png b/interface/web/themes/default-304/icons/x16/document_horizontal.png
deleted file mode 100644
index 7c133e878e5b28cd44dee3149194d2b4d7c7fc5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 390
zcmV;10eSw3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003^Nkl<ZILoDz
zy-osA5QV3<Fjf@S(hysD0!yv1gvvw_QG+2^NMb`tNks#N6g&VvfDI3T7FI@+MM5?z
z`@ihZIA=qQCD)zgZ1xuC+nIA`iJ2*lC^g`2I6M@cC~D_+Frb@$pGaO#{WxYP2-p^x
z%OxA4FW=|6>#}B9{BD~3W*CVcCliK8luZEgD0^YZmglh{hHuB=Pupf)j30{yzv?=_
z%x3&No$`~W@xyq`DEJz^UY2UzZh09+?8sNwf!vQqzuGI6YE<cT&H@2=(*C*-bb@i<
zrQ>$H5=sWXjG+Pn0A4D#TIZ1f(1i*F!NN;N&E`ccp@afZf#7!FrGt9?5~;@0g$iUY
zXLxD9TD{^`sX(wN@X~IfaLs=T;~<l8l?$#Id*X_)Y?c7AY_^=?rOjNfxRuX0{v&uv
kYD1I}Z7V91c+>ukKTR|ELaL|6$^ZZW07*qoM6N<$f*fnCNB{r;

diff --git a/interface/web/themes/default-304/icons/x16/document_horizontal_text.png b/interface/web/themes/default-304/icons/x16/document_horizontal_text.png
deleted file mode 100644
index 6ee38d8ebee7ed8b8fe2501e56afb8c177738c2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 505
zcmV<V0S5kwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005NNkl<ZILoC|
zJuib{6n$ocm^zqQ8ms;SBNHQ&#77k&QiCQIqtRqxV6cdw2%@RBX`5DvR?)PYlD1M+
z`u*MG-X};?k*MC}ym@c(p7WgN-1`auq8W&$1s1oq`UoQpqGMrmQ_Qcg3qdcVg=!Vq
zQVAJCs#rvl@Kz`wn#&=SPUA6^LNJ+>ICr_g973lQpvPFgTt+&dN0JEd*(~Cj3}Qr#
zBoYY3Vz_^P#!Wa3cPNAds})?#)2^*`ika2bv0|lyES>rnkqy268{I=gGeW(xGF~Eq
zV}}EFuNQ|l8}=<0nA~pc7>%&r-NAl)`@;!ehq+>Sd0Abi4E*spe6O$YzP#W*8igkk
zksn?^J>h}+dM7NvTrs$`G*Kae6Q>hSzh62zvfHH-i^qdqlSw++HW+Yrd5P1D3+$QA
zGFaw{0iABLN};fWFVs7Eq`p2Ao(^+G@7&xJr^*g$;qdvSldE75u0Y^Nuu<xnD|$4V
zX?#|du2QBzIn)A;Hcxx;+jMwOm@B&a`)5&8d>zh&gJmHeG4Dx^z{{2<L0+~D^~@Em
vO66diN~Qe|m@BAS2ns@bgHT9rvw!0UAP?pQ7e!&G00000NkvXXu0mjfM!w%K

diff --git a/interface/web/themes/default-304/icons/x16/document_music.png b/interface/web/themes/default-304/icons/x16/document_music.png
deleted file mode 100644
index 2b76eef909371e112a301432924caceaeffbe13b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 581
zcmV-L0=oT)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ENkl<ZILnQa
zPe@c@6vgjaT1B-DBoU-GqS9Iz5W+=<w3<x|XKJQGENY^d2wa3941@~<1r^L$)j|oX
zMYRyzw3wtn5K{6?hOyC^dH?3UdAEBW?+$OEs1JUN_c-V9-Sb__udNYySS*eT6aV1M
zgVj~aEicpErKJ$UkBF4%`&@NhF55O6jRyay*ZF&`7V@rCVrYb(jsSc_r0UHkSH$@9
z=!kbJ75=in&)a)@{LwIYV{?;npc8u90k;<ym2^V_ewpSULsr(;+YBa?lL7&noS#?H
zmgn)IW&Je-H^Dg2s*kdBbIMg)I;hF~@sROX%v(ma9fAO8)kmp9LAmBgK*Mo5LJ*L7
z-{Q~ZgD?ceLaRQyGBcxOnynUF(nCDt{DQ~hE4zIEjTMfA*MU}jl$@ScGM)rD(nCDt
z#66pLt0s3pvcpcw5(=&Q=yE=<Wc?suSH_5koO{Cj?ZD>Yg&^z%djhTc=wdFXTyIGL
zZh??3qsdP{I6VB!;}>6De!b&_ozx^4TJ_O|sVU_~AdBKl073?4w|VsWA@@Blb##Jd
zgI0YsFg8YsY!=+arUh~fgj_1T<&)_m&%XTB(TOSJK?@JO;prP0p&{8Wj*f=tIPp%f
zY|z4^r%O0>I+3`=v4e5Yi68ZXC&r$*@(nFKk(Z7OXS;fPCyw>^-}xV)g$Lf>HNc|}
T)V%@Z00000NkvXXu0mjfKvfiO

diff --git a/interface/web/themes/default-304/icons/x16/document_music_playlist.png b/interface/web/themes/default-304/icons/x16/document_music_playlist.png
deleted file mode 100644
index 2708c7f5dfd724eea0d65f942f3783be277cfd99..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 599
zcmV-d0;v6oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006WNkl<ZILnoi
zO=uHQ6oub9;zEfo?5<cSqN^YXE(90SO%N0}LZKAwuf_@~{!~!1stZFG*;HwuMT*Tz
z!Rn$Q_yfg_RTGmojnyWWNTg0DGvmx;GCkfq<PFnq)CV8K4ClOe=G-Ul%*_erZYC2Y
z`u@V<+q1Lc=FE(^F+J@e_(O|+!*!wBHa0B_Rl`6<*Rfu&d%VtO!5X4t#|He;qCZ!v
zBfF~NQ&Gjo6%`+rx3E-T6g*#C1TWSR9sUOKbXqcCI1Us#d6Q1AX&Neuf>N!9e6@;4
z^YcE(ySuLuf)OK=laj&0R}J~KI)X_qEC4TanxEu-UIA;RPYkD0l0mE4ghv0bnx>zG
zHyC>3;`5K6UJ~wuwbCapC6kh&m31A<-!uf1oJc!3J5@&fndx`JTImx#<KvRy22H_i
zG+@vqWRmbL6Xjnz+7qVN2~UT$(kCt^5|YcsvVme*M=;5;6!12$;nYLdpAKuKPn;hc
zlU#APx6z;;Y?{Wq4I2-ZOq_n~;Azpu!kXoE!uN!=(kG&$qmo$ZyMfgTr!Ww?pF{M?
z7LMG@V)t}dD}CZjEGD_i7ll(asf%+HuW(=>gXD|Cj!tyyh_%uu_O-Q%lfAvn$d`@Z
zV1h|@cfv_n%O3W6D-;fk_O7lt0*jL{4);QdY=ZBJMNihUN3Q+E(LJ4=eS0I3>;D34
l+0*ih5OI(=^q;UN^arLhZ2tEZ5wHLN002ovPDHLkV1hio7|Z|w

diff --git a/interface/web/themes/default-304/icons/x16/document_shred.png b/interface/web/themes/default-304/icons/x16/document_shred.png
deleted file mode 100644
index 2c0d00c261c3b0f5d5dd86c702b9a1af89f10fdd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILm#I
zPe>GD7{-UZ6n2wNOLWOYc{A$d#lwOS9Xdos3{hZfxfP3PEf|}ECr?7mVGs-r%smJy
z?ny5}C=>+R$i_fy$*h|+yRNg2`~U5IKK2ztw}BroGvD+6c;?e$b8{Ma6OZ3u9{q=l
zuV-hq=**1vYI<5hM4E<=4MK%#mE6Na+BrC&ZO@~h`}>NIo127lru~=z9~y+bQi*=^
zLdtdNdnQ9xI!)gkhZ1XRga;X>{U5>L)RfRyD3{4C6pl&WFE1Z)Ro5eo29zLTnnIsn
zsZfsVpCmyO{0?%mqXc2Y5FSI2=R0U7N#*l|oa`t;XktQmQshhYip8dq)ZQK;Cp${;
zaC}_oFR{Sqi)<$O#SM^?9VO7m#)SSd3mn(APm&}Z$KGKPa<ZcYw_`COT&dOQt8K3o
z`7XA1cWp?1WHL4+pDb(T4^QM|M+t65qr%f#y-x2E2?I?&CzGpavc9#oiYDgLl9Ba&
zLQZy+;QGLT@T|^)`=g^nXfnCDXrPI?uwbBxJ~A?tV*zrqqXfZlSm^b9KgaVqn%o^8
zeu*Y`c%liur?Xj{_sWhE;JMt>qg~VWZgYPA1J4MWV4?{onqa<-$8p|`JRT98Vp`9%
zwVe-ib=|uV48HhcSr%rcTCHKOZ)~V{oFj)k_C(OaoMSFAS3qk=$Ai;>z^${Lor9Qo
gmopS@<Xa&43$I6Siio%XkpKVy07*qoM6N<$f)p<iWB>pF

diff --git a/interface/web/themes/default-304/icons/x16/document_small.png b/interface/web/themes/default-304/icons/x16/document_small.png
deleted file mode 100644
index 4e7ce8c8622d993c2c7ac0af9849882b66ee51de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 291
zcmV+;0o?wHP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002$Nkl<ZILl-B
z|NlP&C75CG8Bo7sg>U`Jm1!t=#R`?G#fuq=X3r*U08nB2hu^>dKl}Ri|D(^J{~x-1
z`9Daka?v7Hq6`2k%J}&6=l>_~-~Ye$^5y?+$B+L90g!m%tXZlA4ak~2IqU1MU;keN
zZ3h{$Wb0NqHjRxfBxpclXJ_{JKY#vz`1TEM2*@QM?||e88W2`rpY!YQ-~V5L-as}4
z6eb`!f(G~$7w7%`_wWA?pev9KdHdtXe~=tO18kC$3qXMeG6dujutC6B`3j_=a`+99
pc5;dkx3w+BhCy;eASu(`005zq@5Cd`l;Z#Z002ovPDHLkV1mo{h7<q*

diff --git a/interface/web/themes/default-304/icons/x16/document_text.png b/interface/web/themes/default-304/icons/x16/document_text.png
deleted file mode 100644
index 48cdf7551bf9c4dddcfb4ee874cb864212a9dc51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 583
zcmV-N0=WH&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006GNkl<ZILnQa
zyHC?m6vxj@m>gVPASA?zDE~nd65=3>Qx^w{QY8e8b|7V8Vq#%nApsKti;tv2Br&vv
z0+yt))mCW}u~5pRsPz3lp6^XhQ$YhK`3$%He$VfF&pqT^TqH2Qv~*ACzk;^0g#~iV
z&(n*!IRoK`I<{=3!oP||KFQ}fp2=`5o#r2@l))1WGBiT_Ukz}mV@sDxoD^f?{G7ih
zll<-Ih`$^j^5=M*-)(L(3Ob>^(cszatTK?120ydee>QpPay7VXwGImeXn1Bu8OW8(
z{C0hv-*`Oi4g`34YwJ=HTnAe9k$rkvd6btKgc1oO3?3YCV1NHo5;TBTePo-OQXUti
zfy?XVjZmnO<h9$)uh!Q1gWqrd!(gFRA3dC$R0d1cDt|pb=CFM2Vv<j>82k73%<Dj_
zKC(_sD1&8bu(G{vCf=L`PpC6F$>kVY_0a>TQ?XZSHIB%AcTZ3Mn*@6Tt@`M`!=XH>
zN`v=4AAgKQ8cDq2ut~DIvtyE^<f)-mAN7umC{Js$DABVsgC@y|AyX)DO1AU2#K*Eh
zt3JBZ*GCq+9SmX9@Fk@1MWg241=)?}CRsT{3lF@eI(vGkTegeqRg<e!WS|&oQJ%KB
z36>37c(huCo3|{MQEn<+2Q$H7(FjkBJt@i=T6pSSx*^<d>FDTh?dp1d9iW8=-aqmh
VpS_B?6>9(h002ovPDHLkV1j4|4blJr

diff --git a/interface/web/themes/default-304/icons/x16/document_text_image.png b/interface/web/themes/default-304/icons/x16/document_text_image.png
deleted file mode 100644
index 0c697bb30faca5effa81887c4b299ccc41acd9c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 619
zcmV-x0+juUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006qNkl<ZILnQa
zO-R#m7{`C-(IGnYcBw-mL=;GM?lKahLn3tArGs0!3bV)^VqH9W62ike2pX6|q|!1f
z!p*k1ri?b*425jEO=MW^{r&0r{@61X3iZI}@Y}xM=l{GZ`{bkoPp77?Gd=&{%#(=;
zWg8z?17l+vg&!K2bJZ&SDwSxbP@s4=OR-Fbex}nJcQ{PYFl~P&z@vdVQ!Z1Ajmf<|
z`jJY}_w8-^mPpV_JWg+YK0-jpv^5hv8XXlZSx&H<%N>~Hh11#OlF8J^D4_Zr4#ASI
zRA_c#fo9xpa)m-Px45{k60`%Y_>^^IM7Ukx8AOsvEevmMQD}2>UnNKYt@xCAcv!eo
z<OEKympqY3vyy3-i(b#q)2Coi|A)asD?W8=Xh`TS*J_mKIb@4PO7kXu=kt0dsN`!b
zM!}5@y&Y)9r%Z!`LT`l=gr<*aR%TC7c;>iH(mInJenTrhb<=Jatkrs*ELSg(|K)kg
zB)VxgdPP^#IuqOpwBl1YY&PL;jT1b3U?9i9Vfy^)G|fFfsoQzu@z95*C4Ee3ZV_7X
zscZfH!o4~lN|oC{D<vLik=KfuM0o?U9UL39;!_v9x|Gps1^01j_)=hfo!$om^kr?0
z-ueCHTU{k@G)f<rmnp|dp@j!t9cMc`)n&deYDAq|Ij9n}gJXjh9ti_;^pw%~kXi!m
zU?vzW5@E%-lM=t7g{R?FN0@Vl_V%7b9UYJV2Wa7e_Yaidl_FDz#-{)P002ovPDHLk
FV1j;R9Z&!O

diff --git a/interface/web/themes/default-304/icons/x16/document_zipper.png b/interface/web/themes/default-304/icons/x16/document_zipper.png
deleted file mode 100644
index add627c2543f1b8897f97e437fa0fea324a9bc5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 534
zcmV+x0_pvUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005qNkl<ZILm#K
zy)T1d6vgk*NlXT-g-FCC_z#*$#K2-|B8JvS5kabhw2OtwBB@1!MA%unSuEW!7#bld
zB2Cfn@9Ul?Jxv)r$;sRI$vMB?d*3UOiwl9GmzPr}KQ$MP`bES&JMQ~;&d()$dMeu|
zCr*NkmI8%(T|X-o{V0_*7K>>-9(T{@Y*ugX?i3!=z%Kw^S_<T<RZZvf`u6?p!ihve
zL!pq~r&4--d#gC`nFiW`t>a^AA#Z?8q2M3@B$G)8czAu)v#YDN#(chYlR&b5bVMx_
zYc>5U799kDOeW(1kMHjef=bX1yv#}P@Q_+8*$lGQKOpQMfTwi24FLdN<|J@%KrNLG
zkS~`V1Y!Im0GJ6OFS(q;%bd*b?^DawMnj7>2S88(!T@owfTZj<yv&Jjcb8hO8K7))
z_zU4+0r{}@;AKu`BM~ZCZ#K1JZ2-bBXF>?}1YYK3Ivl1}8U{cW|3R`=9lXrR<i-ZI
z+O$Qf8vqc7*$yFCHh7tn(U}?X27}NVHmzw@{0AvmW$+?{tUE&!6EbewrL6-9!)%8T
zEE~MY@N}7a`@G&w?Ko(M5LAOtj6JCs9A0EvS?MticMT5uyGKSso$`1*dw=gBc#%Q&
Y2Pra=XIL&B?*IS*07*qoM6N<$f)T*y4FCWD

diff --git a/interface/web/themes/default-304/icons/x16/documents.png b/interface/web/themes/default-304/icons/x16/documents.png
deleted file mode 100644
index 0aa748455e6818c34af690871c6c4c1688422f38..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 514
zcmV+d0{#7oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005WNkl<ZILn2R
z&nv@m7{{MKfN*heQKGoYE^e+$=17qXGmK0TY3AnU=0s6jZM&I99F*12YVELC4F@Ts
ziP`VpkLRuJ+csbM)T`~=`}=wKdY&(tY&P1o+sW*35dN2+hlJ@r=-jYcY4z}sRt^q`
zste5Wi%`%d3kCknX8ARh;^#zypJFj~2Lg;t=u$5zTS%x&<Z}Ej7hj@LevCx;E*$2Q
z>ubhAE_78F)F`i8ES9TKh~2>;KfJvuB^H-UK{GzSB+$Rgm$$byB``r|*xl6&^s|ir
zlrN;{UY;x2b3D$|J3F%ik#TPi%p~)9{!AuoN~)FjolYf#<>dDEoInH(=%i(YuXOrX
zNk#eG?^m*qOom6dw&n#QXh0_`1qlh%N}zn^^C?+O#vNH(GYCY`fKIMh<dg(zB~U)~
zdX)_O8Z;Ug1R`iar%)<!M)sgq0%h0Djgnzs1A6_UKm-lw6r~_9W2lut`Pk!OSYp(y
zyxToIyxh>*N(2q)l;m?2<OQ`7DEEzx9W`k*D-{}hdZvh|gL<`Ef)2iSNt)G4pxi$(
zVUi1Nb+ic73>_{Xm|z_2q+Yplq5iZ(r&>=9MY-;L13Y%H@G=!{c>n+a07*qoM6N<$
Eg2ig<w*UYD

diff --git a/interface/web/themes/default-304/icons/x16/documents_arrow.png b/interface/web/themes/default-304/icons/x16/documents_arrow.png
deleted file mode 100644
index 3e7a46a5a0a68809522ddea4b2578d9222b11335..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZILn2R
zT}YE*7>1vN>L6HkQXO;<L_$J!5R4${An2qZ+)jjWGcj^n+0QCN3v~zK&I|$}TBU5O
z&4@}_QBmNE6w&4wCawn7m?n#6bHDEA?s;UcxmLb#^L-!p_g-Aj`%;_DM(uVxb@cU-
zyyw1;aq9n(o!6~ay4u@I%{@Itg@6uzO3Beh(`kf~NqmpR;EzP`H5`W1<AHRXveJN@
z1(&+W;v#<V#+mtf_<})vnw`b-p&`hUo>Nu`SfSi%u~<HMy>L!W;>+Az9%6Ag@=<EF
z7df=5^5De83W%6U*VNtJ$f2dfSWWpYgFf^3a_3)IKz&!&X%3OzWRf&QQz?X^(G`$F
z<-7g;`A#frjm9$^BGC|?IFIlv9{&rnto+L5%6C5#2^=>V&T@!ELv)f1h;UH~BFZnv
z#`0a5$5pqqG;xSTLv$818N|3K1rg;JBO~Z^hEVq;h=HjHj_UR2I7Ff$I_Yc{2|kBX
z5K(pv52MB&!0iB*o(J2^<^!$wi9|zmG7L!Z7{!ol1JkIw=f#m*E>yI?M)hMKZhiyy
z8s7W&+!)u8XoyahuPe=C6hqX{W?-BK>O4S|>rXCE0Xwd|@z6e%iVih4o|pU1vPCiE
zg2j!)o$s)%;Zb0{_JMnUuMg^vz*gN;_m*1oN#eC>S7qfT<d&GoIC3U(uyQ*|ewTj~
z)z<OdgMdQwaCAeBU9<UwS@zR*MS1zDjY?(n|04gasnFZjs_u-gQ=2plAp!gba6`^j
T7koqi00000NkvXXu0mjfrlB+s

diff --git a/interface/web/themes/default-304/icons/x16/documents_exclamation.png b/interface/web/themes/default-304/icons/x16/documents_exclamation.png
deleted file mode 100644
index 20b9169a15e588c8ba4cab2faf4bf80522fdb1e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 669
zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007HNkl<ZILn2R
zT}V@57{?zWyHctfuYxX0&@M}%i!Le%DG2pqK^KN1eynNcBEuM|L11>Vf)Wb@jfo#!
zDXp78RBFp;h>W#4o%m6kW7VA7*@w>kd!8}JG{XZw-gC~w`SE+-Ll1|BsBL(d+DAr6
z?o-d#nA-nvN;fb-_xt;)rLT`DQ_#+<44FD59)~{`!&*3u)ldk_8ylFiS|Kwge}6%$
zf`@gX%}xB`58dnQaQS@r?(yJ**$la4&g5qbb|pVB7z`$-6H|6O7QEiH#9%b0DXyq!
zX6V4=Nt<n#L`r1V*xjvWD0vtMC6BXco}YJStHB^@_4->3k+!#2s8_bO;8&DglFZ~c
zV`J%=R91F&Y8WEPkemo_ArOiDBiTuw{QL-x>2fU1_ux-7iW?mr4GfWFNKT9eAs*}}
zSqb=H8ZU+7AH<yHCIZn7l()7vGDMOgIh)(t2=h7YCs|k=fqh1UxbhCG4lUN)qqwTo
z-e!m-LvrGY1fqNndnLZ$I&9Nb@Oz#?rBWf_?t<f6H7;vvn=h)>M3Nyn+br1PZS0k-
zEF0mpR3Y#~2O@&UQ4jl<>!`d_)RU8!M<f}Nli=SK=WS$4g3$<OO*L3?YGAjP!1(?i
ztg{#J_0xIfWmnE*_8~e+XUfWmQ<~&|C%7V0;`up+nTab{n!5y-?QF6@R+p^^9|v<S
zx`wP0en&?ON=xq|bxDbAN6y4DQH{l!bMVfehSymD<#%gx73R#xy`!(PdPQ&|x3IA0
zNO5t?UYZ(?ne=Ukmxbr;*{;`*$<p_POgp@NN-zEb4YkVFM#5NT00000NkvXXu0mjf
D_xd`^

diff --git a/interface/web/themes/default-304/icons/x16/documents_minus.png b/interface/web/themes/default-304/icons/x16/documents_minus.png
deleted file mode 100644
index 5c8042dcf60e8484bb15032da2cbbe2f0de1e702..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 549
zcmV+=0^0qFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005(Nkl<ZILn2R
z%}Z2a7{$+01gZXlKoWC1GVa?3p)C`XKvO5PXo4}LOn2^F1VW*pFow=5gvn|VWRN0=
z#9)HeB8D<C(#HAzdOF9(%N@Mw3%{9rIqyCE-si>e+#DXy&toJKfu1YxS4hu)xbSdx
z7K1Z02u)7|?t&5iD<r+CV$t?;Is2JTTRfSxZ;6C0#bTz6G<X+OEEx7C^LhKl4}a|M
z+t=M)`?S4nFPE21OF3z97gQ-f2#3QTwzh0(bJM=;>^LRiXw<>q(Q%jHRONRY8&xGT
zQ8q9!5g<4m#%aoLS@fCjM_K&fz<S2VZxSFlIVt*5g@Wy+QdK2x<*9`QCzIv%v9W#v
zNJBaq9^p?WbFAb@`OW&ell{(S?b_(*EdoeGIyn|38F-aQ`SseGlO=fEt3yKr1dxVw
z@}-ic8F-aQd2w~s$uzIa!QgEINJBcsa@n$+gI9@^qbn;;rg>co1nz`dS^#NCr^JE+
zkKtAFzN^b3jg9uIx!K`aO-=kc@D$RJPMOzL<T1QTB0isGIy;Z?1c<@c)&}Y5zRR@m
zDtXb}ZTD+yzdr&#y5Sv6f$QwW*4BGgSu)XaG!qS0x0B<u_HggHcK!@j7{<SKzOJe1
n#u>jqbQ0Rbz4iK_-Bs`xm?XI_aS9X900000NkvXXu0mjf$kzrD

diff --git a/interface/web/themes/default-304/icons/x16/documents_pencil.png b/interface/web/themes/default-304/icons/x16/documents_pencil.png
deleted file mode 100644
index ddc0b7d6b19f988aa4aef8e496e0ba58d04f802c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 617
zcmV-v0+#)WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006oNkl<ZILn2R
zT}YE*7>1vn1^u5WbQ1jtc@mcF#FN^|4pyP7lOlv5(w41gg|Ud5on$A82dR;z!Uk$E
zP?}+h;))r9NXZhX4Q%8zBTe`JclSJF``FgP7cRc<<>tA+>wQ0Z(A!H7`})Yz-%s+M
z*`HzR{=?z>HXGgT>7mB%Zlc@*3qK`f>Vt^{)}m1?heGfL0$AMGfOBRBk}+k)3o;fQ
z)(2uS{Nll-^>ut(UBy?wA43xpkR>@&mRpdge9vmNx;!2@XJ@gnvZ9n&9S#L`ZS5_F
zwp1Q>yYouKL^5Mrn}MP9Wo)H9%0=_M&t|^OP1LotTw{n#ot?tfU_6esU@)&FSNY}O
zppuE@rRL^_XId?hXoyajkMJiP{--3X{BC+$$(Ef?d@3#d>{6*tl4yudlnVlpNYN5e
z9-f*?XLDXJhTGc#iv<HJ)i|+=&=5-|5#oC&RwBx8Cnxda`v_j!?Fe&zx}svNi%3fs
znwo^`iBt*^zK3EZzj;42+JTR6bO<k*@wBxSYQ6r6v9gj#Z#E0YBp1Z_7{y9_z7Y)A
zs?x*uR~pQF#&D#%`u2{J5+a?+B-}{x?@I773QK&8@0Bk<y0dMeN_XJJZne5`XL<P*
zB05ONYidYiFx-^?onnjJlAnGzK4gX;n|FCHpQE!pv@eIf4DAseWR{r7apX>14hs;N
zgS|_GQx}gt&khu>{h}jUg>Z)Ry6s<%o;cK@C>N~15NoEXWrTBY00000NkvXXu0mjf
D;5j47

diff --git a/interface/web/themes/default-304/icons/x16/documents_plus.png b/interface/web/themes/default-304/icons/x16/documents_plus.png
deleted file mode 100644
index d09545372a817edc6f02cba25792e9fd03671146..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 601
zcmV-f0;c_mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006YNkl<ZILn2R
zPe_w-7{|W{&5JAXQgjhQA*n+S)=gv{gO~*!I!IwPTRO{yiV^9EXmznmf-pg0gSk@)
zOYIQoA$2Gk!vswvM@^Zi&HexP^gLs}Z1|Qx`0{&SzVG|t^Zb5z;c}sGYz+NwH{?10
zew}0dN2;GYo#+`IMfb=EPzdPfT}n=CB%P-HM1r=XQSyhw^fMHq8J~}&<J71F@)lgS
zhLcI!<sW|^9MDEENZ$hi`ZPOBvZUwK6atErpE(?kuWM^Gv${$@c6Jnq!{bq+Yi{o3
z;6&x=m6alhm`G<H95iu|JB*W*zc6T>-;X-~;UO6Z1|D$$i`_1H7)hmQKN2Z|6e<so
zk1L&6-nH4<IDlw~PK-zR6N?>#94UWZT2i{bc${uqt?e8@G(;!CfG`(o5K*35TvWOc
zk9(uH*USM#Lv)gv3`Mz6gNX8k*Gnz)Pw2{2Bi-{_=$ggS!2v`=bkf-@#rYi6AfoJ<
zo1;2UBi-NY%I$iS>G6eE4S;BfPKE&~9zzXsXWC5F&a0&Tpr>0wBWXYCspS1RKkSu5
z5Dn4E@^z(o3^hodyMgq9o5zB86+UR2njkuI-&wX$gS1SxQ`zgYzwk!$?ebPV$)3yG
z)5G9ZanWFSO8F%wGLD>y9IV_<f}iCZSj(5sZ(bt2EMI_40|v<dsM6HdJ~*S(b^kB&
n4Gg6&m`WF5J~f2SvK-(q(!RKgvK90200000NkvXXu0mjfC-oTD

diff --git a/interface/web/themes/default-304/icons/x16/documents_stack.png b/interface/web/themes/default-304/icons/x16/documents_stack.png
deleted file mode 100644
index 21e3f4d1cad3c96126670632a37531f534baa9f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 499
zcmV<P0Sx|$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005HNkl<ZILnoh
zze_@46o$_~P}CH(1d#;R5>$UdlhmRO4K+n&_KU)7NUFiHF&Y}o!J-xe(TbL^z(6F>
zP{=_<5F|=Uz5dqIITwx3x)vRHxx>BR^PKm)uyb|>yXWWd?Kwf2Z;`(3lM~po*<jOZ
zh3^OD&<6`rwTd6bBEIJHn2;olXEJ#A^o0D5qG|<@&F0fnyEhU+PdJRXp%C5#gXoXN
z@bcjSdFZg-bbPF80{msZ4g}EVa-rSrmNPOlvrd73nXeun(HD)%P{YB&A_ds`FY}?p
zfr)GuXZQCF6p(L|J7r5He4~Re=`_YuDSS>Q70qtHUzSW;EK3xC^`j$>K36W|doI@m
zX;?+G%jc6foiv+QC;;4p`xGh_Ocx42AiRlac6z;-p>4;F##IUc_uxK7x&w*GN)XX}
zaet2zZ9BHSyhZ`w9^9u)fIPiWf{12^$Abm>c2K9=XzS_%;2zwkTB~7+YA8WO^U&0k
zvtxAB)UH;~0YEQs5AMSN-a-i?n)@}HJv!K3PbUm(wZMJ&ceR2jnuY1$K3E@yG(dc@
p{C5QNz?WH=9;Pz=w<wu;J^@RgrHv*wQfvSK002ovPDHLkV1gm*<v9QV

diff --git a/interface/web/themes/default-304/icons/x16/documents_text.png b/interface/web/themes/default-304/icons/x16/documents_text.png
deleted file mode 100644
index f6f5833275c3a4c8ed3eb5e60324371bf495f740..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILn36
z&r8#B7zgm@4=AdOhb}=R<Tcu*Th}18V}jBpZIwj}3?oc$-aO^WgTe%rMy*(3fvk<C
zZ9?n^v$n;^A31TR&HeuM^nQ;`zFUSLcr)E+pXYgfo{tRA&dT$-IT@Ls7ye!U|2oq5
zpImr0Gb2x?r)6+zO2k-T1fSeQ`ZMLS?iC7}$Yymtoz|bJl)8dJ<sQ<0bb-18oBiox
zQIk0MYkyyV?CfZGYfIlPEh!iGk#=K&Ch}9O)%rOS(bvn%>WjtnE5agHhvP7&o}NdD
z97|sC`_;d;)+FKHz{G?Zk=ihhBfs=`^iv?9-qlt0ghIN0aG-tT<987e%j6_;CsQiv
z8@IdG^*!jV<QF!Z#*;~nCK5H}t+BCthzJ?v<ZuOc4Q*~}aAV^ivJHyw*bBtt`a7T3
zo1>%m5fL)TDWCw!o^ZG(vAbOQ%IQ?w;$n?#hw4u*r+b-<rf}UGLqh|I2pQxQD;15P
z<G1bYCJ6^f@+=Ca(V0a!uWJ^|14M)ja>~`JE_l8A1<%)zxG^w(N3sKgEDo{==XKR=
zeu#*WK~4n)V!OK<#h@AzBl#_6KqaqQz;7>hc0NAQ)+Ry*IaNH@$CVZR;Pa_B8dWFW
z-$=gP-EBW*G7UCzvZLd+h@6*8U0p&B-@A&+WppW_OCC%k`ATo^Fb<q;$r(gWlcV)T
s39rMMw2~VKTGu&pjJ%_ANN!nw0SCIE(y{@<;Q#;t07*qoM6N<$g5|*<(EtDd

diff --git a/interface/web/themes/default-304/icons/x16/door.png b/interface/web/themes/default-304/icons/x16/door.png
deleted file mode 100644
index 0b7c1bc63a77806b3a7bf4dc963bda49c0a27dd1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 471
zcmV;|0Vw{7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004=Nkl<ZILn2T
zzlsx47{!10Iw2W@IE5^VU|}Pq%>!7Zu(J{@Ew-@m1$>ERL2N910GqASSOk0lUtk+q
zix3o)y_=ms$^E|1A~VTMvbYyM4)@+OXU;ir-N)wu;2fWTF}JVpX1oP>_svMGJ~d<f
z;`Q;^drz9C^!t6h_lO8(SyELMs>;_dpF3)a>Ta`It(eVbq-jb~6bCq&Olb1~yeKrI
z^=+1AH=?T2<^v?sQWOz}!y#FgVP+i+As`~io`XcBE8x9HRS%}=qs<3MVoR|hnps_}
zQB@U-#ex_ks!BZQKwvk5bFTB}`JXEuzxlwgP;4DE1K^{;c4EXihlrqNhzNHurte?U
zbDR4%e-mM^gC>gA4jw(oc=q(kw#0bQfpj})A~gH`^ZyDo4%#KQ@g@iU;(C{<6Tz&5
zZGk9oaa{|X&Edxt<kjZG5CTO}uv{)X7(zf*$*T?jY+gqI?oNMm@6~-sl7!J{#9%O>
z*XwQVuh(nJvP49<T*CB{hd==G1W19SpE>6zr?Xq%@?SUyj(|0g{{u2FU){WtAIJaz
N002ovPDHLkV1mq=)!6_5

diff --git a/interface/web/themes/default-304/icons/x16/door_arrow.png b/interface/web/themes/default-304/icons/x16/door_arrow.png
deleted file mode 100644
index efabfc908b8efcacd0735b6c9c5546946e42f940..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 609
zcmV-n0-pVeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006gNkl<ZILn2T
z&r4KM6vsdJ`X*-_!l(Tnqhb&vLs|?(D-DclArcW3C<M7^D^gIK{()Llw5Xtn&_xBd
zks!)dVQnNxBx#p~4T%MB)Ol~b_uLlF(>Ez~;mbLPd+zss&-ZfGy)FPyiU&Y}|F22s
zxEvRrt0vA-ICXxYptUBG$xvTkkJcJ%EnyfEMG+#x>t~N@*gTQ-qEe|aK0Zz+lc8KL
zZ;0L9-6Z<~v=xXU)m`8BH;p1fvfm1LHo<7EC7aFS`##ROnivED)>`ae3Os9T3AEOT
z$OgoIB>Mq8lVFS+opV)V9Z?ifEEX}wAR?Fz9#~k1MJZKt^W3izEf??dGbpbqNWwD-
zNyZqIQdnyd=djjNhhywoFS(sf7-KLNW{+K2&7-K6z*Ywo5nNTlp6xyd^ZN*bfYHW2
zX8NxlT54|VuY}?7a;bzi7Gj9V+6XaG9F<bcsvKwfIvXlsIOv?~Uo~+P1xXX%>>gk~
z+lq*zI6Y1J<6bWG<_nKUrUsn|-nS)aNpCWObBG8Fhfi?4tAnp4@C~d06AN(iY)9ec
zllOz(=p6LyfL&Ww4+cSibB@KuMU+z1y?f4!i4WB$6dF2Dlk3PceCO4q()zXsG>px&
z^;{!(o=1CoJLz<qR4N6)4L8He$`oN3GW4T|r2~21-WvIAi&OV?>HDw(wgI`LDXup`
v+rR$tmm`<<|88!rTb`e}X+J%E2rT>o4-jf*J8CMR00000NkvXXu0mjfB^3*P

diff --git a/interface/web/themes/default-304/icons/x16/door_exclamation.png b/interface/web/themes/default-304/icons/x16/door_exclamation.png
deleted file mode 100644
index 3fb609c2d6bf4b511de7058ae3dd0d3571dfd52d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILn2S
z%}bO~6vlt|df)j@$C(6kGO<W(gn|SKDlDXek|;`|Re_5(ZCeQS7qp8uE&2mWsEq|J
z+(+TwT?8?W<OhwTGw*oMy)BwI-^rv459c24InRC0!%@#C0YE8U0OS1sEP2m^C^5c$
z@t*N3cV@@6)}+&ElF1}mYea-*vq>0+IOq8A>SYI;ac(zhwOTALE|N~CX*3#p;?&d>
z@p=F)4kEbrYd)X<XLQaHuNMbKVvHg}Hk&1%&*Q!Ch_zY`5kdY^U_?3zwAMK1_8{^j
zUJqbwj4>+o-nWhQgkeavTE$w6a}K-51A$!#N~w;YE9;w-?ma{LR$%ZWhfk|wkbwxs
z#w1y5QA!~qIPVb=y70Vze4PuoG$R+Eu=4$3_t><gfF^*p0uiJ=pmPr2R&eNGp37H<
zIC^rDTyK$q(X%OWT#9-+2%K|&Mu>=%f}pU$!00*d-ha*DiStP(>V{a1*nJelO-vTI
z=_w6i%r^7$^N6f=B{IWhD@^WK&|kOq8Nqv;b0qtIQWzegvhkUB3y)Y0mkA2}$E{^%
zX9uO<RN%`dY=^%aYqc7UMuU32jt$mH6%%x2DkStO*QTG6F`MLaVKGSMPFc$t17sF{
zaNu?i7-J}x%cN2%f*@ccyTs5~FKJzcz_GP9M}6%r0R5$&W6NvxSp^h<fr)^*UKoil
s$;3^L6iQ?|7RS&`cJs{`S_#9aUn8DR7l-2jlK=n!07*qoM6N<$f`Ka$5C8xG

diff --git a/interface/web/themes/default-304/icons/x16/door_minus.png b/interface/web/themes/default-304/icons/x16/door_minus.png
deleted file mode 100644
index 7356d39e49539ea48595cf8c1e3fb20c5ab6743b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZILn2T
zJ8u&~6otPTW@B#*V#7lSB2ggmh&yD779<xGL{uOO3JMDT0{jCS8bm<~3Q~cDXh?&E
zC2EB0NHn}eFhm$wuj5^N?hHk|o3$O3k&f=%nKS3!d!$j1E&_m3tN;!6UTyEWlPAWH
zH{R2@eB*XQYfTu2R4Ns;)`$pcnv!K1&N*H`e=?zFoZCr;!y&C!i!cls3<fi?*=$ng
z188xO!;NpFDB3kT=P2{VfsvA;h)}E5h@uGZ{X~r87!g6HIxr%W0$OXFb2G^ODDwe~
zEh*+i@BP?VPnKnLIvuRFIOni49ti9}P)bcy-stvNy!DWu@u29S3~dDpSc_5$5y5$n
zh_DaO+TE)JYWu#-KlB}po$??b#g98Uek9`Tsgs3?Isf!02>Vk4&beZQJfA+d0_VQM
z{yqr*>7Z;PfPMQB^P@*M_`*_`rEti50X($L=RPb}cNxL^BF38uH?LgJ>&)kW=IQDx
z=H&(~ABAIc+YjS7#(PhaBq*gwl7!Jhl?Sh$QJJgor`y{KMyvxEXd7UDZIc7n4uUa;
zdc97yS|tdAVvN!G5owwtBCI@qv;N{Q%RqbywiIv}IB_B1-U6K2>o5O?5AR0Y2fhKn
Z{sA`@R=%4E38(-7002ovPDHLkV1i<%>f`_b

diff --git a/interface/web/themes/default-304/icons/x16/door_pencil.png b/interface/web/themes/default-304/icons/x16/door_pencil.png
deleted file mode 100644
index 2e245e00b19f23099f32f7be52a1c75b02dfcae7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 637
zcmV-@0)qXCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006+Nkl<ZILn2T
zPe@cj9LGQNdN23ozb7hLqF6$~E_GQ5szbpB20?g;q=R_y5YeeyU6O)8A`rr&4t3}d
z1W_a&^00X66olX*D2S3&HaByfU48GZZ)Q5UPj^#j;LCS@%y+)?`+Z@=_!$5Yf~P>5
z|F2KRa5XM$Q`s0px^G}OZCMts>rz)&hh<qPr3iw6FbvUJGxh3Ojhn6Yc2O>u$!4>-
zu8Z&cJ2;ccP^|~Bl!h3(a_V{BuB^4DTCX(Ns>)F*MSXoep66kVsbMK4N-3)KJ@W!v
zsagZevd~)ZK%7Uc&wLSR309;bMl3YORDv~xVMs2QBZ?xl)<hbPEeQ6@I0FUSPzWJv
zUS9lDq;u#YOVZ!!Am=4dM(|d_Su0Yog(yM@fl>->3`!~XV3@pl5l3vEuh~tB*~Z3m
zhek&F^Ki$G{>dOt+f+I@(B^UUa5qv)%Jve=PJ7dMcKU8#Z|~R@W8T*oXsx$Ki0hd5
zw)prBdB$H4ccoIP+l3%_cNu1DMu<D84iUg=kk}o+$qWqh_}*wS)wB3PDK!gV&#ggc
zVwVw&L2HfUtzlXVTo}C0%STW6HDhwkel*=CU;?n-EW-C9tcRNyrIh%-PpMQQh*lBp
zOPn9P#`6bbG>6?R&mjx*5#I^{6Mzluo6OUAsTpkBCYel<NF;C^hoAB@{WoTKasM=3
ziQ~AciPaKJuF?TWU|j&Mz`+v^w_4yx^+%c7AU$+StjHha*Yl<bumWE{ZZHZg0Ly;?
X&|r2`$K1LU00000NkvXXu0mjfiSQtj

diff --git a/interface/web/themes/default-304/icons/x16/door_plus.png b/interface/web/themes/default-304/icons/x16/door_plus.png
deleted file mode 100644
index 302a1f9bf36608fc5529306202093986c84946fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 574
zcmV-E0>S->P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00067Nkl<ZILn2T
zv1=4T6vltEnakeh5I0~FG?0iOVmi4>ED{MQh-f1UT39H?Kf%({Mg*}ig@1q+snRH%
z0ZZ{f!77P`79pB&lFjDs_A+mtMQ$&9Cg{M&H;;Mq&G$YS^I{qRjA0(A^8Zy=WiBtQ
zb~mb2FW<UX4T69uiU`AyAP5i<+U+)3mf^kU?dw;4YS#PxqSNV6tJR32h*qn0fM;iC
zDfR;d;vt9cp2l%}D0}ZI_KOEA1w|2|QmGKfF{;|fNs=HU$X^buNWVZ31bFWcAkU-N
z4`5wEF>h4WZm>$0Wvs8S<DA2Lk2{coz&-?HOyA3Ejcvy7KId1`>NzOFx`HL=9L5+#
z1h0ySFo3f7=o%+RhjGr~1U^hxKovULFCg6kz4vI>!SQ1;XHHF!BneN(R{8i~`0U1r
zokw+!9Z%o{a(M51BjiFk8)H}*Y;yhf{ULU>N~YZq4{=Zo5#Z&-PgbH9rA~=0*@Dai
zd_t+)?>jJFK4b*d9<SOKCvRQ=VAE}K@ybjUU}@n!c3};!j=<R9-o+$IP*u`2#TY}H
zrc5>l_%^>p7>0y*PV@E6m-^lhq;7$s#SM<!I11KUrlzJSm&=q&rQR6lc6VvF+dMR%
zX-ET7U*d6ko=aiV0ueC!qsj8qXSIL+<8;PO{$6eju+1_M@h)rr0khv;AT<iMw*UYD
M07*qoM6N<$f@#tOYXATM

diff --git a/interface/web/themes/default-304/icons/x16/drawer.png b/interface/web/themes/default-304/icons/x16/drawer.png
deleted file mode 100644
index 50c57378c8cd0e0d8ef615bf5da45a198b45c342..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 631
zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006$Nkl<ZILnoi
zyK59t6vlt^*m>;BsEBUFL@Wael7OJ-KcJ<kU~20i*ovZ9tEGjgq_Gf0Vk3x^mCq(A
zLYM?iLS*CaB>T9#b7$_cNOlvALOkWYe82OZ?;PvlIj}6SEyjTfc31a}Few7==EJxV
zCeEC{Jh~h8``6EVjV7%JX94(lVf@-?l4vZ;!t*?Q-zS%I5fQZ3B#B1r1Y-ox%P}?i
z=o2vJW@ZC5Gc$uy3fs2H=kt_GC4wM8L{Li6YPC>Gk!2ZS7}C@A0U|<FuVY&l{`xwF
z)m4IA4%fEnq$zE!QCg#oVI&B)0kSQCh;V#ph%gNCJdZR@5fL26Ax%>{oep0X77!77
zIyc?sz!*cf+a-=;7FK>THu0D!im1K1%h5yo3BwR$3?f4Mr-R<d%<?k6>mnAsyLS~E
zi*hNT+G?TVxZh~Y!8U*~h7-fX6bc1=-$!eWh~T;|T5FV2e4d}j7(==PAVQX9bh=&Y
zam@E>om1DJ5=9Z!m$x}`VDCoyS%wkW36M<((~FA)u8R@j?VT&wmPN7PQ*AbB*XtXj
z{?)-I;N-Dm6pKZC-~Vk3Ns^$H;=|nBKStOLQ7J{OR%5BQ&gmPIL{Y@bi<=zYS0)U@
zeu#a*d;<=8TWg$NS|V^=GGlmi>k_tQQOM`0wpz5~xZkMVg&zsHQ&k2p?g7Vf7^zfn
z9EWnb%)r1v|CHP9HjPGuX0wUb8pm;1Yr@nTgDz0{)@Js}v#<P5)nOK>`~pW}dOeSl
R@p1qF002ovPDHLkV1iF2CGr3O

diff --git a/interface/web/themes/default-304/icons/x16/drawer_arrow.png b/interface/web/themes/default-304/icons/x16/drawer_arrow.png
deleted file mode 100644
index f4a707503d76ae468188023a2cc433d481c406b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 737
zcmV<70v`Q|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00080Nkl<ZILnQa
zNlcSb6ouc0wF4jm0?H6IP@;k$AXCs5N`+t%h!i445eyY&3Y1AIZIMA`OiGA?VNfE(
z5r_m4F)s84O<X98iZQZK*Q}5Ky&7dFi<9@~<b3bFbN?s0<Amsm7osmg7!=7(%0LXU
z;?D+T$mO<dY(|tNhBxSnWl5)_2p@Y2@Tu2`&jZC+8!p3-u?l=2EyuSZ6MHLtM$S-{
z7-Gfs7?ylob`%puVYpv>7}MqPSZdPYtvwTOY<es<XxW=AiQo)ni6K_BN3rCii!o?D
z<&U<k0Cb(+i^2S0j1(Tg-E)U9R1k`O!+vyT2Xcn8#1Jc5BUtjGDH`_7J(#ITz>E46
zytbs{Wn(Iz{_4sJ_GT*+IYU`uh!rj2Ecu``3f7Z;pmkh1*`Dfyxw$zw91i{_Z)1iS
zVny>omYli}iIxms*pxu0Qp2Y6fjMyp>JvTCmga}<oFH7&@8%3;i6K@rgt8<J&yv22
z`_0#?`PvJ0$#`zoa24{NT#DrkWr-nH)CRNU#QAVE={!N}urk1w6tBM(=$pJ^+b!ri
z7htWg1~J5ns(mbZPnmXu)&otcJ7HH&u_Sw<Ce9V+csJOz-sn)OX>7A_tO055^T^ZZ
ztm<=0gt#2Uk~E~cWOwfOtU8IOPuDitZ$oFDhW6@Hgcy5~JL$yDuRwJ5)Vj+0-XKi=
zf+R<ke{I&df!0A~V9ja|u8=bBMC%v8_yNdz_fM58KtS!16gqby3cZCKIio_&@$E3H
zU13qGG#+zDRm?W1^J}0g>_h0;e)#8hAadA=jAbA&uYcXMbjF}eL3m|u`CZ|TGAOzM
zJ=Kj*nH~{&A$d0tvIt&}sFGHRr47O&T*R2hMacijH{AGhYf|&NDj;r^7-D|`K%@7R
TY|a5G00000NkvXXu0mjfhD}xi

diff --git a/interface/web/themes/default-304/icons/x16/drawer_exclamation.png b/interface/web/themes/default-304/icons/x16/drawer_exclamation.png
deleted file mode 100644
index 03f0c1eefb72392ced1d10249b396dfd42135dfd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 724
zcmV;_0xSKAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007;Nkl<ZILnQb
zJ7`o}6o$Wj-e)E=Nk)R1C`nA=BjAgO3ZjSz7TPGny>e4niC6_hMB9jkHY!#YR%tYa
zAh8rhxK~7jh$Q&9cZ?wk!8=KYn8}%$v(H`@X3QWK?s9FuZ~bd;mb!HSlmbi94-D{o
z=Y|o6M8H`o^c!Jd-_bw%euw`1(Y<=3A$4;<0I!bqpXsaBVw6&No`>)IxUPeU5XUjK
zT1*_*Fh=k^myw}6qrfgFG2d0=<Ksk8gk@QzQYkW-3_%beB1BO{xm+fSB9bH_3`6SN
z4}pkKSXjVP3V(5tbg@X_x;U0aMQfJhm?(~kjiEOP8U)FzKt$Nu*-03Nc%FyW8WF*^
zZM4=@DivN&OdulEIY&1nFvd`=Rw<QAOw7))Yv3-0LV@{*SLkkELl}k_V-OMa&k5=m
z<1;h(j)N$8a`i7P6xmFG)jo@tU!o)BW0p)qf(C&xhHYJ4q|<49-zSb^L<GlGxZPuH
zK75U5!xz#2YU-S&6VM455t1aKQmryIJ<Zb>qv(U@`Pg-W*Hh1F%5No;YolZ19)h+d
z>fDb6vXWqIYKp*dFd{r2{1eMkY(E^6-?WcYr|)z7>Rw8PHyBVR`Nar3dwOVUYQpz@
zwAR?!63x91t{X8tJj|`Zv!vVF$aNPpU;dMZ5mp{CiXtW_Cwcl}6m#eT^X(~89o@_<
zyyVfy1&Y;ogzIyx?WOg|Wu>f7Utzhr`i*1L)66U`k{H83w~ym2kKt!$@vI_8k6kC_
zd?lN!(9)R>wPvp~@;@CXo58kidh>Z~+a{aM($dnxa_d_*><9_1S#S;Ixl1g~Jpf?C
zmS+FM`|>#j^zC*z-wGRl-n!k#>CCMo^{b7v94epZdHfA;Pg(8{5rM}50000<MNUMn
GLSTYj$WQ42

diff --git a/interface/web/themes/default-304/icons/x16/drawer_minus.png b/interface/web/themes/default-304/icons/x16/drawer_minus.png
deleted file mode 100644
index 4e2ff66c9e3510646debb801a0b00a4cdb787760..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZILnoi
zJ8M)?6otQY-#3$&NYDgKBwYjri6AHn7FG&2f{N(`D~llb1A=0$c3OyrX@m$Ou?$vr
zz6y;H<QmKaVUn52WM<CHoO{o<NG8U_BJOf;*0<L_XQ@YLK`C$)W576js|Qxdi-5P;
z7_-9o=?hmz_o9CH=0$r^UOhYm!2641H%D77gHnnh2nfRv-}ev^j4`xY24h-SD+Gbh
zbpFW);Dndi4b<%HELv+E$DyO6gRZVFq9{T{&{|Wg)zDg#Wf^fC)7EVPM1-VN!cmH_
zQX#jpLgf2+jzc3&sT+ef24gKpqG%f+`vVXWjt&kI$1y<=kftdjg6q1ZX-cEf;M4p(
zB0^i|rP~}>YiTx{l*?u2f30$2{3%J2P<(xl!w2^h$1&DgM1*vwgZ5x{d704j5Cw1V
zU&lew-4#)&)zIbg)}lWSwgIfQ92*)Um&*}`A;uU)1kdv@#-O$4<BuO$Ye{zjM98v?
zMzcw&TxOwA;^gh;BuPTy)dYw7_HDd=mSIJ917y>|*TqF5&%=r^bN4EaQgr4*3e_t0
zQfcGVO$P(3|2X0J@Gza7orGby^$U%e@92e9thLk|4J24+q{2wl;_+XAc4&&lB1^>z
zr|#rQk_0n%iyN1&?M!sX^U29kb+Hc)1iU|Y{^;nJr6nAth&+$9WzjmtQHq|0CT6XL
z6+r}I-=|v9_1KX2rV9*Q?g7_zInv*c>$-GzchlS3yA|bnz0UgjI@M|wV+_9U^K$C*
sx2ZKIJfQz)ow;X|pZT9E!5q;48@uFo07czFyZ`_I07*qoM6N<$f)0l?TmS$7

diff --git a/interface/web/themes/default-304/icons/x16/drawer_pencil.png b/interface/web/themes/default-304/icons/x16/drawer_pencil.png
deleted file mode 100644
index ef7ed0ef506f0d2ca535c13a8aa031cf6650669b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 749
zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008CNkl<ZILnQa
zNlcSL7>4IRfSRZzQUr>KBH+^4C?EuoO`&X6f<-ZgsDQE<k)=Xtp|mu$MGPctnktbc
zEK0x#8Z;s*E*x~?QRSc~HNk`NVAA93eB%<si9dNWlW*Q<X1@0y)|JFqcQRwWDXdV4
zuTX`=5X=5-Kn4D`tpF<#d5Mu5bS6sikM2^u?=HfJo??8uUXCw=Rroe)#L`GDJ`YsN
z+G209^pKYrVp&Im6u(!sALFG_m?+<enc8H$u<G%~m5<j>1LiH+vNl-}BR%9LhFEqb
zPKr-oNI>h+P_!M}hRze)(RWgV;gUVLbv6<MMOs`f+==#rFzF#LF~qXg7%4tg84p+f
zRy;7K;8{}^7VNor-kc*(e`z};YY#7`N)LI7A(lC!rTE?Rakz9O1T>C`lU+H%n4O)4
z+wGQfs{QXFW-LfytYxnhzjH1Yj=arq3PZbS!>JF3IdvnNQvK0(I0RkC!*SWLMS5lo
z8ocsRek>?T3bSY#iBov?+)c8-Ig?Ia`)Ok)o|rRaD^$B*oruQVF!bsp0h<j|iZahk
z8b;#dWzn$e13}}U2+)zG{?`J{sWxGZK!silkH>?eko8ObjOke24o2d)McS5Ze^_$@
z;1V~nX9l7n$rt8i6`a{YxOOH0L-sZBd^MpgZ5N8ez23E|M2I!vQk+6+%=80g@u>cw
zOrNg(xFH>Lj#x~0s3hD`?Twpd5g>+GRv9YAN5sE2XQ)79p9ri)=Pz3ryitcC+iD5B
z>(|0+@R1&3h-G>|#!7-1A3nVs4e1+T*7?FNT4_%6gXzFJ^jo|o+*z{<EdnMFd5IyG
zK6Sp&?-qtcP_#QeReH*kW)1Lj5d#)qj2pH1>!FbtVrhe@7%w)O;l=oJi8Y*xSH9<|
fmBr<2#1Q)n;{xdkB*s<L00000NkvXXu0mjf<)u|=

diff --git a/interface/web/themes/default-304/icons/x16/drawer_plus.png b/interface/web/themes/default-304/icons/x16/drawer_plus.png
deleted file mode 100644
index a63fb3ba4b95dcb445de9576b6b1412700021ff3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 710
zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007wNkl<ZILnQb
zO=whS6o#Mg-f!;DOlC}pqN!+#3q>)Cj36YmR7w~AER_n)qE&Ef5CpfPbgd$Vx)2+t
zi$Ez-(xplfyC~Ya&<rSCgPKs7$^693+?o0A{f>(|G3r9k@*LjhyoYm+y8Hzw1&(3@
znB?Q)q7_OapkF5@tS~u#=$qolsPFzU-EUM<mp%vJ-r<Rp#a_>#l*02oeBURN(TE7f
z7<xT}F+HpmJTJpc>FRx8uTJg%sM*<B;yA`}9J1Lg`Fx%r2oMqCIHuKV5yvrUni7T~
zeccK`M2PBj9HsD=mdI7B1epxlap)uoZDWXy!C1?VAXo)R-vC5}(aoC)!w}E&NRk8*
z!F64dB%#yk@bBClB0^uMlT{9^wRF2(8jS{X|1Gk2@)}VTQTzP@pKTZ-3`4B7hzQBM
z4*G@Jg#~=A5e2t@_!b96As<j_wTK&yl}2wItO8hT*)=jkE|<gieT*@P2wH25F~o7q
zKTn@xttEL6AVQj^bh=&YjRwyvb@rY9nJ9{=+&IUkb)PV`yG40xkDa|5#XIi+<h6rG
zFJ2I6jTPbM`C~XrF_81AEH6{`+8jLg9k-@`VRs6Djfd}#uxHB_1_lQ3eSc*OS2iy2
z$Y~NvhGyCXW4ZSIn(d22?oV$4`bSf%)tIj>F?Oaz6h-`9J<GP^`vIsXRYs1E0c3Cg
zcB`lkuY>g-_x681T6{P^kE0ZU)+9Yk949zR@#j9p^Ss51Fmz&+)>N5BtJAKpbxL}s
z!ly^pfa|*K7#_xTT?&N)gM))Br+lE@=4JgQrwV0iX^o&OeD&jU`PU}rG%)<E&ExA+
s4?g&XoiFvs(vxPEMcU8WJO+ke0dod)()+4g8UO$Q07*qoM6N<$g0CG++yDRo

diff --git a/interface/web/themes/default-304/icons/x16/drill.png b/interface/web/themes/default-304/icons/x16/drill.png
deleted file mode 100644
index c05a3051ed0941ad4e2a9d8c5d1d734762107405..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 637
zcmV-@0)qXCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006+Nkl<ZILnQb
zUr1AN6vxjjq)1je1}mXvu)ul8M7u)7$YM_|YA<&}PO1qqNocjTpokuP8ALt>`P#!C
zswE~Cu}Vr=GrFs^jQ(&#(*Ca?M&cIv?cD3OistaZhkN0i`?>d?bAIG>I!Tfw(&=;s
z_A;@BOC*;e&IEH&sv;KDy4`L+KQvSz6bb>euF}lx29#adT)bA9yGTJ2Me(?zDDe3X
zA`*#cR~0<l{trJ>P56GN4xa|9F%w;d53#k`^aUCri^XC#8jZa~G+MypIRt#%2RTCc
zHEu;_qz38h75FktMLu6!nVmknC?LIFPk+UJ=E3A?lJQzZ?&&&YCs!joQHl8{D=`09
zhfIR9Z~95$nqVn`7Pq>{d$W_|jwao0?#sZ}tHy=<=j*_!F(%HrU?RXxTuQ(NG}OVL
zW7j5gE)#E<!<ZE{HPtCjTh$y3sH|YHo#?Wp(K{Qf|Ay37n9b%FoOanvM4j9C&R{V7
zCpg?nlsrl_e4r@sP4#bnkLM29Y__*t(nCwd)R{j_oFWo8X}{1S2!h<*?T5p$Bh6)f
z%NC?g5H)Yqtv8uWcU6JQ<^I8CgKYwlr=h&S%L17Na`G6-_j-7&uXY0Cc5rXxSQ~k-
zcuELb%te8WcYA=Bt&7|ENYoz2Xg!b+zyi6XK#lyNiiN{r1Oi9k_jjSO(XQBR!n7o{
zLy|)3K0GYcS1@ZBlR8z#&NQ>2PhFt=0lUF)H|S)3k&;Z5*`mFWsbs3uspdr+mWkmv
XIVnDB3p%QA00000NkvXXu0mjf%*HF9

diff --git a/interface/web/themes/default-304/icons/x16/drill_arrow.png b/interface/web/themes/default-304/icons/x16/drill_arrow.png
deleted file mode 100644
index fdb0737114a34912a1325fd6fa0697772d7bea6a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 764
zcmV<Y0t5YtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008RNkl<ZILnQb
zZ%9*76u{3c#n3Fx!Az(b82;IsnajkM7Jh1>t9Y~8B%2^J1jQ|ap!y);D6%5K4HFUC
zhir;jR;-d#OrtmdD_J}>H8nFKBymQb&U-pDl<2~bb06oO-@EtR`yeGH1sH|_kx1kr
zm2fOR0QMg^3Dbfd{DB0a8jZ$CMRgv`W;5cLdVNNZB63IE3(in(t`bb3R4OlU9ES!&
zCR!{OA@X2v;$Qr9#p3r@Vfdvc5J&C4IN{jho-Tz32oDdJipAnW0BG`{)t*C~OheWJ
z_^T}nXB&cWy50-FK7kdc9&L0F-&hhrKtKSj8fS>N-IsyIk4jwV*^2J&P3Z3O!THV&
zINu?{*%ojQT7jc?OzR1R@gf`a&$EEdh!wr0zSMlH7B9Xj2}4RX6HdyRTJouhs|C_D
zGi;4W6z22-)Me0e6vD~eoOMReVRIA)1qHe&9mVHJ0I;X18>GhyKvgylN#&D}TrnlY
z(!2zy)d5s70)=Ca$Qg9Sp;Rh;Pi1Pk1RyJ6S+Mtd-x|Szk|D5X273gCKI^V=>{p>&
zE+3(?+?Bnq796@aVWVP}qMjE#z7he-ox&FO%VaV(C&!2?Rnjz-6|WJ*6%X)VWo@4k
z`51q9P|pio7XkL|5QRu2lGnUIt=9aYvf6YRfHs<D@@t(olCV5}XRBCUHHWuH5DykL
z4&AwWVu%E6YXPv0xpb@_4kNZHkb1*9(n0@FO9IvXPve$hL_-gvw&M@x0mQUh4#a`v
zrQ6u96pFDa60t>wBwz(WNbWP6<a|BL!>=H|lEdTeh{3wD8OBtM`T2QhG-hK=jDnNP
zWy1`kLxwT)_u-wV4PJyFA=!MovRBrK=zprB-&b++DSv^Me=vSd-GEEW7pax76T5kV
ui0~o&ebTJu-l^6u@03C#J#YUHw*3Z#CZCDyCxQL|0000<MNUMnLSTZq?OXl;

diff --git a/interface/web/themes/default-304/icons/x16/drill_exclamation.png b/interface/web/themes/default-304/icons/x16/drill_exclamation.png
deleted file mode 100644
index c9b4a4a46d3cd8eb7425fddd517a716a2e9d7e40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmV+(1L6FMP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008zNkl<ZILm#K
zdq|T}7{=dI76xId3|2;7Ldm(IsEZ^dGowhV{j&*PzzfI(gKD!<3Ir(@QvW1m$qXgw
zvT15+vD8e{&H2rm=DkmbN?w|wnBvTQJKv`pDb)u*-gCb5J`d+S=RjOs9LVKzAcQzM
zPtmVE2j)K*D5{kT*bUUcM<$agsi@Y8TCGN$i2pm|XA#+0$BMy+T`B_=NTt#omSr(L
zJry+?4PQC%^RZ3*w1ne)lRr*ZdE$75J5K8NIP4Fg83F?X{R9F*0RXf*Q7F<7r!F9)
z0sLhW;X<<)+UvLBw>oe!Q{(2a6|NhAhldCJ@g-6^du{@QBT`)H-HVQ%UFfjx#N|)h
zarq;`g?4a^76VIrRGSPk6A45}2tR(C3CV9VfJq4_jWn04*-F7$N0C3$r8bIzuBqBD
z(GYX9z2Rb-J20=vCK|62s7;~U3FU9*?t&p?3EM>I<>hIi1|n{a8o*XzDn++Z;q_$#
zFXX^cFrg3rj+RLD^Ya^|vUrIQAR~&7x@w6NcT3%lvLCbBDXwz!wi1^?dS7wCSL}~Q
zi9|9+W!bL8j4ug~shXT)nKS0qMIC<WI%VeO+<&Pre}p4qv6#uqQet%UaXXdWa~XWl
z5e~PG%5B>D$vboORpQ)4{v0<q-zRRCYXA`k$v&Y_*uoja$IBL}tU5sqpa`L(cTWkl
zJR>Kq&0)s*i5pzXI60`q?z(_cMni_F0b{%Z%=>J5t-~h}O`%ww1dKibl64C1KFSGc
zd_szC{VDc=-qToLmxI057_@dAT^(rhMI4G*e~sNzUW~25i0xve1`Kb|P)efOssu*c
zP%N^25&RCg%JxNKO<54;=Ov(0nTcUxp{ztAw#ns5D3`0bzAiq4nukO?WI8l6JtD&C
z;lsE%o6A=Yrs=@)btM_2AvREG8j!c~kc^ZHN)VJ6LeXOl7)v$Ksl5&6l3T!R;Sp`z
c{|~%>1DY1X!8ZuT`~Uy|07*qoM6N<$f?U*VxBvhE

diff --git a/interface/web/themes/default-304/icons/x16/drill_minus.png b/interface/web/themes/default-304/icons/x16/drill_minus.png
deleted file mode 100644
index dd63de2b44ffa4bafca4db0b96845f1b70588bc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 675
zcmV;U0$lxxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007NNkl<ZILnQb
zZ%7ki7{H&i&>~qm8LWhy!2-8CCfW%Rqd)9Zi`ti)kkd**CJ2qT78Frn9|n<q30i#%
zT2U@Bsfd+Q%2Mf8X&L?DLel=PAV%gb^67ccZPpsm3qS7ed7k(8-un+64hKk*1RTd@
z*-k{~E`j_HVuU{(fl?qrh0EpgQm4Kwfj|Ip+F6*Xt%%ANH65!^X3l{hL{Z$YC<?Z;
z?8Z<iq&*q<WWyi)NYvuj{wn;?Q-)KKCHOA7Tuq*a0Wh1*CWFDy2>^px-0nSy?{}aa
z0{l5*!PI~rlh=#z(>2KP@#<oA^7y;}bUGdU)^-x3<A*`Umm;PguRwKtDXL?|IQwW3
z&OYQY6$kZI7!<1U!$qq0l$3x(Plh#Pxzz@qo2?)>)pECKU3xxWG0fdNRfUuqB4U*D
z$9=SjOmMjX-9~`ECi)$lwlgPEG3yKtSx~PpOHkUvawGt_0C0vRay~46p2;MQ&gp3N
z7fh@}lgadq!cKt(XkAZlVJiOK+>H6Kcz8k3G7(<$7N6Qt5QNth?#Qj!F&gP873ag^
zXDb23N^J`DJkQJR?OwFoHzuiDS5831aG(JFy8y-x0VL?7ZZ)^kXf)no0;kjUjncgh
zJb>F;KycCoFmXh~Ljsuu^6);8?{?6(zSxX7V#D4>kfROY>2|~4t$slu<C|@W&o|AV
z#s{L-83(Ho<2;f;E+}9vbE%@iU=V%2z3BC}VNH!q5d?lxk{VHx0_;58&(;?a%Lv*S
zFcUVSjs#uo0A()N4T8<^VCEnV6A@yqHXu<<loI6`(W?KX{1*~1T|DS!GYtR$002ov
JPDHLkV1hZ0G~@sP

diff --git a/interface/web/themes/default-304/icons/x16/drill_pencil.png b/interface/web/themes/default-304/icons/x16/drill_pencil.png
deleted file mode 100644
index cc0448bb4aa186c15f7ddf1b7cb2ee9063f35de4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 737
zcmV<70v`Q|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00080Nkl<ZILnQb
zZAep57{{Me5e2bQSuCZPO9Q=I6K$cCXtETxuo2!#sbLB>K~UUMGEBiQi%9xV%r6lY
zelVABWXLS>C10w$O3TP%B5C$!L0HZi`SjfB#*z^o_;C;Cod1t|&+}Z+YPG=gJTS(5
zWD@q}CJ_FCgD@{O!WJMwgu!4iQK-X*#bQC6(FbQ*hv-W4EIA@v3pc<F8ja?R%jLp?
zf_$`Et=^{yzC7?3znt;-{XrytY6-#V#!dLazST2lgC2;Ej+RTM(mDX>_hB@iLi~6X
z1uNk1kyxDX3B|e2b@=5j`1#zv!83JnMF0|s1Omnh;?Y<&2>4cmOE0#eXKXWiMmOT(
z^Yys+jN$wscqSXbMQ6;x1m4kI1i4*>Amqif`*bfYU++klhpt2-Z4D3(+A|N9(Io~G
za2yBC8QbBpnn9t=TbWDq4sHPlVlgx{#7ReDJMsWX0Di&AV+^`)tss{58pkC~GS)i8
zSn6#a>SpXQ-_W@a<#PFJis@A{fWjo2HPwJW=p!pDE2=axu^MY@v7NC#5)_O#C}#0h
zGOARncN8n}zwTOr<0ebd>2xJ-w;R*L!|SgDq|+ztS1Of4aj^-LlT+p>Rv%O#hTCkc
z(>;3@6$(Xlno6>__c%bpF1AA^ll6)Mz25MXVr|(<03#P52n=66&w5%d%r<%s1ZO1(
z!{s3Kl~7sV96}sXV_Oag_H4*)Hm(ZRhA)(ZcD#lH?~fo(q^@-1Q;j!_{V|AxN+f~c
z6GR1uPa8qId#AT__KJ!MEGsKTlc@;f;?ypcN;$>zImq)Cu^*mz@4!|LRrq59FITaL
z83!SsmefQ73F^fLTK&Q95tX!Fwc1F-L?f|Bbf77d+4FSlFwMgVsxXBACt-g8C?A6n
TqV8@900000NkvXXu0mjfLk~=h

diff --git a/interface/web/themes/default-304/icons/x16/drill_plus.png b/interface/web/themes/default-304/icons/x16/drill_plus.png
deleted file mode 100644
index c9e751ca6a4e8b0ea6346e545ac54cb80f5b85b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 726
zcmV;{0xA88P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007=Nkl<ZILnQb
zeMnPL6u{538u`)E>0l|;j27tLm}m<kMk)T)qDJ&4q*BeWSwhmLK_LYG(V#TwgA^<f
z60(+<Si~|Z#WcDrwURz~CTdw}LJY+jc{=aSrx_Mq_;K%f=bj($o_8N)XJ>;T2*7ci
z!Y;x$+W_nz_zCw+J;VSBlI(W7i;9{RJRT3?h;3<xcOZ&cp&5UYI8_I3uvjdmq9~%%
zc>uj$uRKfOtF4Rp5lF}H50mjrV;m0Guf$Q`>d^QVXaj@6px0`(6#&q#;BXv7{Ja~P
z7w~6yDhAs$IDR(*$68>XuXmP*2G52CpjNBlx3Q0S+E)$?-&=6zWh{pJA~Dpf!s(u6
zIQ@ddU?+qIszIbZ?xh6scu)v=_X~jKr*o~;m&R|mwX;tyB_pLe2tVcAoh8)7d4Uie
z#;B47v;ms)>2=KVm#GZ;jZ@f>iW*H^fYPZ_js!HWY5;B|05oU;Zfe8x-Y8knluM5U
znTio#$^-^Bp<b_lLsd4D4xnJm-vksp&qPAY{&|7(b@lpB*l$IX$uvY&#S4dB5Y!M%
zo+&<ZJ`#FQ0a(__N7&5sJS!@4q1C!=oT{o83+mzlt|zcV6QwB4QmhC9Cjc_ma%*%t
z-6Kh0v)L!9swsyDa2O>)t)_+~OhOndL}i_IF{YISj0CLfIIzdX^jY6!B6gdRdc%A<
zkax==2`<O7%+WpgCmSxTn#7Mg5#MeP-^S+_xft715IcD!0SgN%)irQV%_R6CD=KR)
zFKVEytPD#^j-ks{h-qnN(PZKW1tAv&!6V&=XG#|$h-f$+)0_Cgh)^EgPjLn{u1dN<
zb3fQUg1P}G=PptgQBQ1?1RSA)qpDgsyrKt+RM#j@{7>S40SBXUH@gIU0ssI207*qo
IM6N<$g6xz&L;wH)

diff --git a/interface/web/themes/default-304/icons/x16/envelope.png b/interface/web/themes/default-304/icons/x16/envelope.png
deleted file mode 100644
index b13127e8695b0e3bc7ad10e7973b73d7fd79314c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 445
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU~KVpaSX9IJ+<eo7gM5yTYJ9V
z0_zt|yP6L8Zs{^}YMJ1b)-|(prlx41pl7a8Mqr1+LnTh{xA)z&Cr%I&bv-j-$@WS+
zgC7z}Sq~1Jv3_nDRM+X*%3!?0=PxsJnTv{N*RMrM%f34=y4Gm7iaq`%dr=+Rnypj1
z_hnV@I?&uN%YWym#Ed*G#j2i}E5bSdbNxFE5{#*q-0*$X?k}^-g462Xw5L?K{5V!$
z@nPfR#x?DX$DiNkD~&f}=~5Rv%PUv&rsBb&vkj}G?=A5w3|&z8^y-}l2aor$pNru+
zQ$OX}%2*DrE5@H^N!$Fm@$taQ$&C5WD_f)Z>l(dIt=xGKWS7bt9-VEU8ME%`aZH(P
z3{mKC=a|ES()WvhJ)PsAnRpRmVp15J(^+Z$(94^d{0k>PW8=3gvnj|)OIW+`nzrWb
z2BEnZAnIfeZxWd~WxL|@z8;7dSDZg^ZHG)|T5O2@_SZ~6ZGR6eDD>dd>pyjI|Ds=t
cZv=j@osZtUqg7N27%L16p00i_>zopr0AJtAB>(^b

diff --git a/interface/web/themes/default-304/icons/x16/envelope_arrow.png b/interface/web/themes/default-304/icons/x16/envelope_arrow.png
deleted file mode 100644
index 8024339503892d87b314adb2daed47080504f96c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 570
zcmV-A0>%A_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00063Nkl<ZILnpI
zQAkr^7{>9J@7zVuZFSK_-BwqI(nU~R)twX-Y(yABj=&NXrj{+&*`{Nz=_rddQ<A_H
z71j_WmL;*~W?HVfrkRWyI<|%xlJs<5ITRm<8Xfo@_`dUhI5cxrP|_z%8tZ>B@s3eK
zdubZ*?IBROU!2x)ukVQBUcs7{!YY0)4HU&4_xg_Loky^X`Gg-IhU>AG>HjPK&K>vq
zj%d;?m~CzGE<TSt5gk19+gSf8>CE4`<6hqp#aabx`SGO>s|&XzbI%$LcieHW?}#E!
z!PM1sH&*7ZOLA}AhCA-K*LOs(RKZ-|=Wk*;*(u3JU4}dExYu_?FYSW4S7xuF@ZKxQ
zgzbhq?zq=?L?N4C?aMPh<lnYQ(qosTv-)@xr|-q#@Kgmaw4Eob-9j|dESRq_?Ll_J
zA(;;~N@w%!D7w<XA>WHkX~(R2w_}oMxJfX7eySCV<Ci6=k$PDB9^t6}`MR>YJ1_-O
z@O}ccab(w(2{S!u5UeYw{UH->mL!5TC?8D1`4Om?0*=N0s7(MntfLWXIiXOXR_Wz9
zK2&W`>AHb^)`4{;=ekkan?iXM*lZb!Y&rYXOxm-l$D#!CF%{X@wtw1N(}SHMVEf7T
z+=l&iRU7x1cu(7^4=bG=6-uy}vg4HtTaVbkmK;3rfOkCp1)P7Ksn4f?0ssI207*qo
IM6N<$f=$;H(f|Me

diff --git a/interface/web/themes/default-304/icons/x16/envelope_exclamation.png b/interface/web/themes/default-304/icons/x16/envelope_exclamation.png
deleted file mode 100644
index 36a43a4909f5073de684a97cb49522fee50181ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 593
zcmV-X0<QguP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006QNkl<ZILnQb
zy=xRv6vcn@W|EzSNhTT1#(WS>vL+A_5gR*uwXv`e8$nCKN<qZZ%F5nW5L4LbU!Wi&
zCZMi_5LXcmK}~dbXE&S7z3*8h*|@8s4^D9p_uP99yz4FAF?b&5fieF7eRPg{0D%LX
zWB=5phqqAux77DpynE)xP8nDSfLSe-NG8Vrsb4F<$2!bTZL9@rF+m(to}0(2{uSl9
zd4f2`+Ln$$?Uu19>1REy@#@Lb*0yG|Nf?H$dT9IrQPPiE{8ohR0miA46b48N11-Vw
zQkmi6L|X)>irU=>EeBRJRI;|_zNG&*4&${ukevadSdq3~tGisK`kXW^5%(WOei>lY
zf?9m1g6)7vhE+kONh4ii^w4F}>H_MK+ty)3K@{IgMkhoBD;c%gTk?Ge$>n<pdna)b
z;|eHX#DZ9SD}r`FvJ90?DwWst77lan!UKAeDO@i_GwlL1?J%mKioaz$YlBEet+qsv
zPjFgcc6OFV`iWdTwnvl`nd~|U+#f!UWWw5yH{_EMmcPH?@uRDJ+gPBxFw`f)*(}2g
zUY0#(MhU;He8qO$!bY~jrq{swALw=!PMyBZyV5a;y<8=Xj?}B^adY#&#?=PV;NV^g
zg`^GZvdF-&N8YRub=9e_UMK3R6LqBwj>MB$#zhYpyK>UMR@_Ii^Kil;H)BHA)5$y7
faK?Skb@S{e+TmO|+H;j(00000NkvXXu0mjfl3N%?

diff --git a/interface/web/themes/default-304/icons/x16/envelope_minus.png b/interface/web/themes/default-304/icons/x16/envelope_minus.png
deleted file mode 100644
index 34003fb51e17ea6139debdb28a131f4ae4bdb06a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 498
zcmV<O0S*3%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005GNkl<ZILnQb
zziSjh6vsb1JAo?#>#bZs37Q14@DH%Cvayy}308_W{tJ>y@&|}up`s*UYYH3f0!q3|
zLLdf0*c_tg>5*_T3m)#gHx_rhW^W_Oz!dL0@4fka=SQ&p#1I7B0WNU*@x^=I09X%r
z&&A94m*x>Uxik#femVOn53PCt%--fE@yzsz_4~;#>M?n2R6!MEqljd64HfzCOjg&h
zQG{wyhZP-wjmLF<r-y8O{8a4L@As+IYDIi*dW!M5jwoSaVc5WU5#osk@kFC2XzwJP
zzcf>_;6)JqXQ3ca$q<*7lF!8TiiQcw1TJsj1a+>It5Veh6XK4s5PET_l#`vy7#q=y
zgd+r!6J+QJu5+%UsWCViG)R~IQ40<k!F5?y(ag}ouLV!P<*||zh(jf-SWwB>nt#XP
z*0;eK1ctP&x24B556zsw`r%_K6F5|a_UEtMyn5s4QUho#EG}Z3Nx+p!YCk*ON&|rX
zZVxwgmgg()hXes>_s8C!9xV&a0Ek{c3}4MYczmmJ=g0jeJI2zBxwm(p$-V1vV1a18
o#rO2-+=tWt<(&>4AX<ilznU5ZT62GNp#T5?07*qoM6N<$f)2dr(*OVf

diff --git a/interface/web/themes/default-304/icons/x16/envelope_pencil.png b/interface/web/themes/default-304/icons/x16/envelope_pencil.png
deleted file mode 100644
index 8057d8d35b7f54c67a21e1c8af2f270f62142a15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 603
zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006aNkl<ZILnog
z-Ahwp7{H(N9J=T#*hLpYffm(O|3DCR;V!x>x)7uftth+^VhsEsx0E$)EjJw%nHGLU
zx?&fJ8Dg^>bIp&+wE3}RVL5a-#_}LZPw#U$NN*#g1Hbd}yuaUjI0t4u2y<R67F7HP
z#oRFv6DL6>{Rj|co^Fru*f%<WnMP!)S0fJkwc5Qc?6Gfj03Y4RTuaA%G(TXa&1A<v
z;dS=dH#&g#E@bSRD_!(`%t_<DSGEXsoR^+?ojvxA4q&1IncAPr?X>arfka}cDrd$X
z``ks%VuPp?8OO#_E3GH)O02ze<;>V)e|{grsG<Ob9mv#ci}xuz*DR45ug{sW7cJe<
z9#@oSAw@X`BX!8Q*5h|5^QloH8L7*e#Ur=KcQXGC*=!V0lpqA{$lT7(dMQ11Q(`G(
zlb*kX%gEnqAx+cBoR{Zr12Ds24Km)$w3||sHzXE=Ra^I;M=sOw<3pr<tDrN5yTc}v
z>2M2(W1t!tU;0A>t&CllSQxbG*TnDz3U(jV<KCwI)MdrM#loG?b5#7qzDi{7t%<iJ
zBQ+AS{;Ra`szk&G^!SM<pQc}2BKD0ApteW_zeRn-^33yciAn!Cdik(Gk2_s^=ym5Q
zeN*<iD>{Pw5wNSRO!cQH9F%%%ml$d}PLz#NkEej9`bzW}d+c)u#<92jgxcIxs`mel
pSR>16Ty~ySNB^7)-^U%tzX9}1jGE6yH;(`S002ovPDHLkV1hC%ALIZ4

diff --git a/interface/web/themes/default-304/icons/x16/envelope_plus.png b/interface/web/themes/default-304/icons/x16/envelope_plus.png
deleted file mode 100644
index 1062723164bfafc24d712de8d1ab4bec9f05fdf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 540
zcmV+%0^|LOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005wNkl<ZILnQb
zL2DC16vux%yVV?G*DNMMDQb%-ZN2&dv|vG`;MuDuPlDd02M>M#@!&-f1gRI5f)@+w
zq2kFjjSz$)u_!cYn}$ZCiP?EG9-3X*M2QdP@cz8_=J)5#IBRzlj>Bc(DE}W{tmQF)
zX8~(DcJj*e+lUNrbzRo(U%DBkp0NO^opPCAVti<Sqw*PJQBkgp0b@{}?^9VRVnqIV
zDl0`i-^ZA^4^PY<SUSkiZhhy&^4s{fPNzdEm5TGj<Htz{8N}em7J37e6(PuF33A!E
zVdGPUBPS*j7OV(j{#b|!jD&~|6U7IE%z%b+k_0*$par9KqSnZu<|r5a7YnWxjge%r
z)*&N(ni98<Kq7(=(}%0IPH5MvOO!gB1o;EAQ|<6ZOA;0|(ub?VFrgK{ZE)u71zs#Z
z$Sse$bOk(#2t;Ef9I#*{<oefFl-ipBG^Gh$<8(ds9!nu2@NDm~BndP|gwk%6VD>Zs
zbzNt2?p$^fvTvTf#w%1Drp8EZ)wTx)05rCDIVC>jr^UT3%#BfBSly|)&N>bSZ~lq+
z53joEeE!hj&U<k$cM*V@caPYT2KJ|Mx%Fd)^ZT0~;IFPzZQY%JIqV~i>{HYFBcox>
emH?lnU(Mf!F&9r30v#Iw0000<MNUMnLSTY)>+_BP

diff --git a/interface/web/themes/default-304/icons/x16/equalizer.png b/interface/web/themes/default-304/icons/x16/equalizer.png
deleted file mode 100644
index bc17e8339c389941615eef01bd914f43dc4c61c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 425
zcmV;a0apHrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004SNkl<ZILoDz
zO=`kW6ouoo3vke3H{vb=rivhvid2FHJLsT;7IY?5L{Usc<G&~<7{!2sx`a+0bS0<n
zTso)&MKSR4ZZ7XT?<Yh9pxuIYbAWmt6o%sIN{l~Od+hi7-~0U@yWQ?0IF}Ax20U-K
zTP&AL=(>(`wUS_(CdT8jywhcXwO+3=pU)8vhq2jg(Cv1SOeQfJjgI=|av6uiK}I@s
z8St`NtuUQV5sgOS`#wsgl1$|2x-L?wl&oH>)nFI~8jS|%&}G1@=XtWNcs!29Vu4Df
zf=DESdcBTfu_$32|IeXAmjQ3H*$lRA!?G;2S}hC)133cw+(j%FL$z8x>Jz#Qc%Mur
zC=?2^630%bgLFC#_D|J>E(1P?!=Z?YL_)UOY&Ma}WWfHZn$TrHo)_de4zk&-e1S`9
zI&`%_An=jP<$l`jwtTi;uO~NuuBJ?fE(1b}FNJ$0bV5ABog%2XzmlN1xBiX4-itXg
TQX}Xh00000NkvXXu0mjfM8v%d

diff --git a/interface/web/themes/default-304/icons/x16/equalizer_arrow.png b/interface/web/themes/default-304/icons/x16/equalizer_arrow.png
deleted file mode 100644
index 2919dfd0826e2172427d018a6ad7d4f5113397dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmV-D0>b@?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00066Nkl<ZI8UXK
z&5IIY9LGnZpf{p}9Xds)g6>^<xwR3*t{ntN#SpVW6fts%4jtC8E?G^YjE%}TzKqHU
z3cjG>u<E6Vt=Kw5OjNKzhy5GA&F`VerKnwc;LGp#e0e_K=Zyov{f~Y#b}AajE%BDF
z?@+`L%egg8dpn!WFr7}fC0a`iu@n%VOePo%25>r^_*-v52nK`Db)C(LrGV&oJVv+M
zh0EoFVHl`Zs}KYM&1Q3ppUGrknkK8n5K93!hQlG+?KZq#FGiyg(&;o?NL5u;ghC;<
zdoGs)&+{l2iy($r3Rv#-dhA$!zaRa6AK7dc9*+mIEJGAU7Djb`4Kc)0!0k?_gM2=Z
zXf%pasf2pH&aOZ{ox<nyL6W2`K8aWgxYKI2kV>W4PE;$E3L=pR$e-^8Wepe8uW`4!
z%I3sUK%&uTFfb4Zu%jx9f><mD^5^@@*>y-8z@qdHE2=>O2@1GJ4^$`=5Rb>%56t)O
zhtF^(VPN6GbDRikaO)->eE}9yFJM1=wZqwLwv}Wu`MF#!vu~@_YV75I_LsDexc>?8
zuLI6kzjX6Ga4f8UrGWF69$QlXq{A1MKiJ*!CTZ`LC!41g6OJ{&?k#>hbWXTMSJ-Fi
zh^3?d(m`H*b7~c!dcYxG`@wE+>^ix~?QzJ`?xm+Mt?JpoBr^XyS>h*tj)@<+00000
LNkvXXu0mjfdol*j

diff --git a/interface/web/themes/default-304/icons/x16/equalizer_exclamation.png b/interface/web/themes/default-304/icons/x16/equalizer_exclamation.png
deleted file mode 100644
index 46b11ab46a352867a69c2d27d4c3c510dd524380..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 610
zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006hNkl<ZILoEe
z&r4KM6u|NCeLp5AotpO;$Kj=A8X1g*KR~NZo1jH4qLo35R*4%I$si&!E15-`!2W>1
zjbzZKXw^O#aHqLRC}yO~jBjRWCepd@-4^A5noxK)_uLEj!#S68h1Qyrguw|z0DZu9
zAoibkzXKmF;Ks_z%3ODMclux35kgQX6xJsuCUOSgc%GN8*Xt}TEupoh(P;cNFBXd|
zFE1md#Phr~;240Zlp+WMOw%L?0({@cbzP*CN6u$wXOU8(lmakYfKm#}vQSFl`#zaW
z1}P=J@8dWQQc5h#Vqsx{Xf%2Nu=WAlwoyu9nkLz7mbSJwDwPT|Gc)|Gyyi;RONIst
zq*AGUz-j^2YL!?lMyXW7bzM3-I!Gpy7>2>(VwPmQ$l&-Bdb&!e=8vO5tyW`tdYW>%
ze4rY~akzY;N^k!)&cxd3?H@!m^9KO?&xTws*LsKjH3;_T>HI?K+yD<BzoM`IDyPCc
zO6>vI24IC@NIV|LaU2qf1VIqA09$Y1d0m*=XLWUzaBrJvR1;z2cLhR-=GNBM*GMG7
z*w`3C2yEMK<?Y5A=PzAkyOQVK+YII1O-?5ab}R4erXiXZ@L_&_{w&}gp16@TolmFS
zQPb9mh^le--ZMV0k3viks?GYXaSE2!IuCpTti!<6Bk_D>I4+{bH?Tt*J9E@`-T*K(
w9JeRK#!YeDyg#@D_iyte3>i80D;uo+0$n@`?!}Ex(*OVf07*qoM6N<$f@j7T*8l(j

diff --git a/interface/web/themes/default-304/icons/x16/equalizer_minus.png b/interface/web/themes/default-304/icons/x16/equalizer_minus.png
deleted file mode 100644
index 9e862afe46ab431887a39ea8714c66e428e76b58..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 471
zcmV;|0Vw{7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004=Nkl<ZILoDz
zOG`pQ7>4I;`vD@Y!av|o=vO3o@&Y0zl9_=mTC^z8osfy5c)|M(1qClCD5(23?ZQQy
zphfGJZ}Sc<v@jA6Jj{1K=6Pq%nR5gHu@7SJ0C|}ty5wv}^lw+3*6a1><#LI|V(~9H
zmkwP9oX_WTj7B3^EEfD#O9>v22kmxS-P2`2U^<<m-|xd}wPH4#p<1oN>-D15YHjor
zi3C=wl^W^LWx&;VJVv+Mh23t)WHLcK9#<1NmP#e~d_J{$I-Q2D>&WNxphK4d*Mq@8
zZOi3yVK^KjnM}fFvmukoAQp?MFpleU=+I@rO|REOHk(Bt5J0h5M5EDAkH9{6;dDBY
zN~JdXgf0VaJDm=q(WqL9W2I7o-|q+e+iF6W0r$;jQ;BZ3TWz&aC?FUNg8gkZq04{>
zUr;WWLnstdC-Ad=G@DU3nNU4CLe^+hHIYZ~Bs5LC3x~t6<#JgaTdh`8Z+^Yb$jP4$
z$1fs6yfNTd@*pW~<3!V5E`<14=TeAw`589&2nP~_<Zwp}%H8*G`~v^AIKJYxqTT=i
N002ovPDHLkV1hnc)Sv(W

diff --git a/interface/web/themes/default-304/icons/x16/equalizer_pencil.png b/interface/web/themes/default-304/icons/x16/equalizer_pencil.png
deleted file mode 100644
index 88d6a9937e4e9d21c55db6ae9ee854aa6c6eb6f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmV-H0>1r;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ANkl<ZILoDx
zO^Z@d7{~9~_5lWJ6SZg&1Vy_BW>&3(1_W=ufTLcKM2xYTF>FY%7LB2Zj(5Du_5CFs
z6nsHRL+t|uZCXgQDEa__%YWxNj4&fH6m#Iu^W5h?zyCSsIT8TrB9bm_z}IyynM?Uk
z$tSGzs8XqXnayUHPN)AQ>LrF)GI%_hOwjN5VK5kQUd|ynolZ0w4e?DZ8F)vd5jvd?
zj7B5I<1tF55?n49>h=1WdLog)d_EVE7-Grb$zU)*tJQ+pY{qanL_8iBjTH0wJlt-#
z*j-gs$g+%VHVa~iC4;BkZdV-3X0xH!>miv;!elZbolYYbiwQG|%bt%s|Gd7A`-~lu
z!Ct%FhNfxodcDZya;R3T;tEu!Q&_E5q*5tScQ_nK?d$;i`%oGCMh3xVvx!I~B6gx!
zEEeJMctG{jd94tH#bUu?u|R;&<(?$zWDu&=Y67&|?c%7quEXc^f$GcrxEjLyquW^g
z+=Zejh(@C{gAf_KrU7L#8TkEv@dB%P_@xnz^c?{oytoQA5fDQqR$`333Wvkr3x$Gs
zwsN^FCcn(fdH~1TT>&4yxrw|M6fiNwlEEfdlq<igYnNH;?Q`~n;5~)?x^;tnIQ5^H
zO}fG*t~IVJs|szi1N{Dqcf0J<_LlT;<^S3Vd+vhk0joc=vJLyz-y8k_V4@ggVzF6$
P00000NkvXXu0mjf++hxt

diff --git a/interface/web/themes/default-304/icons/x16/equalizer_plus.png b/interface/web/themes/default-304/icons/x16/equalizer_plus.png
deleted file mode 100644
index 5138e71afd403d3d9f9460f3ff9a7a3203ad1061..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZI8UXK
z%Zrjx7{-rKElgU@VphYqXj9BcyMl;_)=`k4DT0ZaBw}DtK}3<QMo2_a{B*qEP*CuK
zf`YmXB4`&9wJ0L$UwHbSmljS#HA4p;-V5jVocElg0I2`bfyPnAr5SP<x^qO4A**iH
z>-Bfb<r0g<;!xsVGGu9RZ$6)6G#bHXv*B;K0m0|<q1|pvO_m0s>2!*IzYn|Jj@fL6
zYPAZ#-;Y+SwXdH{Cb3$rB$6RZgZtz07~O6cE|&|F$pnc+LN+p%N+kpW0XaRB$-v=o
zAfL~J3|SgH7z_q7mdE44a5zLNm4eghL^hj6JRTP_#`Qg9$kO0Zuh)aF>j;HHC>D!o
zG#YXR_Bn;y?M6DC-q)wd(%?y_(?Kj2lam-Ll?sBvAlP5euhg$$LqCnH&FfN=rNQ%N
zvnin0>y=Rpg#yCiFxX$uw@Oxce?*{F&Ph#{1~2(Qxm*sBNJM_%_k3sf0<^ppTlzL`
ze)CDL?OCDxmN&{|GChk%qaVxVvV2>uR+E=s&$Y}BE`PakK<dS*&osDX=#`<;ALTT^
zR}U@Usk5IhLh{F!uj;nB!7G>zZ5Z18r=FgCyZPY^7=JNj54p}CQ!02Ot?nLwEs?dc
Zega(?4>*yC6rBJ7002ovPDHLkV1h{#_s;+T

diff --git a/interface/web/themes/default-304/icons/x16/eraser.png b/interface/web/themes/default-304/icons/x16/eraser.png
deleted file mode 100644
index 9ffba3dd4b36701d68cf33badcf5f233f1fc7617..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 638
zcmV-^0)hRBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006-Nkl<ZILm#L
zO^8xa6vxjsKhTBvK}!R}pq<N?8{JHzGYiR;*eZmP(x6}@gs>VH3E@Btgs;sIv<L>O
z!Dgny##NDv2)9G{)h-C1i1Pe+?{@CRCo?J?_;cZUf4_6zy;lNQE|&`efdF_s9xxh>
zU@#cq%7d4n!`}!-2SlI%YXFqsSeXKRSAfD4L!!|rxZQ3JnoOouf@?UetslM46GEUI
zzWGQ+2@1Y(K{}nDgDV6+?09{n{OXA$Nw^gqI2;am7mjb^{AUz={hz>xor4<(dyl)_
zE)ay-4m8PrIR2CZJzgo$>-An$RfYRkeWHXg%wSC-bvj&fd^`JWNr2rsoXKQFMNy#t
z<`V}sNf%+=Y!@HyWOvR9FdWWiv*L6*1+9kr6)yRE20py|@Hw8t!Catq&gF9AWHN!p
z`n|KqVW-mxNB45O2*1aDop6EHIiJsqqtR#y?#wznPkzG3t?d^GzeV^9zvfgb#o<Ds
zAj-151h?C54%=)th{xl}TR;9Zbd*#s@CSy1L?W?SEEdJ#aJU4wTCF)8iA0ikF14+e
zQbz&&0vS%J3?vqdZI((UvET2XgPYCf91aG99JW|2^&1@-4ynXpRwNV(c?W}mP%f9n
zUa!X|8;u6PGP~Ule!oA7*I7eZeLNn+;%5@p!D_X7ae+{+Rz>#ev=Rg%iRV+Jl-6;C
zRmJ{ncFaYy*?bwhUSe0s7PBCD$~J^y_d1@9EbNge7?lak7z@UPp=Y9Mi)N#;Fvr*Y
Y1G*I&-ZiG_+5i9m07*qoM6N<$g5midy8r+H

diff --git a/interface/web/themes/default-304/icons/x16/eraser_arrow.png b/interface/web/themes/default-304/icons/x16/eraser_arrow.png
deleted file mode 100644
index 7479dc31ff2fc1cf8cc2669932a1e18005dd13dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmV;~0w(>5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007@Nkl<ZILm#L
zU1(Ba7{{Mirq01kCq=}XBxDhb#blghHyK;F7OgG<+3qGdmPQ4Q5W-3?62dVFVy8u`
zVHAvV!`k{-^J0D7*e;@o!KSXOE<(lWoYQl9&Wp!vj$Zila^A!5_dMr3=MX3@tyT*r
zlL_>CJxHZe*njmNNbsCsBtRG*paXy>xX%>;J{N(90){j;HbQ%QJLq&ekjv#DlgYLU
zj^fsFawgy*gg~gP?>dJP6nvxthr>|@w-FezVrO^g(amHsiLFSWp`ihSUA=BRe}jS#
z{}ULo@`>*0@f(Rm0tmuF2cl%MtM?WU{Oq=Znwpvxj^mii2aRkJVJN|(B)PguC9{Lh
z+f@RrPT`@UA+}g7Li*`z3W|~h!je)KFU~uM{}Es)>~uQWLZKiI2(puNRPwt5etF@V
zAK$}tSs+$+xm@h#<|b@iKZnODtkGy-=923U!c*ASJQawQJsuCcv9VDFua+un<`?1B
z7580)pCkN^j@fRvQ`qbEvbkKY3XaF)6jrHJ&_D5QLAI-TcfPjHozLY0*>oC+)oQi*
zd_Fdt%~rv&SgZ{9^z;m<2B$CfpF419JQ$1cJU_C&wiX~3i^VoNI?ATeR=J|lD21QJ
zmGJgQA}*0CGRw=c^)sgphPE~xJb3&y!gJgRF`LaTnM{TWg+gp9m7?&<$_gEsTCE2A
zVr}ZwG5wAu^soIL3^dgN1RuVS5TQM#QrUvlm~c4E3SXVL7={_BH@iAzdt3Jj*Xc|K
znvWX{dk*X1)BTwUj&?-&+0>Yw3WY+4Rhxtn;!CB$=UfsR!U%KC*Y^eHw6?w@@v$dg
zxL@D>BpIC$1PTl`1ab^t5&Y?(Sg{vnXUF_J53K|^e|~BpAl&-{R_!YXDhFHo00000
LNkvXXu0mjf@N-d_

diff --git a/interface/web/themes/default-304/icons/x16/eraser_exclamation.png b/interface/web/themes/default-304/icons/x16/eraser_exclamation.png
deleted file mode 100644
index 51bafd9b4c9869ff55469b70a4aa7bb86a9c4f16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 735
zcmV<50wDc~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007}Nkl<ZILm#L
zT}YEr7{`C-v^6K2Gd22PB+c@oh%BlVBSNwdvw=ljL^nYfRyPR}5up@9N<k1^#3G8K
zx=1L>N}?zTibWvQ)dI~%^g--hqnvwR_nvdQ(8SXE!vhZ-e*gc&!+8Ybs;;i4zP_H?
z+FHC`FN=>}L;?bkh^T=EFv7qS7m^Bti@_5Phl#~vL?RJ<J|EL)t;RHLdw9K52tjY-
zUI|FxC4g*hZYCTK^AD}lu(`4KYUg*$BAd+;@4InQW3~V>#-08PZ@YWtWY)4U#(>sj
zvsrfZ-Rw}%1gxLdz!<YUb!z{z#@m-pWHT9zF&M2UOy2kRv+2UAV+!JOI@ocXXlrY0
z!rinAqcx1fMr*90p|Rc=T+9slH*DK>w5_czF*-VmQi{^u4HG7raX1tTaqrNva|-Tz
zCc}k7A==T=k#HR6kEwh+>-li)AS_H#rq<BA|M7VP_ar=%lat%q+Y`2Jqm=rihTf+z
z%WM{HJj};0H{Z!wst<Sy;Q5{0-QArS85x<f&~!SDaFSHbuEt*;U|uY$OO`zK7&G=R
zZQG7^b#*23`TUgR!NEbaDk6(736{?*?AdpVIW_C&YbBbMi$}R2^Z7i$6nJ1@0IfAX
znc_!oV8|<m{XIQB6o$WsW|l5o;wm;2U68q4?o~V<ZwUs2Xsyv&Pr$)ofESMrJP+3_
zt@`}^H4p9|A>*X*R?J=Oy6i3%5i*%fzDcLkuj=aRTC~<!mPIHOqO7cp!!4^%FRCf8
z@RocI&XgINwx6NY^OHcpsq~fvmb)%%1uzSk?f3g5LWl*$VsT=Uv&Y%BwJEZ)qRLl^
z(F7`YFl^lcAZHDKOTGQnD*!)G3itpssr2P8It{E4V(hChcHRbo5rCBR{{rh>dit4u
R(F_0p002ovPDHLkV1h=DTzUWi

diff --git a/interface/web/themes/default-304/icons/x16/eraser_minus.png b/interface/web/themes/default-304/icons/x16/eraser_minus.png
deleted file mode 100644
index b4fbf24f596a2b628539cb506532b9ffe56d2b9f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 659
zcmV;E0&M+>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00077Nkl<ZILm#K
zO^8xa6vxjMKX4Y}2kk^bNTQ94U|u3f!W7yp+=?+&NF$9#1xW~l)woCq2O<bxn_-5a
zV4xbTnF<>hQ8WvQwk`Z>5d@{qLr2s1Zs*<c$&3zN_;cXC`}_aTz2^}aF1y_hKA#Vq
zPA6zI8aRIY38-+Npj1FO3NQme3D&{@;EM<p1}I{+TEXM-fWzScolXZ@t#;htG?tn3
zn@`h(5Xc8E+>y`(4L&o2csxD=k1%j!;@R2!>b+*OiLI!>Y&OHoKzIrF-=o2&{~5S3
z`P}Tr%H2kz0R&;W1I1)L5WY`=ZXIc$R;yi-Byl%SxcMf+FoYG8X1&f#wyq{0Oc-D~
zgA<7aFNz`v&)+dnF=-&I8g}t|A-R0W0L9>BGRY4H17$$aSuZe?-v{6~*A^e*J8X;$
zl;l(@#rOMt7+*h@R~T%uSYY!;>Jh@Pu&-@qpd_c$X};I%O~CbGvSs@#yuG#b7~vNP
ze_&&d#bON3WHNlW+ns=GwHkwsMk9p7;ppYkud<f*3R4uvO80<7B9ZxQHp_Q9oe8*F
zt&ZSeFc`H7!p^0if4*txevl}45DJCnbGaNZ2*M$_QmKsKXVcRko!zcQD@l6?&)`)`
z#P9dJ+U+)%&*%A8tHnN)%Vjn)lgR{LuQ!_B-MxNgZtmoGhpTIAB_byn3<ejbam8Yh
zm;X9taU2)L_u089iVHS?Q{x6|xdW^w)G@tY@4!@>JVJz+D5c-!hEVcc{|>7x`6m(2
t07$Zd9yNv1?O$soY4}b`70342nSXWR5efvLt<V4f002ovPDHLkV1mfoEb{;W

diff --git a/interface/web/themes/default-304/icons/x16/eraser_pencil.png b/interface/web/themes/default-304/icons/x16/eraser_pencil.png
deleted file mode 100644
index 0c18f9d72df358b7bc72b0931d89aa5c2e21ffc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 779
zcmV+m1N8ifP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008gNkl<ZILmF5
zZAep57{{M8(X|=sCP9c4n4cCkDq;yT6l_c-N9;pueXtrh%}EnQ5^|P<9EL&#;V`fu
z@I$X-Iae)*VCukTBO>r+FGgPi*<@|({r23`Hf(j^&jaV4-|sy4o^#0(Aq@ust~*7d
zF}p~#+|l+N*b!;31rAn%;Q)~^08Ic4!Rkl>tfYZ~6oyy`S!f#`mg?<x!;k9f8Li^Q
zW`W=gmZlclQzIb+tj(8(Gblm95*17X$Y!dl<d&_iUZqmmqgTy+!F3B+K^^XRw$=LN
zb|@6WRyZIO3gK0=dIaa+q2MEVg!%!Y@OVW<h2rbtg^{-wlZ{^rW6{gC34A1LwM^d%
z27^ElW;@79o;9mS8DQq9ps&0fq^IJI^7{DD)y^A@Hp~6Roy0j;`{Ay>5W<j!bCS^Z
zHkHhE4c^TQ>QBT$dNS5jx_{ptO=s_ExBD~H9P0(*_(j2-B#1C4+r^t}gA+uj(*c*u
zg_4pIHsYd$`|{BvVSP(W9jvadL9KWcB|a+I*#pn^+`Nb1!IBpg7Z-~&nT*6>Fqi`y
z4*0e@0m_S0u<-sdh#Lmr`@}SbD=RC(rZ+r5_%-%5PX+AGENnCy&GC4g-h;r#3M@OO
zKsRIox7+;(o?iod|HwmxUn2a09&>khH-$|mlQ|ZPLE#7l0u;tm0<~JLz4Ga&m%|W8
z5xrn2&}cLr<KyGzXf*l{?DzZgutK5Grcx<azd!9k0c=7H)|nU(l}gnyIXP(#hr@rt
zKA$fS%VaVN^Z9(w`Ry3YG9e1HgUID_aU>FvSgls`?(Qy~^m@JY$OHlbNTpJ3I-Pc*
z%#%nYpzt*byF*!7nHU#HoKB~iy>+=Ekw~=oeOwH~c(B6%2K%!KFb8-%UJdSgD49$G
zyO<4v>uf`qBqouqZ19JKG$z9eco;s0i(&R8lUtOn>4G`B<~PDHN8ZyHM$-TQ002ov
JPDHLkV1f*%W)c7Z

diff --git a/interface/web/themes/default-304/icons/x16/eraser_plus.png b/interface/web/themes/default-304/icons/x16/eraser_plus.png
deleted file mode 100644
index e7b3f1c5e1ecfaf21bb1edfbdb99916d138a3ffd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILm#L
zUr19?9LIlWxvfQr+XzCW!6FF>7FpfKV5F#MLVM}YFo;NS<rWqsHHg*RLqaHs5Z(xe
z)I+$iY^4>;JxEdyD}tU1Hn*U++H7r3ckey@?rC@FCLQ>3;Ou@r-`~#fUIL|MGMS*I
zr3D%r8$qpB!=7vRK!xW7O9h0Z0Br!2;2seG-ibg#z#<I|4Pdj`z-%^yR;vY#MpG#`
zf?M0M*@po_2!y-N+>}s)f<-3qcsylr6M+>I+q=V){!Au=t*F3YFu;?po*_Jcje@uT
z6Ie01qkATJE1gaQL0IlUk%YQ>Zd0Ihn+j@bYAli@aaZ<Q`3%BPf)z<7m12^)i{3j`
z0!(M{;NT!HiXvnmy<(suNh7Q(b@9C4JGw!D#bB@3%L{^_3<&a}2$TF+2fw&<V+`+M
zrYumBeLf#wEEb`1eH#rj*l0Au>}B6L!cVcUc_vVj1Azd)y1H5gr%K7j`H%4O>d;+;
zrxAX`#_V>x89Y2Z%ohrUDma-;GPtg;4!EiIg?xQ(=ZcO-fl?RbBp|)Ly?rAiBYZxe
zuY#ABmddch;c$Ju{&V2G<6P7I*<cJrdJqJBk(^Fv-^9cOpUq}Bz==en3?H6sT`24p
zjFK8wP98te9D4RR#vY;&Bb}X{mRv5!g~MTfd3l+g$K!D}GQD08cDvp6%TET5o^EZb
z>@Ye#A0u)?ZEdXu)3|6f%FAz^vN(=&;r+Z9U0eIXyro$_+jq*+{CVor-wp_NfSVp`
zhfb$6W9lw>gb1;slzx#L!jk8@2LA1l`m?6}-ybADfbaJq=+H{CK!>#rOUwS%zrv3W
r#C5v}9?ckD+yPLN7>uu7kbnCF8A}~g;6sy^00000NkvXXu0mjf)lfv-

diff --git a/interface/web/themes/default-304/icons/x16/exclamation.png b/interface/web/themes/default-304/icons/x16/exclamation.png
deleted file mode 100644
index f37eb958203d45839b176190b2c07d1178704421..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 559
zcmV+~0?_@5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005@Nkl<ZILoEd
z-%C?r7zgm@8AaudR6;AXZZZ&|(M3pv)Qx!KpAfXD8{u3O#FXeNs4fcXN{JfyqqNeR
zwZeH8t<|t}67P<);f^{acW`XBVma8DJe}v@87FlSb@74sJn#4WzVF2WB7*+`Q(mm3
zS~s+=x>D{>2V6+T&I-osiU&--z)iw0u}+Nb@sw7F3#HYk1>xK6;n`MM_~gM&CPwf|
zYW|{HT)9of%q?10C6#AeWnugo{^sLzbO`?;x%k7q=5o1+6|!AxLavi}Z(|-l455`R
zG>muCiOythse>d*GUUFxD5XkC-s6n51Hs2w_WlXBMBX%pelFjn?}>JDI-Ley=aN@R
z$n_!4SUd3c5t?=d25o)mL`OEe(5~NjjvNjL+3j|UhFfWRvX!D!ZCTE6*6hJpFB<&)
zct!~{iIv4mG&j>mO60Wumw+K6P8p&~3yqH+6r44C;OjwF<A1ortEuPn@n|!}rcW3$
zscQ!Fo6USao|pT#dAY+~c;!ZT?Z(R@a5TO+dy*Eu94j+lV4bnByg$wz?!w4DJnZY+
z8PwuUC2h8mtjq&8&X-~hrP1E)LGHr99dIk}YPHOK1EuGV=<3Vz-#QJ}nMn!k)3^%{
xZb0|_>oD;zxU0VqY`QAlUfqGeRI}c({Q_>>24w<5P~HFl002ovPDHLkV1h|66Z-%F

diff --git a/interface/web/themes/default-304/icons/x16/exclamation_frame.png b/interface/web/themes/default-304/icons/x16/exclamation_frame.png
deleted file mode 100644
index db1b763d86d274a15931ee8f9953d30c59bed2aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZILl-B
z|NlP&C76MQg#{Pp0pczw=E0>7p8<gl4XJw@>QncE*rXaDE-NcO@$<WN-#@=w^IcX(
zY$8aE6a!M`&MrIq>ut~fUvIkq&z)6x79>Wj0qTZ^Dhs~9oBOA%tn5Dse|t0SkD-Cm
z0+1Yr0nE(I$e0O;E4OW|zVrD>`Tv}p95DX;xa|LywfT2Ia!@sJJ?I8ld${Ru`0}Ft
z|A+gT{}U1tz!=2-^t9%`yR*gykQ!VDaImtn^qe_T`Re_>%>OTMC;r#h*Z(geA@Tpp
zY4`t^Pr3i!y21Aq(Ahm8wb%>@Oi8dh`1WDp|2tQG{$IN208AweV0`g{Js4lP<oZ7%
zT;U){ExG|h{QO)CuAWW#a_fri|Ld16!T8O~CNPHaLHNi4(=U8{Yzshozy>feF@bPK
zWvRi1hc~VN-@9fA$1oQli-B-Sfz$<%9*|y;W<?oku8sGvnE!ruQ~N(Mh8ch^e)pp0
zZy9O!jUc@YjEsy^r*z3ad~;Xx|LZ$yK&%SK-`-V#F|rs8Pwtd>2+|9*fMEuZaRi8W
z15E@)(-I(_1q^La^6dfQZXoUhicJOL`9L+RfOsoV{Q;ofX&?iD9%0}DVqqYbA`**0
b^)LYd`ng3C8}oH{00000NkvXXu0mjfgoXed

diff --git a/interface/web/themes/default-304/icons/x16/exclamation_shield.png b/interface/web/themes/default-304/icons/x16/exclamation_shield.png
deleted file mode 100644
index f5fb107ee5ae5a705f8b118c6e71248dab8e452b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007jNkl<ZILmF0
zT}V@57{}jN!kZ?<3fskmcA;3JSYAXCHHspNF6y!iVO=as2)dZnBFN|iiiDM@DT-wu
z&T8cjvj_wUWx55Mb6eXva|*M~ZMsc#elYUseNH=vB^~&&=Y5|4|HlXbkcrP!Wc<_L
zU#FFl9~{*%dh=*-SC~PtOSTFS#~|Io3hl|+TYPf%CXX}QDW&`W1Rabfc2qMe*lddU
z>fM{!xA1%AHO%>SQ*76UH_WivfE`(2x6t=X@z#WcQ&^o`2^S4E26D?UVLf)6VT9aL
z7sU9hypvOK4(oPndagNv9a%8;ftoj#-{m&aov@znfVIR!SczN*gTWwz^J@GatSz)K
zo-#~1))|lm-v?;la=c|VGt&r#==FM$t@}*GxQZQFFw#%kQ<1xw)U+NX;(`upYimKJ
zQi0cb8axvxMQ{#zE~Z(hO%@Elp%0?LYthv7Wk`f{z<bYu+kKo}iHOUk{fEhk6TevJ
zzAX6mie3rW&jzAGJ@`Gxz&m+FL=s4E#OKk1V|ZVHbsA*B*Iud}weGRc2<IU<bx>w8
z(JWH96MRQu#G<rgM;6$+X^E}7$TsuyOg8MVgRuXAi1ZJnH^RI3XEBQ%S-^EsV(p}c
zF;4A?3Wp#Ps1}g~(mN8Yfzd&w2ea6b1%odrv9wcVzlm7Jht%PDzGgEn?1hy@qsY8a
z39(@1rrowHj2X;gM;72$RZfVpft2+;B0c8k#V+@-D!C9U2LxwxYq1M&n87T5g@Pi6
zf>BzbA!Qd%5#6&pWavv@Nf^PI?JnVsWp?MYMTLTG`9l?>4k_J94nJ-pAD`SH7M!I$
fqne?@4tD<lk$yjFa+OE~00000NkvXXu0mjfbB#pl

diff --git a/interface/web/themes/default-304/icons/x16/exclamation_small.png b/interface/web/themes/default-304/icons/x16/exclamation_small.png
deleted file mode 100644
index c8a05685975b26d95d53646bf16c6188b7c58cf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 327
zcmV-N0l5B&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003FNkl<ZILl-B
z|NlP&C75Aw8E|GZBQj0^;?+<ZE{@lL)0-G!nB(jg)`ef*&V2!*L424TUIUJ=X9VLD
z8yJ1>p7A*K=j-bKcTT&W0`XyTcnvtRnh}Iqj;&>y`|)|_htSZ_{~w+-d;sx5;vjjv
z2JBzX$Z%i<qw~dm2FE`>sR7C|{C|EU<NulM%Ev+CAbGq7>{`UgxMvCDj0e|Z-(0`!
z{(tM1(*Kt)I{d$Q()tZZ93+p|fNk>_Ef22~J^tXP)Bn3yjlnJe(RZ(!{6Dyc_c%x%
zuK^opGS0bmQu*b}+gkr$-qQI0^=&1X2H~5>WnO~h@fxtGn_<d=PKIN+Fi3uoC*=V#
Z004VLwAQ^qtwjI;002ovPDHLkV1io-nnVBq

diff --git a/interface/web/themes/default-304/icons/x16/feed.png b/interface/web/themes/default-304/icons/x16/feed.png
deleted file mode 100644
index 9e5327bbb474ce30bcdc1305781ec839e14ca7f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 649
zcmV;40(Sk0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006|Nkl<ZILoDz
zJ8aES9LGPu^E?03>Lb-^Q;#Ys@fai$kq}{E=u#vi76w~`!C<I_m~3M4NZP@ONg~96
ziFkyjNF+jOr75b3Ttct*-g_Q~-d-gP;+K4La)#gMe1DH4DJA|V<jz(A>WraV4V`Lf
zvI^GzSw_hj;id?Ez=Rb65xSe(8xOX0G`6`K=Zv)&RgAS5YmxF@R7s^$abk32S>gRC
zz-g-nMCfekXl$D-<XtHgP*tq86=^wHjKPSwy7nb)h4-VK(*O%1G`Sk*N}<5~6Yn4t
zh`G1Kk$a>US1|dH7-J9-0F0}0DbWOAtb$dL@=Jw>=P5nA1XG`}Yxj}uxs0yfSxHVQ
zl?5q*wbKqTW!uFEXRy|iRI$y=F`Ii}%P~Mmudb0&f)FYIQ|WHG-uff2m~-GUS=U)a
zE!^&bu_v(MFsW_<Aq1lL#J>UJzy%n(g|x0gx_Y6mm303U*lJj{3-3MAds2iLe*>s0
z>G3(z-IH*2|MaG;KSat6lg6GROEy&iAwrl1C>m8%6+Q42=^lV@A7JDzEL=Bj`_mxO
zxb!E$Qw$z#d6UOx<~$QAC78@1SuNgswD=v>D!li&5Xk2lO9|xpZV>2Oxqb6qJN3PG
z_NYP#c<+Bv2m$A6@&ngjUyPA%eKZc+=FwjCbkr|uY0&ywOLa9khh!O&Wtc2OvkdDT
z(VMBk{@l>$@Z^o-Z|E1GeQ^z~M^~|9MJ*di%#D#smqYoC5n_O%=gZ5lJnS9k+PG(2
jfCiu%(0}~N0hsy$hGq}FqxX`800000NkvXXu0mjf$vG{R

diff --git a/interface/web/themes/default-304/icons/x16/feed__arrow.png b/interface/web/themes/default-304/icons/x16/feed__arrow.png
deleted file mode 100644
index 24fdb9193e60a7cd7380387476526a7399f73439..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 710
zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007wNkl<ZILoDz
zTZoNO6vuyS?{z-o%uHs6W2kYIk$52G5;DrIc`ztRiU)5(@<1W+;PNDrOYY@CNQu0;
zJ-A;oF2#g$nT~15I7Vj1eCK@o+aBi3A(02G{_WPo|G(E-|Fy(>&;Nv6p8-IbF)X)+
zdaG2a1=T;pSh7aAB*I~!Lq$M@<pa`{D^tTNYl37D7*&k57*&iaQpm+xd_JG+$TZi6
zEg67aY7K}`pBh$K^F8bg@-D<$i>el33uG|{BNCLQht`BGnfe|91re%(WDw+C$e=Cn
z!G*-xx5Ul2@J;71ogXm9AR+*mpikgERRBgUs0Atf6y7~R{>drm{(_EON@CGz?5O!g
zviH6K@E%lqD!>%V&fVFIs^YCh2Mov5t%qrw0Kvb!i1!|xD+-w6bPN5KuYF116%R->
z>_e==mG#j22qvw;mkq`_M;t}Oe-nrskHhQBNcCu>;SiKn<8SW-ErF2>h@yx%itsVS
z@oxgwTKt3k_#4~d!m^%CnXn3<eS>d(%<hf`RwoZ}O{U{wa51R0AVRL!XS?EY5An!&
zXubipvvJO0+FtSO<4~r|spHIr98)WrD?UpF8is(-+Us*~c<<qRmTlMCY3kexcLvh(
zsfkFtnJ{-IXODIF|JbKysXUwucn*(QShpk*c9s5Wm2-~8RVSG^Wi+q8K}YoS2GU75
zf8ti7eb@%GQlxV^YRiYD`e}KoQc?mzfFu$$z7y`=e8JZzjkMjrO?x6m>A*^E?m3nD
zl6k&Efb@_g)f+}KZ$v4R@l?by#VNbO8^^G5_|8$fdR?-8|A7zL%+q~c_l}+vpdU~I
s*ngdFFz?`YkBp=1)4}}J&F6vcA0=S~Y7FfIXaE2J07*qoM6N<$f}t^4oB#j-

diff --git a/interface/web/themes/default-304/icons/x16/feed__exclamation.png b/interface/web/themes/default-304/icons/x16/feed__exclamation.png
deleted file mode 100644
index 5a5a1a49ed9f05e4c89feed68eca70380e4f904b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZI8UXL
zO-Phc6o#L3@AaE$X4G+13^hxOs6`O{2U!q=L{hW~f)=ilY8hb=M2mtVf{22CXj_m(
z5w)mRMJc3G5d<wN#2mvMf0&t^Z@&5NZ84*ZXxD*vaSpuiIqx|~oOAq7$gAA|B$T38
zE4s8HWi%M`Zz#>Q5}u223&<G}5TUoBt?qbZM_sEI^E_n?N^6ucC}WUHE?VP)pqLvQ
zUFnaH0bDU!fe2lV9d)hqe%=d0AFVaUm__IcS(HMFc!{><t^W8}S6RS-2q`b-c|qv2
z^z07^eeCpi?C2ZZ=ZC2LPn1%K2ms29c+QamP)38%AeB!3;0=Ng_n<I?S$~A8L-)~Z
z4=j?Ma}|JdU`%-eRAubqz%`69IIS@at5BVNu=5NcxGzs|&OsRdL!jcf`s5cV=5gs^
z7`g#3`(V!{GVLwQ&P<S)Gt`%2SO>T=uY8`0fE~FDUtb_i>yYl7kZ8iby-0TE4b3~w
zlZ*Z)v;oe7wSNg{t#R+J<6fVK$2|bB`2@51Pehc57q21Gypf!jCA1LQvURkksI*3F
zjXw4s=^cS=8b)8^maZpLHA{8<N)Gotpt@}<8Kx)(1VIs$??b_7LbOIHRqnd5?fGfu
z=7y2_b}Tvi`}>*qe_^W|nT$$lG6N=;2OLu+zm%^MiF13?;;BjlR~e6{sok=d^vn>?
zo}OaLA3_>ZF55y%b&9B?Z(+W`$8W=<-+V7tAen?@5^8G5#)TjmBaEc+)D-)=FB3Ca
zmedx+TON;;N^BFLZCQ+_(`(qjI?i?+No&Db2zJSe)qC4(lPyt$vn1*dlFK{-ATybp
yem6M&Qh-_@3g`v@3vuTH=YS1=*P-$|is3)c!T^|nGoAMU0000<MNUMnLSTXo*+(J(

diff --git a/interface/web/themes/default-304/icons/x16/feed__minus.png b/interface/web/themes/default-304/icons/x16/feed__minus.png
deleted file mode 100644
index dfa82aaad7fe6e4211e3191f75a4e73e10f82eba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 662
zcmV;H0%`q;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ANkl<ZI8UXK
zJ7`o<5Qe`wb8?MI#3UG^5)<)7L<BJkifCbz#s^qfS=hx#VPO$Lu(A^iO@u_SP(&+1
zY(%XLnt%|s5*1XIjmAJ&Us*SI_ntEryV*h%1b_HBoMOKDXGYA7|B*c23qXr=45*`D
zJ?&n>`#;+$1t&ZZVHBA2A|S%RvhKDM9c$XUlBOha-s4np-s8MSYJXA1DwXnFKDRdg
zm<PD%)qx289c$XUN@+2vgcMc9dtbNKip4pcNYc{X)0KYA_g4WPL}*W%lB5z+mY<t~
zkP-_Yh`A@&t2?;jXPk402mmfwl$g;D;JkuYkXom7;tG|Qw_yGYe#;RW4&O#M9;_Fe
zS<PSu-d7XgYO%}Xm+{_Xs`zE=aJvU#&sjjQH}^0z2%!#e_3hT?U2^&ji;q8}Vc!s<
z9v%(C^mEv83Ts(G2!WVo#J>UJ<TZHr5b4~E>>GiWPVDIg@Qu)Wh%C#9S%yW3@i%~~
zV$X)LvGZ{EC;)6fi51>s(=U*oU3EZ+5Mp(7R4F@ER24n`0vVWuAD<vM1}pojv1i{R
zZL8~mN||#0IruaMgz1GlFUZWGR6rV<nY^9n+weK0d5G-u6i$`mEE~%|8TE5Tz?jX_
ztk@vZ%++o6Q-$$MWMdb}=Su9~yT3}_v}vJ7>-8Hq`ebW6T-wTsj^6HLtNVJ^FKS8}
z%?t|xtHphAGso1s?|>0Av(j8PUn*v^9|HFU=w8)C=b2s(Y-naDMr(}Jw;XD3j1U8q
wGrqq5&cw(J_hvF?1Xv0*0=kgx9~FT4Up>tgV-Rl0djJ3c07*qoM6N<$g7fh(p#T5?

diff --git a/interface/web/themes/default-304/icons/x16/feed__pencil.png b/interface/web/themes/default-304/icons/x16/feed__pencil.png
deleted file mode 100644
index 48587c8f8cbb353e1c8d637f98c8292e688c81b1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 753
zcmV<N0uKF&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008GNkl<ZILoDz
zO=whS6o#MkecxQi%!D-2F-Bqp6H0{E-xONG(uySuLtDBK7exvdMZ0iO&{9DWb)#6K
zwWyJnE=pas6p2FZrVZ9WG}?to;(v^BGBI3#GGlV@%)Q4&rUR|+Jn$|Khxa}IqN==#
z$zQ7hNE^duYiPHQI%mPTm%~_mBm6GH2_Wx8K!nY+n`*aa7S=X;Ri0;@!&r-P4&xkB
z_QhJXSPb*SL(Rd+Fu);a4T#X5Sy<aR85F!?6kx5zIah%#lf@W}h?j0!&=`yiw@(W=
z5TVYi^1NacFn8B|hyr5&4)M@=^x7|&!YIZVL<9ii&G1yI12E2lvmoV6LGO1I|M?lF
z9^saLN@Cq9?4pk<WK}H#RKdCF3NYoe!wW}n&Y{-gX18Eg?SOZ80)h^nMpYq-P=zP`
zf~icm+;8=lgUsC0N223f#5(w62V^h9+uP7|15p(5Y~T^WS!wb6dG7^*xc_^&bq=Y2
z6X`e(>3a0<gW!_T`Uwy6hQ6@`3pVbqc?f&{BVesX`;MYL`{1|FrZ45KFHrwBn!Uo~
zniQ8t6Rhk!&w(@FjQOhjowXoB`0t+WmMhc5t~MCzf#wg0qKGGhKXEg>%i8U0IJRjy
zi{?&dlW%a&1OZG1WW`#HF_jZlRdmvaL<(OfxIWgy(q&8N?&@Ui;u4v#cq=szT)qG(
z<E5ZfNQk89YOAa&x^Ni3cON%&oVNGZ)7{lcOPpd>Na5-O##O;y8izF*n!=Fg>iL-(
zSDkVsli+zw#6_-~QC57sm9sw_WpTQJIq}S?fj<9c_TJ=~z4y5&K-2sx>c48`!`D;1
zgYsG&gT|0+lzAI|9B4TCb?ZdxnvN!OJPk`c9(YRc@f@dfC2|7P07<~U<XcBR?~rak
j&xv3E)XV>iMZnZ^WX%!7fc5E%00000NkvXXu0mjfA>?lK

diff --git a/interface/web/themes/default-304/icons/x16/feed__plus.png b/interface/web/themes/default-304/icons/x16/feed__plus.png
deleted file mode 100644
index bb6db9b11a719bd0c3d6f4b4498b8f51f58a843e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 701
zcmV;u0z&<XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007nNkl<ZI8UXK
zO=y%?6o#L3&z;X?CLtzuh)NQviX@9lAqa{@un1YyAF!pHy67&9iY{EJ2wk~TDYS}a
zp-a1}l<u@(X{bL)Cdoo<6-@}KCSsT%nxF5R?|#QcCIc2-^@W$qUA)hI&$(h|{2$4m
zUjWeL90Tg;S5KQ)@czSgO2r8`MHmF$dJzy|U`<!+;o`>Djwl~R&U>6H&U>8qNbN4F
zShbqGotoSfKc51);MIW${l$%~9gFdNR1Gnziub;5t%b!ooJiEvwV@+^KGnYr@E}54
zl#ilnh*|snzYt=w$^_ZuU)ZBxaPu=b=MWJ9T(l}OqYc1$1+O5rm*RVusE%ESr8)fP
zhsb^NGum^Y9yYU@!3?}#Zh))RPVWAQ_a0Nlui1?2I|;ka0D?XK4Ksrf>Ht^YZf)M?
z6OU;uJs`LDCqzB`eiEifVEb{bX&oU1vNR?87$7TOg=e>r_Ro;LSD>jKyK@eF19TrG
zO;fTo#WKjU{{U1KdvFmOIt#yk2LRiSV3l!fdX!Rigq@$vakQ~Q$RK3PqoYdVR8dv5
zG>QzA;mr$}9D?<|%e7~pP@emn-Y*X^T%D(yko?fuh>v4Hm|pqk6`2_<R*+nQlCLoO
z&v~R!<aKxrNnrQ3mY%7C4$AO8z!=>6b>FwSc%iToHZwv9q-n}d|BBUL_0{1k`s2p!
zvJTI}o+4dI!lvfVVvBDscp4fYijZ6m$>kW!62`}#vh;A0H{E$=uial9A9*$tPlO=>
zx;pc;pXz4+mI6C4R%aRYEr;5fWpHdyz9$^{G{10VVrJEah5av6UJB3xGywX3!4Ieu
joh4W=DrGJwr-7w+F!l!O0;(DB00000NkvXXu0mjfyLw0<

diff --git a/interface/web/themes/default-304/icons/x16/feed_balloon.png b/interface/web/themes/default-304/icons/x16/feed_balloon.png
deleted file mode 100644
index b9c94756a18d1ad580fba4e72829e8bcc7239ad9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 683
zcmV;c0#yBpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007VNkl<ZILmdC
zOGs2v7{`C-;Z4VpaL}xf6pJ2<LXaQ`YY{Pvte~(>1?|LIv~Up=w2BC#O%JF=8==Rh
zh+0*v#0ms6=>ZmLYGzVQRF31FIp=;YymNa{2mX8<_<z6iJ&qC)`nIXG)^r(7)>tyu
zfVKaYHsrM8zEWJNza+C3Kx?|{R@5G@Z>enzQbC}tMH_>*7HusmzAIypQmHsQIleNS
znglp!0gNVF-%{IH2=hV7hZtk9)+RD>veFu@RFGcL)EG`pW`6-JnIIJeB_Fc%<OlE}
zQErTAydQae3!VRj)*7W006JI{h>!u$0M>wtUkaaIqV)Va%zwqU9-w014a~aTNwSE<
z0ssr;;VhJ0d~zOZEn*C|ZWX%y7;HHKC}iX=A_Cqg0G$BhertM0sOlb|qT>R}Sa^60
zrk}y4qeyxg-g_eFi2etN2Cu@q2dIYisE*5!Za^NN1zQPg_u!l(at?|90WiiO0~e9L
zQ*h_df@9+mBsYpo522biCjkE!ps0<(7=!5^LUj$okB>0k2g}<Q%Kq{ORonav;3y^l
z5vG+fXssz95kU$$sHny{hcC{7S%h;A@t%C1X#gc6yy{d}*6eKGZ|CQ#e_xgN9_QR2
z^4=2!sr=x*x7W5mmM#nM{X4^B&&D@3wKlB|Qb8s0s<d-h=aLwCPvJ*6KQfRTota@c
z`3D1^>D>@cR80;|WTS{o6oEt#Md0JOt7mK5?K6)CohLV6;Qq^5dXpBEQkC&M>~AuF
z0yy4GXIl*i0rtLN2T%k;5t%DbEdWwL4Uhqr0L#ic{ht2*Z`_Q%OMu0(pPwZwDwX7h
R-i!bM002ovPDHLkV1j7aE5ZN(

diff --git a/interface/web/themes/default-304/icons/x16/feed_small.png b/interface/web/themes/default-304/icons/x16/feed_small.png
deleted file mode 100644
index 184a29e54cc36492caf7caf4b518c5b8c2ebaf61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 365
zcmV-z0h0cSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003rNkl<ZILl-B
z|NlP&C75Aw8F0{v!TG2g!^YD-3}-F|F`T&(!EokY9K)H%$qZ+nr!#DNmBrwU*8rgA
zO^?bYKfY;K{Qsdx?f=)wy8nO9H2(j0zUBX4(+xfX4cLU&0Fccf%`ouq)6@TdH>CXk
z4>aWeBAfp}1J2+z0OV|t%^$l}|9_vT{r~U2I*3V|(!j2GkwL%!ke@-$h6A9+|N9&M
z|Nrz1?3Jgf1Pr(v%Wwpw@Xs^@h-M%Fvw;9)@WVugBX|wC6~(ap?*c1`?I3>x0mv&L
z@Ud6@|5;y#<#-J^>B%tnW540+|BG$^|D9*?|K}_du+1RN4@zZTuhC(ci`Rht4h+tF
z?HD%gwqZE4!;<05R#S#E8;uywtkYvSvr>~`(;OKB>0lV-1#&O|w3pgJ-YsRe00000
LNkvXXu0mjf6DqOo

diff --git a/interface/web/themes/default-304/icons/x16/film.png b/interface/web/themes/default-304/icons/x16/film.png
deleted file mode 100644
index b8b4b5c95a33da87618c3dbacc75eb163347970f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006kNkl<ZILnQY
z%We{J7{!OJzJT!o`W8Hcu3Q)sc9J&H*tA5D(2~+JBT_D*3<|VU?w3kHT0#h-B!og6
zF14+-G-^_Vk+(Shzqu`R!z4eF$@!g=Z{PrM&1SRBfWcsRKM&+mhq@g7G#U-i!@|-|
zVT?d-#2CY$B}VXNhVZ5b*k+JJuG&!s>h(GZ7M4TB5%|OjqYw9fA6tw~sR!3y4_3c?
zWm)s}fm*GmT~H0?2N05d@W~#wq+@KvI<W72!V^mo56zP7kgIl-foio1f`vyytOt9b
z4Xd{Wo39CBw}n@sBRpEk;DLExb~Ilfs8lN21$B3{4`-wcH~WlGu8&-?jYPhM<?TZ}
zwj9U~xoSrlD3wYeSl9>@&+wZ4X?%K!&Al#yiO&dU+E@)XV13(_9nIGV3Wb7p!AGOf
zcttEMESz&3H~1HF$W=SaKsK8N!NRsPb`JZy3q13UvGiu7v*;PZES$=Y=IaBgR7$&`
z!>1=$m#(oYUj9$`LUzbiJIa70Ng!Bw%%{G?7QVvE$T!$`Z)9xIYgkzMg?}VFny(MU
z<8keRQ>S=?74KI(=f7adHN;cr2^L*_IM}DTl9#eWuG&!sL{S96!n1YpCoH}RmObo>
z&;%Q)Ux<{aXtk#}WRRoz`hXw^P~Ny7YvL`|qPO7lf8aTo$wWTPkf=|QYW|iTa@CG9
zU^1CH4u^xn**uU-9esd3cNq5=_veJ%yVU&)57%HV5zQJ<00000NkvXXu0mjfSTY*i

diff --git a/interface/web/themes/default-304/icons/x16/film_arrow.png b/interface/web/themes/default-304/icons/x16/film_arrow.png
deleted file mode 100644
index 1b256a8b8561553f7cefcecfe1ca15379d79d442..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILnQa
z-Ahw(7{}*@U1Wbibt`xg6+~DN*iGg|gcX7pDF|L<NlK=p&EX5_wv#V&vU#SP?l`A&
zn+|2ZjBTllp<A*yU6~UNjUw;6=%R~n&+nX0L4ovx&&A>SJm2#@KaK)`A{-7!2;}AE
z&HfL}WjmozNTFZ>!C(;V(9mc0q+y&+5orv#7%3R0lIWXEpr2q4bJ-3d1q1>CFlabu
z@}{77yd~n$jmM!Sx`i0J>@lbY#FlfiPe=hvOG|PC|DZboZXyo-L=0MC121h+Xw0jq
zR(f&2P7odDvK>MS@caE>&~TBn#h@`ppz2$J+7Jdewt`mEA}X7waIbD$bY!290_NxE
z<pu$rHI7cpI&}0Irs+7Qy%9LvD`@Ipz(eJX=rEV<5K@58=L3U=L8CW=S9EFm$t1e%
z>lk#bVQ4CXmcbxY!|S3W`-BwW@p$A0uS-fwb{IuPMcWF6BJnrOVJ_PtqyU%81qKZx
zowjXgMzUxyq*33S`puJ`B<i?L(UE;Z3UE4|a)YRTGKUUf7cKm|f2gn?qPRQyEwuj~
zY=@8n1VI3U0ygx{eW-_a@WS!|nz20*wRIQDp)78h_c8JXxNFIx)wYbs=3hV3=;)~2
zV6&6oLv!DIH0rld-<3pZR|+?D8QkpMMq$GOs(c49egaB+W4NTvREq&T&x1h$nGXIV
zl!hFddZ>jdhcfqPaECx`7N|`Bp(O_ts-p=pfa5r^0p0RJJAZ_B>k;(sujrXMMwxaK
zS5#}bs$Ru~=gYY6IKYDxaQWFR&OHrC4Qgs?qHS$$Ea3Pg3hr<}F212R*V=KdqA_}=
zxJtSMI;V-V#QBprRc^88mk)2{-_|{%=K{9)6ZOznrgQbPj{pDw07*qoM6N<$f}2%M
AQUCw|

diff --git a/interface/web/themes/default-304/icons/x16/film_exclamation.png b/interface/web/themes/default-304/icons/x16/film_exclamation.png
deleted file mode 100644
index 371e74b06e10ca5c8d399063e14dd79d7a09d36a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 750
zcmV<K0ulX*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008DNkl<ZI1vTG
zPiWR<007|U_vibw&3#jwVTx|cAVMMt`U6QCjkT~{mJAjYi%tg7r4C(21ks^7N$k)?
zx@Z%>4l5W#LLn$nIt4SSQ(+8d>gM|N_x;}Y?Rm14l1rB^UB>aLsi}(q00026wzl><
zuB4Psln`S)J~cH3*_rdd&eky@lM*B;B{3x#K6vw)?&Rd8wY9b5P(qB+>gp=wDNA})
zA4y6iq?Dw@&fR;Eudc2F$RWmPdU_g)7^5spWJyX<==b$@dVXL3%k}GjLoq!)EygIu
zsDu!Lm6a99d)s~6I}e09$nt1pBzHgcRIx9~AYWNo0gywC(ag*Y6ftEQt%lCNT@E}l
zY;3sj_`U%L4|EK5hM<_4nGs_YV^l&2LATq5d~kPL(GOzcZtuQWBxPAB%BI6d_Cnt6
zb^(-7*R{F1IVdikd2byyHa6-TH*Qn_r(Vq-dht0Ub0-~|ot?G3ybMYRAvkyL9F#A=
z_0<#onAzH?O@;)Dyz;{S&zv}MN*&&=zCHhqm>M955Q6#nc_>-~EoHNz)ovIZY8o7B
z8sBrx#Moh@yW5UFb!_OBm-Y%F2qDO!u4`w{o`pgxRR2XqR%o@F+O5LD))kMAA2GkM
z?C6un27bBxg%B!rUCSYaU}0ea$_Lv~)k}JJDz|TLEB^h_XeZOO>B5BzinLiwOzhW8
z>tg6Dp{goNOH0s9N_n0XMP^`E%VQ%y8=Dw)^Y&FgeE*@%2Uk_G)Jp#tZGM^Mu(h@2
z^y$-5O2bKEU{~A2hxa(N?@yz{8yb!4n)#-auYGQ?+_t-ON4vGDu03DE`uh4$i;IiL
zF!ag0V;cbPFJzr(-<W6(<n3G|+PU?Sd$+y=<KzA6kKeqLrIch@Hi!;#0QmY-ALD5N
gfGi`=)n(z@|6U9^2&<P$O#lD@07*qoM6N<$f~o^#0ssI2

diff --git a/interface/web/themes/default-304/icons/x16/film_minus.png b/interface/web/themes/default-304/icons/x16/film_minus.png
deleted file mode 100644
index f0c58e1abd2000b56b2e966e1654782294296a2c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 656
zcmV;B0&o3^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00074Nkl<ZILnQY
z-%C?*7{<Te);|y-NJP6R*p1x^U3J^8x`>!}NkWn6NE_;ybLY6`oXj16Og-v;&xW!b
zV_U1in47Xq(=wF`>?Z$!pzfaD_Z&_adE?-7G2YMfoaY<?KopC`GJ&?Xwl|l7UCtB=
z1tGW~pU;DTbWG1A_u!AWh&@cjm==7|CcKdbCJA=f<qV-0<Z?MMbleD}T98(Eh&tRW
zb&L}(wT7|f8V0Adl^cdn=mptq)>x34PBb8|)gi6bFs^RH8LGfO^B#|FDOh?`&0&`_
zgkF%zWWdmIOAggw_m?r~En&!4guGP3tH2f>_DAucXGL=ipU?|7H#dz1Irl;xj@c^Q
z^csP99r08dtBDf&Cg0+bZC!KN<qV-0q|<3Ibj<rx`<S4QCPkWXEmtwU`T@ac83WUK
z49-<G$M6ZgAel@W3*L2gbsaG#lj%SR(fA*B*yRkN7sO&QFmx<CLI<$VAL5yB552Ej
z|9I+YqDS7<9K$E{f^ax&ET~A46O5|I7*IZ4BzUMf>~e<C3shAFL&t3?{1rpNBfOmb
z0{hab#?ZnsY!rSm)zTcpk60{v!Q$egv0&GsoTA_R8PBDU=pAd~iDL(ocP&smZe!)f
z9e9QKmGA6Cw4(#`0`ppdq9|afV1HEk4x8@;eI8m7IDs?#1G6{H_-(abV2(d57s#@#
zEugRbZA3Z4$if+<#7}tE&ow6QTj9QChGa6MSBO9Jw7}Wk4wtc@ySuwGJUq+==a+$9
q&fKFvLVvKhLR=%RUlMk&a_}#HygqvvY7f-_0000<MNUMnLSTY6Vl%n`

diff --git a/interface/web/themes/default-304/icons/x16/film_pencil.png b/interface/web/themes/default-304/icons/x16/film_pencil.png
deleted file mode 100644
index a45ab17347b403f8ad79e83dfd093d6bc8519ab0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007#Nkl<ZILnQY
z?@JQ_9LDe7)*D|&?+P^f3nXMQh<YU$fe8^97D<AE=*l(Jkw5OVIhE;6=jJ&#=e8Q!
zRK{G^LfnsV)2vJ-3*S`lf)GZpp1$8ZF2de)@Og9J&-3uy2>^stDwQT6isG~XfnCn5
ztgHwE7bKHO@I%MgXk-(^b46kkLm{RJ=WGFv;06W>cG%?%p%)|)2{3e=cSVbk{COgW
zzUdr#i5@kJ?x`%=hqRURhEM1P%gf8gg7`>y1M*A`(o7b;Y6g!d*I*lciJO)vt~RQg
z!!BnCy&xWsgQ4S+Jeh@UIE{A4Dy+^FWZx<txt4Ifbrv;^)0$)WgkG?)uwX1m^m%fy
zyVuc2pW&LzVJ@16KfH>T!A0D#Jk=a_IYa0Lu~-ZY9h1Y+E%eh*lY#~GOs!+Y{|aNX
zX|#<b(LTPeIfkFAtJ4c2k%+P2g~?>vVJa#rwgo}hI1W3dd>)0$N@PUQtQCYpAux1I
z+b6eSn|Oz2=O&t-6#sB<pnyjC4a&;O@~-A)z;4HLQGBfx1OfqL!I~7@LzlXXHs$?4
zbi1cfUS57sDwXh{wic=&T+s?tRRu!@87c4y*0CKtbbo}+x36LK>_VFG!#8F^>8lkD
z4GoYa3BH;d{U3O}USq)<yRwf~#|PY(-lD0yfV=iQZ2fNdCoXDX%Wd)Jm;E$2L+AyH
zqJW`-tuEy=EY3Z&4A2VK9-RIt!c&*Duy?2m=g*1<hEM1PvMg&0=r131Du?Lw96}0z
zgEN>x(05r2k2|X135PX@UCt1CL4AGwT1Q6*AHV-i^#$<=N3`aa`0Lym;fL{_UCx-z
xX1#!(6T~Uv^f7R!T3ozl7ORiFXZIure*-a#OxYWC6>9(h002ovPDHLkV1hChOI!c|

diff --git a/interface/web/themes/default-304/icons/x16/film_plus.png b/interface/web/themes/default-304/icons/x16/film_plus.png
deleted file mode 100644
index 2e41b830996d7b9bce031e93109cde22154cc957..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 700
zcmV;t0z>_YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007mNkl<ZILnQY
zT}V@59L8TSDlmxfrj)?!Vi1J{-n3$YH{B*dK@vz%6NLiNkv7!f*E#8&+T1ZW=W!mL
zZZ@=~jJd3V=%#J+t4yU2^hP1*rpqp#{_i=QE)t{zKX&o|JrB=b27tw4u{eROtgKi6
z19y35c6OFAUJ#8&!9O~NdIKxy9?K9b=<;(iaEzv5A4#E;;0||rhR_Nkkq9_+oOA{=
z5PVBS5^Y0Cv=S|H0?mU7)OM*WCv~6D3T9?z^abIb@f5`2B!uAvTIEGFdFEm5eTVy&
zAWF(*)!{DB5L!Vv90rGu)1oH<Yj+&A_Bqr!Vi3J^c;=kO-Re=?Dj!lE-6ynysi`S_
zL8Q%{gspD@ZS*&sV@Zq!<M55op{nx@N-Yzr!(E;sw1QA51P&de-N98nr$-Y;(r6i6
zK#%V|T%&Q+^h8nnazS-;pU?^dfq=f?t;uBC<QNQwb;elgU%10vo*}dXzuylI9pg67
zI;{O0c<fj~Wk=>O742!1i_5B``-E1YD2l#dUKrU%qr8P0>Ej^^eGkAKIls&ws=+ga
zRv^nVI8?AGC|^+L+Qieo&#-!TRO;MYu(&pGX2^(#KP@<~Tv7cJ`JPrVFfgDmShh(!
zsJ4H?6JZUN&1slzOSt%=6uI83$diq@^TUjy*Tu;97E&;$UoDU%2^=a|ZIr&j;@C!2
zJFReTqe<CAzWW-A_irD9xlX6l0#Ovz1@y{a8>C${xOX9p@1uR<K;^pU5ei&J6i7x~
z-ZP;{xq)*X2C&Xk+JdsOvibV@dR}mFB$e5}^S)m~Zqo(u47+(kdjtBiiL*rBkyIQX
iWaeXQ>Mvs_dGHUbS3^NFGTUkZ0000<MNUMnLSTZPMnW_I

diff --git a/interface/web/themes/default-304/icons/x16/film_small.png b/interface/web/themes/default-304/icons/x16/film_small.png
deleted file mode 100644
index 311335dd8f51eaa11ab6288dcbdc73f869f810f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 299
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`pFCY0Lo808on)AO$U)|){*&UT
z%A(!f-mi<!YRov;9iXVNOw*Bbmg1Bx6Li{|Hi|kH7ID<|UH>h=)73+)z3M~Tce(e+
z>n+$C?kbhVH<<VuYf7{k?iYJ{WjoU(6-Hajjyp&7=X}?lvmj*Nr(OAMM+$i+$*f_!
zoWEz!vx*JVPrY6zD&RVCpMvBWuZ{#>yMIAoRV|4elVob5rj?rbZcgdRJpokp;P<|L
z3h({-URYS$cuics=iO|^dCwbF*pE)Gb}HZDp1*{l^<5OB6G!dA^P4T2{k8Yh#!LaL
s+LoI>r+DV3S5Z@f>z~K}jAy8yTX$@K4)4KVK;JWXy85}Sb4q9e00J_AcmMzZ

diff --git a/interface/web/themes/default-304/icons/x16/films.png b/interface/web/themes/default-304/icons/x16/films.png
deleted file mode 100644
index 3ca32682411ad922fd5831e34468520c1cd2c39a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 554
zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005;Nkl<ZILn2P
z-)mBF7{<R|NB_V;L`rA`T6hzZT?qXRT}!toSPWqYnw^1_lWOP8j_fcc+;G*|5RwGZ
zmFveUYSV_S_2X(6WBmhBcTeBvY{%w0;R_$s=Y4$nenhL)5~SH|_L0BWB=GrsEB}Lg
z_Jn&N5{ZaLqu~OMELICEpD_ER3;l5iGmknj<R^3P+3O#Wp>w2OuM-fNJ<Z#j$S%Cc
zt%q-MqtM1xb=k??&cFc@4u?gpR&!tQEIa=WllhmpTWVv<tmDeql9O}Ko~Lgt76Xyr
zf1JB;8J1<CSXxAWv5j%#1@lI=S_K*E8wdn`a&MX@gb*7<c2}9%wvC~_qvsRQb=^U^
z--U8-lijsSr2;b4_l!Ki$>nmGuy!z>-(q*2S-D(>a9!v%v(&+KWdnNoRp0mY*-OY|
zG7ghw4-b~VviqS}EP@Dn9KK*R9*=(xg+e{Q-;ZcCO6OmvMlU-1bUF>Iwh#OH9`kKx
zhG9UsF7%ozZR7gv)`9C^-`}dLg2+GaxoDb(WHR|i(Btq0>$exaV`6Rx>in0Zz90L(
zLW~^aq;Os6b+hmdW79ocyVLdbO{G%epP>hbUfSF)w9+oJ_P(dDL@0_fctCo*rq5Bo
s<G8+wL_&~YFgS4IgooRRr?1ES0r6J?;r5P?4FCWD07*qoM6N<$f|1k^mjD0&

diff --git a/interface/web/themes/default-304/icons/x16/films_arrow.png b/interface/web/themes/default-304/icons/x16/films_arrow.png
deleted file mode 100644
index bd136bbdba12f063a6743600fbc281f58e39f57a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZILnQX
zQAkr^7>55{)Xgxuv|t$6AgMNE7sY5@2zH$y6}2o2yod#wU3ehZq?L16?zlEQZA0do
z=FtX?R%2RfYDpZo#xOGxvJk!KqMInZdHcVUXA&g#!^3~h_r1LQ4;vX7VMHdADZ>B9
zIne2J!&^an$}z3LY&NrWI;{aZJeUX$zeo3A4!*}(bPZ%7@|)(gr(Cgs57m-XDn)?c
zv!{M}7M{Kt-06LTo53+$5r)*cmieoIFqup&nM`Ugc;*ScMXP@TosluL1yVTE*ssoM
zPq}~kTCG+P{ClnPST!U`LO2qGKQ@MD@fFR}i9`a#w!UR$Wj|;i2n4_wQwW|NrI{?t
z*w(k=NELiOpNivt4vu@XlpT-9;~=*6J-`d-c)eb<Nb_j+=P5f)vuHF5rn!(;SAP~A
zaRt8U>!R=egD2p2yH#2P1w0s9pzOPFI1GZ3$HogrZ8qBnqtRF}7!0sjEad#NyyCdJ
zcRHQ8^k@yWoKoAluQU@y5lnL-ueQh>n!59UTsM7x34#E^Bs^c2R-oPu?J?BX*H1C>
z*m%M8-M&S%^vpvDeJuJKYHxo#+q;PB&Kc<I2J+{hEW!5$IP9Ly@4Fy2FwKR$ZUsM~
zv7>-%?YW|_^<jS9^BK5Y08ZyNxv>D03zG^X4?5g;&egLFS7aF;c@<J}74pj!?5=A1
ze$q3A%IgW}FUrc%=n`tOK<U+#vd8hl&bY^<%jKeim93yX`IguRltU8$-Mi`r?YxB1
s(R23x2PHde!qSdYA%)*|Uc#v0H?gcadwhwY5&!@I07*qoM6N<$f<!+#UH||9

diff --git a/interface/web/themes/default-304/icons/x16/films_exclamation.png b/interface/web/themes/default-304/icons/x16/films_exclamation.png
deleted file mode 100644
index 6aef39eab5510857ddc5f190caf8ba6afe9b4217..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILn2S
zT}V@57{}ieUKHU?myrmTpap8_MXrnxqV7W^x*B#7VPZ(&$d8Tk3rjcW#G{+Gt(k2y
z+Hy8FX<Dh7b2ip;YC@|-*9XzXs*CF1`<y&dVfez2_q@;ZKM(KkaG2lkXN1q^+kl_P
zI1mJ3=zmb3a!ekOo14qLUat&j@u0J7=ovch%t1RCLi_CybbO~e^(nV8fET499*>6r
z!D}wPeHP7@Cur!OL`_!!Wh#eMmotA2AaZhYnA`1^Z!p~4JB3>PIIf!l&=@=@tsIc*
z)Ti90z6yl`1b<%3JA4A7D8gv6LT?SAO80>3UZ>LuVoTrj^z<b44F&@kV?lyvN2zAF
z+p(o@_Q7IkwOWbtwmFpFn5FEP&1M6!rEeA=K+D=w3YX&)4E<LrJ3%$G*$gJTkXQRa
z2rafCwC0B!zWWXwLt~>FZfgM&D^`r$J&hgPg`m-B1i{E-{RX2&MMW<%GczM;X=%vM
z&nM@vd$W(?)7m}E1kU1n(t+o}3KT1ZIK89O>A++c^3s^1xYQB;?Yi!pk|KN?6!Y-@
zbt_6rO7JFj<!4>RwxmW=2c=T^n32c&4JH~bOQ`OihpIP*YH=P_`Y;L)35(02GJJkp
zLpQ=|>^vr18KG-c!Wn)}WwHw&@U*^b5tS_wTx^;{ts#O=M+~Y9!n>D|bC{2uglG6N
zBH`l*PapX(dQ0f`S@@qv9<=zhsJc52wJDBf`zl2DDxCM-=xf{c<<&wlmZQ=)k@n?i
z0mg??r$+jOLdHEFsnu#~uKY`-Qb^ADGkzqN_9L;Fh2%$-v=a+cdlD{DF!CJR$=SUb
ry$!5~6D0bY*!0a7Hu)!(R@V6o$3;YR3W}GK00000NkvXXu0mjf*6B{F

diff --git a/interface/web/themes/default-304/icons/x16/films_minus.png b/interface/web/themes/default-304/icons/x16/films_minus.png
deleted file mode 100644
index b570dce43c337e7e2d875a8d10807a8437e1eac1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 580
zcmV-K0=xZ*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006DNkl<ZILnQZ
zO=}ZT6oyaM;vW#g6l%aCB$jL>7#D)SL2ywBLRS?kUD$y(PBCg4)Xp?c$k2q6hNN~{
z0tN>{QceA+N^KKEsP$vjMQQ&)sk_&E#!j4QC0=+)<~{Em?vqfhRwJfbt#%O4YXW#Y
zo|S*WbMBF|AP@*prBZPKA5ko&Rz6{NsR{LI12c;aXyTJ|o^!9WK!o-Z%d!|SB72rJ
zw-8_WfP3@rFp;X`hP-U&PN!=D<M;ciTrN8|cpjg7kICdKJj~WHrCYc*TC{VXbMHjo
zP$&dOd_TBw@hS|%Kqi|<GGE7-_LB2TsZ;{f(^rzDL!Rrp4kFrQM0b@l(=^f3cVO@e
zR8_SZdECUvqb=^P6$%9~J$=uK1$+{T1jdaWj3ry#UFR&9%Yhsh_L?a+FkRS$ntR>x
zJ$wE#VzHRbq~6Ap<*(e`$Ye5Lh&_&Puo@1BKl^;Xw%6-LFc@U#qyB+Q_B<Mm!YJ><
ze6h#*HfNfqfgBh1n#ykD)@<vS>u=v5vMhrUFYY-gih@Wa@|M`+_y+6u7rtXWy#smf
zi`)0(#_%wTeSOFiwcJb)&6DH8UUyR8Fgo4F%?Hgc-?Sv*XlUp!()_ow2OsuQ(z{Ty
zyNH|nUA~sM!CmpYDB=Y-F(QM6#~b!>`~8XIdtE%-b|IG7=ak^ge{h;kSnv}!<`cTr
S_+*s;0000<MNUMnLSTYgED|07

diff --git a/interface/web/themes/default-304/icons/x16/films_pencil.png b/interface/web/themes/default-304/icons/x16/films_pencil.png
deleted file mode 100644
index 03ab1bd2e0191509c47b22a38a0532c100c3999f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 668
zcmV;N0%QG&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007GNkl<ZILn2Q
zQAkr^6vw~Y9;25%CMJ<)QcPnIGFwGiz3d@;>7^b<z6g#qU%ZfWW0r1YZq7SgZq&3{
z-Px$+V5m4Vmr**iVP-uEm3!*Jiuv~MJ2&sjSnR-$`+et}?{I#XO-@cSVq#(<55LcF
zAPB<P|DZbcF?B$7bu~*Q5-OnJjZxp&Tl7C#g8N|_eGk&`@Gs@5PJQ_SJgE$c$KwPD
zo_p$*7tu5P3ODY)#C2a1SHy^tS9^90Aapt%i^XE<2ID<L^XTwC$E{!zb}5dFEu%`F
z>eN@z*I+P!;OA^j?OFK!eguLe@Qx(W=9#8^A{vc?DC%2QR`!$Xk|cpKwm|USDay&R
zjH13(M^D4;b}KaBUP5#4BK6LM!(k9beGl;g6fTzw?fzA?d6#iaqj{HYXh1|1!BiLW
z>KjeN8D4-pG@JJ=KYRjRU0n(tQU=ao3TH}6KEr0iSY;&`d2DYmWi%S!S5#DFN=r+j
z*XzkSccALHQny;I2t9rRd+&YZayi`Ncd4lfOm!hIdvFD<{mZ{y|M+f+d{w9866{xn
zt=v};TCH}|VzIz%HqWt8D5P$Xx;gv_?Srcjhd$(edH&6}>?|U8YCw<sL?LyqPIG~8
zx0kbr1p)yOyzzCX?;~2A8CbfP6yJf!8uUkmRoSmo9!pkX+IfxDpRd!fe0V$_WdnX(
zu??=n7F<V<ya9h~1M>JB9Ie84dOYAb2zuPz!q|=h+~b9f|51MY@-HTXu!$dQaCh!U
z<K>fc^|g!<<@<KAzhn2dPa)7~5}q}j5=@G3f%pZE!V#gar7tu90000<MNUMnLSTZu
CM>v`Q

diff --git a/interface/web/themes/default-304/icons/x16/films_plus.png b/interface/web/themes/default-304/icons/x16/films_plus.png
deleted file mode 100644
index 2bf37576ff8e49123ced7cef000920f38481ad36..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 625
zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006wNkl<ZILnQX
z-%C?r7{{MoR2Ma|TVX6JK~ZM0n^>(V=pP88>ro5_N)8bmq)jrLLvwST;mIwTGOObn
zG#ZS}nw3`6Q5(bT$3+;3LEv2!-F$nWH_u8+)(an=bH4AFhxbE;LV=ikK3_rn&kA5N
znNr)q_uM06K}$;u<#IU#@DasyH1!%Icb5>lvxwo_iwKL!Ip1@yvOt7#Nj95hz=-UA
zL|Z^$;svgbKf|SH5$Ao=GB-L~7BDuOjWU^x@q!0|vFGTHJjP(Wh+ZX&bL~?y=X>t`
z)7Rl}fDzxH4;?uTRaFs-Pa-l|L`V1$=ecw`4W_EE)oT69_llx`h;&ADXE@U|4OM*`
z51&FP6q2-FUqb890(WPV$t0Mnz71jlpI|VEE_DSRkrH?3IZGrGAj5^dhNl)Wkkk=M
zJgN8|Y&wp<zCKB}QpSzxciep$i^aeYdu+a7#_4pvsjsguTPzmX?RIwlcA)W?yzlAh
z!O@fl`|q6qdCVJ}g~MTx;lf_M@nv{NO21rx`+oQNd|;@*_Q!>dPC5O4KU^-?9I?md
z3+DSLKA>xK1-`MjfBL?1&v~)$mJM`sZ|Uq8x15qr^EeqU>~%T%9_<5Vv|U@;;%kjI
z<K+68zaXVnC-&eYe3$*BtMJEH5zyA5X4auST$8!Ga1oZF2GC%Q-u%far(~!`CE@Xu
zeME6>J1V|c_ULsVo4}I-W)e$?&u&58e_*Dzoho^D=yG~@$pt?FuGbxeBYrKu00000
LNkvXXu0mjf#C9e2

diff --git a/interface/web/themes/default-304/icons/x16/flag.png b/interface/web/themes/default-304/icons/x16/flag.png
deleted file mode 100644
index 7d0a6ae0be887bdde4b7bb0fb453acc2decff2f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 652
zcmV;70(1R|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00070Nkl<ZILoDv
zZAep57{{OIZWYCPj}b(H34SpGO9zUmO}%Z+v5E?FnlGSz@T-FCOJydJ6b8P`6%>|X
zkZH*v(=@Xeq#9NjB&q4J3?!_K?8Tn`cT5t=_Mrnm&OP_s-|yT*B0~QIJ!2+67!5Kq
zhd0cNhne>bGB^8}J6|#<V5SG48+gG&0fw9~#O!$=71jHrq-1KQv{br?o;+nv3KiG_
zx#DeDSl4u6;l$UXA{kFlmjP9k$;?dYVZL{t`SxAr_EzS~xq%IkOZ-OTt*NXm|96*5
zCbF|-&}Nh8@$uq|j+Q=?N#3QU$v3>ePSjIRl&S?*K+YdE7+O9$90R|~%4VjEi)F;&
zkp9F(@j>#%#7KW!oD8L;$j`hyxkB{tJdt{lFmSKB4&1E`c)<;D4NPWa1WtVs8!NBP
zW*NhuNPfOtAnL6pvUuRm1_%K{fDj-A2mwnYB43<N@msC(88Im+5J-=!u~&m{LInr`
z%Oyl!+3f+@jc14!1ZcrPbEHD;IeO~M)zh6^{WfowzILqPh@6A$4xT(Wuv-h{fU>nr
zZo5KP59k7cS^3kWD)HEr*3&!L><)@rz((`Nu82Q@wnO^uH=X+G58Y>^&aSj*a)pZh
zzlrk$4f}Ma`n|fE@wRd~YgHOgshp(AYB<wBhZd-^DG8NUzU*&3DkoF9sXUo?q=piM
zLkCu!NT$x=CYKyHQ}_NzI*4~hunw#SD}ezl153c7pcgnnTWnIp>F}{6>eFVdw}MCz
m0XBn;U_Dp^mV>21Px%c;`Z?fGt_R})0000<MNUMnLSTYw4=erv

diff --git a/interface/web/themes/default-304/icons/x16/flag_arrow.png b/interface/web/themes/default-304/icons/x16/flag_arrow.png
deleted file mode 100644
index 06e94a8776270e9f23401892f911fb96ad098538..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 755
zcmV<P0u23$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008INkl<ZILoDv
zdq~q!6vxlmX8))?D8z^Y6Qs}#OJ|x*n>x014Wq=|d<`_n{s>Ys2})Cwf-v&6Wt663
zk!gvPS=zD((wwFkD9zXK5lC1W*~3ofH+=pP{?UaG=bn4-_jB(BB7*+`-XVgG8JS~v
z2}6jh1`(sIh;<gkmiLG<uJDR6F^$Z>1ju380HX1uk5BurjEw2o>}+ZUFn1t^tR(Q_
z@Z~W#x7L}|)XDE@X*3ZNL;VT`P3d&hhWO$o;*;ly%?*eJO9h)aoMCfuc|08#XZx9%
zNs|c)WQ~ZR?w}yD`1(?pR7&HKk@SPt?*p_|0E7#I)f`S9adN8vtkLxU$;p|WNl&L?
zjfQ%IgUP}ni=Q9$1_shVSQ!1*>!}*xbs2!-7VzMI8J_arnwUoB0dtR;ijB43+7l2!
zALMcx<(E)$GTj7dF9A>*IXf=^761!?1;7GefwG1r-?Un?sZ{ipWt5Ua9C};Cd&PWa
zB>}KNd7CADYPCIF%JZykdzH}{^$>hx0`?RRg7?Ml<$^j-5i}=Cpe0EH&ypm&8sj7-
zqgChVI)_=Hl$DJeIBe#sTM#62FlRkNsagbgqQ!Q>eE7?oLNcmF4X0zI@`I_B!mVb*
zD3MV8uMOzz0%08RSQIqHOLjlhN{T+2u8=`3s#m2O%zV&}W5Qjtw$@4oBSb>KBezSp
zOi*=LEUh>sE}m%0qpK=W%_Rkf?5i9e%O4`r_Yg&QE|S(q<bI~jydWry5XlNuSZQlG
zPx;|kn-_}vx9`{q8&5nkxE^mb3kWapFSk;Zg-Gam&;9~2vo<#rS_W$~>4F?gM?B#u
zuemTAn03q=#>rV*W$`i*Icuvs9K+AX^BM{Q2WE@H9gby%K$lRt_hvj94`wT~nQ@f_
loho<G7&|3_C-rkV(O=mwm2><wgGT@W002ovPDHLkV1lj6S26$q

diff --git a/interface/web/themes/default-304/icons/x16/flag_exclamation.png b/interface/web/themes/default-304/icons/x16/flag_exclamation.png
deleted file mode 100644
index 18a242fc040d605e843fc871aa9096ff8be2fe0b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 796
zcmV+%1LOROP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008xNkl<ZILoDy
zSxD4T6o=0l$LPT#h<qsm5h5}oa{(9J*K8Py3{$6FGJI8B2;7$l!a#G^G)=>OEtkej
zb6f{aG&T3J)EH$nB`fuG{zH}p(nA+M4)<Js-#r&D5E1+j(2oczX67f;JD5V;Gl_V9
z9I;%9C?7(!;R<h<7N(ZjO@JJ>nLtcmFgEV|9ul&;85Kp%06o2kcK;Hb<naBE1_sUR
z0RieSfq^vd<wc_|E~N4GrB=k(ZHNu85F4uz6L$&@b2vn$um56ICR2S23nTT_t2FN6
zL2s?CNoi_IedgvgckUd0<$f7JYaW2JAlT1gzZpHfie;&EbSoxib3G`CrlnFEw6!HA
zhm>Y!G-zo_6HZRFapML(1!&I%aCr>8_+4pD{I+_gmZ@Y)7>&2L_SOLl3mS89pbtC=
z`T0=}KxYboTRLaA1;7Ge0k8mA04#7TV#%7152@VU=`+jJ(RL({#HEH{46pP?sAlSz
z-2}h_w<jzakw|Fk&P{3x6E7~$rmXbV=;n4;;a&y={t%QKiJ<YC806Q*@bbF&Os!0u
z@}VG{imh;LxY2cTW38CRx}Cc^Do~;*M-YH(9E>@LkSY<uvr9T!!FG5>kwh6%QO(ON
zQS<WLJ&mWQCuwFQH0`CLthQnlGoW2(kNp<ZUlE&B`G}L3S{_iEL{w22jFJ8F(~9NU
zyZmo~=7#;L=eeQcRS`Ni7yczExTs^EcR}aTe0>}}bQcw+$k4tiA5*7>Wa@VVu2fqS
zL<9YH)Zb~P7Wxf&h`$6$9wM7Wcg$B+M^J(@mc}`veO)$Mw3Z!GOpQ3u_@Ie)0-=r%
zno>*2K80{D<aL+>v5p|0EDfV*2Was$g3H{~FG<GSkq*O83-3?R!su~YTMX4!ff2=#
zg~~L{6a>1=Q5QqF9cc%BLgoD_#whR><fq4gG9wmxGUK2-D-OD{;-ND;9y)RoKoRN>
aNk0IYQMbB4+|rr=0000<MNUMnLSTY#a9|w(

diff --git a/interface/web/themes/default-304/icons/x16/flag_minus.png b/interface/web/themes/default-304/icons/x16/flag_minus.png
deleted file mode 100644
index e00958a5aa6d415d5e24cb27d159af76ef19e26d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILoDv
zZAep57{{OIZWYCPj}b(H34SpGO9zUmO<h|$Mp0qDE6hIlRYClc*^(#<1*gt}!kSrR
zS|X&DX7++)!wQ2WH650Lgq5Ma*wg=xSvm+mbl}Im=iKxAoqI?`=zpN+%;W`QenuDY
zmU;OI^Zp^`CJ%GxE9MwH=@IA#t>9k)h8#1@T>Bv`toKJz(ezwtsdN$bJ!6hrDzF3c
znRh`!U9<W5lQRVcGLe!ZgC>(qrKd{|^Mi-X?f02GTA0fh2DU&h^6K?>rZY0U-;0Z7
zGAm1ll9J>_bhLQF!=>L~koU>S@(t@ZiF)dY64k&O$o4UvuKAPAHu%fon42vulu?^a
z24Z8y1IZH+Ap=oSGMtbgKXY@Xp6KxfBGV<pz`a~|akn<m3T}ZLU@A4$ck0W?NO@y4
z$~gW+>~^_G)LTttu7x`vAOr{jLVyq;1k4SHd`(Leuf-x?5R<$-f%MdgZ&lc{RDcjL
zUq<A$)#{UL@D9<80G$W823-vdG=(bEk*%f994+0;(e7%^&{mJTj|qf61k9@F2G{-g
z0@=W^k*UV2(6z%FUtnJT{G?K9txAj2z{dIo;-Y{$_J#Znv}I~{-%isyKX#uJmsM##
zyVobXu(>Y~b$wC5eNbblJD{nWXe*Nni_&n~#BmkD_=e3hnVAxZy8b6nnWV&&Tlk8%
zr9@68a${LM?@5H5pk5Itm0)uq4*wr$z`B$1)H%{vEGLZAeJGTUU`-D;f%RZ5(1BH8
z1z6_ynEaD%reHdHJdXO+C+0grC<p=D!B(&tYyhjlO24Q41~+kCBSAB<8vp<R07*qo
IM6N<$f)+qJ<^TWy

diff --git a/interface/web/themes/default-304/icons/x16/flag_pencil.png b/interface/web/themes/default-304/icons/x16/flag_pencil.png
deleted file mode 100644
index 2d2c67a32660d824ddd75fc784a9638669be42d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 735
zcmV<50wDc~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007}Nkl<ZILoDw
zdq~q!6oAj!R;{p%1tSasEreJYmWqn$oOA5q7}W~%kq^)UgCG>l(9BenKuk0r8J1-!
zWooiWt=Y5;sg@N6N@_YZ0|_f*_OR2LEHXv<qYEFudoO(7@7@bU1pfoPKm;2z=45mM
zZxL6HAnqALY_cMnUn2(d7alPd#>6ZaK$e4t5v$&Nd-r}%PoJ5~$)Qewr_T`O{|anp
z`Rs(dd*^IQ%9K4dl_n!2X;7u2>6jSmM(lcs*!}>qqZP4uVPF%>={BkK?o4c~?OR3$
zO~u90kWNQ0gM!HF<3oLZe)KLPg1++pEr9M?fN)1(9m`2$E-uX<4Tiy=xw&(*X=yZS
zFi?L;2w7RO`ub9TU?2@EmGmPqk*)#sR0F6k0S~@c<vqSz8)ITxn48RWRMh-mUj+ov
z8-;?#`6QH-L^S}tHxSj&`P99RH{bwp05|{~01f~L)b$+s5*<x8jfOsRjFOY73gAhe
zRI0uxlLhbtH}&v?E*Ag}sIPEjK(C*dD|lYB4b?`YaqBUE|4hoxrWQoYUx6l>06OAD
zU``Oh{RGiYQ>>_byzUfTVEHo3?X?)9)oPF0?RHYRxfStsR1nW%?goSky#N{x2<HR8
z<xh`GsY)+st&Bs3LvAidlYQa@d3bnaN+c4mYH$v%=bu2^A<?ee(W0^smLjUu3z`?p
zWm#y}E5xC$uCA~oP-hhS)$SFZpKQyga~eT?i4o<C<-+5j)XBvl7K;HE21<2;;9?D4
zwY6qbK{z(%hhgaTEbv?`EB#@~5HjoY!oWPzm_cV0VA(H&gS;m#Jc0!@Ge9LLu`4D5
z47|67S;eeydI-+NX4Murd|D2DjxVph7#Tx}TD-G+2kztfMn=M{WmY>q!7tTfbmyts
Rp4<Qc002ovPDHLkV1i9QM>GHc

diff --git a/interface/web/themes/default-304/icons/x16/flag_plus.png b/interface/web/themes/default-304/icons/x16/flag_plus.png
deleted file mode 100644
index 560a99523420b6ef4e5753b9342b2aea2b67de2e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmV;~0w(>5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007@Nkl<ZILoDy
zZAepL6vxlGn?^8}sYw(CCfJ8bV5y+k)amAyj+JDX?@F^k2m%G$m&{C}G7Nm1DWz#B
z<Vy`9v$SO|NOM_Xkff%=G!n5gvKKp@yIffie&~T8=eg&e|L@-Ca)F58e}E^5;9w?}
z7+=OKME5boJtK(icEq0Nh)S+-pRqEX%)bQ4VdW@d&6~i${;vfE^NU4A)C*u6K#W{T
z5WwLxuYG-c7jkoFKIP@nbW#!xYcw>Mno50$ckdzIyo1<nK`dJ?*vR1mhmX&V`Ls00
z7n6x*GBRi+E{>jthm$=hhz3JKXevIQK6AefpsxWyEehluHcrT79q$Z=;qS%8iwpVr
zG;T1^P(%dTIb;tGrlGJf8jXpeZ`s*&1>iv~faVhL;&YjA@!7hVPUaeOm6=OUc0To4
zXehl@sc4elgp5YI2+&^zpsnGoO8_hY761!?1;7GrGfO_Eq>w|WqYo^joE+lNqYA!P
z$ulbnfCbviEP0{VJHyqyKcaBg`WJctw5;O+Z-6?_KLzay0lG7#(32&F+gZ}>ooUjl
z$);m;fx|4&a?s4!oYf`B<Y2KELbYCimVFYZz!iS~u$*f2f+aWIUA6V79H7zLc3?K2
z#0vFZKLz62<^NmIl`h?JJw;kEYduG1z0gq_iz=w~H1n`cB=Kzyx%STfazWExNk~J2
zq;k5egwE@P=F=LCR3BaqP~l;Vno6L*5&ORc<#B?tOoxpQOCg<7V{1t?MydVySB+f-
zP%1aWS-DLlU}7h^_Rc;p3FC1x8hXZBO>{y9)<gyD=bjJ4UkcVTYZw_6$?O}(6vTC4
zDTkuKjoGa6gM-H-VNk4my^T>Y{>&C;6SE$6yVb)Xx5r%TmU6-m8}x0e*#k!>00000
LNkvXXu0mjf-AGY*

diff --git a/interface/web/themes/default-304/icons/x16/folder.png b/interface/web/themes/default-304/icons/x16/folder.png
deleted file mode 100644
index 08dbc875641c0f02557d1025c1916c3484ba9f54..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 438
zcmV;n0ZIOeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004fNkl<ZILnQb
zKWkJ$6vcmY=RJsvAP9<xs7SE3@k`iQYbh2sVxxkj^aG@^vQ$VF8xg-mFm;f1V<DoX
ziJQ%4-<*3b-o{;IUv>u$!~D62-?_u2y-fokB_06RS#5le;5|SU)13%z+<x@oHPYFo
zIkWfn{;Shv<?-*xC=JmxXV#~>#sixf_{_j1VhKSq!+p*`GlLu}7+{8+yvV>p!c~^k
z8|or(HK;7>L4}+g0RdEH-k=CC-30Zy9>2fsQ`!i3BG@%KOqD|g?~vupufaYparb3;
zF6W^KR7LXy4c-yK%{V&z!?pFBj3yI`+D85tp`eZkW*MoCI2?~pV^C?HKm}I^fik7E
zagI(-(3HTw44^m^r)r;Zu|h)A`SIWq#anuN@y^-lCypm+Exf(3P%g&fG2!CiV8rnx
zt?l#^2J|+zbop?^c}qrJ)eB|G7!HS6GM;_Bu>E<L?Tsz<5^xc?`t)9YvVMhItNi7!
gKk09N(i`B%Un<NQ(N~H==>Px#07*qoM6N<$f~IQA761SM

diff --git a/interface/web/themes/default-304/icons/x16/folder__arrow.png b/interface/web/themes/default-304/icons/x16/folder__arrow.png
deleted file mode 100644
index ada7b23ece60581afe13de082b7451098459e7bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 592
zcmV-W0<ZmvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006PNkl<ZILnQa
zO-R&17{-79nZLPOR$>`RsR;#zf+7+`UiyNFh`Q!cLOSK42s%b|EfFF#3d*1e4O9qH
zp+gcu;6Wu9qqW43$_RJ0U3cDhI;^Q+rUTDmW_W)*&&(4<?-~GtfQvve8(Uwzrwt(V
ziznVwa-hEB79#&2wU%h>`5S+?q57pOgG=Mn>Hp3LSy`yZECX~Ipd$En90bOox&k1}
z0P8mZz!*fa{{k2<f{I&b-XLo^P)Q?hy*CIE#d;4O2;EA66V$EkAS)-A@1MtTnFy8M
zGhjqvQPzt?*O0N6Z?Q2{gqrK_nkaSZ!F17p6L5lU`dG=8fm8HN?L}RBmF8yS<QEn&
zzp#K4tP?QZwt?pChd9L!{m9{P?Ll6|_VIdR58~XC)Hy^l5#z}uPO(lQ^s4tqOjY&G
zP2I(*p+R(W9yQ0Rc-EO9ol0`D=qms!7Uwc?=29s{GG7^PFUdc9=4kQmXuN`igEY`T
z1EnWwX?vOA_^w!{>LSQuPcFrFa#aZd!qIobop<^Nt9JyGrFps81zLWDqKYy;Jbq5y
zp{b=}c@>h$BwmG?nR$LM1d-u!2q&9QHv(I3U$*yJ^}&UBX&KW`9#LOC%eno(fUHb`
z0z)E^zyyZIu5InFqO`a4NNxy3fWm<o(~|dg{Abhn*78W-*j(?MiKo4*yD;*;gV8Cb
eTYBUZ5cva4x<5(c_atfn0000<MNUMnLSTY=>JOs;

diff --git a/interface/web/themes/default-304/icons/x16/folder__exclamation.png b/interface/web/themes/default-304/icons/x16/folder__exclamation.png
deleted file mode 100644
index ce288bc15145e4784fe508c40a40a7f13f25b555..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmV-a0;~OrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006TNkl<ZILnQa
zyK7WY5Qo2W?!9hy*=!Q>P$ViLk`#+*6SVUW(8j_-w6Ks=HWt1RODn51HrfheAU09_
z2dqR4C?SLplYlYAY#w{>CU^JFoMVxvuOtV43}=Sl$IO{yCWkBl#&8`t$>GkN_q+rM
z{Z__%PW9b-^90rXtwF%#iz|<|uc7lhC5vSEEZf&_q6p`)y8yQfaH{wNIxyDa+#Z1L
z0s?;s0M??8;9mgiRdFf@_$~Us4xDDF9P|bu>Il3C4}`J@uu}QJ+RA5&#WF3W^M9G6
ze1V_eW|7Si&Uw$6RR`)o4Y{N`L3jB!>&X-<DNbcaHV9apnZ>Cx@IdaV<A(EK6;Qwz
z>B+bBk;^yJ)Y3~FkK-i!O|@!FTUR^ljRv9wqF`;m$M*ZsmpEPOEOYJVYnnUySzG&p
zN&^)^MQ|dhDo%trO%X>R4s0eM%Ee-5x!uVs!^6XDB;WD&2yr}x(`-wE$mTe;dL2~)
zRj^rx5#efU_nFrDm5;m~y~|R40$<9py!sWV%Jv7-tvEQ-iMY)LSP?Gd3LR%nZXtKX
zE^+DdQwm{Bp-@Gsk|c9@RlHNuG{rlmQdwuCVVXWo8*IJ7VAt_dZ{99YjB3;>4=F}9
zicvz_QP1M?7*QBujU`DEtg+k~Z5eq##>nGWS}^wqdERq^fe>@dK<>}oyVS(#4>P_u
iH?_d@&^vtw%>M#mM?SRW%D6iK0000<MNUMnLSTYQsS}m}

diff --git a/interface/web/themes/default-304/icons/x16/folder__minus.png b/interface/web/themes/default-304/icons/x16/folder__minus.png
deleted file mode 100644
index 0f7b0fdf74975f12e6236f8cfa4af0ae5693d0c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 500
zcmV<Q0So?#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005INkl<ZILnQb
zJ!@1!6o#Lfxhop{hz37mAc}~ZPFV6M1dCXzB#l~VAt@9gwiY(RHi{?+0V^RA2tiP>
zu@VF;i$%;vL_`h9x`{V?=bU4)H`!IZyE|}-nc+P1zK3^Qwc-JAj&r~${jE=CJO)TC
zKQZIbu?tUcA=14y1gZ}wW;V8o+UAufW>}VW?RTXTYWOxl+W-~8dMI$-quK$GHXv9Z
z0K7+(@IQbz5maK2evcF>P|1+kYX%9T1T!!oiJgEbXe?Gx+BU%VrDbBv!bvmUc~QtK
zm_)Rod<cB2Eu$ig--y>mIj;u(=Sw3BL?LL*=vJ%sU+msD#9FgS6hah8>aUFE66~CE
zL1RP;EO;LfX<2Nf>4pswgZpXC%2~xmUq88nS!*ae#zq*MIlT!`3B=g4v%0>HNDin&
zd1`X9{O^nNZ=Q3!BNHZq<T<%i+sid20Z4wp+uO6VY#HS6;PA+h<_h+o82&3%rb3#g
zm<lT^Yy57yt?xfWaucS3?T^ledlMJ0oGHqIcb-P0fp?zig<W&cs?0rjAp;KB101}1
qDqKE#fFu3<<qu!^SXq?2z?VNr2o?FV#*?`K0000<MNUMnLSTY%P1mjf

diff --git a/interface/web/themes/default-304/icons/x16/folder__pencil.png b/interface/web/themes/default-304/icons/x16/folder__pencil.png
deleted file mode 100644
index 6f974e1c3d836779df9e4f9ce8894da216fa19b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmV-H0>1r;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ANkl<ZILnQb
zPe{~37>1vjS<6Z&HN^xq78EZ*5PPt2BZ!J9Q0P|l2SPgLMTD-^ISE9nYmg*%P$EJ)
zb|~;x$rids)Z!*BxvQ(c`M&AkFO4#F;ANO^_#VD@c*kT0EC9xE5ol(6>vIS^21tas
z5&|u4*Pq=%Wb;<%$UN%4_4}C6uy$qf5h02;?Kc$_Xuz%mbRD1~ge@j8)}s0cK-K{+
zYy*I`h~hQ^*dT(6-=g0l|C>N1Li|>5kU$g{0tCQ%g;-9#px&e2Q=XjW$BiM1ucy{(
zu3`uInOVHzByd<1tSH2CK|Cs+++2~jnLLdhU3|DVj*7=R$6R(66(QB{`$V~<0jw8@
z<<v(M3K=Hf<w)Ng<U#%ojXft&AE7>?^mBpg`dSuOR`7!J@|T4|;Un4XE6$(W#r@k?
zICQd|np6^rEr_gITqu|Eit`G#6arceQc2VF%mk@)H)A8ioa(5ewRs;ZQ7n)5s}@Vk
z%ZT7az%H3Us0qiH_Jkv;&MwBDKA|mnj05#esK}av2omo-**d(E@VXl1w#5>Cr!Vw3
zjgJh|dhjR>wJrYyDyUE{mkBD&&o8pHVk+N%fyB4(=5lY})Y+lC?fG=)wYrA=EgJ{O
zSc=6W)>wMS_l~~EF#2#pb{imEJ!4*0?=%a^T2r;1zx*l3^uTi&1it<PmfuCe<dylm
P00000NkvXXu0mjf%6<#;

diff --git a/interface/web/themes/default-304/icons/x16/folder__plus.png b/interface/web/themes/default-304/icons/x16/folder__plus.png
deleted file mode 100644
index 152eecbbb856cd947c968744aa705e78ba69cb61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZILnQa
zv1?ON6vlt=z86W`pcrkeMQjIga7m%K=%O9$;-GG#bQ1R<is0bnZkLK!5QnaHkx-%1
zKR^WqTQP{HA}ZPj8q=D*+;fgYQd4P@^uihLy`0}U-^UjeCLI7lz!l&qyE|XZm;s2a
z`C`V<@oP`-A=0@u3@J=syt8?Y)c$=rd>yOTJN5^O1ZubzKwAJ6!Mbb^IEU&MfV2Ri
z?E-*vh!XAua3+F^@6zv(b{nYF5#P;&2vI^aFd*_<0bWqweuG3$FTXx7;~Nr2%y{EO
zp;@7cN86MOLw**QQ4vnw_P0d2ss_<?Uy@V^OFfD4(&7WM$wS;fd~Vxxb&mD&Z;l)r
zW+RUA(l9c5yf?|75Yk5G{ONICF65DZzk_)pA`OX^YIRcv4&z}gydu_MP1Yb5#@;_6
zSDZtozNI|gH{`6>YKRbuKtxSP&t4iE1z7Pbq|clH;O+Bw=wK@oCW16`a=qBkO(g<|
zsOsy5nRy1ph7VpIIpFf&0m!B@|Aop_s8*|(3ahId{E36)(pQMMQO*G=yW97nBqcI6
z<Hf0o?H&Y<N~MAe9Jy!vX6FjbKAM-_07wIa`!7UOiGd(H1m%fX7dwUN;}1Sf=4A@_
Z_7`{r6Ttq}ImG|~002ovPDHLkV1g$&@a6yj

diff --git a/interface/web/themes/default-304/icons/x16/folder_open.png b/interface/web/themes/default-304/icons/x16/folder_open.png
deleted file mode 100644
index 06452a8e747536953f66aba41f92409ed5c38a8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 639
zcmV-_0)YLAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006;Nkl<ZILnQb
zJ7`ov6o$W<d+(a4YnGTqg(wLY1`81(J{n643qi5d!ot>0QG$(NEoft7CtCObNuz?;
z*#wM%REfrjiOC|aYuLESX3jZdu{XO(DhIw|9_K&jKQrT|?|T58;}URy{~O<9<Ox6;
z^OYDG7`XW0?pk$@Q2R+%?4!`tPgdNE^GQ22Ntk|g{`UGbRcmee!p?nU+xHMLLT!=N
z$}Gz>A1EC@hjXr3X_ldeZw0AAjyDx-twCH1WF5T}2TrlFvdUulH`PBiOa)UxtsS?q
zf+VUERhyOo=Nz@#U$%$9atIVVGrV)C(ejka76DUfd-9%oy}>pK0H_3_bBK||2r)t`
z+7>VkXnwe<;0Ph0xu{A2?+_&cj>gD@7lWMCL@|*KC?N<ILW>xL;ahT3jLW*Uf|xf6
zz$Xc{N|_K8({&4LIPX|mSy``QlR#<`u-t<8o{9I*={a~36`@c_PziXSP_5SyB?a)G
zW<eB0NlgUJF%g0&>9!&!fzpl)lR%Wf)vvn|Z6^0O9vkDc&=6N>-gC$iL=-b=lG`&=
zDwR47afR_&@IdFtQ|n%;vx^upH7tJ*79mRtoA5ZUzwUbRW`dU^PpvZrI)LtvUn%#!
zdo_9J$npJM-F+n&BlF)r|C*S*Hwn;Fq_N(tFJ;OP-|95bkpfkqI<*k59h(_DxA<l3
zOsThjXmDtFP>q>8&-BXa!@hFiglh>*EyQ-`H~vwJjEXV3@MHeS{M`ImGkSpvw6kv=
Z{{RlZdz9hYB$xmI002ovPDHLkV1j0&9P$7F

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document.png b/interface/web/themes/default-304/icons/x16/folder_open_document.png
deleted file mode 100644
index f3224d33d5e7dccd2eae74d555a90ba1cf4caa5d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 654
zcmV;90&)F`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00072Nkl<ZILnQb
zPe@cz6vlt&-20yYEyN)UDWwDn3R)D|GAJTM2--x@s#W_o(XxHiDkx|Xwg`eKa3w7x
z7imzqC`czK6Dmt*)Oo%8r^UR{6oL+Xi+e8T<99#qkq>ti01++&`}x2693$fZHWr;2
z85p>D_tx*93*^;rBwZ!aUHv3oeTbT^QDgY<;KI%3(fY7?rD^A0lJ-4B0{Q9^iwpBq
zzrP|oFa}72)EMe^sCO|vLI`2ILGX^4=Kv&ay&O2akNKHtr28bMrG<{pPRivnbLq&T
zkL_oMa_2s(4^YTN?`bMHN62%kt1GxH<JXTLtgWq4tJS!2_2Fpl+-YD)U4TL+dQb3f
zQ_*|s8yh6X(3T{$Sj+PAGUF2y9O>=7_i}P_)H=TvPw+Y3<y(QN5WL5TKw&a+;slv<
zbaZquRW8@9+seQO*FbNUsKGmjszL~)*8b%!WLYNL2x5T_pvF*JS;6~&ihwFcWYa{A
z;r9*$8(dB(o}j9{pPHiY_%&3O)Y@$%s!En+qBC>gJUEXH&fyCM=WyQB-g6KIN~ID;
z1T9FcD)o9@^!lT~^c-YP(nk7uA&2(?5kZ?OhE)}X1_97^<8kO&S*M#A2|f^tzu>(`
zMG%q3;9n*p!dkVOD$ok_y!ph^>&a*D)>nW2N^FY6i1WTdpo*$ujlmj2VlCDfzE&!2
z(oFE&G3C-J84HoKyG#AUgTu!MpT3yzx8Dvt(bm>=F~;p&$xy2;*=>!;a~F8N_@#2R
ovQRnSW$3HT&fW*|f2{S!AAfW^>PcIz9smFU07*qoM6N<$g0GJ`9smFU

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_music.png b/interface/web/themes/default-304/icons/x16/folder_open_document_music.png
deleted file mode 100644
index 855299c23f21445ee6256032fab70db97dc545d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 720
zcmV;>0x$iEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007)Nkl<ZILnQb
zPiUM)7>A#E=i4uTHfh3=#9f=3L<|NY5s@10O{Jx@p&)n>p_hsW@hXCP6t6)~qJp4A
zK@hb<pb!)Ug&a%@ZAwX?*){7Lh>0e<N%qS(?~I52@~48}z;l>)nBjSU%xjk47XXam
zW#A$H-})^CW&om)RYG8R_{9(2J@{*lw7x;EyPvpckX&~WBlh^JwJd+~!aIlCNd3`~
z#9bwFoevQ3q&w@>*2>iX{Doxb3Se5M*3yhd`)ctx-uwF>@ahO@3P7%-kD<pNq`bI*
zIrTKQt&MzF7nMqd)%cl5Ryxm*rp~R1ddRRrl|#I9_%x-yvyDp<{@&bVcXyXYqrufz
zKAlRPdkz>C=OM!eRlK?*f-24ZeR9_F-co@b7qhjs#mww1<9&S}{xCN;6*)bQ$7_nZ
z^f)jvcvY-v_5WG9m)D=1gpiWY=b5imnkNk+?=tlx6m<>}p;l8iDm7-7I%$g{#2At!
zG2#?5Y&fA0fyVYWsva?ha@jF`xxkk{8#;11a@KN?B<5rbk#{LRYe7V~JwH$J>}!Y!
z#nX8Xf@OFxCXN&lX&Ef89vMX5IW)sNhf}2z9_E{6PjRS+rA^`OXH%>(L?SesO(So7
z?pauc#F@CIpJq5zJ#T)u%8j)q>y^7aKLnGdfQTT_G5|W>`ob5s_c%oec=h<~FQ_Vm
zvc<xWKk@40F=7lNf;9$X47>Gu90Bb>;n#bt56pdg>(Pm)&h!)pdQAv8RX(~lNdQWv
z5&`fb5JW(PKdRLZbC}@8Cxn;InJYeUp|^i<Y-H^0$k*S`>h#UwucW<w&sgjJJ(9lB
zSdZ>21g<;J_1f>%iRxPQQn#hpxO3-YApMWA-v0+U8hAC*ZO{1t0000<MNUMnLSTY7
CSy@>C

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png b/interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png
deleted file mode 100644
index e2f17c32b0825334ca49ace3b8fc2029eaa6a5d1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 736
zcmV<60w4W}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007~Nkl<ZILnQb
zOK4PA7{`D2+(#14t8tP{-Wh37g!n)#M!PDslr{tkZ9xPVA_(s7Lb`M-K30N)LP!>Z
zpcb+ULM<pFK0pXXn<kUoT(7Sg%*^QAoR^Eac_<Wm;I}y6;e7o6|8qX)*?9qg<8T=0
z=l`t*YncG>Y+A9F!NH#|oL(s|B1^CFo7xFldhwgGIKo}O>bg9;{L}BNTTh#{BM~%q
z;cx21Vvx%*(c(O%H+M+}#sH_L)OD$PLzyTT#u)Qy1EUpIN&x(Z3<Ep5nScBUr+Gha
zT^*Yn8_DPM%mpJ~KHv21kW}iq&<0Xmt2L__r7%+R@<owXO9|2JGKD2Wxm@PRu`8oe
zsc(QGp$w$BR%?t_YgnxjBB8U><=j#eNu#DvC@?WK#c(Eb@%HresHgOLJVr~jlIwv9
zhf+yWd0q2)b+(nGTffG~Vy$KWNWQvJfoD`IeGN^0VCc#EM3Lrg7;!W5Y0gO6`#h2)
zafH&4;@S=J!LnR@N2#ocUn%D26~FCmVe&7BN->}iX;zZN*=WHtN@7wALI`Fa+-LCM
z34$-`$o6bzOJ_i?KcKr?BfOdd@9`WA_pdfkXr<ByF3T0kVxf<J<|NsH7VgYSj_<A#
z#|CQ?s@19^PL3NM%|W7^peA3YDC&GTb0_3pQ4;6>=GR>wKkg9p_4wol8fqB;4W}ke
z+q?HPV=YD-O!^l}l@+$gH$1%kC%@zbVZ1^ZE23Dj5GGVgrN9H~fwqVL5_e4Bc)D%p
zSA8vQ9j%VF1U`(P7{LNvU0qnf*xC~!1TVs{!C6i4`#pj~2b?iu`L4CScYAL8zTEXc
zru5k-gV#iT{d>oC)#oE=%H`Pmq+q$F47Z}CaA&v}{?O!-Ezitc0_1;;^@oq9z=OQZ
SK=^?G0000<MNUMnLSTXk5??p~

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_text.png b/interface/web/themes/default-304/icons/x16/folder_open_document_text.png
deleted file mode 100644
index 5599a35d8ec93aeb789382e383a66e35b89b890e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 706
zcmV;z0zLhSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007sNkl<ZILnQb
zKWLLd7{-5h_kBr|v`s6q8d2MVRS_aMw5T`<iiik;iwI7xjxOTpE;<Pcf}(>Uh(f30
zD0c7<C=LqNq-hPP&A%@(@w<D^A&I4e;0w=i?{Uxl-UnXw@rDLKDb52s`M)Z8&jWzK
z_dDJ*HFfspwO`d`;^sHPk<BEs+X+XuqO@6mY78ImoVhwU22TE5>BMlJFuetj5H~8U
zE`Oo<{RQ30(}3!c8bc?T$*m>|h{#3*aTXuP0EDR=ll!*u<;`o<=s`>}NoIJMVzJ0l
z;?S;7>0>jowV$*T=*xKL7)Y!|;+STmj_r1-{rEwv)gp=_E?m5ODz^40Fr%$NU&cF!
zIQvK5If~^nODijUE*41!0c&e(JeZ%SkjveAzOZmAux>pbaWT%u>w#%SI-N$3kCPo6
zBNc`mnwz6*EtyP)#bU7&*!2tou|4!bDQ#%f>zGD^YPCw#Y9S(s2y?Tubh}-(fx!3C
z0kknh^*X6kn#}k(*=&~F#01`ZM1;^7e*I+-h>el{2wH32FD_EsbR5@g5=9YVGKq-L
zZnxPnG0`J<vjl~m0|SfekD#@|I>+R`BY5xGy=M<1LVk1<5y5Cpr_)jT@_pg;5_GLf
z^wN*}vN$J{N+n9A617^5N~MBP3avF7dIUh~%0o%ryJSZ39&rMAymL6`I8rDe-jmPg
zao!`|g9u6~TFquc14F>3SD&f8TzK-X-Kf^WAc688>l|wEqt*n*5Ew%k1O&$LwOmfA
zL4qd^XwDs0r^R!8Z1eWL(|c#9A3vLS*WXS((nCXSWsLoMB_)a~!G?zCsTH2Cu9Wwe
om&+$d3|pfQA8rHjKi2x^Z+kFn+GVm?p8x;=07*qoM6N<$f=2L3W&i*H

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_film.png b/interface/web/themes/default-304/icons/x16/folder_open_film.png
deleted file mode 100644
index d5b9900d1cf9e737b56b66220b4874238141629a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 710
zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007wNkl<ZILnQb
zJ4n@09LGQB{2#u%*HZHlX1Q3D5#^9ei-b4`K^PVeEzT`9L^!oXLljLS1YJsUh>}3F
zhFT)ZbSNw%dR&Qa4=}ym=Xo{U>x&3F@LkU1^ZS0!`5p1@iUdFiP6EyR--tWM&Ck0Z
z;Jf0CbF{P^yLutNxPVIjAgHP(jBF#Qsz*p~?WpJRZsh3s?=6=A@Qqzvl3`^7LHSmU
zvzTOphxaG=^yW2>KQ*oaq-1W|ow#zn{Q~f01Hc-MQwjkDWi|BlpJIG;iuPT71Yrqb
zX$4Zi-1I@&)z!t+)YRei0M8kNGo}y;5JHenFO&9ixLlS}El7O%iFJs{$;m=hZJ{X7
z8G|)?Rn8c)=`{IFhFmJe{Cu3mw_iAi*WKNXF$Q0oH3!xxj8^ON3cyky3GqdapuB>3
zJcY5y@$vD$9Qalntk&yfKtNVGl$Df}l(N0Gf!2LTcJ}u6qP5=Wz!j|nNYCTzLY&0=
z=iGie13=(=2r1cA+sfG3Sm7Dh0eq_!wirQ5$;8A963rLsXl}yuLrTgcIBS@_cbdMw
zK1N4J@n=86-sTm6#^|C0>EUqbik*}Lm65vDN^etwSS(i9cP3_;`3N~J!ouyVqBQx8
z!elKvYsjbasBD&8`Zp@47#J8pYmEfT&fT(`m(py)IjphRVn0~tuz7(L9?@t82U@G?
z+*3!@*XN7F!^0@0kU%N0`Q--^&mP@<m0n)_75E{-IfN9{G)CC6HA<wq3j7c)0#Z3A
z2L}g9CX<MjT;2O6{hgxMI*vqZx3%qP>)0`J<4)7H3A+T?VsoyJp`oFMcs%}e1K{`}
sfwqv>v|CG0Mp1t@W-bHjAKyCj2Q;Ev3E`{-A^-pY07*qoM6N<$f{hhdKL7v#

diff --git a/interface/web/themes/default-304/icons/x16/folder_open_image.png b/interface/web/themes/default-304/icons/x16/folder_open_image.png
deleted file mode 100644
index 4eb3967dd20e21bb8421e3b1e2922442199d5ee9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 762
zcmV<W0tNkvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008PNkl<ZI1vTG
zOK8`1008jM?=jn^d$@FNQ}Y>_f{>umAks^Phe6;aJV_B<I(Dh34xPFsK^G53%n~G0
zA`wHvgHh3A=t0+VzH-ZnoBQkj+y382pHDIVSqX~5VLSx@0002Em9x>&fv?pWkh9I3
z4;}qvdG@weV@6xoS}S@sXzLnKlobF~W&GG{A6$6yLr}*Apj@$PP+R9ZS<;%HcK7xT
zjr*4@Z5lxVimGz8>&U+8wrAhMR2>t5GQ}XbTA;0CjZHg;OpT2x`uFSX=+NEM1NQ7X
zG*U3~{^;o2bxZ)N9HSf~$S8`!iJ#|P_%-S6cx?5W9>ZJd?%?3AY<X#^s6zr!<rt+H
z0F-5EL+5`E4BfOG=v=+1uf4<51A{_J7MGTaIz#|fiY+m;04NLF`#Zh(!X~hOXvo>W
z{?^k@NXcTeS=1o`s8fhi2mp$*GBf#&*~V!w@Wy?Q7w444qE;#_Hk)M~B7iE#AjJU6
zsxp6nQdza>>{=<uETrV0Ir3EH!1`dJ*(~Z10n{n9q|gFoS-O1bxXlNi7n={I#zP?`
z&1TkkTnagBE-Vz~pOb`0i0TxA7=jpr6oQbubPes1p4g_lt4Av(yZT#R+16Cmwb=&`
zs`A~hl0PO{3dM>PgA`j*Y)LU_%-(Wu;!C%#oHH?gO-RWvKb`c_r>DGgc;|07Cnu*$
zbi8*W^*vnBEoUhvDMmR)jrr*2<RjN7nyy`47IL<CYp;*y-aOUUxbgAS#fztFw4?9$
z>!$mE{O<BIyZ3GE>Fe(;a<+0{zm3D6+c?a+!9i7BJAeL%tE=vr{^DF5M|%PA>T{*n
zhl`Pvz1+KY!;URG_HOz1`?K-rmF*|%_V$IMsshAEk7oL2E+3zm%Af{-l${C5nY;hq
s*?s5sor9|igL7kJ$It>m;{gEv2S?ptPtjX#CIA2c07*qoM6N<$f<63s`v3p{

diff --git a/interface/web/themes/default-304/icons/x16/folder_shred.png b/interface/web/themes/default-304/icons/x16/folder_shred.png
deleted file mode 100644
index 2208550e132e4eaaf6b2e4cefc6e2f8cf78c3dd0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 578
zcmV-I0=@l-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006BNkl<ZILnQY
zUr1AN9L2A{-=p{#^ji2*NI`#~S6_VbxrY+$p%;77hhoXvbgmdVbG8Z9!w@ADNs1(L
z^heWlHltxvb2K8-HoHy7T2m(K{q{S*`@3-I_Rxh7hkL%~oC{YYB5k#gY3aL6%Y<2z
zp#48+`YiH5vklY<+_e3aw%!K_N~On6gpV9Pn6?I1LJWB769&<*G0G=yNi{Y{9Kc6b
zb<BZO4+EVio|oyMFiQHoU+TX8&;fj8RmU7ib~E5VFbvwy4^wWoQ|exB&;fj8RmU7y
z2rv-%U8&IC#t?m<@k-rYk2-*ltm>Ep@tX_;bHyT6MCjX;Tk6i&`wrkEt2*Yuw2y&M
zM%O7D_fdAvC&T4TzXSNls*X7@*}=e>*IpJ`oAFTLqyJ|q-A8|;C)%^+OoWgVXh06U
z@Gwct&F+;}L-b{$d9k=0q>cEsoL%9UKJ^lE0_4qsaTm9U7E-tA-Gj5St;GPP$1kSr
z3Lkgmtd1NQY2y~dn@K;7xoRHeKXlQX@Tp0=!p9vst0M=ZSGdK%+Vs^Op-=RM4jO8!
zd1hDm>ONp~<N%)5My^FJ^Ojiexh0_!Kjv@Hzf|2@ke81d5Pw6fu033J#Cx6x?_A=q
zlA{;$(Ck~6VSmS6<c=aQdujl4hXlt2r-2BD8&0z8J<a?j6z|qea9rj2A5tPw#mZaU
Q$N&HU07*qoM6N<$g6u&RIsgCw

diff --git a/interface/web/themes/default-304/icons/x16/folder_small.png b/interface/web/themes/default-304/icons/x16/folder_small.png
deleted file mode 100644
index 0f479877b277bbe25a5c3d5263123d5e621fbfd2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 308
zcmV-40n7f0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002{Nkl<ZILp<O
zJxT;Y5QV=Ur&l)c3ZjX408e5jVkj7y2?iQ@1Oo*V6T!&DyNF<BqOhBcVo!HhceR1|
z!>BvLL>5%?cs#zUqD(1;AyqN31_#t#;qG{D6IlGgdtV9{E4z7iK+Y_$ZeJat`h~ON
z_H6y|PXv;wH3o{vhi0rr@^|lV0XBz#O8f*+MKV^Ec_7SOVocZ^JmOo#w`39AWI{~X
zr0n!wAtr1JE$^)<^3pu9wl8}zvD7<45Jow8B>K1cOTjtEW780XQ7?guW^7ccO+{@g
zj4IAKHf|Ph(TsZurq4WFo*Z0v^({`BR-AWr^Z$QgaKI}tlYHPqzi@W|0000<MNUMn
GLSTYa2Y#mj

diff --git a/interface/web/themes/default-304/icons/x16/folder_zipper.png b/interface/web/themes/default-304/icons/x16/folder_zipper.png
deleted file mode 100644
index 874d076fd8a8404c5ce3268c31e464a158ad142f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 569
zcmV-90>=G`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00062Nkl<ZILlp-
z-%FEW6vq$GyQ?m{=&z9QUkJMDrkgGTyNIBOf`pJpG8$8xy2Nb#a!AI=ia?79MmV|%
zs`+EN(kyc<5mPqI*S9szrS9~64?8d73!k0mIp_O1?>3shWeDWsrpa<ud3?#V5Yai*
zz5O~(>d|-mQKywRUNV=T3yDO6)9JKS?Flx6ta|jV&nO}OJ<PRVPX)-?Y?gz;px*<?
zAgdnD_8R5duKSF4N<#t`6bc1dpgn*Lvg*-vk5M8!t50})B`IKm>$<W)djJ_^)uUX@
zDDB(DM_gTcAn5PM0__20kX4VeT}Fvkmj`)sp<jT!k-H)bv<LnblZ@<Sr=bZ8jYW;p
z{daMIEBQMDz5!$`(q8rFATMXy7+FhW=DJ<*zQZUzn?LSzd9Ke#m*9-q(z~#*TdOhh
z@aS#CC^swfarVC45LDJXW^<{_QvYmiG4k-}P1q>$^4DHo`_$>9OK`?)_Eodg70+Yj
z;n8TwD0jV?7_WY86I9kaW}jbNl$tM<7<qWqeacX(RY<JcH<c#BKDq>F%%+CVOFc4P
zW8~q<(|*#SkrpTEPIYiG6B1O`J7yn-PD?$Usxb2K@EouldU(MZ@p4gKn~eDQ|A9SY
zHrjteDzayfI>+lS9ketwA9L>AKI6RJOCS)4?e76(;lTY5?k{#y|62^b00000NkvXX
Hu0mjf0~-@z

diff --git a/interface/web/themes/default-304/icons/x16/folders.png b/interface/web/themes/default-304/icons/x16/folders.png
deleted file mode 100644
index f236e50c5dd18e075f427b6e74c9c59aec157e3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 522
zcmV+l0`>igP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005eNkl<ZILnQb
zy=&A#5Qd-G-6LoaB`H)eiHcZ=_7;Nv0XBk#U?o^sq_BxtSXv1}>{E!CLYp)}Qj3~&
zf)a#yNgzcM(2Ic!Ig**#wYW?8UA}bSW!c%Ccc0m1W$sl#1OQ5Dk0RU$201#GN?|-z
zGa`@+l*0MT4=0}EesF1w%#Gc729WlyiGVo)-KMA>STD62o(WZhU1R}*aC7b31f@cd
zj`!0$cpZQsf@LB=D*PYvuP<*nX1a^%-ZAjpHvJc}x#6ZrjA*NcWn#|s1k1E1X80k>
zW|%4^XLM_u)t_~G&)vF^3y*?3xVH_m=^-*)jgm7f^#%IRo@VgwhkNP_C2O}3vng)-
zTi8W5#kX3R88HgKH#RUQ1#>VbxhbyOU8*AY^j%|Z{xjBT>A`#->ZG6!>ZGiS?@<-G
z@5T#S%?7GUcBRqSL``bR+Ao)K=hSKhkuGHSOtaY}AUv5m`EF*J*GYE_I+s|D9AX#p
z@b~GZmGzm~+3EMxS80q+`bzq`2v-NBmVN&v#u&Sh&E?bZn2%Jpw8GQzd}@7@69J(X
zYh4OR7xKp+yuC6Y%fOEQ2r%^cb{x5MhKoo2-TEqvqm%v;Sg7Xz0wz*nn$qrf?EnA(
M07*qoM6N<$f(icgbpQYW

diff --git a/interface/web/themes/default-304/icons/x16/folders_arrow.png b/interface/web/themes/default-304/icons/x16/folders_arrow.png
deleted file mode 100644
index 720b84d47b833c19139035180e26806240cef659..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 625
zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006wNkl<ZILnRB
zT}YEr9LMp~c`mxG%ZdoPjO^A*gk}&GLWQN6b<^90iuNLsWG_@(GSS@FtR*w1Go5qB
zvUHgxnG~aF>1wsDu{q0LTs7A;Me^74e`>YOK_2*Wo`?TAhY$0pIP<E1N8f+`3&bk^
zQvsc2@efdLmDDLrT7gJs>cknHai@B~Bj&oyPa|x`-1v=@(TvWBv6SRDb-eG(z+Qy<
z^ZpjL7h?89lhn^pD~4<MIWe|i^5=Uwm>Jbe&3<f#L&-0QG2$+WJZ9U0DgRac2sR+<
zzlNt(Twz!6#f%ulAy$l-9L<7V+cD{@N5ree+um}xj9INu<h+y-gE+*B5tE~tzjF(s
zUJcwmC-BW#gXr`$2F~+ZCQ>NH%)3U3m|TqPZI@x<Wi?)Pl_KJ*MIaQygR@-CL<Xgt
z3g~d@&SM-jy~eFUE53Ww3FKg33H;Wb7`j=6@URjx`yB38@_JSwFJwd^-hP7vy7!QF
z%YE}avdfr>XYEJu)gi~a?kH}b6dG8X{Dp3l!uBcm${^O4H>1GfLtPNqqkV*q-nIm?
z(~yCFeLlht1&k#^Tjg#cgJl{=#;O9q0Vj~__*a=5$gZ{}kS%3=L~}^!rjBL{TE^IF
zwyd~EmsYGF-+ac5^fCj|4L<C84#+A^XzI`<kWI&g7V*;ZxR#2sCBz}t#^cwq_93Lb
zu|*|O<H<!^g>7qAE@H`RmB`T$YeU}Q(G@utC-V1Y4aKPQ$VuxLa0P>|I)-yn00000
LNkvXXu0mjf=&3Wo

diff --git a/interface/web/themes/default-304/icons/x16/folders_exclamation.png b/interface/web/themes/default-304/icons/x16/folders_exclamation.png
deleted file mode 100644
index c41051fd9255a393166bccb994eb554c3d9f426b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILnQa
zPe_zO7>A$vzHeRsteRSgl9~k`f)3H8Ls0j+1RaVl1wj#B4T8FLh`JQftwV$z%0rh5
zuSR7N6qOQdt3^<X?&qqz?zYYQ&U9E?*04VVKZcp%eRu|bX6kx?F#zCwWjBW7Kreq^
zU%cmTRC{9#I1k>lZQ#^{OQ>!<8iq{WI(z{j`u)uq5GBC=z+1cFyh$WbM^Fo>DjOg$
z>|cEM0AFJeHFnU{yBC1K7{n0*M4tasUU+_o2C-F5)ir>+3iMyfqJoOWgdw(6LL8xU
zBm;3&4kG9u;zST@@y=n(KbZTNp=s-Ze&;z8sDf$*5YLbCIdg+}eheqJCW2bQJI8Eh
zhK{aIdXGFlYL&jKf!HF2e46f^XDQ^<h%KUGao$lbl@PILxrB%ihK6jRfGANQ3Zg_S
zxe4l9c95)3QQy+fa&BUsa<Y9Fi__1LwJ)8VZpSK7U=^&RE*HP1Wy>y(ow!eP`v6P1
zw|JGRa{In3l=3mwTAW(qxQG>#2*iOl(ibK-;dP0Tkr9f8uecy$WhK2%S=Eux=Ls;J
z8*RP!BE#)SwtHiWW}v>Ui*LDCJbE}pw)_g3>&Rx`;AMAJdGP)Cm)WHklau53$;=U7
zd#JOK2z#40wQbg5hPq&xgNLp%J-G)WLvCReDSyRjH*s7<)I1%$r9(9pDFxrlobK#t
zZEXnVNF`QTjn9)xtddF;Xxrjg%uiI6pL}3=XOH;?{7Nnwf9=U-KP?$ZR-l*Hwa}H#
n%J9pJlbJc<o1>cky`?_^GwOPx_JN8`00000NkvXXu0mjfr8+Id

diff --git a/interface/web/themes/default-304/icons/x16/folders_minus.png b/interface/web/themes/default-304/icons/x16/folders_minus.png
deleted file mode 100644
index 435b57b4c96359c60215fd936a1ee314c43ef89e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 564
zcmV-40?Yl0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005|Nkl<ZILnRB
zT}V@59LMp$&$;M!U8YFTRT*^AO&8+Dx`>J(At6feD!Necg(8%U!g9)Dnqv-449fX7
z(GY9CBnfsALt&&j+NMlbsO7BFnr}${dj6+2&JGKG;0x!R|MNWOL%}9NA^YF>`QLk?
ztZJVMc`xZN-~vrrcd;=D#0JtQXS^qn?t-Aq-ze@u?Ze($SK4^Sdt{WB{OO4pU!S~=
z=)~1zs<#-sD=)NuN4qg&6Axr`VDh&&SFrQBU2Au>13s&GC?n<`h`c;<8Jpo2Y(?4-
z4?o3Jy|8#K;t(-|Im}8BjqxlpbP*d1PQ*gZm>;_Xzw2!G`&v;(%wP_)5=3J>3lE$_
zJmf%N_!fT5+7RE~#$=6XAW7jYJ71n@L}LkZ$Zf{YkB>1oREC(p0gKTn-rg5>k_^te
zx!8(dL3>Jia%8*|;lX@-cv%8<#tO4{52Mw>Ngi_sF@<^RoGm3I+3(83wEHH$`)YB@
z6UVDcrH#6XTHPl4>N%N>*Ew0q-W8nDsCx43^IS}{UxVtiz*VaBR2L|@)Iv19Ra69H
zJts0Xs-E0`TP!(lC?2l-lG02>$LNt1)R}0_DgWv?ek566{%MV>C-+t;o$^qouER1i
zF^5^}Q#C2^H$A!JymBEYJA;htsN^^jwEvYP8`dAJaCwx%t*)p50000<MNUMnLSTZI
CO$k8&

diff --git a/interface/web/themes/default-304/icons/x16/folders_pencil.png b/interface/web/themes/default-304/icons/x16/folders_pencil.png
deleted file mode 100644
index 34007f81b37449fbd2b1c9f790e8fa4d1e1adb25..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 639
zcmV-_0)YLAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006;Nkl<ZILnRB
zUr3Wt7{~Fm^Imk_ZO}yuQeJe^O(0#^MPvj<1z`pfWRN3QB$edWm^f?ZYHuplT2QT~
zn^{wvS|edy<l103ZM4mp&HO`dwbpcs<gfRf+E`<d2fpyWJm)!lNXS4*So{<F{`+4o
z)%c&P*<F(R04r$VUBQwaNcI&@nz1{<LJx$b0yn7=2^-cIpB9YG*c~ZSko@r$b;e!C
z5gR?0E#a=i+WaHlub2h?cB+;l8zz5!eFUpBCf?e@WB7EmS&A_3hRAcnl~|74K{{$g
zDsm5=YgFsj(oKXh7>BVk#QfMSI&c6>pSq9?cVg<*MFh-yE$>>Wf-nZ-Fjj`hN)9S9
zU$F~u+a*qp^zB0`+=1ZG1$>`qM`~pSE)CTaiNeyZetE!&tcXVsr>+)ItKr&R!pUK4
zIetvG;lqFe$$%cyu^8T5r6Q3SEZy?-UHlA*nDr{qYid9`orY0SiO~HzPL4Y35wRb_
z_;WcDejUo)>lkUGT|{EA^o%#-mgB9p6zRD}+)!1)JFNPL95C;J*LoV?d@b1NNMZ1@
zU?dWQCC<J-3s?7czHGZ)jPapbPR%7xJS@YgsR{|77Up`PyXmM<M*3AUGSW(4xO#T*
zWvf^O|H~RIdNrJyOMccsKX;rG9ISH(g-$|95wWO9iCvUM`LbafeElb|Fs9@&YA(6w
zyzoR?+LF^|(soAHic}E2VlgHiClU8(vN38dS-xMWDBUU}`3H)_bn1GIFqYvJDof5g
ZzX1v;f6<QbAY%Xk002ovPDHLkV1lEQC~p7&

diff --git a/interface/web/themes/default-304/icons/x16/folders_plus.png b/interface/web/themes/default-304/icons/x16/folders_plus.png
deleted file mode 100644
index df1ff71d4b222fd64f10bcd08174c161c6d7b757..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006jNkl<ZILnRB
zT}V@59LMp0&q0ESSluK-1SLf&YrE+p@nT)rD-^vDB|*p#NzkGfiVVYW)MDnwCQdVY
znJtYbV_|QW;Y|#Mk>+Syv6_+9rp+}=k^FU@r&g!KARqX0&f)(*4<8C!8AWWr;_tt|
zOXW`gr&7L4$_scQtLO|Sy+F#7J$c4=LfI||%LOm9vq;{-Z2VT%_>Aw!QC9M+M%FXd
zcL0greSb>&4`XKZhUiDajX?`LCr5K8e}23h(<5!7nU6OSFthV=#JO`Ke|WG1-=fX<
z9&1H9+JgQI%;Yz*`NSEV!&w=kIzEf}wqo*46H*ZeUOzgCplhT1c|EHp&fpx*$`IA@
zS=3X4bi|I({bTqtWI=jr3Vn5~fn*BLH2wanAgardBb^3Jyu5^AUo}#}2E0uq@U)iM
zNM`WN#%J50_i0h~WD~xIZ6YN()>DP3cPCzSRU$cPhQU9Jhc&E;${H6Cr|7%1Fpi&q
z&QplwutlUM2VKP&=q$&0pdQ-pH13^}T8XYKappQTpY$CC*c&g0&b>x-$ZHT(C3)z2
z5qjJ9BN;HkRVCf7*&`JZIWz-?(Opot?%HZWRg&)>XYcGrshf9XyW}9E6-1Ur&fJR&
z<GPkrD2x?D+ng^t*uFtfmE?}2QoH<9o}$Haq~RRBEgyN&0_dzOG1gxv;#4KMa<jB$
y?Xr2KKFei}eSJmF$kK|O3I5D5mHj3Edwv2l=5LHSKO+4A0000<MNUMnLSTYi2_MM-

diff --git a/interface/web/themes/default-304/icons/x16/folders_stack.png b/interface/web/themes/default-304/icons/x16/folders_stack.png
deleted file mode 100644
index 146a8fb4589dc2162b0eaf9eae565e6da7b7e3b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 502
zcmV<S0SW$zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005KNkl<ZI8T+2
z%PT~26vuy^yRc<zqx=DO7G!~?loCaEr7R?B#De6l$z)<YMij;)Ly;&Z8H(6U-o|4*
zW6Jw6h8f25_?=t0*PT30eL8i1=XXAR*>)YUoqAy3y2vT`1(9~Yf0S?-pb)*oh_{3O
z;cv9VQ5}%XTXkT)o)PhCDpiGhE*sxm{kUEO#hkALe>I;^CgaP68CUdB#`!$(XY=WJ
zBHkai;erk-=c*uptp74QN8)jRA|E$<V$C)!WHZV^dFcA<x!Esrv%Mn%U3NWsd_J75
z06n7|l!vZAA9wmiZr&Zuz(Y$C9$a4HR4Eu3&q7o_ophnk*{b64$fPnm`l2z$_J-CX
zFfyKlsG?=>UXy}{gBHBoYgU=px}z}6;z3IRv@o87(9;L^W~~C6ZI9*Q&3diEykd&P
zUX5TbNfsg*&p{aO90t5z)hVFa#)wAha&vz!ICJ8KM#fku<2eYU+g^<q3l$1zwmOt0
z^$&A<rZAKi19ALwFeixVL|~M~wXDT6Td@L~Ee>QzU1gS4AmzDP(&E*8xdNI^n?$LT
sIUyWUKFzWU;a3}s>B8tw_%l<z13RdJnm%V_)c^nh07*qoM6N<$f&&BOiU0rr

diff --git a/interface/web/themes/default-304/icons/x16/funnel.png b/interface/web/themes/default-304/icons/x16/funnel.png
deleted file mode 100644
index ebd8b556cfd260133aa84bc00a41e08fde52406f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZILoDz
zPfKE96o-$R_zz)lp_mXD$)p&;4EhBG7lPxr5NZ=dP&CkDVu)G<vuaa8Q6Z!RVOdNT
zrWqzB63##j3c^U(YL>J5%{g%mZRSQW2cFCO!adLX-rwO80Qw&uAF)_0>i7HOMx!xK
zM8Y`pQLEK1S}c}Dhr{vN<MGS|0)gpJC^W(E$DRw~?RFcjRtxod9kp5wrP2)!4hqO*
zN+=Y*;r8|?8jWALzyA$>f9x-T+#r|BA)QVmkw{>5bqz~PU$DHq!s~6MQinJ>xqxzm
zUO^-hArUm2O;josWV2a5J;RN=*xXF>`Vv=HKX7;V@F<8zqrDjfgFz7tNe0zw75RJ~
z$H!l>zMjO+&Jhc5aDCl?lEH8|9R8<(STH0Zmdj<Fo#n8xkwP+giem9Qln{L^pqB*P
zPa+vF7B8{2wTJ!v0+cC?uz+48ka{a)lqo1<9AyEi3S2H1+3j}H>-E%CPXe3GMoy=b
z+-^5{y<YP9e7ypddJ<TzR_b6jo5^4>yh<>u2o}1VJEbbnXfz$BL|`(R=A^MJpO*zv
z{0|6|BH&zRo@Jvd&@pcqC)3Z&oS#>r)9GfFy<lVd)C6+O0P~J{&wOI$`BOe9dts0<
bb_@Oh5hRmo5};*Y00000NkvXXu0mjfO#tc+

diff --git a/interface/web/themes/default-304/icons/x16/funnel_arrow.png b/interface/web/themes/default-304/icons/x16/funnel_arrow.png
deleted file mode 100644
index 48589782aeef8f1318670694c77fbdcf84e58049..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 656
zcmV;B0&o3^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00074Nkl<ZILoDz
zQAkr^6vsbZ3t<?shnWgN<Va)|WV%2qX)s7wYY+9}rKkrX4FVA=g&qn?eHcYSSkutd
zRyhKhEy-nbYcjoVu3@6&76aE<PxaQ*zjMab9J6}pgWvt`f$#jjbI;)l0OEhhKCD)&
z#b7Wr7ZnvX3n7>mqO-8Dut%fO^pup8bm{f_o3*vI*GwkURXT6A*=&N@5Hx2p8KhDv
z#N%-+EiEAw3S(j-0FNhxK;RQ%v2`R8-;qxL1f9Q}C*TTvJ|Em}H=Ir<9FBhU_TGct
z{*c~B;Bvjj)YJzk732yU8yf`+lF1|@kqEqAFWv5;#FrQva?|@P=H@<Qb@f|TV6j+4
zj-altjs+FmgJ?7gzu%9^$+s977{lo38xn@Gu#kY#gG#g6EH>CG5G1JJCeF{#V|v<$
z!9f?s#@-<qT!zxbDiVml2`FE%q$L=f#qjVejE@JPOrhFny(k*G--{FdX>s&HLL9vF
zaa#ee13X5af-=TKRVUA86C0jn@&)DP<wB>^3AI`+wyaHoR;v}q9;d`{$JahemT8xA
z1b<kYg38vX;)s2PZ<YJj0p5-G<I=wb9W2-<*%#@c%xEsWkegg<xSIqxuI^ft@&pA1
z1sk-ppnhQaNB0-tQVcj3`Az!@u>Xc%-nIhz2beY%Xis&9_OwjM3|C+rT!SqPa9n!D
zlT(3;*iDoYWyJNFnJ82$RfiIn6*rA68hk*p^i1A${<%bwoF4E9_7aDQ8sZjln?B{V
q64&ggZ*!{8JPPl$IV6$@7W@KS39<+GQ|Pe(0000<MNUMnLSTYTF)4Zg

diff --git a/interface/web/themes/default-304/icons/x16/funnel_exclamation.png b/interface/web/themes/default-304/icons/x16/funnel_exclamation.png
deleted file mode 100644
index 0549c609fa196fd15180f5e62534520fbd4bf0be..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 706
zcmV;z0zLhSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007sNkl<ZILoDz
zT}V@57{}i;8x4k75RNjsNJSAZBAXErMI#Mi3@LAfpesplf+#98DJgIof)v<?t{kR=
zZCEy4=2yeD<92j%81pN?7&bprP|%AY`1d}`$*j>$FZ|B)zVN)i^YA?9FaYd-h&&7i
zgFZVuyF{f@l`zJLGR{4PLSa;^)kcj*^Ef>{y;7^y-qz`K*Ll97u&|I3Q9;Sd$_m2a
zFlJ|G5ex?5_4?7->4wwkh1)%bK;RqZ<~Fdj^aDJ<^e+Kb;BvX(a5!MGSkTzmgqoUq
z)YUcc{ae`WUFhxog6#@+3knJf7zsk55JpEw(bw0<-|plWtuUJ%d@sW1o5s}C_lQ8R
z*Rx%M+}vCeq)`uKS;pYtAiBGIU^3az+WL_T{TLaU!*&lc^YZdolvn}df;4KPBuN+;
zaG|-`4x6nX9?v+aiN%*QvZ^amnel$w4u1;xeMXWpk4HpHOFKF`+@LAcKTND1{vcR6
zS2-+7JOQl?8Y4}C#;7~9|Kx~6*}S>dv_w(r5L6sSL<A`*DJ(fTnJJY@7PEE)L+=Fr
z%<x6u&n+var3*efi|qm<et%8zS45DMq^|YY6-^t9#`U72BCIbwSf{hwD(vC>Q&3KV
z{Ih%8<o;vg#zF-pVsYXchMlS6XN#a4Xp18d1R=^z5<DqSkmkp(td0lr(doE_fP4<J
z_w;ISi}3uDnJ31pfd2!;jh-$OY_AT4<|of%CYTecfZ|N>1YEX6vCAZ!iWMYq_Hhn!
z4sq^uTQ5O&9o=01nuX=5Ol+;)jYMKnJiPq=h0qu)pb;G59OvY4s!EHQ^t6&qG*mH}
oc=?F=UstoCH%8_m%(d*<FKKSfwdE=-9smFU07*qoM6N<$f|O)TBLDyZ

diff --git a/interface/web/themes/default-304/icons/x16/funnel_minus.png b/interface/web/themes/default-304/icons/x16/funnel_minus.png
deleted file mode 100644
index 2f446d71217792cc51f254acd8c570dbd0aad8bf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006CNkl<ZILoDz
z(QDFC6vvO6%pbmp4@wC=#KZ_ADD)o?d=N~09kJeo_7X&}v0#i^)b=piQw`Q&W0{l^
z43~{&!)Xp@o5-+Wgo2O^d+I5A`tBUL%Jy@MpbMY-yZ8Ri{oMOIhaUl;|Dn@GB9XAy
z>y23~mKYHUBg_M%(Kv0jTBn^(=VQ0qJ>m2DMgxJsU5<}LqfrvNf>^uVMyu6Ay<SJH
zRzs<@hqbi=GMN$zg|FD(|A9v17Y+~qfaCA<3FHR3Tn_1U8i_;#3kxqXGc$+T+2=fd
zg;eT2Ha0#(-Qc7k6bg|Dn$0FEl?t-iET5j?jc>8MoaXU1c6Pqw;NWLR5Dtgwguw6j
zi(pW4P_0&x&*!ne{t=6dNyOtHSh$DX-3C++E(e1_>T+B_EEtp|mdj;qZsxGGltME3
z3B}?!s3cxt0sT$D`$;4t#o{(rR^DNCwE$Ixt1KW9+~((;-A=D1`V@gQkCaiWpvriS
z1r+so=$Xw%Z}_Fq6S!P1ayT4hHk;{K>j~_9+EY#IZR``A(RzYg0|R}V|3xsa1W)2b
z^Bnv|kF56z3<g7&`y$XZZQ=z7{~jKO9$7#22K)~Q_e8*X8JpshCOKHol<o#5#>Sjy
zE-+(TTUD4$rg1eF?990#?naqOT@IuK7n$qK4dx;9h(G0~nhTehPOXQO;0UW#aWW0r
RK_mbG002ovPDHLkV1k~T3Zwu4

diff --git a/interface/web/themes/default-304/icons/x16/funnel_pencil.png b/interface/web/themes/default-304/icons/x16/funnel_pencil.png
deleted file mode 100644
index 7c2d9b54516e0b3c3158f29f388ba38f6dbc5680..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 662
zcmV;H0%`q;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ANkl<ZILoDz
zUr19?9LIlWX<gXEVuI2J5yPdX6(p0@OXkeMVl6=>@Kpv$BuG#hiUbh~NkL%`YPd`c
z6-&0vKU0QtGKY$Y{gIe3Xox)p!RYDR?_6&(YxUBB&*gCL`F_sf_q&$>(Ep%5JRXm`
zq@={FD2kVeB#q2nole)G*Xuj-^78Imt=2Z1&34P-a5V9LPjz)QNqz~uJ3Bi_CX<NA
z<Jj2PKs367Kp>2Xi73M1_gG*5f~~D@*xvpD-hb^6fxJN|6oTLH$I#FadU|@%+4&e<
zUEMr?iP6!wn3-9Cc7y!_m&-*`kVqu3y1I&BFvzD*aBvttpP%Q8SX%mw&CRc>!0mRc
z;fF;<yMnT^GAYQHHCS6)!~Fa_CMT!S*EfQ}!FMcN!SeDJv>FuNu-RxTCx@a!>=O_R
z@?{ZYu^8s&Lg?=w#mLAkB9RZ!ig?25bW(3|F(o*hNx*rMlEz465d#Bb7#|Nq>%z&p
zD+N?rTPp=;<3fx@gecD>kfT7hQFcLV<7ro=nWkR|s;Q~TZ?fB4(cX?XLWER-*=(lV
z++51e&Ze}nComd~YIw>g&U3-9r&1|YnM_^JiK=$Lrp#kc&~WvT8h+g^0;%L3SS*%S
zmY(X7yZ#|)(F70D!%y49th++FU@#acqd;(FHEv2l#kqrh>EVuMs=QRL&|d{|@IN4F
z4vY=sNxSZ2dbrX~bo^MBTJX!i2@WuanInvex&7){Bk=tb9<_*tIw#fhnvu!ccUqc2
ww%{mphACz4$=CH4MYyz3G-zuUMoG{A1hfu=@H2TXkN^Mx07*qoM6N<$f~1^4lK=n!

diff --git a/interface/web/themes/default-304/icons/x16/funnel_plus.png b/interface/web/themes/default-304/icons/x16/funnel_plus.png
deleted file mode 100644
index c2b772282c2fb51d6bad561ee202c0958c87d7d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 624
zcmV-$0+0QPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006vNkl<ZILoDz
z(Q8ss9LIkuHf3vwZAuE!!(>rL(9pLYLh?Z{F{r;Fqy`a1(O5935w%gH9wLNo;IQFJ
z35Lr?v*9#{^G=iDf)NTrHZ}-)?CIO@+^$2nRSzBb-19q!^ZVR$e?Kk(p#MRB_<TOE
z-EI%)bh-c$3Hq74YPEW#y}f<JY&Jiz*=$1&hvSaR<+{%2eSW{61Pwu8YikSjdL5NY
z1?6%Xxm*Era~UKOIb<^HSX=vwYV`*;H-Cc9U)>`RH%O&Yh{xlIL?Rd;pTOwoGmMSB
z;P@qCvA0-Q_z2|&tpbn7Lqbri)le)JkxVA}?FmkNjj5?P$IDn*`GSp&ZCT*;dZ|U=
zbUKBgN7SHHDj}UtV}AZUCMTnqo_@!|0#;Y6P-<|@?RHaxW&yFFM-(xi&tq{hg-|Gl
zX!HZJ+0Rglc$@|FHv#99ko0G>%Ls?xV0JbGr3)u}{dO`uJxVmwO%&-OnlSDw5TjSL
zQFK9R<0<PoCGl1FUV+tWC6mcSTCJ9v#*V;fH2zMQ=?*fIJU0veFm?oOmkdOqLqy>&
z>GJp65VO4ghhR_<Jfv}BkPl0Oi`xM-VtIeJK&4VOxFrO7y?%(E8>F+}E?_ref8QJM
zKOnd%1YDN^deRxB$DNYEUOR(EEbli7Gz@<%9cC=dz|v9)8jWU9SzG8{$0tkm1ZcQJ
zqDKdbB`q}&EjYrQX8M@>%rJk-d1c*4K5c}qXbW`hK#*><$%0>wOo8inTC3s!0000<
KMNUMnLSTX<<rd`t

diff --git a/interface/web/themes/default-304/icons/x16/funnel_small.png b/interface/web/themes/default-304/icons/x16/funnel_small.png
deleted file mode 100644
index f914af50f6356968acf7124975eb6d34da25108b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 304
zcmV-00nh%4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002@Nkl<ZILl-B
z|NlP&C75BD8Q|^h?JF)Wp2ony0K$b#Oib;3e0&{BN=gkD78a#I`9MMjq`i9e>i^@%
zkN;o4e&heHUB~|)Jb3y4wQJA+KYRB5KTtlKkO3+n7u>jU<Nv8sr~WTlvi|>$9jE?Z
zzWn4r)CKB<3}65npaSy3rAwFoFJHb9=z>fCp<d7e$rED$P(K66kb>>okNyXSK^xEj
zJ)i*$1PxGES7+em<z--GWMlvaU@pi2E-tPrkfA_B7__yu@f*O*%#4f+K?bn0vR1IM
zu`$3fUIWlT1IPfNOPYX~0ftF2pbLr(kp+igUH|}OU}x(`WxP-T0000<MNUMnLSTYw
Cwu5*8

diff --git a/interface/web/themes/default-304/icons/x16/gear.png b/interface/web/themes/default-304/icons/x16/gear.png
deleted file mode 100644
index 2ae36d07bb6430b6dcf4a004bcee5d24ef692464..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 590
zcmV-U0<ryxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006NNkl<ZILoDw
z!E2In9L9f6MZ^wzaZw@>$_P`|D-7Q{I7UNK4{Gl{JVlI7LDDFKL5!e7F*|i>(01SO
zG+R3;@4#1Z`bsvM%Pm{OKfu7tx8L(Jf4ot!Loa;Z@0aKMJkJX+BO>-c7_Ve9$<paG
z%Vx7Im&+MbQ52bT{|woDgBO{<3No3@O>TI==Vi>%Xhg%|kjxr9|13zQQnw0)!t23c
zK>2)rk((AyPJR%;4h=VW;QgZ@kw}1ty<U$rtw#NRpGu|DSIqI=?H(96c;H1w6v(p7
z;_<joQSLr(wVKpy?$P04myVB*46sAP4IX%r5e2bWY?cd;!0PJzgLYe|_4Tz*IDGvr
zzzz+!u@4zhAW72WdR?QPolms8tMV_kC=!V*Tdh_GutUQQ9(a)v1))&rNwr#~a=A>H
zy8fA_r*AA-EEWc^Lo<7j5e30u@OB^&cnVflir*Ryoi;Z=Hlop)X8=1i+{Qj+M1kM$
zXFi|riX=r}scN0Jw=1;2->1{lUk2Er;RX-9$cO^3*9(?Zb&obSwy096Q?dB2SF5!N
zV26eqJn$kT3OpVUxHC65|3TBf(A3nmH*UB4g{tZVutUQQ9(a)v1$b;W8*@6HNtesD
z>~J`)Vs<(|`49b0W(^*A@t6ysOmae;D6re@_ju?fz&_SFVa`Ql%movi3mh-!(m70?
cc_)zl4ck!aL=vxG)&Kwi07*qoM6N<$f|2_RlmGw#

diff --git a/interface/web/themes/default-304/icons/x16/gear__arrow.png b/interface/web/themes/default-304/icons/x16/gear__arrow.png
deleted file mode 100644
index 97bcdde2d51196d5a71940be5719ada572890969..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 704
zcmV;x0zdtUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007qNkl<ZILoDz
z-%FEm7{y<6OJo*$v#f?hDH8s`HfXK_!wP8|<!nXNN*07@MHfY46onubc%jVD2(*!T
zQ3xqUkeS5f6}HiSyrP-TrpzDs2N-&D`ku{|LS6O3=Y1Z|bIutXOadVN5Am1TY?iE6
zt7Nm;q^hc___W*YCPB>xrp-5cnIT&WDl03G2t%!ydpXzF*Ri^~ip?55e=V?BEJy3>
z>swb=R^W6x?+eq7#l-~>?$mgrhu$p(6%`faRx}!g&*w!f7Q^7+;527)k3?qTH+tyZ
z$Rr9(CX-ZFR;IJt&pir<LkNX}n4OJaets?vcWS)RLoYK%qcKrXT3UKs2zQ9v{c>h}
zTtRQ|>&c>`!e@j#HQtgwW_}mw_4<2$zYilLpD{Kji%$xpxVX4EH8oWt+^O+K553F?
z5(NbX1r4L4qZk?*0;i%(prqtbV@gVjM7UGi>|sWbD9FppJDHoC`+&Gy?LPtm1p@=0
z0tUn3hlD$|+8$-?SZjEp<jUi>%m@+%IXO9!PN&<a*Be@7*^l9252mJKSYG}ahdVWU
z*EF6l0LHfOiqSRe5ML}&pw((gqbvu}-~SOFk00&rFQQ)WIO@8CIML!;v${ekyxoV(
zeG#<I10w7%Y6?2y1zA~H<aBxYsUDy28}joHwq<5!Hp#LA%bPhoi2~OY;6mUJcc*{@
z4IY2u4<R0vN+qSIr<*kzO><gW+J4T-$t7Ix@IqVdUdpa{r)bW1E*aes*uDbUb?^PV
zZ+>tj3siz#0`ap-2BKE0t3}aM!kt>i#qNp1FTjpVuR=Q=y;ntvlq}dL$Pj1+d;Z1t
mGaX&(vz;NerOmmKk$wTf-}toy!X%*p0000<MNUMnLSTX(5<(gP

diff --git a/interface/web/themes/default-304/icons/x16/gear__exclamation.png b/interface/web/themes/default-304/icons/x16/gear__exclamation.png
deleted file mode 100644
index 0fc7db097e22aea9f227250c8ee682c8942f9326..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 758
zcmV<S0tx+zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008LNkl<ZILoDz
zZ%9*N6vp4%CL$K-mjyK>OtD&uZIRACD9c(+Klo?+q!51T4^aeRW>|q_76lb9C>2pz
zGcXEe89CjI&Aak0w|Qr}bhhNCZV(yd3Mo$SxpSe=w=Vqdb2#TY&%M0dO8|iU58_Ry
z(~;8BQc_-CPAV!YMAhr{YRbtq)az&H#T{frKv`K?0X3Yax*c_Obrqt~D6H?H=br&3
zB_#*z>gw)AA`z&mskux|XBHMd1A;a7aE2cAZV1q7waD2}C<Gig27(}f#bTL3jn~28
ztT;mtde?Sh0cy3H6c!fB_4>+d6B9o0`MfYU7lirwPa;@j4`=8>FYe^!<;4Q>^Ye>n
z;{wvv)j8|;^I$eVp32VN`vAcjdpL{xaOZD;QmMS?c5`62+rZ^w>60cPCnu*_B9RaT
zYp?4%aDy5cwO#`B;tnMipin64olYlMtyVzg`S*~UyRVU97=oyjiYCuUB`im}VRYaq
zI2|^?9ZD=9Gc&U|BO{{$X=yQj^musa?;rB0R0pmg&&;*{pzj>~TIq#1uZ{>Os%0kJ
zp~M2x($a`rF5jV4s_w9?8-|A+5C{mcwDbcO7r(=}y$ZfA+y#Td0O7f-KW%17kF%GN
zQepuznG9)USugbU4T8hr2BWbpG&bgkQF|*5(Et7>G|=ysz~b~N7%=S=MxHQ->^*A%
zsi~>RF^%T1iQ}drD{J@tl$4YvmgT|r+yK+#RnaM43ok6S!262e9b2$GWMUo;cGCkA
ze+YU>rBafVl%z{ePHs+2OiV}hau#4;7DFhYf#9S{d;`?r<bHVlbc<`CgHgu=q?D}`
zdaOi+BqSspZ#*yYc}LP$!ZUjy{9zZYe5n@|3Ap6pzDG=ZJYW-LGet((7N@O=v{Kyb
oX}>|Zj+^9d=PlyuzD<mO01i(G3OSol{{R3007*qoM6N<$g5q~uA^-pY

diff --git a/interface/web/themes/default-304/icons/x16/gear__minus.png b/interface/web/themes/default-304/icons/x16/gear__minus.png
deleted file mode 100644
index 0f5d27111e63f687d3d5052b3ab33d8a95a0e10e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 654
zcmV;90&)F`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00072Nkl<ZILoDz
z!E2In7{`C_REF5WT{KE$gtpdFmO{=V7Goi)hq*j;SnL!LT?$&oqA`js=um7?(WOBx
zA__J<WorlJ9ZbRLE4i_`Y}p+9103!0^n87N!$r`c7d}1@-{<@NDlaIANc<1Ak6<t;
z!r`!pL?WWUzrQx4(WsxfRL9?VgBKaFr=YK|?<5;8^E`;TySq!(YLyx_c>Y=t3WZJ$
z4Glfo-rlCc!NJ>Xy0W?Xg8+7DxWNPOo`OIi0IrrwB}%0hsa!5oEEZeE)b?U=t#*S4
z-g-tY@caFuySv*Kjh?@o%VjB>U842%B5iDZtAQOFZt%d1jL+v&3%a_x&aiMDOijI9
z%jXrEo_<|$xsE*n*rDO3`H=Zt;PH5Fq|+&ypZ`n?3o?IGj@)kdm`<k?06R3?;DHwz
zMlI;*=(v?kCMh0|6Q-hkq0Y|Zqmm>EfE`++2N^~!a5|m64u@kHOiWCE&14jso&A*Y
zdQaQ|*rDO3`H*4M0=wNVY&Kh~$K!n{%W0aMOVG+nnYOleYG8+k8$742*4A;OQM?gC
zEwETDU{scuXlCXkB@$_xoP1GQT+9=A*BkixzO9|!Iu6r^BS-0}PPfV7^t2GqYXvPW
zE#O>F&)HY0)H1cTwLdnS&G%(lAu!(5RM{CApg(!WCF&o7AH7~Lj7DS7WHOC4H#Z-`
zEEFpILch}my*@K6Ny;@zs@#;M)e#PYd)hBRp0P6gT7?%F42Fwb^Z;PjbjHQ(w{vDh
odk6e9G5Z(`bKoCX>t1BUFSu3ICqy-97XSbN07*qoM6N<$f+@x@q5uE@

diff --git a/interface/web/themes/default-304/icons/x16/gear__pencil.png b/interface/web/themes/default-304/icons/x16/gear__pencil.png
deleted file mode 100644
index a2906ec07b1090add0018c48254e5630c4d7bef0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZILoDw
zQAks97{&kBP0SgjK1{J8F%*gAvJG@=f~J-@_n>PJy_FC|MGyoHwaBCpqDXN*Rp>-5
zSOwbjK{J(&E4tBi8=0iGWQq738~F0|KX+G|&|4RN`##Qh&iTU_5wZV4`mtKA%x1H(
z*49>Lx7(%Za5&7I8#3nf8@$MXBLyujE$6x6CZ8uU_xJZHkw{Rw2G2hWnwy&~PN%bX
zZ*Py<+S)p}>GsafZvxn%;RX-9M+zDn8^N7eEJlIAGR5O@@_M~LFc0?4%?;@W54>_F
zRbV!oSxrri#^Jd9C>&m;)zuZ++S;V;?Ozhuq2UG(yvQsGLaM-IGSzb79&o#dHloo8
zjg5`2m6x9x0NA17cHl$iu)tt2+z$o=G&lE!78gbSQke95eUCz+U;sNb+~D~-G)VI*
zRa6v&TB$&%)3y8kewvw?A<RhR8&y=C>lXM606R3?JRT3ZJ3EQGx@cSw7NmmG($a>K
zl9C6Yzu)yU6pGNq#OILFSosiOmo(4ggvDa<CX-33FDiOJ$k-*Rpt!i0X*8Ns27~dr
zC<bYE)<^5>aoXKYN?@Oz8lb7sYD(_3lUA#Jk)NNhf6Z9xKTxaHpj#AIXncH{e7+#L
zT(4rw%TWT8AD<;AM^a&TZzWY$oEYW>?21a2D#**r15I^x7e@kt?^ITHx-U03_o*mG
zXny()xw@1a2oLv}sG+*>1H5u3Re(>aRI=>sY->(VPES@=mKHO#<frL(_0r2PJA}om
zv&Y`T1MlG{7eFcC=r~4@nVEU@T9d+0f7a>A-Hf#hRqU30E9Vr-nZtq%&T)>KQ<Mf>
lw+Wx@wSp~8E0Dd&u)oX{+#oQOmhS)n002ovPDHLkV1k2fP>}!t

diff --git a/interface/web/themes/default-304/icons/x16/gear__plus.png b/interface/web/themes/default-304/icons/x16/gear__plus.png
deleted file mode 100644
index a94a6188cd9b71da1720b817526d6eaddb3599bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 687
zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ZNkl<ZILoDz
zQAks97{&i{n=+<jN=(opQ4@=)*apoNVTmD4ALd%mGKfT^r>Idh5}`z}DAWhb!a@2{
zFN#ks^Fg_SyD;Y+F3IV#xygba7w+Zjf9~Bvqn;Z4_I;f1oO9vAWkkgO2l>zCa<T62
zZr0P&!#p03JiT78lhaqgdGrP^GT>N&+wH!<4gGx9V&?OC%H?u&RD<WQ1zlZT7yW+!
z^K3RtKA-OaHw~oI`vkB<!wnvIj}>%wc7of<WRk++HA<yYw6L)71+%y(65H|(9(W5G
zrNHTQvbMH1v)6n5(Z)uUqS1BQ*-6me-d7py&~SqXUSu2&hf>hm+IpD_cR(;Wy&a25
zG&?&JZ)$3s0NA17R`enByTE3%-4n$yEiHYb)m4E%X@i=Zn}^kEH3Qh8;RX-9$Z(Vb
ztJQjcWo3mzp%7t8(k8XEoEuW9R19E;cGQCmM=7YUukWx}EDyoh*!XTFBGLT($B5m2
zJ^-*oYk%)P)V!?TuL#tJk>Mx>b#-;jY&M^?+3cf&AkyOEGHq?8=-}X|40dQ|-Z|;!
zkGrIrJ|XD_O^m&+QVL8a6BrVNb()*|K+DS_jgP-duC2ugbj)}T8)h723EJt#_gkcX
zR+Z*qkxf-i$_15`mEc-?`_;GM@MmghIQznAG(Hvti9pE{W9CZ6Lw~|1jH2>E@SjGb
zVLF}8rPu3+%gV}5VaDSb{zAWz##a$hjTj_Vz>sO&yF_f%Aj&*7Oco0?oN5k#t;`Oz
zT5T^c8Ufg4J)qyL*|icIERV9&{E4FmRxBvtlymr-VKx7xzw{03(?;1q=~N-ZegQGD
V-%Zp)jc@<}002ovPDHLkV1gYRP#^#R

diff --git a/interface/web/themes/default-304/icons/x16/gear_disable.png b/interface/web/themes/default-304/icons/x16/gear_disable.png
deleted file mode 100644
index 877a66d6a4c947199334c2b8b2960f48df8d09be..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 497
zcmV<N0S^9&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005FNkl<ZI8UXK
z&q@MO6vl5YYEf-VCJ5R^L=HyK5KKfRQ9Xc=pp7uNP;sRo;?9MjE0=<QKt+86U%+<|
zapl6tu=BI)FoDpbfuHx>bH4BM&K<Q{t<-;5|Fl{y)#-Fpuh&!ket*qyIJ5*;V{Q6q
z(Bjz^U<q!w+cj8a_6GhQnymrtcH0_{$6vC49gRkghzNKDYI@Ajp#2rlXfyyrSO~H%
zm&*@XA3)dM3@sinpjNA?dcAHmn@#@ZS-8^TI}J6xXEbQ>cmdUF)slt_i^bv<@nkZ2
zPo+|Epr*%cqr>9`l*?s~Zwt4YP_bByJC37(nx1cNYtK(WsZ?TfFWhK?a?F^(t3iyO
zZ+@>mKLPoC-pb{2F3jh1ZvK2Wo4pJMgE&yrW46)Z@dC2htjc6EMxjvPGjhaJ;Y_&D
zP}93bgBFh$kW40lBk`UA;buCWawnIdYmUw=gcgq%kVquJs#GeUvNzM|^p{*7f$I}c
z(_@APEgmm`ClCmza5!v5qfys1O@mct*WmA=LCfP0*cA?iW5EF1wx1%Ahzr!4zHp+o
nyZ(S3VNW;^j{X4iJ|4W^qt-ZtAWwi100000NkvXXu0mjf`3vJ9

diff --git a/interface/web/themes/default-304/icons/x16/gear_small.png b/interface/web/themes/default-304/icons/x16/gear_small.png
deleted file mode 100644
index b0e969098528eb9f0f9185357b2e02a9edfb801b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 336
zcmV-W0k8gvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003ONkl<ZILpnF
zu}Z^G7=`bUB^g3qAX^}728Up9X><&CND97z;OHWOtP&{&2V08HS_fDA2nn5nT}o<9
zsgRJ#ZXLsKk3;En7Y951oO`|l-*g!fvA-NUECJ_ycfRi*1wn9u+~-1p=Xop)!@D?+
zN89&h+qQ&62gfcHxUS2hD0*10ziBdgE2^sc&AP4$9J^3p+xD^JI9KEG^JkvtRF)+n
z(ZR6`1(s!9XIVyRno?1Gkt9hyWRfHVj$J4)P4mPsjA%F<E$8zkHO+>Q=-}9e0$tZx
zw|o9Fn|;t=@VJ^z->KifU!j9z7YZ~@W1Y^~6X*Wx_I<NhG=xM4$1W78s=7NxQBGx9
izD4fy1OLkZBKQHS+MD(ZuU0z%0000<MNUMnLSTZ9l#x*Y

diff --git a/interface/web/themes/default-304/icons/x16/hammer.png b/interface/web/themes/default-304/icons/x16/hammer.png
deleted file mode 100644
index 59558fd41a3b3de49b2b11fd14d9442249d33c01..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 506
zcmV<W0R{evP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ONkl<ZILnpN
zziS$C7zXe+Vn|KVUX%{i)KmyW5i&Sb6e{8m6cjy0NQ7WXhs#_C?NEnKoeoMu{)4!N
zP{C0QI9l)!LBtFRZUv!3NeB&>=M9$-iiX@5J{<Qwp6A~CL4`trW{}_$i0~nw&##H1
zxRl9cD49%BJRW~Qyg7pj-lo%Ou~w^nlV$m^R4VP^{5=X@Jg0!PyO|P+#I~X+!^vdw
zr(Ulg=W@B7NF-tohr`6?hGVf91%p8f1OgkF;&413tE16KZ8n>ye!o8j#Ab$hG_Tit
z&z#L>tNngo?Q}ZoU@*AG-mcs2CYQ@abC=O*Bta0!ZnqQ0mV3RP+G@2_K02LF$>DHp
z+HAI`3oI53`Fy?###ZnsGPWgy!SJQsZl5D8S*_OSQw4&@<Eb<n4F#iC9$nhxlIe7+
za^bvu5`J~NUG=~4{fcr4j_b3+AE8&RR{0KpK_DILEA&I55Qi^eOHY_z(lC`uarg>8
z>k0pWvtqHx;cM8}6Fz_oNs>7H4~|IZ`du!UIeY^r@EZ6JS%FtzhL>Q1C0OLI3<g->
wg73fuKfw!b?en~YRd}P7u4rY;TG3s}Ex&!L<9qgzga7~l07*qoM6N<$f>*2NCjbBd

diff --git a/interface/web/themes/default-304/icons/x16/hammer__arrow.png b/interface/web/themes/default-304/icons/x16/hammer__arrow.png
deleted file mode 100644
index 23ee5cfcbf5b48e873b373902e5135e5d156181e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZILnRF
zU1(Ba7zgktF-pYcCPlhsNrNet)QD^@O`M{j_=Qw5akYyxs4kj}xgamPh(%zG)-LRm
zVD2I)Mv~o)jd^*tG!Zt@YQt6#2wg-minr$p?E`cq{5ZVtd;b6Ps0RXp05rg%LF7e7
zzu&*#>-Fw%yWQY$IKXDJ{RXtzfC%k#xm?~@EOsp(k57fe;UQcf$AX>zQvkK6iR^a!
z*<3ESQmIrvCzHu%KA$gSu~;N#vl&R!u+?e>gTVkjJw07G#Z;+OV#Q*SrPJvJy<YD`
zKpKW=G_6)!C-HbZ(R@D7GMNl36bhTTcV4YlgG!}>rXQhD2vVsO6bc34*zs&O%jV|h
z7+sZ0CD-2Gu9L}RTNkvnv_N-v_b85?!><y@ZB8H%jLpx_uVI*LYisM<sz9pIXhu`1
zR1QZS{p(0aCDm$`QDL*Z11<49&+1`mmjO;a_y|YFW<jd%?V}Rh?ranuK-p+CN>BJg
zS-I^Z81HR>>HdcVmhgBDbvQ3KeDYP4H<?Tn{)*0Yau4C?%>o>|wF)QhyyX+`8KbLy
z@=ZuL{`#LV{YWcLr<20p(C{A15FEaqP2i0@5f41!`=6HC#5!ZN#<Ng8Jb}u=V35L_
z=r(O0ys`+!>9vg;?-(1*Gj{sbA0w-b;W<zDO`>&<<0$+cP1jo``Vh!3y-e)A@Pa2a
zf&Ous`IZ@@HJ<&N;8P?Lq3{nhi*_S=Lt4=;>Oo>8lJw6kA6j5c5}H{O+hSqd+eQWB
zhzgz~EmGJ1o&%@@$!n#p!jmJ9wtMa_3wwvp(W`<4KLMx(6o+r)x`_Y)002ovPDHLk
FV1jd%I^zHU

diff --git a/interface/web/themes/default-304/icons/x16/hammer__exclamation.png b/interface/web/themes/default-304/icons/x16/hammer__exclamation.png
deleted file mode 100644
index 7ad1cf51594b3bf858e2b9e40e7c7dc9f308cbc4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILnQa
ze@IhN6vxjUi}Vj=DgL8ni9uWI7c&|&k}(|{%-obojmj+OCG=N<E<+*z(IN(sNl9uJ
zN`WQTY(d1DG@8yQ>@illHn13&rJ|4&V%*LVD}pIK_;5Jid%xd%?t2gHb~_|NK+YmI
z<VZzD#de#`wz;gV49sRT7>&k10EtORMYffemfD({nwniMS9?`e)p_g>VL;0N1i;#9
zsV0-@xFksvi9}+tudi>QyuAFR!C*+!>-9jaYc44%fx^N<(CKu$aEkU=EXJeJDED|g
z!&<G@f&h`!OrxpQ>ffYUtyX6^9Oiz%pGP8*Wz^0nl}gCV%Y$_vxm*qkg#xm(vjN9;
zg+d|j^?Etg+}vCtCnslLW@hHb0qN=KpwVdRacl{%;zC)F$z+#&KHo<)3mF+1#Tx}E
zR4P@y+wGQc)Oyj)s*(Q77ua<QnV+BM6u6$>jEsw-$jRK%!cxYEHr@X=*Y%ld!Cq#e
z5ZtpfnfWvlayp%K!jfhWQ;ZC<qjAw3Tv_Vpu`y$ideoDi+=zsWii*hm9XZz4%;ayM
z$hsD%uPszoR`P|!l?Cek{Y;MhW2TohVX;`q`~$gIZD-(n#EK>Ffxu#-k#s&iQNzU-
z`2o^jKl~eT1Bp8v4%)Pg+}y8X@bUp;uX@>?sduMl--k{7`A{7XOL{Ji9-bwg*2&z4
zd=dnK%qvJQi6^WKJl#z9W*{ptHEH1SNWtm^RO69@eE4x%fYxd6*V@`zTKtI&B3TIi
zAzKD+v!2P3{4X;fcJrC2k}u6QtX5(&uyy8X2kWGOR!T;mA!<aq_IY;Hor9jcEg*Kb
rz*tu+1d-A1Rv5W=b(KIv4cz(#NkluYhG6&_00000NkvXXu0mjfJ#JP3

diff --git a/interface/web/themes/default-304/icons/x16/hammer__minus.png b/interface/web/themes/default-304/icons/x16/hammer__minus.png
deleted file mode 100644
index 549d90cf1323ed117e219163e53994871b710499..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 556
zcmV+{0@MA8P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005=Nkl<ZILnRF
zL5LDz7zW@kF*XZrR_TzIB?Ku0d+?AbB;qOxijE?b5EFHnJ?B9?Bor*{X<%tt*zVav
zhlm7^V&HKC2N4#rL*XqDI>g3OOz&6YB7-gsJPv-&`~LsTNR>*3mQdg^NN~4YF5i$O
zX{}HwP&S*TbUJ;Cc({ZEuIKZ4so8A4P*rtbmgOyczk`Ac|5HHbYK}}Mb6?l>qv>?|
zz13>HE0szQlF6hqkw_3*8BV2A6pO_u8jaq@F7_vri7_6JjZUZYF%pU7fY{P7Z%q`%
zIcKq0Yz&7(qu=ivqtWODvq!;TkOF}Ktvu{@I|+h7Uayz1ZFMjh7~O8y;IrTFSA0I-
zhR5SMyTIjgQ8*l~W7|4zMa5XL*=$dHz1|mu6}Q{Hc~*fC3We(Jc3a0*>kB_^aLH^o
zGq`Y7J`0~TO*1Uv`LW3*INw?peh7m`qrofu071mZThnt8SKm23gJC=#=kPJy3*qB%
zp<vOWCCm@$D3{A|_$NH!;cIw9^a>YiRy?1Fcj0rjTIKKwyyRgX4*t=OW!bReIbXL2
zUlm2+@Go=G(<24jSPA#8S#6s;_*SdcIQ$#l!xi9v$U0mGCtLyttigGH%V2|ZT(ARN
u@WFh*LG$(8glllsEL}ItE}BJuOa1`!Db`n#o_BZv0000<MNUMnLSTX+6Z@b5

diff --git a/interface/web/themes/default-304/icons/x16/hammer__pencil.png b/interface/web/themes/default-304/icons/x16/hammer__pencil.png
deleted file mode 100644
index 3e7821f55dfa1f24c5a6ffe22779cc79cee02357..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 628
zcmV-)0*n2LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006zNkl<ZILnQa
zU1(Ba7{{MiY&#45Na;q&ri@Z#1_qfz=1iw~{KhCLj3Q11-Q<N9%(ZTcAR`tM!62w4
zb`vAXivn@rRTwBDEU}A9y6Gw?j8VKjZ_FWnj1K&GInUwuKhJZ{1F={PMj#*;kuY*B
z8jbD`hr^S>U=X}sFSy<AZGaU=Foo>%`~BfeCUYyB&E^t`#AUocf&twB1i;qYraT_c
znR>mx(dl%)=kxiOkx1m6)9I8r91dWNm0d0u*laeiTCE4Mi(I?irma?s7K_Doi^akt
zz!)jB){I7D4@oE#N;et}TB%fMv)SCl+6BE{4_d7j#$IBv802y}s8lMzwzIWbjh0F!
z%1(_&BdFDClTxYNIY26vg4t|NVcT^aC5vT2BobXOm&>0}78DA_iJb!E27@70C=}}0
zYO3#%$vH9c_)8!_PZE+H=X;U&)oPXY<U<AmZ=VsiBQs}bXIJRb5?v+a-6;7yQcI`P
z6wjZCyeGeTN{;({zN_7Cm(HtH_n!dF56TNj!)~`Txr?0cm)9PV*WIr-s7|NL;QXeQ
z0h!IS!Sg(me<9b5(=a6G7D*}K<mO~D8T1D{Kt9IfaVBpf%S>Lq2}APTB)E772OP(3
z%MX#yf*>&YH}aenPvMrnScC(Evg_#ZNBfpcCYk&PSwr?BY(w_kyFzZ$A0O!Q0$EQ4
z!H=~`WEcC(hzKDp;10q9ULi(AkIW#`tbU0ng}K8dzyc8ovU@A&U&vq1L-fE?UKdaR
O0000<MNUMnLSTZXTOOVO

diff --git a/interface/web/themes/default-304/icons/x16/hammer__plus.png b/interface/web/themes/default-304/icons/x16/hammer__plus.png
deleted file mode 100644
index 331a83b89df593f2ce8c70fb685d629f39005d58..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 618
zcmV-w0+s!VP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006pNkl<ZILnQa
zQD{<87{|Xv+oZHRT@PtlLNJ%H2Okm#8_OvQieAMiA&eq!y(XkRBvdcGBt)?XX%WGM
zdWlHzQ4D;%8;S@+7SRxT7zjN?F^bdwyXaV<qYr+ZbN=`I|M$D+9!jNBGy(<O05Vue
zCX=USS)Pc+ViXRCDHsgyK`f5I2u?+#QMphkJS-NAE168@7S<OKF!?_LG<cga6bfBw
zwOX6KUhiAETz;2GB(D1Xe$&#@5;0@Vfk1%f=jX}i^Ua`(m94EU(d~9cwOak?^?D<K
zn2}~~&Fyv%F~#HYe7oHijYdOsI-Ol;*Ih0bIh{@#TY9~oBuOHh%|>Xu*ladMtyU8}
zIvftgZnw`_t=5AB%w{urJf0ldZsAjkkQJRycduTre}P%CSS-s21xT~Av$;y8(n71b
zeUIiiq~Grg4jktXgLPF^#h&?`f#~gVq6ZR@`|vV{Ks`Ikd<``7`8>bjJCMi)^P6c7
zC;?R)IdDYX2kphhMK=EcmuUtYUs{M><G|LY)tmjhf=6x5`o7{r+KfaZZ2k%EXzGh8
zqE$-?n^or0jv|J0O&`=#@F|^6vw0Uh)6~c$(Tc>V7r!ROzp&2Ro`Y>gQP}(oto_wj
zXac>NOZ3F7GUvA!#Bi?ZsGV#!%jVzUJ-|^D-w^ap$AAeO0Y-Xsbi?-9EikTQtpkTR
z;4$EU55NsvgWq!ooCGHZp;IIqUeRsC1|<xud{sE)4|yKx2oX^;{r~^~07*qoM6N<$
Ef{C6Li~s-t

diff --git a/interface/web/themes/default-304/icons/x16/hammer_left.png b/interface/web/themes/default-304/icons/x16/hammer_left.png
deleted file mode 100644
index f44861568c1cd27774a14ded9510ec4e4e1a296a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 554
zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005;Nkl<ZILnpO
z&x;aa7zgmDOh#MMR>y;on&LztQgl&NR4~NfiVERD_7bj3dB|YBbm&%xf+$Kl*B>Be
z;#ndT43ZMNl+ZQs5Ja&Q)AtcwmTlbXg%6|e`2D_*gA!qxOeQK63V$dTixO-@B$vxk
zB9T~#Mx*;k6h+Erv+L~4=X05_nM~$_V!>)tNjx5pN|LnG>-Ap6VzKK`fh>Z$e=5L-
zDH4fXvfJ&~X0w?*olf^UozClYI(;<|2xxsi9}!Ma6b^?e6bg~w?<cR<dvh|G$iv}K
z9*stFv)O!!y&%xqrPJxi>2#9I<)U)A{B%4X%l&?TVK5kc#R0o+w_9^$fy3e8N$z&L
z-S??fs+rH{AJ=NN7p+$7Q?*)sCh@386o?*==U%(rp5Phm8Vm-q*=(n+R_jH)ui-g7
zu~;mrb@>>);qS{~-dGk8LS#0ZH}KopW=i2Lc-v?+WL&>#G#c@6fzfCry<UF~Q{Fxt
zz6I}s!61jf!<B<Kxj?Jct_X1X;QjmXA(>2a_y^oj8c(HCkst{BMXU7yK9)))4)4K3
z`pe=XwOYM+{Rlo+Disd@gy;01>r1^}=kPCR@t+fnunBrN1slNg3c$ynfa7qC3+@0H
sw7~`E!3k&K449Xto6EA3%c4ceZyT$yz8|UnT>t<807*qoM6N<$f=%KGzyJUM

diff --git a/interface/web/themes/default-304/icons/x16/hammer_screwdriver.png b/interface/web/themes/default-304/icons/x16/hammer_screwdriver.png
deleted file mode 100644
index 27877af5c4c42a4f6951cc377203032978d874ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007#Nkl<ZILmdB
zT}YEr7{{Mi5H(qZql>96{9=Y7xM1RFDt_Q#>Ne+KLKvpJb*WY-v4j#NZ$_U+2z5~n
ztc#XZ?#9Gy)S#ff4rz#86uT-W1%)BW>Ho+yEq&nk9^Uhw|L;8SIpp<vX)EpR?TiXe
z02i>ewY42|xm+2ot*vCY+o`d!aTBVkscG?eJSyOkcoE0~2b!CkT|+}dm;8SJSZ8PF
zNxWMi$lNACsmWwg_Vo0KhK2^Jt*zaV@NQX6O-(*c)8dIl;(H(vc<gq&kJZ)H>3AK(
z)lyPYA|jE9=JWZ4#bTkdvNEz-t?N`(RhiJm*wWIHTwGj~Q&UqfD=RA<fSAoHE-n_c
zv$LAR;SeU1iSqOF*F`|*bUM$)Vlf#GhvmY;!YbyvN=r+rprC-ZRZ&rq2!%qL&1Mq@
zgMo5#aws=9m(aF98jZ@CnHkBW(P&ij^76{{dOiJDg@uJ87z}C^6&1p!(`B2@W`VXf
z{EDB?D=jT;0G)n9Sj7hQv{RuqF(JfUI6HfOzPtMizi;_m&XVQjWywO?rQCOke#+5N
z8B9-4j48^IxT4T0kg9r?@X_rQJ`SSeR;$E{wWQPe4dKZTigG#%!L7fN9qR&!RaaMY
zdn<OL;par}eyFNM_}P0!5pN*4vWtWdDUNI8@GsEk!{Z6jNDz{h-d>4t=(VB@ynx^l
zzInEUuY!*q9UUBA1=o4<FhH0Wk358Ab#PE3JUy)_=UEU)g>Qh*D%!;O8$9^8H7~di
z$vsHchKD7>uO^5tZV0~i_xE#n4NQXlU?126GC(HK0sUE`Yj+^w+ZiW%JDw6;1}u0A
x%-|3(ascd2$qcD0EAJz^c^i^0qBBP^@drlr`KbO9z5@UN002ovPDHLkV1gmaR2={S

diff --git a/interface/web/themes/default-304/icons/x16/heart.png b/interface/web/themes/default-304/icons/x16/heart.png
deleted file mode 100644
index 7e0f0f7b41183f68897a402995d436e7d6bb1618..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 630
zcmV-+0*U>JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006#Nkl<ZILoDy
zPe_w-7{{M&uleT??a%Aj=19tuiWYhiL`gzH^Ego))+QZ1h;<6<5(MiKm6$<MNzIZh
z1Us}Dc97&{nbm9?bc%&_5%IJZGUn6s-S*Z%@zM`I@Vw9S{rukF%lji{rvHJSQx4-C
z(TMO?(1eh1Uiv10y3o@KnGrZ}>6tJ~bS|W-(QThE{d;VTw}ysNVY@vh{fhwgrq`SL
zH9Cq}`nAm#g#(v@M1~onB?NwWz5IP(fHwvQd3$(xXI4=nV9V#*K~JA;cswaMaOpA8
zp`gjMy6N}xm+tPrB>VgMV@u1=HQ`%d-<}y9xb%=nd1Np|WcS^b)>hWh+S)kU)s_9+
z*_lOMJd5@8?81Rd_vJJ05iNY}?M*E;H?vNtv61I%YWS(k#nY<F53JT4)0LGRuCGtQ
zflGJtTv@EGO|EuyaJZp?U%1^Iv{?9w*}R82r;}%_)+8LbG?C}{q{*axXm3w1I2`;^
zg8MNqCwNs=m7XvfH8^nTW`P^>Tkcj=tZQ|3nMIq8Ln0ItmJ_{kI5LwZCF{uQ9$o*3
zAwYC#s=PcAsjkkf$lKnDm_y`cRfU{D23g%J-hi&j?Yc@de!H|ZzGk;)K8Xn4TP&Gd
ziW0{RnPP`d7vUGiC2)c0azNe|H=DCDA)qJ;^e{u_7#*<O!Wp^$XXWQim6as{YV_Q6
z@G=UA1&83Y6E%5=mH}$?3bP}G3$)Kd(<PjsywG$?jt%r@;iPbsaD@x&56Q?~QnY`4
Q@&Et;07*qoM6N<$f)p$?r2qf`

diff --git a/interface/web/themes/default-304/icons/x16/heart__arrow.png b/interface/web/themes/default-304/icons/x16/heart__arrow.png
deleted file mode 100644
index 014c3785064ffae4d5c6ceafac9a78835854e9fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZILoEd
zT}V@57{KvoZstcR%x$ju0ft_w%|OE}Q4-VeD}wxLCv}q`BiRZetS$mgyNFQy2&EF6
zC7KEbwHbCXlp!{CenDMmEAvLgt2L3KPtT*yG`s7-58m^>=l`B_I0q0B{s;8HHm_cQ
z3i63qiHTgNc`@Vh?wob^nhI{Xg*T)dpv<ID*w?gL*ScPht0g5)vr;)r^S2p~R|LWN
ztFn^UTp#3eJ2%{d5kS-hFw7VH6a@TUT#QQ^4X%}!Z*)r}V{BEc-QYRT+ERYLlN)ZK
z6X1wZEFNFc>2M}1YmcL-2q%(~mThFQpy1FNH{8Mt0Le>{XpDB>8cj|{4{J&a+A}jZ
zr!q1&dAxsZHamNZ8*ZVUUZV|Q@Jnv4b2uRZJxp<NI1m+uuR}wzL!rRuGTF9{;9xYz
z#yYv-7Mge5ABv84jHjicS*^ym;o)cu3c^=X=^?!#A=o98Ik@2#8h1oCiN)5>sj03(
zl?wal!hac{CwLbY=4$lvvU0;MJl*w#K1-{=|FktG#yupLqltq3%=AS18!ebuV{w%g
z*S3~t8=y430-zrDi0T0Dw)pwYk3~edN9k@O6mFx~qENUmKKQuawv2eD`I{}VX;Dzu
z&m7nQYUuBJ2vFVN<1=SdD&3P5Ru<M`uD%ab4Fl`S!uDlN{{lArK&04q@{wJDbP7Fm
zq?$G{0Nktd_MV@UN;faH+wrjjQ8$ZNF!e{(SH#Hb5gYt{gp(Zl|4ZrPwD|fuaxPRk
zPh9I*Iezo~#L?1TTVm$|UY<mxbDQdxN!Z_dkwBs%AxePwd;kmMG0z2DHBQG`5Ceqn
ziNKN`fi^jCa|sD0r(h?DKTog1Jm-?LhJNq7XETy>cS?QKSK!!b4g3ZYOrv7!5+Y&%
O0000<MNUMnLSTYISyo8^

diff --git a/interface/web/themes/default-304/icons/x16/heart__exclamation.png b/interface/web/themes/default-304/icons/x16/heart__exclamation.png
deleted file mode 100644
index 46ad89f85535ccaee38c41188aa98ccc638b8e3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 767
zcmV<b0s#GqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008UNkl<ZILoEd
zUr19?9KiA4-KI7}Va_?s1W6xaiU#^J5-lqQO?sMWi8aO02QeSQRv}SlMbRHqQ}a)$
zrKuHCIgOQuwy9}3=kOoON~07tg1NA%zkX*rTlLuB!#$jHzlVEw4<I7^4|oJNyheab
z@``AQnxxY_pJC&TIqk+hnXF+gJS6o1$J7$Z;G$A#`H`KC^C>CjHmTG=^EnI~&m||D
zm$I_hnx)m#bC5Nxg<1fv4nV_hm`P5?k4Z^5edGu(rll>{3j{sPyi&Q$=Im?J3Wb?9
ztcCjk&b54g-&|@c4#mc9G9@PBfL#8$pG+kr{IkXy)<PwKpo-&qX!o`5@Nl%#MnvFX
zOw8(s=;&28c3d;W#jUZ1wNOs4Q3lX58Xs@ggoUA<IwS<21O(s%A0MoiNU%aIwyE~=
z!nU9wGiz82MeEMA%Veg$s3>d;4#p;5U##`;z#5Tg)3ZZcu_MnJ+Y`iCCl;Gn!&<nt
z&i^)_uYDI8X=(BH#%2l}J@yh|=P6fQ952MKJol9%Ay3B|*247-*XXm9xVq}Kfq~X`
zPft`+Xs6lhh9eCJaAm0p^^K8BPmgo?O^F;Za0xbX1pv9lLZPw8&(GRT@7qOjmso_|
zIYRt4k&g<60vD$8EZSyXWp@)NAb)HC7wB}I15n*`aT)HHO0Dndf9R9D;n3X>{62G*
z&Mn}V(G2WY`|COzxP2Y<w84J(EtRNflM?`^3!I#c!ycm5w;5Y-s`v2Ph#>}FJU@vB
z{T|f!?w;4waiuS7I1c{)`I3Wl{*ThfDUmtPyuKm%X&Q^dNn@z(3D|Yg7=~|}-E^&0
zoZPYH5qIKEwn+g(3)8u;Lz*4d*$ElWj_<^!1(of}jOn(|wv=%djvEMw57|XRncO7M
x6szFVo%5h)N=f-e7^uDsx_ehZTXPkPegOd`x^w;uVVeK|002ovPDHLkV1fZTZsh;~

diff --git a/interface/web/themes/default-304/icons/x16/heart__minus.png b/interface/web/themes/default-304/icons/x16/heart__minus.png
deleted file mode 100644
index 0c305c305d538c344818e3b119d271c0d61a382d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 656
zcmV;B0&o3^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00074Nkl<ZILoDy
zUr5tY6vxkRn@xR)=Js<;9SQlQqJ_Q)q9viA`KV}))h0doAl6G^y$FT9L?pK8zm!X9
zg<w#dVGol05Zg?fLQk?VUqpOb6B&B?p8d(Cy>;O;?(f|5IrrY(L(EM71HGmMIv-IF
z_yjcI2bU1n3o=i|v{X)yIO5V67$>^uSJlNWmn*j2*T<VqXEb27h7rFa$b7@$i2myB
zm9^Lhi)B$9acPuD@e)l-!cT{Te{^>8T2~iub$9QK8w_*8rpvV>vGm$nTU%5dap?uo
zkx{*Ve#7nNZ_Ukrh;(#tsHSE;2v*zM53PwKE<GbMJXe%CRNtGet>rXYT^%nrHSK<F
zY}}Q3=32O=WltP&=`pVHh-mVAYio46x|-AYD=T@Tq=a7;7V?Oy@>8=p!AO2S2g=K%
z;)qN4liZjpEse}KG;pAzg5TKfJerrsFHNRH_zDWxYc@y35toLNoEX;YwJ-Jcu}Pba
z-y-o}OyC6Xii%=GI-MqtxO6wg9X!i}+}tIttSmldv9KRPCIOu2qs<l{&dOSnTo0Tl
zQsDMJ${^7-PfpItTyb%H7Q20hm;myOs*1cKIk>;#OZLxS1?VQaYk;W#p3%4*v|8f}
z5QX<fBYPEP8*jf3DFlMTnEd}|A*OMIeiXS(bbS!JEt^ccVc>zh?R4@%9-;^x9CmOH
z{eJ<E<H^pB2v><#ak3ByW^yah0sBJ-jshDfuo6|Z5zPoPmso1;7%-g2&%lAr4WJO5
qq@+-F23HZ%-{2HDPSU~{r@?Q(&v&1YaO`FP0000<MNUMnLSTX)gf%1p

diff --git a/interface/web/themes/default-304/icons/x16/heart__pencil.png b/interface/web/themes/default-304/icons/x16/heart__pencil.png
deleted file mode 100644
index 2d37ceefbc39eff1e7bbccaf92ed6f4f7f368bd0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILm#K
zUr5tY6vxkR`~B1j4!1eS)REeoTUscAG_*t%G~W^w*J_i92r=m)mQaRhFZ~m<%vfTY
zl8IqZn_`h9ztk)=mGUJP{UJnr8V((LI%jUR2l2uO?mg%Gx%cw>U3dxr%-}BU)_WpJ
z;5M7{zX`%~SrCp!LJDf0BVH3S;UUgYUCHn~T$3NF)$+}Zj8SZA!Vy83fPUIw0N}Jo
zub*3UIMxI8^|)%c`@IIk0@WKBp0C(!{y&W;u)nf$GY|;iS&imxH$VyW0tkHo;~e;D
zv*GvZYWz`CgKM?58v~*^#jH9U8_RVi_@*Tl1HWC^Y_)E-NYZ<Dp$8zQSE-y?aXRsH
zS=m2)RaN*gKmXS(@#TCmj$Jc^<i3U^oVFJuJM4lRKzt+!Q*`q7q}7TM<bnd6D=poc
zIeB>N)fHVx?x{<}m*o~*C@<e;hh6BRZ}0$M<ZDHRe>^V_BY1Lha5y&uhc2o@@_na-
zod*)IJ2@G>7K@)9cH!<0jiXsvzL}yT^k!${Gm{B>wOZ^dR3ZA8v6E!CB>^96G&q=&
zf_*xjj~#ZQZHN8sN~QdvuyB3EXv853GStGWM`F;OsSd4&bvk^JmbTueP{{1C3%A1D
zpkH|}K7L*{n}efCN$4RV8ZX^w%xDa@OVT`NBOYA;kI)KmsY9h&no3U(PSR=bNDM*p
zgkI0`5@$FY@uD|?W_poL0IoZ+v5T_?L+}%c%(PY;ye*20+~Z8N1I1A|2^R$}09<aR
z(-t+Ftp%c06qmThJ<epp9>YW&r}uw~eojYRoR8r-*G#bYP!MXuNTe75aw`EQ7@l)2
z+)D(0K)VbsrV<BXN60-!*JdJX;t;V9_z8!{UqkIg@~->*MgRZ+07*qoM6N<$g1<dO
ArT_o{

diff --git a/interface/web/themes/default-304/icons/x16/heart__plus.png b/interface/web/themes/default-304/icons/x16/heart__plus.png
deleted file mode 100644
index 4ecc1a334345a82249cf5b4505c4af16f0db837e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 700
zcmV;t0z>_YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007mNkl<ZILoEd
zTS(Jk7{~G7+?G0Y=ngKYl8{$w8t9E+iV_Yq38RVP(55ALAr=&2bs-4mg+@{amL{ep
zSqXO0CfS7~Lu{5u=*m_mfr(dZB14~^XFBoFU4svM_rCA<f7t&IBEtW`O9X@r0d?#H
zb1?_I!t+WY<J~#e?w&enq{Rz12wZX)jWg?ZyKkeRfz~Q3y-t&9p69O#8L!%G-aqyA
zvgUhdFw96JE&2h)05B#Se%fsGy}X>3D=KKcre<?crJ59LcKfEx1=p6XR<AVDq7OLM
zuT)O0R#($pVc{N6Ss6`dWv#f`QfcXtHEE<p51@LgP)zdCw<of*Dae(RLo*i3)|Y~U
zEgA1$n=dNbmPT4U=G*83M!psod&e>}DaetYPQyt_^gJ$(dW}Zv*6Ra$V`9jen(CEC
zT0Gowdo(%OGnJoD&a^aom5@OFIvqWWjy__@Y^DLd-Xo2)=-6@cfl}%El$+}tiH)V#
zyzyU#`3l~~$NM@$LR`{Fi+j7;_^~|FXl7k0DgIG|fgBv{=j1CYY=|LqyWV%|y7s;0
zq6U`p;lN$&QM3RzJHx{lCleF>6MVLh90qVaZZ!JMt-6iN>o*7k1~>ZjK#%Ug0np5E
zR};{9KQwf~Z8G^kb0|t`b!2Xi+K6nATCx7FB@W#I-MTKE<uIt4HS$5O0=HV!>cxfV
z=&gBn{El`b@7D!744qMK9R4J*bNv2S@x$p13-gE*RhlJ5n|2y)T6gM?GbG;u?b@#W
zZ3xq{SY|c>8CGCi$XMpk6ftZ5mO^Nbm_}<P|MS`dCs(mJb{acDMjqda2>wQ~`VDH;
ib0|?iK^AW>2*qFZ;e}*%MqnoZ0000<MNUMnLSTYc7D#FU

diff --git a/interface/web/themes/default-304/icons/x16/heart_break.png b/interface/web/themes/default-304/icons/x16/heart_break.png
deleted file mode 100644
index a19bd593f4f5c8d8d49172eddd7427e84e1b93c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007jNkl<ZILoDy
zT}V@57{~u-=h&RMwzE%Wj->8XWTD=Pl69qd=@$-bLV*`zT|`(nL108tn$1Ymbbf0D
zMx+a)gc{BwG!?pvnNlDUNNcr5zCDlI%8T%(7k-@geV+gCIS0-QAq4&hj9~}OIM7Hu
zBLc(}ahmEf!}~-nkjON$!!Cx25#ZF6)w=M-<B5E4ZWf=btGB53W;EVAH*L2sZMfax
zZ%s{Nv%Ws^#9~=shg}Q+(jYLyfpxcAtk%|wS1#A5A>a(v)e%LR+w^#%Yjt%yJ$|lL
zR)*PO7yZD#0a>2kXlM}c%F1>aOHXg|(Quz6U7If~T>ns2^{2;#YH9>K?4k!ydL?O&
zrf<J2DiX}FUO&@K1E_xfh0C=WC@vPs9<x+lzReE1=%U~~VDf!MMR=y5KrqvJdC?xN
z)=zbGNz(0Jlj&=>*({j*Hk+8v%?-1|F7Cv+<j>9y&6k$4EGC>z;WHYecV*e{rM_3A
zndmbZe)v>XjAvwsL9;o;4!dZNbGSp61FuU;B9jh>ctAmB)L@9TOHyAOWrp<nt%vjl
zk1{hO?HWyh9d>au!43K?ooQ){ft;L}-(nF{G@xInTfGigI~67PSXF;MbvR-jDJhGb
zO?tTc7pWDv;MM6?=CZP4&rPNnosSLcbRTC`b$ixoWqE}&oK1SW2jB|buFF76n^wCV
zwArFTRgJwhnM9C=-BOfg?r~<fgX6nsAX+GJ7P#0-Z(CN?UrR)*qO5R@dz?9hJ(iO=
zLHGY8{Ty#<YKY-I*PPgUX^8!VgUGN0`IW#d!+WkJdPeXC`p4qp0m6m2kbjgun@OID
fBg8@Q6;7<*{cT3#bt_Tj00000NkvXXu0mjf!eL4V

diff --git a/interface/web/themes/default-304/icons/x16/heart_empty.png b/interface/web/themes/default-304/icons/x16/heart_empty.png
deleted file mode 100644
index fb513dc4d53a43bf690d504d4d159c39f7e67516..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 514
zcmV+d0{#7oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005WNkl<ZI8UXJ
zL5mV`7>D1npe{vp5E2G9X`v;GiP~DCo%SFRA+!)4qHV2dKY&+nf}kEmP!v>95Jk}s
zphrJ}UqevAi{e2Ld!KNYVPV@te|Yen_xF4LGbr2bR{jU+cDrEodc8v>s{B^Ylvld<
z0rPH0M&}R*SK95ibUGcY-|t7~^Z6IO_2X<dI~@!LKXrcu%<RbM(8a-(X0vIuTCMZx
zbV}j1@{-@hViDGY1I*rxE)K3V8jV{zTxf8jyzuaDG#Y&c<}29=4zAQ{HDA46zu0Ux
zwg%5UJYTQZZ-LpH(Z#`)YPBkrO6A*lJpQENf%5bQ4(Q_GO0if3dpI0MG_;f_H(=4l
z!IgYI4-X54!mr6>64JuH^7tC|>CnZ&m0T|Omuxm`=_j4*KmJ~edy095Ju*6UT~E^K
zw2P5Sr6~MZE|*6;DX_z2M@EOP>v=DbWHM<a5{ctdsdT1qd*fcf%#MtX*O5>tbcy3Q
z5|77?SS)s&$z;B-Rx1mb*^$u+27_|#F-=p#;jk|njeahd%csE1j_hB@Q0^%A!0-15
zB9Vv#%<f*ftN1+L<zabWd88l&Y}@_-?(;5tpxkz)KUA+72V%<mdjJ3c07*qoM6N<$
Ef~_j_r2qf`

diff --git a/interface/web/themes/default-304/icons/x16/heart_half.png b/interface/web/themes/default-304/icons/x16/heart_half.png
deleted file mode 100644
index 1a996b475dfcab6d66e591c9319c5b9980178831..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 721
zcmV;?0xtcDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007*Nkl<ZILoEe
zUr1A77zXh7Y%~8rk$;EAz|5eObfJ~ToF$SWlY|&3u1$}2(Ut2eRyTve=EWGzws67*
zYs0Y>fj1rnLn0YsEvyu}G%CRvyKyX1*4K09W@6M$AN&}+e9!Zpoo^$?82t|lQ-&l$
zbO&BQ6a=`9xilOOOCpg-6X;+V3~&K+4v3~u5F#2B%F9<0Lqn<WqoeGbUZ0$m%RgX#
zHxvrB2!b%UwYAlY6R#x_i5oLBGX~6+Q&UI>h`1opd|anXe$naJr~ZESd0>DghKGNI
zWU?h};<vZAH3&DudGRwIkM{<HL46<);K)yOBp{V8$9bN;@9y5W-q*)st*u{UvDi(7
zE<?isR}dcY`~6b#63KiVw}g{_E~->4C#qJnm9DPz&d$yy1kOQyPCA`d`+U9;uh%P~
zNxTCO(e%fjp5%OUGs_Vg8`<;PTI^?M4mrEAv2oqw@$^qlBJHA#2Xl3G>&qP-Y__3+
zJyj@JprnL7DJ~WZY7bE^EG%eUE|(gJoRo3ukyILe-QJ#>uB>Fw5X`|kdBEw-&CSm7
z@$n(2(^&#U4%%bKRX#2%dKay)-<>NfV*<j$UV$R38n>asW9#j9yVBuskce!wkFyfp
za~Bq_Emc?VE|!+ES9=9jVnH&QY(e;z)oNAQY&H%^bg+Od_(htDOb_$(SKr9xyKnIx
z!~&dr(d~BY%w}_&#bVhHX9_y$Hy%tVF%sRk=H;!e78j>esg!bTY;3@2G`5*cCXVNM
zs;Q}=zb*x6@E<VXa@++4>k|_by#|A!TcgoP6bc3XYf0c3R6>=Us7XuoQmfVS6%`d#
zm>tb3$nO1P$>0Pip-FTVUq!7}w~K{YV)^mx-pu+1;>Wzb8~%Rc00000NkvXXu0mjf
Des)d;

diff --git a/interface/web/themes/default-304/icons/x16/heart_small.png b/interface/web/themes/default-304/icons/x16/heart_small.png
deleted file mode 100644
index f2ae66f976401735faa8bdcf42e6bb6a833c4da9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 294
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Z#`WcLo7}w|M>sko>_H9qJ-3j
zIgJM^RGAM4D%de6IsZ&|NK!C!WS(YVAX6<O^5tD^(WmdGckYNg{K!pu^!@k0fA1ZN
zSa@d~KTz<iH0aX)?7F)D@7Y;vcRqgq|LLmr@BgzueE1)%;@E)=FDK2u-G0~2?SJ^m
z)BodD^#0W^oN?p7?yFbwAQdl?6FO!cJzoBFN8`c&Uz?f|_Hbuh2r2uftzg;2_QlA+
zV2hDK$(iTR_m_JGefrNCc=3O+h2{IkBMwC_k{6hc9OdB=Zjh2c`|v>pOH%U@4<iNn
p4rK|6w59^PkRA<Yw}dzbhW4acMGJney#(|)gQu&X%Q~loCIH0>gU$c|

diff --git a/interface/web/themes/default-304/icons/x16/heart_small_empty.png b/interface/web/themes/default-304/icons/x16/heart_small_empty.png
deleted file mode 100644
index 6e0c58b8ec7eb82c3d4a8973d6ac99fc6aa3fe31..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 252
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hdo^!Lo7}|oxG6mkb#KnZ&?YM
zBu<GlCXNaU%+75}i6`G2sY{%^dd=%2o0i=C<tsXQ^6!RaduE?0XJLP&vi!U1@u`;2
zZ<ue8=h0Xi7JGefhlt(&;GBZ|1-Z9VB-(D9_)ffL#aNKDqmsEacKNki%s=a7j&mH?
z`0yDohoaoE8OD_kIcZEF={cY0PWj|1C-i!zfOOtHhtSY9I;WHGe=o1fXOxl7>t=Ed
z++cIw-}iD1qs(phMxE0UGRMUk;$?mu-v5EE&-Ze7(xQz%K<_Yky85}Sb4q9e02&@;
A<NyEw

diff --git a/interface/web/themes/default-304/icons/x16/heart_small_half.png b/interface/web/themes/default-304/icons/x16/heart_small_half.png
deleted file mode 100644
index 234580f8e27bf5c509a78f9c5b6c2855c4180f56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 321
zcmV-H0lxl;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00039Nkl<ZILl-B
z|NlP&C759t8nB#!!FVMD!%-kU17a^<zFcbM%9UwAoCIPMG++q>!?8y}LGRutCx2hV
z&3$3@>ea~~KYsLo`0!!ik|j%$2^uhuf#LM)q@;h>{QUmk4+{G7^5si^pt$khzki+P
z&6}4-(12+S44W>wxqaAeWb}WPygX3ozZwv0-MxF)XWF!BkpvCsV_=Ay#m9H$xPig{
z^@4&R13;!&%$++ozOS!OkDvj)3=9md3=AFf`T6gil9U7)pu1|-s<779R+rx1UIwBJ
zXaVA428Ic9I5{6JTC^yjxVYG(rKN>|Bm?q+ID&y;W<*4UZ+?D01JMSIz`Ote81%QU
T!f4<y00000NkvXXu0mjfL}QUO

diff --git a/interface/web/themes/default-304/icons/x16/home.png b/interface/web/themes/default-304/icons/x16/home.png
deleted file mode 100644
index 242e2501df0efee8b318bf1a069eebd1d24b1c44..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZI8S|%
zZ%9*N6voeB-}_Qd3xrmXWk^Ak&^F7Pi&a`#_d}Q;LJ(PkI5aW}Ee6t{tYP7bBE=kK
z)Q43BB}k=MDX9npLoNT1W~7xCl6gAM+uk8jUHEa&ectDHc;Qk45!r-9i-nSe<-&^J
zID|Vf9O(%bGS`ty$c?@6P4tfiF5%v-x;h4!kzGHw$NO`7l<^h_{B1#o5V=`f%LAQ{
z6_}Bgo6c)r-gR@(n^__d_;bN_;n9tn8YK>PJyBprcF5!5`wf@*O#bFFfxzMghR|{~
z5Kuy6aVAF^LJG{taAq0?AI?Y#?_6smx1bkf2~RKi{i-<J)5;;!&aa226qu3W44u7B
zC&Ph@1#Y4JLS>~YjP*TJKpL8uRbbXRI_ScIiv=%NTdmddOA2R3dU-tBuE4dQM{X-H
z>l__);lQP3a*G}IL<*nEEt(zc<H`OP{{<a%;lQQz<fT-9JO_BczmM|NV3(q;@f@Gn
znxw$2b9B&!1DCG&JeuOU4{!MEaE~H*AeCQLA5>u0IXdWSkAg=HP05ds1N=>{2rg!?
z<hIi}+<QKcANq`Vjt;uoqoUnubhf|&eDj~)^4xe-5i-|sONE<TPiAwWo#Ht<=)!@k
zo+DW)RF$`>d|`To=O_CW_4(`hL8*&7{QG6eu6T|Px^VQfM6i|ZOReCU310X-st6Zs
z<h$N23d}l32VFQZmy(6F4Ma`bh&qAHRjaJlW+4!x8QG%qCOB|^0T#jXmQ-gYDgXcg
M07*qoM6N<$f_+mYUjP6A

diff --git a/interface/web/themes/default-304/icons/x16/home_arrow.png b/interface/web/themes/default-304/icons/x16/home_arrow.png
deleted file mode 100644
index 5ea4ae607f918f183856dda67ec0ebd3871b042b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 719
zcmV;=0x<oFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007(Nkl<ZILm#~
zZAepL6bJAl>{EU4OR1|6)F4ZfqDV`fFH^%_%&ZCF{E$Z2(nQfnBYZ(w8R1J7&M2l>
zqq2ggSfo&yLN)Ux!Lp_{9ce~dX(5^ap7XR(g!JLZJ@?%6KRn!fX(<u83mz^mq!d;N
zD}M_S8XZD{++0Yrj#NT|<I49$Zi_Ea33sm7)PQl#y(`Ce>3&X+fv*Cw#TJAK=Bw4!
zuv#8STyrm16MFf}yB<{OA~OYI|1O9S?itI=WpJpgRpOd^2V!H<RDTi0$y;&+Vt+4C
z3vHLm%4DD+Jrd@6gTyuW_?bqnhBnOCw0*5R#R$#?(Zb^kB_(pu*830!jW@c7rzEbq
z$Ip0XPiQDO!&zPsBXm|26vzR4f4jt?;fYy^YiFNlc$PDq<ps}HD-?S1Ne<79_F;UW
zQ{rPkG2f85cJ_IOXF0=JS}slz<?TVHQweFa_I^wbKK(DA;aSdbmV!K&QQe6+ru+VW
z08>L<Qb)r%<OeGyuDMs*V#T3GJF?E!8jtB~$UEu?QEhgtQ~KP8H~4Dnm8$mn;kkal
z#5MPl8{WcT2O=taZGq>9v;q1)qN<~6r_3K8t@tL6$SQYxp`$1c8G0jj6gMNWwh!C#
z?;`1z6%{r>ge~h!d$g3cGl0&dhOq4UPa~KcACL^1HE7F=LA>b|PLBX7FM-7FKXP6J
zK6&jHehqXm+LsEGHs>x(k79muP^wGzM{|}6Nm*ssnqfqANh^X+HX*RiioGuY4_&iG
znckx1yet1pIq`mZn3=%B=P}8Yx)HZ^ffCo;Q{|iC|44+B4E81A*_n<kc?tm=h^~bb
zS(vB`eH4nDLYc!&?ycICGU=)=npJwK?sJB-zW^i~`I@9bgLnV{002ovPDHLkV1hfT
BOt}C6

diff --git a/interface/web/themes/default-304/icons/x16/home_exclamation.png b/interface/web/themes/default-304/icons/x16/home_exclamation.png
deleted file mode 100644
index a40d4dc1ee1c1529c029f28b00f4425ab6c5fb72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 773
zcmV+g1N!`lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008aNkl<ZILmF)
zYe<t}6bJD0#=b=)QC=zpwTqXKBnc~Txm2XI(Dp&h4<UuvLXfReEVTqLQ7*HbMWUvy
zR8-O=O7TANnx?j?dC6%yU3tkBl6iX0lY=M+Kc2Jmp8w$)dtoyGSTL4?09MRSX4fC?
zOzApzH**0bj^N1zub=cCz<lEco=o`*r4k9%)XTkcD(ct5B+|(M*=T_mQ(2Uig(IDB
zIjX5Amv}r``qYD&Q9jWOkbf5(XI|%JWboi<R}Dus^+E#zu&Ur8-V8r1V}Sg<K+M!W
zPEY57La7f{7UXbLQ;(iW#9}<>Wv}vgumC^Cw7{2Xe2|>X2Pb;#F-KyH@5bgis;NiM
zXy&ws2U3Qzw7`#1D-sg;z*K(|N1-vjk)ztwrx}{13}tCS`yP=fh5aQLmv!%PMx*BF
z+Rc^49Mz-k@%W+62lf3aNVAloEbL&nIALoEs_Vg##;Jas8*2N{>|hgW8-sA!@Dx9`
z24itj;AP5C7Tm12L;kfO67^$RgY%<ZTub2{j5}t<HROk(u1|`q#uA(wkm5^)b9T`U
ze>iGm2Jk2*z(l$-JB;5Zdb!LHC+tW$iyf&USdnUmOEU_TNF=!UISp&_wzW2w2qFd`
z^OD#k`ln$8zq6k~?giRlOHvSaWr?w~%ncVO<B?q$r?ru&E_WEOe=dmYRBS=yNoPol
za3?XVU&nD}M#JSu_G4|FA2wv$p|&j)HGTg0s!EQ1z24ZZb~n}(3d%PH?Cqn^d0%@-
z40DyQE$DD{ZivedKY-QoF4&^li{pdrMH)E7Z$RhBfGakXZfUK~6^>ATE4@pyGfuI%
ztjD#*Nlq2vf)y#|sBPMZ`e8@Z580#fODsQ$R=s<!EL+H<1=fu7L4ar80G))@iFP7U
zi9Bpmcg9s=>b6WU+>Zs_-Dp@Q3K<xbx1dLU0rGwWd}jOlWjIlN00000NkvXXu0mjf
Dyp3v>

diff --git a/interface/web/themes/default-304/icons/x16/home_minus.png b/interface/web/themes/default-304/icons/x16/home_minus.png
deleted file mode 100644
index 138c898a02f0c36acb99765dec97afbf579f243a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZI8S}j
zT}YF06bA4!7)f~1MdnA5kVRQrYeAHd({gEy(#qOJm_`U8OOQk(qj1GQ64DZrtte8|
zQAS;?P$)qvr4OYPVPL4WDQQMpX(E}Y^ZeZlQqthZj^}-z!wZhWi6}}$>vR+&R*F^g
z62<+H#Dqv4**8&=$P9hsZ=%S>4<w0)cinCV%-G#Nv)}Q1Vu<lA2o^h#EPM^s)!g6t
zM8S+*vE6d(`^R@&<wz+I1b-jcEn4nWR;uDa*HZ;Ec1LYCepFY(m$J7P34(<OtfKX1
zdATao=cll*&ZA()4$tgXD<4aa_wL;oMQK7ikSd;CcezwB(A~x!dmO(V99J-7hiAwf
zuvi!!ba5a}bX+YhRe|B&=L$-Lqf-iIZI2AH=%9-Ouh;4IW%4gMIT`HX5r2n**M8x<
zr(o9h$RLXjy0k*xVozK&c`sz<O%3<*Sl_GvLIzoM(4~af2&z4s0gmZUejXp_QrhdU
z@VT8a3TADO46^7P$AKG#HckG_=lA?0(5+M*Ht?IWBMN41j|{Tj)yv6?168N2nu1?n
z`uV54B3w&f!|fL{xThkE8`ei~v&o>em^X7ncvwKnosC2u%G+n6%ejeAIQ#Vj&y4sL
zk9`BTmZWjp`E;%bBc9I5`G;GM;3eopYCJi!wiVA!1bKF>PpQo|^5fG<{L*!ZYmCwC
z*<ze$HnDT*lAu${F1&$!mf^QlbkI=3lcPNMZAkIvZsiA#9SUY`j|{Ttgt`<fOlG3S
sU2+v<cCOXyn?!j?6Lt%pH=={?AC~{;aRaE`g#Z8m07*qoM6N<$f-ZPDPXGV_

diff --git a/interface/web/themes/default-304/icons/x16/home_pencil.png b/interface/web/themes/default-304/icons/x16/home_pencil.png
deleted file mode 100644
index f5602a492837a4f2b4a258df54d62d59cc5507d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZI8S}i
zYe<t}6bJC<mGvnikn)xYT9BoUf|7}IE0;67m{|Kz=7$i%R1nNd2I36K6w+EI&P-F(
zk>#u=RG6T7flBd$;3d2?wKOBGW<xSh&;QYZg!ICX_v}39fA+o`+sqhq<=iBRxpN-e
zj#WzT$r`1?MPj<WOvOd5-SL?*myH*wxQ0h1B?PF^D^EKa|7T%}aOW6ov_Q>SYKn?z
zw5v%#jb5rQ_`#2ly<~_FN#Yp%yWj}-@?l}22#$5X7Eq&iE<BtXtBUD*Oh5|9VEqCO
z*L*)eUj(WXL&#EP6i}mwGo4057u3F{usyC!%Q+T=a&PYC<cL9QUke#^KGZWlFQ7&b
zXP7x198Aa{iv?P)^LAF27?>Vt6A&7oT@+9|`k28iGRR`VyInF_F8@m|*(UpGX0TJh
zW4BxC1k{c`W-`4u-F)TbG<-~whS+xg6i0pBm?<+VZgF~m=0@KB*Jw{G-8im#PI^5(
zlcZLr@Y=>IuSP(;{qrErk97+j)wk$ckh_2yJ!?-HnQO|(Znu-x!=s=AuTYvC?vS|j
z<pce+_6deFe)K-~tblr|ubkTIRb>B^L197iMrUVdc^Q60LxRR3>G#)B`o&)Z?ws<b
zj_e5PFNmh6>HDbNtQKK&X&~iY_P-mc^kv0|ycvr-A!m89N=RP*HbF}>gMv}Fo0>DU
z)Re8D(llu`Y*f&AuZb{=46@?780yRP(Fapk7A9$VZbYbz@h8ib0D56?7vTo}&0}4a
zgc-~t<G8kRt|^gz8DyKKmG4u6DfR$WBzO|phRK+|g(mvzL?1JlMP@C_yg2!O#%d2U
y)&;!Q@07_N^FEzdI}HVT%39D{cV3GOvVQ@B^YD;3Y`h)-0000<MNUMnLSTZ(9aC8V

diff --git a/interface/web/themes/default-304/icons/x16/home_plus.png b/interface/web/themes/default-304/icons/x16/home_plus.png
deleted file mode 100644
index e9341e8c5719467ff08f157766241bd4d06c5983..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZILm#~
zZAcVR6b9fU%pVcm5L4H{&;l(*(j={RHQiLC)UuWklL|v*6C}~d$h26HB(+4tsmu>7
zDWw7{f-)pi`dBGN5Dc|eMQuZ^w2;ixeQ&!ECH;7qGiT0wxXcW>5RsSQ?c_vS!ADs0
zn@(u6(?xnZk#QqM390rg?uk5CUJxbRy;WPwfEvB)Cw7~D&W$s!0>MfPqJ{Pw)zv&~
zc`TtuufV9U`|{x}SD9jS1%kg9#0ZZXDl27hr1y!08oji{M84m2na^cx$rlLzTwoA7
zu9lU_Kyywkw>PO0YV`2TXfW`>=)jhQ4PF#4I2ObS&uYwOIcV+cWYy@;Z$@V&)ac<E
zW>WNeMh00dh!=V;78lEbiGeN&q0#9D3ALk-8O$PsEEc?4uPCMBlVr`0_4CwVkA!1C
zZ@(>}cJwiWS!9r<)#4O8{k^HBC^dUwVt{Q!FaHZOm_-IziuCoM#*@il`aU_xvm?Dy
zcXK(P+OCyQqj&h}Ar5<}<8U>gE3G1&TvD8guH+>;<Sc%C$6u{|Qq{g7eqFj>LXBSN
zy={DSrhql|TC39FK~(2XRCUbYko)7)Fn<$AgiA?&+<i8g`zz8p*1VQO+qOzZTNZ0-
zy{sZ^p=<6cW$y~1^O-uxTbg;#i&KM=Y7F3x!g%gHox~nzTsdYk^&eET%7WKGN8$ph
zBt5)fd2WoCY(r9GMle4(9>p)rdpV)RkHhLCq+qL_T}$1^=z^Pt%H34tHTakE_XHL4
z{4_6r9+z4&L-~#=LPCw+W;KF+MuXV3NHbyofsrL&A!HNL%^gG*5Ov8qMQIhv>{`*&
l8Wfw$0cFA2pmZaH>@R2e-;v;1CBOgx002ovPDHLkV1k+%NOS-I

diff --git a/interface/web/themes/default-304/icons/x16/home_small.png b/interface/web/themes/default-304/icons/x16/home_small.png
deleted file mode 100644
index 07b9993bdd648b14b853725b6a172cce5f1c2818..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 320
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU}X1naSX9Io&4kfe|u)t8Hojw
z3g-?SP&jzvgaYT0OFcbS4tv;K+NHUTTe1vU7!5D7z3?(L%8Rm0K2|RfEAaC9h9y=8
z%pILZ4)PfX&MnOi{r`U6&A;+4?mKq>KmYMkW^U(pg^UJ80r^?iZvFay;>@T2vU*Jk
zQb*W3o1c7?QaE;?AgHx<sc6dQwYJ^=_wOl`@oD~{P&mORj@f4ki-cO5<+J}4g^&L)
z+ji!^Dq9R(<ArGnoQIC?zklzy{muB7|4&|1FyMXEe8lln1@8(jV}^&H>gUJ*i5FS^
zy*_%P?F_b$j*k>7_pn(oBr|rTGkuf{R#<!H(571=r`o&tzb&y*0EWkhd7b%f*14j<
PkYVt2^>bP0l+XkKyvB=0

diff --git a/interface/web/themes/default-304/icons/x16/image.png b/interface/web/themes/default-304/icons/x16/image.png
deleted file mode 100644
index 8de223155b08b68464e316d1100f3fc1fd1db418..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZILoDz
zJ#W)c7)H;vuRmhPj#C;+5&~)lkQzh<0~-<&3@i*RNL2g)egp#pBVuMj>Qspi@CR67
zV`8hiLb5<pnvZMy`d$WiVuIw6-ting!}AJjE$hT#&B&LBhmU~niu_n=t$VNb_TH{S
zzc@H}E_GQ7V=Z^z2pj>P3(|!`g9XyCKIy=46GmOo2A<ru=&}^DC<-cT*}W_XB%}@4
zjA8N{8eR<}V7h=CJ=pETqJ+v?ilRW~MIkC{=`}xd?b0^wxQ7L<Z^2eli<Tt}FVwPJ
zLl)M8yeNdsl@gUPeERy1FJZ*PTaURnx{q|gmv!xB2^$fV75FYh0aV72D^&|hV>miK
zB5P&5KilW@>^p<b6}lS(E~af7eh5VP5@H`h4^(w7P)a$KwdALLe$FKGUp^nE-)Mx#
z#8FHf$0W^!q?yo4QU;wK+nqjlt_CQj9I2EN+8Bo22l&2E5ClX~M3Tg0SxT0rwA%@-
zR!o|PM3ILRI%u;%oi`BXuQ^+5(b}+B6bP|IYlr#Va&l4;h9N-^aC2m9!DKvkUC-m=
z>!<%X9|J6LJ)g;V?22?}=b6)N_EuS<nazF(zy~rw{wJ@2saW@&{{WL{zafH7g*5;G
N002ovPDHLkV1jJu-^c&}

diff --git a/interface/web/themes/default-304/icons/x16/image_arrow.png b/interface/web/themes/default-304/icons/x16/image_arrow.png
deleted file mode 100644
index 2d4d3c884b83a4508c7cf02934c7e1ac1c648def..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 620
zcmV-y0+aoTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006rNkl<ZILoDy
z&r1|x9EYEGc4l^WW@p_sQ+HMi_h9%Vw4j@nU_=lR5(O?@gD(9C9XfQ3iVo4CATUHd
z)GdgL@Q`%rARVg35DZxh3~g=qou6-q@f3xSU-%q94<GnGLMg>wPGgU!-<Y322bBJ^
zU)RGhbZ=Ix5B{fpeP-sW9tMGkmE!nqfhNF6ft~_C1O?<XNpuY=9WYdaFosJ<6=4tv
z-S>SWr5NcEq;<$=p~HstpO7_@G6FW6Fzmue8JYn^O5yuHy65{MQVKWsmj3QOinfaa
z4s}77lYm+QRQ4q>FN8uS0eHSIbWchV#WAnmKVmUsapuS*<3khZ8kl-AyA?pY1wjO6
z3am6laf~Nr0tn)m+H#FTTY<U8W40P=^zJ`EslAuZe37h~0W3@%Y!fmD$Y=*3rPLy&
z@V3fqZ0r2`Ve)kI1KG?nwq;}6HcrmL$vJ%EAhBLzqLOB6)J96F=~7A&#xa%BDNNHO
zolav}7LH?6DC8*=@)U~>ZEZHsKW=k&+~vhWoo*+E+*u&vKXg_~5r#3%rq7p#M1Bp?
zv@O<FS8;5Q6Jr%-U)I<#29D|L^?E907(BZ*^;cQ0y>2iuTB6o~u5f?=SlocVv3{05
zt&EHO;NWE~mvjGRn^C!VLCf`&0k&H$hEJa?yN4?*-k)9bSKiD4m_R4s?iQyyy)?X_
zlvABv%1z$8Lh@;R;QMagrv}dBwY+zq?>r2I5O)p56M)}eVB)JMAqh$V0000<MNUMn
GLSTZn>k(Q2

diff --git a/interface/web/themes/default-304/icons/x16/image_exclamation.png b/interface/web/themes/default-304/icons/x16/image_exclamation.png
deleted file mode 100644
index 5ca76146b2a9febd7d9e1924a66cb5f0844d4d78..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 652
zcmV;70(1R|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00070Nkl<ZILoDz
z%}Z2K9EP8B=Qwj`?l{f(nPV1Ckfws92tpK5LLXLSL7@b-tUsV#ixw?fM7U@neNb(L
z6tW~Y)vB-{v7(4dEF&<*)YLIObMKvVTFg##qc8lH@58%ze!>{TMq;tS$SXZP$AGeR
z_9vw8`^l>v9bM~bU+(U{Abrmh+8FlS5Lg280w4q6`e1;VojYkkst9V!z}IlP!QgwI
zkgn^JHHP{vf{=t*7>XR2T!3(1u8e@WC8$e6eK{<7kTnL^b&(m@6<K3QMhDrkxsrsF
z!~j*LP@10uEqjnE%)v4~#O)j)<GMm-loDC3c`<yK*LH+MyV}@SdjM%cQ08VYdk|iH
zfci5)P`47TI7e1%GD_tDp4N<vju77z=VAIj^XYLainmf$P(ev7fi1yXcuA`I6ysyh
zu&py>w8#OJQdZU&GV|rkEK2^(26;61iLgD26LD}Hhq}VAwC)txp#VyR8T!&sZS`@K
zQkGOo314ecWi14QK|-Mrkw}F6e1~{EMk4OeXuqK<)lB>O9=bZ4nEUx0Umr#(B`l?s
z&?|H{#^C#!r6reO`V|QqWOj<)-d^1F4^Rs%&kmxL5^{24A`r;SqwjkADykSJKis3F
zB*E{$Lkv8<#B^qeL_EUW_+zFfr=^J1)SR`V(d25THC4`UyLcphw4u3rYu2A<d+jja
zKQ{t`_ix93-F{-<5<n1$19Bzc&Nb1wdv9ugL2;-Mqlp%_u{hHQ!0hzm%(su@{bDW8
mPacF5E!@<ahBaT=;@y8L|M~<IxEe430000<MNUMnLSTaVb1tv|

diff --git a/interface/web/themes/default-304/icons/x16/image_minus.png b/interface/web/themes/default-304/icons/x16/image_minus.png
deleted file mode 100644
index b5e76b464f22fd8bd4f0401289fbe5307325c3d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 553
zcmV+^0@nSBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005-Nkl<ZILoDz
zv1$}i7=^z(dv|7bW@mObCMG*;BH2PA5uz3riXdoVp`Zwg!3XdmgjiULosdSb3YdVt
zfTdc9Ru<wWjYUWrW#eWycW3V0YcZ)J3ML2s=D_(l#rcJ`mZQkwh?0+2S8oEXL*}=n
z);fK%xVU_n^rMxPhf?RcFxGPUnZOZHt$?gRrojTSU!HWJGY<1D&<5_Fx9B_<GRraw
zYgsrU@Fc`F7!P6l7u2d{7y-Q@oJnD!4Z|D?Yss<<Im$9oSW8-e&#9?dnqi6sPEW#Q
zRD$+$=o~9yBMpgP0!CRT<VYz|7{lAoFZkdGTt9c4EAv;84!E+cy_dsS0C@p!1p*HW
zV;Ct_0&-*MZgfc+39tGu+39aGJuyRTY?|Y7lbY)T0j`A51-}Za*as-3oWfd0J8gdK
zN(Mh&UiZFG^EU{CkT491>Jd>rq7lVRPo&IFw7GE7Ln-A*rIgUd&}m)6bzMBqBM1Vb
zC?rW@k|d_tjA%4M;@Bq$syM!bHbc~Y17Qx#*;<R%hT$+nh&|HfCH(JS$sLEj5bO$v
zPc_4(e*d1_-rA~Es#V@Rz5mz2ynEi|*2S}b_}|vnW<)$U_rR&w(|;}Q#`^l5sllLq
r(BHK7qX1kW0px!!Spz+B)OY?3eeS{S!n^ny00000NkvXXu0mjf`vm(2

diff --git a/interface/web/themes/default-304/icons/x16/image_pencil.png b/interface/web/themes/default-304/icons/x16/image_pencil.png
deleted file mode 100644
index 2f276d7e75826e1ddcb72173f780942f06399ff3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILoDw
zPe{{Y7{}jTB07Y05bDsOTYnB6L`cIS7-jygNrWz=jNEi)#>y-;ZB`ByUH&Pi;C2`~
z)~Kx1WTA;23h_^wT3UfRwXzJHOhx_l`z;S8(m@~i@bbLR^ZCB;3P5ZGvEhIlc6*e>
z`E?Q{uG?(Mtg~cSWLhkmrR8OUis4`hgqFdfa!{5+h(zQ)h_8i2E95-`M;Fv}g6zny
z$S|8V3rkCA>*3-9$d#7vw!yUqFf@UwRYL0X8^PHF!{6cUILMCdij;~9t#@$|!_yAz
zoo-qN;Q0zYW6<0W4}0OsJ9s$+?<Zj7C&-TMilpM=6wkr}%KS5g8&fg0xaf8NSsapH
z`}hrCKROMcr(jGvC)-}*j*Z2bkWePn1qG?ob8~Dz70hm31VPzqZaS^hwztyUH%!;a
z4+bV@eF0;?VDQTXuKU%}hvZS`=Qkwcva{2syk53NpTPfEJUiphvR|j?fIf$?+(KfE
z<)|wyXsu3e*>7{X%#2ssugc0IBRaZLMC$byCTC{}NH!CcW+7BxM?~&pP8PY)RKMY>
zV-TaujkUcIrz0HicoykWXh(N9vMa)Ly7Y06=bwP1Igg0D(?X)D18q$=1vVSj+AyD7
zUaG{@@B-P9U9nH4y7YB^p3#|^HR=D<L~FwlpIl#~q^qydcP~4#E4J?0qxK67ys{Pn
zhxZm$6>b@nWrKe6aB$?V>c8i*E2P>a;V-dcHHIWb37!v>W+`4Jsl@SBbN?0hzlA17
i;mAC#2sx)(d*L^@HH#<@Ms$q;0000<MNUMnLSTaXlr~=g

diff --git a/interface/web/themes/default-304/icons/x16/image_plus.png b/interface/web/themes/default-304/icons/x16/image_plus.png
deleted file mode 100644
index 522539d56675245fcd4daf33924a129043a5b812..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILoDy
z&r4KM0ENH%=FXd$_vVc=Hfi%Fg$xp$Knx08ghe4yw1}Wcg0}q;EnKuIqE!nwfo%j`
z)T*Fp6IqL*K%yU*kPA%%EvM1(zF+sY7*|0Cdf+U-kFz+!7{hL2vCGKOsj2foWrzHd
zjN{n9IWjV~6Z*!)#B~`*k<i9){I0+fkWPV2K^TJp3fWer1wCb`RUp=I>4+hYA|b;t
zBr%5m{ep~yLJrC<EdPdFx&<R(tqF&H=&wREg2WiYFhmAnC=z4v^RGCx?*Jv&#{j*Z
z(CM{An-TQvX~}{ZirJPR2ty$Qr9`4N&)?nWb=Kj`zy(g!P9ZI@Wo!0k1nmw)3D_xc
zGLUFZpj1l`Y0d21EXB4WlZ|oejYYclc2jBZqN7kEXJ-KiTY_stHVrD-5-6pt#2A8l
zmDP30#!s7vYahsE=Wrbt*LCso9$wyKIy+81{flGe0mhErMk!@UrId)Zrl)cm+qTJM
zGB}Qd=eZP%1&YN2rIJTmo6FOMdkhZ^@?!cuvDT=q1w#LIXJZU;tZ6nwgxKUs^A;=L
zzalJ)dQvA?*9<>9%a2O^vRqzTN~O|i9^JX}&%>O1JV)<P2LLPa3I|V?0QfxrrCSvG
z`mS2}yuaP!)(00Z>awZ=^j)h}KRx)k2*7;&2EYb70RO)ob!Yr<HN&Vov&GmcAOSXj
s#<m@l4N7L9@p2Uc{g#xNWI-o?0N=Fh7xRM3MF0Q*07*qoM6N<$g1c%IaR2}S

diff --git a/interface/web/themes/default-304/icons/x16/image_resize.png b/interface/web/themes/default-304/icons/x16/image_resize.png
deleted file mode 100644
index ed9d5ee99c84dae3d405860107b4c3cf7ac27d6e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 503
zcmV<T0SNwyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005LNkl<ZILoDz
zO-NKx7>3WXc5RDRMS-=6tQOTmrzE1181X02h#Z5Uq%0vM3PQ0~MG--|uvSV56BR{a
zoG?lv5WzvrKPVy`Yl?6jMy7eX??-pjkF%Hq&*Gl<dEeE!4sgZbnmWHCj$KaqqwTY<
zu5HFuwZ8ug-7A+Dc5I;j!bch|e)2Wvrv6#{6M6F0vw`T@aj&5ARKg!@8KV&L<f~@`
z!KI7DhJ+T$FM*Cc`Rds~dE*<mwf33dXFku~n^4^iRkxwO2Tt_C)fe!549n%oSI-7E
z?2m_#&E>fC@E!4y9FIm}U>xobgP(xOIV_hKc5Gm6#k~;H*({sRL}|WrgQ4j;5}z|n
zB=dYo!M6o0mlt+yV9oCS5PoDbtgbymNz+Nn&$n~vdKagA<6Ied&6CNb<?_Og4QxE%
z-MT%G1*vqJZO6NbwDuD1cuMTnTiW`kxi<KnyNR6T^5m;$1Etl&!N*I%!r~%d=I8&5
za(VLAvw<x&Bfex;k6T~XH5gn{h`@U#Up*Vx(J;l%!!v%x%I(XXbE^swc+2Ih_xl~p
tA|kP*-@NaETk0s67j|r*=)bYpfnTOJYcs+aY##ss002ovPDHLkV1k%R_tF3W

diff --git a/interface/web/themes/default-304/icons/x16/image_resize_actual.png b/interface/web/themes/default-304/icons/x16/image_resize_actual.png
deleted file mode 100644
index 3c57831d33186f4707a9e943570e0d3c60ef555e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 532
zcmV+v0_**WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005oNkl<ZILoDz
zO-NK>7=^!OE!zZMg22$q773CY7mZ?AVNuFp4GKnT1SMs<3Hu?6YE={!q>E~0q%>fb
zB*ugl5`jbwQcf<WAaZJoa2!UadAjGL3%4QL%nOH?`<~|<?&4kpm_lSW?|W|QJKvaH
zUDKwq=e=n;^~rQxNILE3zu`&Gy2}?QUb%l3cnbB#1I;HtqV2ygS+Mg+G~$~0b>e!Q
z{F}JH3M%)EnVPmq2~F-l(ufnUoGsY6d&H>-j+#wPkNK6$vF#cJ`=RkBG~a?lcj3|#
z7@NlW;>0Uw3(D%ltlNG+pq<HPIWzo<@arrO-op4h7@UI048#&x-_P5EHCyf>g}Ni8
zG8xK`HPCtcDwDGbqMy^u%;ktD;rjyC7w2VcL2>O6#kGS0?Vss1tD0I_-+q|t-m~nz
z(#O$(Fc-&P@F+HCeLw%_4Z==I-LNUC8zGrWQF*YRnw|j~&W+M`<0Z$3X1P4^gFDfz
z^~H%-&K8tzeP}l9cq*~5xX9P}`6VS^oOtDI!OFF*rl_pLlm_}HDuPq^b>MW2{F}=?
z6R(^t@Xaz;j;Gb-U7@O$4`}=Eu9ka&`~o{GimKd?D&bV`|AHqy>z+Thpy0o;(1PFN
Wi(L;kybpE&0000<MNUMnLSTZ}GzH!O

diff --git a/interface/web/themes/default-304/icons/x16/image_small.png b/interface/web/themes/default-304/icons/x16/image_small.png
deleted file mode 100644
index a3c531aaf342bdbc028135498afaec74646e722a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 288
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&pllnLo7}w|M>sko>_H9;ta`v
z?Mbcqe@{)#++pA$x1Le7TWl%w%m4p3BnUK|dTh2J;n|rp_v`=v<DdEYfBmaX|Nmc}
z{{Mgcwuk@!-!=dDpS`pB$w#RP*Y3~%`t|$!|2w;%|Gi)P_w@hbexUhf@Bja=&W9-y
zxO->L=YPlh|6jUT_y2FS^#AQ^ZvU%)IMMrmKa(#5*qjIPar1tEy1o7Xv&iEA)mQU=
z%s2df=Kr_Y^Z)dB{CREfA*0fNo#FVIGk?PO*Zr;k^pu;84XjV${WCGer!OM9xSOA}
eR|l!FGc$0vyuPP?T4pZL%M6~belF{r5}E)~T$|Vc

diff --git a/interface/web/themes/default-304/icons/x16/image_small_sunset.png b/interface/web/themes/default-304/icons/x16/image_small_sunset.png
deleted file mode 100644
index 3c09828f0bd3ae8cca54c613d9d670107f89e282..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 276
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`w>@1PLo7}w|M>sko>_H9;ta`v
z?Mbcqe@{)#++pA$x1Le7TWl%w%m4p3BnUK|dTh2J;n|rp_v`=v+rJ}@r$;|m;D3GQ
zVv8AUoy|`^N=>+SfBx66-{1e2m0b3JeeTsC|9@<F_Me}B&VPIBmEYx6_$D3Cb|@(>
zKKEPR{-67-?tl3`;Xn5mcHR5`K0fIGeT$6W5H$_;m6h*K=imRQpZ$>SvFKZy|NZNp
z{@=f>{kgq|j7tA?hT~_>{0ZM*_qYDjQ*Jhh-3srYi77sP5z)on{G`1)NR6GDfw%La
VPD)MnM4&erJYD@<);T3K0RW3{gr5Ka

diff --git a/interface/web/themes/default-304/icons/x16/image_sunset.png b/interface/web/themes/default-304/icons/x16/image_sunset.png
deleted file mode 100644
index 3d54135b875cea20ad63fca5250be9990a6e5ea5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 481
zcmV<70UrK|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004~Nkl<ZILoEe
zO(?^09LMqBiAY*0Y*Hd&lV_9E4syau%>hjg6EkC(#eqDOIe0ozo(_|TB4p%5$y3>3
zPDqK!2&o-x?ZLK>|M!1z;j-;t@4kJ%_4*(F^=ANBII*x_Fu1-h=V}QtIqO?pZAFL=
zS=MVZsr`WfE;r+XiVRuSH9xQR`u(`t75<Y5*Lxz|>{Chnq@C_$$TH3JbeqfP!`f&*
zPM0OPKS=%U;V=!4N9lOJ5aZRF!%y1jPKGQ~O-yJUUN7oPOVKEkVZ~Sk+esGR%b5i4
z)&jWgwFvlC{G^@kWXLk*$Vj{0?M9hUh|0`N)Rz=trn?Z^lZCKs6ywQK&f#9}lNq?#
z1^bN*AC^3jA<Js}`#U~eF6iV@eEOOg3@8&Z+>``kb21i&GGM!_g73QlFZXpY&*tKA
zF$HAEvTB2&^UdkRiAnIcB>~P?1hAUpaC@A<Pul5DhAgYlYIUy;2gcM9e;U_BVoDo{
zow+C+ZAJ5wcDj=x%d!;;{kzA5=dZ7zB14wNip5HSRN50tWEuBFaK&?pf-Ii5;r@+3
XpqhicQ@3(k00000NkvXXu0mjfuh-`~

diff --git a/interface/web/themes/default-304/icons/x16/images.png b/interface/web/themes/default-304/icons/x16/images.png
deleted file mode 100644
index a36d528f38858060f46776069e8de5bd2aab4ea0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 604
zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006bNkl<ZILoEa
zUr1A77{~GVuBpr*9Mmq<b=4xgNDx^GQHV%*k$4d#Xc)P~1~Yf#!X(s!Ffi;G(iqwt
z+ahNxoTU=U2DvdEc%f~M{%8iyh?;-q82j};XYEiIq0$Rq-gDqN&*8%Wu>Xm*+iX&|
z?Di_&)qPYYe%NNQWNPGFk=jFaXrBHmE@?HHC~Y#8!nt0cq7S$*kiM(=-7pL^*#L_V
zaLofWNAu!>4u^x?v|3rSAY6+lleqJ08w1`HY_q@<Kj7fE`5o}c1Nc7!;V3|JH2;^|
zU^ZL5p%Ci(yU}JJ!c$)e&u1eT3q~;FkHF3Ew~MP-ivb&n1g`Y-H0|3x;tODXV;kS&
zanyEpHcRfgXL<ifAwARFz1IOa!U;sTwoq*}UYFcKXCW5G3h>^YpKd%KOOq-@-W)}E
zqL9BAi0<3208GIozHV-!Qm@xBa**fp*;BZyEyaf^HI}E<_~Jc*pUV|U#4h67Vi{IE
z$3?euW(F&<7}j=nP+C`~XXGHyX{8e9)oQfYp2T2BF(%C#{D`)2br+%^8}MnmM0B6g
zYMly=#y}k^D!RnTL7vh3*<vqx<#_o(4tIYp<|h<bT~Na3%)`{<gQB}qr!z9fl)NK6
z86yXI`dVaC4{yjI7_u-b<iO*S!_u7%p*2f#m(<iS>5zjw<l3!_o5zlom!}tyBV*c2
qG@q+du}pLh@DBfW?N-|T$N2>|#ClyeI-SG-0000<MNUMnLSTXh>K#=8

diff --git a/interface/web/themes/default-304/icons/x16/images_arrow.png b/interface/web/themes/default-304/icons/x16/images_arrow.png
deleted file mode 100644
index 1b8a94034c32e228b390df28025b868a93a6a346..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 670
zcmV;P0%84$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007INkl<ZILoDy
zUr19?9LLW~W`%o*2IhlWJ;cO(s3@^|s2(I_(u6|rmYHED8ffkzl_jAz8dipFWvyYY
zxy>}Qa-~MhT!j0l`H+9QWI796A~pZaG4}18D=mT|r2`*+_rUjl@A+^K0YLr-qA(i6
zTrioWl)M!n6<#dU>wj{Zwj#6)*kXD1RiUI*t7YT|Lm?cj15)b&S;NxIpfmRYP+$b~
zeL(vlz;Y}v6jYkcq{3hzg=+N~e=vwkFBZ^X3&H3D?%M$~ow~Qc&0fGh4vcyMmSg$f
zyyZHb!8S626Pg;7neL&vZv>BBJUaS$wAy)C=(G-f#*`134Fqtiwzgo!-mQI3e4Smu
zjNcEgs;V&T?QYrd7sTObmQ!^)VIB>@J3o(%^75jvcmJb!yzhv^uqAeh=dt+Ey$SrQ
z%^2;9r~5d;`(nEj+WsKE%+29Yaq(HgJeW_;fjv;>C*$Kw2_||Zn6xG0`$Q@NzD!IH
z?SrQ`0X01{IAR!w;oUT*78jA6on1_r2lLq*6N5B~1PX3D8Y_38TbF`w-V$nE4ewYk
zKK1OvG1DY&O#(YrF3;Ay%T4Q(lClW%U_NbE)(SkSi^9|EQLt!480-?GqD6`Hs}GT;
zYDTi66Im@huF+q)t;#u&pm>u*m<RKzFNq9u<6I=v@-=8vuY=U=hH?xzNiWY)_b*C^
zfi34>I|%b&J|3U%j}++#u)o?Wz)rBck%x?4tmuMgj*W#DjxY~#N{W0rh%#?`60JZK
z*W?f#H*vItu(g^JO^Nvz5$T${s}47~B4l?sT0&UC57>R32xfd(MF0Q*07*qoM6N<$
Ef@G^S-~a#s

diff --git a/interface/web/themes/default-304/icons/x16/images_exclamation.png b/interface/web/themes/default-304/icons/x16/images_exclamation.png
deleted file mode 100644
index 4e6f454e078d68bd91e97571183799b2a7750974..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZILoDy
zZAg<*7>3V&X~m>MAx3BkL5niTe)tg)_G45?Bn+eki=viTpf(~E(=xNdK(T3-t!&wx
z<yUK(Ez5Fg)83}TbenV4Oqm*Gb5qCI-FseX^a)7^E^ZFo=Q-zsLjaKff#fKaeooia
z#Iqb;0P)<xOoie*N7$+G{R4E-KE0J2a-y=5BJuis*j@~XN`XBU^O?Zr!8<^T5>V)Y
zCL=(5w9gI5RjEjJbu~$q$&Su?y*U491{FFVlnijY8&I(+?*hs@fbI`~Wdfi*+W*O0
zDwkL5%x3H_D?nyV6>9ZnG%{9b3|7>2ThYvB``{?XoxrrmgF{6{DGT<l)4#^#^b9`F
z&LSy4Kh^L3=6>*B2;q{c=VPcx3`I*GR2B~=+-@XfWgYW-8|qhKKobU2bLc!Rp%~Jx
zhV^MU%&lSQ)da!)<u01kyCFABW6b5kj<mGngnCe)197n^ltjVyL<swHAwKHX<Evc+
zk24W=W&_?cJK=TJqMwn#GOWV*+#I5klhX+Gpgvm!0_+kBk(0Cuw{jz)mB(OeBAt~#
zi?=U?m>MmBSS*IamglJ~S*jOojXt?NB4Qt*9@MAd@?wq$#eAqs_-HN*g7I+(hM8dW
zwQa=INH+U#3C0E`&^3lL`5C-Kb{|Nn2lXjU5A<^-BM>s_A~eXB;8|?|hK+kMU=-n@
zS_)(DHuS!VozyCL<*ijb9-$u8XT<6J4U<g^eVYjHOmVRGM{+NqY3<*P_IvzJ%?(~O
zp&lVIG15PA@ys%PU&k7!!?F$z^IEt*o#K*W>Rjn)yvn=I4kZCBD_8`-a_t<cVCnf0
lc_Hb#d4as7R9zya-vGL0r8OQDhbjO7002ovPDHLkV1fvqM8yCA

diff --git a/interface/web/themes/default-304/icons/x16/images_minus.png b/interface/web/themes/default-304/icons/x16/images_minus.png
deleted file mode 100644
index 21da574a17fca460deb3d12dbdfd438fa4dabd5a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 625
zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006wNkl<ZILoDv
zT}abW7{(8E(ORyHXiy8Bb+-t?1tH5I>Ow-i$g3#P!cj{sm^C5|8?inh42(I=7^9qH
zTjp$)t283nK(}TKFSM=E$JD?TQBya^*wcCc;wVCxbl}H(4m{^M=f?oB|ADpG?Kv(x
z9F?4ttDsW2*krXXbBebjn+LQgPp=9k=gnq9lgVarunj0T0*AYnW)+`xJwUx3u=)Y_
zI6yhd3k7<olU=geScA!QI+e-b`tu~Zd|BAXfbIa`<kK<&bb5in7a$S`C`b9fymc0f
z%@+>ic*iv~Iqu_uKa59XQ4EBl=nF*Q;q&$63}zF+TsjSPYis?gz5Dz@e49(+M=FJC
zgP|ek{r2JJ6_Dokl)L#N2xlaX_`(9Jnw!t$yhE-cObp2J-cz{5vqF3r+K%X}9f%AT
z@v~g;zTytT9LnJ9{5%e6wPzW5kk5$&dvQZkijOZ9hz%<+?c0T4v2vsnNAP`eAEvxJ
z1#j2rD5eq#%q}jXw6<2u$b)>!WHMAJ6lked;+}pthAb-lj5l)YtB8N9!{^~Wg7<!n
z#wAs$bi}6O;$w_F$fy67Sm1G+1W#^D;OW?i@j)qOCS>qbh|w!wi>FE@%moG0-Hg4n
za(WoM%gBR#jE$lk?dL==>DHs)v;khX1YO(KAX!uM51ov?VdOzR<h2sLYBh`{C1~eA
zxF{CK^!y@WVC)Vfk7cKPp!`wB*aZ$R5!O1+7LF_rwsJ&ee-!)%A8~*YN{cDO00000
LNkvXXu0mjfI)f!g

diff --git a/interface/web/themes/default-304/icons/x16/images_pencil.png b/interface/web/themes/default-304/icons/x16/images_pencil.png
deleted file mode 100644
index 3250b89d2811ef550243c159b4c8b442d92bbce5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILoDv
zZAjBm6o;==q?L-9Q2Q`7`p_g4>Wj_ZC~QfZO9+A#6QxWn(AtNb*&?kdG*)xIkc?`|
zTxn|#mzyG)i<r0s1D$Rqx(r+qHFYYoU-$l(qsSoXz{9!s@;m495CG(VAY~d&fUC{T
zX_PZ7AdMR=QLC3YOSi)J53pi+_A9sKQbPkHf6?c|AvqvY0LSb7J%je#Mxa0gsI7p0
z5MVi$=N8DcT2k87L<*J4b90M}xY^-Fy~PKO4S3uKXlYly0cv}JzHwmG4X_-`|K=@G
zshTV!BRE}i10~Im@WeWT=QbzW2b^f_bHYgb%i&2(d4TDK1>{v$7OdF2)!L8G(_Va?
zn?q)Kd11i&ZOf*=5EVGH+#ORt^x9sGr>EnJSS$~C4?K&(P<u4&M!ugHd^kE|;q2au
zQF9EvM|0k#>P}Q$s{>>*G=_&e2=ib*IR}$)D?bq*x&)Z$5#Xa`2fj~;u;4j~FT;D`
z>WzcT)rAU$0$#5d)lw<4gu+_FJebcO9uG$a0+eO$#6#IGbgG2-<}Rkz6>yK`V#p*w
zk0Ax#$;;r!#dSm`B;4H?AAgEuNTui9v$N1ut>b8uhr)0#6vmn`44R`bImE;3mIxT?
z)^NkOr4jEBC#@0_LbgzXNlH=Cg-<gxP!tCTsJ<8sr6dG8<$Ao*ZNSs}tGQwAgZ;=U
z7FCN*>?VOq%+4;FnxBWu<M{*om<`?fBiyit4!^UT!SWQcJvrIGfO$j-g_7kc$ci*!
z+K%gz5XZh_+v?dH%ZJ6rk|kKJrEI3~mH~OGL2Vfaf>M9p{ocRS4?it=#lq9Ge*gdg
M07*qoM6N<$g3k;;k^lez

diff --git a/interface/web/themes/default-304/icons/x16/images_plus.png b/interface/web/themes/default-304/icons/x16/images_plus.png
deleted file mode 100644
index 2fe20dca552af201c6718eba1e9af72046c71d63..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILoDv
zT}abW7{(7mY9Cuo9LO&GC<s=fQ4ls8lwC-K7mb1<$waYfGn%y<4U@7GYJsA&P1ews
zY>RX)(@Z0h4QgL4ywJ9WrAxu}LCudj#-9G?FAX9jr5Ap@=fHEG!;b(U{{yKv7~)(p
z8jBbz)<6;auvV}C%~_@uu~k5a=IO6&$tA6pB8|pkIMfUjwgN{r%Ui<ivIjtw0npn4
z%P2r|G|v_^m`vnycQ=u#RF&aq6gLMKp|Qnaa0B-pfQi|<*T7vX;Ftt_L4f9H{ts`3
zPS<VodU2-x25OC6cxd<HvD=S+j~_h_KL(inYJ3{AAz&^NLAg>{wPx=gy9;0D7V$kC
zMsZ`KEbjgGQR)it<7b+?_1p!MFM{C00wi^H)p2i6Zzjh2Gw^;OeVJ$J_%NIW|I4lL
z4P`R-4A%Rq#RaV=ikbO&9G1(^6Y4>IN(=JQB+bLb3n8XPg!pXB#?PrjL_#O<bzF>q
zbq7k{T);N-KAg0k!|c)$@=8kNgnCe){Q?1w2!*IG-i^+NJs8%B@FQ5mSYJo*V;Me;
z?8UC91t|ZfK!Q3gz!!-WDLFZ(2=$;o<~ti$o-}jN*TTU-I~Suvd`yoCaLkyB?OGmk
zdk^4vumVKGd&km|(m|*P^=Yk1j?;EA87jqkm{l8LwQ!KtvKa?wB!5BLwm1p(pgw_6
zXhlvB%8=8UkK8UXvM0qLx4BLhC09+T2lZJE33a@HU}7i8wM|aa#34)xp_9ar#vu47
nm5KL=be)@2C#s1&i7ogAIe3HDe!9er00000NkvXXu0mjf>QyNn

diff --git a/interface/web/themes/default-304/icons/x16/images_stack.png b/interface/web/themes/default-304/icons/x16/images_stack.png
deleted file mode 100644
index fe33dccd8da879865e0592b2015e633986344d6a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 547
zcmV+;0^I$HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005%Nkl<ZILoDv
zT}YEr9EZ=HPBEEekb;U=h9oG7A_`sX#tSuK7~yD;VOlEAkDCTAVV7>=&_To)$YzQY
zHyln=booIPm==VeFA-{zUWlJ;GWPTRA4{CCr0Ic&^In|ydH68^>^d-AcQ<S7>N<TF
zh?HHDf)D}m%4T~mni0GJI`mdj*4pj1&&$i`>nW1rc))K@&wT`fLDX9;<yR{AJC*PS
z0;n{bD<tKTw*u4_0Z*+0o{0BLyMUT^0*pffI;MW{vd8@xdxwX3W-z??ud@5gA}_m~
zYHay@Q0euRjCPQ9ruXJK#GZW9o1xh`UVdX%VDsPr54GAVMmxy*wJ!<t0|{909JBa7
z5yDt9mPV4WFqpv01Jg6S+^EgP`u;xhHJWNhJIGq9$c0sR4=W#1usVJRo8PkF-+6@X
z9}28Zrt-33c$$|xy<Tki{m53UHH>zUH7`CMg?Ce7tjd6+ITQ0Ai^bJ??EJ3A&+#l?
zZgPI&<xG{z6`PaO5R;asVzh&-PGbaIEs^MNje^^B0~4KctbLEe?BFeoTB1YB=}M)J
zF%~BxW3+>;ZMESiwAaaCeJ#VJD+&%%B+T{Ul5&__&iJ7nWL@3e{U?(0-y_;e$a)z<
l%BN14$n8Joi;$iD`3OjacuCsVv3URh002ovPDHLkV1g>^23i0B

diff --git a/interface/web/themes/default-304/icons/x16/inbox.png b/interface/web/themes/default-304/icons/x16/inbox.png
deleted file mode 100644
index e93b4bae815d07eb5fd454b10402851f837eacde..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 425
zcmV;a0apHrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004SNkl<ZILoDz
zOG|=57)D3GkNO7^{fzJzM2kp*D5E5jvJh+`gos2JgaW&WT`0>yNGLHEmP!^{S(Joj
z5nYIG5G^WKc6IyqJ%XYYf;n(D@0>G>8HN!ND+X5d0bv!-@2Gf<z*vE3(6a4zzAW5P
zYDsL4&}-OC?|T#Uc`!}Mqd7{(Y#F|yR{Drc(c7+t5?iB$1}zJ<@zP^sg)hE7L_w3B
z4re>_0tYS{v}{AkH(ZQYM;|=B6d0_duvw88IB?ORWoxaR?q<IE>~gW2R{LwnJ0Qyo
z9JpxEGH(lKd-3%=pV+&|rLRn}KdGdcO`QW~>3z6p&@zvLv*XgT@f&M@9e~+S4=r;y
zagHayk?!4w6!D;mP90hb4L9b18TQg18nnzQ7cV`o^wG6bmm&3pe~|5<LCYNVV)xy$
zfzB7S1%U=Fn~{kFw=O+h2{&5^XwWjXRAe<(i6Z|2EfZFWfJC6YKqRTQ*x&dKszPyC
T0S4K+00000NkvXXu0mjfO#ih;

diff --git a/interface/web/themes/default-304/icons/x16/inbox_arrow.png b/interface/web/themes/default-304/icons/x16/inbox_arrow.png
deleted file mode 100644
index 9cf3d51da1705b2026185def968cf6bb2a655870..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 548
zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005&Nkl<ZILoDx
zUr1A77>7T1j(VZqhIrGp;#Ca<@2oCDiEV17PKPd&3=wULh!q2qS&gN`Y{!4>kghe%
zQb|S4DJrH-D>Y)(Km@B@skOZQdEP^6)?A7oJiL7G_j}%p_hSIqabU+D;MVi}xSlVT
zxPL^7$z@{&e60IQq-A~dE;ig|{FrP&V5SLMZ*17|2)q26ZN|@OD>f%ASbud7<dDlo
z@_FUF@l>CG@D7GenV5T27!t}*mK<`~kdDt-esF$vrKbi1wQ9J{*&(3}Wyv9zz0Bhb
zpIWjOKXjJk#jRBI-cAb%WhhGyxvW>q3E%swzb&+1hqLmG%v7Te9-(L-)Z2NdEIH(|
zo@}n2mi8z8#tZ)ppx)m(a+&KgCw}cW!sn`z@eiBuPAtVp{l$GyudaIvI{P9zyX+u`
zT;|ABbge$W39rMji~NN_$g<5rSc6<0PehQ*#B_!0%hM_>*-L{`*64!DJSKCxqyyS#
zJ~XTX8p}A!ujRaE57QI_pPiNXC~Y<vDyJ9qD}a6pxb$|93NN6%;n-wF%CKhBxv=Sj
zNXaw!6AEns;-uCRND_U}EC6&*KAYOjq!S@=LL%;e#N<4FpEv<fjn-JN{&o*{xOf$d
m(6kBR>Q;|bbEDK&xxWoEV^wXwCl#9j0000<MNUMnLSTaH+5`*$

diff --git a/interface/web/themes/default-304/icons/x16/inbox_exclamation.png b/interface/web/themes/default-304/icons/x16/inbox_exclamation.png
deleted file mode 100644
index b0e69ffa5e63d90fed701e4cc85dcfe800072c13..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 614
zcmV-s0-61ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006lNkl<ZILoEd
zT}V@59LMqJY=^q(s*8%~BIqW(5UN2C5@Lao1u{3xBuNd)E`*RFD~nOVG?%@wmNT_Y
zYuF6m-Eym@rOV|@=^S&e(Tr$~jHPQ{1;5UJ#mJb0@W6)$&iQ{I4$nCZ09y~X?hPCz
zJU>*zmka9tQ#rNlMKQn4QM$1{@~jr$9U3gZx`iLFwOAQ%z{-R^A?DH{I(i37!}W+f
zzYc1sW%kp&WKy-aH*CEIn_7l9_s*n5Gc-#Lwd`pTpErB+h%4B65tggDaA*orq8XZ{
zhFUgoN?bYLcw)x$@I1ON9YxROoRnyWW~rf;^%RQrUwW0HspfNNS7gPF+%Cd|zHAkj
z;UI<{Y=z}U8fcapYFTH2xS0;^Z+)uct2byY#fWhyVqaU}w;w>%`TL-$W#)Xb@pGRF
z0drMc*rvuiV+HIr@&t!A19LBB_!;ZKhp~KkpX7lWYMDtUdi1fY8a`8HLi`i{5gXUR
zH<*FtkOp$O9Fc`9m^7zjq3Z&uWk#vU{Qhwj+=hyzrdp+#wH?CJr)uH1V+hTi#oPY<
z@OGR8wd`(=$l`BTz$=_=GS0Si1l`5(y0bCRuYh|x6VqdvaGCZ%cT8kuWfD%OKFp0K
zqb=lS2AeiVgT5>TJp1BrKx@Dwf%X2Ts4|yp6YjAMf-QpW|7xn?%wFfN#jrmO;rZQ&
zeN)C);&tv=>~7#%*jkq~o3Yk9rZv<u=UV9bFGu8UmjMLn-v9sr07*qoM6N<$f*~s?
ASpWb4

diff --git a/interface/web/themes/default-304/icons/x16/inbox_minus.png b/interface/web/themes/default-304/icons/x16/inbox_minus.png
deleted file mode 100644
index 1c5e0232eb2e5474e5bbaf011dac4437f3542210..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 463
zcmV;=0WkiFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004&Nkl<ZILoEe
z$x8xp7{>8e9g6U7%OR?Jm+&7bIz$pg3l))+hERtfLL^!+5^ST5G7W?T3-e%VwAo@&
z5|%}@5G_J<s65$Xc6^&xP}E8Y2R@hIJl{FYFo1}V3`qI`P6@;8N|+Yb@ISRs3p-6r
zhEtk4>fai~SLX=6?~h~Pa0-LRS`2!05ua`iez+#_ZEqC)+e1hVwXoU92v3v+cHf!`
z9qKAPnrTjmHngRNT38n|m6u~B?gvX3uJ)IsbEGaI+R&C7YGI{;*Ks>rdwykXM{7?h
z+ImF^(T29vPz$ztp6<oo`FyHxMU%WJ<X}RK9-S-(orUkymKtioQpeNNON+LwEc@{Q
zI*Z>?3+5W0;b~ckUb7;^=TPIBp$#_&s$<X@-3#xip%xaZxbu%o-FUOm5fS=?zlh#Y
zLoFC8xaRvs1zyax{b{2xAFVlp81}pjoX_TXVOqppy)()2ntii>G3KV@mstFRmJe?r
z6LK`_VvZ{jRVMiQ_z;LEO#=t8R|-qO%K9fks7>~7{03oiX#B6AI4uAG002ovPDHLk
FV1jVq%clSU

diff --git a/interface/web/themes/default-304/icons/x16/inbox_pencil.png b/interface/web/themes/default-304/icons/x16/inbox_pencil.png
deleted file mode 100644
index eb6f91962fb888a431f7e491735cee4fe7cf54c5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 562
zcmV-20?qx2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005`Nkl<ZILoDx
z-%FEW6vv-u?~7e_ClVA`;2#juO;8X8(XeEjl!#VtjOK-qHpZ~*r3qX4t8AIGq+Zam
z7FcsMZL>|uAu}hDNm$yi3zs)(Wv;t#?|CWFxd!2Z&&@gC&w=MW3;^2-Y|9H`)uK33
zEm{<s{}T(jEP7Tfh#9xFEe&7Aa;yd4pI^tyxErf4y0ALwS>tD-6F=e|_%_;xrDxYb
z4!JCHMl4QBdj}Q=n-F#yFmc<I6UtDQ9CF!Em8gH+el+p1zX2gfDPk?<IiU<?$sw0L
zsTAtpcAt7R(|aC|FC9amQJWLWP?j8WS)fAjd>OE(rh01NvmR0zyHSNnk9h;s`#Voq
zOYmu5(XXcmg&^xM7kcPu>j_FFn-)-yX75AIh%}l2NkU*dPci>VL0$+-nD^UM7Q;@w
zlxq=jm2H4}A3_$~yJA8*orb&O2z>iB5#}{$`aVCph*@v_8tNBjkQ%*!;k$c~Ua;e`
zS&OK<2IMkXr}57{uwnXs?LSG%286o{Rk_!>6VaPGkV7uJrPYMq`K)-OTs9k1vhsvG
zyH&Z*wF_gOGPO?*xy)S5JDrDlJR7aYdD83PUrFw$<I64`pIJXAmnoH}kgu>K6Nizv
zVr3TXb{;qCnJ#0V|HsW)ICp|Sw4LS$O#1AB--X~x3jFbT5dZ)H07*qoM6N<$g4f#q
AhX4Qo

diff --git a/interface/web/themes/default-304/icons/x16/inbox_plus.png b/interface/web/themes/default-304/icons/x16/inbox_plus.png
deleted file mode 100644
index 5ac374579877c18ea550ac186f751f7d02169c17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 515
zcmV+e0{s1nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005XNkl<ZILl-B
z|NlP&C76L?1NJAeupCHY$pqqV5^*L-FT=h>7K#1I?0xU|bpHRazvus_!xR30IX>n8
zx6?EJe>*c1j=!Fq_W$$IN&i0{?EC+IZ`Xg29*|y!-3crvXB&(*z1-gNe^-0R|5MXb
z@M4e}kXn!)kY0uzaV)`C`aMoQSXcdjTXVqw{XLO*F-Q$aEl3YYFT>VY=HgqkA}(EB
zQuu#Et=IpJb>4U}NDW9WNDoLa!^UXlnJ+d~K0h}%>;H;UCon!TG4B7FnQ15(BnFcQ
zsRii)>19|K$vhVnXvlbTgD-{wATe}xAiWH$!kHI7+uZQ~?y7Pyez~jt|AmEl|95wU
zqF|6%!e+PsIx98*N3OK}57GnD%djkjY3ZZ&HUDoeD~4lm6k@?TOVt0TyekFMAUz<x
z3=4ypR^3@y{{QlVJe)XmzWINxc`9HW`Z^6v>nu?FZ`I6umtm?m)3)0yO8;L6hAb|u
zJwy4w<MSX4EZ)WUks-~5aay|z<57IrsF3reSOd=&5Y~BQ`ya*@Oyu0f00eA6EC$3<
z1aSlRMXCGR|3NfV4@fVOz><Z5A(w3?LniAPFb(1Z0RXd|J@0>ngg5{I002ovPDHLk
FV1met?hOC{

diff --git a/interface/web/themes/default-304/icons/x16/information.png b/interface/web/themes/default-304/icons/x16/information.png
deleted file mode 100644
index 17ed83ff28cb6773380582fc33768ca81573b418..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 636
zcmV-?0)zdDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006*Nkl<ZILl-B
z|NlP&B^XRF>uhFV*4@g$tiJ<@cS<lD>`DRRSwOrEif4hvKyn~8Ahkd}*bMOCwb;Aa
zG2`Z~^zL_`il=?~Q#AF<pVZE`pX}3a+ycpg)Zj9}L)7lTq4ch|pVK;C|Br8cj)GI$
zU;j^Pef3$ycK;!eS~LSTN${HP*pl4#@^e(p!~fxx_rVwjVEoAH2mhn%9)IRB*}es&
z2VsEL`c#|5i?_on?)>*FxCX~CfGieVdh5S&_{rNKJ#Yh<)K||9tGN5gJ@fp37<NiI
z^<T|n-G61*HUHJUHvCs{Ukk<{wrS+SPar)A15}sqjI6%<$0hB|e~09g{|!U;{#W<j
z`v1(CGyl(?J^NqHYYPfC4B7h!qz7Su^5UJL<v0IY$DR1E6LjFeR=_?m25G)_?HZg9
z!v>*;{(|%%3{aRq&nfl7XM@Po|Mepf7^L~pqem!WAgmQ|^fO2g!T`D18LIAk?^-6`
z`fr+W1CBwO-@bi|A_l@zwma^D^dJn7nJ&qpG-roJ;;k>%8PEP(r9TB@kmh&q-og1G
zY!G$h3!B269Uwgj1Ei)hFiA}E;#Qe^+$`zgSNr^r|LuU-FzP%Q+d=sz2@k$<DbGC)
zQVY@pHvj|}*;E)9xf8wFL_7D$+wOR1miYLKL*duIAPi!I#6WT&H6XPhfNTH@5Q_t`
zHZVk;8CZhr7+7;xF|ZaLhF~BYBnFaWV9*6(36LIS1DJrA2Z+UhSc(7^hpJ@)=>-6`
W0uQMylt^v>0000<MNUMnLSTaGv^5j}

diff --git a/interface/web/themes/default-304/icons/x16/information_frame.png b/interface/web/themes/default-304/icons/x16/information_frame.png
deleted file mode 100644
index 33da5b58af802e60a0ffdaf21aafe764ede7caaf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 771
zcmV+e1N{7nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008YNkl<ZILlp*
z-%FEG7{?EVjOATY5_BOXvx`cb#$x4+(QxF@{cvjjN>RhXG}shWmSusML<FVbg$x&X
zAuCHMkfO~dOVjzP+3QeaGKUu{cjF)M?R}0qtQS7)Ip_I&4r3)HCCq3vGPBvtEEWqZ
zEiFA|wOTb2WfBbs(5#^yIpk79Ej#jnOj>H3PG`sL?CeTB9>>nk4u|GoFu3AyI6BB7
z_x}fECX>nFcDqL?c>Qh-?N66bWDjv@_Kb^&#kMg#JUl`!HT;3%;$oseT6iLn2x>d$
zQPH)5*5?Vd4er4?um}6IU6ggK^WEm=28M=)Jk(Ij3<kq#yWQ^E+KQmEeHQhPqiF8`
zgX-=W4nLaj_Qj>&eJ30a!)CL&sAYP+UhDJuRtG$DFt`20ot|wN9bwMlcX+OJMNrhT
zjF%(dFflQ)N-fjrbk+2?np}R=K8&EyCUCTk-=WZt<DAZmtXuDqS@@Qtshi>M!oobL
zWm>J)E(ijyReeU){a?7zFbAde3(gxpO40&Cp%Ai)J|xL4_i;B62!L9q(P&ypRFzMm
z#Ic4;))`!|1UM9nqL@4r%8DR&{eC~FWoos$UJ#a0<D7!F`3IEM%SkAXMx+1SDJ$o>
zJ3So$wM?Z_6^@O0*ZN=ikyr5*`L-yoHg0h!-re0zo{5VVANmG-aJxNg)Uv$1yfY?~
zxp#4K6*uc9aivB;!Mz0XTM|4@B=%?Ga^)g-=H`}QG@5#;WjQ%HEIT_}-`)MlyS%)C
z>*Zc#7JY)MF^ZhqAr8%SM>|1Shs)LDrG{FTo}SJ!GBV@}g`%pn^TD_%#_(h?h~maK
zIGH=Zp_%SPaU0~2OAWR39g{dAlgZAerKQ!V)%h<*M<+Me*MH+EbVoaK$ff3>WydAb
zBoq?Ll#~>$TrO`)O-=2R=sTc`?r2AjMAkub{4cY$7I9p;F!lfd002ovPDHLkV1k`;
BboBrL

diff --git a/interface/web/themes/default-304/icons/x16/information_shield.png b/interface/web/themes/default-304/icons/x16/information_shield.png
deleted file mode 100644
index ad5f1092c8f714c694b58a4cd38d4b9c7bfc9c5b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 701
zcmV;u0z&<XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007nNkl<ZILl>`
zZAepL6vv;t71fH$h-s!s%(SL+%_*d0TVd!*NEFFLvb9o6UG^%71QNX%C}akH3B-!|
zK~2p~msGM(8C$plUsm{X)hJ`P&<`4jr{`Sn?$vzY$Id<H|NDO#0RSS`I0U+hJdXZq
zokV`<O(dmLAd=t32^k@eE?HN=m-Gb5wY|2?+mkGUGu`bL@9PWfHcB-;Mo<pYxyf*8
z*mvXUJX~*>gJVS_-{|h;$_+D^wcDhE*seaygIP`y?{IC^_qfu_d=pn6bC6p(!BbM}
zhqThsNrm3w+CnqARZ|=~Qi1waZ+ZRirQ%0Fp{V8u<lmWq)7OR}@Nmwn8Uyp)Y04B>
z?#(Pw$0-)b4zzX_RI`hw5-+SK@c!Rt-SRD>BNaroJkP24I-gqTh5!ch2iTw94yqHa
z5N+y!$h0;doDb)@=BU#w6{ud+nXY`EMbT&(0A0>oh(2Wpx7!UKj|ZYocCSI5(Kkz-
zTB%@PQ+a&0YutFz4Y67Mpw4{9gYwYOkob*gvil+2&^=Bat5gv2EHyZxb<j}w1+-^A
zilEH0?3!Idz6W;1wG5&o6@)czmxndJr~myz;`tFsC>Z8J+3)v@--zz)-~wjRkqSZ^
zh-}Z3%DqWlqlU8YkW@6ygEGf);&*cK3@8&jMlp+yR1i{6WXif-Owj$;Dx;G%TDfI|
z^$+OsKJgr-b4n?<9Ffw?Vg|G5hz0nVjVi)yJ{Qhxs%TOuA9`al27VpC`4<qJ70Mbf
z-uMj7;#*xHqimxn2@@7hm?LJwTy}(Nn#T~F>Fxr5BP3YJ%2pR_5DqaE{R%si39+<M
j+E?blo@gi`=%D)#2RZN+zh>^~00000NkvXXu0mjfygW^B

diff --git a/interface/web/themes/default-304/icons/x16/information_small.png b/interface/web/themes/default-304/icons/x16/information_small.png
deleted file mode 100644
index c5b7e49cad5c34236d7cc2ebe7348821ba742773..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 265
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`7d%}YLo7}w|M>sko>_H9qJ-3e
zHM^%a-b`4oEpVRc(c6GqqAGq%7^7p3zU7zk%&Y&(c;f&38^1m^ueke9S)uR|&xIIs
z^Htv-vj0Dn{lE0jwm;<_R{!p+{=LIK!6J~&V5QD&(SVY-{p<d(`=5Sp&d>D^x4zw9
z_~M^ENb7|8=J%C8eQ}?>Ve|j>@%#VXS9x=$K6k#dyyK%Ik_xtG=en03^nColTRwh&
z-QW8fA0D~qP5r43mNcE(IC1^O=83z@3<czwE<4zH)GS%zvP+tQ!OZ_?s>pQlOrYNw
NJYD@<);T3K0RSYxdENj3

diff --git a/interface/web/themes/default-304/icons/x16/key.png b/interface/web/themes/default-304/icons/x16/key.png
deleted file mode 100644
index dd3ed88fbd664c734cc83911452837a5478a36b6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmV-H0>1r;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ANkl<ZILn2M
zUr1AN6vxlKGc+`cATS?9q^OLoqNfN(_0WSFzF4jz(e-zQp%m+3TP@ZkK{JO8Mikt!
z2Zd^`XeDIP)`IDEpwa~CVn*wsn+hThd+2nIcwq$hcHqPB{LcBF4<I6Fympyj<hDt8
z?=_hT2jN?Xdo%AiQ+Naa2!vs`seUxLN1D%glwY5FFeiI4_pwb$_wST=#~EG0kW<{3
z4D5=m&OOHAz%ixwLfKf4edE}Wf48zUaSIc@)e+9<3I^K6j-}~t^+V`*wy#xi2kb&Q
z!~MI5HQB}VHI*~Ef+ttSz@MCi;Tv1y!HYt)5UIU1{(I^=az<Cse_rtCXG8hb*+-aH
zLilr{3%{jZsAgQaob}-HxFgRQT|sxVP?w4{$}2NLT#)bM)QiiQ3fJRw^aRd-vST82
zSmunbz<(Nw@7bU&_Q0C@nslo(Z#yva{47pJZR)d5bBcGIF%rPtQ?S8%5{?p2bFvR7
zU$!FmJmVc_{wDwmGcguq-&|rrjAy(v6s#X=ykY^rghdnhnhXSY8ljLl3%(?rE8J`I
zmLmoNt}}-KoONpqvVdR0a<dkoYTH`GSise=AK;1=Bo=%h^`OHFVV-GaBoK&VV$->U
zFz{pCkMs^&cR&NpHWMX;Xe1DcGNR%@1=yO*Fk;ybE%e_@R1#Z=qQaZM8Tue;)t~?O
P00000NkvXXu0mjfF6j;L

diff --git a/interface/web/themes/default-304/icons/x16/key__arrow.png b/interface/web/themes/default-304/icons/x16/key__arrow.png
deleted file mode 100644
index e9712f11cd0e8120b2ce39246c3a20d90dcb8c25..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007#Nkl<ZILm#K
zT}YEr7{{M?%PiE2uGEVz`k>EQl3)=n>!KSi8<<&Jma{J{LrE9mEW=hNPHl-W)M6r}
zkxdIVAq%wy>e))g$)vZLwF;LBA`ZLg={#ZUT~P;qJm;L}e}3n{`vM{Y(Vj1d&dYM)
zd7)gv$>0>tLvsc7DDx*E5eOZ6c|u>+ddsAvK>RXnL=P)O&x<Uvw{nezdX)L6pjju|
z++$i>KliQ{J4}1T@)M!`M(yJMX2Uvhdf*~<m#?g+j5SXNQv8C3Y+26qNU68Wyw`av
zP0*XPLO4P5XB8WqQ@v-sl;MCBzu-=$%=F!3!MY2}+p10qRw<V3khX6_=aDiTkm46q
zrV9q2+w7ZjSEElf<HW#C9PiCXuOlC4oCP>z&+t)(15*5g(o`YdR-eRXN2~BFE5@Nm
zr_olIfFss@IQdeG-R2#PGR9N^r1%Af!w`He1+rSol(w-Ry?69!4muvHanPFLZMv?o
zQI9g|`aIZG`x&-Xx*_VuV1NLwCPPr+LD<cC;9*5L_&5z|PJ7f-8Lbd^cjCVS;9;VL
z1kNX?NYFxi`%9WYS@X%v4>Mjhe+lLf{-TuxRI}3*QPCyC5L4!&TbbE|NHzBMTTOuA
zN)kwEBf*<)-E4fW;XMyBBIMY8rfw3kVjPjy3d3uSUqIu?b^u-cPZ~);HLlJzRXm2M
z9YRcg^_yH5;;KtMEI>dbaSOm1C0I!Cp|1dA)Vk5|%vMIw3t}xIsvL;4jyTsI@B;o(
zA(#_(bSpG`v>TAuM&)Wq<a<jwi^4Sb?3=m}d1Xsd8#P=4QUU)jA(Rst9SJFi6wnzJ
x0mu1zBWDF?*@B&U)j<cU*+Nx~hD(41KLAU0=<{R-ixB_-002ovPDHLkV1i$<MaBRC

diff --git a/interface/web/themes/default-304/icons/x16/key__exclamation.png b/interface/web/themes/default-304/icons/x16/key__exclamation.png
deleted file mode 100644
index 6c9a6741bb89af129fb51d487333defe6d181c57..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 759
zcmV<T0to$yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008MNkl<ZILmdC
zdq~q!6vxk<iADNP5R~*+5}Dv5>K_rLj2@uUKU!KCJ}R{^6jKQwEp?ToSwp0ulO`h-
zA9FsleB@(Jw<%0<ra825nNCZ^2S#+d=a<G5yYS(hd+zssxPM$gL}*U6gSHGi)*-fY
z=frZdHlf~~&M31Ruqj|IX?6j+!V`*x!F2QdNFG`YVzl(cnfnWlDd>zc{}t3Gi#)rf
z$CVqO<=7(iGw0uQ)aOO+)7MH|&CA9V?8-l?q>L&_1UnG~<?*6~<<VSgr|g31Wduu;
zMzTW$_3ba*Oh5YXS}DVUod|-GJ0j_Civmj%4>T3tVk%n{@%x*84&Ot{a9}5bpdgA#
z)+c4_8<R!2ZkFMkF$cf&r=oQ*6<18@xH1sCP8klUbGIW1a&ItyjWWovHeQI|4Nq~n
zE*dqZ0XV7(#D(5S?2`EyiW8ZCTL}Y0{dNR_BorL7Lm*E5+*dQzon{?xO~ApL>o}we
zu~t8J*U;H}Ig92ODmmf13E<HcuonlzSx%M3kcC6_5lB7F-efbUfd+fU%7XkGRec@X
z%K^ex06a{nNnm<=n*?fQCWF3O7HBqH(*0Vk#0mX*9qqL$281BkytqXp38->BdMeqT
z-fEG2X(neeI5-#=r^So3r#a`Z;9(Hh(nNxZuH-f9Ka{g`#&$35(sUXEkI#IJK|`~P
zmgXI0n*v(byaAH^1u95DRhGg$Tb1n9lqqa}boe4RHYDM&@eCUKedcNYu9UHV0$P{7
z0AhSWL4s*rI%b5j=I)w<+Nm)=G>@DTUO?46avD3UoU~0P%zI0~-vSOCr?68{{&hft
zyjI9FS?^e%%iQcIH=G@J#npueLM6tuM`qPBR=g$Pe-a!y&L^EA<f=Qgc^roD`%zF<
pB!L0>6VScR0WGK3meOZX@CSCK=}{;`xKjWC002ovPDHLkV1mM0S<3(b

diff --git a/interface/web/themes/default-304/icons/x16/key__minus.png b/interface/web/themes/default-304/icons/x16/key__minus.png
deleted file mode 100644
index f381899e56a9efcdf569cfd1b31304b8737cd5f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILm#J
zUr1AN6vxlKD=adKp2~-UNGfBq=qZAcJ=BASFJ{YV<odhBP@?&;%~o!b<g$j1h7@d!
z(y+D_tpqKaO_*K>Dov1v6|IMs1tJc6=yc9)i`xzQ!RP*d_nhzVbMNn7Kty<M)xc1z
zMtJ4WXbCgXmWS6`?r}y*xK#uFS4DulKp3!Tsz$xr{c}ls`s-UaW+Vq@-ZZ8Y-KBo+
zaYij+WI@;>mJfTj2A4kE#R1R$bl0ikF}G>uSlG2KJwMTcv98TQ&V(+Bphgz-Hi^yi
z)1BGZz5}US^@7b~64o=ketEMj^*zy$<qQF8WWl}jqUUGEkAaKpqTbU&NQu8`RrJTy
z1>_6?YGgt8Nx_wy_2rgkdoY*w;g^XH{Fty}HfhC$lpPnw%{k5xphgyS8imSuutr*(
z@!~h>8csbqi}64ePKOTR+=vNdzP%D>+(rQk+&(BkPkCP8ItoQj12jf%=;QB)ZP}T@
zW=uXlhLa&f_EEbw&OOc$oP|4DfQJC^fG7yyN-ZpR9EJ*_KO?o_<kNcOHP^VO+*m*@
z017h^7NlOBVL^mz*DL<s_>UmJvA{DH@J#4B_Wch2S8%xoltfwZE@oNewWkc=K7fzH
zk{Yhd0v>gH04$X<eJtRa(6yJ+*(sbe8c_|`{|I<g?*urf2R{owjoQ(yhd}Kn04F`k
zL18sc#T(EMg(710@!in-dEA9G_vyDlHPzM-D+sZUE-eZig>S%3qL?VzRRV@1S{Tx8
nfD?4TgV;!{C6>uYRSA9pZxo3b%WVkr00000NkvXXu0mjf&E7Gh

diff --git a/interface/web/themes/default-304/icons/x16/key__pencil.png b/interface/web/themes/default-304/icons/x16/key__pencil.png
deleted file mode 100644
index 13774d4912f199d955deadacccdb8959a16d8fc8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILmdB
zT}YE*6vxlA87?w}UDYlkM&Ghk1f>L~VuPmEMO&>x$!Q;!mKIv!W(!*-_|-IHl*P;o
z1#7O*veI%kVLAnsCP~YZ=0(c_5nt@0({ub{e)PbP=kT2W|9A1efQaxiUkt4UV)o7?
zR&X*ng|pDCpdDqF17-!R#UM`Xs@iHB>oxj*ek?)1$Atb5Sw45=MjP!Y^It(@o@jfA
zWpnM+w`y#$#QDn7!@5iKE4v%bTYTevSI}7|uceGVR|LVh8JiK*Ws7pg2a5ykR+aZ|
zDl=I0Yz;wkTlqHcZ}<5CWjHX$z`7v8qjMt5U%w4&E=!xMPBD8hw(M2Se+DifWjK@t
z=WY><@bbK%GL4yqVXH7T`~U@?6@T;<;fOmQ1HJh;;Wgq!PliAl4rQS_B4VMSIE5v+
zYBiq8p(_04xq}1G&!DR&5eMx_IM%60r**G~G9@Vt(sVIP1?FQAdQ%5kj?!q?*A7Eq
z=xq-6K0AT^c3t4<ErpAAl&Q#Mpw((g5cP#IdnaQta{{<=1Xh@|5X))sdkV4tMJm!v
zZ?vQGn<or38qJ1_k&#9;nb5&ld$0g_m~fE5`|30a9Q0P6F;jkB!}h7w>P$fpP$iR<
zJ_b-t3ucRRG?9RAj<PJM+<2cg38U9gE|(jnQmOJGz|1$eu7O~hN$}a3H%W7~VPW}R
z0c%T&lf;IHhr_&p&haRKyo71$NkI42Bv39c7hQt*gcu1d5zslb1K?~l*huib%ZRyZ
zurDs(&IVXcz<(%&a#knrg1XTjGxEFMl+5aJ;uBUF*!%Ruus=Q$fY`J?1SAp(91IeO
zIAI*wP8sNqDxg)l7EaPyuVziEJ?sFVLtvTn5B^!7n#7<M=>Px#07*qoM6N<$f+>?q
Ao&W#<

diff --git a/interface/web/themes/default-304/icons/x16/key__plus.png b/interface/web/themes/default-304/icons/x16/key__plus.png
deleted file mode 100644
index 9e3fe414526fffa10cf1dc32c1cb85784435e525..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 704
zcmV;x0zdtUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007qNkl<ZILm#K
zUr1AN6vxlqoM!$>Ord<}A&UOktf-fYMi%6Qh7ej-B+iyPW8w%cnA&143|!VQ;Zg>Z
zJ-Dc*MV637+5+_|s5C(uD`^ES4MZIF(CM7JO=MI*_;AkeobT_$eYk*#@WP~ofhMK!
z#;jBmdcqQcdo}Mk^EV(O5c(UG1tT3h9CPE1z8@cK7?8{ucxUhpw{Laujx+xh^wcYM
z581almp^x6zx}AMO_w}sD^DElv2OP*OkBaiw#`n?xa$-Ui!A7_RTvkhTZ3=K<K8=3
zp}}4*Y+$&5eS4?(=kTQ<X9$Qz7Cfj{*nbBc*mXI*uj8WNUX7zRsqfcR4RVHnSY$!_
z1;HBfi=k!zJq-Co{629LXNOG~95>;jw-Fb|^dZg=5Q{8mEfw-T&LU}PrUU1t7Myxo
ziJq<koOYkUx%cHbC?1kHV=EP)+87Uc%}J1FA)3~P1=cf=&|CtB-dh^ar=f=6%qt^~
zKRJh!?vmi+8)^^lIHRkH2Y8qX;3B#+06NoG1aSQnsLaKXOFRll7My&hMecdVJDoul
ze)t~&P?+guf%jzv3wn8`tx|;_xH3gTlIv<g<YAQOEZ|DylvS$2LC1OkXNIJkuS2f#
zJu0|X1gq&|!N<Y+CGL-0O$4}~E>c)xih~sx?d3TO_?$feP@ga3VgXko=V0v`fV*i@
z?zfW|3(r>sd<ypfRB6D$f-fVDsMkQ({$p_fwp0;XQzd5C>|u=d@;oA-KLQenl=J(b
z`|Fq$sk$^<ppa(k2>J|AfF)VV@@FGgXh{K*KvY2gBqS4Ad$XYAv>FC-HbNQQvx!Ya
m8W9JEcoFm}Nv_5OS?~uxAD8F#yY`L%0000<MNUMnLSTYy=s#8f

diff --git a/interface/web/themes/default-304/icons/x16/key_disable.png b/interface/web/themes/default-304/icons/x16/key_disable.png
deleted file mode 100644
index 72bc9f40a0bfb75a065efdcae367c6512ebed10c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 452
zcmV;#0XzPQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004tNkl<ZILn2R
zuWJHv7>B?6g)7_If+mxbaXVqdF)l2)1wjSFCc|=qT1+N?1QkJ($)W}k1Ql%tlYfTY
zWVD*y`-~GDc>0Bh@8>@6dk-9^w%e`RF&d5jm`o;aAuJ>;$nM>I|DAsigTX)zhr`#|
zY-X-jtB7<TK&E5Hj;)~I@4KhdsmV*NRx6TBCQTsIF=NM8(Cv1^>-9P`9*@JhT<)_{
zsoVmYju|_)f_A%|ko&#Y>zSQSC%q3HGi&FtpxJDGZ#J8NWaALb*s&Ef8V!9upMOdA
z3tr*Dg6wC;j;)|xuV2+_wSau@&vLos53sD0>6o!|OrWaO>P5L+_LNGcv~<rvrens=
zDS;{$iz=VbBk&1tWIAR?1=(zN9|Rh=;G~n^sS1UHy&#jx?1SKOu~-=7T_24`?FF1r
zD5O%U6d>?&3r;$h%k{T&RKN)agUU2b1RnkZnQnKE3C@H|!4Z$g5j=4lhM`G!ZOzV4
u2^_+WuIs*7ESA<Z?M0sNg*!{~Pw)$Dol3hrz6x0Y0000<MNUMnLSTXy!OzM7

diff --git a/interface/web/themes/default-304/icons/x16/layout.png b/interface/web/themes/default-304/icons/x16/layout.png
deleted file mode 100644
index 001a60af262f19206f427fb3672b44a480972abf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 246
zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002JNkl<ZILoEe
zF>1sx5CzabW8osK+kg)hNbL*cOu2x;r&77Fm5P8Q#xs+`g=@{K|BugSM8|P_0ay`x
z&vc&Wx^3HUB)#wZPZANhJKTLJOhgb7BoTp`#ev>C%nW8W1TZst?>C^T!yCK>5YYv+
z)}X2(ptW`Zkp|3s0kzf;FijI`t?>qCb~lJ@psH7cQVQIC_zv71r4*!`Gng6kJP(hU
wa|SKT^3BYjk<VmiF9PrZ-~k{F=1%~B|4QGW%p%e#{Qv*}07*qoM6N<$f?>#H*8l(j

diff --git a/interface/web/themes/default-304/icons/x16/layout_2.png b/interface/web/themes/default-304/icons/x16/layout_2.png
deleted file mode 100644
index 41266b2aa2ae3989b68667904e68723e50d43c16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 308
zcmV-40n7f0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002{Nkl<ZI8U9C
zJ8Hy05JX?MgaTuw1|Q1cQ|!$Y=u{IL94Rp9Gn#G(V&&CnK#N~kUDQ<fNZ<D#z&ror
zi>~W#p3(RHNh{HH-K~x>;_kRR03yP=t_Q7zh!A6>jxl0phk#rwu?NiajG19(0H`Xt
zR^sm415!%+u%wkJ28amLG+hRW$QCe76Dg%rz@t{;?yK|HRF!cYFB_=p7Lc2(s(NaL
zs;U^r@!Y`7o;sqL{WW;pH>Jcp&zCnyDQyjgVZhz@KX-SQWjSai+?`<<s6z;-DoxV>
z+i_xy2d#vv5<)=Qw*6Gqx7_dyX7(+>3-Aim+5CzX`1u9eWI{-;5X=t%0000<MNUMn
GLSTZ?2Z<B_

diff --git a/interface/web/themes/default-304/icons/x16/layout_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_2_equal.png
deleted file mode 100644
index 695916fc8ee48341a527c802cb68fc5a4ad774c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 296
zcmV+@0oVSCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002*Nkl<ZILnoj
zJ!-@-5Jo?ZjEk^t13A<}Djy*?bD?e_2T~bGCCm~@mNm15gTZ*mi>G}vPxFI}bM6Y@
z1LxzX@B42I!|)|aIOkOMUx%iY0uh0TZ1lz$%=4_WQVIYp0%lf|ju-$mIcG34n0b>#
zM0mwEf?DftORw0Wz!-y+lFC*=N(r@ARdB>s!LwJ02r)*LtpY8{TC0v=twoISxC3TZ
zm&nZ94xY_fYemjkWori^1c=D))*^ywnp74-SOngC5E0t8-7Tt=qB8IOa*?j<K8fi4
u>{n#w-*Fso2EZGD3xMWC{S4qPB7YAp)=GDdZuEu#0000<MNUMnLSTZgPJ4j>

diff --git a/interface/web/themes/default-304/icons/x16/layout_3.png b/interface/web/themes/default-304/icons/x16/layout_3.png
deleted file mode 100644
index 5e8ab93b4f022116af971cd3bcefa5cfb7796027..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 278
zcmV+x0qOpUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002pNkl<ZILn>W
z!D<8{41nQZN9IsE*Fqnv(5Kip^Wal?EcE1|ppIkG+pvr*xSQh_4M{{3Lihqcc`bhM
z-rw{RA%rRO-rrnn4OK-|0WijJ9LJQk)^M#gL}W<Jnya-UB8Uh8)>@vivq10t+{`mJ
z6fnk6N|~}+E3TA6?|nEtYwlXvT1(D(%1SA?YhqcJq1{K8a~?Yokzrwv?Cjuvw%$9n
z)+x(5<5Ehf>iNE^%D(SYmQupS7_ru}uIss+*4mWC7%|(neOqfkUipe5@@s%M;2m&J
c-aml9f2fYGRQ)ECW&i*H07*qoM6N<$f=FzCZvX%Q

diff --git a/interface/web/themes/default-304/icons/x16/layout_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_3_mix.png
deleted file mode 100644
index 89fb017e5d75c36620260f08cbf7c29a67cc0b87..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 336
zcmV-W0k8gvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003ONkl<ZILn=r
zF;2rU6ox-LQ3ga;Bo2kdDas+bb?gl|K!%(uBN9^vBs+Qbdkhs3Zrv98P1bMw)AO_K
zhGBRCp1F??`o7=V3Bxd)Wi|S~-?k!xnPFxCIOj+y6<H1E93nz1BB*L1IL)pK=6Oa{
zQB?rE_nc-me%7smobx(a%W6~w&N*U?>-eT1#z@ZjOmH|H-frDtO6e&0U4i$W5CXg1
z?)};knx<jD-@mmXghJ3X4KYSUgk@PS3c9W%gm7Mgs{W~os!EKJHiS_0Am_|H&qY=v
z=X|VSnkLL_y>l~TS(YNJVP;IzL_3Zn-g~;PTbn2%MRw^SjpK;hY&Ngn`=@)pqN;v6
i-~o69+JEj(z}GimXEufvW9TaY0000<MNUMnLSTZw<&b9p

diff --git a/interface/web/themes/default-304/icons/x16/layout_header.png b/interface/web/themes/default-304/icons/x16/layout_header.png
deleted file mode 100644
index efb95a3d6d4bb057b4c4a637193a0195f280c772..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 257
zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002UNkl<ZILoDz
zv1-LI3`MULlc6+g;eAx0b0BlR=`9%z`6`cvP96%ja3sAULub3%@8Reo(RrSq03H~d
z?{Hn$V_nzhNIJ&2ht?WmjQa?nwT94I!?tZtckc=l5su^7gNQ&?VP;(bW`>9$hzQIK
zs@lE6zW_vZ18S{M)geHw^#+U>F!K#4r3?Y4X+kMw+`!EK3`ROo)!QKF40rFo19wNx
z86l+vX2v|v-6f`!K+CdxG4sdBFPPa60eA!O4j^>qF95$U8+@B9O|8OM00000NkvXX
Hu0mjf#Y<@K

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_2.png b/interface/web/themes/default-304/icons/x16/layout_header_2.png
deleted file mode 100644
index 09f6832bd1ddea06c32634ede6c14b17d739c9c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 324
zcmV-K0lWT*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003CNkl<ZILn=r
zF>b>!3`M_a!9!861#+kYoqd4hOobOu0(>fu1v+UcAUP7r4n|!&QJT~Qw0x0IpCn|4
zVR!{_z`ppfIp;&$w(onYopUFfQi5~tv<Hw<0=lj{GPCBKHRr6%tbN~aw9;W_?Yi!0
zr)dH+Lqq@oM1)JN6hC=(nkI+{n0dJ@X{9Ivj4_BY-US$AW<ZP)%zOn{YqtO~#u>1F
zjffCJxa)w3X24}~RaFnQP*oK|2-glo<e?#o$ghKSzs$U>@h<=~&knrzP}ODUs*3aZ
zywOUbs_@>!j^hX-LS5I(a8gPe?bZ;-afE4_=8cG6_WT7A`7{8Y06YV*|E$jdzP<rR
WQYSN)p)X4S0000<MNUMnLSTY-_=fZV

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_header_2_equal.png
deleted file mode 100644
index a0dfd6c868e1ac860783c6325f69993b19084f8d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 313
zcmV-90mlA`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00031Nkl<ZILnoj
z!D@vt5Jj(vxF~g7cpp{h%7q{B`b{MpSAx4jKgeaFt01L`CNtB85D<+I2LcHvbLUQm
z6vHsQ0=VINd^b(=RmK=^ZQFia&F=gD9RSJ@LONWD5W>1K#@vZWVvL(bMACI#mKkI2
zB7$<BXAlvXc~e0tg+~m)D!|MjqMgl0>{OsA3V83cED3n;K}1=BGnNF7swk!4oXfH#
zkh`R{&bFYnhI8)R0W)VGk(sv+j`}2`G{z&A99U~1BD-0O2$p5ZGHdNBFpeXXQmCqG
z_fR2(EE~shok(5RZ%V0`tABx+f2L{rEC4(Kcm_~j$d3SiMda@v#9=RMy3D6P00000
LNkvXXu0mjfQ8<8U

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_3.png b/interface/web/themes/default-304/icons/x16/layout_header_3.png
deleted file mode 100644
index 64a48ca7ddceb2a59ad7d4640bee17b2d357fa94..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 295
zcmV+?0oeYDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002)Nkl<ZILn>W
zv5LeX5C-7iiKI9#?ZQ6P!PR+y-Df&%QVDq~%Y&;d4%Fz3*M(zcSrf}oXZUqct?T*$
z;EHqWTbEL<^E`i@skYYMb<P>q+WVOXIcLBab7SUON~xuk%FK0HmM$~K+;mC_%nT6$
z01y$5m`*7{M8M2@v?JCuP)Z@j*kvgt=ollIxjEcx`mr++A%xInF-GXejbRv?xX&zv
z&?XR(=E0uXp5Xu8n0X)BD+?h&d+$+e-RE0t#kOr-=Dmk@&Vh(9j^q9~Ip;2O&OuGn
t^hrdQGk-xueiVQ=0Pg_w!TJK=_Ybk%fmCTsJ}UqK002ovPDHLkV1hmFgeCw0

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_header_3_mix.png
deleted file mode 100644
index 22e67bd80d927341198e4cfd840e768370eae380..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 354
zcmV-o0iFJdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003gNkl<ZILn=r
zv1-FG5QcxrB7xAXg*;TDa~>dhi3}d{62VI*L!QcGp_7M#B<p@%2UAlwc0zri<(KZ$
z-G7p~-EMCHc32i4PDFP5{r<8fyRPe_ODUnQ>*EqYN(rc{>OfLOL`6hN>h*dZX;X`&
zR#kOyF-DL?&KUq;t;Jt$Dt^wn7$b7dAUSMKX;U!?FvcK+@DyN-=>Z`Gkh}w^DvU9+
z098c@p$GiF%~}iZJ<jLz)5(y8^WKjDMNuGxfU+zvk6I{-0;kjIcvnHr88JqP2x5%0
zfc1Lax8S`Wc|dX)<D&{l!g~+bwk=e3n7OK=>$;IPXJXs7a81*|T8q_cHJF%E8fkM6
zsc9OR?RNWat$khc7jn*@2EYcu3jp`ed;#$F4Te@8Xn%v^!T<mO07*qoM6N<$f?RW$
ADF6Tf

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer.png b/interface/web/themes/default-304/icons/x16/layout_header_footer.png
deleted file mode 100644
index 4a739f856ff1d9b31b252ddae4b51ade1e8556eb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 270
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S3O-ELo80uJ!9L|n!wZg@QV16
zysn!~(H{@#ICx*a85MQw=FOWoB6b)atq&0qRDB%jwC@17;)j-1tA6d<m>92hdeYH?
zgq0dx$C89}o>rba|M^7i{Z$DGnx~ESt@A$jIfRwjJ9Cy1-|u~^n;Ms@c>b{9i@Y8x
z%A<3%@XYOPCvDDy)OIPwO>=Ea3;?Q4lrXZ}mb;pZZCaDUgF>05>#{=)Haw}6^S`VT
zdwpe7qw4k2o8M~}C!8#ldG|YR*0MmLo@uFnZ*DuQcJPw*{O$9%$EO<1ukT*=(09(n
SIys;R89ZJ6T-G@yGywqIe0Ed-

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_2.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_2.png
deleted file mode 100644
index 22b7d59efd63f846631d39fe8521c822e5711df2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 318
zcmV-E0m1%>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00036Nkl<ZILn=r
zF>1sx5JmsUszO}23G8ir00&b00QQ*{72ZnVQ@ISJaTAb)XT~W^67Q~;-SvQ)ubDSr
zA4GlMzXLd6Uwv9;KGb!6+%xUHZ|yWq@ZPt30Mj%9&bdZJW@et5c@~lRbUK}BTSr7@
z=Uih`N)QpKDgeM3gG+6ze*0`n391Sa`MccGwrUeVM2Ioo1rX5!h%rJ$t^jN879hsB
z0M^@#F$f{tbzqEH0GG{KmOb=@EXxo=xOSkb4~3|z{|<-<*4ndh*4nKMLI|L$s+yuG
zc723#9ASrHK-YCgW`1heT8pwQTgvnN!x;0n$APMT5r7u}uK?_m^9<no2Nj0^F=X3B
Q9smFU07*qoM6N<$f_{sI0{{R3

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png
deleted file mode 100644
index 9a6ab31a69fc66fc95680c24d8612fef0e6ac71b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 318
zcmV-E0m1%>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00036Nkl<ZILnoj
zJ!-@-5QU$9st^}$0(%=Dz=2dQd;ss6HY)7O;4a_;xeTN+m?e_2W|U%y!DQu)2LuwI
z-kYZZiLUEj0i1BWK8vF0wfFv1mgVKBx^3Gt0O(~|*29rnmgTlF##BTUy!V?$M4@S#
zC^N=XAq41oo<T%l=1m7FB_1&VHv?t{5&enzi0v8(A>f>gvem#j2O^3Z?6KA0UKc4P
zthG_L8pJLsrJ_$zO2JyYpMaU8LuBS{0wDyn)^`ULW4{SRp66AXriVYmIF9K1{#_5l
zfV!?P-ur)xwbsb8><j=RNs>1y<;&3o%=|S?(}w`?1mGEfKA`sit|5f)A4ri495Job
Qf&c&j07*qoM6N<$f=5+{IsgCw

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_3.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_3.png
deleted file mode 100644
index d97d175d410ed78b1b797745c10a473c820cb049..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 292
zcmV+<0o(qGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002%Nkl<ZILn=r
zF>1sx5JkV_sX|=13G8ir00&b00QQ*{6?P@?sayuqxCux?Gvjm%S+QVy$~XF-$AHYT
zES~^wxHjL!%(uSp?^n{^`;l_a@ZOJC3UbbXb8ZlkotbxL-bG}e=lKwG&JC1Of`~v>
z0RYxooMDtwf~rD99%^S;QDBTgjPVdlDS={)5Ru~XQAW?r)>?!R4zU;`=y_39RiXQe
zg%C;uRV@zoiaiXBF(9IU$2r162rymO4NcQr`Uu;$f!1}!G);GAJ{2Y+v~4?@x~{*h
qwI5duRQ1OIcmwbbfKKKa!0#XW)IyF?bV(@y0000<MNUMnLSTaJYkH6X

diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png
deleted file mode 100644
index 4aefc407086f8aeccc557556bd52b3c242a48a35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 346
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU{v&UaSX9IJ-64et2sc#HC~qE
z<+2&NDcYQ8n6?PT3wk6f-&nF?gFwy^wHr%3A0AUule)N~L!*AreyM{8j_|Ydy)T-w
zNaI%j2d8f(d*dQ?YBF9H?KDW?%+Ta<mTPnTQmfyX{G)m{vvm|#Q^W3c!nwD-9z6eC
zSp*XKWYb@`;&l|$_u6_ezeuKi_A<fLNUsO$UZ3JWaKBMjcdnm$-QGB*^TnKZw&nig
z&p2t~tJmeUBvY#~dfL&@P|teyvMnVxa+39alU$h0d6L2ATq>QrSx0#LZC@sP8NSK4
zWo}%Yv`FJmjos0|b<+=+`p&-d>_FeNvfZ+)SMB21vgK~x&yN)y7Jc?iyirl>uiMW)
p+cv#n+Oh3YKc#;D6EImFKk?>4mL1C@EP!Fg;OXk;vd$@?2>|88k|qEE

diff --git a/interface/web/themes/default-304/icons/x16/layout_join.png b/interface/web/themes/default-304/icons/x16/layout_join.png
deleted file mode 100644
index be491fc6370cfc0296b69f67cf4117dd15e7830a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 365
zcmV-z0h0cSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003rNkl<ZILnoj
zF;2rk5JmrtH)|<!S|n~j%^9d7A*G;B$vJWj4v->UDk>Tz!~v)f1*sxh7mnB7&F)Y{
zi5xtR#Bbm1(`deyR;$%LfNLmu`M!I?g^0*2mdoX%3}n98%B9Q~TQMO7hzLaF%uYn8
z>z&HF+=LL2Qc?v~RjI7YP209eDIukFHo(j$!C%(pCqay{H&oZVL3ZSW0wRKQ4TuQF
z7**h01Jg7OVvMT5`#qQ$H`8_R@#pgl-tP|rZ3AY82qA=kkM*=CIJ8GF&N)?(Wf_<)
z+O~!Fz9+EOg4qslkW#{EG#)(SksIfndV?4vtSwa5<)$o4h)Az%5ka08D(iBy*=)ef
zu-5jDnCFGcx|}AH$&8t=w4QGtzApa8^5^}H0E__?01W<@J%H*Lb}b}@)5S2P00000
LNkvXXu0mjf83&*U

diff --git a/interface/web/themes/default-304/icons/x16/layout_split.png b/interface/web/themes/default-304/icons/x16/layout_split.png
deleted file mode 100644
index 986005ef864f6705a257b71be88dc70a347b57b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 437
zcmV;m0ZRUfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004eNkl<ZILnog
zEl5LA7>2(*7;6TjTE>ECFli7}#7$5z7{&~GPY_mb9HwhpTU%LK7zzW6#UNTtCX>lA
z+_>AljQz6z&--3DaE@FD9(ee8--pBbp;D=I>>+|MZe3o)mE}BBu~-!R$4cFN^P&Y$
zg+f8h=X0LTW*X?u%ufz-s;7KDFQ(HePbL!$bcfgP9OP6_xm-?+$73E2hZ^X%Q!gwX
zCN`-Vp0e4jK+*5_HPCIIJ+gGzfQ+envMfss1_SPNIvVJr@iLD_BOjcOj43;0%49O4
z+wF3z)zUz>x_{@t7xOo=C(|@VyWM8TaWv4a?A`k}kxxLDPe6}M>2zA)MBBDC(5)Rj
zuynm%&(D~uC&Ms=>$+U4)ilsW<4-IdZiT<WR6Qk=NzrIDxLU1hpj$tE;~=McN+c2j
zSE^Jh8tAspKRC##o?@|>Xf~T%uh%uu?Oc3ukW)Q{!{L)iBqD;?y|j4|8%O0=@>a-W
f$z%DSU{B}=zHbr4>CbOi00000NkvXXu0mjf(Y?hc

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy.png b/interface/web/themes/default-304/icons/x16/lifebuoy.png
deleted file mode 100644
index 2bcb23d54859109bd6a05c79305771132409f502..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU`q3JaSXBW51s7qF}YCY*#7qc
zn`hQ1u&c)N?>@6k`W~Ahf7_+p4{~OwnjgBVcX2g3Y3z6<)M)NHh0k@OWk-Rd1;<+f
zuaFJ@Vip~A+1|=Ady7=Z>h1T_-}MT~RaVS<{<-x1vy@yvmzR4kZJ4z1NqAOx(VH(B
zW-aSeN^))-`okXX`o7Fe`$5nm@7+72*XyR{+)8dyUz~jSn$@Ak;2(7^i!QEs9i9C6
z@cXuj7M(6d&;HbKK0Nv2#)hqZ2|c}zYiBCS_4|u=AN_lO^X9a~iW@dB-s^MwyB%-S
z<<VjPbNkiOrLSMhi*mK@ef&7NxVYGO_p<_(@KvjYIbdpT-7m}B&iCt=-8>)Psfn@I
z)vw-u92>G<U|vrjZ?r@NpM~B0%V9;z%0Hbfa*mbQ-n?|_QR}bg4HGVIOyp)h&3K!A
z_BRuI!@yH3(_`1K^=+9w>q%GByHKzf#MrjgJm~eUF0(KRv67NDHh=T&$eh!v+pVph
zEM*deSn#^xap>G{3D*t!>U#QSy|<Z{q9E{rt=aKrkintJAUl$6ovP1hmzUjnr~k8&
z(Ri+3`tjq()twhkxNg+|3Ma8+Rl<K)+g|#<WZARUUpKv%2BoP@K3Vta=cM)0QbG`K
z_Ix#zTHSnU&A$n!UzYeCPulqRaKH(j73sR?&P-_q8^ZSO{r*oc+f~;+UA1a$Y3%*_
z_n-g%xpn(DHz=$PS{kPY^lwR$diCVcQNNe_F6xF)w@yubxW*>_N{Tc{#fr7kY}1m>
zQg3OkZ&|;p{^hQUb+Ka0|MqNAvXP8UWxm7qoBhh<g}>v9YSMrSkHOQ`&t;ucLK6V1
Cd`I2@

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png b/interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png
deleted file mode 100644
index ab33a2deb2ae3134df17174fa1dd9106e70019e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 784
zcmV+r1MmEaP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008lNkl<ZI8Rkm
zTS!x30RGQVGtFrX(sDkmhnc$JOHFD%7)nnWGd9~&YbaBjOes=W3YwRYKrm8dQj%zz
z0|{4|La0G0QRd1Dw3(*cLX0V$8s75n|JK%J@Qsh}cFuoxM*6A=VK~50$e?0SGQ=~8
zCek<o0Pfe|A%iSB|CNKR*OQ`I;kZ4SySfm;wYdab4*(7g9x})VMlkTZe5Zz3tybxm
z$jGj5DwTb!rp7~?nzjLOXz-9hHZTIB8q#yoFouVRE4*Is(oR(s<qHexvQFm%I5c?3
zAd3#V7*LM0TXRN4bn`sFxUsQ8M@B~6eIk*gJvi77fJ1|a46^8;i-Gu;$z1JnM#kH%
z@^W8UEEbos$0KiLUjR5Xc*r1&4!Rf+z1zdJdy0!!`Jy6f6N?=&F)?zq{uv<9;30!7
zI_P3R@J7J(ua=f>d)QeALPPCEQBmX!E8X$~92z`ikVOYw-@pq2cYnoT*j_6sp+jL|
z_G+n=)Fmd8C#={JC--q^@Q^_koxp%-ES&3HP^s3w8;$gpOy<bU%#^FuYBI_O>W}FN
zIJAow+B^j}r)Zb)8jnuk2=O*KX`Dz%m|4xsqfV#OZ8Dk4G#ZUOFaQos+x>ad;-WOG
zc5MBM-Y^h&h|1nHl5sC2WRQIp=jZ3C%jI%UD-@1rLZRJ|-SG9K`SH5S@?rCc`4P?O
zpQFu-lq%|<&lc2Gn0+r&ubxD+i%BICNrla3TUya*D9_I7t*oS{@6OW31xoX$Db1ex
zi_0^V%FTn0Kd-X?*OFR-f<_0#;-yK2;>XAI^q&RVh8?B;_Ris4%jUtXW<I5Jj%K~4
zbieW8WPW*02hpUFSd0k6$)Tf3B-NZsw3Z~&(z2U8XywQ_01j>6+4fJer<4kHo$qtY
z)E(&Jsscvh{CDE}JGWgTvU4YhBy1On1;C-DoHzCCRo`%Ei%+2(hwd*S9KDe!^_TVl
O0000<MNUMnLSTYT+k3D8

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png b/interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png
deleted file mode 100644
index 020a1ee6ba12e8a2f630a00485ed852945aa7e55..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 830
zcmV-E1Ht@>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00098Nkl<ZILlR&
zT}V@57{{M?Of$_7*o9IHS{L(kNGOZaixpDc40fT_E({U;NKqkB5G|KUO~b1!n?h-d
z=B(6dp%GeAPEqTq)6_N;w<%NFrfY_{dV8O>Ngeo~^YA?X-~YVlJ?B7I6#&ywrd%ck
zQwmcwlRz&cJQUWxUW(6?>tp_d`P#bpNCuqa63Ok=P||4Skq#8r*uxom(CZI@1Gq&6
zTCG;R5gy*Qqfl`BDwUnq*LzS{V-IKOL9agq3&mg-iNwLs&`{a#?ymWFWhHgx=2Dwd
z=@r)4!x?(eiwv?DkTS-WW(f^#cez|^dwY9yczAfdOCT^d1q5&?tg(kP^q?0RWHBIm
zGLcl<($Z%4OG~}5P$(>6+ar0%PAIIghcon`7a3$RKwvmRn(X=c4p&|t)d_{hsHi9j
z_+VcEU=L^LK`%1MVgPT3M_xLLi#>MstbIX2TwX*3Tw#z_LSU-@Kv|!v`A$pCIf`Cn
zko5*k@JP>APL9V}SV#whgSjfP81BTy!KjkJq|U3L>4AV&r|H4|vL=ph=4X45@dpUr
zhmh7)g~Iuxpny&#BpBs#xg<S39Y)wH^gRT|dx?B$;u7a^cT>wyI$gM)yp4?i5u$Yx
zQ0rr3mmHay)MBx$7ZnwiWMpJWFktjD;SYBNb=$4AZq}ntlZuYr3U}yEL9KriQ#xgk
z_B=4~4LjCWR#vFhYF(d`N{t`G!no1Xhm5mrNk6wOm6YYtjm3PbZ$4q~uOT=6uTjyN
z1(9qh7Kub<I-SnE#qQ){`{AyrpoT|MYUZ-(*SU-I^*|||n~~8k<7e$}TS&WB_4h;a
ze#*YLCD!oyBYi@ld0HxU8<f&t6B-d+T{=%q^GV(n;MFvrOh3E`9e-6vY9T`g$1o%;
z1Y*v_Luz>{T-C%wL&IU{@5~{a3-3<u+rGt7+j0zbe=ql5QHx{3o!-Z!9q-CxA;<sy
zof~gJ!nF$^YQ76iOjA$p!RHn=a7>0)H7qijo~mK`*?nmE10TBBkHT459{>OV07*qo
IM6N<$f)Qnf+W-In

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_minus.png b/interface/web/themes/default-304/icons/x16/lifebuoy_minus.png
deleted file mode 100644
index 7af080733fbf5270fa79088da28885084ba6fd90..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZILl>|
zUr1A77{=dkY)f66!U2^$UCfKkIS<|qVqPp9-3@l(C@&n|xQU{Ipb!&We=aJJZWNgm
z6ou18gfl`RW<)5F!YXg7fuh?&glU~xI9I3d8E0ZNc*eu?KEL<uJ3EKw$BDSkaRs=%
zTuv@4m$2qy8VFv^oN6baGXKEZ*d2Qv2QDUC*|lvWo6cz1ECi1XGjz}`FQF6oL6~B(
znB{AA^`q}zZ}K=C&M6ZUMF<`lX6T?>UIOD?>SlEqEH5vQ=JWa8KVxHx90(|Tot-7Y
zBf|_Gbishd0_Q6KX=$VJu`J6wM@L6WB9X|>3qoo}r%OWc$S^|(T`*v=!1}J0UEg!N
zKOB#YlweU5hxqN0ruY{Gj|?+(&;<h)3xv(HY$n&+dmsmcN?a6E_4V}<sj#|$kYR=n
zx?sR!f#$u2Jv|s4Eav!G7b+@}!I~Pn%%OX#;E`d54!U5#mKMC#uxI-{J;lTRer2hu
zDmiYk(2eG1ddWcu9vNonpbMtFKzL<f54XME!ykQp%6dyn%H#1!9UUFC!eIy=8D{99
z3#NPoYh0pRYc|`bgRU+mola*51_p+FKA%)x0FMkabkGG;zKPDLi`;X1{R{rt+1lDt
zGMP;Fqr;JUV=^V7=LSP=(QYrqB}sYG*jSij>|0bvpQ9F<Ej>ulZmQ!KvY5^0(Re(*
zyYKTUGCylR6e=lJTdVx?`~Op<l2Rv+vifgXB3kXrf++58I2=E}w736;?h8WUwq9Sj
z$(S4>+6)t|hZ$|$ZKBuYb5R49m<-f(!A@;g+vrNfPLq?Bv^d3R6@o{G89Kac0|ORU
y)o^qE^y@r5OfCLPWUe|x4G=uC)2}lauzvwZSfs{oL<JcD0000<MNUMnLSTY94M8~o

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png b/interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png
deleted file mode 100644
index bf2278644af1a7e0b93d404175e3255a5a0950a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 771
zcmV+e1N{7nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008YNkl<ZILlR&
zYe-XJ9LC@Gpu;pTF~U)k8o`!s!#<5-Rx7M8Hkja8f`(9TUhqPpAPTPf5;H$UmT3k?
zp*fOpf+&dVVp&+Qt{@G(Z4*&cnr#!!xA&PlVS{Hp{GaFd-_Co^A$`q+a2?>Xa+$dF
zTq-W<gn<eWd~BwVb*wSwKRC|mP^WX?j3=93pGl_eeu4Ht@R%V(2VHRq`3HB~iPPy+
zE~KVD`DHSBHtqHm*4nxS!DEID9dyMdFs9)WnvP&(WTZY63e9gfHL;-8$`%U?qk_i_
z89L~K0gDCtcl@vUl9QhXgTc9tjSV(7HWuiUO1+)&@g4{sGi2zX3kEC}s3x=Njm6yD
zFPn9BQCKdQ*YM-f-s4{oJZ8wyK^F{IERcTNOFLJ}%2tCm8*|C!UYSg$B{4X*fMA9U
z9dyBf#RB28K>Js#tG8D8wGJdCcx-8D#KNJjnBXx(hR(9Z^5>^O{cq#x+311~0)4Sm
zTDrAXS;>YI6FtpJCApcEMMgOY!DEJOs=S;H<>hTNyPXYC`YL(}FO%rw8Ix&ky`qAB
z)M&g$qfuK>P(a)qhTt)KZII1AFDhc;aG2Fg(|&aCBl*!obZN=0iOkHY)#762^Z5c*
zRaG@+vso)HfN#8Z(&6qu9SH{-SglI6?8ufp5D!t`YaqGLB$6TinVX)TW`4gv@KvYt
zj;Ew}p!er8W<~hXZB3-}kT4ELyp5*b5|Yk;NU2aL>Rm3^{F2$sg8V!}jg4%<ahbho
zIm`fewWuS<k4f&J3r2j9qK|UyZYewB;@ksr`TQrH?)P`2etXouKMFszB}DEXp_Ay4
zop)&GQ8pXML70>za`c3n<TT`viydmx*0zTXwx1%iY<-Hg+350pBk4hg4)11y0gGh<
zHyOKM=k}{abLl)$@Qhu#KnH6rG#|6wuQM31e*v@GsIAD;V3Pm<002ovPDHLkV1m(a
Ba%%tp

diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_plus.png b/interface/web/themes/default-304/icons/x16/lifebuoy_plus.png
deleted file mode 100644
index d41f5b48bdde521dcbafdbe0a1118cc6ff52cf41..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 755
zcmV<P0u23$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008INkl<ZILl>|
zT}V@59LC>wOtXEd3~}k{Vg)lj8zREMW}qnDgf+s0d0}{wQxug14N=mH=mVvji6{j{
zp}B}~K`4ZVh!QERuZwCl(M^%TW}O;3t+)3XXHqnH#>4Y}e*d%g>>M)DM+jFAmy65E
z<>1QWGA@=;6$Gzj4yEH#n15ik=eC&5fpT9Vy|SXG!yy$NgW!>2h7P*PC1fAI-%mUq
zk7Xl0{o!|~)3@8-A7O)odk{P_%+NtMxdg^JRZp`qn4X^Qip64Uzk7R`>~gWq+S-KR
zkzs}ox?sR!fn$OHw4h%9NS5W*ot+&vGc&V3VKn+jQ&M~oJTlDCK^F{IEXaFPNUv^I
zR=(Tq>`cIdAhh$_V;kaM5Ii!>&_NdrSS&Dp(9zLIQ&UuKY-C<R@S98~8&P0o0YQct
zI_QD{iv_B;D*80q*0vYnXPrz-^EGB<kQxr%RRoU=Gjz}e12(bXwTeCqH#F>RwY0D)
zjmFn!v5;#81>_|MA$Vk%p@S}%<O1U>Eq$=!bZ-4<Ze~kXtG}wM%2r)nO=dX^!6Q3$
zF)LDZ&%$c1i`!t5N67Qq$j!z4{7=!kIu;BD*IQd#+a*b|B^SUW6DN<yFGM=o(L1JX
zFv*+f7%wB0k5f}$@Xu->5MZHDX#Kt2?w>ape9-BZtcdueByRIKm=t!goEsV6v?H0H
zi{1LM#Dg?mPqO)iEM~L0%j@;7g(Zo}{H(E_o`i}9kFfHMv;RrwPWSIW%F4fG8Bwce
zCk0_`*>3;&rJ~{&bfzgcZtl*EAG)NMt*a*(889r-0mHKWmS&DfWh56%3|exmL?or%
zrR3a*NZjs&<oOUK3lKaq&1LP^oPfw^pY9_Vu(+y<o5O#<&chwVdj2FaYYvcH2p(B+
lhk8ucoZ`24sOP|d{R4*mrMF;)cIp5C002ovPDHLkV1jL>Wx)Ud

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb.png b/interface/web/themes/default-304/icons/x16/light_bulb.png
deleted file mode 100644
index ff6feafc907b8b69bab4173d9977ee0e7faa87e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 660
zcmV;F0&D$=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00078Nkl<ZILmd9
zT}V@57{{NrF2ZgqDe^8d`m(_ax)T~$7v@zE5z?pRyinKB&=ootiLMW}X&)}NmgLM9
zEuF(O${PvVMPqC@&$e^UYC5+$+D=C%b#;2))rr!x2Y&FJ_kI7r=Q$t<0uV;^@Ryez
zupc>vea#DGq#aJ%+u*>^b%3WWzY%k=Mj%6uP4yjYUYNf>!GCvoms8fyA#bbO)my52
zrh^I$%OnLj0dP{;+rC3BKYw`GT<$%~^KYnFOdkja&(i7TLDp&6*WTX@%EwI-g6B7Y
zP#up9Os}rad|6qU4DtK~6_0lX{QgQR9KI4|=k9%Yq=njtS_y%z6$qMKZieRh@q9Rw
z84j}S)qu};JVa3!XpVbLTN<FvTrVLQxCVr#Y{o$?E_Tk5$t3LeSIr|4hS4xwc8t1H
z2m0G;2?4G~IPaU)jI*rvD_NUN4g^j{aD6(Nw8VTL4U?TUphngUdK&?H8lcpwD>kGO
zPsqwFMV+G=rjd!qjnVA4v9L+Iz5C`R*lW00Kw!atGuA@o@ZBRlT-LFKzriLFrYO(5
zmWGT+A7HSGge3*HE`x|1r)a#h9aHJ_;6ggxA0s`6G>E*QK)m>a(rzj@WwWEnOlBlW
zdUE#fn{@(}@;|}muDYUbj(e5jI7f=~<V?KZwNpYM)|nGKpuV~c6bgmf?RE=hvssYK
z<yJC)AXY&EDV0i<7cdMhIGykE0$5X0f(^(fWGhla1Rl>P!Dh3If)ZpKQbgWL3FOEY
uWH+Le$z<ioG!nq?3gj@d2PsB2in(7)!2TJZNxp>u0000<MNUMnLSTaD?JRfz

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__arrow.png b/interface/web/themes/default-304/icons/x16/light_bulb__arrow.png
deleted file mode 100644
index 563310a894862e323c6845f05b18703a84a2e748..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZILmdA
zZAepL6vxk6MHq!8g?<PkBPv~3Bua=5st;y_Mi|(#5-mtwlHyBc8kG*B`C86&h~?`f
zOI@i^Lij~tt+7$w&E0Fh%xw*~b!9f`!_&FaHaG3Sk9+QO?*Di0y+8;7j;{OQrMnCc
zA}QEsbRr$4aH0Jk9Exu?Hzvp}D!htf>!;vIr4}GSz(W#-8V={rPSg#szxvfbt+FqA
zb&;~aHoQ2#PHSj15rSb=OdTWg6W|8GO%a0)k%i0damMBP$gu1iDqo>oIQ#6AJ6Sfi
zyeCU;y7ZbR)iZ=(SS5I@5qSl#?f^%cX|ic}X=&ug;^KQf%MMWIdYM0xAB1G+2uc0w
zqd-qcc*&^BD`+VK4zbHMVr1FAm9X93_C2#fz7Tu&<?j=v9q!{LJ<BnzG)Ykt5_<EU
zDlBKv_XbS`z;WAQS5R|vkG`2q6*`8wrPFGYCXh**7Sqv%UGB)wglrRas<x+hi%{bG
z2ha0><FaN{+{Z9^(^_pJrO}+y>vU%(4Temk#Zo<Uv7*%yeE#Y5=9Fd;O2AK0n+s5r
z1L3mbkaDY8uBWJUhN479n$D$7Cdrgz;jKZMx2y8ORXDIIxe3-4RA&Q7vLLbT$*~%z
zLott^!I;g`DVFV@Z<R#XmtTP-1lAQiyapclxJ9fUEgQ1gnrCgc7c*RsK{3MT1gr51
z0tQj-(m1KZ(PgpQJ1kt!odt&d1i~o4!Pbf!L6uHtkJaf^Sh=1%^UU{#g0DORPo<vT
z4cTcCAP@+yE0s!8RaHg!e7=lZz_F$R1zZV*!W98c8%b~PhZO<*uT}{*AX|_fNEjy=
zA0HzvE$tpb7_t)y`uFS_0UrrQ_90O`9xo0VMs#?85;=<OM?#Q|p8Q{oj?z@kZ$T#j
O0000<MNUMnLSTYmH%$ou

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png b/interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png
deleted file mode 100644
index c82a99c72d97421fcc3bf95aeb6d1d8830d1e7e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 751
zcmV<L0ucR)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008ENkl<ZILmd=
zdq`7J9KiA4aRy=ql@JIPk_Dy-_5vfJkx2MQQPBEB$SmlEHO$^&YE)_nniaX6wlrV4
zbWZ0pvqE#urm2^;E#1)hm}|DpYf}s5bk1;dmLB+U&%O8D@45E^#u%uwByf3?41vTk
zGCxyFl-z~m?}R8(S%btxECEjNPXG}I8ghcJ4y&Kmu#?r@KTLuyjq*yZykbq)lsR{z
zOSY=uOEvN$fN}+j69LFh!Sy*iZv38A=<W7qJ<Cco2163l*BL%Gq>7oHvx{-RBI0XD
z6*?@JAfQ}<*LQ%59_<%4PEWTCPEFNmS++(qGV*}wZ1S^B8q?=_JRY_fl76*Uc;vT<
zkteYj5ZwfdZ@0G$u&mVau*FjJP2I!OGi_lrlOu^3$a16R0#?=s$Ul~$h!3T10pT^E
z60DYTx~pn*G?mfm_{`_p&DKG6%)FX8gllEjG1JS%y^8%4%|%GiREUr(@H`%<lRd3`
zsa_vH)YliK>1^9O)L!R5GpId?b*kNtH=swIY7hSOcCEbbCEDi-Jh=>zeF*{tw|r7e
z#(b?t6QggD__G7b?Q^F7AZ+>`i0wabJC2lA?q`y|KzU07kK+K+&q7pD#;$CewS4S-
zRTx{Dw`o=?+V-a)!`qmj3hGynpxvo31D?48_fLZp=Uy!EyIYeR%;vmdvpLs5=P9Rv
zpP2w0;Y0GT7Ldr|Pb3T6g%)RqXIiag;}%QFIGxjL^xldAZs?N0>eTbzX*QeKWV4l<
z=$u}o_tGu`9En&a;2b9+H$q%=FocAJoRi69I4dg)b2uCU-GFi*M<bUB(81+$9RZzg
z09RHvIRdcKa0_@4Uc`FBmj)Dy4lEKCI|IJN2Euz`?SBCdv5we6gd&8(iAI7U=j5wl
hC$W|AAv~SW{{;f1+ttnbJ^=s#002ovPDHLkV1mm*VM_o2

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__minus.png b/interface/web/themes/default-304/icons/x16/light_bulb__minus.png
deleted file mode 100644
index 4cae1dcde99fd14849674efac125829744995882..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 691
zcmV;k0!;mhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007dNkl<ZILmdB
zUr1AN6vxk6MOZ;gij<%~mXsz~&{IMK>%n}8B6^V0lF|orjfz}WbCswRY-*A#i)qb&
z3ry#*8R3fr2_<7Az58>oHN9?Yv|X=E-P7&-R$KFG2R?A_@7(X_+&>@)0uXxCkf65)
z4j^Z+FYQLU?!&pxdvLJh4uJ6(fC>K4jetlXL5^Envu;jLJ{{!e%;P@;`mfIMDvP-}
zL)ET=d=yAl72pQIP1)~T58aL~jWLnPM~3I$QC_dwVLiKN&XTn=+ACYncCUj841OVW
z0X$C#-c$pjh;_FOFD#6FpPwIc^86shvUQHv`!_Ex78eU*^e9OP3{^l-L?R;|o*#&X
zLm}e?!(4Z?pHAm=nX;vp>|N1^n}F3|kWica1Z}r~a3dTtQ8P2O-^gYXw%ZFQ5jRaM
zXfE7OJuV0J-E;ul2b$z>@JtDWi?&h40K+JM*zE<B&33}+aGY|xTvt4Pf1}s-Ni$Si
z3S|gXr-=m3l>klGAVaT8)dYO6oD@~eP}BtvO;^$^+b|XW)$h_Ox79zm1eux=4414T
zXsiHexC#ZvCr6sNuxS=wgYo&aQ#@~;?PxgKf}z4hSS)yS8RAHBi(-7V#u^O1oDK$G
zcu9`|1tMK0C`l5C2DzQuJZ(7K;}3<p{G=ym;_xzoJa^e(V_kVlJ;%KbaGWVXdU6(@
z@7@9bDlUlE`IFnBq9_}3a&pQn7K@<M=>(}%swWEwD@rUNC6~)%0-E*+eSIHd0{CAg
z3DzJR5E+t21Y={L1%sh8F2FwzTalE%_pT5~kuAtxBv&Gl<RQa|1F!Ru!^l1)6<Hh4
Z{{}Z&t$trEMD_px002ovPDHLkV1mUdEh+#2

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__pencil.png b/interface/web/themes/default-304/icons/x16/light_bulb__pencil.png
deleted file mode 100644
index 5864514fe8f21fb978a52567a62880ff988eb66d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 722
zcmV;@0xkWCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007+Nkl<ZILmd8
zT}YE*6vxloyb!xs&5ZO)riC?)l>{nAD@hRR!YmV^FCinWDHW;JbdsnT%rsHUk7=pX
z1<G`k%P_)_mL}!MHqtknpL4aXSLf{N?L4D*xrqmUaGvKp|KE9lWmzC}7J`SaB8Wgz
zu+LN>9WprGeh>Dx766=0ONAzpD3+$Eo?(iTfRBJej`Y{<yE*gqQ6KZWcWlX0|Isv-
zr|qo{%WuhtgtRlKcIU*z$XL0Y)lk%1j{r9SZW6t$i@g13O;0<WuW5$qF`CVVhKY&v
zN$XN0t$iHYoSt&H+~snyi6J2hB|xG_@azr{GUmQD=vG$;r<a#sm>8zdI5$^n7#~kE
zejZ6$7*K`(bj=sALZMJ55D4}+0v0Dw<^e(KbPi53jK&?d+1e&(I>+$gU9@?iE5u2{
zHFqic<T3xFd_Et%1P!-<aKmm>8)s)rzL3o%JUSdVty2ZL!(DX|&Wdbkxti(+$#MQr
z9lcIan+t?<pN6Cwn$G<}zO5gMrFE(u?r>+VaINp@i8m#gkc9w;M^Jqopz0cg)#nGw
zEelO1qwzegX%^Yo6%(tf4RsktioYvzgUX68!XEhr01hv~!)$=^%aGLe;9!-*uAV1j
zg)DMqe6-?MYx$uX3?#1)dkOAe0uCN-k&X=&^;@ltGgj*pGwJcM6ya?u@EM5P74ZtY
zy>roK>sTZ`x$_Ns2_#~#!Pe3%0c8%ybBn{Fwve9Oar4k!@V__#S82z0LUx7-qN1X*
zv|24&Sy{>Qc)WVDfUu!_1*9YriCZu=HOY2&zj6y;vsx$Eg7_obkzgXw>)*3VWjiMb
zMg&N}zqcC%JY*XpM8p(D#Unbzfae6{01}P_B7R){FNRUDOQ8P|asU7T07*qoM6N<$
Eg14<n;Q#;t

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__plus.png b/interface/web/themes/default-304/icons/x16/light_bulb__plus.png
deleted file mode 100644
index 7496b6d66889237ba46cd82fc98b3f634ba2a6d5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 712
zcmV;(0yq7MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007yNkl<ZILmdD
zT}V@57{{NrtS}RE8Yx|bmgMHZg6@na)rENxiFF};V^-MK`c$ISFmzDOkIHW|$#22Z
zjnW8jyh&JNY?Nnn=a|#Et<g4*%(ko3^NzN;X%GB3&w1bT|2^j%c!A?MAPiJMh`~xY
zfSktuN<Y%~7z%qIK_(0)w<4Orbs!0#GZ7$4z(bCXHw*7B%)C^w%VXMKj+SpmZJBzk
zF}*ytTVN`7-RGbuNdw)2NC8d&oFw|xob|x(n`XS;FAU4Rr!1BVLxC!5SvV~6Cv_%U
z&p1ms3~B;&B({bG?;Zl7$U56TvAR0>b7keDk!4ks)mmfN|2FkcuC0KJ23{v<LV~U`
zAjrJlNi)li2Er~^&ku&VWjNKJ=E-Q=;}g9R`m-!YICvhf3GgC5{08m!fN;m{8ln~#
zpMEEkNm#GXpFw76T1E?-GJUCYA`YtKG@#f4C<*_ACOHt!>!xI*3?rY{>+>j`?zqul
zI5}%F6`Sq$dP`w*u08I0%sfc9w8HJJk%C4kK*LQ)Zz&g4Ic%Lqin_p1)HyRvOKGcB
zG3WmM!K9QY*FL!f8E_*8HWbvC0w}IRUeB{b4IcN<5`G3_vnl6Tc5JCzarjl$MaV~B
zLqYXr2*SrHGVN65xYOCO;B>ZGNRL4o!Y6{YgalC=*}cjfrQ1DVce(oPq$g|9;Rt~w
zJ7Qyd&9&HCk7wB7@eDagPu7C_dv`;)f`VY3J+TW)i$ow6i%ZmMHCI<x$MO067BYaa
zuA&8`BoawLK+|S!WaM)|0RO8sf=$RaWG9kB1k=-Bxvs9>pdbao(*v>po?R#4BMC?v
ulFj4sa*zqcfcM9cgUCJvk0ERh=Klis8?p>P*BB`P0000<MNUMnLSTYQAV@s`

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_off.png b/interface/web/themes/default-304/icons/x16/light_bulb_off.png
deleted file mode 100644
index 496925d75d999e39bb5c70d466c4cf7d57260013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 690
zcmV;j0!{siP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007cNkl<ZILmdC
zT}YZy7{`yfi)~l?fFS5<Y!HdCT?Qk9-3Jkhlu(o#n_$ktNOu!6*%uQ<2xc%-L$g6j
z`7yG+TWu~=*IFuMWtr7$IX_C9PImL|IkFd`*FErq^Pcnkf6sa0Ac~?8#%i@zvDs{B
za&oc>=$M$8=(SiZy=Jqy!(cEpjf{*SwOU<;&Y?2`7KB>ep7*lt<enpyFZp8o1!6fG
zw^?oP9_n<uRtU3d3XDc0GMP-xGfvl|lk%VS^l>Gc%#=dDSk^lg*!OItiov%AqfDt(
zHV+LAF$JTeqe!pU^R|<uD^sYfk-75nUbg&gX){Nd7k2FK?+3HtwYWnrm-7Y(2blt`
zR*N(mjVO0gi9)a%-Z(f}oC~KtW1kXJjvzU+mn{Vc1_tg*Bod}TrBb2c;o*L0!c#xu
z$#daD&-mx0V|*cL_pTm#$lR|*kx0}J#S|zM3Ix|{Cww6j5lJuLYvai{>|9PcS9gwm
z^I!ZHp-|Y~-QCR;$Ye4kl}a1siYMaD{k(rVM7r$(avCPPL-9O8W(vUvVzHRd=Qjei
z1@M2UudlD=+4Gl*-ApMQ*vx%cNgNTWqu<e|N|l1g<F(*$O+i;z7fqc&Am}9Keb)6<
z(H|p=U-25koj@IcFbn~G@Q)iWUcG+2lPUd3{4A~DHQqbj!w_&doYR5}Jv}}5ceCXP
zJf<*S<30MkzP_F*psTH|t=h!pa__lZE(+cT#b&eL-~kxA{wts*Sg^Gfr|fobRe;V^
zEkPY{9=HrNU_l_TM2(GEXh8#T1-OWNYYEuECEyxxlf`1)24;Z>eBS|X0oQ@6z&Sei
Y7co^N^|v~Qa{vGU07*qoM6N<$f~s#l`v3p{

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_small.png b/interface/web/themes/default-304/icons/x16/light_bulb_small.png
deleted file mode 100644
index df440bcc74bf5ca510ce80d6a322722cc2fa0223..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 247
zcmV<T00{qyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002KNkl<ZILl-B
z|NlP&C75Aw8nB{{fp=v+gWvL6hRmfk3_<hD8Td#t0H`VO_PM(0Z{EzidT5*R%-JOj
zkt7)~uZ*D>r1|mV`YTtj2H&2L!%#<(0aNlB;`VPfTLRL2Y)|NlmSl!hk__lfV^E!3
zF53R$MgRSYr4pSD@eFDt8344A0jLRRz@+;i8i+}Yh0xGY1|1!pv{kEC{paT9p2EOD
xrUB>AUnbuGZ6IJ|WIP1aYeBLB!yqq^f&u3xz442_FmC_=002ovPDHLkV1gu=Yh(Zb

diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_small_off.png b/interface/web/themes/default-304/icons/x16/light_bulb_small_off.png
deleted file mode 100644
index d28c98ee6d56b57059a411d12b5c243e48dea6d6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 251
zcmV<X00jSuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002ONkl<ZILl-B
z|NlP&C75Aw8nA5HGTs#{R`@MhvLtQ({P});eSN$n8359B{>rV1*PnbkGJE}zrk0i#
zKavdS?(R+lX+C=6&F&RPA8*LZ%S$84fYQ=Zzey|hwy!+;X#J8+2fJfpVn}mAa&oe4
zZb5O@h5H}&W#;5%hlPd7l4L+cL<B=<XlUA{hadKXXdosn7C;(wbac{Ity=Y;o11$I
z0|Ntj2An^CnS2AZfq;>b@eok21<3{sgS<cr1^`qt#(PwI2R8r!002ovPDHLkV1mJt
BXN&*<

diff --git a/interface/web/themes/default-304/icons/x16/lightning.png b/interface/web/themes/default-304/icons/x16/lightning.png
deleted file mode 100644
index be7e052a78fddee530a86072b94fef8de06378c2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILoEa
zPe{{Y7{Kx8`ArE5578psAqXNPjCQE#QeCP;^ao11cn_mX1qDT{)<9&Ce-Ni>>D1Yr
zo9>S;%eFP$R&%rFC?c|%xrVxMv*|)D_V)aiI|T2#^uPz+_l4*C;|Gi}_#b~=f;P<A
zG(LdFf8hqkESMFr;_0c-nE+d{vP`;%=owqJv&3vea=1(4^cV#>H}I+-MS|aqnslOd
zVJ&`_t<5XguS5-7h}CA7iJSubU+|g`d?q~j*1gZYnrvpv(QE9-yo$wVsu!PiN?hWy
zvs-`>L!Q8h0b$gD_vRuuqKjXyveegGEH<h9-rppQI&^~kg&rY?8*n|w?LM<~IQ^|Q
zlZaeoOS39QZ-X5C!1FG=JUL$eaXGGLsn{K&$XcRvGOAed^hsR~9Udk8fW1xPHfaP;
zca89}Lyi7OsDi!s9cQ23RQz-qwtAmxv79~vc>_<{C17qA!16%Y?>3bLro$)Mbof-p
zZ7c~6Jj6@(HiRMVAKbv;BY^@asth@HeV+Spn0YO-cXYpPZ9%lPB8aN4=Lz)GLsoAC
zbj*Zzr-DPpQ*^HHYlK1yWEc0AB8bBc=<b6^X3`Y+C!E`2bnevGL6PzbK-v0YZn%N7
z#{k-^;e2mn;cKlLZ8s~Sc+XDY4mUuvxk(9iEh=!FI{}C2E*0NM5!pyKkOCs)3+$jk
s@W=tUK<6@2D!vgJ*|HuIBa+<CZzKpXJ%zQhPyhe`07*qoM6N<$g8l*@EC2ui

diff --git a/interface/web/themes/default-304/icons/x16/lightning__arrow.png b/interface/web/themes/default-304/icons/x16/lightning__arrow.png
deleted file mode 100644
index 58d746438837632aa880a7195d28380411ee8e2e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZILoEZ
zT}V@57{Kx8JyU|rATm-ff(WV$Q!g^TFukcRqVL2mHWa!D%We`0jIc~X8KuTbooRl}
zkLlF;m85e`=W1=o&1FPoQ`3giaGD>X7Ct>^FyffdMF)Po@AIC${~bU?_#dLd+QxhW
z_;%L#4<HZ)-e{SZrIno?wV$!zN-M4}*ONNL)lT$GDdxJXCB4Q*F4FgBqQL8BCg991
ztZ>=$barj#F0M^y;xA7g&bsowmq{cAVAH^WhJi`Ljtm<j46Ad+xHOrDKc=&BW+Hd~
zMU_M^T<)#mpij+#sfl@s0)1)*{c3j4?YucT|K$cQe7%LPk*x2{MO?p5#YMiXW3Z7Z
zps!_nOf5m(%ir?XJ<cn*IF*fb*0Blj5e0gxS?UO%@M&pAjtj0kB-3k=_H&b&E5@cE
zy-vmA3HXQtozEl&O(AEj$>UyC%9+_|m*RWVar|tP{?w~?4U|;GCL~vAA->EFF^|U}
zJm;-A@Vs0CEyWyYmE2*2Cd4xCIEmwqQ|pGt5NmrWyBb$IrKHO|t+Gu69c3H^m>|Wj
z+dt<1a1;l$q3>wEou)`-bct8G5QQ~bF)I5jQ2z+L8Wd1D;W)Tp?Ft^fB!A$H$Z-tP
zkNJS)2433a#DWP#VLo(!NG1xX9)ciLQ|M<N>fP<4eN~)l%$+-qczGBx(f&vJN5p*@
zMqU&+dkmmF7cMqD@gJ;^v$l*B2oAa4r3}8-$qR%ph^}<vc^jfI(>w7O(6gf`3kpiI
zL3iN<#LyfhoRL7XHBee>3+qD+l+_JxPg2V$0viK+DPWC@f<)SfkpsdR2_-xIV$;k0
l&z0C{P1+Kk0NbLZ@EZ(LKnwMX(Ifx>002ovPDHLkV1ls6Mw9>m

diff --git a/interface/web/themes/default-304/icons/x16/lightning__exclamation.png b/interface/web/themes/default-304/icons/x16/lightning__exclamation.png
deleted file mode 100644
index 52b49c7d8e2f87853ae63c5aebad277a7a81314b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 714
zcmV;*0yX`KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007!Nkl<ZILoDz
z%S%*o6vw~6-@SL9cbw5tXH?X5C{f5ZMv93NNrVb+TGT3V(M}?5QBbQW$W8x2Em|cM
zS=MF>DO!lHp%!LR1DZDZm~kF9bLaPJA(D<piw+#lIg9Uy!+8*;6#mEby~Xqkx|_NQ
z!J~g@FB||!xf2P&8Gm(OZC&HQNhPuX6o_7gMEu*<bolD5)1ihOc7?wIC?Pl>sO<}}
z)EuBBsNq9$E4DTBc6b)R5P-<8hVBIj2}p?+cX4x*PDDxGN`b>bJd;mOzZsqbFr-lx
zkrK$W9pBf15C8#s%c{?XvZ)17&52}6rY6HTKNfj#P196lx6^$7kRb|z8oSfq>M5$I
zvQqQVY$aHjy8Yhg1pwUHv#{Pnw;%-i%B#DMD8-2GsDP3TEuFV|2ndq#PjWRnz9~fh
zfe?Q*WbYlkdZ<rib4s&v&^TB0boZrG)~_`f4nL2tj3*o0?%Nh82cJpFuK>s$7$PC)
z(kMFIZVcAe2dPFAaG7?s{(WMlIMB*mu2PRT(A6j;y14+jC;&*Q04OM>TD(3_nZusO
zN_2LfW!I8{nzPP}m!F`tqWzc@q+f98f)@ZX841f$U`)07%cy@jx)|MD|MAmT-kgI-
zdq+n{k<G-sHdkE}7wBY#0L}r<QAstuA-<7Ff0>VcaM-cr4IU4zCZ;g{@;WxG&oD}Y
zM>)p@#z6J~MqdMrp-n1cL}u1zOp`oynxzfUR{S=)fu7zGxb!qk)AAb*^91K;-3NFc
zMsdzU$5xyr#=`0@W9TohEDAYk45qP-?ado7jcu4l2Ei(CJ!2Tq3qH&Tp#AX}M&3;!
wQ(vRBc;f3ap;)4T0=XwCfg%J7fT9$+-@q3p&RB{>M*si-07*qoM6N<$f?AhAb^rhX

diff --git a/interface/web/themes/default-304/icons/x16/lightning__minus.png b/interface/web/themes/default-304/icons/x16/lightning__minus.png
deleted file mode 100644
index f5d04caf25c843ac2adef4a993a73fa97bd716e1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZI8UX{
zTS(JU9KiA4@5~4aAEHINhal(*K|WOU(&eFg2s0?@A;HHm>ZKlnF09#l5Ft&ZIlIi;
zbeqm?-pXuS^D<l8YK<Zy)66y0g_})RYO&Mrj28S?(L;mJIOlMF-}48~Is6aF#@C5y
zEB#&A_75OP0#9w2;_bjAV}SxMU+Cb;gpn9HU+m%0$?8~Nlgu&L#`4mSNdiwSC@_x|
zHHqk*nWcz|FHI}?_h<#530J0uNgf4$eXS%gWJYkCao0=NcGqG|%jZMq`Il)mk4%)!
zK5UdZ#jvB9LBENCyB$*`fqoOhfC;Znja~@NemKYDA20FnNa<%w4I8lQS>9s<LMBPT
z*@ElbR(W6IQ)MzbdWz3YsyUr?|ADxhA_+Wd!ZRcO!ngC0avl#~CCZdJTE{}lg~4{Y
z)2_#T1kxmd9-Yi(*090m3O3wOj-Js#5r6GI$lpCL`sOsP8S1UaLV5&xFC$pDA{YRq
zf%|nbuxc6DYS|8#IoCTLJj};~`AJt>uCMDZp6<~hSZJ`7=7iq@-S-#;P$&u5H@%;F
zvxg7a6t8H1#ZrKn9{g*-SOqDq)zB~z+!FUa$Qh$`m2o5J=(0ak3qY+TpuYiv!mP>i
zyl|`y)4H+oEM#lx^4H>Go=Kcb0!I%3)Rn>U)?3S-)t6)E#S+NL-vDr(UQ*HJOyXP;
zpx>&RQn-0r4fbP)U^ngM;*4aI6=XTdBJ3pnsl-G^U_AwVdw0SKT5ltp#TikM)jvZb
dA`_SQlOLMg3V2VZm}LL}002ovPDHLkV1h6GG5`Po

diff --git a/interface/web/themes/default-304/icons/x16/lightning__pencil.png b/interface/web/themes/default-304/icons/x16/lightning__pencil.png
deleted file mode 100644
index e9eb9c9b6c90cbbf29c3eb09ef9b39160a42e8f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 690
zcmV;j0!{siP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007cNkl<ZILm#~
zTS${(7{Kx8`KBa=SZ1WVC>)lN7P~00i_${8SXofBo1kkWp%S_f)D$Bu$OGc}*qqJ7
z)||(*IS&&Fr`f=uG*q-z3Tg*!X5rKGEjMQ_ANa%jy}a-5gO3je5Thm#_2pq<r{dz`
z;6*ipr3qoEdHaaS5f~7ADJ_j|MMR`1mCBHHU>6^1*e(}P2@n$_m1f!Pc2X!537sm8
z95i6;#K^@#S~1YtaxJGJ`q@egpYj$vt0i6L20`uu$^gLM-~YHwCQGq@Orpj@Y%|xR
zetDsEeswO5R%cV`_d*uU+p-;(IXMHc3GnmtgV=LEXY*6hBqALu-}%|GJG3;DNIzyX
zXl^?5ONUBg5-)ev2+&*S0XQG!0}m4+y7WFyiilY!qYtCk$u^$;^;x0NXH*OFZViGn
z7hrmd?j2~U*gdQ(K12>gA4;8-*v<Pb|Fi*!U)`;n<3q}^vEc;L76lV6y`#RmDEe-@
zM~gG5D`s7Q$*9IiZUbnmlDKNEko0H^1anQ6Fp!swZ?cmP@(G~#ude+v)$QwlUWH2W
zMVo+jzUZv2QUdxS0UC>i6Fu6X!6~bPrmPp%dK!W(&1HC_wF3Fv-#h{><pKjJ7C&M<
zJo)+UY3gs3j`DM|p#-t16hZ94T{oaMcWd=|@MPM0<eQ~EaDvylx_t0vz;W?dD1taH
zK>c`2Qf-0P%hz4|ZM;@#a=<tJHbD6LMd!Ex_qi0!zjh{Esn7Qwu6l$`N%0VPGz2`3
zM}TKfVLIfLWPtH<3`FpAfVju`ayz*loEInj4+v(!a^@sl<#jk0D(-PoZtprIA`&O?
Y2Z^P;VMdMimjD0&07*qoM6N<$f=7x#MF0Q*

diff --git a/interface/web/themes/default-304/icons/x16/lightning__plus.png b/interface/web/themes/default-304/icons/x16/lightning__plus.png
deleted file mode 100644
index 00980e1afbb16969433fb49ee5f2c2d0634ca7af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 679
zcmV;Y0$BZtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007RNkl<ZILoEe
zTS!xJ9KiA4|7<HT9j23X4?!;#Dd<B*Jy--~5M9lJ@HIr~si2^!mF`7`SH#P_t<9O6
zPUp4Awlyy++m16SA~G*+jd{V%yo6f#>wgZMhqHtpdiZdD{~zc7-ChnLBK!~0!P89y
zyVxGm_7A`j1>SWMp1X@&m>Rq2#`P}TS~F2Ch#P$v3RZ;sn<Vz3HYQE@F;U=c2jMUy
zR#LSVs$1Nge}bEHD*PQP!Nou+f0;_70oXP$Y$4#XkfR@*sm_gX4X*m{;LkZV&ie|N
zUK%70?y|j^fdMlEu6Du`1qRFn2F;{kcJiKo>Dz5w{{8?16Zt<ns+mEXkx6^qLLibT
z;CM#%x~z)+wT05H&}0s-1l34)z1skRDDbL@+?rsszO2q`a5?apQt?*k9QLc$huRem
zn~|KPKp+bAHA<Y8DrTs;gn6Uakdeu;Z2aUpgI~SbzZ~X-VU1x&R;no$z?=YJQUEl>
zi387d60p`V(5Yn(J1t4>nelTtGk$){*_Pz#sV8~#qLyO$=XQbK28IR*CwI)Ye|q+F
zIu3U#KhpEV8x2tej0*N<=q_?k(8vEBFqH$ZwF30M@q^2r7l~7JE>EtLH`13`&b5Uc
z6lSQ8(~1JdV&Et(Rnn37_B{bQ8y=NOW1upYJr&HvNZei&xO5soR|r>ID`lfkHKhA~
zE+ig0D+MT)YoSQaa#DQhD9rp`^ko6;uFi+DS~b`*GvF9KE4UpMLq$PBv{yNujG&Gl
zg+jV2l0#%*9}Rd;9D(a}PN5EPJ4#8#!)2Kc@?>7PBCCbt^q*zygg+*N86T871H=FT
N002ovPDHLkV1kM}H$nga

diff --git a/interface/web/themes/default-304/icons/x16/lightning_disable.png b/interface/web/themes/default-304/icons/x16/lightning_disable.png
deleted file mode 100644
index 94e24a0bc71117e205fe220ad9173f07dae7a475..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 553
zcmV+^0@nSBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005-Nkl<ZILoDw
z&5KfD6o+3cl8Fiif<PQnauYEPX*DxNQxrtZkPX9V!X3Mg$h&eOexPmyMFc+<iYWLk
zil4X=*Y5Ox5Zt(Mp-UHTMC^A(VS=~Wbl`z=&gDGky@#w;EAl`5RWurnE#hXgNpFKG
zs8*|MYPH&{e!qW(-Z$`N!|7x)`Bksi1%ZSqD3wYAqH?*cn@*=c(Nlug;CMV9YcrV)
z#diq=>|e;|^Q2HHJZrbxzfpez2jFlt8eN7$AsUazCAnOV6pKZ+AeBmybUJ-D7z{2p
z!*7Pe;f2%bq>)HOl1wJa7N#JPNbF*Rak*Tcpnf4d9X-l`Er>>=AA7ytCGrp8-G;Z|
zXf~UD#|;dzSnN4q3p5%Hy$O0MpqS6+C)sS44~N4CSVC?S5QD)$TrSrhwsGj~FBXeK
z9G3I@{qF;T00{<z1P5gcc%CO7k4NCR+wGnUFQ`;1TGU^?Ua!dK^AQ1~(a09qY_>HH
zheM0&e{Qu}=g5D!-R`>(tOw<CIT3;>Fq_Q+kL`B*b*IxgL$0w{EMku1h)gCUH-jlq
zDwV`!GQG4~tvsdlO08BuluD(96-)tQ2is2ddi}LZrP@RNK<EK6xDW1uJ3#a=!LClH
rqY8y$ANf=8MCgG>8<}`3+0Og{eOxo0qef=Q00000NkvXXu0mjfdII!r

diff --git a/interface/web/themes/default-304/icons/x16/lightning_small.png b/interface/web/themes/default-304/icons/x16/lightning_small.png
deleted file mode 100644
index df0a425d5ec039f637315c3694da47c45fcde99c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 304
zcmV-00nh%4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002@Nkl<ZILl-B
z|NlP&C75CG8E|?NBM9@H+03{G8Sh%myq72gj;~{6II*5F>cJ_?bN}D9{Rd&7=6yiy
zOq2nKRx<J&UCXla+mr0Czh71SUp<xS@Q#Jd&ij@z5$A=yOBrLY9n`t_?P==&TgQxV
z?OVpU1%`<-VBHL+!wb6^kI!mhJpJim@P82Av4C;=&V`H)L>aJt1{1^j>5SS3RtcVb
zf6wjzrdf=;H_v8t0vbY`7nb!iFszu!5VL2w@Wqvr7!IzQ%-{?(gn?)S7IZRz@FXBU
zwy=xA6=(<pNe0YpW&q(+vsxJ3L57iRz%a-Qq+$RQgSxuMjBPLg0000<MNUMnLSTaa
ChKg7K

diff --git a/interface/web/themes/default-304/icons/x16/loading.gif b/interface/web/themes/default-304/icons/x16/loading.gif
deleted file mode 100644
index 19afda1a39b4543b4745fe34a973988b77787f4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1460
zcmZ9LYfuws7=^#xY+w^2ECJ)98QhSI!A1xeYZ%(;5<*BQNI+95RGV-SO0^TJRysrN
z=0Ywu2vRSolp&xMZDjzR798zt5D|J2tkzM+YGBkVc3P%R75!sZXr`Bc-=FV2@AIB>
zvJE<Qngs(GcoYRDCMI_5*Z}}AnM?x%12Hi%EiEl7m1=r=+U0U-wOX-QeC*h<ii!#r
zi#0ntD|#NWCTrc=%nV~zYLb!#F+W955rhk#0|oPDhGGC9H8Z2`swLZ}!v&-r7!M<8
z#FS^G3o1*Hywqy&q&hAs>ptg^zYzUaQfRMHPpLTdW5y1myP)1)d}iZGC%vL8L&D`&
zey8Rrc=r$<-QJTXrfswm+{uqYSx{8iI$)IoNbKe#Wl{t&MZegB%>_~OTSU!mv0-NP
zspeD98tDOq-DwE#Q_~4pXSt$YWW9okFIYI5{RUP5Qi`yW)7KoAQKaZww`IJF>|A>O
z{%VUntb|VXn+YC|dM3Z70>~p%%=oZ$t53A`W8uDP@&6PtMj9Z+jACv_(aXmLnrvAb
z>qn8pvktzJ5<}_(0V=0i2sfdx=7|=r1ng5Be{Uf-iEqCIM(VnK)Eh$|(P#GRI&Q2&
zP!xW4qFDm02<1!pJ{Xnu<dd<r3I7G0KQjZExZqqWp}HE6JQfzaRe0(`Z8j>0^#&G^
zW5#z;xZOS-P5dl#)_ZCp`aRTc3t+3b?C`3}mJN&TGd6xTd?}M0?9+ZwaqF(~Ox#zT
zQ+Xv*KmERJ=b{iG8ZtJL0n}lmUQK&ZWFj(l^O}e)XTz7{G=>Fi8|uDm>XdCRT888C
z_mmL6yWNqzX`r0@&0&Nph)$tTH0}x>s*6jmCt455LZc%?qhDlZ^Z4ik)PG&%GIBS7
zay>2ee(j4J2XdnX4}dlcJ6xmSdXqEAT#T{>>1KfA&cX2qpj+p&D2<Zt>pn}bTqVE3
z37S0{6Z36^e8`l}&L}kMD{+{`Hx|T3z>6d}fVado?hGyPcU<PL`8H!7XfNVBeUmy_
z92l%~CFFPw%Xyn>c$T<^BX{`b%7#JU=r=Fs?QRyAsunx;_Z?RY;V(uB??^Rb*R7AO
zQXn2zuxB~Shri5sT9-6zbJJ6vlNc+!EH<RcKtljx;xZSQaRY^k_KmJET-2VgAs|(o
zqiabJ&ZR(R;SUdSVW4HJ_iB|M#aErrt1`ZxgLO^vW)KB(ZV%a{mkT^j5*kVpg#Cu~
zuw%KN%w`dNwlc!<?n=FGu9yEbVjj`VAYvUw#Rw%`f3GIq?8LJZI89rW0ljz6QC->X
zmdQVGvJ`Cv@W?@D4`D8jr8LC#yx4l@ut*J%2v(<`#03ky0YkbFH;p#-k^RxE@Uh7^
zg%a*7BK_)rF#?8hz7%gU#x`Y9)$d4eO#Hcp-VPls^96?_NXOCGhpMbwRBpb|-VT>5
znRaK|WGSbGy_}93YmUGkR_ebm4MPVB!ZOZdvHf%x73onWSV6Rae_>|$ri4#~1m}zl
z2{N@XEIm=1V1zExSsabMwabYu&EVcfdQ61!Gx>_T#~4Y|1#%>n91af{&DMQTqRgOb
zZ*&lpkw>{)5_1zKah0?~>e+ZUyR<>6&Ui8$+*bD*uLA#{;=GL;XAFhZ*;#&X-vI|*
zSNH_jgV4ypk>OgAVv}0y`c?nFe3#Q51`vVX-#s!B9oBYJLC9-y&S27BQUzzZY=ZPW
et`q6Ee0W;o$?RN2DyQ3A+H)(LB)n8cGW{>_T-+J}

diff --git a/interface/web/themes/default-304/icons/x16/lock.png b/interface/web/themes/default-304/icons/x16/lock.png
deleted file mode 100644
index 755dd0b1408d8ab02d7e278d55010016bbbbebbd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 560
zcmV-00?+-4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005^Nkl<ZI8UY0
zUr1AN6bJD0yFci`mmsKz=*6Cs9t!L=f*$I5tQM@W?c$_*ShUQh8Aj?fr*uoht;7;i
z%ciE-oGtcJUC3ghLdiskW`7hBgFxfk@7$*3GFWxt1Bdf(XWUBw=zmauskY8wnWU$c
za!<TcdX?G?FXy<H-Tzx+;DX$nsNd20`BlYCa-ifB<Ct??%kHNxua>PW{lfpDFR*XC
z=9p+=9CMCq+5Hsp$u(h*#+uVFuY5P$o1Qcr7sNQ`9M`y~=bWTR8T9P3w8WL(^O71*
zh`aBiJ{T_1cdJ-XwL>jX@l>o7T;pFIu8=fx>8D>8c%tPpc=agV?>?)AT6FO+<Pn`!
zb}~7>=@Nrni}<uwwczwd3+nK(1IyDPe4R8fKU$C3=T(?|>_jT+#B9QeMbnApi6W>4
zjT<g7yL5~`C`K}J3S+%z@TR8(@vsevHXF<i8^*eANDVpuyx^ZM7%rC<_5TC8UZ6gx
z;Lt@$jPB^#s_I-X2)VUD*sWf<Lit+-`43yJ<$8htkO(T)to3Z)Ea+sRXv175R?_$I
zO<l1xVPN5P9a1qJ?-M${m^zk{I#%B5;9j0teYPmO_UBW(V>k7?3hB1*ptxRR7dMO|
y(QYrG5hccsWE|K@Ej*K%r95RDAM%%YChrI6P29GW>9aTh0000<MNUMnLSTZA=oM}N

diff --git a/interface/web/themes/default-304/icons/x16/lock__arrow.png b/interface/web/themes/default-304/icons/x16/lock__arrow.png
deleted file mode 100644
index 51b923d5851685deda4afc725145e05688fa041d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 656
zcmV;B0&o3^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00074Nkl<ZILoDv
zTS${}7{=fKJ{0mMD3Xe9q+6|vf@OC`)I}s1&5_Cq)8*FTV&yzE&6qjewA3widC07R
zhqS3p%xTsts<EbRG>LK@pwy%YDF`f{zQ3)LE_TreKX`eb_kI4)M*!%5p#FTxUknrq
zbhAX*G+H8PL@GjPxW>K3`%45zfw0+Cxvp{cQSmFEL;a4!XRdK?NkFGYvY5iD2fDX?
z#w}0E(^(CN&s^i);(fAfg<mwQB%J!Gho#>v+0i%7?q|f|GuODscY1OKx)y?NofZ}t
z73s|rsQLiA{A@@IOBU<1<}fm(i2>sLd^jK6<F7i41sXZ^gFgdQLq)>5vVGLvbzIWa
zpk&=mD%PQwlbg?VS!{rNcCDmQ3^*Dtz=Rna=3g}7^MnN-yp@=~ugAo71%g8gOuH1A
zb1N_($b=YB9X7z-sf71x4t(|_@b@0Wc#j&R%`&)JWpLYM@OQ}&98CLnK%@p`_I_k{
zcu`uZ8a!##kXC<~$XO&TApXBGQUkg5F05~Woi+Dnq~>7827{02qEhk`L%0T-3pVVj
zbz-mCiNxGSq<2rE`ZXXPdlJr!XHeWKM!H=KRE2A>yFGyNmq4Z;NFDpliKoE&f;%4K
z-`eGj4oX=o-gn^Z)D?UYTYL&w@Nvw9L#8?;>1^0mWW(0HW=JnhBE<`=Ry#Z^Qz|m}
z{R)xzq&R9z+erOcQfkreVCHf;J8#KkZSn*f5gF#JkyXvb-v(k+YiE}wD)U0O6eAML
qi$o$ixxOVTx#4ltc70ChCgwZ37V~0h)ZP660000<MNUMnLSTa0^ENdA

diff --git a/interface/web/themes/default-304/icons/x16/lock__exclamation.png b/interface/web/themes/default-304/icons/x16/lock__exclamation.png
deleted file mode 100644
index 6574515db6fecab273a38158807a444a567400cc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ONkl<ZILoDy
zTS!z<7=`yfJ9-Er2<jnxP%EeidQdPSuoCQ{M;jyq4Kh*59t<ZHHO11&tQ05H951Qi
z{jL*@qcfUfUP(ut%*>?0QNyrEDl%64pDb#em*~L9Ui|An>#PHt0bu_FYmHO>LZ2X5
zSBmg5rHB~G%?)B`MxOKjra^nW@b1ZSD||PSJU`wZwM>wv8F`xmYGM>;670_s7g{op
zPHN8a9D+2>$aCIjO=|I*qDY0fZy&h+U3+oslRKfD5u|BG9_=*53f8y*Gp7m%CQ0*E
z!LrZu@)?5~+A!Wy5W!hSunds;l`#(F(N{Z?1?#-_lRpC@4N2l|`dL<0dqvUZhx2+}
zB(F{jVuPgf!nmHiCbd#11EO68+``f$e4Eo@&8o%w(JU<Xr@`75g4c!+%o>kjy2BmI
zLw=9}*)9VHYr-*F7lHAnORzLw#`A_Kn2J<*S{jJq#=ZEsSbz!rei&0l?msoKKK94_
zhzjd#wOAMrM0bv8?n;yQMZ!9ggai5inXVh0L2s2OR&5%nR4S~#O+`<MGSOShw@4T(
z30HoR;i|z{O8}<Ke)wQZl=qgw{vrbX_3jJiD(-KplmQ;QI7>Y3;I^v<oe%e6&Jqf%
z<rLc6VqqCOj?q5f&&CR#Zz$t3K|XtSaCX6mmtv(F>-GwKku5$=X<_S)#z5;qyqP|U
z*-0-)13G6Xz0qB_y<cC<ed+z3lEWuFSXuB9)*9x+iq!!;R};kVRciQ*#q9ZYY32}?
zULL^OO1$GFruy7gDsy-_1#FY-rXtQ1-e3<T!>-V!v!T*VmiGf!)&jNw7<2>x0000<
KMNUMnLSTZCKsfXO

diff --git a/interface/web/themes/default-304/icons/x16/lock__minus.png b/interface/web/themes/default-304/icons/x16/lock__minus.png
deleted file mode 100644
index 1326f4c3bcb74c9807f3e5db28d14b1ca93e307b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILoDy
zUr3W-6vof{eGnl*l&g#ALc6Jz(M5q>7C|@F<ybBFinWH5>SEC{QCk>kYH74|!&zo&
zO-rY1Bj<Fnn`)GWl3o;xZrb`wL{VVz^q#e%HU~*B{NQk&bDr<{cwYiQ{{saol)ng7
zsx;<Q*GHYIU2-~uoqMch&*wCP$J7n6rseH#9@e~=2$sKQxaJ;fIR?FUC7a6Ry{eZ(
z4I7`-?-u76uDQor_B{C=>Tf!13e%RnfAYI)|GeR|djv6DbB{Hi=|7^<KnA*VLQNBu
z3?5afWv{sMH0*%OB8EI=g6d4tK-SM96=03OI#Q$3=<%QYX<!RitIel&(e=K=iq~xw
zH@!CDt2I)b>sE^hvF3Lu?b6`jYzB>Z)s30wUVNT*;r)0MQg>@HeM>_ktRWTC@G-7o
zX37j{&@!t*yw{5H8)caAAHd|`Aw2FcN3_F$Sf>H;ZUZL!3`pEI<u{mXg1{zu3nSHP
z8u|YX|C&HPsOEtpLDxv0OIGC<b@>vEZC{1p%0h(ng&1C=L(c+A$>j$<L>?+$BB*Lx
znlt$lTrOIKFPfHvTbghPTDDNozEaVNcRqYeUd30L;?tB1A09O#5wXIzLyuOy4sEM-
z@RaCKHJ{!(<+7O*$g@~dvbmVLOzS9MDW!{!t>S#WQCx7DMVE0cjY=ZS&J0^tkehch
jyHp@q%0cD`?-cw1{~6eE*@pVP00000NkvXXu0mjf8^aq9

diff --git a/interface/web/themes/default-304/icons/x16/lock__pencil.png b/interface/web/themes/default-304/icons/x16/lock__pencil.png
deleted file mode 100644
index 1e6581d84e5a9b60d39ed75ae38d4dc8ec83af51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 661
zcmV;G0&4w<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00079Nkl<ZILoDw
zT}YE*6vxkbUl8&p7?iMtu<Oc;0)uW8V_*t_Fmy&MYAz?)h0**#Wntt;=2xq<%@6zl
zr=?Dt&@`u$RvTodq*!4TrB>uc7z;E`&w0~GT|xA~kN0r?=l_4s^8yjU{{a2D(gp_d
zWf-=|2Rs%zTTr$}HuqTDJin#k%99UzD<W;5o)o>AbY*^IxaJ;fTLL<>rOo6oJT92;
zD?jwS^f=ZqTyu}L-)9F8i-2CU{EG&Y#N1l&U;b`Q54&G^5`p2Gd#v$H_eB|=MM~gD
z1Q@v_D|iIX92u%lVe3n`nXCrvtIt3vNfQC0el?U!tSL7a$?#T~HwT#9g>uyu9dvYE
zknD9vylXe1qc{ZuT;DX{0BgNw$tD7_LIqr<5AC$_+D>0*th6*<L5q)yY381u=G=N(
z^y=wLKu;^vr^$OF%rS@9<3o(y5D@4z()gVWn(RGCQ_k}=(Va=21}%A;wG?RA(o~oD
zcIv41Sd@<}7IGqv{?i8UMia<sOQm2iNE)@evI#%~gN3q!cz^ldHh9<?NA3nS1?Tff
z7a!qMsZ{&zAWoA}TBqbs8%(<rXrwJtG51*2RGlt$B*$!n`e^YJqjn$^Br04BwZU*>
z9Jy})yt%C`g8UsvsNg782^6n#)Y}ox#9%XhcF^iV8+{X7EKghM{a6k?XxXipyJ~jP
ztUHlbUl@sJ*|UCBg1vE3(2^Dn{e~E5G;8pBX$sz`HQ@v;&r)d?E}e~sr>Xm3h>70=
vb?jO5LbzZjFA@SWBw>GYEGC7}*c1K(f-c?VRMdU;00000NkvXXu0mjfwI(gq

diff --git a/interface/web/themes/default-304/icons/x16/lock__plus.png b/interface/web/themes/default-304/icons/x16/lock__plus.png
deleted file mode 100644
index 351141a82640ac9f490b4740175ff6b52de7769a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 638
zcmV-^0)hRBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006-Nkl<ZILoDv
zUr3W-6vof{eYA@$rYtIu2nRtI8s;Ccn=ZWRrn_K_Cd{(+;YM{~I8D?PBTdbeX1X^2
zuv+CTn={4cY_XeaEUQU+Q7CoMW-AFP2rN$TnJa2KcF_wz-ots$dEVy*M1=nV#%qLs
zn5-4yQKMMsZxkyzml9M`kF@0Z4ULI&Vo{)Dmo4_Z;azyb^pT*NdZcYIa8(M))JC4x
zeekp$c->mcx(TYOM_TecxXt1p`i%n78+mr&r{$#VVP_cwf@<oKMl+*TBHT{^kDJ6e
ze$H662wlh6jW=F1S`5r%tzgii;|9Eb>#IT1=+)^45oXS>^S6P~TQ6R@cogo8oE7YS
z61!(Nvf*Ye1gXAeV3VY|&4P^^oZif!9haTBwq(a|3l?0N?ZD`hW?Xon$3?FmqX9jx
z2KBf$Uyj_MYg2=uOTyW^6&QA(!nv_C_;S>Q{(cPxhBO#-YH)5ugNswT)CTDi9G@z}
zLeCy7xt<X=bt|B(QvontFUH~jZ%daT=aw1`D^<92P_--@QUUaH1|{J)EvXXdTm_it
zRAc^aHELoKZtKmA^5qcNRaQ`MXHa)I&gE1I_V(?@lE{$_Ku=}}=wxLuI8n@o@bfVK
zh}^{QJjK^}3x0Xgj*C7COC1Hc-<pm2wrtFOe-M>TTR%aEG6W`tmG=2ZAh$#f4qYCM
z8;W7Te286b)v_K-Idf?D!3@VoD68bFSxY&nsFufQC$S51&JGHa7Ncwcq%E)F_xg_f
Y7ZAwWaJLF{6951J07*qoM6N<$f?NA1RR910

diff --git a/interface/web/themes/default-304/icons/x16/lock_disable.png b/interface/web/themes/default-304/icons/x16/lock_disable.png
deleted file mode 100644
index 7d7881599425646001d03024fe5c8a44306f557c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 464
zcmV;>0WbcEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004(Nkl<ZILoDx
zKWoBJ6vgl2Qrfj32%TDJq3F`ZQKXbm+ky!JK?}CYAPPFD2nvD<E;=cq!9Q3;U0ek5
z1NbGJ{33$AC-@}QAuSF3c$ag}dGEd#+U<7qAE@1K|DfCL(s(?+o=he(qwSHQp?B;*
z5e&mXII>=^UzW?I3{XQu?_`5ot#(Xsv)Mcqi^ZU#C;@;P8hXcmYBU-q&1RGG`8@d8
zZnqDrs(x~q0BUIH!2_?z;l3u*=@jErEEd!Gac()N!w68bc8?xB@QU1_;5!Dmq33eB
zFRbZw+FY%*=)rr~U^pBKaEiqEY>?m;IqQq!v{b*}e;<uT>TEW9T`U$-r_<4_+G@2@
z;XV9?dc7{d1YYLO1~0rKN2O9pptoABRJB@-a6{qxc`z6}mdj<$s?Fzf8D5d2Y&I*v
z1Rmzf1`oU<M=qC(;_*1ZuBl`)8O~%fa-mR=DwT>akw|D(t=H?l!HW#C=I3-eDH@Gp
z0ylGGgBxCC#COJA`u+Z3C=}9v1H8!Wv*cjTnTtPyjN=<l>H7fyoIF4P0000<MNUMn
GLSTY8;nzU`

diff --git a/interface/web/themes/default-304/icons/x16/lock_small.png b/interface/web/themes/default-304/icons/x16/lock_small.png
deleted file mode 100644
index c2378e9788a3c21bcaa1dee2e68ec41e25c2a137..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 307
zcmV-30nGl1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002`Nkl<ZILl-B
z|NlP&C75CG8L+>BnPFx+BM659@oFdru^F~kGZSaP`ZBN~tLJ1gGV~{a4O_h=kBMjl
zGPhMRPX=k4m(94mC4%83h`ltQX&KOf0%8p4`S)VU|8F;^{(pVC<NuAVasQtkjQjun
zQqq5*0h5U`;Pk4r{}<P1|G%^$_y2*pq5n@V3H^U_OB8Vi?5t+)!sUWZWy})^8Zaf6
zsRNe_CPXv!5Hujyj&b_GH!J@Cd^q?2r^^%m-`|_||MkhV|39v!{m-#woI%il7(<4}
zbSuU=^?r<#CMPn^i_l}(3B)@h^%%BC=`*wsfuu}#0{{R3zF|ihe5C*Y002ovPDHLk
FV1k&mj2!>~

diff --git a/interface/web/themes/default-304/icons/x16/lock_unlock.png b/interface/web/themes/default-304/icons/x16/lock_unlock.png
deleted file mode 100644
index 3cd7b7b2986a92e889c55474f49c162444e57496..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 575
zcmV-F0>J%=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00068Nkl<ZILoDy
zUr1AN6vxl+{-B3mf}kF%7kiAN2LpSJz=wPuvjw*@cXgvACYaj%6NcK<rgbI5tz>33
ztytQ^Khwot$_xHsl0wKNh-UvJL?O^PopW&`!D#3YKHS4O_xIt;xfc)-b^^S)At6c(
zS4kKsSD>#{F`p@3S4tSGmD$l+=^}1z;Nl+7{woMq$P=;VL!I9ysz1iV&aVvD+~e7n
zg2z`C=yj#3Ouln}?)RL0-*`^6F<f(xXIl!oOBC=s35UtO<oM0sx_#Hs?ehW{uDQpv
ze+qmK0Sz_*trtZ1e54%pLebBOLf0fvUC;eH7ezXOg9Kg@w3EO`f&dAEbyhIy&%)Di
zTOM|3;(4e{=^Uw+SAryJQB8SziB0&W2iF#SxH_lf(quC(zOBQ#S1KlkRa}gzxNNAn
zHd}xsXdSJQaKA{|EHHXCoP1V{@z7<Qd0B$fFPs?lTQJsTL8HflGkq3J4BFBH<_Rr(
z+X+&@NR_!jPo@dz=kX3+myiM;Y6{bkX#$^J@%ZiZd5I$jX$S5+!L($Wz<ow|3CP+<
zm-!snBj8ew=)xaCTu(m2UzB2HR>z-HO_+#i_$j90cSFOKxQ6Q=G~{>r&fh2dR2Bqm
z$6=r_2OgB=io1<g(XJPWfb|%R5)meUgVTqhgYOVWiM?isZL*)({RbaM+GY)On}q-X
N002ovPDHLkV1k4}36cN+

diff --git a/interface/web/themes/default-304/icons/x16/logout.png b/interface/web/themes/default-304/icons/x16/logout.png
deleted file mode 100644
index 3fa077ee240bc809cf29b1d8199f2dcaebe43dfc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 802
zcmV+-1Ks?IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008%Nkl<ZILoDz
zTS(JU9LIlimb>XN7a372mnDVsmfhGwdMhh?h;mUDf%&X63w;o}Um#1Y$TIU1wKCH#
zYB{r2^Fmr8Wz*O~_n%Hn-Ml1it8d2<E9tQVpYw9g_j7*m`yB#6|ATkCLqxY3<&2v|
z5#@ZpE7gi6{S6xvT=g4NE}eX#{o*YD8z+e(kFh&Bj3Y$<3QCC5^sD10t>q<f_j4F{
z+Xh=*9bC1K@%gY8x@8J?E>RW}_|Fhbhs#*Fb;owNzYJn}IeUB2bh8An3JWn<Tntp+
z$M=)RQ4^yC3uny`u<#1~n)oUAklh;|?&ttlRRycjh(3lXGZR*=7LN1`xDM<`@%(w7
zbfQ?Fpq$6MY}4KHhCfwQpuMOFt=ZY&3<hwGjd-Qe;9Y4c+LDqmmAD1naj`hW_q*p4
zR4)u2@RVJ^$n!dMS3dBT-?}daoL&zb<E2`SQHurU$4~G<z6j=+6*wUca`*)GYhqk3
zjS5|BqcCD0g1MjoT!t3**RNr3ZpNpWSeVidV#4V}eN;4zvLNKk=6HO9r}5FQ@vU+A
zm=KTQJ`O$m_MksyH+ruXF|MO$`BHR5DdDsaz>u^Z&xNy)7cBiF&?y!Ve%+}?PizDn
z;}hsg+>91~f^ohW2ALQ&JVJ{~jme2gyjZ&q4Wa<#ibZ2SL4iO}Y)ak)i+m1-YM-$#
zbfSI10yMDWT81G+hN0#bjI_N$jW7U@LV}RW=RfiZ&Jro_u3YZ6ZBwB;A`D|)CX8D9
zz~x_pH7_4dvjyL*9GW7PXbcqMbfEZ$hG@M{aGnjtQ6lZbRnf4hBGD5r$KaVW7&SJ*
z!CtoKUqqWC3<i+^SEYeSCOWp4i02dJF~M;*p4n`~uZPKhzEp;zBQzNA=StBTEP-)0
zA5~%jPD@17;ZwVaL@9qy;<Vtz?@y9JwCYemfbJCQ^LeSnb50`k<Ol_0ss8-xokS`o
gAXYxj5d06n086V{^e&XkWdHyG07*qoM6N<$g2p6rDgXcg

diff --git a/interface/web/themes/default-304/icons/x16/magnet.png b/interface/web/themes/default-304/icons/x16/magnet.png
deleted file mode 100644
index f83b48c0bd2d3298bbcaeb45ae990b25d592b881..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 580
zcmV-K0=xZ*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006DNkl<ZILmd8
zO=uHQ6oqdfKVxAuF`?Q@T%{ShNT5g(g9wu1N(xDFApwI@Vok;PTSOF8TnOUAg`k2U
z5o?Xh(nX;lXrO|;g%Pbn?Z!sw##Pqgde3xT#|#+w;BdclUWQ&0k!D_K5}9v^%0feE
zIUtwe=Ktvf@;or~+UI-q;ZSCM^Xj>7_wJ1zK*kLYo&P;x&iQ<Et0zjEe`YW6uS%s4
z+~Ckbcl&{c!wdPu_XiKG|E|~g>*Qqb@#yHr^uRzHAmavy4!U|r&s`d8XHRuMO-%69
zk&%rm(f!jz`v5X-aOj|`cl6Aq^<!qLw=zD?*9@b5erreo88<j|(A7J7;-bD)EBrQ}
z=Sz|=ZVhdaaf4f(I?3qj9X)bUpUcO2d2EblB@5(1!J&h$-qAxB^`&@>-&q!4mn@J6
z1&0p0dPfgj)Y{P_tm1LLDOn&73Jx7~^^WejsGo=P{C#kcZ%G!&gMvc`UA?1HsbrJO
z<*My=o14vLmVBj9C=e(Xi#FM8_KZ@B7ZzH5p2FcUWilB`Bof;XSe8{!r_*GbrtM`w
z$z-ysACO#6rBb%He}-Y8SnqT?ytuf+u~_VKC=??7gO5g|wqIKM$dO2-&xeJ0Fc_@)
z{r=m5K;VwZn%wpayM>*?koakjj|;o(KXAexVOZEJ#GKm>$KzY0jvIEm@Wx-xtRZ9y
SuFc*60000<MNUMnLSTa7pcd=^

diff --git a/interface/web/themes/default-304/icons/x16/magnet__arrow.png b/interface/web/themes/default-304/icons/x16/magnet__arrow.png
deleted file mode 100644
index f366db3a0afdc3f161781ff6d613865bf5b6d80b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 705
zcmV;y0zUnTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007rNkl<ZI8R-U
zYe<t}6vxlN%bPHpZJ0|INYf#;mDZdRSxve?NSj&7T(b+yOSNu_Nr8rh5ki7OYKAPd
zTF{5gNDw3&7{o(4yJO4nQu|V0_AQaqIqRLnJ@A7+=YQdW0RV{dknjO09|JfDFX5MA
z?bzKj+qd&xNEG+|au#;YfT?XNR+a~}j}(drueY0nq53o7aO>42hBe>zx4it*vw%ot
zVd?ztj2}=ADinjCD(s=(4d-#e<%)2naR3iBkK*ChG0dy#U95Z(#Ew}+DhuO{Nhf%z
z%-p9hzAD@r{OPI1k7Z>`cXD&*s#8(|*51J4%^!#--y<G*7o+|w;)W)_fPN~=c&BTQ
zhbK!*u_rrw&JA$u1VCnH&C~v@WBs8muDgHpo!w~h2GRZ&F{AFe(4Kwaggz?E_`lVi
zTAC;+!A406oTD<0fVSotRA@J5@-6>pCvF-?)R(r0Q(ZnMjR17RGUBt_g=0lUc#-r4
zy3q*i-R1z+d^@<W9ygcY#;UC1nKDy3RG2FPx?mYG<tWF|ygY0mO+XxiJ<f18+JlZ5
z;)Cq~jvEZvM4Es&1bdv}Y_tdMF~szqT_|)qyhfUUI0So~;cT=AZ85~`jw1Y$o{r6=
z35Y|m#~IE>dtkTQBUmgJcOVczpKlaNU$$DUz}RfI2n7WNr-cwWG~{35gG!|Wv)K%K
zy?%MXU@&-0CKD)?%7{+|$jQlZM+ZoIj7DR`k330|IOv(5pU2_h3Djsbmy(l{|C_R}
zR;wfa$jBQ^OG{hfs|a0EQc`U~LPASoV&Zi&Yw5P0SVN=|TJo#od>yfx2P9dnCDsuc
nghsxtl70TGTJ|`@S@xxWy(&!Ysf%ya00000NkvXXu0mjfIW9{f

diff --git a/interface/web/themes/default-304/icons/x16/magnet__exclamation.png b/interface/web/themes/default-304/icons/x16/magnet__exclamation.png
deleted file mode 100644
index 723c3b861fdb7fcce8b8bc6a7db1bb6680b144c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 771
zcmV+e1N{7nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008YNkl<ZILlp-
zZAepL6vxjKQ>U<U`BGY|52?#YL2TNHKpf(Skenomkr-*ZBBe}3GAtr`u_(|`$$Udo
zQ?$%VvNBt3q?c%#?~P2CI#9^gzJzi*&-H5Ah2MStoZmU;K3u2+fE5~uCIH1lfMlYE
zFiO;P9buKiBi1H7VW|YH0RJuUYh>(!d7s8Qd+wCOaryibXF4~-(Ocy6^T)Tl&c0Sz
zQ(rri6Tta*fuf$V`k^HK?0jxEeoskR#hRzX$yZ6Z=xoNJ_NZBN3)7q17;vBlmZ_y{
zzug;doz61gU_!!DX>jmVhKGm6pz!E_UZ`{~e7%N=iHSHjTCmttx~}tGGm{YjRj^9U
zcxI~OQ(PRD2L?{11Kc<Uu%$Yi9e&@qduqW}fYgRFBbjKb+CKB9k?Fb{Xh8+6V*GOQ
z_>xJd!#ug%a+-!;)H3$6j+IRe9i1B<h{dNJxj0~n!jIkB-@MK}l+mz+Fr1!(ueDk{
zL%H}MgJ+dYYi#u~PmD&Rbue7K0Y9ySd$6ZPVdfr6s45}!Cm+JDurSQ!3*s0&E@u^E
zA9mR7<Gav4wiBK6`QphLHE*?Z4|ix-Liiki0DIJG%%^-imVRszlvG~_6Q?X2el_H{
zW6K34-lxoK+`~;8mJr5cqEJw&uz)fF)CBjg(CyLyc#S*W!+T59mOWhki!ixgizB|i
zSV)<GTe{_8o_UQs-otzOOmPgo^m@HWWMpKz#bUvxrY@wM6CE85ocQ>7k%)+h6M`UM
zd%JOs2TxB=&}cLe5D>7sK&@71g@%TLLZJ{n4M0#(Q2NRO%2^>HA)*%_xm?a0vurjS
zc66A~+uQrBo0}V~JluPEd5ONWvlo?0<r?ovs9arL4KkVRqKk{mC6WfJZ6h`k>j^*d
z8UJ||u|fQR6gCn5#Ad=<s<}&^-_=WU{!%aZ@;`%;ZmBzA-?0Dy002ovPDHLkV1iaq
BZ!Q1;

diff --git a/interface/web/themes/default-304/icons/x16/magnet__minus.png b/interface/web/themes/default-304/icons/x16/magnet__minus.png
deleted file mode 100644
index 066f2563ed763d14b61bf65f79134ea808ee6ccd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 624
zcmV-$0+0QPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006vNkl<ZILmd9
zU1(Bq7{*`0>1klov~4cz$|<{07@;N+grln%=;$JZq!_j=vd<Aw(4s{UU5p5F5QNcI
z?yfOnFp5f85PvA6R<L%{EOxVQya)<;d*0JIlO5>54<6p<!@u;1h)f=X3XyAuC=1G<
zY9Kl*9-tWm$&+Qk|HNjSezPaGvUcHQqjCLmQxGjT@i5^3-+*h%W}8|%lv!IJJ<Z>9
zxeZ>1Lj0_|i=TQr{-E>|yaQ^QXp+h(3lH(c*SmME{3sUq)6h`!USHqpNPBxtC~4a7
zUl_7d!U#P;*`U09{7B>d;2=--_O9lMZXG4sAzUJQegh*DZa3fA?rn|}t&gERE-$!`
zvO)FhiQ(qrzyM#=wAv{YF+zf9xrrwk$zp&6Dz#9b^ErNzO!8UiGyjS@qU9#u((qyZ
z>C(9^19w}f57~pf(BIFa(10u`@gyTzvquvx)W`GzeiaTg{<8vPL5U|B$(lX=83t;3
z|2|fM0AGOyWI>518OfSGy4gZ~+neMsot=CY8juAgo@69z_9&Cd=p+(}e63dFN@ane
z&!<u;64L3kPCOnzrj+8@+3F^r+-^6;VlfH^gBt_kaJU$aM#<%J={^b+3Wf6K0CX`D
ziRixmX__X%V!dAHxw%F5`F!V`PA8e4_+GD9_vh!|vd81u<hwz@;cyh}cKcXcTiZ35
z1>AOmZD1?#!ymEu0nnlUfFZg-59kIy<F>`{<*i=B>oKz8YkvVXCnl?(y-VT%0000<
KMNUMnLSTZmJt?~Y

diff --git a/interface/web/themes/default-304/icons/x16/magnet__pencil.png b/interface/web/themes/default-304/icons/x16/magnet__pencil.png
deleted file mode 100644
index 83894aff6dc3bf5a6830b4df311e2ed95460bd4c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 727
zcmV;|0x127P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007>Nkl<ZILlp<
zUr3W-6vodB{#nLqZo_gi5z<W)2P#v?GKZ27VL1s3p=HVPPdLdmmCP1i2$d01SfI!x
zEt5#aK$0XAjOs&Ll>ITgNE2_o$zV5)(>Y)JTKd8d9?tVT=Y9G3;2r=d+$V+s)DHp5
z2_G>Vf^|82&Dq(|m!59>CdA`8Asnz}LHq+DhF;pOOKXj1H#Ryh1{u~oWA8#%mc2eN
z?-F{wI3~o*{|nTELJTe(cdo5B)#DGBYZE-1uidxan40<~5C~wg!EmD=pcs5qW(Meq
zFY>aNRy{TNp{y*}la{tz6%*rUSkJo)g3qrdVPLft9R|aQR;#u2QV;sW_!g@xHr|$$
z;N6szWjDapQveAqX(FM+E(RaAZVzyIs3rb)ccK_Orcyy4FX#<3`?a<*I9F7J%_^0@
zj><h108a-*!J}^RjLSZc7GE`#1Uakp;7%CnquYhkHXEKJ-Q}Q<+771C9`S_BU8lv*
z(Sv(&q4ETBR_Vd5Fw(p7qd1kBiA|(CZ2;XK;l*E{@pikIZrcN2*y9Xml^)y-BfT#@
zgfnI{wvx^V`C#=CG17ce?B^MKoZ+m}gX>|W#RCqMj7DrD?fSa_styZiFbm)rdz|5{
z(u2-0()WBDeu|63%cKcNBI@h{So4fM&Tv-gfz#=f$<57m`~7|#9-czd=L-u9fhjF5
zmC4D;IU`9Dj*ri7@<F4~fYoY+<mBXk3(RJ-$6~R7TCJ9SDuBskaw`i+donUIWM4ii
z`Y9;rSy@@ZiHSMX>-7!M(b1qB_H{a)>`zX<#@N`{O}>UOMny%{L_|b*BO@cPkXb{s
zL_$mKAmYid+Tt6Do$>`Cv5PPey9s@0wk_oITXiAN5X!Qz`U9JGK<JS#___c9002ov
JPDHLkV1mbvQIr4x

diff --git a/interface/web/themes/default-304/icons/x16/magnet__plus.png b/interface/web/themes/default-304/icons/x16/magnet__plus.png
deleted file mode 100644
index f0d7ee5c3e02e7d2edee3355163577e8262828b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 680
zcmV;Z0$2TsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007SNkl<ZI8SAh
zTS!xJ9LImFU5>-qF2~DO^Jy2&v_?#`5K5_+6gDX;3n^+|iq_R43#<%+P$)=hu!w~#
z*Q59#NI?w@;t#dx1}1@838F81GvwFrcRbs09r(bP-}l0KI0uFSAj1nH0bqIw&_=|F
zqzdacZCs8*qF4|S7?A;<SaW4{z&@hUJb$;#KRti>Ogi0veT8Aox3WRY(y65$gkf1g
z%=X`aDX!7Pza9?GFZP_nU+wK#j@|L$wjnoGJShKraG?X&MXevGEFfx)K#a=FGkV3h
zJGM{%4tL|1*4C9rm6fxdMq`R`-Y#C=^QRT_fg!Vir&LynO?4ele{5;Nh}%6I0=Rbq
zU?bx`TJUO9uXTBIp98ndG+;?@;UWwa2^cJjK$OZV$searu1q#H;Z;dWouwj;0K=MZ
z6<12p@v{o;VPo3RUkEe;@EEd)Z=rU4U0;tENS|LVDzN5T^C1UTb(P}IChfwJt?QwA
zp8?<@WD%d*4&a2(hdrbT$V0Hl8O~;Ua6gCm9N3R<yk5LUnt(h6dz|5HrUwH##MIv1
zD4b5bL7IR(1bdv}Y^DcybBLLSdi-8ef_<b3$V0Hl8O~;U5DW$t>gwu3sZ<IRi3ucq
zsj;yUm_Q()P+MEuA%wuu(c~H*%w{wA{eEz{T-gDy*Bh>>sR5J8r1(?-kH-_r43G|2
zS63^(@<@`z!SLMN9FC1mqAbf74F<!isrojXP4UOa-=oE1S>u}tr(Un`)@rpkbvoTG
zGP~(kPSD>1^tFJU{LVbzNo?Q&Nfo7pgD4|p^;V$z{H`|D;|yonm;M2ga4TiDf|(Wo
O0000<MNUMnLSTZu6FCO}

diff --git a/interface/web/themes/default-304/icons/x16/magnet_disable.png b/interface/web/themes/default-304/icons/x16/magnet_disable.png
deleted file mode 100644
index 8ab9c3dd65727ef04ea60841f5318dfaf3d37dad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 468
zcmV;_0W1EAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004-Nkl<ZILm#I
zJ!`^H6o${x+AnLjU<AQIv9zS%P}*V(A{7dDQ4yroV3s(!IXSvH>Exh`f{6YFNB@F<
z!No1BIN0-sdrA<@g$FL@ecqFBX*?d2Fr7|mKA#5`i-o}y7)yb>feenfLq`jOv)Qb)
zTCIM!+iiZo-+uz!F+&FD)PlfdGAXUs>(b$HNHeJ;(#YVz{a-K~4qZm0k+EDZe^`8T
z94FQ9_rFcktOMLJLk0(~^k^^`2!+jN^Tm?U>-F;GayiF@6gkY0!GSA1;y|!=yWKlW
z54BpYu8O1xVTKG2T<KA_+ZAjUUYR5pY)@H0o@8F&N{>37jsW4AiTf;w!+|S3YPZ{h
ztzJ9kvmgcsuJowYY6%dYn5fT!C>*%bqh_-yKzL*#J_{mn;7X4gjfP+|AK=si$(8H&
zNY{0;EDPWZ_lzbBG);5y{DB4sE;{JCCmaq_wOW-oNI*tWj#`2|0S7KRaxR&>Y&Ki0
zR4O*eWHLp}m@Adv@~j{^T$LlEb9D(qRNSZ;vNPs_x%N0g$^QT;JgZw_d`hVR0000<
KMNUMnLSTZ-b<BSN

diff --git a/interface/web/themes/default-304/icons/x16/magnet_small.png b/interface/web/themes/default-304/icons/x16/magnet_small.png
deleted file mode 100644
index 061e36a4cbc3cecd7c16e27cfe6ab6a00d1a54fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 292
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uRUEHLo7}w|M>sko>_H9;s?nM
zJ&lcttjx`yyx7|86zn*T)+!iIka1+5#w5D#*~44a%6ea(9)EVqUV$g6`G`Xi3vUF+
zmbXz(H%>49DEOZH#}B<`gAQIH=97XZ31$~gZr?oV-<5*G*mJ1~8`u&Bq*d4^DQ6rA
zVQVv<ez^JHbjFuS3+6lS;L!pJJIDuIj7{JDf2)I3hvWhYoontrj8RchE7|$x{8+zo
zWn^An-nj>lA2%zxU0_gDT=-^l`ucz3f`XdUCQV8T2nk7H*z_=og*PER-9ITYF_ZP8
ojEoFVOiYYMlCy&5<+}_F!P@Op=hgqe5A-&Jr>mdKI;Vst09tTyzW@LL

diff --git a/interface/web/themes/default-304/icons/x16/magnifier.png b/interface/web/themes/default-304/icons/x16/magnifier.png
deleted file mode 100644
index 02e7e67f81846ff7dd79d345d918fe1116ea5938..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 622
zcmV-!0+IcRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006tNkl<ZILl-3
z^YdfCh64iw8A3ur1VckZ9e_9rh*P1o14tYs4^qc~#{k8+gyf_ti#K*3z4~<hgI8aU
z-+cUb>!LN=`at3!d9VRKK0X-O*Vk7tDmFf4-NCC1kKA~D=+T>RXP><Nb`FF=>>Vd=
zE{Tp!NCBy1@bvV=hMgzOU)#6)(u)IEAAdRy(+tDco_snneaVK2AaxAR&RB86w$l&R
zfDFKe4_<n*38ap}&dv@S&fj<C<vy5VbQb{e*^{^59tEjmu&}VehEw;Pf3y**`7AaA
zPThFE1Eh|@(9jSY_MAL-#f*JdULC&w^2=#-10KEpdT!pbwR1u07@VA(7#tiNz)rWd
zwPmoev0*SbH&=0SbFVsb@!r0h&px9V@cjMvOP6mx*kNsBTcW0>CW2vrwY9Z8(2(M_
zYuEqR(9&+7G=1*U$1mO<dHeb2wI{FMADy>g@k$L1&00Z0L2WrXIR+F1fEu;j+}vw+
z?AY^PR8+K?g@r{6h(m$65{TQOG>9+8$H&KjVgS%~i@?C(wj)Q*{8v;|>H#WJ1!4wV
zn2U>xfrEpC0cN{TLPE-fix=<y*V8kY3RGas%*@Qd$jHdR#KeSwQ2@vpz(6axb?eoC
zdwb`3K+P^7jidk$pnqLNL_}JEnzMm?eIV8WVhtcx0b+R|mIh)mAQl8-9*`a&W(8uf
zb69{_9EhcWSQ3aOpnOpv76xJgAm#&NZXo6aVs@xzW*}w+0K>CjWKU!t{{R3007*qo
IM6N<$f}~v>iU0rr

diff --git a/interface/web/themes/default-304/icons/x16/magnifier__arrow.png b/interface/web/themes/default-304/icons/x16/magnifier__arrow.png
deleted file mode 100644
index 65cd5c532d7129c8044d313954b7760b06ad39e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 726
zcmV;{0xA88P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007=Nkl<ZILmd?
zUrbU_90%}2khPpGCY1e|&N6jsl+^|spiG#K4avKt2SFjjhw7n+e6c@IrPOMUw5H~?
zEOM<RvrWgQW05#50R_d0PDA{!P@9^qr_=8^n5o3}8TWV2@Atju-d&WGl!W+vK9bAj
zTTm2*^7HeV3WY)h3P4HlUqsf)KIz*r_)kE5k>*PA)7Nc}dfc<E-ler(&vc;uRZB-D
zStt7&0Wz6vhuqv;W<jA^`@!OFvW_l)@%h*7Gl6vnL9R`G9)q$_qa}SvDwT#K*1s@T
zcDfcmyQf!rL&G5>Gb?>HhL2B39}<hh(scBDTS&nFSX?uoNFU0`$Oz|#d3ezrYTkYV
zVE;NE=plWG$K!=l(ly{~3l7`E1$-NwH<3P+o}M0#w7TJKt$BE<`}^Wr|Mmdi@-IhY
zv$28np{%SdBoc`>jxH1mkw73oTrM|3lAUwQ>YOxt=2o`^%>VrD8uEBee1WhuF)@*~
zBLF_CI0(6EG`8a8lvG_+O~ae%g@84%`e)>Br{6DsIrZcG<%;)ACNniQHWqCOfWegP
z?3_C$Qx|5l+4mR>MhZ}XGN3zK-Zxt}i!rxq+{vw;RB?2!%>cMNkD@MCSgkf3AAkHY
z44jOSTt%nK2kW5GMntOL*_6f!toLC|YS>eS?k>}4w0fs=0&_TLp26@rI-QPAlyxJa
zVQTJy7vtg~j4usrD)nFt`!+<L172F`*w_-z%oI1mu!KgVA@bXEjDw=7hjlU6+HC|m
z0k>%aQx1$t4SOomw-=sQ!eX)R!|-*ePlGg&3=%*bI0_C%DGh^Z7L21*&5nJN+iF<b
zMFJS$5I6!3gP35=2GQUE*bgEj@}Af4&Z~DsT&OLAnht1x0ia^ERiOLOH~;_u07*qo
IM6N<$f;!4na{vGU

diff --git a/interface/web/themes/default-304/icons/x16/magnifier__exclamation.png b/interface/web/themes/default-304/icons/x16/magnifier__exclamation.png
deleted file mode 100644
index 037be024fecf3b9398603cc4de3fea838d782a0d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 759
zcmV<T0to$yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008MNkl<ZILmdC
zT}YEr7{||>yXdB1u+ax$n58nsGy@mgbZp`nOkwCE7S^x{K^I<R7lm|_Xkmz@;V#^y
zHA~X@5oyC@X-?nyS#!Q~Q_MA2wz(;pT2OF0&zO|CUik66=Xw7B|2gO7Majv@NFWfP
z!otE`D3wZ7TwKgnsZ?Tunot(4V(7yhbbE|{1teV3Tq$jQ(o;LaeCqNBH)+puxYyXx
zR|kEVM*<WI#U2U@3fStB%i7K%=CRGa`qmfPp7MvcrvZ4k*gd9;B^oX0kX$a0g|xoK
zT=#nB%OJD7LGPG%aQQdvO{VS#phHq=Of-EH-VO-(A44<#7obBqIXST?x6THvJK}#&
zK$sd^2#<gc@%j8%lnuP|^+e56u>!{3D;Ch9%*@PK$Q$%+I_qq3cqy<s0j334!$+r0
zwhq;|x;1ThYSx1eNhA^^7K<ZC7l}kjC={aX?Cg_y`LbI!#|NwD^S6oR)$n_UE?V1M
zYyHXCRqHczu6}_~RFRaF#Mu)-eyZan<ht41g;RK`H4mHgt!`&C<8zgN|FzYQ8M}H-
ztL7NlY<6mVd_39}K#aWnd|9Q%GJv^U?j073#XER_bwO7ZHyQ9&{~&)M4ldo^9x&}|
zwY5_$!k+-LJ71|Rs<zoCaYDk0`^0>z^n4r|Y@?(OYX<$*Ux^Vyc*T7cPrgc|q5tL?
z35f2l&}g*v4#y%+PtSNn%vopBSg7AfQ3EDQ=XI5Y=A1Iz`|<{MI>gv9CI~?v<_PXV
zK3c{6d=Tg6N)5!EN0B}}eFo~>a3`1cdL(#}$%>o+>LPO%4|N=%VGg?e<i2?v4yTHk
zuaWg>LK-2ZxrTZ^H<}m<Ebwq(J_T=uZ$>KMp^pW-b(9_gScF4_ql6=b!_hTYUxRdn
pal)A4F0x0VTY!6L)L4ree*@oH%uFu@MTr0a002ovPDHLkV1ixZW%d97

diff --git a/interface/web/themes/default-304/icons/x16/magnifier__minus.png b/interface/web/themes/default-304/icons/x16/magnifier__minus.png
deleted file mode 100644
index a6bccdd05a04e836429c68e6710747d0865c826c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 657
zcmV;C0&e|@P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00075Nkl<ZILmd?
zTWC^o90%~fm#8QrN!JY=j-}?tN_tT6GEs2|Do9GOn8|WaJ@n9Cih`(U55-tFwjQ+0
z)+(5-1r4DgZ7Ew#7up<iQHfgHTr$|!Mo;$r52d_x;KT9!&-eTLpCgBeL?WV4D2T;k
zDPpx+iOpu?*zI-=G(%hdtfA}lKFyUC{}~`~I8V3U?H#%ijC~(WWY)&xsqE{=1H+wk
zo!;LZU^1D?n9XKRbIU2$i_zGl!0ggk^5=Ruon4=z=x^UdyzgX-(?xT{Xf#%$>w4hr
zd=p)G8%wQ>7s>@Q>6MA@zL&RXj_7n1Ifo|`19ZUuj7HP1XpX4W>PpV~rx*Q&aOo33
z`2FW>kmiV7F0Z6*<YRIuUk+Cq@L_h|M{`6fl~!WB<9^oTpU%AdwzxJ~Iv~09Ys%B_
zb<-TtYPCe8(QH1tN~I!7rIN^GvRb{N=|Uj#)gS+{S~OsOc_aEMp71G@s&=7J$SoUy
zkE$9&&Uw9qIkBX!<94_ENopY*$gcjLNoSUWo`=29#p1)4I2=wLpU)>n15lJ03{4k(
zzL6Y{$GggAvn61M^U#q$+fOi=RaaOn@|2Lj1F*Z?YCV2E5D4W2f|{EM9s*L2U_T-E
z5e}82>xJD-PN%CY68VyAXgGQg#bYcK#S8}N!6p#ea5!?M=sKbAfj_N%ZZ4B+Y}9#B
z)-zBn95v92oh~C>imublHoUK%%jI4}`3$a)Ks|_|7OLSOQ~?Ke(hh6^CLO?ry>I~b
r!@m4A5B9)r*abUaJ8aFDS-|)MAxDFl-enuX00000NkvXXu0mjf7EU{>

diff --git a/interface/web/themes/default-304/icons/x16/magnifier__pencil.png b/interface/web/themes/default-304/icons/x16/magnifier__pencil.png
deleted file mode 100644
index 10a668d4f50db46c5a81516f2dda345ec5a7c164..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILl*D
zS664Swzg*Q^YcT&fq{VxAt51xp`oD;KpX|csZiPhBo2}Xsl(8SWPoB^LUPiS#T&bi
zUVXa$!K*LFZ$5szb<vt_eIRj=JlFsqA0G_t>+35R6&s(j?%>shM{c}6^ytmEvrpcB
zI|srb_Kp)bmqf=Vq=3{hczSwb!_E`tukG7?>BWJok3SuUX@=ozPd=TPzGTBhkU9ou
zXRJ73+vx{uKnCE#2QNL@1X9OfXJ>~E=kL4navw}Fx(k5#?8)12kAl=OSXfwK!>N1D
zKiUY@d={Glr*1so0aC|cXlRHHdrqFaV#dBJuMXdT`Q<da0S~tBxp7HD>tU&kOd*4l
zlM{o3g9F&<wzjqmHa0d4=H})qE^h8sM=svmck|h26a&s*yL)|Mb=~d%4GsU-F)<y(
zFaVgS<bj41uU)(TzlN4}`=se}mp*>+_Q>1MKd;@sx$$OMdBwT!-@pHNl8{(5pMk**
z#Q>m2EjKs!njJg#{1+7!ZDwI%(E{R7Ag;7CV_7<-f$7HgXO;gI6cjpzgoO0wFaQC}
z0HEy_fq}toM~<BNuc)Zh1JtCdr_9Wd5W>u`YZ0UUhUtu3L7J!5G4Atq;&9~W=VvGd
z83482Cm|ta!o`bs|Lf@)Oa*E-W@ct)SXs}2p}Dh&!NtRdg#oCB0Sx5i<UoN|a_iQs
z|MvFI^MDdAjEsz6x#e{XYRH<?!x&tYWEe022hhJRA|fI!K+V}ezCIA^0I^1W0^_9r
zUvB=NP|0{S(3v3^C?*KRJRm(l%nHOzAOk>d5eH%^AeIDT2`FC_i2tYhGH!_XW^@Iz
kxq+Ayh}of<nSq!Q02iv29IT4!oB#j-07*qoM6N<$g1DMY<NyEw

diff --git a/interface/web/themes/default-304/icons/x16/magnifier__plus.png b/interface/web/themes/default-304/icons/x16/magnifier__plus.png
deleted file mode 100644
index 75163988e7ff42e9cee56c3ebf3b7841d8ac82d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 698
zcmV;r0!96aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007kNkl<ZILl*D
zS664Swzg*Q^YcT&fq{VxAt51xp`oD;KpX|csZiPhBo2}Xsl(8SWPoB^LUPiS#T&bi
zUVXa$!K*LFZ$5szb<vt_eIRj=JlFsqA0G_t>+35R6&s(j?%>shM{c}6^ytmEvrpcB
zI|srb_Kp)bmqf=Vq=3{hczSwb!_E`tukG7?>BWJok3SuUX@=ozPd=TPzGTBhkU9ou
zXRJ73+vx{uKnCE#2QNL@1X9OfXJ>~E=kL4navw}Fx(k5#?8)12kAl=OSXfwK!>N1D
zKiUY@d={Glr*1so0aC|cXlRHHdrqFaV#dBJuMXdT`Q<da0gqmPJvVRJ+PNTg3{Fl?
z3=R$sV5i&K+A`SK*f5xzo2$6ExmO*zcyHg$XP;3Fc>ezTrOP)T?69`6Em2cb6TvV5
zn5g7|h7_+|yZ*n1mUjE3>2sGpe)0Cm+s{9*g&oRxBe6>R9cPvJSwTTTZ8<qP1{4E;
z8nxWq+-r91*z;dhRJ56eg+&X9LxH#wh}#(^3q4JFSNfk}p~yw%Dgg$Dxk3m7fVNu%
z1_rksIdbN|qM}j{P=hKEGcap$Ffhy!nh8{V282Ujr~QYq!QxQceG(E<CS1ID_rIQ=
z!Bn6|V`gS%21a#O28O8uAbiI0dC-4!3=(Gm`2!eeCAV(9`fqRVJP)YZg^`hw0S;7H
z7#Om+XEOBgodIE;N4EcAY_K>GZ~*=5A|fKv0@R!h<m&^m4iIaAv;(m`5K9BG7(*k^
z1*!Ym{~4Ni&H?#A=P@vW3;<feAP&S*Kr9Kw5>UP<5DNn_&<_lJK+MgM!#0~CgY_Ik
gF54_1pBac50W!Fd%N+T9`v3p{07*qoM6N<$f{S)H2mk;8

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_left.png b/interface/web/themes/default-304/icons/x16/magnifier_left.png
deleted file mode 100644
index 7a8557f4cd64d7b480670b2dc01f5b4ee0bceaa5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006(Nkl<ZILnRG
zU1(Ba7zgmj4<dyWOI8UPMRUU-&;*Yk$d)6JJcgh*Yb)8uRTte<5LB0a!fF+)E?l*(
zC~&m}4xu4glerBIWG*GBp{M3tGT7FlD|?<g#&%lKfgkUA-{*P%=Y1~@csw5PdcEND
z`BZ+tzX3I)PJV2lb*fX}S~i;v)M_;VAF$_mpuO!*|M2yA=F{`p(#m+QP!9KnM!IO7
z>cW63U|Ckx+<KzpSuFE#EW7YJ|7A7Fl~+@Q-Xn?Jz_Hdq2lct#ZV&>O%jLXzf3WLi
zy7($nSQ@WxuA1SN5<LS$-PDIb2%Ju5U}S1GL;-&jOLH%%4}lOk9F9}b>G^22S$G1J
zoOoZ3Qy&5$U>K%z^lg5a-<;eiU@|)wp*{pcU@#b5w}VgaMyE?}KF+U92?O#AUsJu0
z2ZPjyKnQd?otm-QPLEE!8_IoNUKcR8_${6Nz$KhbhtHc#rhW89i^T#~s}<~a`>!i#
zwOUZARQqdn^%rjS1RoWO<+1Ye_ZhCV81H@1|Fo{I{#qy$s+i5@GidjQ0Sbizq*7@O
z@}qO;GC$H>uT&~8g~O3bW8<NVcnbZx04#!BE~kKhsnuvSH)63wg=LRk!Ba551J*ub
zvG@-nkq9Ib356WQ>)cDFa+Q{rKsTO(rI7!A_@E|+vGrxM#fs5rJWE&qSwj-E3CWQX
zZ9_ZIF0>cvkRBbtkdrc*>?&UU2+lRt05OvCA)EQ2EqvHkg#RtnpzUZUzmX_@0GO~{
UfG)9LbpQYW07*qoM6N<$f-}7%WB>pF

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_medium.png b/interface/web/themes/default-304/icons/x16/magnifier_medium.png
deleted file mode 100644
index 7dae0e12239f84486d6f536b136284a3cf3bb60a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 452
zcmV;#0XzPQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004tNkl<ZILl-B
z|NlP&C76L~2Ke~+z_Fj7A45=35PL{Sh$#?90C5VGHU)`;<OvzT9uN@V-#TG--S$)W
zR@{F6`N*Za&o^{Vnp+1F2gzd?;O*^=jLn;RXVmY$^kUzI2k(zPdHd}g2w!^m;b_~0
zSq&h03<F$UU6FCzrsKC)01Y^Rj`y6qzYZjiVSt^T9Wu__clpIWkcNv7KOBd-;O4W>
zr%v2{a}*?xVSt5&1st23n+I+=dTl$%0GMVNK5^~wRx>lRWUK}NHG;8`k&$I(L;KXD
zH(wun^yb@HnC6!seq8S8oz$<Vr)P^{fW5sv*!i}$wtPTClGd-^_&>j-a^9sI_m02$
z^yBJ-r>_n*wX{ta6BA2PRaNE0Wq>HqC7FBn9RAPA$yv<G%IXNji9p;2#HB#&&IJTO
z0~oLwAZ=-BnSc89_5a-5+|?{BEJ8pH3?K|-!!b}l16Bj9t*wi0-hA<&kB_ers89-|
um?Q)A_4WM(1qEAyiWFgrNitx-aw7m7HYU3&wvZJ70000<MNUMnLSTY<0MC;E

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_medium_left.png b/interface/web/themes/default-304/icons/x16/magnifier_medium_left.png
deleted file mode 100644
index 81c4089dfeeafd2c2f7c7bf924df1d2e9711e0f6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 455
zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004wNkl<ZILl-B
z|NlP&C76L~2Kf2;F$4t#v4@0&m;!MG5T`(CQ;;}F-p9uWj<FfQ9uN@V-#TG--S$)W
zR@{F6`N*Za&o^{Vnp+1F2g&0#z}wr~ys39a{q9RI_FZ`J{@9bZ-_C*XrH3DmwoRDT
z0Fnn{1{lULz}3|?ZqxDGD}V+ZK*xK|-CqZi2Vw>o#xTIn&Mt4?<rn)v8ZJKka2)1>
zo6kO<I&u5WQII?kGr%y00cK`q$ve;7T?aA%rWuA0oxii!+}u3S!oq?9hA|A#)6=u9
zYwPVkdh^ZEM{mBJg=v2A;ro@Q_MRDrhK80VCMFD~rlw$wVSuWtDyNv3SW;<K!{l2J
zp6`3}>BrR@cOIUuuB~6RX3e_)Km$^NuHd({v}CZdvchTr0~Zjmva-4ZaVZeD0dXP_
zJA(K-cI^9aWMq^LG(ZfW0SqiGEN~3e2*yCR5Rk4te*DsZpf?JE21t`?00>L5v9YyY
xzy9PuFbqn`F#v=W+1c4URa8`hsGph0#Q@70C363%4hsMP002ovPDHLkV1f#L(9{3`

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_small.png b/interface/web/themes/default-304/icons/x16/magnifier_small.png
deleted file mode 100644
index 08fdd8c61ccfd8e4b19eb843b2ba7acba2af60dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 301
zcmV+|0n+}7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002=Nkl<ZILl-B
z|NlP&C75Aw8Q|~l566LlfovfmAyz<~0L4}yF}w!&`uZYcn})6_)sJ3%-Uh;r-BW8o
zVt5U3adAP$>ANmGTebVrivu8h`1;EYAThiK*xK4MSXx@baQ30AFV;VK`|TVEpS$;V
z8%T_x3mhCA80_usS&WU1lgevbx?X?ycJR%|Z-?ue+k3UNv|NZWfE#F2^u~>w|8sG1
z6#{V`6#Ga?NpTP|Km_QGv?E8({^#W6%w}O>VFh9a7zP@EKN@XpY>KX5fA*h`kFNr#
zffrdbQ3e<o7)0^&^S1#NOQLHg%79^z7s$Z?kgaZn#l-$~00000NkvXXu0mjfUI~K9

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom.png
deleted file mode 100644
index d9013037f5548c1d5199ba478f923234b794e76a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 700
zcmV;t0z>_YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007mNkl<ZILnpM
zT}V@L6aeu5+M=Qlid>&CnOKbyEB7#SpRKV9OkDPm6=CH=C4}I5>Eodi6G{-G=;f*p
zMNkBNP%SrXOta}W=f>1r&FgG!Zc}S>Ew>T3b7Tf<>!Axj&i$YNIp@#)Us6#&L~^OV
z>?NlgLxS3-DGJaanT{0ZaUbi*zXlw=L~D*;_0rcnzM5b4O?Q3{#LVwqQDe)aU_a(@
ze|~`atS!rd^L9b`1t)#)xmVZoF>DG(=G@VEDiDq)K21!;ZS8M-orho_>qyxNV=h#E
zi^HsUP8x^4L_c6N<QR;;>G;5~FKX7dIxSd7iYi{@LQ}6jI_ucXpeGm`pNS>ELyp0S
zYs^2?j~lR#6sn)(l6-3q7_k`MnZHHiDS!8HxEJe4f$C{4bcb$Ck0)VqBK2z)aty}#
zyND#*kGs4ktRveF>T;p#ZrW{Ku244}j9IV=a)0h%BK%{Z;g-XRbwsID5`{uRWHK3%
zN~J_1kr0vcTv^Fs(`5V0aoebW)`GXc@D~E#embAM3-t?+^wGtYy@IR(VzD?MhBP$a
zF)(G-gQ08p{mwqutR*lrH_|^8vo^N{hb1T7w5WPSv%AVlG6q27cC~u{6`jt&aJk$Y
zTlX}|_MQn)fCkBQq~xc3g3@E7Bx3-aUaHYlHTCpZ89u+@HiyI6QXte4Wo;-63?MsH
z56DWckSv^DUQ<)s>Tr0N;^JL*p;^dgvk8mEBK(qzSu!3Tk4Hozk=E@FF>?97HfUC1
z<NrKM;d@nid3lY{TnFo&pa=*+A;<@t!8))8tiT?y7%aj89Izg20vo}G^qLFSg4JLZ
iSPqtfCFy21VEqP<-mpm)T^3~k0000<MNUMnLSTaPj6|FO

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png
deleted file mode 100644
index b01ae0b1dd38544b54281d4e0dd4642c14ffc356..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILnpL
zYiLqo7zgmzG%C7Kq+P)=SxstK%@3~WbeUMe8rk+CyRm8?Dj^121YJH<vIaF6MA4VC
z?L!e1K^H1_VaaAgoz5w{l(n6?*_=lm%Q;C$oSr8%5dG4DA209oKF|L>=a9k@1Cdv^
zlghf04Eh^Ba^A>@Ya7E9pg}UVQdq}x?8_QVJ8_-Xox0_t@3jB0zPCj>zXxL0&%;r3
z^Yfq`>v;Y*Kzq@d<?v;fxZ;Y3e*DH~vU~~k&MzisqVc6bD4O^-6^=XGKKeV4!a4Sl
z($nT#sJdpiwaYVWo{q$Q2BV9G8jB(RNPKYAAGJ2Lcm}YK6ji>>g{D4?n=rsJF*h_9
zOU^@$9S_DPv4);?O?G1+DbT*mCE4K$nA6R8Gt~aQ0dV$>hWfFOh%~Qqq1#OpT{s;2
zneZl-elI|c#TEYp2E6F;^<p0>JYvd)GTd`Hdxn|5a5OP}=9-;_8jCBw#Z+i<u>QW=
zgMCD;R+IAba-vi!Nm*GLQ79BdroL2Ke7twI?cJo4W){bAC@m68OuYWY*rnArT5_yk
zoE0FK%kv<lzUg5%TdE&oZa<mv*oGGd0&~B{>?1KpQ)_Tkan?)A^kcexRSuF70E4@<
z+Cw)@rfyas5Zv9l->5urAwU5dBvUJ;I_DRcocu~M0^s%%ovy0UVsWtf`Jx9r9&d+8
z+CbE`Ocn?ryERYAT7i_LZ?CASscmt)$61MF?;{wNa=Bc>;c!TP@zpFDk5DKiGMTKw
z>t$G#>R>AjYjE&?o|W*u8a|(Igkb~h_kbcG1_dAwYzLdb2CxQaz;dt*19)IF*ao(O
rEvdZ#Yy|7UI<Ok70xMF(T)_DQ(yXwRc7uF*00000NkvXXu0mjfK*dU3

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png
deleted file mode 100644
index 278c77d0d7508d399cc20d823e10201209db432a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 687
zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ZNkl<ZI8T+)
zT}V@L6aetEwy5ZXBG)G<8<wMFm3x@&%eBTTFlp&Ss|YI}Dj@{zrH_Ydm{5WcK`&Q)
zC<Mcoz*sqCER{`XwlS4fb~jP4o12=Ordx44$21t*OBa5ebMF6~^WO&)6jy_~q6Nxo
zhSFH>h2WYsBCD#8GKfXV)yU9$I;Xyj!8I4|vgS(<LhPfK30H?Z_Td|saP|1-9gVHw
zK6+2*D+^3F1~Qz!H7F~+?PFW*oGUoJ5S&{`PR=i;I6`?_*Ocolo>L#FE<3VeY8t(+
z(QqP&IZvXq%PWzL#}>!xntc7#2Zd#CvtgNcqc&QAIX{y~&QVU0YRX@C2JO@b`KCA7
zB;OBm4r&a?e)9Cu@zzfiss6E;n*2CC-AjESHMVENw%ERR(gMu+<<##u4O66=7PNJR
zoYV&eXKdLp)lUWo@CO{joF|dk(n=(=i6mG1)a#=@Fc=J=*Xu#2(}7m21&u}nO2bW6
z(Rt@oyM5woG`{@rA0UaPUy%-H)UT*;v+{GjvWx|4wK@-%)HXb~^D4{d$itVDKDR&K
z&&@22^bI9E4b9<U&6NPFw2YXKm3ts<0S+EAnNHoe+3dVnEPj0OxK(%JI>#UuC08R;
za&=r*eDMpUEx_B0&F1p@?rsk+kw~A3M4|&yMI9KbA{lT295%j!tzreN-CkN*S=HqA
zj`DK((HA(Z5DJAL5C}k0bSFdFlbf3hN~N+c5Qy+4B`2G4*hqu_^K8WLYs|^XvEpzw
z)<;kwlA(N*hxVggXb0LtGiW_pM+-z~H`<5xqCKm%80|#c(KfUhZ9*I1@30UF{s5qy
VulAr^vd;hj002ovPDHLkV1g7_KuiDt

diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png
deleted file mode 100644
index 8cd83545dfd87572956243e2a3872539d660085c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ONkl<ZILnpL
zTWC^o90%~fX;gHfXm*7SWi_d>YCdS*GqHj-X4^wn#Hu}1gBZ+Sx;#{}1~nK&(aYI<
zD1svBLUo$5#Mx4(+mz{=<c=<z^SCYM%*s8Se*aL&%S#77oOAyF@AvoT98@K4Mbah{
zs&Dh>(O-?AvqoCb(lJW_3S_c(0<YtJoGU8k9KS;8PF{~tH%;FhZ=7>|Ut%f8$FZcf
z>q*>&*YW<}0owDPB8M-I2<k5Rs0S}2r2TWkHZ_~}MCa1O7=G@37wtO=`#6Urr>vzA
zZCzf6**9bLe@%YMm2(2oq{Gnd8^SqMUH_^Sig+6$-IMd9p?E4>2(Ldjhb=gVDz(o_
z$-EzlS#cPinL-QcrRjk{Vi4yLU-P^a%0y0@@kuzGOfSX$m00*4eA*we;T)<uLY6|b
z-X8JvkI@5EJT+AK52g}7hTHFWeK?2IYBf@+R7jyvAh}$QWHK2NsV_)skJ)B=Uxz&t
z(~EfnV&8xIUVNZk!X_tG(=aF~8X%QQD_}@_=RFG}(T~zM9!~q5V~azv`CsEMf6Cq2
z6A#Ev2Pu($T(_^$jq(OSahFzm=o(2{7%rE4Yv+EW;=s8W0Vt5k-U;QIs6c#T0_6>W
z)5SVnV~5@DW_UdQT@Ht{gD*57bqiet2B6)VM`$fqh;pabH8;0(d%Yp1re^PbC=1za
zHe#_@h*x{LNZwUmUXDZ}ks%nQ8Kv@I50o{y_&?W5_+Cv}S(y>at?<4FR09F11QlRA
z*aS9!HMj$ogJpOC2W$r0z*ev&`_2U$!FsR`tOl#Vifow;SbqTej<T$5b_96<0000<
KMNUMnLSTZM3o}6g

diff --git a/interface/web/themes/default-304/icons/x16/mail.png b/interface/web/themes/default-304/icons/x16/mail.png
deleted file mode 100644
index 7f7a6ca4c934392541726e840dd85af9687c159c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 411
zcmV;M0c8G(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ENkl<ZILoDz
zze_?<7>2*8F`69u6QtR{pfM*K-GVZ+qL3OAS{xmnoLn4S8X8(645TCwK?n`QEH8;a
zuh>nmT$QiyJs?~n#Pq<!cYeIjIfrw(#LTn|wDbm-$)sD@T@W{2Bocd1r4oM)20U*=
z77koGkH>x8exDx-1=bCNN0Z4+kU<s>Tsn!xe3mRUdp*9-=T$XFqd&1{;J_t+G`eq&
z$7~FT{MqU7Z8oba#&&+M!GTLVk%<4>vRIcZf%j&UZ!#HGXU)NZOWtt!pesAp<yzpQ
z-R8$)k+0Kfey!CM=wl9R(;OVQv>gf^woQ{YUFUM6p<WlYP_6P+Dy2Z*zJ@FuxU>}v
z9@XVaFLDxI7xk^xQsgTY#dK`Xz=2DffxvM^cEsyGYZ{m2gjpbiEF8GB;qjc_<#Jq>
z*VW`3&jYe>;L@to>0NWV&K3bKNm~&d!umgPD0kVv@dqGT@c9X^;-dfn002ovPDHLk
FV1fpWwk-ev

diff --git a/interface/web/themes/default-304/icons/x16/mail__arrow.png b/interface/web/themes/default-304/icons/x16/mail__arrow.png
deleted file mode 100644
index 43451749864a8e641910cff2ba40a22234492c77..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZILoDx
zT}YEr9L5hs-dIu>8F=lD;$;|J=Vj8SA)*7J{LYGODWc$w7eWdm-Z(!nWR&=U2&oWZ
zAtu6DyeQKaYr0p*oO8pbPB!K7JO`yAexV0`Jm>t+|M#B5c?AG*9mKUi&^R!VEh)Vs
z*`nTREt_*X@o#q*mmTb-Ls!)H^_7Qqb}-{`AQ%oKc5rYm>|rk*y5g<HQXZ8X{;e&1
z*EE%pSnO2dd+5*=l^q=wk^Oyy_x7;1xrwhfn@X<ZIk`uNu6WVXQn?+CA}Fs!mi>N=
z&(5kmuSSQiFf}#349PG0<h963Ab_8Xix``p#viX&!8vQ(JMN=HS3GNIcom35pa+9+
zt*@)sWjZ__j7&`_IA^Wqiw8wRK77^!phH(YF`Hle<dv4>Nqk-A-;E80=5{NN*ZI~J
zbgn_=;6ey=MOIbS8@D{2ue+e@aLSY7c{l8Y(c(}%sGmULunTP-Ag6l?kLr5*MMiFJ
z^*6g6F8R8;{KqFTjC#?$3_PC)@_zlt{2NGpKdFnP^mNmm%*>jzxR?K7?tby7RgzfP
zyZZ2>3r0J@_1(v%twN3jNwOs6B5oJ-YZ*TP<}G7;$&q`xaU<=iNHBJH-ZXUCWSSBU
b?W%qV3IojW&~;5x00000NkvXXu0mjfy}<o4

diff --git a/interface/web/themes/default-304/icons/x16/mail__exclamation.png b/interface/web/themes/default-304/icons/x16/mail__exclamation.png
deleted file mode 100644
index bf0344eabcc1da68538754b0c74d52ba6d3de1e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmV-a0;~OrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006TNkl<ZILoDy
zT}V@57{?!Px{M&`!n*6C7|~7Pbwn`&jc^Vx(r$!WYF}nWxah_UBd=sZS=0(dERm?z
zO^glJChD4uxt+Or+L!4z&o;I>C)?!T`<$yK8j%Nn{5kLY{NDHBIfnqyUZ6c6@OWaP
zMR4^$X`z9!v1>D-5DFU`_}7PP*<qI+n9YV<sRU;rfNZgd>ekj@;To=Ghh4feI%=qh
zjdVT_yVt8`xmw+k`WklFrEZhydbw6ZadQ*DG8uexyVd0PdbaPe!!C6V4|lIuD#(hK
zm}okUuhY|N*00&@kKl7&M11Lmy2cK>)G;{NlM^Q<MO#cvQQ(p!d~!GtURhE3?66|S
z-ir0yIHb8wtme{Shh1tj8gD4&G7{M=<Wx$XE@vPf$CS;c;+cPmsJ{=j(g#EXw-FAH
zgB^CMxxfErQnVBlH}P~if3B^mcq0+P66T$q$fri2*Xxm89>S0Bmys+Lz%HHZ?Y$Kd
zxASxt5($LF?e#1KC*hyHg8Z^k{C0%ZpaHYCX2>xM*rgLXU7ywCfh?w*5a0Mu3Yc?r
zA-329$)|<o%RTtKXW(^TfYqYM$u`|x+ON@c9B68~zZ2)%k3E}u+Zc;3o`vi`rFOt6
z`%h!?&B2)V(%}KIM*9SZ1dZEyHPrB4avfDtVGUBD<0xews>w*MBg)6;4X<gpr&UYz
i?kSnfPsp_!y#E_Yx#A;OpX@#W0000<MNUMnLSTXi`XYb;

diff --git a/interface/web/themes/default-304/icons/x16/mail__minus.png b/interface/web/themes/default-304/icons/x16/mail__minus.png
deleted file mode 100644
index 274713683e92dec0aac6e3313a8edce56938f279..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 455
zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004wNkl<ZILoDz
zy-Pw-6u|GI;1anwG&?=QkHx>BF(+FBaS6)Iib85gXc1a$b8>Q#5JJeHrNTf=1QCSL
zFwF9m`1!<4pZLM)o(sa`AyRqa$GIQpckbmp9svL{4`l8Fr=gIUviVQU<Rlo}O6K$M
z)$74;2j-%KE;$Ya?5%DW;@K<+oem7g<C$O%=AwfxIq>`K1A0(vx8Wg^VNo0ory|Wk
z2VLUu`L@N;2s-^fd^VeKn@X{WYbo+GbkHRmUa#YOFaUu*33;p4;3kn^an>F>=n|{P
zv(us#EA&~&d!qr5xg11dF?cDL892v1Je%a9gDzQfyLTI+2)rObp;~3##h5LXARLV{
za4tQ=Ty)SSt1j1Gg+A$--h|!7_*$<sGQ}cevX<tcgDzQdI`@mTB6jzQ=OIsTkaK6V
zK}4@-T<LUh$#HOPFu<8s8z;*a%i(=G4F%d=o_^zLTo{cY(js!sRVtn=aGZ6~WICFK
xRjp3Cl*$h|>k37f(4nMgC`*4t!`ylQ#vib@<a2`a(Ov)m002ovPDHLkV1nhR&YA!K

diff --git a/interface/web/themes/default-304/icons/x16/mail__pencil.png b/interface/web/themes/default-304/icons/x16/mail__pencil.png
deleted file mode 100644
index 47e552d8189a6009ec5f538bee6d02d332aaa97e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 550
zcmV+>0@?kEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005)Nkl<ZILoDx
zUnuKg7{}k;NG`N17w6KY<5F%EH{@L4EOSS>nApKNCt9?QnxYVL%Ae#<+{~Ypa86vH
z5hJyxopv@hGc1dl$r*my=<9vn&c*sQ5^sHap5OaCpZ9%xehdJ65A59s7^bHSIhAju
zko_<kt9D#2{JXouYZvvBLoRC^AJ<;p-oor~AQTQG`uO-F)I+`Gkjv_ZhO`l02wY!d
z&1Mr(ibmrS+d~eyth%r7i}dh-@clhbFE6odv4}|DvB+!Wkjpe(UDY>{2txcx#8DuC
z#qDhopW6$puj5puLPu%oPgd62T64uuJmb$Ij)OsLIh|P8*nr#b7f?=nRI|I?_}$wJ
zG&f^XsdTfFrlzk!NrEpFg6I5POqZhL<OH)OlYnyCGh2)po0x#a`v>%T)D;!=vjUy&
z+Zlh>9>0mEOY!jHLSXZH1(g5Y|Apn*Tu6RB3~g=L+}#DaEVs7yyO-Zi)3y72aPgbu
z{Bh1>WiC(1#=$JiEscU4a#^}sUB7Cz!o#QQ<NsKW!?Og_!Y3h5jpV>;UlhIMkjs+O
z(#n*XnGNyC$p6?m(4MqMa*HnUAgdsCIJQnM<12xa!ucSlMWg7(%|3ec3bRJdie>eb
o|L%(m+Ruua#&Sh=g*tx26Jj>O*L4#W&Hw-a07*qoM6N<$f@hNzg8%>k

diff --git a/interface/web/themes/default-304/icons/x16/mail__plus.png b/interface/web/themes/default-304/icons/x16/mail__plus.png
deleted file mode 100644
index 9e7e259dfc19351c2a443991691b243cb5d44d54..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 500
zcmV<Q0So?#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005INkl<ZILoDx
z%`2>77{>2}%_+%(nt$LFLsnujq%4nxud<jOF&K2@V?jA}EXl@(m5rh_#ll9SG^8dq
zrJ)hSyvNtfc*Pt>Gjw^bCsRU0JoW2(KJMT9Jl(GVknbSh{=o3uT(zR*i&V?t%uMT+
z-;bNSJA8JqmJVGRn4WfA-QL3O^TCWpk$8Me32RtOhpzmdnsUU|LFoD#YhJI;SR(N*
zFKg(~mG+5=w%Ef1qWAYWxxB=($D@<$m%KisLsyzcN8A6$<1p2e$WbVSrOi#9srKm5
z75m6Y$Cdixxq22kjzqAryNkv3b?l#>YB=W}&ysa?=t}+2P-i3-gJGIDxVX^WW%`0a
zxK>v+oO7>cr5S}w6|lRVphH)F_4an1t0(QLo7i3EVK}Vu1_GMo+PYAVX0uNx9lBEG
zban^S?d<N3VZg6$dQIc91J-$)rXk#dpR=VXbd@7-tk^Bqy1Jf~?QI;W?i%VJzemxm
z4V7oLZ^#(WGbAfN-=1Ak(w~a-Zp&8M-<*HM8nhufPix9@i5i)TT!rOB{`~M-0tH|`
qJ9Ixe%F;zTGbg1j!=saHHJ$+2Q?`g<QO=D30000<MNUMnLSTZ8^ZY#k

diff --git a/interface/web/themes/default-304/icons/x16/mail_open.png b/interface/web/themes/default-304/icons/x16/mail_open.png
deleted file mode 100644
index 634b83f282a6c1b49802094c4d59aeb26af51bbc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZILn=l
zJxmjE7>ED4fkC4#MiUkjCw4}6!oq|uCMH1QqF5LtexM)~Or=mL;Ufw~0r4Y#4%&&v
zs0ArnzS{z=*w)rw+iQ=~7Orsc^Z(vJIuN2>^5m}X`#f*iLc72gO#*XsJRJgC>J-?r
zSzs$>q0rkUR1)+}Gun|uE;ZD$eGVMwa=Cx_RBOgv?<DA(X0$u#z)`*|^Yx!>S#ws8
z@5nFIo!C=oB%iA^qa8Wq<{vo3f0TH7k2Oi-l{Pg#s;JQs<idkcepxsJ$b~G}7Kfn5
zM-<6kVI!9sYS~<yP$`a`v#Qadj2eBS$(#NM$gcJx<LgGo%lXlRjh}r`g8kTz4D(};
zGLf;fR%%(Zxu(`J`wYpzFc&O5>_d9RjFiWOHCG$tMI+YS?O0#x&<<|;A0n~(7>=1y
zP|GfwOqWvYBJ7ic5Iucd?1a3~ip1<a#HX7Pcix3G(}LujK|2(2_2A3I0H~psRTvDH
z)!khr<S=X>yAgC6A@MLa)d+F&HpH*D5Op*l{#_6MHv`6OUEB?U8fw{jy}nveRb+EH
zL=!<+tw#9lO%Nw;;<x=e!kozX4R}8{;KTd-h)My?rG{EoUSEGDv$X{|o7Gqjxbg0_
z9&cVYavJt{`|1vs{jNQa8fsZtU7b!=6o{!50+NI&uNNU%Mv~9+p&9MSA(t9zS&2?p
z6W`c?R}?Yf@o4X0BC#*|4mH%WGgVc!et!Ma{5)Kt5PY%NfsjKkHPo`xrKMMG)6-bx
z{}4*2{|a)cp_UykD!Oo_xcJ)tKrQ1>0p|p#@E@V3;12*po|=P`)q?;4002ovPDHLk
FV1ie`JQx4~

diff --git a/interface/web/themes/default-304/icons/x16/mail_open_document.png b/interface/web/themes/default-304/icons/x16/mail_open_document.png
deleted file mode 100644
index c9277d472a810915ac01dc115f22fb2586c9096e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZILn=q
zT}V@57{_1Eg%?F#MtIqk(M{lG_u`FL*-a2Msi3S)BJo1#V<bt~V1q%p%nzn+yVUKJ
zv8atmw}C4+Gh0~G({`NGeYj7ZK0W_k$e=0Jf!}uap8xOvKIfc?`!<^Z5A1gF(BY_J
z9Dgdl8KuUENzwqEV{Kr<C<3O_;)_8NVJ7rU5~8M{jk)o}X1Qw_>v`^&)Xu#7V2%Qu
zW6fmkJO4)kKJ0_-LT`PcE9~u2c4voD<uWCTMf#P?(dza#MYCD*hC(zkdQ*OHKBwV=
zleGoM_(#jg&^2d{<*j_4k}SqE8Tye-(z2@3Vk}1T>@4AM%6(tG=CejPaK+~VNu#<i
z$zI=Zxv;xS=|Z7yiPhygV9frg9Cx?NaK&SzuFLmnlHPb<Qn6B@ERTLz2`0hq%y@>#
z7aS+J;<~|bE0a}eWZFU-d@)xl9bK}%PQz1!1P89T+TY(<+21E6p^zsWCN-5hv?RQ?
zMy_D6nuP;bT-NJvmw5C%o;*+B=0Lno$qMg0<@Zx8ovvo#z!evJd+*@sr#J*6Jm%{_
zfL?J}W?ViWIp^kRn%}~5JbsXa16Q<lcWYC;o5~|b`9A%T2q`?l7O&NUHC#gmSvYV-
zi&m@K;4!iD$EBs}_v+?mU1~FM;ED?!9bG@U-LtSji;6<u6Nw{123a_8#hKRDdvE9G
zX@z%C_;33+APWbsINsEB<wSFH&;I~d@X^4WVjBMuI1Rr6OJ>J>Wg2$K00000NkvXX
Hu0mjf2$e7|

diff --git a/interface/web/themes/default-304/icons/x16/mail_open_film.png b/interface/web/themes/default-304/icons/x16/mail_open_film.png
deleted file mode 100644
index 3174aab5f884639d6872e272835ded7fb54b7da4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007gNkl<ZILn=m
zT}V@59EacSV)TJG5nX6RA7Ez4Brl=@O-j+ix=5jdLWKzY&N4Bn$fQ=;bQ3{n3&WaP
zD708DKe9zMwcPw@=vqX|z-ii8rl_dD&hLQYMMU+&bI#%YKhJw!(cIiDNJ~qLj6$Ih
z>w*;GlTI1z(JRvkzq!ZRlDE`}6$iYQz$%r(ylK6{9=UC`J1#oZPx#F}&gjrxKA``u
zQrI7!7FMejToGGT?y4s}&^I`tt9PQJ&H=5d8|5YkA~vhsbm+2S%g36JT4lV&VgX4?
zh+3$8+zm}_2X5AMpw##lMU`zxy;v{Jb}cM<Y}kt4GG&^tHRZY4Y?g0u=%5<63>~<v
zv*CKR4b>(a3bbY<XV=OzF1jPF$<Nt}QeAFdXHOj(8XM8n)P%U0o$_^WOV`%de}JLx
z4K&79<X5~xTy(hX(Cu_S0$XuLtIY`f@S)0NLSSkNv3s}UL`tGe;(^^z?+Af9JOq*9
z8?k>+sO-qD)UXw)8cpW>;v$AeMo?Z;gV-1~O76RG)!@Q8eJ`@KPMOTIZh1zBE*rMu
zWJyWZ%=|p2W@j-vF^t2<kD~NJKdu=EamnCD(Y-+wR=bd2`CghG!RYvq?6P4ijujVY
z|D2nHU%DD;@3P~(?j>@yFL3t8Q)JwEhQcZft{AOo@3b#_Y}ksVf`T0X%nW>i0EWiL
z(dF^L>-Xckw6_xOaYlzO8@3`oCnxvY^fWv^AKncN$nW8aiQlr)VZ&DJOHa@HDxGfY
z>x0Yd#pkiHKSGBt8@6I=Lc)bMhXY@vKX@l6{|dTn*ow7bVW)zkq6+^9wnADei479L
c{|Fn^FA11@tN+akw*UYD07*qoM6N<$f-rkiGXMYp

diff --git a/interface/web/themes/default-304/icons/x16/mail_open_image.png b/interface/web/themes/default-304/icons/x16/mail_open_image.png
deleted file mode 100644
index 2ac1a42b1611368061e8e4274c067d033e494d85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILn=p
zUr19?9LEoP@S&*Q6nyL@>!}cW=^={{BYe^xibN+Q(VuCS_#kPDG?iRTM79)L!*w?W
z|2#M?w#?;ZlQ6fblU)~c%^Fi%rjzNW-_GwMAz^<HeC|2??)URM=bp<v%`!HvlCfEi
z_lb<v8VyWsXktFKEM07o$q8Ch?O}JfM2*SB9teU2`?-Pgh33jreWj*bP`n%&Yh55{
zO*N&^Ue4u`YNIiCzXpeSgWN9NjUn){^9yKHKi8HD+C0gn#{u3T+uL@ecG)hs+9q^~
z#P&AwJAe`aDAWV@dV%_3U{nO?UAv}ekQ{QE>#<B8wp=#PPV3eu-W$+0)QNGQ4;2PI
zbT$wA-uYp2`q9hhG2bV|5(!vr+Re|Fd^5SMUR_$|oDwkN(Bn@>?{T^ijmI(Ystr!Q
z8M*AbN_BJfTNrwCCsx+h;Oa}=B@OO@UHa3cqpPeQ%r7rP)6)ua$Yn(h4Y!gzJ6K#=
z#A}ZSP333d>OYR)n`4N$PUCCf0zz+3NJlr>?HG2u5ex@G4!P`VUES??GKtvcCc>+$
zD7<zNl?A7utI5Ee;}YVr61WFXBCxW8yUjHaKl-ICIpngus;WEdTU&_6ViF#o9gUB&
z(5TEpi~1Zoo}EWiLl*iS4orzNKXT-d%W^9!6m&7P`vU*I2~k8S8pRi0+Y8m`9c3s>
z4!JB_p(tJ2*nk)gW8CYN<{&@re(cSVLoPd0TwE65-ADQ5%!ERik3@b8WhhGyx$J08
z&VB3TBtGyRLi{)W4U{E^Ty`)cqu@|xX664tF5@GGlgdf|N61O}4!U)y7K@rtHvj+t
M07*qoM6N<$f&=b7i2wiq

diff --git a/interface/web/themes/default-304/icons/x16/mail_small.png b/interface/web/themes/default-304/icons/x16/mail_small.png
deleted file mode 100644
index 318490b36408923bf4a7b200b38a0cc144cdf78f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydu{YLo7}w|M>sko>_H9;ta`v
z?Mbcqe@{)#++pA$x1RASw|JV&-m<s<_t*b7Fz}F3>A&7^C-bt={C(Bm>)-Dz{=fh4
zFV^D<b`Y5(>(;&Tci=UjZ}W5i*BcxE=kKdwybP0^Fl*MG>-YEnuV>lv_Rrqx|JUE%
z=U?VnGr<C6PhMr^&-IOFwyd{$`WzoARPJG0QB~c3diSnr4-P5(d^k^t{RjhtU*~71
UAldvZpu-tFUHx3vIVCg!0L-&y?EnA(

diff --git a/interface/web/themes/default-304/icons/x16/mails.png b/interface/web/themes/default-304/icons/x16/mails.png
deleted file mode 100644
index 5e7b08db8d5e662706b5c69ee0edade7ccda2013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 473
zcmV;~0Ve*5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004?Nkl<ZILoDw
zJxGF46o&6sQ$r9`n_H7(L{p1{gG;y-xI|f$Amox!4X&<kB7ulXAWenjkeTR^KWO=b
zL_(sN`r$7s(&@gRDfUN67ak7h-1j^BTt-CfKd>XaeaNxHq2O$efkOQ7z-k?^6-cG1
z+HBG*U;h)hM-F-Xs<>p|YzAtf(V&}noJzGCb$h)pV2*p_kQW!6IGya!W@Ec1({`JO
z@`6B~P>AxC3N<^OA?U?9zef)F58gV9#de!clQ)qdcQi_;S6AeYMEX6i=>5qg30$Gk
z?b3$PxHGo*WjIWQYL$d`o7N46-LbuG*VmLO6zHYZqE)?qZ)|U;&qv-^jGlNe*J?Ek
z9`J!zwpgT#KtQbD^~kw`L3%8g#idIsm6pK+KJdzxO62DccJB4k9e+$z^q3F4SJZ0P
z%<{4hOiQI}3?A@-7aj@qKAWX8k4LPdbL8Y2jh-<!&za*)GI+oTUJtn(W%%Fy4CbTW
zi%KOM9(ce9UeERVkBoYA*n&*fUjUDR(_cV-N+Mwca3(mj?_R&r_Z~TKQB}OMY6kWL
P00000NkvXXu0mjf{U_c<

diff --git a/interface/web/themes/default-304/icons/x16/mails_arrow.png b/interface/web/themes/default-304/icons/x16/mails_arrow.png
deleted file mode 100644
index 49988fa7679584f0dfe8a00ebfae4969a402bf07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmV-D0>b@?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00066Nkl<ZILoDw
zUr1A77{<Sw>?$vUz`E@sh_ss^@v1JnShXMtJS9a~$qWYDMH#D$6;cRYDOomzade|U
zcoD{M(58)D%rnPKooP7PVZ)|}=_YeXPv3JQD=cbs;K$4Rz3+L>`F#R__#cF8XlR?e
zKA%O>Rs|OG#oJ!*cdkWKDHKX2e39{gf^+V1pI<dY9R2;|x=}1*Y-$SmwKY_>wsydC
z&bh~ZGvJ=zFYc(Su=VuZD9fd+VIZh!$gZxUw7Izrd-Gh*xySuqyqzA8`hIQ>;h7l(
z5(x~9jv_EQ`K_0gePnhPhEyn4D!AI+-Cni#+jtzgLIFm(48`rXRqd^YLYU9x@Ofhc
z=Q=w(s`mDek0YE+Vo~;|?Dm_29`vDCdU+Wm(WqH}*FOjwIIk|j6U&;RjjgSAK@a-S
zE1l0HA}?$>9L9vaOjh<h=lr5i#}gem_DIVdYI``ix1pg$(1Sko;w7<uNT=~47&NQn
z)kj!*ld$$pqtO*W%gY5kUIOaf6N$sF$Yntf`p|1y*D)`D_h-($*3q>HTuB1W@gF!+
zz`<K%F+mUdd|FvSW_^7J9o_^^-Vfn~`yGxthjDyh0agvDYkw2lZyQkrJ@z#<Isb*)
z3r{mgLcktnFjjlXr^pb&XSbwIa^P>&obG+T>ujG^V|}K`5W#@2YRuWmR58aq00000
LNkvXXu0mjfa`6og

diff --git a/interface/web/themes/default-304/icons/x16/mails_exclamation.png b/interface/web/themes/default-304/icons/x16/mails_exclamation.png
deleted file mode 100644
index 552882964faeab652bc946d71093172140147c4e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZILoDy
zT}V@57{}jT)lE=A5Ykl;L>J!FMH)nOBN1K{48kJ2h+1O7s1c_0#e_caMnd{pOBtqS
z7lW)Ao7K$iY_#dzjyq>+I#RY{n`@uUG5YsDCo=5=lrDZeJn#EI&-?yf4g<jc2X?im
zXNhaQy|tV(YoJ#B@QTIqle2;>Bc0FV8z28KXrFSFr&HA-mrN!?m&)ZZ6bd1c$)Hp&
z{{gMjKIJH{4!GXe$6C6(Sz|}Xxgrn6QYkq6e#90QkY8L}f_inG?^BNQE4&S6bN6s0
z0%tf3TOfc=yB)UC(H}jp)Vm}JDXx$!m2kSPtzpgHZ$?HCPp6S87IDI8Y+SXsTWCet
za|8qSCQQcT_);j~Xmj)VRe2Bk1c*W%3SXb$t?e*|#(bFJ`9pgB1x6m^LtfGOdAt?`
zwJz^Pu@j#q1Iqd55dAuYB#V03-uikyBM<T+uV^9x7k@CT(+MAcOscN&5CX1~$SCd5
zYPC?NZ<I{!8@(0#t1fS@tUS)hgM7$~9*L?LjiTS-P^&1t-~;NAo^9d(EkjJwVc5Fe
zZ@j2E#{2b*Jjllx3}Sq44wL-azfj<LcM4It0pVZ`23{Hv3>-kfvoB${Xzts(G#W-8
z<nt++#B4UZ0(sgF?_dpP<b#+JcdIv`IwkJG`~D5?S5Gumj6AkfR~!DuotvAyV;^>8
zm5E(YB0G^!HmQ}6-P;uF1I=STl&#}z<y8F6qgM8i^Km)mTTFO*o4JUtyX@X~NCw|4
Tg%$ii00000NkvXXu0mjfJ1Zz0

diff --git a/interface/web/themes/default-304/icons/x16/mails_minus.png b/interface/web/themes/default-304/icons/x16/mails_minus.png
deleted file mode 100644
index cb3ec83d4812518986503fdc7ab18fa44bba8a4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 517
zcmV+g0{Z=lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ZNkl<ZILoDw
zy-S->6voe{h?5{_{{xpOPDMJnI=FNa6<tD`iWUNjSc`SYSSLXg2~tc$41y?@iX=ng
z2NC=VYW+ZpL4!e~FVV!tAbonCw?t}HF!;ic!@2jl=f1xy0OUDHkH>S%r?IhG<xLLM
zng>6)Tv^_Rc6X6TrSMzFKL+=iW1hE~L)x8AVl$FS%x!KWesO`!&CNZy&VA;XHwW~3
zz4FoRmezrRcWDhB8wUKVt2jPCN9y|e7WU@4?lZ^y9q*2j5%<F09)jE3m<@;V#plE9
z`ug8qEBnQr9T=*R%w%Bg>ubr`duDA7u|xt!I*mq$qcvx5cOZcMSPZ9ES9sms-IlYr
zcYYqhjSU=VUt_nw7kbc#UXha%d=G`p`cTi@#L^Oeo}HOPUp6<}g&y>wS0o<CqCVJU
zFo+d>Ojh<>&w5weY!k&*RUM?rVrdY1(1%`pB-X7+1mk|cS=mq5)nTf<9N#J{;VdkS
zj*5g`%2$zLp$C2F^&=X^zW(n2xGWa@YHGU2pvbb&gFf^+y1aalajO;m6&3hgR)(&E
zg2P@tNE{+VLXWJ|Q((ScL^>56Vt#o_iSptJlq&hJ{u%HGu3Wz1kGL$I00000NkvXX
Hu0mjfDMj^q

diff --git a/interface/web/themes/default-304/icons/x16/mails_pencil.png b/interface/web/themes/default-304/icons/x16/mails_pencil.png
deleted file mode 100644
index 63a8507c015b3f4bf049c9da2f3bc7dfdf8792de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 591
zcmV-V0<iswP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ONkl<ZILoDw
zQAkr^6vsd5p?XP5g6bg<dI%r%wI)dqEfX|{&{K*8QcFx&w1=A2sPz&^1SX=G2s)=o
znhjUWi+C*=L{o9)Hr8-4bJ+AU-P|0~zwdn0p|l=`2YwvR`TpnJ`#%f-+YjuK#ggW6
ze}4t%W)@V4!3RA(JKS=3Jcz_%_`}!#4|*pZ>FKLt$-T}_LaRihm~^=iURy(QYwI7V
zPw%87y;xuz7+_6iGizvVy`A8qB}IYcbYf|B6|v3DG*pW|e<vO3_xRR#b(ueVy^!bU
zVV|8v_t+ThGc&20XR4>%ZYbPBG?_$Qb8~&xzTZzzBNT~1NhDBhGBsrF+dMG=@8~Fg
zR#xJnM)NXj-><D!bel|o(TLvMTpuGJ<cE9(mX~33I7H4=2ZIuxwX`4}kK>6}iyD=x
zjgb%XL%ssxFsAsy-pVq*@?%n_n)*NdHptd8#DCq#>4Jg}c|}DpjujSOXH^Eno!=W9
z@P$I+NR+<?0vMDek*WUlr5DnWS`0ro9Q9u=KA>TYo#Y&1WjbBs0{17+&EfmvB7FRJ
zcjI!8;NzQ1V%XAAf*W^BUzJ`v&(d+OwpK?+@~^BQxW2vz&w>-<BUi+5U;70N+uA^S
z4m+z>rxuWp<0_Rt6ZJKDc0@gRsz2;2xq7CZdZa&+pU-xnILJA{Ih6s_mFK*xx|mbG
dU8j8SioZg2xU<Y~pk4p~002ovPDHLkV1gGo6Egq+

diff --git a/interface/web/themes/default-304/icons/x16/mails_plus.png b/interface/web/themes/default-304/icons/x16/mails_plus.png
deleted file mode 100644
index a3f2802dcb0be9521ee4382e3ef0b6a012f7cd59..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 550
zcmV+>0@?kEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005)Nkl<ZILoDw
zPe_w-7{?!k^kR}iAYOwmnsw-46QR0!@SxJEND4EJ84lc~MFo2B(2fdAOamJ_gz6xb
zIKlac1#3F|FH$Wg8#?zg-DD2w+wc1mh0>_e3m+c7zvp?M_x=0?fcy{gWMJTkr-Or4
ziiQlR(l0*h??2?ecVz|fWD-Br`ai)w=Qz)=>Lsl`J*3e{Brq{QkLdO`();_z;5qx8
z<Gfz*%;l2DPN$f=x|&jIC~O#T`~3*VVo2`o9l@;6RiAU5|Ha$d+v}WKU4>_92_u03
zUX6}oWOnu-tI9mRybMDrB+_Zr+wBiB_Wm$4gGf9MBbCCf_I7i|-p=uHtVJT&+}%Zu
z&DNZ;w`+0|p1C=EQ@PS&c_{Rt550mL8+h;a>UvVX^Qi^r-d;iN*gd_ptgg-?^q>#D
zg3&0Z)rGzDc<@<WCMz?~*}pV=9rZCQvK)n>vnG?ZptSU+(1Sko;w7;z1cMlIyLDx*
z9=?l`p$c4la}_r>8z3+81DfuFZlMQ#=(V`Mjy3hWzf=6W9M{4%$B@o5KA{JFzHDtF
zw6k*}w?CS3q0fZ#j>{<dUIBTY=hN8p96}HJ{0mvO{7})?Vn|!APdZMES|WUM6orbS
oztWWbQW{VBr8(OnmK?p{C&nqlr3Egfj{pDw07*qoM6N<$f?P@tUH||9

diff --git a/interface/web/themes/default-304/icons/x16/mails_stack.png b/interface/web/themes/default-304/icons/x16/mails_stack.png
deleted file mode 100644
index d81d95d697f46745c730e33709733ac62af932a4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 430
zcmV;f0a5;mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004XNkl<ZILoDz
z%}WAN6vf}J+)5DjSGWmU<bP1x5DFxO3X6!Ojf-aO+FdR+)J?T<Q;;@<5eQEBkqC{1
z4Tz=U7o#EF-gy+wq>$)?A9K0qzH_(_h7l2)1|~(L>?9oi{YD~dyxtxQK5H@n-e7R&
zzEGfMw@aTqVieFYgV~{EZzvR!^LYx(GTmmg^iV9CK<_-6q<W`AM}ffZM9Ei*Li%7p
zZol6>Q8Emg{XT8^e0vim!>Fd~v@S{e412&;&SdDl)uInRU<5sA#^lpjj9wZITJ?Ai
z81{gxR<F}_Dn(kYM(titfLippW=uYd$LS`WrWKd#kYNwFzO~zwFPACChtx_%fEqn$
z#^hzE^K#y9Kc2JMHW~JSt6Hs!$5K?4E)od=YV@EPlb0M0i7~dwu`uib*SlPfo-~b~
z`S4?@BtVTGw7<!-Rx1++d%#uYd%p6A8U?hW<e$UcHsCrArewpJ;VgVR|A%Gh_O!qA
Y7iVp(qmzyE4gdfE07*qoM6N<$f-z{sng9R*

diff --git a/interface/web/themes/default-304/icons/x16/media_player.png b/interface/web/themes/default-304/icons/x16/media_player.png
deleted file mode 100644
index b35317b898ad629cf702fb22e6b679b123bd23ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 595
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV3P85aSX9I-8#{?BPdX!?ffa%
z&Dt|0*i>BZn5Y;|e0WIWpn;HcNJi9^RT{JEdS)a<ZRyaw^~7k))W!wfE6t3qIQ@~H
z?fEf3rbDS?(c(vH2d8##|1D>=y6xE^=JwCF=O50iZax28_{jV3(k9nT-_2)`ZGP2q
z{dMS_byu_6n-4Plt@|HgvDi7h^w8sv8gc<0Zi_pPKkjf*;%Gm-V{--Dxuu&o%r{rq
zP!}ub1XT03Ok3_-mF=B7|5)E2zrW+xvhJzr?KdK#jy!#u%JP2Q!;`w^FD``6E!Y{;
z<v!PsePIB{(jd;edE%RI@_gUId`&O*$h&I!GP`;P*<GuI{gwxByqLHBzvY9sTe&l?
zZ~hT^$JJ;iSc<RR`QwhOS&9-or`}KSP?>Q0slbjRzWLkYAOG&pzwz^vXvvFJemCBh
z9lh+fxUp#GpLme18*b)wIqZ#dUl=eUT!OEC#`)($>vkTO1X&ffI`re7sI^J;_3{6-
z+T7jU;WA>~t{<D$1Jyn~o;>4Zib_mzzp+(GsCrm<xajPoNrE?X#4f)SS$vUWs+a2_
z)9;X=$}r*DeA6dRPDVyys@KW*qX{;0-aDSjrI)<el&CGgH%{M2?Xvbg!<jxxbNv?I
z%t<nu=>e4vJg?d7`u1ke(Ink_#rgT~L191r?ESDg*CH;yEHM`o6WeBTZ|(uHShJk}
a3?~$|?{8eBxdND27(8A5T-G@yGywo~%o=?F

diff --git a/interface/web/themes/default-304/icons/x16/media_player__arrow.png b/interface/web/themes/default-304/icons/x16/media_player__arrow.png
deleted file mode 100644
index cf012c86d84ea366b143bf5b65e231b20cb0cd6f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 700
zcmV;t0z>_YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007mNkl<ZILn2R
zK}ge49LL`w7ASNmu!bOE;-%#(tJxsUfiX!IW1D4-qM$HSYbHi{h={eKa6yOK3}MA!
z9_G4?QP6NsP1~Ps&OvKyF*diUcuDZ&;oJZBr$>jZ9(>^O-ski9zxQWGqmdCNlc`pu
zOXS*rAg7jh%wRBZ&L<Ly#Zsw+VzIa-v_}rPykmO3p3_Z&+wI2q_&8iH7o1KfE>`V=
zR=yjW{k5=kwM&PP%R8pi={VO5g#yl4Kg00y2U;HHp}4h(UU?OcRae7)sTKX_bRdUZ
z-m#934$h5SE(eFhfoL>}d_IqjjSXBC4`@Ad2!SU?c;AeG9CCTbv|25vH=E7=aloTf
z4ag?L_#^}n4EjM1xx8a-ZEc*sOeO=n-7dX@-|xrt^fW9@dogOgkM|$m!8_ptIpp$=
zX*3$n%~UFdSS<EW$RU?^thu?FV@W2Hh(sdN6_%HmvAMY^L33K8J#xt99aF2-oPmXf
z1<cLONxzE1a=9!)b6OkneS_JvgcCg@ZguwvJ9^p1m`bJM4ALjg&dy4YN8!}elmyLb
z%{Z2ZqX;xTjTTfdzMC6t3C0>58#zOQARrtLV|{%cD=RCA$K&XK8;5c93p!t?aPYPd
z7ra?K&jVsC9I(dCtgfz(DV0j%&iwp5CMPGQUqy$kuC7AwE8=kuxUvXz#(p#S71(z-
zEHD~1H8rfhzJ8eQ9}ET&3WbnPr?IxShQ6@~S{{6adN=^(zywsTEc8)ePmf=a_Xf<=
zSBO-JW60z2WatfMW@fhJu*C~S2-snIwN!C(p#N9Pc8VxuGTG_M%F25pw!g9ccu!o`
i{;asI;jEP!YJUP+1v<<?hjG#X0000<MNUMnLSTY+OGu3X

diff --git a/interface/web/themes/default-304/icons/x16/media_player__exclamation.png b/interface/web/themes/default-304/icons/x16/media_player__exclamation.png
deleted file mode 100644
index 08e2647eeb1ccae8fa03a246f2a2659c12f23481..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 734
zcmV<40wMj0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007|Nkl<ZILm#L
z&1+m$7{-71+;itElbLDmrSlQm+7Fu|F@tEZx^WibLIpwMqMM={*KP_1gpidBQ9%$v
z@DDIq6j66#7K$K6vr!UBXoeWtvG;^z(wWTM%=ze|Cd}00vpk3QInVEX-{Z~A%>m$f
z-UZ-!V4VNgec)H;+-(5qoCCl)cXeT5VLpnY>Ep9U<#`@TsXrDM7e53Z8dz(O?+Z~B
zO|Pu1Af=?=?~^16KYuXKJzsJ(F-Co6iW?t)HEpde92ZGr%*g}B7?zq(A}6L$s?F|h
zn}+YRE+p5UJI7WMV2r^S<DD1`B@o6KUX50nos~pUL>OM+y{}=cdYUUwg`BOvh%p9h
ztvE5zT8|`nROg?r@ct*Caj)MYePA)hptbfMi(swg@bHkewKYnm62)SX_~3vazxjc)
zv(M1!IL@50qX<I=!WcuN(HKc^{fnCqr*!x&k@$&0`(=zVk3|q#YqZw*zE7=IBMd_T
zRD6fK>%VcSex0p9ZxZ-Px|jH)MOtg`-wso$R0zWmr4&jjq+KPdTw*MjVf<8;nai!q
z*>sO=x;Khot;JePu~<YY#m2@4U@5W0`71AQ?d>JL{PbDsQ}N6jjoT8?!wJN30%Ht9
z2nvM)S^qCmX&-y^56jET^gB(;<!V_QUK(f+?RNV=2yq;f&1R|9s`y90kSi6qvv-T{
zzq^4-)+tR!k=DF57~qM`%}w_9_UQF`(m98<mYtm)TCEn{{oir!E|xV?Lh;(`ACZ&y
znK+f?f=s@yHCF|Y+uq(jy}!RdXf~UhnM?*LC2<_HzWO=i`CYQ2MLy`#-JK^Nbjb%D
z%9F*5$r0~*zywfBrBdgDAgB+2=Xc&rUU_2DmWTI32y7~FT`66%^*6U30Bj#!8p10y
Q<NyEw07*qoM6N<$f+-PRFaQ7m

diff --git a/interface/web/themes/default-304/icons/x16/media_player__minus.png b/interface/web/themes/default-304/icons/x16/media_player__minus.png
deleted file mode 100644
index 8fc1828304a46982d2d556fdcfc1245fa51b7229..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 641
zcmV-{0)G98P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006=Nkl<ZILnQb
zKWI}?6vlt=<)xOU=9RpcU=x~Ru~ekC2nLH&X2GqXF5;kTDFwlTP&zs3kU<9#w3{yC
zE_QM0P(%<@Z17JAQPP(oF|_$}&%F*Mu_?89rprCt?|#3JbFBIKc>pZSngA{VCpo@;
z0~^MeuK<oQ1^{Es+{((zvhVxT-MhnOSr$PMd|F*yeE{qWXsx^bsPFsJ>+9<{jzhEA
zq}6Ki{{AwRkV88bVRmMUyAPjDYptW*M~;Z}J`fRJeV@dMO%Vh&s?{3VP>3zt;l{;r
zzO}-L2qI$j1P(Z`MT9H<2QnE4-}mvn2^L>MWHiCqa~|o@%ZLbCYr7|)l<ISExK5ux
z#l1&4D$NEb>KYM2DP<jrptWXqcb9xV&&bFKuIsW>uk-HBThf^eG#ZAnG2M@FK)@Ce
zve|5(gPTuY_s)qp-3*RIu$59Mr3i&WB$G)z&jX-Ztx_(RyY^8^{W}8@A(cwuc^*L!
z0O0#RT5F2MVqXSxrBXkF)*7ufuImy60o&W#J^QZf((Q|geJ!77v|jH==sFM)Y}+Op
z-Jh4wOG~u!dG_}9ux*>$g~H-+r*qxFrc<lch(scN2s=AF#N%<2$s_<@wzjxBGxImu
zOeO`SUaYO*6bc2>=`@3bgN`u<tu>`m2@xR{iviG{oaFJw2F4g{+vZoHP##k1rvsZ7
zFa!)I5{X;6T<%Ufoj!BiG8K!(!otGB(@LfC9B5cT3`h<P42*}v;o1LL=T4{dvE6R}
b0Lp&=T;D!$sk$fD00000NkvXXu0mjf1?(vx

diff --git a/interface/web/themes/default-304/icons/x16/media_player__pencil.png b/interface/web/themes/default-304/icons/x16/media_player__pencil.png
deleted file mode 100644
index 73441b4189ea787b64f7943b5b5585a70df4ebef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 716
zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007$Nkl<ZILn2R
zT}YEr9EZ<KV32ncj44Pi6)aKOq{S{QN3(^pkZq7%)J2#@RvKYs7YSh@gbN{Z7TAP=
zB7V}+cCnoM$mQ^J#oAh|iSy$wNp|7IulIlGKv2|y2M*_bp2Pe8UuLmb7-6+qRWc1S
zSN;PzD$y~s*(|uQva+(8PN%WHzW!I}89C&Nj@8%K3$BvjbUHCKGz5pkfxf;zT+GdZ
zQF##hqbjsEoaL90D>`N}nFQC?*4A*Y^8?J!zvJY?6v|pw(X7nH@%(()E>+{^c@xMX
zS9Gkdu1;`0nM}fNw_{;p0jX39ySuw+lrN~RJcg+*3q}UIK@Pd1V@9J<(40sl{<z>#
zO*s+~AKr(j;PJRX4!P8H6&EvRFc<_k;_*0aHXEOV%jJUK??>y2LwM2o0B_yn7#SS{
zIpn%?a#%=`7}M+Zf?LsO6pM?C|Ad?twc7SolE#9Pbc$6~RS8-nkqGAJ=lLgWZf;_4
zZ;wNJI-_S^uNRG4?G!pXFd<1^rqk&Jx0jcfF*i5Ie-(ur8yg(j)0zLB9lgE1$Ye68
z$;<2RXRL;4wOYX)dc|Nc$cIPa?CdOu_UWV>Z=5=0()UnWS~{&zD9T?ld1*8nL0dQ+
zhR^52&dv_Dwzjaew8V*j9EESf$m4;YO4Ob{Y%eS<WKBvXV?{+ptfHcVxEl(EFf%j5
ze-&M_y}gYupT^;vJj3IDn;P!d&p<9U)bdqOP{2w`O77G5dpsUKs8}q9Z}AYk;|3nT
zlH-ZtCwxZaQX|#@nOu3b4Gs>*X$FBnfHQ2r4E*>E$5RcaCwusO$RU@SUoBI}lx1aQ
y)n;dBx63>h$mg(D?~5K$?RWlm-cBwx)cyq4{V7hLHEuTm0000<MNUMnLSTaW22#-g

diff --git a/interface/web/themes/default-304/icons/x16/media_player__plus.png b/interface/web/themes/default-304/icons/x16/media_player__plus.png
deleted file mode 100644
index ba11ab750f432fa263b815d9efd42c78614e13ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 682
zcmV;b0#*HqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007UNkl<ZILm#L
zPiPZC6o<b}HZ_<w+h#YxZZu+16sd|}QN&`vgIGLP!HX9U9uyQo{DTsD@}z<nPa^0^
z5B>p<VlQ4qi;9J`q-ZH6mF}jHwAQ4ZH{+os7*XG8n8*C)`yMma@bEAImSyz;`++Y0
zUyHyyW6W0o+ZY3YG3G#_P`KuKUVn4%&$29wFbu~>Mn-M{YXMs8W<Tk9UjOLmD7I}=
zuh(fb8oa%6jrpj}N-Dvg-P^f*`$50fI@vsAi%9DN5#j0dHtf`P!mvuEQY9aaG7+&k
zwQn=u8Zkr!5wThUzY#=4gdy)E0|Pdm=i$12TzmqF-V8f-y5xEfA|hz5Bdq|XR2#vc
zwPn`^uHL!Fe0_;^HI0a%l(PP+ptWXsd6{CdNOyNPj^hy2YP@;*n%ux%mX-{gHtBYS
z-vS~cLO!2wBRGBkd25|X)11Ly6(UM0lu|^aQGDOWbzJ}|l?vr@xrvWb>fbXE5wh7V
zuImzpApoA|p|$4Rrz=dZer5jX+{v!F_+3HT6|~l9t#KTOFbpY`N-ccHaVY*Map=e(
zkG?<NxX@ce8{MwZBoGlIkqF7;+IzY5=_bXWCCrLYl`5tombUc=3}be+S|yQ4v?&BZ
zKsueq_k92+CMM}QoTdktP=y>iF_;CiqtD)8Pfbmc%jJm2<F+vdtu?c=vxo?(R0@D?
z(Jg#_F^(~Yj^mw7Jp58t2|b6!m<_C-nVIR#WHPJM)6-MATyCo|h9C$Cf&hRE{#o$h
z%=_~!$O7i47z&F+z>)=|0KcQ7V{<GP+w;Hg+{mkA+B0cWF=OV{>UE&}3!a!!&VrA`
QHvj+t07*qoM6N<$g2v7}$N&HU

diff --git a/interface/web/themes/default-304/icons/x16/media_player_black.png b/interface/web/themes/default-304/icons/x16/media_player_black.png
deleted file mode 100644
index 4e7d7189e4583c517711457c449358017d75a2d5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 513
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU_9aJ;uvCax^<$rw^N`<>tA->
zCMBlMWv&t}KO8<U`{Cqea!_FY4HqM>dWU9@jG)68+}QYJzATuq!f|qo!YPiW9RiP>
zCa3Yrh^~2O#lb53>Hz!fz5Dm>crG{h-ERxiKGVGa4|hEOXQf`Z|G(`-4+Xh??}t5n
zv5^O4TZ?w~M6GS}TB`Kwh=cte=jIub(nnu4`L|q{%6jK`lHr-$809^m`(BocKGxRN
z;pIJGVbk+=Nz>C8Ixm1Kwk*1+;k8s~)>*ZXP}l9Zk1i5h;N$zKq*(5Eb@T$~aIp)0
zE=v2Ey54b?+?u{)m*vr;uCgUBPBF<HerV8jRB6>!tyf>Iq<Y!He3ft9jW~Ssr{Fh!
zKF9WTIuA4@cn&@O_=i(=*QSQ&4hjs*FLQ3c-5a9S>a<WH;jCOb$P_EP`TTtC&Niar
zlTR*bFs+_*aiKPM#Y6R5Z_A#1uH2ZhF@j~y&Bq{bHoPj@nXol#;_0Uo{FXobTEz+#
zKd^d{hQUmqM=N(sIGF-dd_ekrhKW?7*=#|s)(L0RAZqW<@2-_<mf~k?emMF2mYX?2
y7K@#?Z$BJ6H!j&p`Tp<S^8YWq+<E6>J>wtdFcXHUcddX?%i!ti=d#Wzp$PyQ4e6f%

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium.png b/interface/web/themes/default-304/icons/x16/media_player_medium.png
deleted file mode 100644
index ddabbf5a86865f2f6af0bedf45bf5b4754663c1c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 569
zcmV-90>=G`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00062Nkl<ZILnoj
zv1=4T6o<dLn`6P%z1;1xxfqh*p+t^o5Dbb%u(nR)e<5OFKnSU9#KPKtK&|Y>6xvvc
zAc@7Yw-T_37nWO>WS{KpScDBE#;CvQ@#f9P_ZUX4tgHZ_l<EUFfODLlAHWA|Z498T
zwE$RaZ?3Jatp-7`Q1^~UDaB|s`n<lr{unp_R8>`<d%o{4Y;0_xwWcTvM1=Q`R@rH4
zes*0Jug>$}$@7J(s=WG=HpbL-!x+QM<Py3&&uBDecX!O~W|J=s&E4yB45fuJ24hU)
zB!Du;a3}c4(vl_!0(`&Ey%*q4g<Kx^%ud~^0qPJ?mgNzH<GFC9$HS-3*eP<Htil*W
zS(bk`*xTD<Yio;%i3!^6Hs7<1x3AwYyL62_w@gp}#b9}P834y|Xt&$kfAx;>c#Mb;
z`222g9AJ#W^E~?fK3Z!4CMPF}<CrYVP6enM(ChUmih|9}O#lXi0li+2G)-%OI@O@n
zYLTWXN*&B)Sw^SRsbAplE97~O>$-HiT>xCyCC~E{0gWh%5D`SAX|1KIDz>+`sj7-F
z3<<;VNY7e}h%`lnD2mW|o)gD0ola*zNs?%0X6B-ZFdPo?JnwJ?5y5dBk|c@JG~G|r
z6cIrIUEsXqICEO-#eeyYWm$d_k*~lv1)KrS0-FCz3FN;3DP>7Wd~xTd00000NkvXX
Hu0mjfG$;;C

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_black.png b/interface/web/themes/default-304/icons/x16/media_player_medium_black.png
deleted file mode 100644
index 7fbe8d6a8d43b232a7c7174fb67cf1a86e605779..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 532
zcmV+v0_**WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005oNkl<ZI8T+5
zyK9<J7{<M9jx8wGrDV_{p;#<6h!}K;7x03LC`bfB5NtI51sO_&EbSOHlK}}1NxF!%
zgHS3hy&xq?q0n~u_6!+Z(&5Q@4n0!H0m%nHcs=j$c|0F{CacwI`bS7G5KNXphpx=2
zFgY$3i&w2y3(aOz3wLzr>I&Xd>h*dU4u|OX`*Pm0KSa#wKxB0V?NVG8(bW}98;u6i
zdtZ<{xW>jy18X}Mc;U3;xyyyul`xvc6zI^^6@0AM>*#j7n9XJ|3<LA|95qo8e)bgO
z{X9;NUV#o>UBTyCt#+rNv-t#nE<fPYw=pJ@5$Moe6j&@4#n)=JicY74!C-*VXoTr>
ziuU?r9PaJn?YlQPIXwd%x+?d7!K_lLpin4Cve_)+@wkMuI;TTdS8!e~myyfmkVqup
z^ZDTQdL^8B#vL8Hx`H32QVE$%W)Y4=A`(@?9UZ#5f}gx%GMR+i?S|j)mscm8dBz<b
zy1Ihj>iQm!N0QIyCF-|&4Z4d0v)QZ)4E|dz7DF%?giCxp4u?a+nP=S5q00=j^5G!(
z9tws2rqgMpQYl2EQ3L`331^;hM~ChrES?8~HNm#vm*8dzbm%g}tjQ*@3m)AQW^A{a
WK0kbT8{@?Q0000<MNUMnLSTZkA@KMB

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_blue.png b/interface/web/themes/default-304/icons/x16/media_player_medium_blue.png
deleted file mode 100644
index 1edce9727b32a60f26dfd350a9995ab66c670018..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 602
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU{dsSaSX9IJ$0g^$K*trWA`^7
zZ))ulh@Gq;c2W0@K<P?n*;{;N8@)Y>4TE{4&wk^Lj%IVraW%=jq2Sx9SbAZ}%V#s1
zH!22azEJCAzua5)al`WOm9PI=iMY!DdGPT6f7|!p>t+iyHUzLVhjl7){%3aHxhuWR
z;Xt|ibZvXh>4uwj{&e55*!lZ)#=8B_j-EKicIcr&(nblTi5;irPCLBgLJiCFKKbU$
zWr8IyX4x9rtf`dLm|Adi_OYqyp>t%l7VlN>f0xGXw|(2Ak6-!j>?-2~DSP-iGtM?9
z-d#h)$!xZ3WZd?+^^e<Z7CgS<d4?zc=#LBmu%fS7Zndjd@0U%OW8Zkb)!!p6&A?ik
zU3OQRe}&Dg>-=G12@-6JE^0jbXd%?eGAF(7(a!6=-{sW|?LP8>^_OKId-weFi}<*(
zAKa`yVOm^iw#%Kbzv(>a==&y4ul-($)WRge`+R&CGE79y%qetlUw2cOnR(Xs@~7MH
z`>6%qx_^9n6z{wcuY+eK%RvTSyuN(qi}NWDCftvmY=7_gTHPJfrolDpO;1}De(LV$
z&l>OEEZDTYefcMSWtgG4xlR@`D(@y;-)m{!?*2*l_U_#)!d7#oodbqzc<GH$fA4OA
z*x2N6FJG=dchvQZj!uGy*u6DtHD_2p?&FKS`tzsEq%GX5w+7$H2|kqP|5wzi<mS(d
kqP{}h??2ApaQTaDLA!{jk;h$LV47j@boFyt=akR{01Y}D;{X5v

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_green.png b/interface/web/themes/default-304/icons/x16/media_player_medium_green.png
deleted file mode 100644
index 38d6be495237a9bc98c1a0f8df31ec152ed6dbdb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 615
zcmV-t0+{`YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006mNkl<ZI8T*~
zOK1~e6h{9xSrv4l5UE`#-L?b;AH_#&x)9yyLKnJFSK`K3cRmocB_q+=Xr#7Ds5P-e
z8)}pK2*H9uNU$Oj#A>t+tuRLHlakozLdfTQBX^}J4xHg~?>WD+_ckkwyUk9MvnJR6
z0Uf7w=FcUZ)AG@&@Ygg##nd0+jSgMul)c9#bc6~i1Ofp>A`yf_A!|PDSczTLtI%9m
zi<X1CL5Hq%${ySy+`O~+413)#v9GIurZxlhr^j%-+JQ|qHSivB;pBlmphH(WW%oA;
zw}SIe;rIKI$z)&{21=z8j+zg+Hmpa&vmZm@4$z@1ow9W`3b(swM}B)i+v&vQ+Z0A$
zC6G+UL5Hq%%GSAE=<fWIfTn5Cbsh0|9O-l#Ee&fCbYH}ikzou)W1vG<I%V^16N0|{
zV|b<pEdrks7@5ylaF#tCy3#4zjjckj*LVOeHvm1KMCr$Ol*?rc&fM`vhpu$Wc72Nw
zZvPlX+Xo%S(hR0c3-D&|TX5!%H#&5sQ<Ya61l=<^h)eInD1KYQi@7Y^6a5yPx#Nuv
zUFlTimCZs#n;5`_H@(O$82DVAMR+D@!I?YW=+Ko;Rn#t5m8}~|%st+Z^RIj0AAf}D
z#W@rT1q;sH@kWO(8@AS0v1Xa7IJ2(rSgL)#^?e^MXYaw6i{WAZxdmtLc%ws?jeILi
z>Q!U)A$6i|Se>dL{VR0nvia4jDiepv>i>jI)lcBw0ZGr$0v!MV002ovPDHLkV1kPW
BANT+O

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_pink.png b/interface/web/themes/default-304/icons/x16/media_player_medium_pink.png
deleted file mode 100644
index ceee74a3939194b5a2d9a520db65254e8ea72c28..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 614
zcmV-s0-61ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006lNkl<ZILnoe
zT}V@L7>EDoTzVA=3$qJ}?vg$rVsuk>AqA4q2WXMAvIfzIA_YOB5Dua*y0F;7YUZ+O
z+uY_FGaP}VC}K#NeT<^!LUgT~IlTz>>--MBS4Gi*XS}@c^PC+O(vK(-*6mh<E`x!8
zK*uVb3K~C)T+7<SQwtpl%(svJ5#H#~l}-ipCc#I^<#NI6^}_9Tn{$Ju6x+&{Ve9IZ
zXsO?BzKE`L%BLR`{6Ee<LT%?W?7E)E=5uLOHowHNG7C1Am*a}93McAzfDT>hRKMOR
z41PZ|0;ki7WHO0#I*mf1fWyWMsy3`g^!#r4dM<+wUFlSxzF!FDP7nX~0!Q^4ydNLM
zljl*y;}OuIE1l}q_X?qz)+ihf2Rt4RB9RCZi3D1#6}Zvaj@a-ZeEtCF(3MWz*6W0!
zspcVkun(9_wng#fZqkIa?CH>zPIYU0ga?`9L8O}QA#*W~pR)@n7K<jFxifEuLsvTG
z)OHHdPe=WDbHIbS)HDi{IZU+PH{r}3Z*=HNr@FLSA;wR9)zE|a{2a2e3A{VhXTq5~
z-ssSkPF>Y%gopgZ7yE7@H=f4q#~DmJ;wGHA<Bbko>C`H%R9(=j$q4^#tiBs>JHq((
zIg5NgZ^D^7-ssR}!`6H%v?Z!d+ti<^x%BmQV=pFbcaS<2K<4IS6VBZ6Mu#pNd6pVf
zZc!_2C)L_ei(2>eZ_uI3X0cTz1{Q<m{|TFtUz}45rS4$m+yDRo07*qoM6N<$f~o{6
AYXATM

diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_red.png b/interface/web/themes/default-304/icons/x16/media_player_medium_red.png
deleted file mode 100644
index ebc148386d3bfc14018bf38d303ebc54049f28b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 588
zcmV-S0<-;zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006LNkl<ZI8T+5
zUr3Wt7{=dg?<$(iB}qXLjbirC(y~noD>Niw8tCXkqNr$51VMTc4(h_7o7kdYmC=l~
zFozXnkYiDu*2Pv7QN+Bf3_obl)t=7t+2LFiMF)QH@V>w2eCOhmK@lNCB5j&+jrs?4
z+DuQ*SjMLVyPVf8{U|l}{Sofy&^0|dZBa!nB@zjwQYj>pNjLX<7NOl+i_ofNi1zLT
z9lE9`r!4AK(?0AOevZAD9JHP-!+)%Z!(I<I_<Xn!3F2r^C+N^MJvm`fFV=?<kH=9c
z6i_agQK?igpf3on3t;kGH`3QeK!>jBNz|h9jorUp5ZkdDA4=1BswOctl?5HTrYA=%
z>dBfe#9}dwj*cRm%_5h}A==b{%fmx>@bE6ucQT+u*YxC|MLqI&Vq*Drm&c(9ih~zj
zn9ZCHUDJ~Ri@LvZH!=+&<a&?e$Lt)c)v60KXWY@DYkIQZqVBC|$5?$UKC2RD-+e^7
zIqbsB8FzH(nx6DoR7OAXW?c)uf1AVGE4Pte8gyaij5|7XO;36(YD_;dS-S}{`Iq?m
z<~^Qu9CBgij5|7XO;0?Uu6fig{k5x$H)5jW0KR;hf#WzX%$#vYhb}wpx@UoAoBqE?
zylb5sOSa;=ZwoS;!^odJ@50O(cXa5oW6na2zg{E~5Xm;`+y4d~y6pVwN{!6FrtUvs
ar{*X9D4v+eCJ+<=0000<MNUMnLSTZ}T@;D{

diff --git a/interface/web/themes/default-304/icons/x16/media_player_small.png b/interface/web/themes/default-304/icons/x16/media_player_small.png
deleted file mode 100644
index f976ff5ffd24cd70f6e9e3149ff2f95f1518cb9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 420
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV9fS(aSX9IeRT5fET%va*L+zK
zl~&if1NTmyI(5v+@j|`_ho=I|r6uRwIqd}Ge;g3kTD0JYn2w9!l~c0US>LL*GIv|2
z7hjuc%$%$;^MArSdj+Z9SrIy7cAsmM6JvxsT^^)vjmk8T$S{%0G@G4iH$Qu4OxEU`
z8T;?wo;+(#oJ@=`SL=gPqnRsi=B&D#xBB+mTZ!$59hYBz$z^J}*J6j71ka({1r{M&
zqe2&73|M{jQq|sTA1k(epXqaK-jyd`9zB@lpuix%H_rcPQs7iC*R4@!*X@nanR5R5
z`hdxoyPLEB)Y;c;sxq4$x-cMMWyqzx?VI1ntiKMGtg(}?xj4aV>6=|UWBe|^47vR_
z?D5BlzjgN^MoX=~&VB!BQRK&pm`)d`mnFCI4hc`xgP1GB*Z#4>#=hlb%BNiipN3k^
z?fd&_&Xwtm7CU14{g!{e`?ToqJtjUqX1Q}a&fDDWxV@|V|IB|38~!$XOCFx~0~q=Y
Mp00i_>zopr06px;q5uE@

diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_blue.png b/interface/web/themes/default-304/icons/x16/media_player_small_blue.png
deleted file mode 100644
index fe169fb6db9b9597e451d9449c6217b7b614a7ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 449
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKVC?X8aSX9IeRQ(7w^N`<>-Qar
z%<PW;kH<gMc;Of^(fmrB2xnxb>54{Mg^U1!D;gY^IOOkkUHZi8802Cl=**J)Bx^mh
z<#e{#9~R~M-^$PJV_(NGVZXxv{f#Y7N)I=<cb0S>-?3?%TiJFyyA6LnHC??PzGna4
z#K(VSZ_k<=zIwy!(#@OF&c#_Bo0>4;O}m%s85`R~yXl9MHg@>leX;qf)9$<P4$QKw
zekl>o#8@P7<?>#B{u$>|45pt|ie0_%<KNznef}}=v!|LCf4gM3PDf|L;iXQDlehJ*
z{9XM+PX6Q7oJY%Ij#U`lY=kH{b8gb&pU=~GJTCNE67=EDy+yY&4y+4#;J@5@1K1Iw
z^ZV!gDE;#=f@iVSy9lMmmbj2m{r3_2xvuWdPC=ZZ(>*7$>eYdxtZe%FhDD{U`~8A0
z2*1|)dk7-^>$mHjcg3&Y@i|}2NN1|+3YRYbR5|C>+2Yi*bM}_>toC1TF}M0rk?QUy
pzS!C-k@id1RrwzO`+fck^XVV0k;3x|3V>0=;OXk;vd$@?2>{_j)=&Td

diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_green.png b/interface/web/themes/default-304/icons/x16/media_player_small_green.png
deleted file mode 100644
index 496cf0c40d67ec6d2555c258e824739babfa3a7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 470
zcmV;{0V)28P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004<Nkl<ZILpP8
zNlQXe0EMsVszr+yE?U;URf{O1;ZO7%+6F-bQAXKdl2K7<gI1`~EJaabQHw&biA>b6
zc~nbNniifsZ}Ilhq6Z(Bb2#7Sy~Ps%#9t8qe}QVUN~p|LHEDDiQbSj$CMt>EnmoX0
zcnf2%E|}xHu)OcVme|McmmeoTx6;YXo?AL}h00Vx`X}CYpubsy;ogCPr!|-(+j#zo
zA(cwWFtg{D4qc%fDJO%*uoK;(IrLsHqVH}6-sBCE-yg7soY0(Dq?4IFw{++V<zN{Z
z9eP|xyWfh=i&^ws&Lj4jfF}}w=6qU)nLW33=nAEwl#Cm09cVeTpv^afj(`o(WDJL|
zLFld)WSH4=ONXvd_Lh(-U1$M~M`LI{okXj53hrkgqKP-GM%*yIY)U6Hdv58_6<J-y
z#HJ0{QRf~;y~l{A<8gF*?eK@M5Rb=YnAvknhptfM=ZGv#(XuvZN5i2>egl3=m){QC
zwF?^$Zs}xZ&n+Fgd~y}l1tvvp;a*0h9lE?AJB>O`UWTY8_uqe}Uoe7s<bn+p761SM
M07*qoM6N<$g8lZ@1poj5

diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_purple.png b/interface/web/themes/default-304/icons/x16/media_player_small_purple.png
deleted file mode 100644
index cd2ceb6832f71c1e0a137ba41e1d904cb05a75e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004nNkl<ZILpP8
zJxfAy7{%|^rp5+``aXS%zJP-bYAB_dqNzw>mV-rF4Z0dc2}Sfml7@wqg@HjyNrB-d
zu_jN?xuLr>B>edE9M12#Z>RuJ{(|!V3x<Zgg3l~O2E<HP<T<jCPQPP$`5uWx4XIQe
zo0~7lWEwa*X`x*1=qG39?9!nt@+?_OCZ7=q6cCAAAr`yC#zqZqZ(rzkyL~t_XO|9L
z#b}%%E32!I@OsY>3|?Sy@fwxN2iom#x!R57$NI^cIlFY|itHqbc)SXi>j*wy9^r5a
ztyTx6(yP9-2WRH&(xEHz6j_f(Z{cw4!|gtX-+zu~^Anes4gHaNaAwXf9l9c0$rcM%
z>n@zm19&{AC>HBd*08hlB)9yapPZSqONXvvFieun{Cp7>%QkGbJxos@%46hFtu~-(
zS|85L*`-5QQPnY7V9qkM+jF|iJK(zrg$nZND#+z(`pKF3?*em{E`KAcI=-f=6Q_eQ
ozDAb|h6R%_Iv^(9{r5l94?OButnXQZ1poj507*qoM6N<$f&{qDWdHyG

diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_red.png b/interface/web/themes/default-304/icons/x16/media_player_small_red.png
deleted file mode 100644
index 9b3159354126dc2929a20950e945fd057dffdf85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 471
zcmV;|0Vw{7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004=Nkl<ZILpP8
zPfJu$7>A#8-`C1<Qjq-9t+WsX6ET=DGYBhM^$A?K5kUySHmwxF-K>I^BDC>S3`n{d
zN`*i)6^w`=6J}F5ck*7(y?0vZ9aLyB%%T?#oU?eI^E>c6rd%#l%Q)0HH4DrvU|=4|
zRLOoS!-PgBhs@~kSf*Gkq9TYYjxk6>J&gl>T<&xUzW?NKeT%4cgx1xuxbhAF4NrBx
z@8fwMB7%r;rR^HsZ(h@Ix2tkx<IY$1US$crBNEQBfCYjuJh$A*5yWj_d3>71u4gQd
zPa|#%?&JtT7?N;mlLXe{TZ_ao631K}>}Nlhr;y8Y2`J?9>_30R^(PPTttH{~_;eFk
zOK?UIMG@i{no_CC6T~q@QAA)Z#}@?`6CA9p(f)Lhju*pt>szD;`e=T9pM&?S_-6&d
zKN4(a7pT8|gIjYiD+zvo{=#N<0b?x*r%S*?AO;*&L=_Ri{yJoJY=+jMd!+B&#QXMx
z!iNpQ(jQcn67cb)Lp1lo+cfl4(;^Rcw_(ZvDIg7Kl}!u*&;0k__!qkNwUc!(*pmPN
N002ovPDHLkV1lC;&-nlV

diff --git a/interface/web/themes/default-304/icons/x16/media_players.png b/interface/web/themes/default-304/icons/x16/media_players.png
deleted file mode 100644
index b7d7f6c71d87b5ca0d6bb8b6ba6f582feab62f56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 669
zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007HNkl<ZILmdB
zPe{{Y7{_<>Bot9-41^sPI|xmXk!<4FKUr(cO&znQw^%Vm(jt#RtAhvURklM5ZNkK|
zKZhW6!W?7F)e2=Uj78gF!DQh<BKY=xUlgY03m<rS{(PS2_j?tCgM*5pp&?1rF$q=$
zxieTjs!=GK1$}*e$AZ^(yS*_wItstve*(ssW6eK;Cdo$@&(F_ed3hP}cpR}<4AE#5
zp-@PQSko*}34DUvM6Fi;@Or)QOh#}k^d7#@Iy|#w+?e}?YZL46`Fs=<q`>WVlbeM?
z;d8ZGMWs?X0b|?S+gMpyLA_o_I-SPw@Gu2mq`>8JkvlA2SXjW~;vyoE2u3blKzBzw
zf^M@E&CJYTZEa18#6Svmq`={Dkh|q_8P3NUT%Y}kt5Z7|X}<`U?g}0S++eQ1zaJKh
zMdEZiDJV*TNRZ&(-k$tvT({9^;J&dN9};tT^YR&(8yg#g$K!#~XyhwU@Kp-TW-}Sz
z-Q7hv97ZCMKr)%cxIu$=Z(rd>{5hDjTCE5MgD@Bj@-AAxNdcctFu}>WT<*Ux$Ekrp
z06jfDFqupge3t^fUQh0cS3o9{L8(;2;o+f#cgC0-7#M)fW`j<rlb<14t5P5WWNK?`
z3#n8J2L}hp=kpTY8Dox<xqfeNFSJ_iAJO_r3c9+w$b)P)i;ay9?C<ZRSS(6-XN<YF
zwl+5XK7v0mC{QU>DwU$Mv-2TW<vVk7tyYup&KPqVjpm7HxO|H9T;iNkshnI|S}JXB
zZpxLLVT?J}95<Xk9W5;__SV+cX~EMom}ZS!`PBIfu>#(kF_`LJ00000NkvXXu0mjf
Dq3$nC

diff --git a/interface/web/themes/default-304/icons/x16/media_players_arrow.png b/interface/web/themes/default-304/icons/x16/media_players_arrow.png
deleted file mode 100644
index 33b68542881863063216ce2803230b6747da0b50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 746
zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00089Nkl<ZILmdB
zT}V@57{|{=B?OBgW*LI83nge!f{bzthf`$f+Ly}Qhhg+#4G}*oFM<L`iG=gQi)<1q
zn;UIuT0(;8gegO}=?rC>)}$F2I2ID#{X5S~(WE@^gNNt;oZoZK`*M1{o~x{^WTZXC
zJfl3JLm2%%!*S_?qN1Wdf-$91nX*_cFq_Q>pdMv3^N%1+vPi?dy}j`Hd~mzn7#J8p
zUtb?=HX9SsOu9hCW8k?(<mTpnt*)+yuGs;TZ2|_{G<02YRCNEqrN(I(3<eTJnLw-6
z62@pWy1c!;jYJ}G0P3x*tYCO}7`wZ>n46nJRaF%UJ~Dw?ttRSe*y(h_<#NH{aG)mh
z6bf>(VAU#^sI#*ZQ&Uq+#4jYlDif5KmlJp6@i<iNL0s+njtecTsL2vSEy=@^J6cdy
zR#t|Rk`jhWr6NI$3HX4pZf<U}L!-}4rBY~>7huxcjdvscpscpG7CM~{a=DytfdrqJ
zK%r0&4Qp#_u-onMdcE-b{b-P#!}$BR7;+DSveMF0SglsbWHMIsuYP6%x;CCh+8hdn
z{tIQaRoyX;D;)t8-+WAhEhdmkr9=~d3kU{-SYKbq{{B9LYU)v@(P&U;^W#MVxZFMs
zp+uiNqp0UNi9|xQgu`J30s-vp?I9A0FsQ!wY5~`JmT>XG7=(r%7=0VCZvlCYZ+?nx
zizY5VKcBciKR=I|nHeOLNyK6?2Gtd><9PN3s9OfAB7bR#0ixE)Wlkg#abmIfA$=;{
zGi~14*<ny^d_Do`qYpS+=lpiu>{^oaZ$J|UPTw9`%Dg^!gO1^3c6N5N$KzR_ot<UB
zkq-4JqZxtGxp>|W2uwo@CoCS5uy&B0V@^g!hEgC9wDCMWgf^NvQrP4^s(!g}Oye-|
c5{?AF0JTsN$BUnYD*ylh07*qoM6N<$f@%a(hX4Qo

diff --git a/interface/web/themes/default-304/icons/x16/media_players_exclamation.png b/interface/web/themes/default-304/icons/x16/media_players_exclamation.png
deleted file mode 100644
index 7ae760b68dadc9b95beb3bea5f5e4c33f753711b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 771
zcmV+e1N{7nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008YNkl<ZILmF4
zPiP!v7{-6|&15z^&5k=ev(2vCXp+VyW&@Qftc8t<6hvYXg<J&1UIf8|UZm<lB6#yq
z#gj+Di|$ne2J**qF{DzmT^iefM4}G6Bin4;`Mz(*gGp>jp4<Dryg#1z<uMi(7BCD0
zfO@^op)LdO0wqq@F7O4gVm;WMo10^OeI4Mv`T6<hf*^2{Bzb7lFbu*loLE{~GEM;U
z`TP-N#P@x-R;%IrK2l2JI7Ujz-rgQblDNPKz!6{^r~;XMK2Nz^4&pfG$EF~i%b>A|
zoiSqJ5&pHosJaCp0IYt$4{&L5aq)v72&PZ797Pe$<_5E~voxD2u3y(D0Iu)*(`##M
z7=}T&+hz5mYuriORG+T!;g?^ty}eB~n<a`Olu`gDfOS|HN-4g*H-SDg&hBo=lqo0`
zT=HjKlv1p$tgyVi3_v=a{@=kNKxnPGa`q;*T82`o#HT-x^5Q$Mb6{oBTJ!v~`<x5z
zakH7>)~{p74unz)rIb)g(d~BG+S+1sbCaIBPcJ=6=O2NL_wml`aQWqr87ut_#3xP=
zN-1V$W{#it=I7r4FkFCx=qH|-yhz}Clqa9!{N26N9Vn%6U6)FwLZwo{bzPK-i94%I
zO<&@*tKTs>^$g|5{=hW<i-3?)BBeYA6pKX~jRuWIgJQ9W+`qx#-~fXI_o>(Gi2k1x
zhTY`iw9$SDptVM8jg%6{ac~?5DPv@3m5iU|_x25b`2Kyu-farwk0furLO5V?UPMuZ
zlv4EjeYDo>?Cjuq9-ilM_x2K&8Df}sutmsAS3bkBIy_oX;>pROp=)m&6K1>J&f2zp
zp<1nu=W@B6l#*7fMXS}K{o7ZJoNF`WMA#zclf}27_Y1ZelS&CQMaMFL$5W|P#kTDW
zfcs#KufBTl!f2^KY#3;JAnDq6(zPvmM{^<A_!kRRJ!@$L0!sh@002ovPDHLkV1gm@
Bdy@bF

diff --git a/interface/web/themes/default-304/icons/x16/media_players_minus.png b/interface/web/themes/default-304/icons/x16/media_players_minus.png
deleted file mode 100644
index 1b266f250a86aca6b631819fe986a3700bbb7fab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 689
zcmV;i0#5yjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007bNkl<ZILmdD
z&r4Kc6o#LBz074C947CKI*gZ0bQUGFXd%UzMw^gU;!1*6ty<Ks9~)h?w`fxkK@v&0
z7g9|BfE0yL2M4{NqS$1Y8g9+~&NtJd(KPMAw>Tf?JiO;{USn`@5W_G4n3$NL7T1A$
zK!(#}8+ZoHSVw>R`udogn*+Gt-`{^VnM}s3)#|ZM!!Rfoiyf1blg0@^DwR5bxQ^q*
zbGaOj<Dirx3`3Ms?C$PTtybfJ3vd8v2fBfVR4PR_n@xsc$cMa1w6OtAgs}b`p?QYl
zmj&A7Gk^(TRVo#L%OfKr50lAc*J+Y{-zT46ptrY|eBNesRG$FE9mnaKot?!n41yrw
z<KqXcMI&@yy1=97ZzvQBBoYaH-$z6M>Hw@-Vu%RuH#*R<cDA>RoUb#<w8Tj@#Ssx^
zW@eb0ngSpijs8_o1DINCZZ<8E%QcY6WOy>)#*MqT_-Q53TGQOzOsQ02e}Dg&0#if~
z5mQ76f`H}aWfm6~DNBiRw2dFXOhkm8ogLEYG`0E@BbXvWPfyR`@@_wU3qW%VhzOQt
zAtGq4(ORDl5D^+18*yD1fX&U#L&>&nv$3&()|%SltwF$2N*x2F(`i;#RsiVi>|}3m
zkIms>u1!xv?c^(3(+`OZygURPNK;BtUtbS^QVOj#UsqSTGcfS4AEK|u#;#bt?-Pr~
z%u1z#)*8?A$YlO_$n!k3)<`zX@c8(yt<>I8f(4(f_4V~cYiq0WJg?xoZbuLVtgWpb
z7TLB<Y-p(PZhrp7*4EbRA^7GVTxso{wQc)CBoes@#Q$U8?_n4&mCNN-V120OBpdh*
X%n3pf2fRYb00000NkvXXu0mjf1vfuk

diff --git a/interface/web/themes/default-304/icons/x16/media_players_pencil.png b/interface/web/themes/default-304/icons/x16/media_players_pencil.png
deleted file mode 100644
index bad68cd1cc40367453f30b250693a8116297c1b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 734
zcmV<40wMj0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007|Nkl<ZILmdB
zZAjBm6o>zRNY)o6iv&Y37OWx!5oD-~Hk(7t#@d`R%SlLLG0f6JKNtp%0wFb`XiX%=
zHECkL6d{C8*v67+t<dH|800=ED67@{5dFI6k}$0<Ja9QL&pq5DR8&+5Mx&9FbWStI
z8G-*W{-;I|k_Aeoa$7J_R#p}>o6V@Hso4R=C`UDa36do5sMuz+VPs?kPNx$C0|V&m
z>x0#5<szy{7DyQ;Mm-^u$-Y!oRl(3~#|7&YOx76~x+6H-`xOOEGccJ<BnWbWUau$4
z2ZO;6(P$K_tE)Sp*y7?MMn^}nv9ST4&xgv&N)mkJ0-a7rT&Ciop&>XN4%qE>RA(GO
zes(4-dNmhyb#-BSdYX&agCtnug7Wfm;z}eEfwt3+Gu`XRZCOHf=0WJ>M{&DB56YF6
zmZGGjgrn7JNf5duih{rrgk@!Ag?}228;iwoLzRy=u3k*OcnZqZ*4DycFhHeJp`ox4
z{i68YD~d`%tyU9_%gf8?>FI&X<$~MoM&rrjc=d7&&zysxoJOO8#bV)ti$z61M+e44
z(aqP!Xrh+`fxthZ9NRtGThDPpB9TCDTH3dMLC^>ag@U-wwgA81k8n7Qt*tE%-6=*n
zOZ_R_@5n$R+J?NmJfx(gtZV5L<#IXEGCw~LkH>>}JdTBh1rFUQ=5s&6z4raQ`Bq~(
ziWSnIto1$L0<#e}=jP@xJ3EWb%}s<tAr9SVrXJw6L&2M`n#EtT!vZybW>^?fK`NCB
zIXOA4G%D?xUS3;U<Gl4uU~;g4H+No>MCuHJo;4jxBAtfVmz9;(JUl!c_Ika1<ZYfm
zt^?vB*zO+tQCyh*aJymm$(BeYWvQvDZHzm~upEr4J)ce-+53oU_{h7?Z|-OCXnH^m
QX8-^I07*qoM6N<$f^?oz>;M1&

diff --git a/interface/web/themes/default-304/icons/x16/media_players_plus.png b/interface/web/themes/default-304/icons/x16/media_players_plus.png
deleted file mode 100644
index e29e49d58fa83f22f8473b40b768608ea10ea491..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 722
zcmV;@0xkWCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007+Nkl<ZILmdB
zT}abm6o=m%8^xwp6gg(XE(}Q_2DSnRj;6?3bKh%z-h^Z<vDC;*tC6}3H@Z?bC`+3#
zS=q-$5PpEl(5cN(=0cg|1ck{$!n<Gp^HMM|2M;@(bN<gcyoXsV7G||tIT^nj0%HP^
zV;K9}!&s)EyuAFM;Dc7HO*b?&puWET5R{`D^&AmoNS3I1U|;~FqoW7}0vH?|gx~Ln
z%jM!C>d6$y1snoRL}6j!PrKa?bDIx!t}k%7CSdMM;Fk9nuD4FW;c$>3$^|BqiKvZ6
zqsz%;5?fnahoIcb$_hfE5K^fWW@l$%v)M@SoeK;G1JO*)LqkIt9v+6z=R?i;vnVad
zgVUtpBDdR(@$qpk5(biBl?!w_9dR#_NI?HAjGKMCxYE9gn!Ix`C@-Pwt_f7Ds;WXo
zMFmH%*OMT|1ww&vuCK52N27Jq=`=djrT7~3;^Vtlpju;NBg|$q)M_<dfdoIeK%>zR
zEo*CQ@OV5327{QKoJ5PN2%kT_$J@YbP_44E5>BTRDwT@I!lxTtKxY$ZrOA;<<iAjj
zrWSjzLHt67{3k^u*yMt;vNGbKa0P_JVZ`Hc92^{QD5f0Mj7B4JyccmN)q!kJJ_(Yn
z`XpmYrIKi0SXjXH^fdPO_p!LR$f1~W#!wx^JyJ+|rLgWc;Z*kpu%|h{neR+LQz#U~
zqq(^`OifK;Z*LE=Sd2q4<%(Wjg?ig`1m?+IW^%clm6Vh`rd8?AG<j!dheI*ts^8p3
zR@dom)+6~=yr}~Hb9%G=^bEN&nXGMOWF$T_Gs9QTgmP4)9@ZsZl5SiU))&vSZV3|v
z{2dEKB9T@ik#q_?KZZ`~Vbxgy)|@rZ?w{yq4@6w>2jv<1OQ2@9wg3PC07*qoM6N<$
Ef_hO()&Kwi

diff --git a/interface/web/themes/default-304/icons/x16/microphone.png b/interface/web/themes/default-304/icons/x16/microphone.png
deleted file mode 100644
index 5817a1cfb4c3e28889a0b91fc388d85319a81058..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006nNkl<ZILmdB
zPl!@c7{#BBx{3r{6t#UBxQHYPU5X3;po3r#hKp<yL15D?#v<G`K_IR|ALAdU#SF}-
zppuS0-@<INr63`UBPO^SXd}4w>z+3nKC1^mKkhl_9`C!4BO=b@@%+K(^KpSd!1(a;
zd4?aXp|9q!4{+-RUa$8~I2?Z4>-7fpdY!u6?f`4(|1EGh9IHGom&@mcLV;$p8DZx0
z`E%&2IYoif>Ev847iYCv!FDE-p}}B4nEifVp3vbVhrFVIy(7n7702gHCexc*tw!;9
zoJOOOJWHh#L5GhV^8YH>#HH!=`ggHdj3h}S%toUjPw0zF-TbS-@Are}!{LxbQKa#B
zOw;L<=JUCH50lA6*5M<EyrRJEc7qqqrbNMDkdnzH6^li}SHL9-f<U2Ah~OiKyrRHv
zw}VKl)s_n?mCtl~`VF6uI-T!St=8oN_{brzD6rXVU|SSh7m>(I_K#^gIcZS4-DY>t
zq`kcyZEd|G_{brzC@`DN;AtZ9Q93xt)6Pzmve|t)KF(7vw@=aNYdSnE5Pam2R}>hH
zMvmusi^cNbeYN`KXQd)iI-R9dDkYx=Yv}NiLtar}Fc`pwPN(zmyfMDJoA}!4{P=Zt
zc0rg}Lx;b}DGTsuG#XB;)neXeJW;FF9|YkOVPXw^;mi5;f-8)xjO&b>02_~vM7dz8
zF>WxfF*eo<)C==2<33QSRFAM3bEz@zF>c|&%Yxs_4c|`Acwx2x0000<MNUMnLSTX&
CZZ7};

diff --git a/interface/web/themes/default-304/icons/x16/microphone_arrow.png b/interface/web/themes/default-304/icons/x16/microphone_arrow.png
deleted file mode 100644
index 3a7c89755fd2108f1c24f8843241cc6ea334101b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 749
zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008CNkl<ZILmdB
zUr1AN6vuzoW)Eq`gtT5;3#0_e(iI59hyB5cp(N_1nh;V5{tMIy-_)pvlI0w3ibYDg
z89LnD<{s9v^)PF?QgW_oEefHRfe#Vv+dWrjVszoN!#(Hw``q1g833lyXm-(RwXD3n
zTvoAt)zJ^#Q-5zR3EM9yDJeOv)9LPpLZPtJ=|nIX4AVXJ|0^giF5XM^^z`(a)oR7o
z))uH*ES5Fu@5>1Y0;N*PR4NrKEG#5i%w{vf;V`JKtgHx?`ZT8;<&y{k{v8?rs`U3+
zPEO7phr<EAUXN%rD%7c|DNvv0l%sr-y@FC&nnWV$?C9u#$KwH2m&+wo>hCPI^dCW4
zSs8IN5{ba=c4K2>1Mzqqi9|x!Lo5~(`ZTB9PF_F|sMTtses0c#s;Vj&3<gY2PJ+Gy
zEzxK+g5x;QoN_yP0YRWpD2N8H*Cz;Uwi(RNzoAbEzyB@lcBdeqIpq|M{j8||5tH9|
zuq}|w<wT3y?cHo>Xyl)0!tAUIKA(@@!5jt$htbs3jHZe3@1nltuSKTsT;by=%k5s;
z7UbpS5w$%%PduZe7PPjuVQ6Rs6B8B;509X&tsP@yRw(<I<Hm0Qe>hOk_nF%j$Ye4m
zl}hvT^DlJU?XT8tHaASBAq)%*pz@&;>fQyYdV{}?)|h|PSR?5D0`P|eXFG$OAjr(j
zBo1a|WN4&PnZB#5=e6Je@#pI5CbX7V;@&z?8v?Gp|I6)9z{z%BKoHO+7K>SGYAV%J
zJl91c(S4)wDI}`)#bdhX>sfU#KODX`9w-=z;PN{l`_@e0c)f#53J&n3@nrFwAV@Gi
z?grIlFTMKN;u$ZH&W$Y`x%z_RB`hfr@nrMl@|+`5Qc^1EFx6yFbg|JYE;THPE;U~}
flv}~l&eyO%Bc#@E>#yP`00000NkvXXu0mjf5It&E

diff --git a/interface/web/themes/default-304/icons/x16/microphone_exclamation.png b/interface/web/themes/default-304/icons/x16/microphone_exclamation.png
deleted file mode 100644
index 3e41bd421e9854147e18695c8cbf3a47a73d9205..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 771
zcmV+e1N{7nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008YNkl<ZILmdB
zT}V@57{}jZQ@SW54T|Wh=89be<_L#S*)H~hiex4lM0S%!U?F0KEhyAdh6Kj8+NLeh
zWFNULH{Az0ryf&@$*|?-@Pkpz6iV1l#GcOc>OzbT{PyQO@1Nh!c@6;pqEIOQQd(L{
zDk>@jm$t4O_=ER2-`Pt;b_+^MN>0?));5Piq3FoS2n2({DBk1zzXFLwvXdIS-M(nC
zSRk290;bt)Uc~vX9)${|QYn$iWTddL5NXis^$?9l0W%y9)5JNRV-NdjsDOJ%!o4a!
zJ`oCq4_q!6s8lLgT3VuMv)KUWc#b{nr`ahe!=>fq<g_T2O7Qu7fa!L-Y2ti)sb&8N
z%FD}<o3U67JRT3MtgOK1<|d?4DY}PvJWl6$j=k+Zg$m?yIda?U^+9!YHK^5Uuv)Ev
zUjdh>)oP(lSp=-}9JDJ1y;p0_k~CCMTwILQ`~3kba5#owVqy|MA+YQexSS4n)0GE5
z){HQyKQKLGXZCUsgbKuBG1B1i_}A*|?{NR9gW+K}1OfqW2VSuDH^QX53VtU|FyoW0
zP7N}p>^p`aRFI#ak6iEUeBtZsGec9;JunzvgUMuu?(S|FczGJWuXaFXWhJaHKT1wo
zGW6pnhR3lb5C{Z>&*zIoqBCty=h(8t;Q^h_02+-3jJmrp?Y#&;<IO<0`nNB2FzY(b
zj=p6iANscixw*N>p6u*w1)ncawYGMSv+VpvB$9wJ$K_v3pX*ZLkQ9dAH$rIcJj{J8
zTKD!c8n=;Qr~t3b%uJG%m4%tdagE30wHvg}FrYd3b$Q_e#O4d=6JW;XMc_B@XPpK{
zoEBto?Bh7ZaRfnuwMP!Y(PPO(R0xU4Nl0$or->}EM-w(Jqe}~T9EUkhaTFj7!&Ke6
zlJV*JLnfkrOy&^H6B2yYLT0<461L|VnKX8gu0NO~>Qt>J;gbLW002ovPDHLkV1jy9
BY<mCz

diff --git a/interface/web/themes/default-304/icons/x16/microphone_minus.png b/interface/web/themes/default-304/icons/x16/microphone_minus.png
deleted file mode 100644
index 17f3639d8bfea5405ade50c81a2e12c4570529ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007XNkl<ZI8SAf
zL1>a;7{}i^-7YP`9a?o0XRt#gN$731!&KZD7{p|Z)+LHytx>ZWV~1K0h^J7|DJxKL
zI+&81etIxlcIY5j2y<f_>=1)4l0+Au-v6r(u@`>dpZ9tG&;NVB_hUrFtXAte6B856
zZntaiG}i+>ut&Yq2cA6|W~@8FX0u(Jo10rMm&?_3I!&cgsfs=7-2p%ZjE#+T;z%SC
z2l05E>h(H7W3ku)>Rmp82pAt9XJ)gR84L!nxW2wl)oPWXl}be@>gdA<e;X0Nzmf4z
z#qrt5$jHl`ogH$yTy%7FBy@Xwn@~p|KKR>o22A48R4Uc$m6a9B<#GhgWHLfgZ(Zu-
ze*sfdQ{ds@;UP(qL?<UFRIAmf(P)T!I6XZTb@btD`2`}tVzGe7*=&xcr>Du|@zB=R
z7U3`85`8`&&CJXY`tY^<0uf*`nZSHLUl0Mw<VV`u`+{Fc#o|{=rP3k*efU~__FS!Q
z1{jS-uqa9Sv-$Za{EY$H-OW&;P~dlvCBHvJ3ky#PefZ#aE0rw5STjJU(}DYL_q$v;
z9HXTrCk2BWw7D6hP-ugk&KDGk#0h=)Tmu6v%4g35v|26GXf%4g{??mR>eF#DDN!I0
zB(K*iPV-^(Hf^dkfBpUaKR0Bu3LpFi!i@Puz~JB@=v69}R*gpMT3d5}E*5|M+TTAT
zsAuT%??1D%)Qy*ihyW~wLc#j_`k=#{dvdw_t<U$KpbnW#T4wC~Dj(?NRr>^d$v77{
zmpE4d2BT3)1hi|MA<jikuY*5UG1&@`x0=^EH$hKN&s_{d+cnM&&Q*>AL!+F3;;X8E
TH;2|R00000NkvXXu0mjfCKy0p

diff --git a/interface/web/themes/default-304/icons/x16/microphone_pencil.png b/interface/web/themes/default-304/icons/x16/microphone_pencil.png
deleted file mode 100644
index aa41af61340de9aae7a8057866905ca524eb7953..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 745
zcmV<F0v7#=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00088Nkl<ZILmdB
zUr5tY6vywKQ+$XNeJIx3_%%~O5=FK*muu7IL@)|XA|r?(SZd%j6(347nhH{GxIaiF
zg>$iuHn%xpEuBIS#t6x&%NRWf5{$;)Jl*r#6u0QY=Xbc@bI$j7@3{m3h+3^aL8H--
zwzf9O_4K-rAKasUy6zZ~YtY=>T-MdqH5iFRqF%2THa9n;xJUiJ1`Q1jr|EDyojZ$*
zi;zqv0i(@k+d)02jy&hMw1G;cB8`oWL@Jdcy=Jo+qR}W|+}hgWBkGvPI;{5;7n2Q2
z(+2F0gk2SnPbw-Z20R`Q==FMt#bSJPI2?dF=CKazf3oIWgBBcGNlD4G;o)Hj1OkB3
z=kxIq^~_LP{xN86ZABjJ?(Tx$?}z>UeMlq{aCCIU&mkU<^E&3SZnnHU+n}kb33<4@
z9Dw%rc9@x&0lVD}_zE~gqtOVRot=PrtTR_u%JwMzutsS;Zy=Y;5p6IS;tgD`kFdJB
zhEE9L@H)8NUfuxnN~Q9tRw^BWkr8lE8srURG8xkA_XiKO+DGh<CRkeXK`0brGgyY%
zSu1pR_rQv0I;l`7?5R`=lp@iDl@KLwP+eV(+?||!6_}s5L0_K^ES5P~Sg?WBItMyk
zKfEzNfdzx)F!ie+#A5Lf8)}t_kn{{B5((iruC}(eZp`ie^uy)ygUMt8gTcU`#{O;$
zoO5+4Y}V`YzG$u#%8QDM$caH|X(^J&L^a1r^rNGbpTpsAhuhl+un~HjdjGoYH#Uzy
z7JMD=Ay==}7m_RkT>1I=q@bVx<3+|Dp-}k3I6VeagMvM5p3u>C)~rxSN%qPZ2pDG=
z=NKXc4J<Ej1N`|8Qv-DMhKk%``gz7#MqaLgFq5oe)F717o0#rU2-a&Z(R&&FGUEas
b__+TsE#I_3-sKnT00000NkvXXu0mjfDdAq>

diff --git a/interface/web/themes/default-304/icons/x16/microphone_plus.png b/interface/web/themes/default-304/icons/x16/microphone_plus.png
deleted file mode 100644
index b5776f47d05a652d50dc2d53228e10b8b794ffc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 723
zcmV;^0xbQBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007-Nkl<ZILmdB
zQAks96vmIXJ0G$co0a)E)`BU4HNrgv4Iy=HVy%dU4=ut7f@xB&2niySXb6Gm#cg7S
zmTrO@O}D!}=(6>&U}YgVWm!UD)WgV!2t57IUvG)gh2K8zcfS9(d(Q<#1dGM;2b;|X
zcDr4FX5+d{KXgz2)|?D%FR)sz2c1sm?YX(RY&06hOeT}1d-DHVP*YR0mGhxcXfYTJ
z;@a98k_G~SMe?`hIJ}^?wifE@>Y%#1nrQR+e3;E<k#v53o-6q@ryS*FcmaDyV6RG#
z4+ewb*5u?QdORM?<#JpnCMJ-4np2MQGFuB8XlZJ-`d&vz2PP5;B#p&lT*=>DYQsMT
zjg5`Om8GR6lq3n4mzOc0&*S>~I^V;}$_n>sPPxrIhZoe>*ArLc@dP>?4(#pi#qsfR
zq_03r6h#r6nwpU2l-ta6c!Ak$CS23gNnQ{RKgZeGm-GoSm3oDdNR$`QoO0UsO3>b5
zv{Y;qm`o<3O_HWpU9J}Pk6xUbieWODWIKpsfByiswqC=NA;&MJfBz?Vwnv1gr2szl
zMnP3o6>+h<yC*R`9KiN=H~Rg9I5rl*fq_AEyKmyiND#}04EamnuOmDuO~at(Z-HK~
z2c1r5G#ZcIk3?oZgu@bgy?*TL>*G&z+-F7Y(BYp&kM@2!`?VR_!8FIK7I}e2qak*b
zl$2O>I=!c}v-?FV_5Rz!!YY!M_2_??KcB|!K+o<pFQ7{h1W+oKqz4!m6bi)yQGAS~
zh0dK4bgACKLsh!+<1r-VcvPZXP{=4|>|>M@bZ~T3;svq?cZ%PX=PD5H7QcqBUBF5}
zE>JMa7>5`~h=PKGb99(g_P{0tp;>qfr-Xhmu_Gsn;5YJvw*!YNMD_px002ovPDHLk
FV1kPuRiXd@

diff --git a/interface/web/themes/default-304/icons/x16/minus.png b/interface/web/themes/default-304/icons/x16/minus.png
deleted file mode 100644
index d59994cfc0c651ef5606ac6ff0a048df7dcd3f42..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 221
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFUg1Lo80ey=0hm*g>H6VZP|n
zvz#^Du}78{D2SirWzxL+LuQ{t(5k|>N~v6pW#*T57;sEC%=()k5%=-Gfq|yd8qefZ
zIi^dDo#$Q3`6X&t*T1cJd$(-+>$b!IuRyQB?9gn}^P4*&%3LyLxz*b=eUr^UVJUq)
z@LZ*!&*d!++b0Ko>gL~~Zg&5R{qMiA+vmUZ&k>5d@JQ1C{}c6)KTD5muNRMDxN|aU
Uc~%;qGSIyYp00i_>zopr09#~OIsgCw

diff --git a/interface/web/themes/default-304/icons/x16/minus_circle.png b/interface/web/themes/default-304/icons/x16/minus_circle.png
deleted file mode 100644
index e0d3938c03af8d1398569fb95b5bec0b7de72bd5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 570
zcmV-A0>%A_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00063Nkl<ZILoDy
zOGq106owB;zyykMB8)L8?i4I_5y9*w5L}3gAmS*l6_@T?5Wy7OxadMuTEQe$@qxPW
zHHuNJWMT%9QV3Z%g+>?I$PC#G$8%yDMv1!c!Z+Nx=l}ov1Vn`QQ1~nYz!DK7eggQG
z0mg_Z5ii31F|NgmTK1F+=v;HT<WwM_-3<=v_oJic{m6)UD@pogTbsr;*1QzZxmi`E
zWF^V?H$04*Bt3!0{`U798*aD4+UEhjnA0iW^z|8kdV278S65lMmhSF0q7@Y~drAQd
zw7)aIUsF3e@S?r_RW3szJZNs#*i#Ca1&CaQLb@CX;D2`ge%xqm#7JEoeiucYtFA7<
z{jH`Zojs+1Z*<Z$ySdleiursVGnot~lSx!n71QZ7X0ut$<#Gjn2m-Fw*PHAq1<cTo
z5)7I<G-E22!bBob*32wZz`ECK&R7GcX*owNE&8^{gE11k#x@6dJo>bC3t@gZqIh#m
z`#U7TTP(U<TG)DslXN9t?RNRNw$}JXt2igoOYFPdM%ZSPC#}~wL671yJ&q}dLx~H5
zp;CxS;^&-@dCG2ASUX{TNZcBTUMh@J`n=Pr#VafIYe6s>?(-PeSknNH%^Kh!YKV_M
zfM5{d%K*U25Wp$JeIDZ)X+9BN_E-aK#0Nqod~Z-w)Y{nl0Jw_Y_t>)R761SM07*qo
IM6N<$g8x+o1poj5

diff --git a/interface/web/themes/default-304/icons/x16/minus_circle_frame.png b/interface/web/themes/default-304/icons/x16/minus_circle_frame.png
deleted file mode 100644
index 8b1654ab9065964cb01dbd42006c32713911a175..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 740
zcmV<A0vr8_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00083Nkl<ZILm#I
zO-R#W9LFCL8OxK5oKr#Zus{$+#lat2FqsXRbDJ+6YQA6{l+nRmREALp@!A`;N|s8Z
zW@d)HNHt|<v)104Q|8zNmn{PioxFW}e*bnbu?8RZ+w=Q;o^5~D*x1O7Mk6zu&8(@Z
zi8VJjpK57oQFB^3U1?}m(~cZ+siBq~x<JC0YMag0=ka(#dwYA>-Q5+Td3AL))Z5$J
zM-I71FOZl_CcV??9Hrpv<Rm`YY<REHh|nD3XUXIaMn*<P$)!fTz+f;CXZd0*kw{><
zvl9WG4nO$&ubv)}R7VGVb#>w{7Tbcu;TWTaTBg_QbF5aYeS15Bw`~?g&1QUWZ%4ef
z^)J3zEQlBkqO-ZViSF)hJGD%w(`j5TS9s;YeSE5|6)*Ur)gH@wLj&A3HE=ubVSau-
zOfA!DwHN7Uy}Z<gb^Z-5l}co>q5^YDB_;|A@F*t-4`niuh0;>d^?E;pTBgxxtbV^A
zPphjDs;|ev!2#m&ID9@Ig25pF&oQJ@DeUj>i_8`limu!32DMDBR$uXYy_l-3ghvn%
z2n0Z%kBf=t3Wew{EiHjsCI~{O-ygtiTN{>3N-&+B{a+U3@;~mf8`LtDN_B2}dS+ws
z<{iux7sHdAixn>Zizj(`czxqGoX)WgYFSlPmBM5)5BYpyOc{)Llb??ue^>!7ALSK)
znB=Uj1z<FqhNxxb<>jobtV}mJczq@q+`@Q$10Hkv11Fq@W;&yt-yenDer<*tYMERv
zXGKLtQl(OPp}+s?vq&U~cXvlIe%^v%MZO5lbQX#1fE;qEp_X1JI430%Nr6lzvk1bO
zTN4v6V$tYN9EQ$lM-I8vq+6E3k#Urqip<PRjZ`YVoRyU|z!^?6KxecghjTjJWc&t-
WvHOpIKK%*+0000<MNUMnLSTXgY*fPl

diff --git a/interface/web/themes/default-304/icons/x16/minus_shield.png b/interface/web/themes/default-304/icons/x16/minus_shield.png
deleted file mode 100644
index f5da92ad1503b86f7a1e4a4a1c5c8d459442afff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 646
zcmV;10(t$3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006_Nkl<ZILnQa
zUr1AN6vvMmUWCnYcil`hAts14k(h!E_32`7+e91ale!muw%!6wNT{Hf$RJ~(Etlzn
zFigt+P{evz+ipR+nu}z`?cXRtm=Ah7XWd;^m~`R8&i$S5_j9@I0wTf<fE)p0mY5@M
z0n`(ZHR|WIT|mn++=agdn#6n)VDYUie`a{5GfQ9}!6I>vmWK&D%?mGES~h+T595!a
zA&j-Qrs?bs?>NI*?&yLUfbd7JcQaU88Vw3UOzG(O^wsCXL{}HCc|550_hY=hU8Q|&
zmNH3~Ym+;=zz^{J%fP_SMqeL(=<UswBC`AkZ(J@+_VnPp?rwbV_3m&-7fb=HB;4-p
zr%osS4^dg(=8i77Oz*68c5baSH)EcAO-&f8tHVHbHTo?UyedgKc)r`vutlADU2qX#
zGThdddEjthHk-v%DuvN#6ct6mWHO1Ws$wRS$uTX8IA2rqojR9v!3BVmWKG|<+c6%G
zV<ZyUv&<}1RN!?{OjGBCE;tWxY|3O>ePXj=ke;v~OI9mR3c@OPbio+_(?n5G_?gX?
zePlM{Lkj+jWl73T&|k<MT`*2x)oFlHztOlJsj9*k6x<V%UlD|L&W;y;iDPtg3P2hG
zSe`B~Pb(J7?kfr_RLT<*#ocRVWogcEcC1jqS1sYDpFx0`k&=?vA%o#tf{F~!e8xM@
z)WYwpP*6-52x}$4p`!qU#{rhk3POtEna+H?qfDiiEiM!s&=yAs2V(?q($hj7fZIIh
g&xuCjAa}U?3y8G6Uz{v3i2wiq07*qoM6N<$f@?n~dH?_b

diff --git a/interface/web/themes/default-304/icons/x16/minus_small.png b/interface/web/themes/default-304/icons/x16/minus_small.png
deleted file mode 100644
index 6ec9487f6a13ed9f4209f7d00f0d6f787dc2d138..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 138
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr_~T|NQ@N&#c-|c!fbq
zV#Az?g=)&o&4#<27OdJl@&Etj!X^o7%8zIM*kQrLET$J#V)plcy>JuT7N*z_?A_cE
m4SFloj<GJjXd%MOz;JQB^TXZ$L^XhhGkCiCxvX<aXaWF8VlIUM

diff --git a/interface/web/themes/default-304/icons/x16/minus_small_circle.png b/interface/web/themes/default-304/icons/x16/minus_small_circle.png
deleted file mode 100644
index 30b6e2757e0fa0a44ad7fa05b88ba87f40ebadee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 261
zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002YNkl<ZILl-B
z|NlP&C759t8nA?cfng;BgBK7l1L8AK+6yF3lmUx@iZ==hUU(KB{`q}c+TSN(VV^e$
z2wVV(6J@|$pp7?ueLtUaa{9mD-2DG8BcuOE%*{W8#ECLsD$v<L`u~|TXa1i*fByfY
zN00u$d-v`?RGhE@JwTgQiHUt*CnWTLt)SrlwLp3qKmYe0VqMSz^lKjr%Y_310-w(b
z3jRI7$M?CHnfXEsv0=~*4DDQ?;!L28Kzs&7gZRzF#=>Y)CLIF+!>_!G>`0wT00000
LNkvXXu0mjf8B1=c

diff --git a/interface/web/themes/default-304/icons/x16/music.png b/interface/web/themes/default-304/icons/x16/music.png
deleted file mode 100644
index a78df8c2ac4a97c80f9cde1ca6b514063d7878e4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 427
zcmV;c0aX5pP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004UNkl<ZILl-B
z|NlP&B^ZShx*IG055z*qV&oXm0%Ch_{Kw$B`Y%}q`~_k^f(C#TV8Q?OraZj~q`!Eq
z`)7*R0R5@Iu;Kq^bAIzFv^_ZnWWQ8w{~?9b0I{0y*zkYZ<{u0|jqD;-k4^&li*OpC
z-1de+wetgmX!TEI{2xTiHva;#RYa@beZ*;i@stM)<};r&n9lsfpwa&yhW~?T!x{e>
zv?u-N0kS_6G{Ab^I|l3dpBZeI{0HIxc1!;=IIV!NO=kaBAkF|Fwp;j_!Fk1>|3D0(
zSN>N38o+?p0MqGD9Ds(L0^&bF{2xSH&VI$<xa<c5&;SN0zXsd}s5G7i;peW)U;K|f
z^!vZxrnmor{M#UL#o!tS7{F-&tBfuKf5y5`7PB7xH=l9;zj)#H|GWV$IUsRlfYSgV
zP++poXlDwa{fQ}j)>9_)q*kDqF%TO9u`&<~12GFe0|bCr3JaD5Vj&>r0%B%lJpcpN
VLA^=%%kBUG002ovPDHLkV1jeG!#4l`

diff --git a/interface/web/themes/default-304/icons/x16/music_arrow.png b/interface/web/themes/default-304/icons/x16/music_arrow.png
deleted file mode 100644
index 1215fd2e9b7ce34cdb1ee71ba403e7dcf49f284b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 593
zcmV-X0<QguP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006QNkl<ZILoDv
zUr1AN6vq!U6Dn6|Rt|;53<}#~=(^TwN+A@1xrg$hTY*m!z68CLJyiZ#29?yJ-EAdG
zp%n=Q;X_Xq2-T&c=t07?;hIT~+zQQq-_9wl2G{k_g%96ze&=^S_g(@({{!uN2qVDc
zEHFzUouEnTJ@@9Q^3H4u<<~~2%s)sD-|Mu3S*Gfr0=ZxS9R6rO=ht05bFQ?4O;@Ij
zz~=C@+1fJP$MvVRzDbMa)C39kw((TKs*@8&ps;b0crk0`iO5s#JLhLgAf76)wS1;^
ztzRgw;rrh}vaoSV>Y}`c__*}N=Mz-XKAI{h@eh%r#mJ>4X#GXZ14(B9RD21`xK2th
ziwg?e*W=`FPtx`q5a789+R^>1E)BuDH8@6|a7^Q6ol`XyFrJPi?d+Zb^E1mkzgeB<
z-csp>etD~|MFC0W@_Y5Sz;$)Ff+f$G83vMDLZh^eh4$uG8ei0frH60p2ks7_Edof-
zGnI-?KNn(^T_ZU7cp6pr$H4tNIkz2u!oTq0<Jlpg_6@NA<sXjq13cF$v%pTv>v|Gp
z!3dPVAXXpkMRs*ly_{ziI4IZKs;xQlKo{f-l#T&-UjWkQ*Y~Q#kJaR^^O<Tw2~$ll
zYEo*O`K*L-GBzfcS!CXQhO*Tzed8lQ(tPNa$`aY96^zAzd?trk!enG@*h`DOVJ)*d
fq;sk)ArbrlZs_f+440NI00000NkvXXu0mjfGh`kL

diff --git a/interface/web/themes/default-304/icons/x16/music_exclamation.png b/interface/web/themes/default-304/icons/x16/music_exclamation.png
deleted file mode 100644
index 68048842170277dc482d642ed8562651af0b3fb7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 660
zcmV;F0&D$=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00078Nkl<ZILm#G
zTS(J!6vxkhDMe(3wIWfNDI`UgF>T69Oc@E02r+yTqQLghLp}6RE||=e6)p&)=~PlI
zjn&FqLP>YF)b%jLYML};G8axZFSNX!&iR|MVe7z$bI$kte;@wf>=Gb?vxN0e7c<RE
zj0qwF40Z}@Z2Ht4-#iy+oaD|s=MfK(NL(jyJQYMfJ`+xlISU7t=B@Z`P(8pq=cXQg
zq@a@LQynXywl1#<K3D}N&i+Kw81fl|8jS{nUVV^v&TG1&1j|HGl;Cxn0B_ob0@te}
zj*wSJ383$*7M;Cm4$k?`4+uO|JK?52S7=+w`YU+RA_#r0g4y%Abn45{N$lyqf<vx6
zboHyIIOqG}y9+?z(T2sXvMR5gW`AmRI7t*dZxV9e+oTSUJ0Hh}72+Ro9~;iZw~rGX
zd@rlf!7klTOfiIk9&X%uZM>iM7E#bqCp3)or}_P(`_Vs=f%Ac@VrSfrWIx}}-@Fde
z@?S_mieZ80bZPl?NEEc(g4+8=u*ZV$WhOmj+(sloZbmq82e;5XD+=f%u-u4EmFXB9
zZ$$=kA0Xtnug;kkl*JTWsJR5nIv=Q-rbTj_XQ7~d35nJI2xTOIb%F|GHYjR6B3bvm
zc_bMimI&mYWBCCm9)^JgkW{3P7U&FeNUs=-#HVhX#L{<*SkxIn+DAE0J)?uQ5(UL-
zfPH%*s^XIm!ZxjKCcAzdmFDlb`*JTP6jxs4JhDVVjFL%I+G<IOWkym`KOs?`qkjYi
uAt%y^9Yoy!1lx(Ef3Sy0BsLQpSnwN!`^TVck<7CI0000<MNUMnLSTY{G${=L

diff --git a/interface/web/themes/default-304/icons/x16/music_minus.png b/interface/web/themes/default-304/icons/x16/music_minus.png
deleted file mode 100644
index 284b16559f9da9c969feee3e0f9550908b8a662f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 512
zcmV+b0{{JqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005UNkl<ZILoEe
z-77<J7zgmDAti5lnJjd?l@eOaXjum-rKFHjT<pq)8&`^5OlBxjBAbcGyHeb^P%d03
zFaLmCkR~r7Hnn+uJddF{JLAHyK6`%W_xnBHb5833BEo+_{U*vm5))t#lzAe2k6!}J
zJg-`NgNl_`KLuS|Q1?f`E2$0?z!o@w56HmWk+Vap50$HLnqLF*MxW$h;ly*KU~%lw
z{4%xIqf(jN;L9Kyy#Y$2TMj07dw?24<2p`v>3T+b#v<sw0qK@&$n3v^_|8XP$Thk9
ziRT&dowxVC`{ooqEK~1CK>o-HXl>`9u{j}Y2)`g#wG|<I7{h7q`r7MD7eAW)0(6tN
zpqp|*$t*I|&moj8dgldp6k4lH-;IF-h<@4y<%=&!ymbkM!7S0Q`A2|e%pp?99(f_i
zwb*_IrSl#b$QEH9z($7;q<9@Ny7t+5#li(PZ9il6`VG?c5wEA#8o^38AqVc}W|ZP}
z2uaF;sFqb{(fBE9t;d+qwt*2f=2l+kkwy%3Clei(GV>GA5EQzWUPXi5sc0BKQ)mr6
z{ANVW|1yas!Hx9OE@Aroo}!6LMk0wJVI&9w1iS;bdZc)7$4b`#0000<MNUMnLSTZt
C`sUmK

diff --git a/interface/web/themes/default-304/icons/x16/music_pencil.png b/interface/web/themes/default-304/icons/x16/music_pencil.png
deleted file mode 100644
index a6b6030aed2f4b14f9538245acd8014d3a09c13c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006CNkl<ZILl-B
z|NlP&C72;}_kV2oKM)IHm0NU`VXn3|!y`sUhLb>y&wv&X+k4|b2G`Yp;n=rfCD8`_
z1!6yf27nY`!T<H9JiQ5|zj&<sXNuPV{i(mO;s0iHe)B1`Jvjzszf^4hAtlxDodJYH
zLqkyw5Ucr)4gZ&I{=op$$SzX#=p>N82quSNfO6X#2G!0F45HOPk@0^JE!+GH#8wfl
ze)kc?&*-m(8DM#jk#YSoMn(q)<0%gq%x6AlFrE2{L8Jda4F3nwhBN*%Xixgj17v>&
z@pms~WC#ffQOUQksQus2@P8vC<3YFq*7M#mSkM2=V7uf$2>-WR`k%pR1%z!f`@h1B
z1&$267BSj;d3oi0|Ni~Io0L@Fd<F(LR0Dw6ZsBJJ=M{hc12KeN`Cno7Vu<Dq(;2sZ
ze^&WlNlB?zNJvO;4g(N?3^1Mk!~tl?DIop>#Q#CG<?L4sj>~>9%v*}8d1@WwK3^ve
zM}B^O2CxAtji*8Qx$E*5|6>pR{_nTx?SCNuHb{JBJp+d3&LRdEZwC$rxB;v(x(xgo
z>poe`di39X#{K`|h1>u02DIdW#Fy7GsG)0aF90S!WCMUefyp|fohf|wC#LXOPnpb<
zT0uSoV#E3b#)<#G-26YKmT^B!Gd2SRfLIC(mIUJeX}*l>%HkO9V4Bel008ETx}a>1
R{+a*)002ovPDHLkV1f*64$S}n

diff --git a/interface/web/themes/default-304/icons/x16/music_plus.png b/interface/web/themes/default-304/icons/x16/music_plus.png
deleted file mode 100644
index 69ca7cb72de82c23e44c837f10424e5369705b30..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 562
zcmV-20?qx2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005`Nkl<ZILoDw
z-%C?*7{(u#I>>F-+KNWP#07y?h^-|<Nkb6CC53p^jZ|3Fg%{nV7sYHVC<Jrlai$qd
zXMvD6UU=6<P@R7ux-f>ae%P=raQW-)eUBXI#Bp7C;KTF0@ArM5^F0Sdgx!FSc`}0-
z=MHBE3I+6wZ+*Rm=2x2rFzp7CF5s!NV8A95`fq>?m_R3nmOirnYMI&c7YsNVTQh@B
zkFGnsk;S*{zg9%^9?zXs2=-XS7;vy})eI^R=fR6s*X`6huAl2?)@LDOKxJeZM<1-f
z-TV7*NVGh>Cf?`n&HR+Q^l=n;={5$`4t+*INyD#XacqEeNVH~{P&G(4_BpAw#hn6z
zV;Ka;bEr>{Kn*VlP04M4Do$Qo;=C*>jH;<=0Mjs$!@1-JG21##-m>vFVB!FfaH*Fw
zw@6g0^#K2q#j_mpp4nhXv@ZS)jgxuom*r8X!o#Z2@%<|4UhDhreh|{lQ(x%Pn{^7!
z{vfVDNx$M^9}wFosEz3h^e@s!@sZ;w>z>J;8A(xKc!3V}%#ppl|AzFn$5#YgFIDi+
zp$gThdeS`}ITRW3T7unCOJ_W5=^R<I1iJ2Vua>D{DjEJ*6yeHVAZ$}T3soeF`*v`M
z_71)yJSH4w_%DGsu?Ka0lba<9t`)1A_E@!mKUe9jz^M`2vj6}907*qoM6N<$f+{`<
A_5c6?

diff --git a/interface/web/themes/default-304/icons/x16/music_small.png b/interface/web/themes/default-304/icons/x16/music_small.png
deleted file mode 100644
index 54c1417abde35cd9e5b902927b761d42ca8de774..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>+}rLo7}w|M>sko>_H9qJ*@-
zF6qAi%p0vbd^;J<8)r;cVb*!}x9#EoB3*NS3BUiQlU0~SqV^kigfxDvzxe9?9*1AH
zo@^F6e~&G&f2-g8Zp#1vy=niZGhOQUG(EuBAw4JT&p-Ynh3B;Y|C*H25cd4(`F+xM
zf7mbm_g!wE${^(wrBiTB|1Qsw`IVExML#cJuY9*baEdsC(A_%~cjn3Y0-ea<>FVdQ
I&MBb@0CewFp#T5?

diff --git a/interface/web/themes/default-304/icons/x16/newspaper.png b/interface/web/themes/default-304/icons/x16/newspaper.png
deleted file mode 100644
index a6e3bf83fe83c24076b73e249383e4347f34f4d6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 565
zcmV-50?Pe~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz*GWV{RCwB?QoG6;VGupLe%>I07NWnR
zq6PvYHfgLZ>@0#{BlrS&18X0_R(t{R0W1Snf>_xFM8QIBynup=x9s`IENiNS49xEA
zT+W>Dd~5W2Js5`Z4ZsKf&VJnQ_u1`s!|U~edORLXe$;BU&hz=yNxrQn?TqQP?RJal
zbo%`_(2Nh0NP@;j0y=?MyI!w2pU*g*PG~e59V=J1W<L`^u|Xr5CPt$Xd_EuY`8+0*
z2|OMTyk4)~%-n9b!(cE#I2`V@+ifzLDWcOX9Z)P5^=7)nWF#zextwO@_xn+;R`r|>
zK<jq9h(sbN6bfjyTDmcl$siO8p<b_}-|us~29miq29-)hZ%rf;Z^QHX9B#K8<#Jgw
zh{xkLfO)xGKqtU@y~g2i(6MuPwOYaDa$&RC=sIJWQ+x=6SS)4>+H5v$J>*8njG735
zJ_4^tY_V7%7z`qnN?|-6>l>g^{Zgr<>*;hFN-4<P8w1jIvXSisWiFe|>TfcXIg?0q
zHt>AZ!Knwu5?#nZVwqD+$X1F*cQT;y=lYYO%&FmUh-5OU)n;<P-`jdbqfvVkjdcNK
zeYsr1u;Q<QK;VmYu21*}vu@>dJRW}%Acp_2UjhsOO=C=J5#K=z00000NkvXXu0mjf
Dp|kx!

diff --git a/interface/web/themes/default-304/icons/x16/newspaper_arrow.png b/interface/web/themes/default-304/icons/x16/newspaper_arrow.png
deleted file mode 100644
index eac7fce6e2e81f06c94d220a4526781cb8f014e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007gNkl<ZILnQa
zPe_wt9LJxFU1IFesjls29?C<|p;Mmn4<2SwZyq8aA{cfMBZ@JQqz;1(1|_1ifjOZf
z5*f}!x6moh=G;WLxg5<z9GZXT|3BZ}?*p22(FZ=f&-?OxzkGk+=M`SBS9ErEmg&ed
zVrp-17j12A!tHho!51C5wY7zfjSb}Ud91CiVR?BOi;Ig`SXjXP{JbI-i-Bi#OveV?
z=*Z2@O{}l4V|8^ED=RBlT3S-#Y&MJ8*;%C1X@o){aPhp3Nf|UZHxs$Ny^X%UJ`4^H
zDwCd`9`yJ3V`yjyU0q$uq`SNOn39qbsUw8T<sx!tXXki?(~@u;YN!=<yPYTlhr@x6
zjt)#tPQq+9qq@2pHk%Djr&F2e=iu>p5DtgAm(+^J#zrD{cXyFUBrrWat&*G+*Vfjm
zB#}r2V`F2=j2dc%)oLYjZ*LC+0|OWy9tI0NDP|gu<Ma7cPq|zU)KDwx>+6Z!-`__v
znN+Y)n*85MJRV0h8dX<J4Yk5zu@Ggz=0`?Gz&@CU*GAYnO)MW`(7bc_8vg@os1-Fe
zHAEg993YiSDcA>-9Cb1^HKmf=@%%*7Z{UG$Qt{H$diz<65SpeDd3bn;(a})^gF&#5
zKp>#fJaLCn<{C#;O9DktKjQwUG#tNxYYm}H(W`Myl$Mqf$v<pnW=6qrn1m@RKF{HG
z26z|)sv`fWO8}Rje-8_T!5|6?3nhOL-fwSjuQKub{g{}TfM)mO#tR>A+P>jx-4|Sc
zpGM^m;Nl~1=0fEgP3WswH@Rmt8s%vi%uSgq0f5i*#dn?5(%{lrIamI+wV?c6wBT05
c<D+kX0dFsyh2P;&pa1{>07*qoM6N<$f;aR$#Q*>R

diff --git a/interface/web/themes/default-304/icons/x16/newspaper_exclamation.png b/interface/web/themes/default-304/icons/x16/newspaper_exclamation.png
deleted file mode 100644
index 04a39d4957b5ea81c86acc521895890432fb0388..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 705
zcmV;y0zUnTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007rNkl<ZILnQb
zKTH!*9LGQJI5?_QxPyw6w3vp(*i;5sIx~rXLS!K_7&j6J69<_bSe#r~39AEwiHi^?
zO(O{j5(kXN7%U7zg-|%4a#!BndoK23O*Fpgw|u_&zEAQMv$L}ZA#MU){NH;W1i`wL
z60J367={2{BO@czN-4C~D5VI3fFKA^N}-ejpj<Aqwzf9@D`*|SkWx}hQ%VtrA-@Mn
zDXCVgc%Db4QekXtY+6b=2=oG&Qc3^}!(e%NndatZa=9F<tE)6MHDOs6<#L%^F30}<
zK8uTsBoc|~si~=PVBM@%s{jZg$mjEDt<hRXcNm7$T4u9Zlv2cEF@}eS0f+(sW@cvS
z?ChkkuaC*eNn)`WnM?-Twiz8AWo~YcL?S^po2ACpH5eKiLTgPbm8ye_#UhQ3jSLPB
zqLiY$yE_UneBa0SeS{E{N+n#^MF>#`Z*OmNviFRWt^2s8r!+J)P~%MB_oD{MWHJ&u
zF)<PO2t$vZFAunqA7}l;a|{ts<4n)<A_p5A8??2x(bLnz%E}6sWdTsxd&TA63!I5r
zwAx8dkC&)%bzjJ2GB}PCwQ(E=+dhYV<`d_fG`H{0;dG=q++9GP{xE#s$M8H4&+`yM
z;JPlQQmM|z(cW836SUlAetsUmvWZeZNIIV{$<t#@*L5QYwrykEcGN&?&HiQqJJrGV
z!8;aSK4h=@4q=_;V&|9s{N-g~777K@=`_V+5!ZD&I5>!Ww8wV|<TtdjLz8jH^&3z4
z`f&iv3azbSDhS96U?3ikUos4%<<HqYx_5Ht>a}#=`3qJYt!Qb#MWy@#fZgwvqou;u
n8v!K$w%eJ<OalG?nD+ahaE)N705T<d00000NkvXXu0mjfrad|(

diff --git a/interface/web/themes/default-304/icons/x16/newspaper_minus.png b/interface/web/themes/default-304/icons/x16/newspaper_minus.png
deleted file mode 100644
index 6606c0196448a6908626d2a2c7c2b93d01845afd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 615
zcmV-t0+{`YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006mNkl<ZILoDy
zyKCA}9L4XDAxm)Y>=1AY&A;GgN0%ZF1@9Kzq?0&>E(R?QZ5<TBsvSx}f~bfOFi~QV
z7~hE)5JV!1?`QPedoDymmbUZ<ANUIQ9M3)9%lv*n3j_l11pF^idc9uecDtF&<zfs!
z1bjZ9({wte$z(#K(TMu}K0Q7@Qm50QcDpUPy}c!z6)1NG7zBJao6&eYrr~f%gTa7$
zy`B`eS}kfeo78AD=<@QC@Zr2bDGi)XC*X_4f?}~4rPFC?5)Owc9*@(-#RUa}L1}V+
ze!fGkR&xPk4u=Eq<#M^Z!k?1hI?zDNtX3<K1~!|Gd_EtQN+r^2wWQbU$zrjP-ENmA
z;v9KA9?Io%m^rlU^z;<))oMkxT8*mJs!Z}yY&05Wl6*c-*Vot53>s*e*=z=Uy<Sry
zk)TW_Ln!p67-?{wP$(pO>UO&X4YbT;G6DYd^hEV~U4lYk^172^u}C*JH*&?$K+8@}
zPJlE(^Vw{c&<E0BZ2+yq1lxcK-U&3&GK0YY_-3=AySqCH`aqKBPAZj(Oj0hFWx<%C
z`E-2Dm`<kye7oJ!)zuZHQYk_o$z)QdLF8W=4TX-5=!a5CKMxP(?B3sh_|Di@rqO5s
z#|yi^zn9=TNb=l?SEZu4*vf0ZFqUHn2M0{0QgJ*G>^B;XN|Q(=LWM#>ruZfjd=@5W
z;@^Q?%pdpm9zGy}_}&VW_X>rA{|nGS3xhZR!*79Zh_R9QhbaI6002ovPDHLkV1iG8
B8Yln&

diff --git a/interface/web/themes/default-304/icons/x16/newspaper_pencil.png b/interface/web/themes/default-304/icons/x16/newspaper_pencil.png
deleted file mode 100644
index 3d1813a77c2e743e432e51696f551113aa69b63e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007XNkl<ZILnQa
zJxE(o9K~-6g)ZXc(m9(rh#d;0)Ike{WRbcQajJJ}NGG97Dy4)jVw7|cp;{rDw9rys
zLz={3k~UFEB=|)VKgb{k5fnAiXw)3<xlj?I9}j-K8{R!9=YQ@MUawd9d_Jo}{wHRS
z$0NqZ#>D98s1W?2kd;aWM@L5}m&-UjJjCAK9(Hziu)V#FVzH=MT3Q14D$G{~Tqxx6
z@i9uJ5)KXyu)n{L-Q8U+-rU?op-{la#s+3)X26I06=rQPGBQHs$;k;Kkq8orgf<BV
zgP5M4MlzX%VHn!P@AqHP-rg=1Lb%;-B2Q0GuSWP+5{^R+wW7bjpJ)S@%Z16wNvy1_
zptG|R-QC^j>+8ed;Gi~9`!GH}j&wTBwWL-!olYXF)hhD&JaW05PI6srx7&4+OeTZ*
z`FU+djkm2$2#3Q#<k{I7qR}X3XJ^4euZx+6;{*Z$-P4wOXBrwZNt3Bn^!D}=d47J5
z)zwuE3#G};PL`LKb+Lh=A*g@AH<KwQY&ILw25f$AZVv2&X?Sdet<&WDmv<N*9tQ8s
z)25~=b%>8ePfrh#7Z(>;TU*nx4<`BDNj96sRw0P+r$?w1U+FTfR_mMB&CNn|b#)P0
ztJRQ7r4WzD!9HTKm`<~>uz*<DjbFwSE&k|gL3Z&6sG(L^EEXbp!`9c=H5`XYm|`*Q
z!PMtgE%v;>kDrkbx*uw&6?JuWqOq}2@`CVu!{M+t357yPB@6^69%%7|68pan=$pxr
zsG*imi&{LZudkOkdC_s(Ksk@MFK^`@-n%n!{TnsZ(%|l2z;lbq=x8-r{<P;3cq^1O
T%|m*O00000NkvXXu0mjf+)qJi

diff --git a/interface/web/themes/default-304/icons/x16/newspaper_plus.png b/interface/web/themes/default-304/icons/x16/newspaper_plus.png
deleted file mode 100644
index 5a53ada2f109ccd75de635cbd8104f505ffec899..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZILnQa
zT}abW0L3p+5!6t63ZM57{d+N^0+H}x(8GEOM-Z}y$O{Fwr=+JL5qldb7$K837DEjx
zXvvr&et>SWjj_$)*Ty8lWMjiQzdv^RpG%6=gI@S?@Bhy|hjY)pVqjoE3=R%H){*DL
z==1r6$Kw%hw_6B)=*XR&9c*oFVRLg68yg!al}gCx^H^J3!|Lj)B9%&kdv%N_23+XK
z?d@$;DixH=Wvs8SqgX5|@yf~ya=9F`*(^e#5IDGB$EXZkE*FuzySo@29mUktlrjkh
zgBTkd!}Rnt{C>YO85$Zo!DKQ?9U*#pdWhWH+dDbJSxI;tYN!=Xr;{jyuC6Zh_xB^6
zPQzlcz-qOkv$GT3-QCJW-v_VPi)b{;wWL-!91bG)_xG`|uz>mbd6nd}*k-e-B=LA0
zu~<x*QA4e;+wDXi92{VLd>r9$7%cR(m}z*NKp>!cDijK!hFa0l(Lv<l;UN|m7Zog&
zCjWLaJ3EU+BB8FB8fry*dpl7EY<^~D2JC}rcx{BO)8x_D7To&Li07f#poUt}*49Sk
z(a{l>mX;LkgGr7%nVXwaNwjZ`cu{(T`k&39=I*;DAzE8oiL6$uh(scooSX#vn3$MQ
zX&Bl3<tggFKZMbH2bO|V>nk5`EQ`MDy~1oZ6Ui5r$z&8f4wD>rqJ4gV=HE~LLwu->
z3WLEQG)<FyAiUp^kr8DwJUonKGO1FSJuT4s?&D@}18)Cng66u1i|=cf#jC5mLLUvf
z$+Mc88hI8M-d<a-%W2?D4Yf3=J2x*ce-iRiLd}2w{Q;GOh*A$||1bam002ovPDHLk
FV1m#RIxqkL

diff --git a/interface/web/themes/default-304/icons/x16/newspapers.png b/interface/web/themes/default-304/icons/x16/newspapers.png
deleted file mode 100644
index ffa56e52cf5b961971f1a89c3b0868872cd6febf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmV-a0;~OrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006TNkl<ZILnQa
zImlX35QSeSB#l@lscr2nZ7l<7Yy}$|3oBEKot3DSl@|UAYA3jhEAFTW?i&_@B7%zh
zKDje5f3ON(IK0Q>&UentJkIO&avqO|W6z&V>Ng~Ixm=vX;oty(!$K1Ks6L<1a5x-b
zzu&`dw}bV14a?;c=JPqsW;19un}GM2#IFEycDvmly<QKp*(~Jqd1$p-5Rb<pm&?(!
z+wDTJSOh$*SZ%l4#RPcQxl*Y>AP|6HFi4Wi<!S;T?Q}X(;dZ-)&1M6u)e07i1x%+?
zm`o=BoJ*w=wA*chn$2b&V6)jMK{A=7=m_!q{ZxdG2>EnHF+)mbG#YsTk}j7E9FIq8
z<9|ueIgv<EdwRW|2O#Nsy@JJJ0k%$xs8A?CtJQ+lY9)xtWCEwt3AI{{Qs9hqIvo!{
z((QJG!C(OWexH&kl}a!e3<SX>jYb3N^*TAnVlhgo(P(%8lJ56AWHK2jm&<?y#bOjD
z!FHn2D5O#;at?>Xv@MlN#RHJ^csyV@98wCL2SQ$Ff^Fd{@f`<?-x-_-AnEyhQZ(E(
z&La|u(8@xg5M9P1grKv}=c6r1rBWV%Bm|5`Bhu$QUT1=TVW-m}m`o=75Q#);p-}jX
z07x2-$55?SDFs5XXPiemohAtW6NN&7AQFk>H^*_`nZ6PLNl1KGcwZn8aCiv7&KIU{
iOh4WbIdgvx0{#Hf2ERmAZY`q#0000<MNUMnLSTZcCjip`

diff --git a/interface/web/themes/default-304/icons/x16/newspapers_arrow.png b/interface/web/themes/default-304/icons/x16/newspapers_arrow.png
deleted file mode 100644
index 132635e307041eded0078bbbe3d75fdc4b4c28a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 698
zcmV;r0!96aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007kNkl<ZILnQZ
zPe{{Y7{{MW9)d(XS=T%kT?Rp2lju-rusXB`c6gx-?9hk~nuo$J;=DMNIcO<vhYo9-
zIc4f};veQ5&7o7*q}9X*I{fdPetVw>EKlVNA71$Jdp^(id0uk6-Q;q)NZ)rg>I_tN
zcXyM+;UK%+PFyJHk7|E^A3Hlc*xug8*47p_Ha3vU<*>TCiflHEcsvgNPg8kXAf0=9
zdOj{JEMRnW6yxLLn46o!;NT#_;jrBE^YfUPm;fJLth&0oDn)SC&ePM=@cDf3`~5;y
zRh7~Z&!YDB_M~uga})V|9_#DtSX)~|CX+!ro&M8#a&i)hL_(ykt*uH!WV6{M!O+l<
zL}!V|<B=ln$dZ$;jBY5&nwy)IhKNlE2M5^Q-IX!^m4rJ7gFzXuv9VEUh}cvp6kxSl
zp`TMC8jVKO*Vm)1txY5?EiG_5otT-Kkrccmi^ZZeL~J@dJjCMSB9h6ZBr%)KXliN_
z2`7ogVu(hg(s^KDKvLG#)hP`Tn~KFELZJ|*rl!CP<zj}D@Hl}$0K>z>cpLnMht6;C
zCi1AQtyLN#HXR)uVQFbeQt&=la(X8`7C+_V-V8c^0%q3_+_rQ&ZoOzHV$<>Qu|(sy
z=6&?{_sf&@_4T3Qa~gN75mdK-#f^pl9(_u|`W?9TW^Co^yO@b|Oc5+EFAFF8IN8a4
zPZsZ2fG2U_!R%jNCV|VZ$0B4f7*r~iLL?HA6fEJHc^@MqBT%+5ZtBjA;guKHKcr9-
z1uC9;XD>egVxqFLvg-2ka&;C;jU6jjLcj%6Z=}@hHdQ?H6QA>%3eBbeQF71bI9J^{
gTT){;X$i65H`aHzCfM2LlmGw#07*qoM6N<$g4{4olK=n!

diff --git a/interface/web/themes/default-304/icons/x16/newspapers_exclamation.png b/interface/web/themes/default-304/icons/x16/newspapers_exclamation.png
deleted file mode 100644
index 9a09215d82998e63cc75880e25575ef68de1f5a7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 736
zcmV<60w4W}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007~Nkl<ZILnQb
zPe_w-7{{L->JS9tDWX$(h>o>Gb_z-A64)Q1E}{otlpO}a4n>HEN~2^G3MqAjX=rs>
zY-^i3QaAUfnZ)bZKZlv&8pAo~=HKbJ-|q=SBErFkAMeZie4g*~{1^=l4bkA>Ac^y;
zKsf*v{r&x9Hk+xZr-x)ABVH;S8yhGVizpNdSY2Jk^71k=nG8~?6c!g3p{gq6cY=!j
z0`5F8Fz`AWjbeO!9A2*%Gcz+79v+6r<KZ(BiNNRcLH<Os(%aix!GeQ!4hDm;TCK3z
zY)o}^wIU!ni?Y7H&V~7W9=Ti&*=!c+bQ%i_3z(am`_tL)_aht*v(#ubDgvUet}agC
zcDp&clvpelE|MLkWUs44G~{G$ZEcExNSZb`H?g+1#$)_1iR?T&I?Cg<w6rJ!B5B&%
z+Jebsg1AnOSX)~Qy<U&b&Q6webacRNyMw8bOBnf}=N%ag21P(5P21bsh{xlI#bTVK
zuC5NPt*tDPNv5X*m~z*kkbQ&6k5{m=l7UXAQv^iPR4SD)Ha3PpAON{gSuBxB<T#%k
z4-o&NL#g-<kzgZ!etVCGh6Y7IBuzUzJ4hrFoI>tHO7?b=&*u;txrtoL#KNWTj}Q&i
z<Myo^P2!nIns#@0;c~h7uH`-)4hLVE-EK!}-X`K-$I6fUAR?rqO;9JUp}GE~vGV*`
zB4J^{?CdPFw~yaDi9+=@Vm{K0h<X_|s{!iQi}>uhQ0Q(y<aG6EG^EvPm1HuBP$<MH
zq{QiT@;=;-=kPnL@GVw_WcVB>kY_Tih5PN%pxvygq_VQIn)32;<zGC#ci5v&oXV#Y
zXONDcMsevbpOTpGMB4H~BmN9TM+C<N$N#4LA-xoY_G4}*|EtF|Dd~Gc&wc?orouO+
S)9=*)0000<MNUMnLSTY^EnNrz

diff --git a/interface/web/themes/default-304/icons/x16/newspapers_minus.png b/interface/web/themes/default-304/icons/x16/newspapers_minus.png
deleted file mode 100644
index 983a4153f881da0c8fab09af83e2b881f67a8c0b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILnQZ
z&r8~I7{{NBm+carwjIMm5Cwt%g3x6!h%P$>UOpEOoubp6gF&aJp4vb=xEu<*2%1^=
zqbSr+=diG{XwXn3u<%FrOW*rE&uB=8;TK+fzkK;Tujl<d9|{Bl<oEkYzh7(A02o(S
zS7~Ksh1_m8aiO4ps+*e|wA*d8S}io2O<Z1H;^N{0)oK-$N(IGY5qwT#>=#I9pU?O8
z@bD1Z+uPXP-NpX?J~lTuv9q%y?^3CRR4N62bg}YyJVp@=+Ieqp51~*9;c!?mo6Sl?
zJd5gdI#SqZG;nowg?hb?TCIlj^K+b?o&D>aPN#8ja3E5L!=W@p%gf7>ARdoPbe05z
zK`G*nEP3q8=!TMPadA;;h}d*{dyDJqYZ>EzNw{+?7L)O8Hk;BAvFYya4o;^N`Z^`z
z%*+ht=H}pXxkR$Gv;?o$i(D=zDR@Wo^YcnW#HRcEdmJAh<LKx}lFZJ|!fv;Vgp(8s
z1?2O2>AbPAAt|j^tI`m$>EYo4TU%SmWHR7|axue6c${c7ibNtIog<Nm+?K^+Q5qsP
zb-P`Z%VkNy`(R1`PIxT7O8(}>@_#K?AI8Ut*wpLwBpTl}?_+&^U9N0xZA}h;pPE8&
zYz&dfN%%)b5So~P$6)yNjpz%pi3KMoC&J@C`gh{f#T~tur+g;LlF4LJr>CdLX0wul
zB|J0lBbiK!#5+BWPotx7Y0-kg@cSLn&-X+>K5~Mgp`ka!!^3J&`21TUTF}_(@AFLa
iLi1_>UTU6GpWqKrs-K}Y+bE3y0000<MNUMnLSTX$B|dln

diff --git a/interface/web/themes/default-304/icons/x16/newspapers_pencil.png b/interface/web/themes/default-304/icons/x16/newspapers_pencil.png
deleted file mode 100644
index c950ade8c20189c0a3452c5375fcdc933e686cb0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 707
zcmV;!0zCbRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007tNkl<ZILnQZ
zO-R#m7{{LxBp8B-hwAJhC2#ARFJN>~2xC`4h~LFPI#_fO2|{+zO%R0GtjvLy70b<Z
zFUowKvYDXbHWdqDV+blbo$ud%&yy<;68_-BpN-%5<#~S8+uKV$Jw2qqRT^~#3c9<y
zsk5__Y&ILQP|$y>gM$O??d>6zN?~_*7h79f*x1-WB9TBm9>@IrJouib;G%&fI~<M=
zkw^riqobIZn83oq0=!-?#>dCyyR@`~si`UO(PCw{+Y7|ts>w4mGjO?FaJ$_?MMZ_u
z5YM90>9h!Uc6PA6y^YPyO(c^^tgo+QZEfvuaxfUg;^Ly1S}Yc&A?oPpkOsrU!&041
zoKB~RIFU^<sf-SkX3fpbN<+j>hlhvQ-`|%p{?~+){eHiU*Vx#o9A#xh>~wT=1gq5w
z{hU(KWHO<?z8-CDZDP{W(t@t8E`-BjX_3@R4d>_om^2tliJgv*j}eQ-5RFEqNli@+
znwpx#gqzIG&0%(SR+9Vr`rv7AhrR%(!4RN^h6Z(Va)Ll0fa&RJ@IqP4a1$P9XlMu{
zBO~}3bHQvj%bn_?BHvr02UJ&Ar%q2#vAn!2EqEV%;o?qstkC2;jD35Ebo?b+TU$|H
zUjFJuVIfg%ZLK;xJA=pLk+<f33=R&;lMM_Eh>82F8Qza2B7S4Oi*WD@j7Fo<5b2s?
zu(GluWcHESN#d7Ri%UiP*;WEm)g516UY^R$&3%-UlS9N#tE;OBg+kJTO?YPBhyS|+
zzE6L|@2y6R`RphzE`Cl#w=_414?D5rWjuX+y&tJ4UO&4QxqmO)l1a|W%A$)WTXR!$
p`x5Y^($HUBYN$N_{V)0a{08DGoLxoFL9qY;002ovPDHLkV1mV)SLy%&

diff --git a/interface/web/themes/default-304/icons/x16/newspapers_plus.png b/interface/web/themes/default-304/icons/x16/newspapers_plus.png
deleted file mode 100644
index 5f5747bc884f420211f11bbc53c0f2a881535f34..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 686
zcmV;f0#W^mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007YNkl<ZILnQZ
zT}abm6o(Ii2B9(rL3nKttO99CT}XH#bQ46ftH3bgr5G`~7zDu>bYW3r3WiDBF8qiM
zgcxk%2Y!u-Q>HFdoL@{595UF3-}CF&dkz>vP`>c+!k_<n&hMO;0)YVe{eIH-BaONM
z6`h@(<n#H+<M9v|3i_iuI5@!W?k;wAcCfv@ja)8=OeTYLI*pBu4b0BYg8$Q0oEJ#v
zuCA_*WHO0JB!aQAG0e@)VPIeY(P&ieg@px-kB@_oE>>Qzw?YIL?L0X-iBKqna5yZ~
z*48Qw@hob8e_sl>wziPZ=aJ23vAMa4_4Re6QmH?kW3d?K=jTQ0cDt2^sI|3K5)2Iu
zNpzM3gFz|cjx0Ir%IJoYtg*3CX^7ZVC={@_w<lx#D+zZV92}JK91e%l5V7g-@DNQ+
zP0-IN5iJ%AY&IL3o0~=Aa=Fmn-j1oMDM`UQvfJ%SL&T<|qa!RWEn#tSQIgcx*Td;_
ziiDFS5(!LCPfO?i{(ebmwOW;ih)u`G#~2+Q#l*w}c%fX(a1tJ;udffo!^3zMwc>jB
zT|AH3(9qDJG(>DVIXS`d^0K7heX!*GPIxSS%F0j;US#cZYq`4hu8N3Fr>Cb9jo+I0
z(c9ZAPuA1ZBa(;T>tG7pN9B(Puw)c&cUPmR<?0%FjBUgw7ObqS2xt2^zY|l(J=CP1
z`~`h6#K~+ntJT$2#N%;E!4jUC_c1auB9c1)Q{4D^2c~aTxcRFZ^s)3OeJYzFS6Lew
z42H)>qfuRiOK(fo%2OuL`;s_)C?)z_MtrVlu4&5u%d27^y)2rc*Trr0=CTNW1G##j
Ucer>4d;kCd07*qoM6N<$g7ZO0B>(^b

diff --git a/interface/web/themes/default-304/icons/x16/notebook.png b/interface/web/themes/default-304/icons/x16/notebook.png
deleted file mode 100644
index 1d5e4e1300719fd124709b0c58f080f4c3ff3de2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 501
zcmV<R0Sf+!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005JNkl<ZILnQa
zIZFd!5Qe7~D+^m2MGz}d|3M%i7TQ>)u`nJ{2~jkK#Ky|X#==HWLA2K&U}NVMuUy`W
zg_=#WxsP$)Wk+xe*AE`Tx4iH0WOgaCw?|-ke}7OIbD@1{cbCH3+qAf~WkGmg<1aTF
zT&Pz0JZ7*_F7sEZ#Gl2Y#ZffM$Os+32H;}jFV$*nO6ek=;SbZ~_iUEm41-_OX+AtY
zW*p>%j-LVZo14n`RVvGu$t*_`8EXhk&Tb7py-D-V!NCuGK3`BEK*5a-WxP_abD>hP
zhQK5v>P{2<9b~mff%SD|;^scb*LOMo%jD!b&B$tx{A+8<WK|4GvP2AlNnRG|G{It#
z)gFzmt}0WpN0V<KOm;ItR(s@ISy86y@)}`*AuuV5h0`P_cVx9kBaw&_NId5`{*-4o
z6J)hVL*cM8-H`VT3k-otMZOECNl~65t34VBg_N1(OM#Owd3G~FR(sStJWQTI0L<b`
zYls1c=suh#Ww|4Z4!YLq@_MOXzOK}3fq|O|vgqh(5?b3lo;kJ;hF~AM6Hv2_@QW-u
rc9&X&?xxPpvF4thh5vvoI_Q1_lA)|is+fj-00000NkvXXu0mjfESumZ

diff --git a/interface/web/themes/default-304/icons/x16/notebook_arrow.png b/interface/web/themes/default-304/icons/x16/notebook_arrow.png
deleted file mode 100644
index 45174b94cd538b7718e81d49c520091f117362e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 636
zcmV-?0)zdDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006*Nkl<ZILn2S
zT}YE*7>3^?gAoKBL>+ZdB7}8dnh+!%v>1qxJLreD6Aw1iW%v_qQLLg-FbGE=W`r~Y
z+aM@nmWQhY35GM5y6L7iw~Da#_wE1Z?tR8yTZ8n4>)`u%?wjj-zLyzoHb&gB+dDX#
z9XNb@a*`P)CYau8EyL(V1#PxeLMorfXI~W2Y!<&W8T?A8%Y5*7Kr@{Be+uZKf;Lkq
zK;ohK<rp?42|wa-e2YdAjzlmuGXpv_$En{cxIR8E=w1lK@x>p9XC+oHA(J_86z-)6
zUN{_Ew5Zkn97eGIu`xk+u2@7Wmn)Z$NsO!4n$YLatjICl$cW&|(pmzGs|jppGP@W7
z&59h;S}cN|JU7VjB~l5QB>5t1O=z(+D{`#MY!>wTzDn?}OW4VTW<`#vO(sEak^e@r
zpb|1kbBkJ&1b?Pkkz*H(MuBc+BZ=i;68|%~IkgFu{U_QVy|pULui2UVHpV&)2Eo-5
z|IcJWC1jH0_oCWF{W63nVc?`?A=vtORdwvaJY(&HgMvPPC<T8giE5Jp`x?%TddnQw
zPvi2d0EUAA54(<<=2Wa%sbq4Uj<`lQt;7weMC?QP<~ts)16>~Ay!$UhKH!kyql?iw
zqEN6C{B{MxDG=2rnx}5G-E*Stt`p6MX|z5MpmP@3-{Wu{(7jVpUdGvXP%a-r<xmOj
zL+peoa8BKNk47i3=hCwc+3A74N|x>AG|CzpG`pLcZfwV{v-(eU9mAozmW!j5q3j>K
W39SD3AWoYA0000<MNUMnLSTZOb0w|-

diff --git a/interface/web/themes/default-304/icons/x16/notebook_exclamation.png b/interface/web/themes/default-304/icons/x16/notebook_exclamation.png
deleted file mode 100644
index 4ddb7455b4bdc79aec1e298f2801893433f4e586..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007gNkl<ZILn2S
zT}V@57{}j1bs+`OMOQ*Mi6PO2S=2=kg(OH&f^;=95nZ_~Sz?1^f*6qySzu<6Foop@
zM4(<&q(-zpY;K;W`#PzqnUd|pbN1!7fA6z=#YWT%KMrR+|3AMy=Vhjz9!50w_MYZc
z{)fE{77H_Wb+PMaa~eiJtWy<Br4U|QgToy_AQr>VXcQ}vNSfD@1e)RG{82zJ>r_P(
z2`D@?;R)i0qTqWdgl~ZW7W{q;S*@T$bDW%wg1XL5fzBz1@YxrF<PD}v$i(gnV0_At
z?!mzg4r#Tu97eF(jt+q?o=hSfkEct>B*@h>P3Z5?tjIBaTbtnG)buJQzpUb4CbmgG
zXjbG{Rcou@(i%62@+DFUnW%h`nI^PYniV-#-qIqdcF!ts%_#VriGAz=Y$Io2`_KlO
z6*;DDZWdH0`DY{xDj|~yw;&TG5`_2Dd8mF1ytXn_+-kTga_pSRB+z^3RCvCs$TV@-
zdm&2(B-B306ScT`zxd&WCIchbS));KImN#-Sx^a?#QD95#G`P3EJtYh9!g6~5nQ~D
zesi|<O`m29hp}RVK~UqH55qUFVzbGFV*t)~WeCpS0Amb`E*)MyJ1{-+M00Z3!V3yY
zN?4&@Ph6p!mf{9f@_Qc%9@b&bqsNqV3WEc6kQ~P`W<937?AEkDH*0tUKY2w(>@dGw
z@<JGdFp;ETynj)I8TSdu&Vy+KddkiMjP~!a4n5W!rF<4=_nyMSYgj*2Li-pWt-$p7
z5iEK0u;keXb;X!|5-w}@^3!%rCl&1C?9a;0t=yiUU%#0e{m!>{OxtENx!br^Zf|1t
c`bzfb7my;Tw){==jsO4v07*qoM6N<$g7^wPr~m)}

diff --git a/interface/web/themes/default-304/icons/x16/notebook_minus.png b/interface/web/themes/default-304/icons/x16/notebook_minus.png
deleted file mode 100644
index 208b707c5728f0255067477227b2de1dbee8d627..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 559
zcmV+~0?_@5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005@Nkl<ZILnQa
zJxE(&6o$_nojSN?sR$*4hU)AR5Q;-xghCt~jMZ2Xl{SMUgHBEXk?NqJVo)6Hpo61}
zi>NiNzp<^qbg<1$a+90?<9V<56M75A4<5q3yzk-3xgQ0WmkEScR@#K_3cMVRL@2PZ
zK%eI4O$aY6e7SO&Glc?wJ<(Xp<@j$l%YO{RWGfnFWQ5v(2H?TMmn{}qm(sy$g70*l
ze<zcCt7&`_kMqX%Hsc^C)IJUvnVVDed_Pa}w^)*+X9;r%O!kj8-aCr(;`;g{O<wPy
zK!65kW)wa7Qi(J9yg39W2~oG3;O`)-dgPy)QoKL<nc~AADSpai_b|@Lsvh~mVMT92
z46?FB41q~n7HK!ZVv$un>YA8P^qpMjeEdu2N+!sv9(l*d6@4Z7jIh8Em>6PVH%ZAe
zvZ_ZN!Jxu_c9rJS%QROqK^C1*OAFE4KtR!7mhTJ;41q~r?uFgNkax&VI-L|DId6uB
z6dz*O8IE12*>1A=u8Y688hOptU@}`(bt&bYC8BA1-QG?fzaI?Xrj^A2L)1RNs@u&*
zXXk%>mLZU!SFNqoEVt|YCd0sPvLpuK`o;&uB;asdg`_+N133<%#_914vvn{8`%pUp
xMau}k$f9F)>4o5O)YWxYyWJn31G4C#dk<{Co+=b<5e)zU002ovPDHLkV1fhS0?PmZ

diff --git a/interface/web/themes/default-304/icons/x16/notebook_pencil.png b/interface/web/themes/default-304/icons/x16/notebook_pencil.png
deleted file mode 100644
index 207c1f07471d711d7c7c257ee2a75477a8f0672c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 654
zcmV;90&)F`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00072Nkl<ZILn2S
zT}YE*6vxkdJG$CM7v4mW3NeDD0xyOZD8t-E-Uxv=32M0%Sy8))?Z$45K!PQf3{(>B
zL&9dnBC1sqNSZTsZfe<F5!F82_vZdR=XH<Rpgi!qcpuLHyubIn4_QY?iLs5183iqS
zaOm2|2w8@P=<4903h_aK)^t9PL^g|$-Y~-HG=8U2_?1kmy!Lp&J%ZA|2Jl0H)>JNs
zm<Y`+NANQi!}n+u!EhKGp%5mgrohF0g3_G<mmLmC+ozQ%=KWE4d=YgBo6IhSF|!!L
zu+zE2@usFO0Ws9o-!Ey)Y;7Tt$*4ovBqG#{P55)TSLVoMw@c11u5Dsrbrb(H`LGZI
z_j2Y=eLYcYZ?EJ+Rv4tj5_t%l#Kj_uO?a`~>n<y!_liPvuBS)R?)?(O(&rfVGP&N|
zd}CEn#@{JQH8pj2OWL=@Z)6J|!X`;!QEcK{Uq`3WI02gtj}_$=HCn9_lkaOB%j<Fc
z%Vc``Df$NPBPj;emXzFd5Y^Hdi$!uVFa9%I@DMi1h<hPTz6D<3&67GLgBBds>z!Jy
z_Q+ilb=qu}boc`a_ychio6O8UgX@7o4G-I^aJHlVmae**%$1cy#~K=_#$;kT`KINC
z0S}S;_z`@Gx6bW1KN>g*zt;us<qT)lI&3h|330ntHWFZ@iD!Ne&mV5T`QGg+xZM-#
zPPmsdvNVGI2Wo0Ap-?=8_c1kT17co`J5FJ3*`*rggc<j8rjRAAK&L4$Z`oH-ab-8+
o9F29FIi3Ds-|lnn<qT*409aF+{C{3ciU0rr07*qoM6N<$g4Cum_5c6?

diff --git a/interface/web/themes/default-304/icons/x16/notebook_plus.png b/interface/web/themes/default-304/icons/x16/notebook_plus.png
deleted file mode 100644
index 1fed83ba6f4119dfb6c1e3772f4422d452969452..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 619
zcmV-x0+juUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006qNkl<ZILn2S
zT}V@57{?!ml#Gy)@}j7262a}FR@sda1_LET8kODbreZTaCSp>9V%-RVMJOc94-^f=
z-E<KPZ@LLWg3;IVduna7g36t3XWt)B&vV!-bwYjNcX1BS|IhC{=LP4~6fh6m?nc74
z1IO-9PJ&}%0`88Fs{p?!Vow(en8;@F<D!gmI*l8t6#h;oRbKmi$TLLcKLz|y#GcCK
zP@&MLr3n5~6#Nm5;x}2w^>7$p&deYmo+BzZ3%W-~1ue5HQT*(WqHj5(maxf(1sUJZ
zhw+)mv&m_zwUYn_ItK>@Etz~C6Pb)!!X^<?*P8I>@T|yzG%z5zIlmUexz!kMXYy_?
zj65rHVDIY_v}Va5MN8xoHi^?BwI;k+o)tN`*4ry+Tl}iv!WRX1GT~W~18Yx@pe;|o
zkuA7{O_F4xHHpzP&x#y0JDmb)IT**KKpeL+x%8?Xt6$XN;o&oHj`uf#@ks-~MTbMs
zUZDTX7F@z68M+sLo1E~R#~T~nSUPqjpc^{?Fj5Y1p{q-9%O6UhKNLr;$(3md4eoO)
zmw(!Dx9d=V!d@6Icfl!(1<aDfbns0pkO7y7eJ~~p)_u492Rz;D1wPgF^-x2%Yh^uw
zjMk+2c`F)5YE_JZv$*SFMGzj9dEs%Hi}QM-;;7kt8;gfacpqXXOpZ7?REr1K3|Mk+
zUyw7!EYK#vsIRKB?J=3|Y)8q}{cm;G^&wqj=`?3J`v)P7mVN=QUg!V-002ovPDHLk
FV1l5n7hwPZ

diff --git a/interface/web/themes/default-304/icons/x16/notebooks.png b/interface/web/themes/default-304/icons/x16/notebooks.png
deleted file mode 100644
index 0d3796740d674f0e493325f2ccff3af00778d975..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 588
zcmV-S0<-;zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006LNkl<ZILmdB
zO-mb56o$_aXtCY6=td|Cbz97)JGX_RE-NVAR83o3nu0|Ut2=kD>dJ*e1PxtOsD-*H
zV(|k4N*bA1lWH^xX`4hdPG%<Gujd3aOw#1S!=2%r`<`d+(A3HbeOO(kX^)5G`R4rz
zGt`9k$>n8wzqCYSi;G0|fN9>P$PDMoWrY7`pyu<q%w~}?O>Fu7kQ&p`IN-*Di^I``
zfpGi^p_q!m*#-QkNqpVig)FHv9rl14<q5ajy%!8(<3K?ql|tGukkB-^*Vio^0|Rdv
zs!{%Vtp2C`ZT}FylX#8EQB=j~{JfK)%4LYsVdx6}pjrv>{Yv8?khYY6C<@M#Nz3Gd
z2Mo>4y<mu33k$+Xu2h1AWVqN!`J-pex|2{`!?W4hmkg0;h)&>CgL0ywk;%StiSIri
z^jxkoKra;VbY|uiLnIoaQ(yxLG5HRvjdtbF+g?Qe={WnNRrbE|@ll3IG(_k4JcFZf
z2F*-1yk2B^vJA);i+JpEy=I6+Lv%{~7bGOl#cHEn`P1e$;wclcgpOF!M7PuVh9MFS
z(FsL$1S2|{nS9yVL6L{Zr^^1Ir{~?R)>b0X5FPnl5>ny@X|kJ$a#w%<T8qOmR^@hQ
z=W`;uPY-*0Npyb43=S~R%;eGF;1nOYSI1q3?ud>UNQkU5BX?4-Ts=^~+C;~$*9c3w
aZe0V_x~L^)fKn*{0000<MNUMnLSTZr{Tyfj

diff --git a/interface/web/themes/default-304/icons/x16/notebooks_arrow.png b/interface/web/themes/default-304/icons/x16/notebooks_arrow.png
deleted file mode 100644
index 92f98042b84cc09ef388bf81f0be0f3b2afa9c46..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 684
zcmV;d0#p5oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007WNkl<ZILm#J
zT}abm6o=16brGz(sV=$*A|au=2qZ`fx-1B_iy)jOiC>j{tTL2PcM;f?K_q<$DVw%g
zfnFG76q$*EvbiSnV^gQwSmoE|KHTQ!uXBd3&1Nq=od2KmzQ6b3yi}vpQLSE2b?xmW
z-)sNpn37F6_@K3w?zgm1Wpgu8azGtdX)>kZ)m7Mk`QeR3uowzqet8*R&1OiC$w(it
zX2H!;=WGym_Y!O_FGi*pV4j-8`~H5&l0K7>9FU@1t<`G3Tdn9eTHu(UhbI`stj`B+
zS670pf`Z!&r6~Ux_x_{&!7vQdq&vlA)agY<V`Di(@nMM4ux$xut2Z8E8uP$7;z=m?
zS}d5En@gB1@C79e4ObZ=Ra28t7LLUrA%1SAQ-0dsnV5;q?L%RG{WXS2G(=})$_LA&
z59v${mPLFvnGgtv;}-;0R&Y_RzRnPdhUl!YfrKpc4AwU$D|hq_!0|hP>7TxM&8w=a
zV2DIRbjD}=7`6McnMwD+03P*vP}ITCIUc}SmFfmVBpRX<<5!T7NHmHND<+$W^4l+c
z$ZvDvxeM`nvPPphQT>WYG(^Yd48ZCLV57+`{UmapjpED`BeH8hBLCe49?t+r)!!UP
z9u6r<G(<<9OG08i3z^5d$@xw<>g~W4GjPH9m%C%YfqS3KbSyWQPM4S8oNxs>Ac&17
z#V?FFrS8GLvNx{n1#PC|EfdHy0DDV2OnVA7MZ{~@p`4sMVjv;1RvDQ|lo1=LvPY5M
zI&`=PP$*vy?zp5^?!K&%^R!=)nOVFuE35K<$eu0PD&5xHmxJ5#nv@(u67UDtk;YxJ
S8X;Z)0000<MNUMnLSTY=_dbUJ

diff --git a/interface/web/themes/default-304/icons/x16/notebooks_exclamation.png b/interface/web/themes/default-304/icons/x16/notebooks_exclamation.png
deleted file mode 100644
index 3cafa5e040cd919a208a58fa42c46cdd30942253..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007#Nkl<ZILmd>
zT}V@L7zXfH$gYg)#;c%<612-w=%R}XLI_GDB)SkR%8#6xN`@h+L|}F?f|NeI(3tqq
zm6bsWQCgc=Zp_VX?#rp0W9a7Qb~ZPiPycu6aJCLS{LeWrJm<%I=+VFcwG0kY>(CJK
z{r2-Ek@ElKcynJLJ?QPF#-1Lc-36`U<e^AKbZZL^PY8in46Ezw@J1pS)9Ju7k(~4e
z+X^wPa4v`8aIeAY3cxt;gKlmGpHwRF#dDFI-32M+hYE#a!eYS}jRA{ZFZ|&!mV-ek
zMn;k;C@rlMp%n78Iq(npvsw?W-JK#aIRmKa>Z%f<#4?zqx2{2F2_#Civwmod{v>(a
zV8Fu4N>btzA1Ig0?}!l9cXx9tqwzSnBqWCE$elyO$(>l;L6o((SBnragE_{zAPn{(
z(n-{YRg5bi!#sHvF8dou8ymRZ)+Q4nVg_?Ign&yTVh2(*nj-Or{TLg)jG(U{dQ~YF
zJU(1$YN`<-Vg_@}3n7>sA*7S2e-FT<sm7-C4o*`8mY3e+VtxHx5h7+VCocX1m&7(V
zu`Y-^l3+xF>DNv8mgFcYDS_YBf$5(&aG|=q?p#$B5i^)$bxN=-O4uvWs6RljEJMKA
z3?hQtR0-q6HI&`Uf0>n?O~ef5@bBW1xYz~n<F6zJovH$hW*LmSLX3R851sZbCV!lf
zIy<tyXYQk8bh5aZ1f|yI3X6g;c1yI{ub3Dugk$zRY%`}40zPds`55g#Fx4!}C=~DL
zP;OCC0}Hr>uPqVY$<()7uxn1kV>tnjITw<*DRFXURYyF-uQIy1;OK$8yxRv03L5vO
xR(4n^Z`nW3dET07d;Nr_dY+PUCvTt8i$CG&!!A^*fiD06002ovPDHLkV1j-WO6mXr

diff --git a/interface/web/themes/default-304/icons/x16/notebooks_minus.png b/interface/web/themes/default-304/icons/x16/notebooks_minus.png
deleted file mode 100644
index ec879ca27c1afd2f6038c071d38e756c2f5f1f84..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006kNkl<ZILm#J
z-%C?r7{{MW5u*AFgh-gT$-M722<<KfB`?xeS+rngl<A#!UPMA+pfE#+7j<En7ZHUR
z43yK6&D_%IHdbxZ&9k$!-`}2R&T)pvUih5%9G>TV-w)4Aqx19hVqt;CJRXww+V^#4
z;0!K5o13HI*;#VU%n+Fa#(0+^GnlVb5c-orx=_GjE{CLH;H#=aYD}wjK+S@SgOPX^
zq1X|E(KP&f2T*qt__($PSyE?O%>fO{Pu*_!_dozE8$N`SNu;t_#5E1>rKLLd-rh$H
zH7NhsPM=c#w7v;tC)QxH6-i@gYRbV-br_<w89ag-NLNFYpDAqkQ+4HUJ|FfIiMq)F
zA22XEd6yw_PEQMW^5rrlB*R53<yW2$^_c`?8g5NY++&DDLv;MR8hkq%tW4H@hxn{0
z(DV7~0eZ2B?(y;a43TJvPLT~H#NZj6G@6y)uX+*wt7GrCR^4xmj0`bEq9Hol`x$J7
zGC0d*#p^|mPnH96r4p_=oevly(GZ<7--3h`xOmcNR$lzFidfP>G_E6>FmTo3c<Acr
zAQBDH2}X1T!aA%>mT&gMW3yqoy}izxrl#;aqSquEq9fNOA!VM0%)@N5$Uhi;eW!Ry
zq|%kHE)tzz(JTjKVP)d(?#Gkn=IC=G#SGuUTjF)W*4g=33?xKWg^`(*7_pIEdbsyu
z4?l)$jMDLHIoH;9`@G%m`XAE6y_e*N9#g<SZ<esEJ&79P00000NkvXXu0mjfV8$c4

diff --git a/interface/web/themes/default-304/icons/x16/notebooks_pencil.png b/interface/web/themes/default-304/icons/x16/notebooks_pencil.png
deleted file mode 100644
index 69cedaf6fca1afa0182aa2fd350df9137cf72044..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 677
zcmV;W0$TlvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007PNkl<ZILmdB
zT}YE*6vxl*g1&DQx`{r7ya`Ko<4xs-loq<WDMAP$&1^*$#v*EVQF^s*97U1}8>moj
z7qc?ZK3ED%ZBFLLHZ?aJ=A6!bx#|4(oEIIN%>zH)_u;(f|NJ;FJ!xyBr|s>e?&u(X
z-#A|oRBXf1$9g?IY;C35mKLJa0JV5>Q&1UOU&r)Z2!VJUiz_Qwh(__vW&`&GIhg}C
zEJU-?GatdUcNxyv07ifNVVm-ytFI4S+!y4e2BaxJ(&=>l4hOo2>~JqEU?~#8d@u-|
z$&^H1UVcwNY0ASBf&Y|04UWJ%=}j{k^8}#OYO4e!ErXRtoXfB|0#b-|d<jFNOG)ML
zb~|Q#zNCp?Tu`CW+!7GgG&M0dV~GSfBqW-dlp8yY$(=a8L0qe^uWl?VB4Q2J8J!Bk
zJ{d$NlR^6;daPE2V=?IhzuAob>}=}~nd~&N2J5T}0}hFb9c+G>s%$V@;QkxNfXxNt
z%SJ%0hEXQ_N<xLHo|p+?Y&wMPOu8)=%+2=Ty}^K}Sn&D0yxwM_BDzvn$J|bczrZ2!
zwKc4)uBMrU#kupN7GDhK5dEXV^9Bv%3Ppo5Kc7gUQZY)WCk%%>j7%m2KR>{zFOY^i
z-xk6((TiiHrT2GbWf2wE)G&AWcX3EU?1J~PY2x+tz-%g!hMzsy;VdXV^k%PIUb{Ot
z_XZIirjuo5bf&86u4^_T0wPE?`6V|0`Q2G*_=RfE<n>E*Q4AeOVZVU(u?`z>2-muR
zchc9T214WLY%WB})f2Bb2e#Hh)?ux!h#oE%?;JjU>d334@|OAsZ~C66ebZtW00000
LNkvXXu0mjfsS!4(

diff --git a/interface/web/themes/default-304/icons/x16/notebooks_plus.png b/interface/web/themes/default-304/icons/x16/notebooks_plus.png
deleted file mode 100644
index 70cb2f49448bff2ab967b892294d6a0a3916d19b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILm#J
zT}YE*6vxj+=8Y@qrsyUJg`@~F>@I3`7sM<u=tAgXX){-BkzqtB5v^|QMnN!8n4lvf
z0|mW^D8y)@t;uF?>D(r(_MvlMPPhF#=f%c`vj={h_vJj#|M_tqdOS2lPlku7!(t)%
z-u}PLH0?swqrpLXFfc%E{ryCR0UcbW$uy^PIe31@5#8Lx>c$4bsT4lh?T{W*T{>Xf
zf}73$U=p6dI@~K!IF}=^FNH8RH3eDHXQ~SWij*Ik&E_vI7ba#M@P)%zOC}MF#b6#C
z%~RLdXke&F`TIh2hw}K$9Bhk$B9nQ46#AYX9Ye}6L}|{w4!bL=gxG$pVb-~pSN`m9
zz#9tXO(J|jQ&(3DLuBmh6K<umSx88no28VyEhG7vxC1fVFqv*MM4}-&&ZQU}i!qck
znQ^S*gUyCSI;~ug*xJJN&dyebNHj!eiwz_s#WVP~u~7Nlq!qqD2`vALDfLQwyPhEu
z4bfTf#xd`SV>gots}<U>2Amqd2(8tKOGe`zhDbC-C(ExOA)A>DHdwLHM3moroW#lZ
zYG@<(xn6);r@MRf**PN75FNKa0hcd<QYH;!t*9D2gVQ5wGz6QJx~Kb)kNOVul4yvI
zJeP!Ic@{E{LX%p{d8h+dcR;Ty?NnP|Pond4CCLFvlrp*Ywgu(S53bM)mF<N0ETk&D
z-1nMzRUXr5?umhf$jUJ?lMEv^Qe_WyR(w0WbR6`wVwy}U;s7~MM^rU6H}}`owfzs-
nLz=Q7(v?k<es3=s%9Vh>`Mt17HQIX200000NkvXXu0mjfLq99-

diff --git a/interface/web/themes/default-304/icons/x16/paint_can.png b/interface/web/themes/default-304/icons/x16/paint_can.png
deleted file mode 100644
index ac2c4a3d19ac3403896ff00e1a5cc60357ecf1d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILn2S
z-D{Fz7>6G}5~cZpBgqs&qCg{MODIekBk@~A+gJ=%2bGJcSao28pc0MYIuU{ztigzO
zqOpU5CE`J&6WI<nHkg5=yf_v!jpz@!yPp@|cPw2!aPfX#zvqVMM@C0SNe`^iX!OqT
z@bHw$WV&cH8p+?>n*Kp1lDnjrOh!gVCd1({vD@uLuh*v(3I&nN<%C`}8V$L6zi<!`
ziA1^xg+h0|Ua!?+vBZ>0<+MN`uo7HCp^&IlDiWJ%9|ZXQ{w`cD*KI1d+ii%)<AClY
zGSD+15C|NC+qu<hL8Ve*1Deei4M|{t^Pd5nyuZKC%H?vI4Ja0iu(9zCq*7@{tyVjG
z25|D;-X1UK^LaL4aq%52EaWhR0i90w>_)Qs^XBtrh7aK6Mx(*YrBVs9*(|KDuR}UL
z1M~CmVQJ|TRI6>c5=rF76AWB?S|8_ShG7oLbnLmgH-N_qv$L;Rd1a*x4D%a?hK3#m
zA8Z5il^i86FMnjm=60rXz5a`peLmly<N6n%&|`_!YPJ8$)oP2EF9(z4T<8N(XgO#}
zVry$_N6I@p-@)N<OnE$>LE00Y^DPA^Y`YLzlE;O@=Pr3`YZuIB^F5o*HsE%<iPk(p
z`YbOgpd5IWq75ZjRU#6JE=eSkC%IgSmp3;V!0taZ7z{S8R!g`g>~|CK*%zr}8Xx;C
zMfwo6SS$`;NP2a3o0VlUSqjS&#BZmN6Ugz-|8k@sQP2P-auPX>oX1JVFepQz_xSEY
i2NR;{NOYVti0%&)i=CTg&ubL`0000<MNUMnLSTXeTO<zv

diff --git a/interface/web/themes/default-304/icons/x16/paint_can_arrow.png b/interface/web/themes/default-304/icons/x16/paint_can_arrow.png
deleted file mode 100644
index e2dc31cb5f20f740e78d1016ec46a16556b9e7f4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 734
zcmV<40wMj0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007|Nkl<ZILm#K
z{Yz6(7=Vv+!YsGRq~)3jBPzCHG8+hMLxy9z=^E3y#IWeY8Dg;{8k*oFlrg0g3Y#oJ
zG9fl~P+~GHg!*AP(ooo>sp~Q`v@N1P;O(4?o0+2v510G#Jnw;XP<?$p%0NkNZS5_!
zT5S`H#bqLq2>nZG#eGCynF40Bxy5KSB85VMii(OH91aJu*=$7ad_Eu5-JU}?`+lIN
z?k$8&CetAd219FARaJ>pDz$RC+`g==tP(Pe!C;{L{Cs3}Cieq+z5Wmyji#B%$z&4j
zb~|9V1tZHCsIIO)Kx%R#k$^}fLI-wt6C~1w1FHW9Qu5Bu4lM_RK{^l!1Ymi216VAU
zi^t=sG6que_V#vK_W68tU~KFqjE;J7gaV;Z`0#3X^yiJ<T~|7glH>7sTArVuhoPY%
z2!%q>)8hn>XA&kR-a<5*gbGuax3P<YhR#@HTBa!KfJ~O{c0UKat<c~9jFx9-gFsQg
zp}f4jz2?p;VAjyzvfaN94dXF*<X?p8={NMUQ<I4ti~XWyolaM(yz&7EWLvD8o166H
zI!^@LTL8w9Fm#N(J0M4+iL`v7rW>6#yaoaiT^sgF9=wlTeEJ!r?Ne}havcUK08RfQ
zbdD_0aya}QluD(ova+(2oD-qy1px?1HU9ORGX`*d1;Dbj&%HGOb?--5S=j=KMA9ag
z%Vk=v76~LxC{Ox?09@Iy0}0w@-G!|)q2tZI@DYnUUN*K4rcVH69dj@^wF>y`-z_dK
zmJ0*|l)4xNTEsj(;K<?Y=w}ut55r?yJYUW&0LW~97<jb=xw*Lxe0XZ`w-cCSn4^3D
zvoQr24he8Eg_x5}h0U9zf4q@%MmNJ`GF{o(*_ZJ9^LvOf{5^>*=M+Zx2liU7uNMy`
Qk^lez07*qoM6N<$g74l;`~Uy|

diff --git a/interface/web/themes/default-304/icons/x16/paint_can_exclamation.png b/interface/web/themes/default-304/icons/x16/paint_can_exclamation.png
deleted file mode 100644
index 51516bfae5d84046b9d00c1662d60a1dbf8c63f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 769
zcmV+c1OEJpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008WNkl<ZILm#K
zZAjBm6o=1$6bx!}C=S+!AW^gh6Lk>T##)ZKsl$AuFsu*Ol&}z?MzMUs64S^ALMk>e
zQK^}JD5oicXrY$r@&%nvv!R*OO)UKuobLU@7Uk%|!?_>s^E(I5h3xEX2tiCnMn-`~
zqbZU~rKh5!qv2oT5^n>0LIq@HW#y-(r9nbM0!Sp1GCrRVJRT2d6$*urdE+fyt=xj#
z(lvne^z?lgjmGPGy*@@Rmz%=E!YUbtiJ{Fn91aKs0x(ti{{$o_C+|b6)n22r-|t7W
z*^I=^C&Y#fNJ&Zgi$G_e&xiB#^K8K8rjLeLNPz0U0Rh?T^|JEV*ccno-`|f;=Q47+
z-0JY~a8<~FfV{rG9+W#eI@o~b=2o=X>?Fj4VzId5N~wE0@4;quFd!f=PSv7wP>&x5
z@8Q6}09vh993LOY^71NdYI=ojZN2Dr`!O-yV$ZR7@Z#N-oS^Lax`<OlnfPO~1xI=e
zWbAHiXn2NXtyoi2&&oYLW9aexM73I7oO*Kx2`*q|j|XQyHK2R45P$92aqgoD9bF~t
z*n!SeURl{;WrM*Gr@Z_QDReESFUxKm?LCj%-)h;8Tb@enY1b0j9+cf~Ur;`iS_&tP
zuaQDOM~q(0Jf0f9fIF)ex-MLwFTkPKTI_6p$jWnb-%+Vl79}Mm#nFEvR<%%&0)5XJ
zru7N)(lvQ$cWycfyWiZx>Cb0zVpNBH9ho>iy^1oKtWcp)#Oic95Xo}ku)L0fVX;rk
zz+q!f4|hh6thmnM(ri3C0j*233ViQSp+O_CMny#_L?RIc4ktnf2aZ1~J18^&bk#F9
z*XU92#-a>27Ea)v?+#lj&Oym;T{*`=oFjxt!XW~ez#~Ku_+ZY5#->UbZ@do^^%dZ>
zmM{y|W@e2-@5OoWf;@~TNC`q#0-)m@BZz+k=RLe0r1>i~00000NkvXXu0mjf6QpJl

diff --git a/interface/web/themes/default-304/icons/x16/paint_can_minus.png b/interface/web/themes/default-304/icons/x16/paint_can_minus.png
deleted file mode 100644
index 90edf3f90b16ffdd57474d22b89604d013c159bb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILn2S
zUr19?9Dsj!Te6YcWYTDDNNY^kqKP&LY&M2AopZ?6Mj^N!DvhYHf+P`~RI;=eAxO&v
ziv}^nhXRYS7wKiN2Sq`Hk>fHkv@N2C9)JDL#d||tb>QRv{l0VH9Ee0BP=>ltD0J21
z@$}hjwo_)a8TQi9d>4dKE)WifdpkQjp|P<MOeRxIqtSp`tp;}0>-BK%#z(k3@(sF&
zHUNUb;64I@z_qrvwmOHy(WBLBM>vkFW0T2bGN`Jmf}VKkPoTZMeIG3?EmxRaDwVLm
zzaPo%CF;ut{C@u~#F>l5BCf5i34!hHB8v=Cpy{6hQQq3x668!KBLq^Z6fQ1)L8VeT
zs?+J3$_7Mvb8}OYXJ==Hz|72RoSsfngh!*%c>m&1?)#;O+oMuIlnaG|B&XA993LOY
zY&MI-!*QINdW(s~2h8P4*c=>8b`A1)VIbcn$vn^RlG(B+Cto0KD~^p#2=e@V26_G`
zy4~*E9XD5y_zZuO=jPrE%NA#5az6h<kbOR1gDd(88Ejj6*4NknE9Y`WNj}{%1jhsK
zkOB8NE;#{^pR?I8X|>`Tixm?`E%@@xSxH`9{faJ^tFN`SwSk=zW78`JGJxdluV@ta
z^8A=pke8P?&~CS1cRHQ*UauDn_HL+jJYk@={%H&z08GXxG61l8hvN#5EVURX`I$e2
zOG`Y`*}qj&Q{yxk3?L3!wHFk%k7Eb)KH*tOR1!LcLgBBds2E;YSP^8EN)@BS(?Q>k
z5Qm6^JO8VRYC^*TTH-KaAx_BU^79lLWw3jCcX9_Cq2H0%a;${$H?OLkP&dF&qyPW_
M07*qoM6N<$f{`scTmS$7

diff --git a/interface/web/themes/default-304/icons/x16/paint_can_pencil.png b/interface/web/themes/default-304/icons/x16/paint_can_pencil.png
deleted file mode 100644
index 536f926d38f570c6b453aceb38ba7758f339ea15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 714
zcmV;*0yX`KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007!Nkl<ZILm#K
zZAep57=Yh9mrQD#C=S*{@JGT{ZfFC^W-^rNoI~bErC@>Dl*%xn)`z&eG!YdHX(*<G
zeb^7D1X33ECyipz4@E(Rm2%Mx*A`K*pKs?}+=+B_;Nct&JkPmsU#P08f*2Ue%gdY0
zW^;>HtIbJIPlx?v7u*DK#R^nbRyLNEl|gQ9E~KWW@(P6l<Z?OCU8Pb%Me`eI==u(|
z?ri{v!*Kw+-F~^axY(fA>zzuavWw$51AR;)kw9W%A~?Ile*+~YB?l-hEWAYJa5#)E
zmkWv8NXUvAu-R<?5Pdlm3gOz?nivQMLp0Jx0(t)pMCIMxT~YS?{bFElZVne0zo1Me
z>q$yV%8MC@$~!wdO!oPFVqkpy8IFxjl8AsBji%$GJMg3aez1oHqVm?(7LymeUi@G%
z;HTkX^mw{)WMm2_CSGG85XJ&W+hk3ffamXQ)-YKR1SU^UPvfZT79!8%qm&fv?Hv;3
z*;zjd!Y|Cv&u=Zgwt|Fp*e}0*)lY;zj6@=MqoNweTHQ?E-25rZR;xAJbm2Wx=x=du
zY-})j=5Y>2zTU>Vx+d)G9AI)F5MuJ_Qa2p8&me^k2OSdU$9Ka_9_%`S-Us)Xyt?`g
zO(s)IQBhGgofA#o6ADt`teJzxYOdbPbE{E#Xn<$(^71z7bh@iXqcO{3v4C1v3rF-1
zDX7dE<l%WcWV{&UUQ*f9%zb`3+Q;OjB>~CoUr$R*Gpf~Uh%QO81*92${2`SUp#KWj
zfxp*r;4Zgt#wclzkB|4v&##DbLP7#hhNqM`M+qr}!vq;YPDmywXb>B0+{~#=u9}=P
w<Kp7ZNu|;r3O$p%lY3|hsy&H*&M|`K507)GsEEDVLjV8(07*qoM6N<$f<b0V=l}o!

diff --git a/interface/web/themes/default-304/icons/x16/paint_can_plus.png b/interface/web/themes/default-304/icons/x16/paint_can_plus.png
deleted file mode 100644
index e52664895d0c4f913a495f211ef9d510ec39f15c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 712
zcmV;(0yq7MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007yNkl<ZILm#K
z?MqWp9DskD8*I2YltyzRsTgj?Y-?fJmJDSt&ShI0ieP<c&4>yOObEeAB%(%)iW-<C
zkp(j>3M|IHNM8o~FwxLpv~kfEt}UWJ;MX}9??N3Nc(@$SeV%jR9Ps&kP=aQU$8*(U
zu?%W7nwHwyTG)@F{Wh?pRKV-?4s>^SLu+d*R99CAWilB^rBa|@rBVqOZhQj&#82oS
z+XisE-3M^FT-WS&d$Ufb3&`d22_BEvOgH26`JhlJATU|@7wGKlJU~ZB#}z6U3I!Y)
z8A0L>5cDMjPN#DZ+|K!Y9yd2P*+4Frr;$+-F#k8e$vZnctQ?QW*+4WJ#bojuibSHR
zii!$z$p9y3v)Q7&xVXp$=I3AH++2i27*wm(cQ1{leqFwon<@r4d24H{D92(k4243N
zNF;E4d=h78-{8W+M@*#(*zO*U^o=sudneOZlo^KEBhzDt!_SahD^5>8W##4NI5Ny1
zY-?+~)pc_n315Medt-iVe0v(5?|N8yY3T!dY;I>NXEMK8+2L>)Ocy^Rg<eY_olaw8
z<P`b~!`SfpWJx)d$`|D`U1QMXdXE&~4M`*LK#|cbw4g5+!1{Ru9+}hQ+1c|&d1K=T
znoOoao6TmR??i2WK|u<@V@1M}_27Q$!Uk4eTiZshR(suOH0rHZE2y;nAkjUdpj`hX
z2ykB(h8bA`CZrq37&F#C)MH)fI69yA;p!@b<n0gD)YKSNDiv^pUugxw(V3u7>0sv~
zf&|7T$*Ob{@`lU5udJ-IvREt*lE>3U)~g7I2<5x~O9_<(84bt@hvA&?75If;curwd
uAP`JZ%F4=m$l8frGz8_YM32)zQ2zxDlbzulCOJR=0000<MNUMnLSTX@H$bug

diff --git a/interface/web/themes/default-304/icons/x16/palette.png b/interface/web/themes/default-304/icons/x16/palette.png
deleted file mode 100644
index c9d79643c83085fe5d4c6c6f1df632a703f544e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 789
zcmV+w1M2*VP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008qNkl<ZILoEe
zYe-XJ7zglkb{0uRmZl#pNCHiS!AJ;`%E)V8(@GNyFAxc4RHET!o0_`ToVfCaw~W+`
z<<#2dbkkN&^M;^eX^Bnqo|1TXC{NEBW(9o+Jn-Z2yyyA<dA}S20EnF+>O+`>3N?l?
zi6-<moXJFNO*k_c#iK_^h`8uBa>4I=>0Naw^REI556>cAZ-`CZjGrHjd3wT+Qm$U#
z_f$XE#aaB^?hhYZe4vGYRDyfQ{w%P-A+{sI=J}k8GxXKf71p_2SmSV@mBoVPjy&jn
z=K*VzJXoFJf~MLY)M2~$m@%dcEE~dh3w33o?dv@yn@jDv(9UK<mxBY;TUx?!MkFkL
z$cFc|4$xNT1oAQ#=rl3VmvK&xS#Lsdok|+5yxF_lnGf??vB4KX1XP=w!$A6t-)G7w
zs4B980YxOtw>*YvdE78&?-R0MO0?9GyD_H`85S4u1`BODK+pfutb7U46@w5}+6URu
zmt;ioMJjKwJo4L|M!44bBw(=OnrTfl->sW2`&CN6XVe0Nh{A3VYgZwwc?En^<UnM&
zQK!)>Btycjxp4u5nup#xvEPA?rZf-TcMMM{)4)GX30H+pa6YCIlEa;v=mG<gJ4Ix=
zQ$`{zskvv@Ll+bU9#m(!Gl+sK#_Cxt7?&l3q&O4oBTJwl_0~vb03|SlF-V9nFlg~L
zci3ICD*on#JOx?>Uj3y(CJHUzqo1BfYq>C~cmPv!-cnVliM0GO;}k(ZR;DD8<7pt7
zl=0R^suMvcO@Oi2JVRjYO%l)r(~1;*r^x41MbN(LXa0<!1V;w3{a9m3wg)L~6Zwtk
zB(W=#@?;pR<!lVSxVzXX4jh+7pXkZ=-L1kMftNMOvN=R<XDMV#cbq&z1|&L?h3U>@
z1K*i!LE2O&QW|%L%=JD_#@L#XF1TlhY|&w4Oc&7i*t1n)@t@4leq==K^mqOVJ6ji+
TTlUI(00000NkvXXu0mjfJne8r

diff --git a/interface/web/themes/default-304/icons/x16/palette_arrow.png b/interface/web/themes/default-304/icons/x16/palette_arrow.png
deleted file mode 100644
index 4a96f6cedc85d6d1084473accfc9636ceb75cc82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 824
zcmV-81IPS{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00092Nkl<ZILoEZ
z2}qM+90u@r`_@5aRzg7pNnscy2tk%aMw!{HY?@YTsKZh)qf0|`TUIvLTxofvGd1im
zERS-YOXsojSe6?dv$R=DyQI)O67}i*Mo~dT&<j6a{{QcN9zFtq{0~wY$RpL%-C!Q6
zp=yOZ9_6SJ^8Be7>I@~P#MFLj1N}aoeX9=Q{Z_!x<r+$&5410TFA%`&;ek)N;?Yq<
z&S;-bG|<uPg(upr&`K8;(07Y|EtpS-sFq{)d41KQ7cbr1@Kr3vh)9Hc4h|S>Nr%3U
zkC9#phI_=&6s?3hc#@Q6tl0wFs^BSd)0Lp+ukG36Uz*d<?C1!cvok7fZPAq&j)D6r
zs4sCwQ~7$Rt~kJ?iG(3>t%_#1kh0y(@mKkw`oY$V_}rLm@mv;$qPcVN?DU?WyNU?h
z%Cf_=vT%IXp2s^?bQjGYC8hq1;!8`~Sf55=c{o7-puZ^<?EEJU6*qABnh_DX2BaMJ
zE+v<?G3myu;jjBN@{!gHzQ$_-HpLCnjcsh%k5cx2ua;SaDcg|TIE<u*A$Xopfh2BZ
zR#P{rQcC`PzS~cOnuIN;WWlVKns~nH0}a2eh=*5v1$N47ur4wmal-XAY=MQsogru4
znW+j|QhaE6J6n*oW41cUol7!(tkoZBLEQCP_+&qYv#1i8r}lN{`!X_1m<CDmCN3+c
z_<*DCW3_a=M|A@CWSbx7?wV89DCIw9XTMAxGTs1w$_L}IQK79@w{uq!_So5QNUDcL
zL2s#Kq`N2<rov+|-<BX+c?aI->foJJ52u596aKe4k@O01I$7W45dSEE{5VT!NeZ7+
z*rX72n+l?adR1{Smx#tZZ*)u~m;j*x@O}8x5hJiTx<SWg8Onz3Sh0ZP8|%VRo_6I_
zNnJTws?jANvePak`-5#ro_VH!PKVRwP6*n7d7&lx*?jR{wt!1b`(85tZ>;?C+LzS<
z>}}<fA*8#h<X;c7)RRmWWMxd+rqt0pV8-?g%l;eQ%@Cy%tJ+=w0000<MNUMnLSTXn
C$d(cS

diff --git a/interface/web/themes/default-304/icons/x16/palette_exclamation.png b/interface/web/themes/default-304/icons/x16/palette_exclamation.png
deleted file mode 100644
index 8cc0d6a7b14ab09fd62dae01a6d5d6aae3fa6578..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 846
zcmV-U1F`&xP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009ONkl<ZILoDy
zeN4=89LK-E`<*dn9@?^*O<2}!(PWKg80AiRI+RhV&WtTt)5@Z|E6mAtCgouip;Dp;
z?y9RR$JMDTQYT%g?$T=ENDoxX+xK_#xbc_I_S$Ek@AvzD?X&%U1OWLTh$fg%$|&Wb
zd{RNVFXr<pZaOhPfO42}ilU%MDF-Ot^nMceRvW_qL%`C*6%<)xuuJh9kqDi>zW9(X
z9T_oQ9kJC(`d`#+!Skw(sFKglrSIncE|^J&XyXx=8@4jZtM;{PF)Wp0NFss3)fI!r
z3ut`cgQ0F2K6go>%U=p@=r}peOyLAhrJ>^$mW+^^;f5<?12yMS<K~7sPfuu^oY0mS
zhW<w>cv$F(>f$v}XSl+mi-IX}m6~QZkfI<qt|NPI<6!MY^j0R>d6}>e`Hqe-pV;&3
ztRx(FQk`Kg3PW$zS@fu5+GzF=Q3bHd0ps~mn@(we*iSd;t3C&A{u}y|97JZdAUxfK
zl*p|rlD3(>(2^PU+NM(s)h7G5WCc1D=;eYZoa~2`>+KqUJTF>^(;4wds{D*I`cK$&
zR1K0SV3$*FQ&bei_qn`}26ZPlSdv6jjTLgC)m-d>fu1y6y&*)PQiIh|*@zdfso(^5
zltPxA7P1qRR8nxzy@3;?Zl9(-Bjk~r5##G$Ki-AW!CchqgRnd904^QhZ_V~+6YOCc
zBuVRd9ES@c-0I$y$;Z0XM`1`<-*j!~^kRML3|n890)Bpe=<PTLQ{m##Jn{7W%x%17
zgezwUhMe=YliRJ54O#PJVaYp!&bu<S-V?)IA;8DZSo+@*bes3VkTd7~z2iLDT`7<J
ztoc-u;=|-sD@9gIZuF;abv!x?C8NfyMPIDXLccbf1W>E!_itE*r`4YCwHeICAQ8iG
zS(f6!IXq@D{;?~W%O|{;Qn?pXl^nn{Xwn=$SXx%2waMMS0oPlbmOz_5xo*cs#+wsx
zdrbT;nfW`ZCz)H#hI#LLUM@h-3l|L9V(gv6Y?$>nCz(kn|EetlLar-FN_qk@{0r{>
Y8#*c_OnIzbQ2+n{07*qoM6N<$f}5nEwEzGB

diff --git a/interface/web/themes/default-304/icons/x16/palette_minus.png b/interface/web/themes/default-304/icons/x16/palette_minus.png
deleted file mode 100644
index 2d6efca893c965765a62c9927c97e676d89881d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 786
zcmV+t1MU2YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008nNkl<ZILoEe
zYe-XJ7zgloJ1eC?Q^^lQNFu{8f)IsCRHS*CS!rd3rA~;1WmKY(b6c9a)|_a0%RA*Q
zmQ!Q%I&I}<ZVt(bq9!(NIWvdi)J@Tz-ZPXg^daztABX2X&;QT)au5KZ?LckOG}M80
zGHIv_dmBrmVcv>ZS|pZ?J;8(+7rTv}#_xBNyYd*?9|Z)yJdW{n(Vi`{VPRkh34!@a
z?%LX5#hOXWF^{RkVOVt*RQ!Enytn`N0y-X&G;Gh8rVh^d=YRlM<#NHw;Xsd<7c6TE
zLHCXURwEBA(_BzA_<)?bgO4+gWPy7-(@v<biczl)ly5Al3qbAd4O(AcXmfXmi7XbF
zKjgvtCST}n@dH_v7w8p<Fqm~xhO?ol`8x4%s_v$4xvvNol({ya1aZ*d>Ix&7H-6o<
z#zTFn2aGhcU_td1zR4a;;Ou=QjU+@%nu2wcLS$Ps<1bk3%?EP+m+sbAkWe!U@s)#+
zmvBLf%FYvoqt&c0CWX-2_bg(x=9)`mH$SkSEZZt2pR;m-O<YMo<SH$Y)4c-c(qw?L
z0*PbTYfOp>H|Nep98^3G)#rxo(R5`n^xtuKrZoe?Gg{$_unSHl)<J5lUl&<mBMKr=
zb`W7N!X=IO4h@h6rI(%LIYCrZe92KhhYP++Q$bvo4L+=LC{DjMSr<VFY+)QkxxrLY
za^oFu?OX?cV_KF5J%Tesl~<jcm3+n!IZril!Pxu=W@Nmj`WR<P^+oDYL>><p3d#?$
z5gVmE>tsU;=p}40yy4jbir~W_^`L|F0R4xA?r5oXpw8FYp@|xVo};aE5SQdJD3V@L
z*rZ;Zv|^N{f}x4CK3;p*{KCy?%@P#_e=9;rOJ)hoh3q)uMu|u{K`F`fr?m6^DJo2v
z?njaET+v6)PGn$H(O5D<!)%0xI0)&O2vv{;RBYE~3H?9q#T+nuwB6tNCpG;dE^m3S
QWB>pF07*qoM6N<$f=$wAuK)l5

diff --git a/interface/web/themes/default-304/icons/x16/palette_pencil.png b/interface/web/themes/default-304/icons/x16/palette_pencil.png
deleted file mode 100644
index ee11bf4f4fb32f1ee5503f5705d851f50ad12ac1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 819
zcmV-31I+x1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008|Nkl<ZILoEc
zYe<t(7zgn4Zi}QSEzJ)WB!MQuKoBBDG|<$%HZ9AnysSv_f~6^5wwa=9=`zbpq@{T)
zS$PTPb?Q=QI!#bf)Wl{<nrVrbHbr@Q-eG1S^q~VkUd}ns|IdM!008+Pq~4E38c|aK
zi!`H_Ko$#`%L7@yC>GsAsfdrl&?&s%P0z~wS$`EU@z4ed`u)smXE+>~ba8<n1^m_3
zf&A6E9^T?;mnRG<+(98cEWx=WTMLYE6QztZE1GNMjeT@*fE7L;G&~-3u-UMz%z^&5
z&Y+nRfcgs`<P|4C7O+Ez8C|--xFKL?s;bz(Yo+hm`chXmbeWq&kCheF8ymxTS}-iW
z%Y@b{E9k7X18FfERPx&}kakjvSvOL1nVInE<@NsM?#D3So}u+Y6a*E9hA^CR?ax_V
zD7?-yf#I59m{&Z6uhN)t%tn)HU#56TnY}hA7i$L>@dXQ=SwQc%(^gjo5v3y#S}*{a
z5nk2g=^19uNJ;SLIeDt4`;qrZ=_UQjHlbrLUG}?_{?5omT0yzJP?*;a3R@2d<BEW!
zIWn!$D^!hAH}*{n7?j_2Q)O`Ul+DS`s&5#cu1f|lfdp<`i2+DRfKmg!dAdML?8GGZ
zotQdeEUCO@(MK2Lo!=*W;KU$L&gsf#v0${43yHBeL9JFph@JJ~3rj|kHjF`%ahgGk
ztqeEsnQauVe~~6ahsbrXz-NC=yU=-XtcnXQ`KI_AV<0(%vnq1g(@=7jVM*v^qEC@5
z7cI$DwLmjb5f7^JIGB7RfT@}!7_A5ddBIU_xG+h7Ir}23^|>d*C(f2ZHkT=uWI9vj
zonp>}N)q*RN_qz-t9WZeWj-r)IYt^foE6FVo^gT7cQvKhW(L$|mWlM~j^l?Y?|54(
zH^rW65ZY4;u{-s?G?|*F!|9RKn3E+5$2kjh3>`$ebOHU2T^l7vTP1NRF)WQhdJLuD
xdJ)epcL&g3q(lC(AjpG~MEg-TSG~3$_yyWo^|JWV2O|Ig002ovPDHLkV1iCwc7*@{

diff --git a/interface/web/themes/default-304/icons/x16/palette_plus.png b/interface/web/themes/default-304/icons/x16/palette_plus.png
deleted file mode 100644
index d0032fc45b769461defb8f1487403d101b82131b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 820
zcmV-41Izr0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008}Nkl<ZILoEe
zdq`7Z7zXffo>|s3b%K#ZNnt6q5`svntSmLnN=qv=ywJrk!xD?MO)Yh;xp3vQ)Kc;q
z=G55C%e0lwybMXjP!pXcuDoP;SG2eHjG_w>K`;C`yx;krhx5-N06_i+DfeTNN>mlV
zB-QA7Ad`t~m4Qqj6oGCbA>yG6Xdk|3(RUU8%wGy9Jlu(*TK%k_4SIM$zndG3X7c9d
z+A`)w)ZFo|22XgSItVKM>H@sC=H~(nTrM|8T4#+^a=Uw-oM4v6gBdOt>Np&jY)paH
z7p^d)je_X`9w>{pfg(Vkj~QdSz_KD>u~3uk-!R+qaABe$85(SDL2Yjj<(8JvlMoE!
zuae+pi9OUma|C%d2Q<oXXiL~7$E-UkJxN8s%Rk#X*>n#+*NS!C3WA`>+#EXMPyaY8
z3xUFPE9fW<hR>=y@KJuX2eVg*%!d+9G$zlFC`G!9<M;(*^%9`>KdC8u3}LyQ5R%yj
zNnuB1<iTMor86h^{fJUH({$InGuPLwxQ6fCOqYExrJsWeflg3bGl*-aA+cr(4qcZ6
zNpPmNqbEp)gx~h6F$^kix@*K9CXLl`u9_hXe<+Is&$u!;F06(<;rS2~=vYk`=!je>
za@&P65MfF2r7bOVLHaRMMWTxyN%b;T3}b<>bT_Qc<G^z90Z5HK-<R)A33Oo$67haL
zT10WEt$MhUzc3)b4t0V9?U^UorL}z5c6#UJ*}$n!;lRnaSt#^pOLLCu*%5lI%os%C
zrc<DmMa}dTT?36Y68fJ;fwuGpoXm58&5x{MQ<n7?uc0%r;x2pC=$>g0NoU_D-)9|`
zB)KxA^&*cxO~K_Utvm+$OStphc^AjmOIFS8)_TJ4h{QxqXDMVxcWhnB@V@52NQ>Xg
zsNnBqs8DUJBSX3&bjfR0tYJSh-l%KiyB$FIM(sqftd#_@GUx(5wDenv#a~6US}b}u
y0Esqi!F?GrApbme_~V2ux=+sOt94I$$N364fcLDK%73*00000<MNUMnLSTa3fP#tu

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag.png b/interface/web/themes/default-304/icons/x16/paper_bag.png
deleted file mode 100644
index 2d6de20f3e17cf261911737558cb382e0c6a14a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 557
zcmV+|0@D47P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005>Nkl<ZILnQb
zPiqrF7{-6|XD6F9*%YA_YkR0(JqQ*L9*UpDgE#Rgf?q%=h)3z6H!pq+A&Q81K?q3&
zOAgV7CT_Fa-JKZ^o9w12(idLld1rVYp7)&@@&2&}K)@5=7FUa*heH63FLylL-hc7-
zna%V6GF1@JJ9zYZS!?I3GnvFO@nk}pBqT{fnx>@lIZ2X`%;#mDB=nDqhn2vG@5K`D
z508#eN}-fOYmG66*4i3j7}AX*u5WI#zOg|%=>4b!w!3nPPwwvR-J4D(1jf*8wFtwo
z6x6y}+ubfVBY9E@+=#>ykG6Mr5#D1OjmyLp+-Nqj-m7{BuAV`=)naRBhuPT~N-5-$
ztQ2z5lJp+usBCLn4^iP9p)s(&&PAG5B2vmy48S?8r*=@(4z%?ir8P|{5kg$LzD5ur
zrNnwq;m|dy7Enc=Q{*{oQA9fo|9S)Gvl%)Fux`bH^;HkbTT6a%K|GzJjk!cFvWz0j
zP^Am?F9+IL%dhbmgg`7(u3&_~7=vAH;bqVB{DA;4!@+>_I4+4&E>fXXiG>h&=g0~S
zz^hLl{q3jc;3GV}Pp4rFqSHY@MUYY<r9eoD0JPTp&V1+17wDgQG;pnd>bJg*8O`4v
ve!j|AJU(O8KjjWE5<m-RL*3UEqX6PRoRhqnJ4Qrj00000NkvXXu0mjf3-tXF

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_arrow.png b/interface/web/themes/default-304/icons/x16/paper_bag_arrow.png
deleted file mode 100644
index 5f5135868a7b241af28a4446c1596f4d7227f626..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 672
zcmV;R0$=@!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007KNkl<ZILnQa
zPe@cz6vlt|-8*ldGvlZODvg?{1i2_BHKK*Oi(0g45mdCORkR7(v}xBuq9EG{2|;1B
z2;4-jf<S|!s1_y#{>e}j)CMP}x$pVrz1w1(87+zq9PW4S<@@fr-?`%DMFoI>%RoE-
z7YhbP02HRUW1yq|`lD-s@Bfo2BM~NtF5D^ADm3LYOXqUrG8tU0(OToWE^a=L)*7A9
z7i+DV{aP3-3rsB*O1OVvbQCEiQc9Fk*tSh99>;MUYLZDB8ycvsug9IATq+AR*H|UI
z+}+#Tlg(s^*fv$M7>?r<1(hnViJBUklGburU{6w%@Je%A8^RduXmmGm2aZ-%5f~#Y
z9)uMS60sQRmKJ_&ZX%_`Dv_nc+J2H{3}HyQZ532Zl!PIUZ9{D>p6ixHEXyj20fZre
zq0&L2(t!$$K`KR+Wg&#vHNI#hf@N6*#!v`R6;ee&7JQ$A?-NfZNjT0Qe_(j2i+L|a
zy7|)npH_l`=M`@)378<j_dIghEXuZbkqcW}%xpRgoa|(L^=#*+v-iBt<;He)pu!+v
zV{HwDKy2s3+#qvq9YVm;;xr;v$B8oosRxgzubMDKe%^qiO@bigTqM<cAe+tNYK`Z*
zc%H|z`qLac-bcQrjYL;BVO<?d8V(<7Oi#a^YgJ#?4MVTs$`PugwvDK+MgZ2fkqxs`
zJpb?!fV}IX`UXfJY-enE;=RB6>8=7&v)@g6W{s8nlaV*S8`rU&0HgJ{561Vk$KTz$
zm&tycd8%LEpAbL{NI+#Ye+&E6$W4RjA-_K2zqm0D<bDC-1?!eY5Zqk=0000<MNUMn
GLSTYI{xFjO

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png b/interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png
deleted file mode 100644
index fc1836d734a4b1cdf948117bfb5a83dec141eae8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 682
zcmV;b0#*HqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007UNkl<ZILnQb
zF=!M)7=^#tncbbc+q*qIE}G<`BqAybib)Y0wXsn_v=c!@u&@&Zu@poIh>eX!I!jYn
zX(xi(X<=+s#HcZ*Fv*#i%k6INX2&9Tn<yd<Jm&o~yf^<m_{GzU3IG9@fg%2HO<A}H
zps;Hv7IqxIe*dazwf?D;uFJEr^LM(nN^N%MM2!ZGdYw3mh@yx%j)|L1q9`J2HrMJX
z;=`x*(ahla=XRGLo*ExVN{N&br4*j$kuMa`S`(H^Z0YHtT&)s+eD*ansD)0K&m0&T
z8D6T_aXpV*K9AOV%}}Xq55kcCk~5PT^p-@I&(;P95!T}Q{_nyK+|T7O*2?t^()A32
ze4f660e&tnBBjLXilxNqe95tvG$m_Wne`AQX^QqdD3?j%I5Tk^hltnwOx{zH2QZeb
z1E-xr2g+EBREnI|=v)rh^N>=4Fto%p1H)HXNj{J|_+6c2Qs_XoTP>nEMrlnDh8fVa
z6smjh3q^Eg2Yx>_tH3I7jJ0$itueHcgvQbmaTIm1LVfu)rLFrod*K14p55r0-PU_5
zRlTQDlvxi^rN%J-{W}PO=pa?Is4WF-y2!-D1b1&%$XB<O6Z7SWwLFn;=V7#8U{cPx
zo44;?>b#!BF-elpl#}%A+RKmlJ;zU+!7aQ&=$u-q&#W55Bj??mW$cAzdDRwu&m$-n
z34(wi2yhF__@O}f(|FE2Cr;ibua*fnwLDh```c|s1+W?DyEM$T!7@8H4o>Zm7#cY?
zxT(^oU2IBFIZb2XApi?=jr!!PZ;u6#2LeF-IeFu^xB(pe+f)jHRf?Ct018X|%>SbO
Qb^rhX07*qoM6N<$g7AVs&Hw-a

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_minus.png b/interface/web/themes/default-304/icons/x16/paper_bag_minus.png
deleted file mode 100644
index fa334ae2ba9905d86dd5aa72e113088b9ac2f5e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 584
zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006HNkl<ZILnQb
z&ubGw6vsdFV<($5O`_0>wLR40T}biZq4X-=J$ev4h(}TU2ZSPc7U{|QPk56?kM<}?
zOIp!bYn0H`ZFZC0o$;{AZi66w@R;{z_<rX*@68kM?r8u7JOHk8KHGQj5<ug!9S19G
zPq!YWar|GT@;q7_cVA3$ZC!pQ!yq8&^@zfdFbs*Jh-fe%3`4@fAj`v$y@O;uCwTuQ
znZ#@Ro0}-5P)eb-#u!6oW(ME)sn=>;nxCgJH%HWNeai_J>v9rzuCJ~(`@J5XF_bG6
zeBaLqwa(XSz0Q@I?BoQOYhn@~E-o)4oWqn#)4(%vsaz&?P8Bt<MGdNz3JXh1oE#sc
zltNCxN+HKjlFnf*xon*lMO0XeZwxdV45KI~ky2)40M?Q^3I$1_K&Q^3w5BX2LWrsM
zl{^nAC8={H7F~b}0+qxuNgOj%t5Nm+fBwMf$qCx?NbOj`CzstiA#iC*JRB1A`)FgP
zz{zMtG8&;W6-sYA(yp6QplzD+yW0gJ5M!4@aP(%IpnZe@wAP3p_EsA3(ZP;>)^a?)
zDFDoVyUl43WI!p$uK2#&;m-Q)vw|)F&DUF7=+D0#8z11|4Q5NmAZBL~fE*W6N`+ck
z;8p8wHgrPJ@BaK_PucwnI|8@}EZlGMWVyk$^NixbF?*XkJO>U1Pywn?wC0?a0Ks2K
WX2)C~hq3_x0000<MNUMnLSTYF-3CGc

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_pencil.png b/interface/web/themes/default-304/icons/x16/paper_bag_pencil.png
deleted file mode 100644
index 9a9648b90485239ad558e9de99a7f45c71a3a094..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 713
zcmV;)0yh1LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007zNkl<ZILnQb
zJ!lkB6otPx@6GJ&?qm}bqlt+c(^yz2T3CdbLa>O4or)kRHr6&)1`8n;VqqZ?5Pyn*
zq85sXAW94<C>Bv+F(m%QNOm)m-MHDA?9R-y$nGZoAU-&}bKm70?!DY6o*q{K2sjCB
z=Ks#5hRXm7z4W4?yZ7{sQ&F}0Po*?XMh1^wsK+YSjhx|^N|Zd0!1wWepCAYb%4K}t
z$1j(cV&7-{W7yX)c>XD@^WMp!A*7T@DN#ycSr(~u8r!yM&SY5I+DglsH3SnQUmFG;
z%|@M1ZQHqXN73^zEsJC-g>BnQhDtSVr@5K+8Dpwp(3TN(KHbsPh0q!+k@!`(f+vzm
zBCRDrdQ79@czFg+Dn)x|C-a2@Qc8@vSW1jqONQ3OF~;U6n$nEMh&0q7iDPWbBGb}>
zGEGd=M49GtB>-_uB4@NEXY{=Y`iwA!8dRh;QYn(Qjh#$lS{71Dgb*ZZM&G>!-i7U*
zT>}FL@^Dr~%Pq*TS|zMjNoO)Rw*AKr<lMKs8Mit4FuQ$kclX7^T0b%(t*JrkD5AQ!
zNU2yP@cmzqn;qkG{wezpB{|l&;qB`nxE8_Vl@+KsikQviKnO$)h7g2uhP?lZp8kW}
zAHK!zZr2r+#F$(wFwTu=Dj`%ttjUQ9T-U{OUFJNG!rUBQ=>y;AU(nNkklR<U)0W<j
zwLoFdhDFZLf|1Q@21hkND!M6QSvXBiIF5tkI7qXKud?(VIKrK4H`%m$7p<9%{HW-r
z!BI^%uTj9NaaXs$&oNydzWj3K(5!W$<J6UG$E7n{<`+KcZ(oX2MSzb5rpH~j0@DIW
v0S=)4^7+1<*e4!%C9d3krr-RQ3xU#4`_m$bBsYkw00000NkvXXu0mjfOEFNB

diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_plus.png b/interface/web/themes/default-304/icons/x16/paper_bag_plus.png
deleted file mode 100644
index 176033e2db3a3f93fb8111ad0c32fce0d736d542..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZILnQb
zJ7`ov6o$Wf?A^O}H@hLSiROW>5)eTNBm_YSb{2w#tsr6-w6jTNmBL1_3m6Nr5jzWe
zAzFweMlhlnTm!}+o4DlaW$(RvA7imE7aurqnE%Z1|8wR)Gveu04S;}o;3)q$ss@$-
zG^Vv;;Mm;4gBwW{{gbIO8CGsxzTL@nYPx&U_dL9Moxu0;eV-r*2pSE1-^Xt>TDkAD
z`6)iz6?nE4cko<wc^Rb?N-4C~SeAv8&tuy*rDBnh;b8{LWrB|@pSuF%CE3B-Q!_Ku
zZoN*%vdB3Owr#frweHS^Qi-vm-0lh-DvA!?8Lw0j#$aW${ls5zHkTtYM)f>Mdma=V
zhtY`%zVGj&ltOmMN+H`<lE#pxbj#LB&qPI<Vp|pr4iW}IS42wL5(7w65<{<oxL1Kr
zj6rElPD+FjeeKI;GDs;&j3G|ZJyK6V#Zg2YMdXV`3by^*8@RsvnAg!)3NwW>ll2&{
zb81JxBneR%;<+x`viitzv&k#(3$y3W^JMqlftN#Bnx?-3ohAu;wHgS4XonPnMX}18
zxCRK^#Kkm?Xlk*FVNJc;gVSSzB;`_O=<spZbqRc*FbD|4kT7g=H{Rgjg(>orBQ(+m
z<r9@$W%9`A)<zZme%Em8Ib54%AZuBOfdK>{+eS*MIMpn(@o2r(>x<*m?yvu-Ir0P5
zWK9D@o8Qdn+ZsEKhf6R1^ns?@ac9;!sS_t31!=@h?+UOZ00$^QuQh)i^VTAXnMR2<
dmYNHI_Y*F!=p0e7iNpW^002ovPDHLkV1hARBo_bx

diff --git a/interface/web/themes/default-304/icons/x16/pdf.png b/interface/web/themes/default-304/icons/x16/pdf.png
deleted file mode 100644
index 691c39335cbd395f8257130c88b4314f3e7afd79..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1376
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+*
zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn
zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87
z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$
zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`<jAm(=3qqRfJl%=|nBkco*&`K2Yc
zN<f!FypUS}H#V;r8ce_d)2~P@&^OdG0C@?f(AO8g(%f9Q>f(~1RD^r68eAMwS&*t9
zlv<o$T9gcoxHM&uRRvbgMX8A;`9&f5`8lvq49LhY$uG{xFHmp}HdD|D&&*57FE7>v
ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`W^7<;W?^RHY+>wXXy|I_WNhT<<m6;*X<+E;
zW@_mI)9aF-T$-DjR|3<Ug3xP<Q!gkf<Q4#Jc1bPDEK5ysE6UGR0DIXg6SrH8aGD3z
zn}XXd#yIur10ACeiddwGh6w>v4~Pj*wm=R%;iu*SQ+p9GS@#GByD%^?Uh#Bs45_#^
zC3v?NbD)52XXgX~9-+xMI?i7*da!td;B5tspG+G?F1l%Ny>Q4q`4gj%u4vPOtx-GV
z7d+zDPF~bKOCb5i_tNiq?@BjwJv#8_%(=V9#cA)>w9jbz-`#F$_c~BRB%rGP`EvQI
zT3eqM%{;C(mFs)(N|A@2I&9O$#a*VUEL!zyz7_|Q=km)-^ge7_b8nfN$0Qc#>ns2I
z&QuZNOfiy-y8k-QFYszxx$XSpua8-6<;lt1dT-hJo10%TUB2;AaO={`!Wt7fz8==q
z{j;aBaaraaqqV#|4#MXu8OsIdSKrd%{Jml4Zg!JP_y21<pF1EmZ+BN*zoviXm1WBv
zKJ^EPw4U><sr#39pzS$}R9m94(M$I9wA}hs$$v{zB_3|*otSFfSnL@Qy00iad;)v>
zgSW4npC`;WS~>IML=TbHtylBe{0vs-T{Jx+{=k6!{9)!V_u^R8)f}Uu6ZM#y)P(0P
zxcUA+<G1&3os1jzElfOdvM@tdwq(KF*jNi|aRWQ^e02d=!S(t19mkVO#6G>{_3GyS
z^7us=o14u!pcKb~2pzMy<TEU3n<HDC6n7<_yeoTWrfr?u?GH0ff9$kYy>^f9pYhJ8
oso9h7^!HBs^wspI_dXU0hUc#eJp0@xl!MAVPgg&ebxsLQ0RHm!ssI20

diff --git a/interface/web/themes/default-304/icons/x16/pencil.png b/interface/web/themes/default-304/icons/x16/pencil.png
deleted file mode 100644
index 69810272887e7c7059e8a83789743d0b0272eca1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 417
zcmV;S0bc%zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004KNkl<ZILnRF
zPbh<N9LMqZcSe?k5>aTWDN)3YgO%*K=W*b)av^F_vKq}rLI}BVpqARwdK#tVBt=e2
z4$H}bnm-q=F7tDkr<S(o*{8n8*ZcDOL4kF6gymV`bU%B#uA}QZX%W&Qbq^w(6$A4G
z`kzIT_aduj#lYNvrfD9p*E{nQ3aJ;L?;{C=w6{PcKtX7pi8GmuG7KY?fSVXVERsDd
ze6lA4$2)TIc&n>Rqvy-za;-%~h!ztt@%LL;rLMJ)tuR+@ZYRSIhkYO)-UxxO-(epp
zgxBYa2w36VKsaB(4zJI_P@f<o+4s*4*x|`hXl?rU^UQ!1&I`>QgdiHG`Eb5+@$+dy
zogekSo7fVX+nq+XgR-PP@6_ywM5i=a81sugG`BJ?o3E+33Jy!$+bsd09;gFqff}F+
zs01p2a-a-w0wsU|s7b#h8f!%dx`0lg9q<5dpb2RB3s&cZN&&|&c)|&w>YIlj00000
LNkvXXu0mjfIXk+i

diff --git a/interface/web/themes/default-304/icons/x16/pencil_arrow.png b/interface/web/themes/default-304/icons/x16/pencil_arrow.png
deleted file mode 100644
index 91efbde7c1da01c6ffec6b91611b6678d819691e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 567
zcmV-70?7S|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00060Nkl<ZILl*T
z0D^QsMh0vk!iSMz!wd)x3=9P0r;LmsEOrq{Z-yyEHvm~976WV^GBU0^&&b%0VE{Ib
z$OZ%i1gJSWI_Cc?E&cz<-Tmb{1_l?f#<o=48etfw`S0Jq|JSTpb9EI1!;z&R%}Z+_
z7@y|#(-|FBOkmt`{aE1teQS*0b8>Qa)BwX^0Wk)^H2-*B@&D@KfR}w03<uN|Sr~$t
zm<StyO>=iC1B1H_6JY~zX-@4bWw4+7g27_SeFnYuOV|y-r8#KIdIpF2ukagyOLO3)
zwG4K1p3ekoJ_Dp<uo{3(b7{31gJIWI29v&<AY0GOeER=Ch&G>mF9yW`Y?@0dO&D}r
zFU$lgJOjeq@vF{6uf6+!!lVEHL42TG48t6t^A=Pv$jz<ft$lYl?f<q#CNE&lwke;)
zV7uhuvyKP<|0iAk|3B<J0+-zU|6jTC@EL|lc?^vGIgCyJ-<|ni6vnt9Gk~!w!Jm;q
zS(br;*F1(nGH3ftiL9+>Kp5l#^M!Z+2cG-?AH)aB#ekA=&$Fw`{^tZSE^{<wj0MK5
zI1q~gu?P?g0x>@j^8zt9Z}if0ItTy%=Z#r*mfN*94k!lBME^7V8COY(Fa`qI20*L}
z#9BbC2E>X$40H>FB*;J(o00{r{<F@pSQR7!`K&<91OQe8ZbKy{U^M^$002ovPDHLk
FV1gX5`M3Z8

diff --git a/interface/web/themes/default-304/icons/x16/pencil_exclamation.png b/interface/web/themes/default-304/icons/x16/pencil_exclamation.png
deleted file mode 100644
index 64c53af26c969c20431ac124f383c21e0d120f84..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 623
zcmV-#0+9WQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006uNkl<ZILnQa
zT}YEr7{{MyENB<rnL$Jlf`t$mdJ}cw`e0pD?iChM2wwEDU=##{%_fA<W*=lpA4;3f
zk!J37TH1^VvlQRCy%9s+bk)GZnhUiF30<_F&Y6sCzE%f*Jm);;{Qevc2Y`)JhY-}p
zkpl?5O-l%Zkl_;|ry$B|U-n>bz;aO~VAlu4z-vU;iU2ind4SPqEYj=sXMb9)^wD5Q
z1_1VEMCXas#VlDlolcV|ib@y2NIRF?9ZUR8?zw~Io!9Zn#Hc`nV(C|%PFL?>Z{Yo(
zfUNvIVIyVOn7n3#p)H%WP^r=UJ3vhqZy{W^X`tbl27*U%^?+RYK_gDeeduRYGa!p<
zK(2h_JiL6>zozZmoM(pD$Rk|K0M3d4wQGlZ@nBruAO5lEr}vS4VZN4n5IBDXsL2DZ
zs2%Orcoq_uQYMp$Qqvbwd_CevE#r59n%rE6Fw}{AqJt&U!nA|fn^R)aO!7dX#QV?h
zvjDdhz-xm|9(!KxeEcK@ePuITzQX!XeTdKQVbj!`s@aKg13m7y(s;C-qGLN}d7tk?
z;~BsP3)a!ROy>@x_p}jfsw)s`EeOFD+%X(jCr!n6Q(P&{+<@1(QbsStJc;k~Z+!K$
z(m|F=?9gw=Dt2f+qkxg$eH+_ip~5f8cg2)^yOkE_?3v1mNgI<7o6*hx5}7NoYePN?
zY+l0H#wcbKS&xJ7?nRK@PLMrLh<IEOZgIgFBh*?ClHCk9e*uG}kj3PcS$O~e002ov
JPDHLkV1i#OCoKQ~

diff --git a/interface/web/themes/default-304/icons/x16/pencil_minus.png b/interface/web/themes/default-304/icons/x16/pencil_minus.png
deleted file mode 100644
index 0a827a2adafcdf58467674ed3ab9a9fe435bee9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 463
zcmV;=0WkiFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004&Nkl<ZILl*T
z0D^QsMh0x4E{Bm}!wd)x3=9P0r;LmsEOrq{Z-yyEHz2|Xp%IG#HV+vY*PUl%Y{xJF
zn?_^<0s;cm9336=|CN^hf8_4|avcMM3s_@YDsGK14AcDg@8ADx)~va@ih<$CQjq4Q
zH4uzX^ZMzG4l5=w?zny|@c+Iw#_u^fIXh~AVX%N017MneJg@kF^>Dz;z6yo|>WVB3
zK}<}94Zx<kyOe>!-G+&<0k|}Gl|T%r1A1XOE(7pso@K?r01QAd#%cgA&Bz*Y8h}gl
zLRn1B7zW_dJP)XO83V&ipyD&=7$nXx2dHR41%uq&O5WOcchmlFTV(PArnxtqfnf#%
z7@zqb7xy0>gTxso<uNe!=P)+?e|P48Q5fTb%mBu!1b;>bWm!lv2c^{(piK=x#poC$
z4ob#7&#o@}pA*Em%+ZiB7N}kvh{b?d1c(KJm>-CFftVYJIe?fAh*^M`8HmA|=zoSk
z<0>f;#y}w30El&gSPO{NfLIZTL2i+R8YqBd5GxQf0RRWbFD6}$UG)F}002ovPDHLk
FV1nyYyrKXA

diff --git a/interface/web/themes/default-304/icons/x16/pencil_plus.png b/interface/web/themes/default-304/icons/x16/pencil_plus.png
deleted file mode 100644
index 9cc6e2d38db967a2f45f51c099b44b3f5ae5f1df..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 517
zcmV+g0{Z=lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ZNkl<ZILnQb
zO-LI-7>3_38YHNxKT%Oo5J5pLwA7<Q7nEE?cLPc<f(NS+L_r8dNiQDSf`3I64MvEf
zq9JHO5KpC0@w8QX2t5^1@DCwgdx_I;)-D9yRR<ovZ-#kZW`|jTM_(JkYP@SDd|kLh
z(=>xKB1!Qtt~=(&`vK{qML^>T(bf^srw0L6VtRn8s@0034BZ9-;?(QC+5(yl@#A}Y
z(ZrNfsg#Jv<B1rszb56i&>fG-+w=5x;|uNmKG4Ls_?sJ-%k??LcMyF}fGPjI2#UlH
z^=c}J?=_W~@Hre$2UyAD0l?encsjsNZkf&oHj97_53p2V9bhL{Me=}H(c=NO^5P3A
zh8f+cRspv1tQ%M^1XewIPck56HRkC7w(?9a5Ge@rW?j;8-7C!ASdZ|gXb=@kBe@@v
ze|p94O2efo`$L()T%JT%E_~uXavd{+py>e`6G>eRcT%)prP1zoLRI<yckaysCf#97
zxOGYWX_GK}W1XMz#Cc*}4EShWc}-oclrY5%-xBf}zCG}FARA*jhh@igg6mJ7XE4T3
zB>e3ZEAx=X{VV1rQ_EB{m5e+~sS&6;qwqTqp*bTwcQTHDkla5+r06sK00000NkvXX
Hu0mjfPt)S}

diff --git a/interface/web/themes/default-304/icons/x16/pencil_small.png b/interface/web/themes/default-304/icons/x16/pencil_small.png
deleted file mode 100644
index 921f23bc92b7efc9ba121f4b5fa2c93bf61a1e05..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 245
zcmV<R01E$!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002INkl<ZILl-B
z|NlP&C75Aw8L+aRfnoPzMid+x8p<$NTify;BjfsGjEoK>8xRr_qLOc6QTxB4;r~WP
z#)Bjouxk;cy_c6)&iC)%|GP;^_04Bsa3k6Pkme238Ml6aR{38^NvT#yNJwuE0|Rkk
zfUJ3H9pgS<Ck{t`etrg`3_#c1S;XMt?ZCl6lmW}@7}U@;w-+!l5N*JuJjRCqUv8pk
vCdmMhe1<>c>hgF-JD6sY3>XG^fgB6~DZh7!-E>i@00000NkvXXu0mjf_%>uG

diff --git a/interface/web/themes/default-304/icons/x16/photo_album.png b/interface/web/themes/default-304/icons/x16/photo_album.png
deleted file mode 100644
index 27747ad29df08c1ba11d82dceadeddaad8a9dd29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 690
zcmV;j0!{siP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007cNkl<ZILn2T
z%}Z2a6o;Sp-uGVb%;=cr<X2^likXE3E-WgvMd(5ZvW1JFRauK@)1saI0WPXV)W(I2
zAX-F=vWSR?C`3#sM+VF((HxXX$J^-KkN39GDUtBNfpg&ee&<=7Bczo5K>W^0?+iP~
z7;pt(@!Dg8AV31~M<XLQO~b%4O~RH{$VezexTpxrvak$;*1o=n03972#5Np-5aLO1
zZ}0gFW#4vOznB~wTRAt-=F}VpC=h5ZEiJUhN^o7bFuV||A}7p3uj@K9R!v2|y7@9e
zuxap90-90^$8ks`5(U9hmCn`MLj?a2bVD8R06+k@hKKtL21+S}5HvM40Wf96@RXu&
zNTWOgc^4{*p)3ri>fuCOvA(vZNkI2~AK&+}V+|zqN&wPYl+o#F4u(F`QhSWja2Usj
zVk<<vq8djja=Dz4fbMx7p68L5rCho`xCOhtv9VAK;Qs6PRPByX94g|sZEq#;mBLes
z$!FCCiO@F60GfN|$*hM+tVY;d?qJ*YRsz>`ag^f4%R0KdY|3^itg=$f(kS-qJdRQv
zsZ_M>TSrKfY&N@<!1X*F-)CYx#d0Rfp=N{j?idFeYWeYXiHPrWcWCJ8)YQ}m0K+iS
z5|DohJRGIy>B#{(gb+-R&yktenN50Bb}CAu(Km)++*?^*CLD<%0l7)Ap3fts<n)d7
zwkzC!7KD^!vso=(U(e*|D66Ry5->LJz+cTUaItfnI0ynv(`4ey_qmxpjp@}?icB&I
zfDD45L@9-)X&kT6|N94qp^<(*v+(xw%sZe8$N{zhUI9nDOy+iare6WcPcDOi4=e)d
YKmIBobnb6%IRF3v07*qoM6N<$f{mO(jsO4v

diff --git a/interface/web/themes/default-304/icons/x16/photo_album__arrow.png b/interface/web/themes/default-304/icons/x16/photo_album__arrow.png
deleted file mode 100644
index a2572e8dd37a192fa51753ee10cda6096715b129..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZILn2T
zSx8h-7{`C--gC!0Gp4yrjaq3_VkUz{J+x;Lk&zH(ghWs;Z4c2)54{yVwm(G$tyUC4
z5VTShWDA9~P)!6@1TKRnHjd-WUC!+#Z%GdxIPm}AeE;vq$NvZ^<qjZrVv)0)u}?d&
z9iVsDbv(~Q0<o+2?(Gd224)~Y$Ta;M4h9M3<zbp8reRRu(sCN0p`n4uA4egCxY69)
zynaK`*D=TUera$2wRZnpt9&MaPoUM+)lnZAhi%*b<DOuYj0pI(uIqd=%S&@*wcGH#
z5rb|CXi6z8%Oa6T_zitgot+2H;r&C<2$jGo00Hc~bZLigpp-%gK}}5!0H2Krj#9Lo
z(<lx@&W6%_C<?*iX|N!s$PN!{63|`O#dTfMk?AD#i2x+E0$z7?Fg5s+x{BEphC)~_
z<eNcarDa%3k;!C)1a!x7a2$u6EM&{>BcrhARag6304E=|5iJRmAIxJYogPi#DutsI
zpKg`;EkgSvJ*aK!qCXoXF&Ji2u|+za7TUiAwryi6#oharAWA4I8c(#Uk}36Zic3m3
z{4B-0!3pU0FNBn&QmN4dw&P&AF7MuaXQ01;8MOxU8Y5Iqui(eWK0c*0tXMjkqgUQ`
z9z6Br=}<>UQUdZXfrF(KO-&gfgAjsaFE`QkVg^=r1p~t$Q8LS>jk7AwUe>D%%9lwA
z$Pt2UE{BkkC3}+o;;ubPv9P|3FN09%fDJtV2`ksd=iEHswnqZSNDkb=e)ex(HY&b7
z;YQBijv|DhZy;^QR<AM2<1t!K+-Vn@c3gU%H%=*qrfJMC)&I-?YVHGI7zSIDjrLGg
z%y@XX^}XBu{!Hfap(_G-0K``X=p5@aeVDyHnvBF#s`FK=`{v>WAo&|@#3%pAb!#yI
O0000<MNUMnLSTYM_f56{

diff --git a/interface/web/themes/default-304/icons/x16/photo_album__exclamation.png b/interface/web/themes/default-304/icons/x16/photo_album__exclamation.png
deleted file mode 100644
index b5e63561120ca3126350ae06477c5b42f86babd0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 759
zcmV<T0to$yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008MNkl<ZI8TL=
zO=weD7>1v7@3}WOF*Qw0m^2l|#u~JkA~TALN_8Rrb#SmQx)5B5I<pX66vmyd#l<XV
zW+5VsVg*6`Unrsrr51IeRflxCP}`_c8*kF&{+#QgX`C*^7Y>~7@I4<7A4f<j4+0&3
ztn)VU{R{&K0N(v}o*)R2K*!nZ*9T0)z%orDmeo9S!eJtz5SC?O83x_`{eJ=U^z@Kw
zOcX+h3w?ckyLQJ%8&BWPyO+bmlRJ<7<YblsG!3+_t}eP$Ex4}RY@P_GsS2}M>$=W=
zRwh|*Te_bh03Zm0aS3QjDICXPWMrfXyie==di)gAt<%{G3xPiY1aS1snS;#%N-2a8
z<Z?Lxo*OAVrRYDUk(dK@7m`tkM__#x)^;drQ&XA*bl>;!eIGlum=XO40E*gNh6)81
zh40hVzJgdJg5yKf3e%Bn!%>QAwJIc_d!C2qdDLZ$y@yWD(q7%!3BZR}r<p8X;c+p?
z+j#>-!yziRJ=?%n3QsAXU21FK0-;Ucd{H5{;cuSaJI9N%&isVJw(Z#luIu6`#kCs?
z*}BCh-m0+TF&t6H_u4THNj8(gw5}rLPRix7rv2Z*^*kKk=gFfn&i><Y>$adYm84p8
zX>D6i|K9T?<7xNq)dNE-w{8A?v`{E&fc$FU;V4CKZ<Tz0f{^)&u_t$^*%JH;gM)*p
z`nZwLCj8U;?mYZC|L-{o$QgrLy^fHQ4Tp=39R!R&K0+)N;?2h)u3R4AeSHWck?!<L
zqq}?aW49z=%=`oY^9PRY+1P*~(Q31D)hAM^ET%Te_8liEJpB=(V%{e!+FdEzt7Q-b
zElMdgO=C?`Z^8h6x=3!xT*BG}7>Y{iD0b;00O|Hv_Ib(PCxDy4@+~H>XVJi_Usw>&
p5SghpNzH8GwGaflhG!Z)_yVd&Gr9!XqG<pC002ovPDHLkV1oGAWaj_?

diff --git a/interface/web/themes/default-304/icons/x16/photo_album__minus.png b/interface/web/themes/default-304/icons/x16/photo_album__minus.png
deleted file mode 100644
index f2af67d91491a220182d60d0b7ddaa3fa3b8025f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 689
zcmV;i0#5yjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007bNkl<ZILn2T
zO-NKx6vuz}&3)sW89&k-{7S4zGc%FMg+_+C(uE~t3!$J@S&L}XqMfyOQJYAJAzc*F
zA|l8l+7wa5APF|2nPF*(GWqcuXWqwsEz+r>zzY}7fph-nci?}7l(G+qTtDozv-OJs
z=KvNj+{g1gBoMhfGIH6k>ll7NLBq)WP#{1sCkMkYFm#>9-rhlgwzf9H8;U{*@t~)t
z=fugvPg{;(oQ%a*y8D}~@_hgq0<FHjp2lz<wryvMzXwW53V$Z|`FzY6<;Cf;y0duR
zrocA|Xi6z8%OW0+XBw7DeVo4<#run(6RLn)00Ou&JlvNNP)Z?$ptiOafC)W}qZGYS
zjiL~wZ79x#!XUKnhC>lWYJFXkfX{VZT-U`6R}=S@0I;Ct^KN>YU4b{$R~(=q7{qcR
z*9Z_PF2hoaWHKov;By=Y$8ku@0?u3<$ii-}sma6wxcU4QrQ1W~26Fgmn%M-dQaDQS
z;Za$pMQ9tL2X$TZBvJw5Yaw<NS(v7oO<>zLmQp-<T197vN#QnyQCNV#ARqI~JeE@I
zFHtmArV!H4>gsAXf$cb0uFLz;&nzeM*;}X6+!<zPbp^BION3mP8`0>)iHV8V0J^R(
zNI?D}aIlo3t1Ag45kfFMI>*d4o0Tz(*>DS|rlt-COtW%htC$4jCP6BlMo7t#OAA>J
zd^y-kcYDL{q@ke_s06q(G=v27O&_>x3HnbT{l~(2%kzvs{zz&)ZA+K0hGiuHB*diW
zd3j1HG)<$W*!TY<IKBs6*NNVKF?KJ(F+c%Hz!bnUprOOh+*Zf*!(;NT%>dv6i@?G!
X{IeYLt#uK800000NkvXXu0mjf+;}`h

diff --git a/interface/web/themes/default-304/icons/x16/photo_album__pencil.png b/interface/web/themes/default-304/icons/x16/photo_album__pencil.png
deleted file mode 100644
index 6be3f7b429ba9f1c9bab2b768079654543852178..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 749
zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008CNkl<ZILn2T
zOGs2v7{`C--ZOXZOfPMm(gIC0Y!cC|z@oxhB_TxGLc$)KtQHkPi*~gth>#+%2h^fP
z5UpyFSs^{37n8Oq%P>cJOfoWBBje0{oZBXE*`@;@d<VY&|NC+HA0egO4^*66?`-D(
zCk}J~qz>N1^E@O_aihEYm=OqI8U|t0^lMfqL^v44G)>GvfZDdU%K(jyjYNMt3L(U;
z*4EaR9fhC%yFN7-kN?<qVzsqs1%OYWRaaM28=Zq~+y3zPP%&9y_;+2`88#Oc<x67w
z@Vse*qy#jj6qaQ%FfiZ?#)@?goV<qj7eN!00ha&-aQyo9{l0-x3LyklRaF4I4@7a4
zqV1Z-{8^B<p=dS~hGD}}SXZIQO-*SM&|TNXbzLT-l?><$0T|Wh@@i;^^3Zdt7q4Vq
zIE>}OY%@efQ3;k(WV2Zz0o`#N9LFIq=dtI|*%{ak%a-}Q0J<JLrS!{txN@FS!>F1;
z;3|cq6z^`A_!6Q0Zas)Ke<PX7@o@MPhwJJn@9f;F{Y_xoHkMM{y;lYzLSbP6#Y@U4
zt*v2xBtk0r2s8bGj-$KivTb_n>+jDXupI}>b$Qd5U?M%2<*@(_O;MIqE++BzGe7&!
zaCCbeu{CRYrh>t@W+d`b0`d=mgQXPB%~>Fe5Q3q;ucVXk{Y#FfmhD{V>iSr-Ab0x7
z#EM?swvm9GCdlRU2r1ckWYmAS$<Zey-<_kWWhHmIpV2>F|6r<MvNt&4kVzzvKwvrt
zZYIr%_D#MxWaNk~A7<y?4lZ<F<VD;VdnIchXA%>n2L}O=p6AU`N}*{QYm4+5*-v|8
zv>$%P)l&^rYURZHUyqEWdmaPDKo*!3Ko3x}#o+6|pQqbm)$Vm-JTpQnoANT_9)mAz
f&H^rw0!DuUoDn&B_UMbs00000NkvXXu0mjflgwP8

diff --git a/interface/web/themes/default-304/icons/x16/photo_album__plus.png b/interface/web/themes/default-304/icons/x16/photo_album__plus.png
deleted file mode 100644
index 09d29a3863e9e6a3dd98f6e2e901d78cf6ba6f6b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILn2T
z%}Z2K7{-6+-gC!0qh@|gjUO~-ikXQ-Eh<XXRR%_o6+%I)w4f5AMbyInfEKNyHZBSR
zkroww5!IrFP?H(iL}E##IVeMpx6!#D=e9^ErN9FR-WSgMygv@lBcznwK-IN9ZY!&w
z7|;bUeYzjt_mM!=oyU(a1PlW+5Flil*_#^-63WTJG)+vyps};_CO~s@GvP%=A%qy{
z=;%0fxbVxW>!&}*VzUQ(ci3fH0I~#HeSJNR;d~s&$v&P6Mo5c5w%2u?uVz_ErnK%P
zzP}{!Ljsyo3fs1c$K%<7nTXD*D}DIO2-+YD+yD^3#ap+!vjR#fgb>u$)&lU!2;(Y6
zXP-t<E@T`i$%DcW?A-*rs}u|K^O^*7&-3s+4=Y?vTwf1BLR-V@u`xCV2dOXLMnNcq
z?LnRyq^hJ8TPf1%w2*-Ax-PEkl92_RID2&k_RgA`Y%PH6&t4HJ&LuCH!!OHPN#H4k
zs}vvam1akTwpjX5*FH&dAxL~Kmx>}A%d&*FoWOA$Y^8YgBnqOK!osygDx+*@Y@n#P
zn65YH>GRI;Fxi8Ul2j_SlE86YY|mqOXq=zPHEgak*x44QvbvmaBQw0^JuOXp=o`2_
z@$&M>HN!9x5|DohTx_LiZ%+ehgb<7kO>k*Ez|gEBe_a8y-YlM;nVLK{d=#IU1mqII
zLMDTdlBS--3I~opXd`;yk9lX@8Cv!?ZwGjB_c;<UmVDsNCFwoh@{fg`=yyg&M@cVa
zoXW1P#)tml*y10@r0@IrN+~o=V^@j(-wf=xH(;a;jyQu((n}gx%AnWU3s?ep3N-8s
rFtJ*g-nGieRE0>9;3M~)b3o!Z=Q$!sZ=+QK00000NkvXXu0mjfxbsCr

diff --git a/interface/web/themes/default-304/icons/x16/photo_album_blue.png b/interface/web/themes/default-304/icons/x16/photo_album_blue.png
deleted file mode 100644
index 5684ecbdeac0ceee228cda72305b2d0a883f614c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007gNkl<ZILn2T
zO-NKx7>1vF=iKqm+?nyGEJgcqOiT<0tA!MWK}jxj(as=fWiDE{X%Pgiqg@eU1PU#L
zRuM!NQ4mp)khDlevL-FdEPux9ICJkk=d?)2B%}i$oWsZaeh-KDGlUS`KvK5dsNw%-
z1h@=v`AjKVYXp!S7#zG1wk+&$n5b<R%85jX78POJHnwGv>g+rR(9+UUa1>I?<lWw0
zIM4-nfV=tl-0>4<TjRIN%f-3@U^X^3B2p=Q-!C)_HIG*L!aEcSF`N04+_^2(rL_h?
zYyC|Crcw&e^B5f+EeH}$mfPn$(0>tJ>PYPedI1dJ;+;F)1p}1AFbwMJ>jCgrCJB_H
zv(Kc=fxHh}V^A7}BeifSsmQIYm;wk%DM3o&j!%C1GXN@>XJ}%An#gM!tC}c|M)4%X
z><G!Nm3T^#&1MY&gn}S|AiyNx%IU)!u$$}Z*8c^#`Q!x^TO4AMB9>iuBY{+sKq*G<
zR~96Oxq8*m&_2yvF2d-NLv@*l>$)2W0^i3|iieMO(RR|Mv_xT-785Q`;7(2BDaF3+
zii10H7$Qt2li5fR_&%PLyc<rlFqdF&gGF;&IlK2%G5P){j+9*M>$^8LHue(0vaA^a
zh&2M=_wbaWy*&$LF${x=;jhe1hnN}<*nUhAPb8jNmUVq`VS%XQAXd`|Qj*W-FofV}
z&&)q5+}R3-5M(kLGg({9$j}f==`;ec)^f1C5^$>L>OW$wHQ{iWw{M0&l*E6{ETz-T
zjgS9{ver7TltP#$)w`ND-2=<Ac=q7q_r+HO&w&ac3%COK)ZgD9<8d(g-(~iGd<H53
c3Csf7-x@C;WJ(s+T>t<807*qoM6N<$g5{GuE&u=k

diff --git a/interface/web/themes/default-304/icons/x16/piano.png b/interface/web/themes/default-304/icons/x16/piano.png
deleted file mode 100644
index 061578628950c0b092491d8c0a81ed2e3e085e4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 344
zcmV-e0jK_nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003WNkl<ZILpP8
zF-`+95JjIS_UyLYAV)w!+#xk>x)hv&8&Gipid=y@Qj|6o%|=R@Dm|^ei98hG)q=K2
zNWqszPx|s$|68&%Gp><vr5x}I-2Gwq-OL_6a6g~VZ*$H#=MWJ@1m|3L(#*&?lXGVI
zuw?o+WwBTYfCr>$8bSzERYhIbR8@ud9uXnu%<*_6r9?`J@$;CbZGP0>?)Q6}OeVJ3
zY&x!1D;x3)fvuS#z{q<~+qU#s=C@x6j7p4A2!R+Q-usRr1cv;=a)AfDsuE+Q&(rC|
zkYD({`;|adNhuLR=%}g;`Gq9`z#+zHyWP$%A#f;<SgUH+`P>2Ol3+cX&0a+0=@J5K
qGs6K2-1Ix0p$vSOS#tmW8$SV!=H%pDTw~<`0000<MNUMnLSTZH=a{bm

diff --git a/interface/web/themes/default-304/icons/x16/piano_arrow.png b/interface/web/themes/default-304/icons/x16/piano_arrow.png
deleted file mode 100644
index 337f72b9a5a8b50c20e0785d0e07b29bbd8c7883..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 521
zcmV+k0`~ohP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005dNkl<ZILoDz
zy=zlZ7{-6++;h$i{TMQ6iz0>$S+pXNs_0OV4w*%qq(g>A{|~{fcJ(WRbjVf_9159@
zN`r7C5#bVqwulbxP>lEH;~a;2FEK<E`@qW&9?tvnKJXsloZ~o>98&^#3|#t;-X^fB
zfW>mTe9>Bq5CSPBQc8pn=}YGv)>^E!Y~9?Vv{|BBtx5m|$RG&NTI2gZnM?-X_fbkA
zrNmlGzuza0W8yd__aH~m3x12=>U27;SS-3mqmi;+ue(WpLZFpQ@sv{ZdOb#&)VQAz
z@X`TVYoaJZDV0)d%_KizGC%>!7(*0AjB+p-Fv(B&tM_OFV+?T|qqR<HjA7ibeV*m?
z>T|aDr_v1ocB3eA?RMM!jVrZX_h`?#mD;X5arM^z{PH~%kTJ%jnaAr{;MjY+LmXSa
zefh{x$1GmU^XB#KS%0o@#{)`X7;aW7m6u@{2IKs2X6gLWje_5uJ4vRH$7Zwa{D8~X
z&&k%i@T>p~kR8o5s`<Mw?mKsM>WAGf3(Hq7oLb1!c=GDK@Vqqz^nkB_I(X+OTPLu?
zA)XW4-*b8DYqh43a(!xMW<&k!&pA9e0Oy*Y9zI0~vF=Y#ZvgxRuWb^AbUfq100000
LNkvXXu0mjf*4+7I

diff --git a/interface/web/themes/default-304/icons/x16/piano_exclamation.png b/interface/web/themes/default-304/icons/x16/piano_exclamation.png
deleted file mode 100644
index 108cef2838b9f46d1bd74b13ab5ad6ceba90276f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 562
zcmV-20?qx2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005`Nkl<ZILoDx
zL5LDj9LC>hbgNTRh_^gMNC&fno~&5LlSX2PWI@N2I(3MkjXiYeP_!Ezy6h4WvWJ#E
zMcE;&yqLD4GU(VkqAVf|!b)tiFo*PO{!?#=&Aqe_K7Rba|NFi-Fbn`YjM$+IjI(N}
z`X5?le@<PJBqS0EB$G*`QYoa<X=E}POEi;Dd*@px=sx9mf$a17;P?9x3<ePjg%F8E
z5RFC=i^WWa!(oV`Xzl}n0O&sDctNAr>%r^wqEsqb%;)o%<#SSw7qt5QK0F=|DwT@G
zLZN_JJ}2dPL0i)_xZQ5l>vfC8ViAA)H?E&T_2ZmLnkmN%x}(tuE|&|6qFAI?EWcU9
z(&BOa*jY14Gv#=}_INyo!{LCcsupEg2KSZf3Ucdn__?=%-0REcOgUaK&~+WHRtvM)
zKzmcduJ+9QE8ho?j5!Iroeg-w&U89Or_;e?GWmziS{B`!Q7~AfSD|g)#8&wlE}Ro~
zkJx_~e2T~8%Ql<s-hR%{$Dc0Uw{7;ClK!nBBKPht8gdY|@<si@Z9)5x6$C0cYUrdP
z=YB2R60YRePgJ+tm(W$tn_oceDn5MPI97iDQt-2b&cizbd$S_EP`{oY4m)QtRL@{<
zv|y6dF1d!ZpBcU?GPbtNSoR5f{^~LNa*$~M3vs{|uUyb?`~Uy|07*qoM6N<$g1q|<
A)&Kwi

diff --git a/interface/web/themes/default-304/icons/x16/piano_minus.png b/interface/web/themes/default-304/icons/x16/piano_minus.png
deleted file mode 100644
index 091520cc1c423129bc0a26b7cb5ae6a4f9e2adf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 402
zcmV;D0d4+?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00045Nkl<ZILpP8
zy-Gtt5QV?p>`w|Cn~04Bto<P(*xIEQeSs9F^BF7zeFZJ@3W8lAbpnb-u8=}5Da6J%
z*u9Cn7P^-hZle|+7(O`c9A;ov#2ERDB!83uZh*aC^gaTo3fS*-I=dkRgb+w6ky0Xr
zC||}H2_X<dpnue-ecPtj>q!6w$SljyT4SxHUaw=VMJa`pk`My3*$nSJ-g}ytO|l~U
zw*J#}I*qMXD~?8^l7qn@R{4p*Q%b2Rr6`JmMW$Nz6M<S8ptZ(1hf=Df)|x6mF$E|<
z8DntHvB>#+PL-ed)%!VtF$V8FTI-U=7^?ilGy%Y?b1qIMllT(?ug70w)QvIa&Q&!&
zJL7FQ<i%PF?|HG7D_Glr>l)C`^Zd5k?cU{io>g)C`FZQ)@NlKsXt24yPP5VAU}s0(
wkH-kW0IQ2TE$bXE-j~i@!n=kC@$bL!1L2|V)bQOiSpWb407*qoM6N<$g5OxT)Bpeg

diff --git a/interface/web/themes/default-304/icons/x16/piano_pencil.png b/interface/web/themes/default-304/icons/x16/piano_pencil.png
deleted file mode 100644
index 0f1de2bf45b9ecaaf7e656f2ec2efd443795a3a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 525
zcmV+o0`mQdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005hNkl<ZILoDx
zKWG|Z7{<Tvz+}r(Y>GI#=}@f8Iiv<kw2MNnP7d`?l}sUYNdqCcgwmnZ6k2E?WU!?K
zr;v<R>~NK0%W(+`DzU+qNFgpUpo>1e_wa5AM<C4$4?n)={hsIGI|hK=M(oxF+H7n3
z`5)S5lTnh%B;xTn5{U#-sT9)bG%}ftDLRu+d&hwTbf0oYf$H=5Ac`UafdE3G5F(KX
zBuPRv8r2yNhY<`0^}XNk2i>QfQE=RDx8e1AQK?i+7K=q#`35Ox6x2JN4m=(Ys@1B=
za=8pE-yr4Eoa+URZnq1U%LPSIOv<thE1#(5^VsG5@*C#?Dmdx&dT=_OsMTsF=_^(~
z6%;l%fovB0oPVW)(|*4XyWNgvvuRRQRb2Itetd%4?Z#j*!2Ow-i(SSRsNm0VI7Gc(
z$8}V`=OG_H#^7uXxm*r5o9%CS@`&f-@ffXE3!~A<lD)GsiiLSS{Q13zcB4d(cy9cK
zQY;pGEeOI3E6$6;&d060zbO1>{m$<PZs7y@lrsvZG|g&qTva^89`0@NFM4>5%PEO1
zPImV+O|$D}<q2bNmw6VK4ZPdnrB~0{qh}Jk@n9*!3#(80+{+cltP1`Cjx+2dNXrP-
P00000NkvXXu0mjfQV;V-

diff --git a/interface/web/themes/default-304/icons/x16/piano_plus.png b/interface/web/themes/default-304/icons/x16/piano_plus.png
deleted file mode 100644
index 26a5144860f419fcb43d4b86244399e5a1e9065e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 467
zcmV;^0WAKBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004+Nkl<ZILoDt
zy-Px26vhwI2SHi{5{RQ)cQO}+Kqs9P5@~SpBQG=rH3W@8OHmFD4My|_v_*{)4vB-7
zTtXow3keL$78fD(>7HBf9pXxo2OfU+J@5PcE&-rXLL&>*IZ<=_kDSoYloN>rVzC(F
z@i>ynBvPpqWLeh3XWsL@?a~H*&pjbfTrL;fZa2JMF9Lx8LZJ}C;V>eRh{j+r2*2O2
z-FrM9@O$nF!F{9AfYa$jp-|A7&1PY=7v!E0RGZBvBuPTCSk#%z<zTcI<em^bv|24V
z91fJrWu5ta9!7gX?g_zTyWNJ}Zbzk3(aC=?+6!_|2%bBg4y;xyYPFh9MN#m3zmiR2
z?BJW+6M~m+w~K1EiofW*@?rI3OC$FvG^GjN`~5!Z^*VaJo+0I%4M^u6EME8!d6PBL
z&devB&Sh9|9gRlQCX;D<5G_acS6^!xzeC5fB^FGmnO9>Qm_73u?VA;j)Ler0eQ3F(
zv?W7B&Aypb3DNF!$@a7WrglEG(C~uINuu?M46TiqH1b&$d;zrU<Ak<7L(2dF002ov
JPDHLkV1g{4&I14d

diff --git a/interface/web/themes/default-304/icons/x16/picture.png b/interface/web/themes/default-304/icons/x16/picture.png
deleted file mode 100644
index d1ddcc6296587f5d591c9ccbc6d76c568189115a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 494
zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005CNkl<ZILoDz
zJ!=$E6o#M4x%bY_+{u1AY9RpwVzGq@0h`#^YN3t7VwWO+z(T=aU?W)A*o$Cg<3CWb
zh`X^6YyuKQ2o^50!ChzW-D@$ivT?JgexHXI&N)#Cfn{ceB`11+hx?-+3{C@Y=DbvU
zM+|P>+ufQ@rwhSJlJMrmbCmNi91huf@M<B!$H#YZ9+dYWB8Uh(uh$R(YoPMr=8#)R
z4A>a9*Fg(xv<?vwya!czP)ebc;`-$Yd6u%;5at1_hT{@`JCGH)l-D9v*7?eVa;|Qm
zwdU>UA!}zZGPt%&FKg1!P<jXf5?xEO7(&p92+o}}5D|<q?0??p;P8NNM_<`o-ym<F
z=S;K1YGP@al)RZ?<2J?^M5Jy|If$YNtu<M7o5nQZ=XcBAag%O0rPoX7c3ZUD8O_r2
z<yV7S7iy+*ph^cJ1e8*AIvwITCQVb))S{Fj1VvTBY!(m+%;$ABgh1&|8vGS}c((JO
zORNQz12vx1TX=Hg9M)P|trl69AtL`^v)PQIC@6}8e!tIn0@0(Z@^tjcZ=dRvugJRy
kFhCnn3-S&aN6WtRAJW#8X=b?rA^-pY07*qoM6N<$g7}-?q5uE@

diff --git a/interface/web/themes/default-304/icons/x16/picture_arrow.png b/interface/web/themes/default-304/icons/x16/picture_arrow.png
deleted file mode 100644
index d50d357cba0e9a13b61b41d0b911248e0aad6a1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006jNkl<ZILoDy
z%S%*Y7{-6c?>omimzgsc$HKsHGNLk2q#(7xMH^d~L4vjjg!}_)QP8$c1l=HnXlD`B
zrbPv|D?%j9af;}Mpi+XBl#M!<^BunyW2*=;A9#1~^YDY`F|^ifMpbN5#^?#oX1~$*
zKjxM+_vH9IeMe6YwiXJ74Vi7*=JDNINEO1w#00J9?r$jI)umok2r>*o2!RlSfrs@7
z0j>o>2x=A5F4z{h)zF>+Q$Vvnix7e^1Q~=Nr9?_e=dL_y&mkHStZHygSSmwFfvAF=
z=}M3+SN?+#q*4_E(=>UJJx_gY1AQHXq`Vjr6UrfI4YpYc@v1><6Cngjtq}+zuq=zo
zx06iGPVsqunwCs6>G)P^VhN(QOT=<W$2{EXIF@B0gs2b%3Jk-*G)=tV7?Fa_k2#m|
zr5MSiLn>vHO!~y*9=Z1h%c{t!CV^!b1PZFk3bfWpDM=&}_`Xjx8pCm1q_ogl5(H2z
zYQ8O&IMR{i!J8#sdj~12HG)3@V>bu>s_Wv&9Pj3fkpIQv%rwu(O6+gT@bps~&W__L
z`7>W>;Y!yQT-U|-eLT-Y2m!#$)*%jc?&V`1wly~r0HX`Ar?-odFAKHCg#+SxHW#-4
zYcMm1&um|=X><Tq3Pl=vx}Cax8M2p$Rx;n8JOZ$QTA*&di}nxanx1JL?H|s0JvUAR
ymITVc*Y&0=c6U=Ml*T?>y&V{aan01+0r(B4sk%*JeNue@0000<MNUMnLSTXw{tl}E

diff --git a/interface/web/themes/default-304/icons/x16/picture_exclamation.png b/interface/web/themes/default-304/icons/x16/picture_exclamation.png
deleted file mode 100644
index e4e5ff12508b2281d9284f974622103937c4ecfd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 627
zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006yNkl<ZILoDz
z%}Z2a6vlt=yzjkw=U(SJa~-wN35BeM3(chx7=olNOeh%Ign|D+MD5!YK}pmm+O&v3
z7ezF+2{(NZXrmM^f((%~Y{ndQVwgMkqs7>w!iD*)&v~97Jm-io4B3w&>{H_H87|J{
zNdM1rcaleHc8&D#x$&M-skEnM!!XD^yod69$Y!(jT%O#M!TalH@qAFe4^m2`l#D$|
zAtjhPRDAFPNSa{iVAeoyJ7^NR>}8~s_&%tL4@xPNQuH6$CTT^ftCa*Hm>LvaD0?6y
za5z~tQf_s=;)C+MDuJeHyq>#4s<Dl9-#CsHqgDgghcE<Lc!0m0L2DdFiwz;A#PfCt
zq?G8o&iukWi_43AU0b5Ny^CahGYzpgwxQFoouRXHl+`aUh$T)UrK}QEJP<;lX&P2#
zgxZq9#;VC|F-9U0#c>Qe>{$+`S}|%Au9l>{^$H;b6%Qh=2VoeZlp-FFW7{@$bupq*
z6Qy(r1&zTpsRM^dpP!`JX<{q)oR9$5+adUE@b2!|KXnzpPgD42qK7%Arlz=k)gkbU
z$k-+o4^&~h+QQADCQQ@BwrwoSLP`k&RO@Ft`UhCum?87*68Z8B<+2NQp3NdcrP}11
zTN5vL^74PAw{!?=@It&L5?wKMZ<FCuH&|TgA=)5V@;81S?TdUAfDY6H>Tmq}*Th8c
z@%9smWQ{`@U^%BLu0ICgN4~iJ>BGuXvD>MR4#LO)cY=UpyS{RS>@Sb`z>-nQ`fvaM
N002ovPDHLkV1l7oC6fRE

diff --git a/interface/web/themes/default-304/icons/x16/picture_minus.png b/interface/web/themes/default-304/icons/x16/picture_minus.png
deleted file mode 100644
index b937caf91468c67383dd37d56b0460c0eccda8c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZILoDz
zJ!=$E6o#M4xihmfce0<3T1bKsu}G5;u!)V8poLl}tad2^sVx-z1vY|(2$q5hR$5rw
z1hLpJ3qgc{gdi*y8`zMIGxzSbm>5t*Sod`2aNdU(-g7+X9MjYcQ<nGs26wvOY5tFR
zIpw8l^=V$Yy}mLUjV2ODQN-KlPf^A~r_*8O?yHFa?FTn87L>IhB8UiUujdc}9YAiu
zj3Lz!1)xJ%T>xKTsj`iTU@fTJf>H{l6c^78Nt2k_k}!6leb~$3hXI*^vuOcRS+Sp6
zP{tGveBWoYdyl!}r)geTr;(H?`H)#~4kEvRBq2EGBO(}c=s-jWf`Hzq9$VX6?DW5~
zys$)CJ;||hjoC<33S!c7f)1+$L4b%94srvY=i&Q4Nq&veC}QwU)7mRjug5eR5%qe7
zYBiypX+H0lxO%G4<OWn`z&VFfidwBk7>2}gOdM;J3UE%5=WuY~5OIvh#jbOX%p5xS
z1^DoI?XQuwHZ~Zv+eiI7V7T*z`F-Zq?yyMV;pG!(t*KNhBuRpZ90~ewdfd8n{del(
zB2QjCi@p2j<x%&eUH#Y5oH5MDj`+{{AY{`60-y@0317hgyWX_#{1cG#mBLQh`sM%t
N002ovPDHLkV1jfN^27iD

diff --git a/interface/web/themes/default-304/icons/x16/picture_pencil.png b/interface/web/themes/default-304/icons/x16/picture_pencil.png
deleted file mode 100644
index 25fb9f73d2751e6f9ca105842ca8f31d8223ad66..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILoEZ
zTS${(7{Kx8BPi&in^HPZL1<Bs5M&1}F$)zFLM5VTlqhB%D$~#@rIZ<@+0-=5Q<R6m
zmCO<+Q5o5Y`pPuDnB+ui3nqe^GKA#czS%{H1?3C>i<js5y}Sa*LXrhPU^y)5<-wx<
zPnwm|AW;V^6X-MO{wd99R*C~fZ9cUfo6Yu5X-2bBxJ%SWNjn)H9%g?Dgx-RvI}mvr
z!plK-7ZMsF?I9Su!PJXqS2LQG0)J6k&jez(+sQXiP}%i^MiuJcLCZ(D{}!q(Q1=FU
zzQX4bJiD6FtX$qEYFk<mPN$RbYe^*36!OA4POlvXoY40TJ~?LL&?t;dg2Qa4$JdJr
zAH^yc{X{iq>|<<fjFra&@I4(yL_sn+52`SjA5(AX!qnYON57R1U+nY`4$)Co26=fj
zEmgit))rAaE`%^OHHFWS>ufz)#_p6_!m^DVEqX>u-Fq&XY!ttAQrBrFx5k9a<svtD
zGx_UeK+bQR{lWC~H2#TI>^XanP`#0;{C0GPS0vZ=pf}nmZ8g!<5RS{C$6zo}9Up*Z
zC3S<S?dieH%*_0;QAa11wu2trQX7KJ`W($@R&-vXKFvHpVb}^PqSw<9>xU^dfG6kn
z&X(=I7cKYTs;p&H#;(N>xeCo_R&sVMDv4Mk>U<qrBYhPa%D9HF#w!!LO)~KNT(jan
zi`{v<TRpccamo!Qt=!Zruj67Qdd}SYm;LJ@@sQG-c|r+_kC}hrCkbX=807QXlK=n!
M07*qoM6N<$g4*pM(*OVf

diff --git a/interface/web/themes/default-304/icons/x16/picture_plus.png b/interface/web/themes/default-304/icons/x16/picture_plus.png
deleted file mode 100644
index 1b10f9227a83f3d02a1ebf22712788a0a4b9ca60..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 595
zcmV-Z0<8UsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006SNkl<ZILoEZ
zT}YEr7{KudDnm@@!lFb9M7yvO`mj<{oQ8^YqaaZ<D2bKdnpv3?5@L`sw6ZWuqfDY!
zF+b1|5s`@0Dbwu2sEO5*Hi{MQLP-AYyjC~Shxx#t^S<!>4o3i)O)~2X`m&|0AxYH#
zq^+Dz6!p5%!f>5=Mrot1SmQ<A+`As9(>bHG(N=0ViMpM)k+HEcQtBb~EM#7Qt>+=V
z0nC@d(gvlsz%~H(A&gyZw3V6|QSC+XxLhu(d%n=v`;|5Yt&ic(Gr0N)F7`o7KMcNu
zS00RAZM2o+YeaRGCgOIxNk5T?<x(y8M?N#;f|qU>9*5`er{U;F@JwLrYNM?jjTY5&
zz=YT9Wy#JsB6HKosL7}DdJ}a$9kllKVjmd5@nVFhZ(X=2e8#Re+REW5QI7Itd_Er$
z+fK52*BN39nn^oiWBaLl6tq0ynB9r>ft$F_0>V2|$muUa8*OF(is=_jPEHcDuZhjY
zS4gd}ky+i1x$YtP&4X0foYXizu<VA3J)g>1+m&p*KwBvc7u8*s#MIQ(Z?p84u+DBW
z%Jx`{GqNF!sNx`xm=}q<duR)_X(61;TF$lI(bx;)=qyS2S%h^drtz#_T38kAlgbTq
z>NDnx`cq*$0zJV87x;9m-X!qjJ0vI2A^r*Qx7c6kU#kil3>{sGKEE4n|8ZjHiWCMk
hO71*mociBC-vGm$Qq(Y!RD=Kk002ovPDHLkV1g(BBQ^j4

diff --git a/interface/web/themes/default-304/icons/x16/picture_small.png b/interface/web/themes/default-304/icons/x16/picture_small.png
deleted file mode 100644
index c25fa6f928d5f9c7c2ab5f2fdcb85e77143ff412..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 279
zcmV+y0qFjTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002qNkl<ZILqCV
zF-t;W7)D=k^&dF3HMunC(BK#i)sT~OBuP`zRD+-h4$|PJh9TG%Zh@}p^wMBMP2X}s
zxX^G1;euQ^`Tl_W4YfI(<vDPsM*#T`vSWcoS#G)|(KO6^1CNKI&N<RB?+vtzqCpUF
z-iM1ZT)x2F1ZLl0yLoS*aUdFoA=jfPW?ySQ0$4b3KVZ9gZ{R*J8buMg$_b~<I*r#i
zp5K?uw*}kHdjq%oqH!EkxEgT$FrnI0TGJK7&keSl_XcWvqDhjFhIwybbd>3wWku64
dzw1~23%|6<;TY;#`q%&f002ovPDHLkV1hyzdaeKf

diff --git a/interface/web/themes/default-304/icons/x16/picture_small_sunset.png b/interface/web/themes/default-304/icons/x16/picture_small_sunset.png
deleted file mode 100644
index 5a35685fd2f5f30ea253e72206687975622d979e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 270
zcmV+p0rCEcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002hNkl<ZILl-B
z|NlP&C75BD8E`C=p?Hb|!x>x{B#+mC2{sI8?%lih9~TD6<29hmg5k{L$B+MCTrUR3
zmo|w1zqC;tOoPNh@^}qsF=jaP^5x6_9T}$ouWi-%|M;-x{|^tG|35pa_a7t<lE-U6
zjUL094<A1Kk2Dwk-x#m*f8!Lr|KGo){=ae1_CH7*B#+mC5)Fnk-@kwVzpRBDj90Yt
z{6D&u|NojEp8p_mkUU-kvK1N5{Q2|eKQ0WC$7{f159YoA9)>fxFi3v5CuMRl0JhH7
UW+j-!R{#J207*qoM6N<$f|&_>L;wH)

diff --git a/interface/web/themes/default-304/icons/x16/picture_sunset.png b/interface/web/themes/default-304/icons/x16/picture_sunset.png
deleted file mode 100644
index 0d59a8de25e3de673947f0612a1c04ba5546de65..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 474
zcmV<00VV#4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004@Nkl<ZILoDz
zJ!n%=6vuxj=iFD*JQ^w3WL1O?0Y8Y?p+k4w1cf4kle6I9;LzEnpy=W*g1fU*o!V4|
zB2^p$ibz4@izXrO-gg}m%}^B5oaNl%{QvyU$CVf(vqXs*Ltb6w&h7#0M-iVt!86<b
z%KGK&x0?Nae=2dgT;|2oCzub=YPD$IeLj`J&i!ln02TtMDyqu2?dCrkl~EoKeDT5#
zs!9l8c>puR%*cI}%6!1A_$w@x1a%4mMP3j>F{uw=-j4{Jb3A%nqgEGg-srHfP#`5C
zN$07aJcXE&wc8B7cW}<3s(3#pP*sv7;lut%zI;yEJV;qyHkRtf=`%~LG|pk}7(a7I
z819oM3933G$UTS%&N((VG9a6@UV`vTXup1mCGhE8LGMSTzTyxOat}825M#v5*xM@(
z&CboiKm<1j@81^mx{)<AVvG#^nBb4W?T5Ypu5Rth<Q-!i5p=qvEo@$@QK?j@R;#3G
zimDzm7z_qvSw@y+G#U*$U66Yh^}+6&uzI9ZKC4>-B*1aNrqp|&BeQ<z-!y2MRY-}}
Qod5s;07*qoM6N<$g10Q%OaK4?

diff --git a/interface/web/themes/default-304/icons/x16/pictures.png b/interface/web/themes/default-304/icons/x16/pictures.png
deleted file mode 100644
index d2401b541d3be6f11ad1053380a93b060b8bd4db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZILoDv
zOGuPa9L4|G!Xy<UG0h-C(NUzZF9eN74OfF8=(sVo5o22DLh;c;T8J7(4Cqv#Fh24%
zWI_rCJ|dE!)wdaOAyfk~t3k+VA+s4c-g9-VS$!j2_`!v9IQRYpfcy{gtto+?H`QV$
z3;VL-5E;LJhWT^SjlHoJOW0#yzx=vN#8as;-#@vFU@&M2d+h50^&RorMMlfTT<xqt
zC=`Oz2e{^e_C>(G1az$c!yCY-edwG$_7l9-$dS*HfyK7l@HF1U#KTg|xD32)Gcf(g
zz^uCOz4IU(4&!6D9Yc52z<Ir=TFVfLM6l6YgJ-wY06mu7MpEAFd7BMHqfu=3JwSi4
z8lVRQdIdgYC$PJARl_@T_GVfQ#9}f1gRTNKKo17=df8!MXSNi-z7!(#wHSv#YViAe
zwYuAM&fbfAX?RtC9otW9@i<Qn(1QWJT=p#VHQvD7U_Q2dCHQmTL?qmVz`9N6?DZDO
zQC*stWT5<lSLnfjUQ5H5&hS4^$BsV}pBFOWA4%6adp$M@h{!cXuHvH5g8{v)V2^!g
zp8P%ZpwDRSWlQ4T3UORH9Z(+Qai?UUcSAvn#NkO*<eYk0apL{YIR;l?CQ)^zQE>nO
N002ovPDHLkV1kp0^}7H7

diff --git a/interface/web/themes/default-304/icons/x16/pictures_arrow.png b/interface/web/themes/default-304/icons/x16/pictures_arrow.png
deleted file mode 100644
index eb641240890a4c5bbb41df516bccfa842a889a5a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006jNkl<ZILoDv
zUr1A77{)({j7YtbT6qy+h03z*h*IL3Q3w*FF(;C1ZMiJwip8{uFo+H!j)jiYl;gid
zhh?RqXy%1O@akl&yhv*6&xja7t&6dn!PEC1$QlGw`rrpIybsU!{uluEKd>cZ60S}y
zlh+I7*?1*m9c63C!Jc}ow4Y50<tVTGeD4@zo}&u#ql-ldg+eKz9Oab)eh%|$7;7zN
z@`U3E!r?HgB)~EZ)Qtf3qkwZ95NCn;w@~(!qkNJ#FNsN&85pr1gvYQ4_iNP{um~8k
z3g|y4V35x%V;)2z5lmmz;Lc%Quu<<mb0MP9C}tbW(Okd_HtOv?BOo4+<9X9@T+8DH
ze|ra>ZcpO%<PHUze|ry@1tby)<pSqkUO*n?LtgF%0scWXJ}vA=crgz@-k0P1J1w7c
zmHp+mVd&cC;j-KC;`#~LvUve{%(%3Qmqn9>Cc|z#xSfMJDIY(-RUsNNA~2P!?DcmS
z(DMZ-ZJvvr)Yg2sS-i>1$b)>yYgF8}hOZ?ZeqSaW-6ASl9-_K$6$Q3V)IJWP{WEYt
zd>P2UwPa=FK|bX5FAS4k(fScM{|2aj^@qk)Am_%S%*ca$+!a}nYWBfbcL-1HC75!S
z;n|f^7#l<sUFt>Qg)V+U7fObL&@Tfj`?S2%F=JxfqvO<8Ca(vT&K*<xfee#R&NPpi
ycnPDog`?u^N=2HkyMOcP-sLpCWa1@^3Vs2k3R7iAbQ#A00000<MNUMnLSTY}(;Acj

diff --git a/interface/web/themes/default-304/icons/x16/pictures_exclamation.png b/interface/web/themes/default-304/icons/x16/pictures_exclamation.png
deleted file mode 100644
index 1a06f01198945fc972aea7f3df24a5c7b62b9c40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 659
zcmV;E0&M+>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00077Nkl<ZILoDy
zUr3Wt7{=ePE-IQ`q*+u_*&kBO{!9!DZAu_WbfY67D#b8KFD#oC+C{X&7)A~YwdvMM
ztrT_P%FLu8O`}g?=}Koxwje%QIwKjh!P7b4g}4wjy7+O<;XFL&{lOss^gobY9YoO`
z6^V<5=czf3s3LI|ajZHQL$^;X2+#4n{Bq?XqVfYWV$+#8jE|2m2+#4nT)@U5eG*Yw
zJc(@u32?jJ$S?p|4}hF{Ah!W1YzDL)K-Vzjd!FO@Aa7POV@L}@efDmYr*A>k@faAh
zl(?U*MBOPROl&{&xEzus!FnzU*Y>f3fAy|Cxffoq7abRpaV3@&EY^E?KnGjRYCJ04
z44==37n&3lN3nvr-j3GrAl_Tn$~aorz-d2*$uD=&RT&Qd?_cr+h1*yG_uxL<OP8;N
z%@l))*E`_uiNe&UWK52#;OdURg!4QCGfn7kQ^A}cikBA;<Makrz&)N9sbsILq%dgG
zH^F>$D>@C)nEsxDDJcV@B@{m;J=AJ7Bv%P)i<fwgDyY9CeyN_g2lwG#4ce8nG~Q6a
z*0>5iPZW4(jm7lWQuc2N--h$>#u7Q8EfO->c{y<p?h^<E=E08-eR*)Z3h;3-71nkQ
z1|2Fm-X8RHJrt@s&4NJOgZt=G!(hnVj>eolXgRwd?S+YWdTAHBjS=`fl7ca(Ql5aX
zW6n6(nnQY@)d>m2JSvW?AaOo!<q00gt4O~z8qM5yV&=zXdF71sZj>z5f`OINGR8W_
t`oFn%ooX23T#RMZXSzvtj#)>Qe*njWUk4&0k17BF002ovPDHLkV1j@FC{X|a

diff --git a/interface/web/themes/default-304/icons/x16/pictures_minus.png b/interface/web/themes/default-304/icons/x16/pictures_minus.png
deleted file mode 100644
index 6f1e1ce0f021ef1821320efdbeb575fbad2128f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 563
zcmV-30?hr1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005{Nkl<ZI8UXJ
zT}abW7{*_aG$}`r<kTR-vKeBvzbLkxGlD>bE>sAkH8B(_V&d0@1d1aH8?=?6wA9i$
z!qFFo_CX{;SO1%d7eO|NU5%jT#oW!{@qG_C8xc-A@Pil5bDnd4hXBz3KwnzY=pMC^
zo+*;2U;~k-HiiCuyaOxuFK>(FB(H9MSV!bOt<dK>D-jNdw?%T2R|WhW@>+@RRFVGj
zMhzm72%3F>V;X4p10Az~GYGgAfe&Ay_9Z9zG;c16`x^4#Z#w~Z(_xHVD#xTl!;>}*
z6IV1$@x1cPjc7EAH(gc?o4H`8-jD645R1jI*i(;N6<n}WZ*QxHL?VH=y=T!^#sz<R
zhh7{=WBFBqLgr2HNxOz*GO1qRJi-OyAwJ?Ya$UpHR5^ZpDn;aT8Gf(U<JUJE&!&|3
zT}v(=TsVmL{pWDCm<z;Xq1&ds9M*jFHXXv#p%T3F9mm?wX2hZ`2+f;P-aW@C-k3|e
zFi@4{CGij+@tSq*NfEfc7fS&HKF$~rv}9w!Y{r~14-+}GK1~#wVf;joNIaxjy#7T{
z<Bzl3|6+_-K|I7~<a|DS7mp&)eiF~GRb$>+i`O?T>gPSC{c!Ee#yz6}1G^|b$Oi=%
z(KxY(XVWPY#JiP<`WY@!D~B;MMHx`Y>^?(V1sl!NGk6VAq!a)E002ovPDHLkV1mc|
B{9XV6

diff --git a/interface/web/themes/default-304/icons/x16/pictures_pencil.png b/interface/web/themes/default-304/icons/x16/pictures_pencil.png
deleted file mode 100644
index 86ef9e02b9185e1c7aba743b7122ddba29597f15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 623
zcmV-#0+9WQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006uNkl<ZILoDw
zZAepL7>1vtL@P^5hxP$Qv}Bf;c4E?pYm+D%`w@OXWZA@FV1Y|hixDVU6tZYTp}{OG
zbwuJcKe7)pE&O%<C=$7HP=moJYL&4+gS+=V>S!=9>46L0bI$$T=Uj&X(EmUaB{9^t
z=}7ulc%FI;ME3kB(yX%*)3;AA3D5Do{N~m}M7I4h(&Mvx;q&>Hgy(o(E?}QS4lU6Q
z4M~0H_rdS?qu2$Q9s(6zKxH>z=>eKYfS2zfKj%4~kMU+Dzg>p4=qle0ThTV$Db2z?
zlZgA}BJQ3M(ZSBsk8B7AgBZG?#nnBmV7cDyWw{82LKwNI$CYeWuv~A)NfDv(aZF{T
z;no&mCdPZxlNQ5Nf4U4mFM79~%EPGB2{bmMQz85!?!kSySIapOV;x!e^g09nH<|eU
zQIBsQbnL92_qJxETCYMl97a>YF4U)xm$=8%TAl1=(kf9`v=tAUw&S^LCw_b>MkrW<
z$w4(f&ko~>O^I;eGBoL_0e#YncUDcJgX%L$dRA8;w{|xtMR8wWgE4n9UUep;&%PRO
z2ad_hwkl!n$brP;M6{8iAd8A5{zoH`NL;=KMlmsDkeA!7>v8EIc}sH=C_3iNB)w=j
zjFzKHxK8YVyCMg@Re2b+<ik^)i{6{-<mJ{H1w0KRc%DIq)P(}(VK=TKDIPUCA%M9V
zTr&$l%hcrM_qcbVDuEW^vy!oau_+EP8-;;FonTzJp7;K1{s2k}GqgiuB;5c2002ov
JPDHLkV1gjkA!q;q

diff --git a/interface/web/themes/default-304/icons/x16/pictures_plus.png b/interface/web/themes/default-304/icons/x16/pictures_plus.png
deleted file mode 100644
index 636f3e5394187d94b6e8f1a5aba56a1897622345..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 592
zcmV-W0<ZmvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006PNkl<ZILoDx
zT}YE*7=|B+l*$b!lIi*(a-lUW{lduDp9Ph4ln$iGCd&GkiLDMQC>$Z#KxanNrS_wv
z5=}9(A0i1n`Un;t1l2-!5JRwaFm^Jyd!HAQM#Pj}xZr{3=6>Jn`v?I24>WC0p{3hO
z>Qdo64ObC$nif&N`kk2RIGz^HabDhh+d|~6kf={j?m{>mP7CKaFAKzT$Y&;MD<}2Y
zxjl$PBB%)fj)y?QAmAJVT*H885_t0oa?d%=r+AB!c%Vvy!TKHWR&U1LV@C8l6x^>@
z(04+?fS6|<dl8LB@x0lL)-qABT<?2zrHI91n7m-a)e=##TyNh|1&KrgFWr^6SS$+u
z^bU=#P2uBMo`mP$-u-n7lF6iefvZpyum}6FSNmB7Qv*iKzT1k(`(pg~V#C5`tC)-A
z{-CcA`mP*Qc=GW2(tb4RMFD%fXt7E!hdCGS>P>iXeG6U%w&CY|4PsF{LK8)DZ|K>8
z#sxPtH+AvDt4O_EzQRZB!9MIY<XN*w@J1G<f?B+Nq{Sh>4rQYj81AfxeclP`(S;<v
zIlaUl?89FFLV03=?fa3xpzdsy*n@rA59A_HYe2AJCq~Zf#)Qj+@ut1<%kR6Q$Hr?q
z7~1k-oHK!LX;q0=>nGvS$v#U#)3iEX@NGM&HB0<H4T%!slPOpyC`ilcj6OQG@&ldE
e@KbZ9EcgXi+dBfeK$2wu0000<MNUMnLSTZAq8f|<

diff --git a/interface/web/themes/default-304/icons/x16/pill.png b/interface/web/themes/default-304/icons/x16/pill.png
deleted file mode 100644
index 442e4ed1bd066238eee252196d7d5ad97641392d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 495
zcmV<L0TBL)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005DNkl<ZILoDz
zKS%;m9DskX2qTD+k|>8R=x7SJAgq>~8XBSk2ZJjiSGh&pYH;lwii1Fe&<KiX34&T2
zf>Kbq=nq$eQh`WhgoBj$`gPrj)?Eet;N!vLeIE}V4=APZAJiEo1a^@JjaV$!Kr|X<
zB9X|fBuO4o6la6MAS(#MXW$NnyE@q*;6Qn)SS%`~QmLHHW|dGV6!7_c>|X+^T&-3q
z$~2$PQ$<l|B9TzMUhm9r0Yf>RPE%Qy%Wk*Z^Hac7&SWw)nM^7i$C=(>3fVD|Kgi{B
z6y+tBWf`M@D${V7z6pY<%rK0@ZnrnS!ad5!t}Z|EJiVQqG?i<CEXp}ThH>5dDyK$9
z=!Mg1DAxiv7(m2wAn^F+_kWWME*Fgxa#%0hY&Ni1ET4gM49Ix(*X8Akk$gbN(LTUj
zy{L~GIK#jxA!`Mmf70d4i3wHS0*G${xK{9Rz1R>~z`!aY+_BXfPmPa1UvXUJn&VzJ
zuq^<%hroRF&(wkp%mXa018hqGCn12HF@R~@A4K|*KBODzK-x5?Ne?t5R_)LSy+{vY
lL%NVoq+JtRHMv<2yaSqdyw}C`*sA~l002ovPDHLkV1i^o*IEDo

diff --git a/interface/web/themes/default-304/icons/x16/pill_arrow.png b/interface/web/themes/default-304/icons/x16/pill_arrow.png
deleted file mode 100644
index a5990fa7290e0f5ff030acbd400b12360e62884c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZI8UXM
zUuaTM7{I?<Y!59VSy9V}jIxK3`P4SsX2h+BJw%gPDBhOaWJ35Lmq3L6j6kZF6k3Rx
zNT4Iy>TRrtUStGKor+_tZduwI$%q-@gS6q-cQ12MY6Knlarh4B_v5@AKt%W-q@`sT
zm?Bm-i9{m55e|oyp-{-+^Z7<R9*@E8cB^=v2fN)4uuOtTRjw1zkUUx}7KKu&RL<pc
zg4gSHIUEkvzXT+?QmG)xSSS=w5Cn|HVuH<P8?aife+|@?Q>heYGMO^RaU&*^sbQd@
zoKB}P9*+ww%MNI@+PZ<W#AH2LB%jYC$)hTjN=eiNBpHK2T<7_QvQnwkC=?11*$R9n
znV71|YZeQ>@9V3P+fNxZYVIbq8?S>(?*zz^oM#v{?a%&{lN}wn*xkJ)pSUqSb23;+
z=pKIIy2d}kv0E8{cN8EzWtZ#gy3<)BuNsXQWtitjdd_J`O88e0#l7?12TlqsP#{B3
z|1mbUQBNK^?_Tb@Hk+l(iIz)G66U8_^nOAVXSF-c!5jr%G0ga?#j;kFmvlNwo&boR
z4lb2$=MaY%5HF;Dapf)IA=hjIhA42CVb~XPc{JJE`|UN$ZoFaH?+*axcmS?df5*S?
z@^nH(d_m`<Eb5bp;@oDR;l#hxL>#;bFnk~2u@B&-7htjnKu_m~i37xbVz<m3P92RR
z%D9R7mNQoecOExOpK&`O-@GK!M(ic_5Us>6LPqRp)&~Mj{ek)Be*YlN+eG;%{;BZS
TGMYR200000NkvXXu0mjfE@>fP

diff --git a/interface/web/themes/default-304/icons/x16/pill_exclamation.png b/interface/web/themes/default-304/icons/x16/pill_exclamation.png
deleted file mode 100644
index 07a2af521906fd92f55cdc959993c9cdfec7bc38..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 675
zcmV;U0$lxxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007NNkl<ZI8UY1
zPe_w-9LMqR&kDSB@E}p^u#iCn;lU8b(xQh5DG#BR1BI31I_w~WkU`Ko3>Sgh!I+72
zA`_*Vm6U-PwbK2qO}FOsQE|gXQ>L4-fu#8D`z#I289@)c_#GbJpXWI|4<I7^kL)F7
z3<k;99esU$dswYjvBhGkHknKf27{qmr_)K)YBi`-Du5*l1iNvLfntiAlF1~WPNz2_
zkqB=z8a2($&60l^$i~~-+ek6S<8kD99z7lpuT(0l8XFt`I*>E=`~4UQ1UBmG>Kf#7
z`GErm#*>qi==FMej^nDNQfbbCN@B|u3!>2|QrskwNW^5{KsH9R88_AHJ+W{60R}%@
zMV&_6BNmH`MIsRheh<VbCWE{2nnHo|6&1gp>~rIni5s{U?_7V|pFiv!X88mJ5TQ8A
z*jYM<{)~O4r5KXQaCXX!e*3k>t&9!ly_Y?%7p&6xoPhx5Xn+_tG@8U_OUu4^MSc^<
zTk@7xm-LyMni@>Sv?<54JoC7X9VP%l8VJy<|Ili;_QkceI9kF!`)$RG>#=*ncZ=U<
z?%=04Mb7sFjC<El18y2{G1k7KP^|67)8*yanC{z0?lVVZx;_yOUcuL|?qYE2B2Kww
zi7_kd811F_7HMOQ8!ITV`^w5vVUF9H;kfUev~9h>+CB~yIwP}}a3NHZeFNcK2%SUw
z;8EvDH<Jqg(h+j19^m$4fB_T0gb~1Y9^iUcD|;Gt6eX7D&fqeC8Z)b!>?xRao?L$U
zgmno6he!cAvEw*7MheZX&_O)J-K__gz@i7I<smqFNbe(P{|PXB531{Fm<Rv>002ov
JPDHLkV1k2tJ{AA~

diff --git a/interface/web/themes/default-304/icons/x16/pill_minus.png b/interface/web/themes/default-304/icons/x16/pill_minus.png
deleted file mode 100644
index 8d31ac27711e4b5ecc2956789d8c0871a50a85dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 548
zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005&Nkl<ZI8UXL
zF-Tic6o$`Lic-)v*icM{zCzz9*@R%Vh3AsNL3BtUl~jXSGK9BCwhRs3nhch-1qn!^
zqT*I4)Fp#ZlVU<dEw3FCY#~T7MFIwu-2V5OCm3H!!2=%`F8}x6GhE`F({0el$r!DJ
zUro~K^fgkcl$1;+CliUpOe_|gj7Fofs;U$W28j+K2n^YzzyW!-TCHleTCH9xm9%&~
z9u9><^8Xa*a--4Uka?w2;hLuLY&NR}0)Yv?-~Z17Q#qf{^J1}B_j<iE9*?JOL0h>{
zDDYe^rzwgu;dDAp3&y~jnJg%m%N+8oEXxwOQJ~9wVS%5kYFk;7B!}H@C&5+0Psm{1
zkdJ*n{=?;JD?hVZX}Y(Us06vp*Z|IrR(WS|knar*U6Y0Qx~q#;@qd=ZC;E;85UYp7
zzt899ZpcS&H_tHkY1C$O7@~n*u#18sRzHhGF3jYQjD1G9fbiE=mWbZdHVVElHh<*v
z9UJog$cQc@kXa;hzeD(RYKpfa?&&28-Y}+YS}d8J;o(0AigNKyQBFP(ZL36H7q*<n
zOA&-yc_lW$+yReYAorGNB|)?mCt7<-G>-cx;1RHa2jCvK+jKgf3mel3EX|OhA3OwB
m&<E~=9=a5}=~5O>2cW;#*Sl;6Naid60000<MNUMnLSTX$llAxj

diff --git a/interface/web/themes/default-304/icons/x16/pill_pencil.png b/interface/web/themes/default-304/icons/x16/pill_pencil.png
deleted file mode 100644
index 90d40a8a4e1b51172698a483b209749a7f55a22c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZILmdC
zUr1A76u{3(#1VvPjnWZKar7YRn<%DPHzXH6gd6y<Vkx+nD7geOLRk+JdT}$7wMfQv
zMqua)7LgH+NJ_!Uq_SJcM*l=gBL*8OJDuI_4wv)5j}Jc1@5lG>!7O6S3gYx=b#;T$
zXoQ(@l=1sIU}9oI#^>{a*Xsqh+YQ6R!!S5F2%;zg5dl0x43f=8SL^Hh4F*HiE&;8_
z<1x5gu5O3JVX)inx@^D$(ArvFJ`|6~Nw3#mel~_D{|nTz+_SN<A;n^`L?jZCoKB~;
zx3^a(2krqtX=!OqWo2c5{JWL>E)1k1nSd-OlSyKkR##U^k|dg&o0BXSOGh?PTwDz8
zr&Xs$2JnRv@sI1f^2wo4h{EA;!elaa=LF8RsNkjuXOzg4`|#4QAHf~+;^HFB&(BMO
zAf#XL5)rH_72K&PgeMIMfo2@=_2616^6K$fT3MdW$|<7JD6!n5)9JKw;0p&*d`r{L
zOh#{Aqv`8Mh+-cp;JdOz)@rr28jS{W0$*8X9@6M2ZHgj=F6znAUd9`cSI!0^EJqQK
z^Esu+>t-{3Zfm23x;lE-*qB$&20n3saU`tPpPPMsJLI*_P6{GE-7c%uYA7lyN(YuW
z5ay@<wb{1v$pOR}KY($&sEizV%YiqDx7W<(bwz&P+$_uY0fJ)yoi})SyO<NW#DO71
z;dx0(aG|N`_Xk1PS{8&qceyPBn2y2jBL{d2nTiVlT_XSwTmY|~0Fx&G&hvd0bCfA(
z4yOJbvp3`HQ33@_NoFZU8FPqHGY6Rc%)X4M%E$#u;2+(St)~K*2G;-p002ovPDHLk
FV1iyLGgbfq

diff --git a/interface/web/themes/default-304/icons/x16/pill_plus.png b/interface/web/themes/default-304/icons/x16/pill_plus.png
deleted file mode 100644
index b206fb51acd2b814fe53a25f433669bcee6b1d96..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILoDz
zUuaTM9LK+>+Jc%gm!nc>29q8td<X`z9E=;m9(t%PP%yA58ew1;V)(WK>7~+#hPV<b
zG!`4ZMM1sz5HxjDjQ(&7(zcPT&<G!-4Nt#&o1>;i(18!<+{5{NxZKMD=N$ioGR%x&
zj#$|skx2YOJRUd1VzIGsIP44tgJXd}z$l6$yk0M`M8eW<a*Ke8WOt=fk*d{dtxzaP
zp-{;0^ZAVb5>VuNz0OJIrBaDYlEhP~l;rVvMqMt~Ujr@WY&OgD`Fzc8w>xb%TiZZe
zIhV`vbUG~wf-q_}n_C7>5wopinPRcXNp>5JMg!3lP-GsB@-<OxD;o?3lU}cf%w}Mj
zWMZx%mmLoNVPvF9)}81xsh#_v9w+R3fda`z#*WhbXsf(9Fu-3A4sOb->-r~n*qb3D
zn9%~!9^gF%h+xg{|GG9Y(Il^0tvt!tQ{C_Z6XM#8t9*saGw$vA6?jE~JiYpl$;tIr
z@?*xH9lNZ`(cz5D*)MM1SmSO_1oISl$=K~xhojt(-wX{Y@&h1wAFyJoJ2U+G4Bv{p
zkMk6`#hCD1qe(7WEZ^P=!umTw_&yEHi-7%5{|?~d?g(zEGcrd$S$JcOo9c*smpX`p
z=Ya7kU?vQ_2m!Olfz!0#PxKKwLW`?iS>4CO9M`%Q=y@AX?o=-0c0#jpNM=7l{|CJU
seJOMkDq<JBop*4dV*!^sr<DMWpM!<Wuyz1=zW@LL07*qoM6N<$f)SY;2LJ#7

diff --git a/interface/web/themes/default-304/icons/x16/pill_small.png b/interface/web/themes/default-304/icons/x16/pill_small.png
deleted file mode 100644
index 0b355ce4af668a5e8b63ea2383077011adcaa856..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 314
zcmV-A0mc4_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00032Nkl<ZILl-B
z|NlP&C75Aw8Ss>m5sX)@S_Q@{R;&<Sv}lpv^y$;ny1TpmN=iz2i8f&6%9ScW&1pdK
z|382J{D17&vF$lIIetVLfUNn)k01XZK79E9#*G{QqobqKh%vwhh*u+PzHs5f|7Xvh
z{WmZ$Am{>lAYSu-!Gixka&zIDpFe*N(wxS{#U+H-fcuP$E&u1vg=qHo|9`>U9Ily_
zl~sj-fdPLkTw-M0^sBWMuK8JT@c%uGjJsf(2^w&Sk+J)lqvO5n9v=Un1qJ<I!oYBN
z0Rw|80}{Y%zzPNi$+-*+(`GU-oSMeKFncNkgX$axR4~Ys@_-ls0F{iO;yMAEApigX
M07*qoM6N<$f_-6;AOHXW

diff --git a/interface/web/themes/default-304/icons/x16/pin.png b/interface/web/themes/default-304/icons/x16/pin.png
deleted file mode 100644
index d8762f47110db5da9ce7ce1e6ef93dc7fc5413a0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 580
zcmV-K0=xZ*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006DNkl<ZILoDx
zUr19?9LImZdzTe8tjMAsdI*sS415s;BibGsa%CW!;Aq%W5uyYNKI}yw1NR^@%bbx>
z%^_t^vRF|MqKJc%h@lfTH7FKFAV{_N^*wR!oGqd7z=wO!pYP}V&N(C^v>WIHa}jIB
zW3^y(h57s}`p-a=i2A{ff|c!KqcSog8Rn;Nm@oX3V7Z{b%KTWuVafIN$rN)U!R-1U
zLG2>**tf1OdGGbgg3l*$qKP|1m;MxVt5U%O>=<5R4%%mzXjDE2gYwSpmQ~A=FO7|Y
za4Mn%FSkfZJTB7HllvYDt!L}%-e#Q6aXY*g2*^XCNt8aV!=B%Q7h8CeN-{hwx%PJ1
zXls+Not^pc0MU#J;Y*PM@`C3efd%7`{OIkKk4;T7@A1eS&i$mMWa^d<7YUjRxC{bB
zSH>Xu)Y>YqtE*+Urbb?smoE(wwG3i@P~W}^-%tX^1=^rF!L?*Esct$oS6?p+E|+B7
z?hRD%s9%Q_6{K5%zy$tuI=yL{X2@q4*Y87;#j|A_8h&EO3A^lk*cKRup|}`}#bz81
z$5n6`0=kEDqx96e-!BpUY}>+i!;Y1fW!**4g2=ST&wvg{ZX=BI4*WHYb_&6p2zv2f
z1<rx9db87N9-IJW;1D<n_JKXXP=Zpu;H3T@2gkrsa753m%RK=0gS|SeD&=2%J0eAB
SUUW?W0000<MNUMnLSTXnxeZ_d

diff --git a/interface/web/themes/default-304/icons/x16/pin_arrow.png b/interface/web/themes/default-304/icons/x16/pin_arrow.png
deleted file mode 100644
index 02034d6cd1a03a0993d605175ed6370d399f4fe6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILoDw
zT}YEr7{{Nptz9G|`u>70N<t!qZZyHNoZzs@8cfN#Wq6TTD3yW5DC{CiP)JN`I<<wV
zOH6N)$%=|1319q3VyyX<A7mLtU_>VTdyY(JN>Fs*$9d0t&i{9w^AG^~A81mD6-=!B
zm%y})32~sG*PV=uh^m-B3dVl_*MjC|1chkt6C&}i1fxsV<3hBetPFD%73dPe>lGsD
zUjzxmLbUxTF2*~P34<03JVY<5iBgseuE<iE2EMUuL<sxB+u?HIliiLtdOgOCMtsT0
z0Ed-IDR>e_fyV=smd?#O9G|CCQwM@NUB^Or!fM4mqL*Cyt5Dc5FL)fr;FA)!8*_z)
zm?<d0*P^1uu#>1;hIppRB`gXaF<w5<!IGcl<(SIM#9M;_0e<%bt+wkH@1+;D(V_Z}
zlvq1Oxkt`WPI4YmHifY<R-zMaEcuY1kKWi=^vB2JX=LO`Ez#+NuJ=w3D?How-yETs
zYp;m}H*f(SIwsfW^T|#tfwVLXCM6-L*UxYTjT};(lYpG#Du!*#1!^YU@ArRKtJMyR
zN|kq)B^S=s!*Zz;iD%nqBC_u*S*=63F$Qp0iN4xrn-8m0D#_udrlxL<Mst!`%L2N?
z?@p=ipS?Z`<O~2Ay<yG=fL#}#E3$0j8>5XzV;u*LEK*ZwL^0b_FE>XYtNIpYubY+?
z#JPuH?g6%(dZ?^7m&mr!4i1)Z(8S;Sm>6acvzyr|_nEECMqO4z@7`yC&eqtoI@uxn
zu9AW^p#$4O^JZofvw>L`+Lz6Z(3)#%RvoSB(VA`_mxVLp7k46WhuH<cUH||907*qo
IM6N<$f}o8$w*UYD

diff --git a/interface/web/themes/default-304/icons/x16/pin_exclamation.png b/interface/web/themes/default-304/icons/x16/pin_exclamation.png
deleted file mode 100644
index e342d01f39e1dba01d162e1e7420dc848ecdb425..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 691
zcmV;k0!;mhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007dNkl<ZILoDy
zUr5tY6vxlmX7n;5ilUHu5F!MFC<I9>wQ$PB7bhu+K2-+#A|YW93nG>DL9AHemQG`?
zC9|?+&CqJ>=W=3W$ges7rK>buDJW45PUqUpOoE~dAI|UI-|zdm=U#q5MDRbrTf}vQ
z)~_Wqwn@YkAI~2%jR0_+`J-TR?V63++9-(F@e1+CUkN6DnNK0MQ(YZJ8X8DK?CL^H
z`xim-7^3})UQcgwa%dzsm#hG;n*bTV3oeRQnO5GhZXB_2<?PhhNOOgSG?boBQ(7&3
z%F81Td#?#W&njNBT8V0FBVQ{kKh9=l`Gab;V<j9aD4^Q_Zf@NZ4QrMKPgl`6g`~Ne
zBIV_@SXM?06%{|j_DmdeH{lEK11xSyKoH?If^MdZB@UK+tFNc&{CpbLXehwvwyQUI
zTsLB#FNTfN1D!F={r7Pr0|F?5RZcPm0L6Be%#@bWU}7Tql9H(J#O|={$aoi7ve8KY
z@t1uam@U~61b}>jEAUV=r=3oxxM^=7JDY;XQfcsVY$QB-DWcQqXg;K$ceg8yE*q+t
zH3B80lV$m{QmL%WRVYf#EEzw0m;%-mS_oa>{}$-|>oeqi6esnzVS0}xDo`jCf>eve
z(yvmfPBEKV08J{$yjOy=lLJL0`!nca=Q;BGj*`!FXs){z4NuHJ+6LY+L95l8IH+Zj
z5~9Ol!ld4oE%HPljYfwKEO#L4=+HrWc2_Nl_u{)<9IWAB4nOZ__A&9y9%D7$k)^n~
znP5E44DY3-@cHE`2uQIXIt*wOf=$d0W@of+XSOk0O;unpR)I%gs)oKO(k(#^xXoAK
Z>UW!}lf+<+%9a2C002ovPDHLkV1nLjIS&8;

diff --git a/interface/web/themes/default-304/icons/x16/pin_minus.png b/interface/web/themes/default-304/icons/x16/pin_minus.png
deleted file mode 100644
index 19a7dc00786edda7304591f9fdf2365d160a055d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 589
zcmV-T0<!&yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006MNkl<ZILoEc
zT}V@57zgm@IcHf>qZWNo7l9!WK|wcyU_{$RLyqib365sbMG>Jl243uDbr-n{5&K*p
zMmm?2UCClaL6L+9N+O0$veZCX6v05M!PEb#Gd;C}q60t9$9w+&^S<vP5uyJ<@0csh
zR6eVR!71k5W4ONyNg_H6e=L~#`PrZh3`m~&&U5BHe^v0tbwAB~OA-kwb$81Mb0)*=
z|CfUL*UUqo<8gT#3duw`ENP<07m4=$T5wXQ3ODe@#3XaHymm<@<$W|NF9QLYwk-MB
z)FcSoJzDT!kuB-8NM~p1ODy)G(9rNA@AVFs!!wbH^btM5)So)x;P-<2i-K7#>Ft$L
zd%G0d+T>G5$3pl5(Wr)SrXH7tf_sp`3&SY++SMhq&CT*E7?g3W`*u~;$T=rmF1Q3&
zwcw!30f-PC8bZljYpXn~t(CF5I(b-AGkKZlxQ0@2)1lYI*uXLzUO1Y~W_73S@y14(
z@cShn2oy1c{ytaucLgTw&*gISrfJ5)hH>mVN(%UGkE*M61B(dQZvDC<4I74`_NG#)
zQIE%S1bir<Ygjj?Zl`@dnQv*Sa2{hi3Bnh5SeA7KK?_ADImb3Qfs!*sg;Nkm!0qsl
zJ*CYEo<=Z)>s_!Dw!>D~qT{d;*1>963Cmy!7+SE(d0~@t-T>=iEv#|Ib#qt1a#-qw
bb*B6c^Ts>|xhF$h00000NkvXXu0mjf7k?3%

diff --git a/interface/web/themes/default-304/icons/x16/pin_pencil.png b/interface/web/themes/default-304/icons/x16/pin_pencil.png
deleted file mode 100644
index d54642081131d0ac086933c8bec185d5ac7638c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 672
zcmV;R0$=@!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007KNkl<ZILoDx
zVMtR^6vxlmmKilxBZ@}!VT?XB66%9Eu*}VDtPP=-pd|L86e$go5E+(1eUMxvW>RS7
zFx-%w1&OuFic(6UBtn+bN=*vG2!v4?r~d=rvPMvJ;m3RLy!-#%d+sF>q5py2F()yZ
zT+0NV<IG!z@qG)l5Yc(?N5S~7wN42JWt6%5Idj%u3EnLDo?yNve!t8$Hp&2VZ!fd`
zUj&)2nZsXdYvpZTo{V|D5+ZtZk!Z*7f)mPCK|5CT$C!)M-le5QJ{A?pONT=y+-~`l
zpDzdxH7SC=pA1PTBvM~L_toc{nRdBejOz70YIw4+P_7d7W9v_paFE#<#=>-$5;!A@
zq^(WnDl28SqC!4bRVBg~hz7Buv&w3vR;$&fwAIhNEg`rAdNH8~l5Y(S^1h%zUOAl-
zMc-X1DFe;;cf-fz^?EIbGcsxfXL6nS0Tm;tvKJH*?F&Qlp}bt4rKiiV%_jFPmRKv%
z!P^1Oa=BcG;_<lTnoMUd6Xg=44;2hOD2+rS%1IAJJsuge+hx?@m<?>^zV2qe8K0^a
zv)No@G#b;Ct6V71f;}T6BXO-(>+@<fWdTU0ac!{!Tfc`Yc}5909pif*duq19V4$O_
zK%>zpWOsCQ4C-{c60iaSx`MvjtsH%L(j;oQ?g-^LGj)VHlo(iXqucGigrXZFty&Kq
zCreiyKUKo#%6O_YpK{D=DQT=junxgIyl(<&U;|ixYCoNp*{GbY=Eu8oXg6xh!7`8v
z76FYSFn~3{H2+);R)Lj3N<17c-pSkXz7#A0i|512PWcBC5>Y#oEm-aV0000<MNUMn
GLSTZsNG>P<

diff --git a/interface/web/themes/default-304/icons/x16/pin_plus.png b/interface/web/themes/default-304/icons/x16/pin_plus.png
deleted file mode 100644
index db50e1cef1e68547b2cdebf178ec59b288226350..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 646
zcmV;10(t$3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006_Nkl<ZILoDx
zT}YEr7{{Np&4KCCrt8BCFG3{BqHctN5^fg_oeW}1j)q-?ed>*c7rSUiH^O!yvSK!)
zg|#gyyOPC<x`-rv(IjHnq}4Pk7Dh0LYVh<wV{_IBiVpmE-gD0T|Gm#SFEKOy5A;rm
z5>`vsTEJ9Fh}K2S?}GplT?T&?q<&qS;&7M~Lfm^U#KFH3yxA~c5#kPey__8z<5?l1
zQ6WtKB4~Ln#Pm0}o8Q`Oyll5~gy_jQ(V^c3!?IN{i7$GSLO2U&=RklzIi38{Y~~fK
zl|OfPGs22b3LX_vI1*v@c(UJJuC;V~`-_B5H&Y0&IvjkH=qXx%mJeHUf`>&cF)0ZK
zIXgJWnSlZRGBmUv_7ly?5GwgLur7E2qIh8jk{_d^{Gq3ZUs)`?gmd53YG<!tukk`P
z(QN}!#6TVPP1Ip4C+ejlM}dRr*fb;``}=vJxtSM@Mt<DTkenbogP<QMxf-q|n$Qyo
zTwnnV9XJt-#pF#ZOP!s(Y%+1eY|fyATQpg#9A7)nvQn_7M4$#;@p$~JTCH~3RjN}r
zAW7r5^}3sQ`=zQ30!ml9k7dmf(ED>?l}aUP3xz^+8jYq8Y=MBT<J@Rn**{XxZSN14
zK)z~4woUlrUaQr54M8hJYRZpY;2b2zBjxEDmo817%}P_Mm1WIwx<dXGsz-1HK^vYA
zfPG*$XaqauKG*>aG+en*m)yg2v2q^sGN6)zs{9Le`MM2k1-NF?=lA91R?u1PRXSNV
gPyO0)**FkC0n!ajs9ic+%m4rY07*qoM6N<$f;mzmM*si-

diff --git a/interface/web/themes/default-304/icons/x16/pipette.png b/interface/web/themes/default-304/icons/x16/pipette.png
deleted file mode 100644
index 4e52abe78c4a068fdfc13fe23f6ae7235a5be83f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 502
zcmV<S0SW$zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005KNkl<ZILoDw
zJxBs!7=Yg|O_LNgD(#dYFB(GIi%1JhHy07XD+;k13R-MPaCcA+qF<t+f2fEGiW-t2
z2*M#+TKb_t2!f)mA^3Xlx{FJ+f?jy|IKF$HdpV$#!haB_jS$#G@<n(+?j&vr>9`_f
zCr8MBmXNL^K`td024wl2=jn4iPIm!LwuC_b4*{io9|+K!P>3!9oGttkXh$~g2^lIT
z&j9$Qgg~|g#{fCHzD}<R*)AoEfhDh3WX0!$Rlom><?e3o03+`c6D4IakV>UQ(&;qt
zJTH>TWEzvn<iObSWdeUx?m8Hxa{%Yl0OLxzXh4>qUf-_PP9OG!$Pz|gaDz!a5m53i
zP$(Z>JkGmZu7O^YiJSYB{YrUM89>-XA`w%{PNy?wx7!;d1_R6%h)p0(I2;C!;~*N1
z_9<nSW&11^3(GJJ$boO7JZ`reJRXlD(myyX%T}wEGn>s0qtOUjtrmV9olXZfo2^Iq
zdaK(zqSxztP-;-C)$rG;M<JxqXrd~WsuQ1EkY;IHhj5S7AvK5z(IXW|IZ`GBjM58?
sbXt&Fq#CJ`?hQz#urQ*PWEDa_0FV7G6C9@UKmY&$07*qoM6N<$f^Kck8~^|S

diff --git a/interface/web/themes/default-304/icons/x16/pipette_arrow.png b/interface/web/themes/default-304/icons/x16/pipette_arrow.png
deleted file mode 100644
index 615188b42475b6263a7ed904351fba3c17a70380..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 628
zcmV-)0*n2LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006zNkl<ZILoDx
zU1(BK9Kio4O|dD>zO;-W9X*8lx)n7orVbXEFhua~qr|PUAZm+B@GZ&*MX--KS5UJx
zR--Rk)I(zw1aWb)9!4;?6s$o|^wz`R-~U{+Y?~Bx;m6_JbAG>bxEBx+{s-yV%NRT$
zN~=&L7Rt;s);!DDW0A3mNyZMo<Z>->d7vUMB@+0xzaO6fOpWtE=^p~sa>4D!yw{6&
z0N&pEOJE;yzrfhB)#L#H*L5D4tidY)5l2UHj<JWeWGOK0a7f&BxnQKV^%ohZQ+Q61
zrDU?EECr&`s6;FlgG3@B5s$|kB9TbXxy($MK9o4u-j0I+?`{BG<Wk7p2fb~lA<%Ms
zWuPK|`Tk?}-kai69vP;{H@d+!8olQqf$ioZG+kW)>*bk01Iy(Xxy2!i#nRJRUoQ-D
z`RrJZWU+bZv#=sSn8M+3uv#{o%|T;RTZ8k^83;N;{8TYjLgZs(a$b-EKA#T+L4ZIY
z&|NK?Or~y~PG_=Q%B5(d$f@fZ6aC|POcW9MoYn-e*=%69+l~Gsy(cTOUauFlTCLIG
z48i_P;nS6mh)3TedZ&NW_W{v#;k5`Vl?n_7LkB;7kIivPtyXs^mCBuRxg3<+t+3G(
zP3ccO6FK|_jkojY$s+POtqJ^3?jXUdP$&X2nd|_~t;B9(7h&Y<#8zUn#-EusPa$fA
zk?gvba2LH>!vpKf8@8249kGSjL~JOpYlu39C!Jn<IGt6v2RdmkBiK*EuZ&YOA*6T!
O0000<MNUMnLSTZ(V<L6{

diff --git a/interface/web/themes/default-304/icons/x16/pipette_exclamation.png b/interface/web/themes/default-304/icons/x16/pipette_exclamation.png
deleted file mode 100644
index 63443d39e2eac1624db0b05abe2dea0694274b8a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 655
zcmV;A0&x9_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00073Nkl<ZILoEd
zQAkr!7zgn0YimoGgivl}1bL%Ewg~FQiZ&N>_7J|P4BEgLnh*785R27QI%Kj`Vh?T6
znkh}w)RZJ#qIfk|w3aPvGZn=wlkH&;G&r4e*<_icpbI}f&bj>m_j2z6LJ0g1;W~*3
zUDWax7OBrEbBJfch))8DgMLKqFbii3ZZ1fNlMV-2udgS40HfWkVEG>kGQ$hy<s@2F
zMLYn!`!5BjDc=HO-Bw{Ifc_3E@Mkds5FnkMB!bwJEi4o~(CGy2dObWWE8E~LEj13&
zl4NUZ*04}uv)Kf8yB!=3hoHH+`JmNmt-b1fYoQ-15UHpjz2|UltPS4<`mvgVv_A^c
z;cxLD;g0deepb>hh1at!99fUF{CqXA{r+?x?x2AAtzdKb*_$tSRVr2OEpu*D$fr#t
z6Fw4|*1eqU#q)d*0<%#-aTbfECNr#5Dr@v5`G+UEx4Gggwpe9lC5bKFjIs5&55*LK
z!C(NR(FkU<xjHk<aa^@rF6Ul!;@RNHF+RR@ot;~<@}Z6dhB%(>`#WfXTCE0+MpJm<
z;-$;!utK3Q=H=xT-o7Eh=U#Nqzc;OgLwfRbpq_++8WNm3wZ`^`J@mlj<m5m>L4k=q
zy;!ZgB9qBXQmOQSSS*G?Hx`dQ-p$X?YDskFxbOySMrTft(XL#c-DiJtKMhn#Boebo
zBr2inqf`-f$km9C!aTRO`l*Plemp`F->(UindSF=?RBDy73`$;P<vBTPUTa(+zsG#
pHNX_(ZiLAc{vKn42~QKW{Q?usur@5C!8HH?002ovPDHLkV1hFSF%JL$

diff --git a/interface/web/themes/default-304/icons/x16/pipette_minus.png b/interface/web/themes/default-304/icons/x16/pipette_minus.png
deleted file mode 100644
index 4e239e42474dc56dcc3e96faabc6f0bad435faa4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 540
zcmV+%0^|LOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005wNkl<ZILoEe
zPe_w-9LMqRudO`|H?~Q+)rR06=@47@BH9w>cJm@*(Brbkw1XY>&|uhchm8lMG7AO&
zqefIv)FBB3A)bSD@iL7G10hg6<w5xQ`8__1hldS=1~0~*{obEvJTT&%)Bn(4w;7`~
zs5h|(zYM#K-Q8yFy~fz5b;f$Winvv19caWSs>%;WNBIY$?{CFG{T~L*ajmb9@1)aw
zmS}VOoPj&AT4U^Svv`sy`9ch=xA2Wf<IBsu%GkSBu|6=DNaz-lNm@*${+jRYRX$_n
zWMZOatPhk*C0)5(CRJ5+l}e?%SS${W&HpUmL21?gem+I?<0a8kb3D^*pb`H*I^JH|
z*!w6(<}h-IU+^67K*9nnSqH4~m#zIb(P(ri>-8#AXL0Ja5wBPWKrR#td2<|zMDn3f
zsQZ~D(X1(4F%M)i8B!F5a=F}~IhJL4(C_!l58Q5ABzlFznw7Xtu~>}a@p$<D!{L!e
z90&vypU)TecszusE@*$US#Bk+lhf&>U@$l!?tUwlc;a%o1|&)9vfJ(Y|0E2LaHnw`
zwi4IHnN9?0hr^Mx*=+al`6k?e>qg%RSK$hH!3CG#B3uvy9^=3@<J}J(a2eW-@7>S_
ePLPb)2J93P?ojH5L7ue$0000<MNUMnLSTXz)&vRw

diff --git a/interface/web/themes/default-304/icons/x16/pipette_pencil.png b/interface/web/themes/default-304/icons/x16/pipette_pencil.png
deleted file mode 100644
index 066d012cd42f0df30b48ae9385e70fb4e583ecfd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 628
zcmV-)0*n2LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006zNkl<ZILl-B
z|NlP&B^V5>7#SJX0P#~S_z@7_hvIvTjCR)<88@C`WZbr&k<n=vNHZ>t=mx+v|Cuo1
z|GU!C|C<;X4z2|m@RSGxkTpN__y2!4EbRXx28QGF2pC`k#H$}NGG<`YJcEJ3eHzGs
z{W$PG28J{LSFHGdhmmnTHq9%5mTUlGhQ+R~V7%1bone`W2OKYPbBoyyH000Z$rzf~
ziHU)|b`oSjXJ;oE_xAQOOqehMjQjffRO;&L(#n=xss;wsnL8mN|7S5UoSM$SP*tX_
z%`jJ6+Y%Tq>yI%qI$#(8)BO75kL$~iJlYI0WHHc?_dpj+1=1lQAu9P67PbEy8vbu&
zWITvs0J`R#7hcTK)zwXl6A*|2y5P+6K*nY-FRz^M-@pHNlalJ2&%odYHvov0tE;P1
zku~e+=%mWX$f$Hjaxm;##Av@^I^)*w&no{bDJj(o2?^=V0mVW@L<B=jObkPEa&iK)
zW@TmN1aWb3<;jigD4M6%G4Atq;&9~W=VvGd8DMX3&*0$TpcI{$o&(b?At4bXC@84Z
zlER9ixwDAD#lwb$frW(yk`FjJIT@s-rDH+1TiUzk^6>D)va_=*f)uQ*XHY@boF2yD
zq9ntB0px%h!r0i@l9`#A9f5p3Al3q6wbm4d?*CtI{-03Ecr?g`As8qo0K_~%%mKu#
zK+FU(fFFn@fmjMkivzJ35Q_lu|1@95_3_?}u0S?7$iYC&4%N&I#EbxaacWZko*6a(
O0000<MNUMnLSTZf+a@Id

diff --git a/interface/web/themes/default-304/icons/x16/pipette_plus.png b/interface/web/themes/default-304/icons/x16/pipette_plus.png
deleted file mode 100644
index 058e6d91a157e02b7e48fc7cbed04ace4f9d2233..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 599
zcmV-d0;v6oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006WNkl<ZILoDz
zQD{<87{~u7onpGK+LksY$SZ?N_g+-Gz&VgG!im&fENnJnd$flPsosPXVXU%NP_r^B
zqJp9x8bJ`mWsP3;vKkXc!C=u_4};Tp?ljCz3OexPJLlZ<``?dqx!|1Rf6&H0#_)((
z+JGvtP~!_@2j>`jsxtOsnz2K#h1^PP4yenk#Ufuxr};DB?PC$J^bY}z@?tc~KgZ+z
z4)FfgUjp_M4;L95*+{+ygs+Hz=@z^JR9>m@dB&c!lC^-TP)Or$IE;J!{l6*q^(ikY
zWOaPJrK|<yaygBBK96Fts8J{syxD9vb+-H|Ll>pa$71|C@Zl<OPDqgfGa|9gh(t~6
z1M2efkDqh*-&LQBkSPlJP9028?Y>|I9&`eg4&bK!&wyt6)$F%Pzu%uaVYMpMfx7Fw
zG)uBdl-30hawd}*Zj^mK->}>5_V&cBIDCZKEqAD=R?=Kl+}^qtkVqt;C<>Cv<WQq5
z%kq%J;gH*pQM;4&5*=0r1IsC1pKJSpKmfsD&~yCc>Cw9EbUGEA&E}CL37D`7)ZVX0
zc{5@kCX)#+mupbGeQzK%X0ccXjYi{6y<Wfeqj;&FF_&<8iz@I{5Agb2+o!REgt)<A
zNa}RDURw7MyNPbXBc2o6iB4R!eC%4-!*R(nL+dtTlL(M%2fAw2L2M)FnqjX!Zzs$c
lHQc~R+YH7G^iiNA*e^rUVae!*n9BeF002ovPDHLkV1jY1B0~TG

diff --git a/interface/web/themes/default-304/icons/x16/playing_card.png b/interface/web/themes/default-304/icons/x16/playing_card.png
deleted file mode 100644
index 15094faebb57d7920bf5738b2b602bffb184638e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 688
zcmV;h0#E&kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007aNkl<ZILm#J
zUr19?9LH}D5e5blL}CxFw;mE?6hc8ylZu&;Ah?j6Scd4j*qlz5<#3J#)<ATqXq%dA
z5=|yU0~Zup_%LC}%s+%~j^Q?)j<wCLZNJX%j4Kwi10T*kzwhsS&bjw8FH9x|c{w>r
z!RPkz@e=vyXpKy-FMl>XT-a(boZ@n>N2F9T0KhQE1eXa_<XQgOVzGW(U5!}ncJ~{L
zWtIqso*RuFB!7T?e+d*56C5IcD6|a!8LmLU)n+ir9;(%+j|AkZ9QA4JlF1;IPG<#k
z?bOt~SfhDVrBw2$KsqwQ@gzx_ey^=TBALtz=3kvo*z);Yl^q>oDqsf&G7Jt%<Ea$H
z%w~ut5?R6gv%>+tgM+>M?d^3`Akpb4jeULE7&#?;cz7b1e_C3CVXO81J(;ZJxFA>3
z-~ZtkIb}Z*f&G~o2nqzSzrCHA$r|gJe_U9IRVoycyUooxR6tHfZoV>^9HDp|0^u-t
z)oR!(C^!PwSjW6;Y;5@s%ig-pvYEfo(A%5C>U0egHd`!6uIUYh!0YwGCZ7*K^YZA7
zYpi1~>g+U^HZ`3iWCZnE?RCT4objE_27y=%+`%BlWw%oS&Rh-i^0u~qa(xD&g1Vj_
zvD4$(dpkP|zGxIScXzX+*V9}mmCDOnS{Q^1YBU=0;`+L4XnGpF<U?)v{aNwP&(pkA
zB6&(+u2ocI1l8T$ylR!|aji<Vhz+YdJ6XZk!Td&TEn6fMGB~J!jI$RC3ol(ME9?5Q
zvf}ZOCO7%w|AO`J8yi1(0zm`Wa}oD(g7bu{XY%t)bBl``bNT$%6CpYFk^Umwhk`$c
W1h4Xg?+SeY0000<MNUMnLSTZ==t7$S

diff --git a/interface/web/themes/default-304/icons/x16/playing_card_arrow.png b/interface/web/themes/default-304/icons/x16/playing_card_arrow.png
deleted file mode 100644
index 95884ded14d369a058b3d72d5272699d316da77b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 758
zcmV<S0tx+zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008LNkl<ZILm#K
zZAg<*6vuCbh|)et5Q%-z`V^!fqx3^06iNjq3W+bXoM?uK471rI&SW~*B5UBwm@;!}
z>ZF=Xh6>KIGBP%6iRMc-H|KCpH;3t?rk?J7Y}P`%@Z;Qj{^$Jf;d0S^l?o9`J31K1
zzNn=ol4@#7=QlRS-BBol3zf=49^F%uA{3&e(o%%}GB}Az#(V0qMx%W{KEA3o7%WdT
znjUOeFKBBk!FnpG^D-!IZS|0{;C7F|f0o(dFyB)u`8UO4pFIOSs)y_yQpM-P_Rh|}
z5MA2Y`Hm}*WF-rQA&fymLxYFgTe#@w!~|?^ZS4!u-;9pJjNNWdEGgk$7YGpI$>qD$
z)fH@PZv(AX!`kNNz7W0NXaxK6@=`)kQD!_vA(SVRG33_NNNIe_%KG|&5WRPJ7!+D<
z`!zm460>K(%B!t?{sZ6QT3rQKcQ-hrqro*hyBqPD<ca=raF9+cF3!7}pYMl3<YvP8
zhbooPy|Dp~l@+jw#V`{Tv<EqpJkiUWn@6tjcu|*mJVZb_RaJgGnJlMOr=y*COq<&c
zHk%DhY&J{>1Tc}DNxtm$5?qo`x}xN!tjKB;3KM@pC|fE$r|j!%d#2NYgQmgabTXI?
z2F8FyPma@W1^FBRZq`RsedjO+nU$5?QLA<7X-^N>*Ve$axah@Q^*2bU{|X6@K0t(^
z7gAqLgVX|moAsfh&m5F4k#L75C(ZR;U0}lxHMOwdMVxvL9?Sq_;6Ix9=??`H0H>(8
zdX!dC5t1en-O3P&hKRxV{Ja-gijQ!i>=i^MRWlPrD5oKQ7~pu0Rv(z#%|Uqi9}5mX
zaXL1(d|+(MYQ-iN{Nn#Y@?rU%^qBzwR!WP}|6*b0k+Z3!A05Sn`UVEZu)@Q0S!{OU
oLHNc{gFdm<Q-{NEP`~@oFMLj?3_y@vqyPW_07*qoM6N<$g3cpl5dZ)H

diff --git a/interface/web/themes/default-304/icons/x16/playing_card_exclamation.png b/interface/web/themes/default-304/icons/x16/playing_card_exclamation.png
deleted file mode 100644
index a5c648f52ec465ce953720f2d82f64509b91029b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 788
zcmV+v1MB>WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008pNkl<ZILmF4
zOK99x6o<e6o&UU&=|nTrI<eE{ArpeO7K5eZ3%e3)j4njbRU^f%uA~S;b>T)AZhT-D
zF5K1WN@_u*j36~wMcW`l+u(qWGm$(TJDE(Hx#yniVrGa+e(-VcIrrQH=MkJacMgCc
z2mtWjW34TE)hVaiaL!!|!|?ZHGU@5bd(YyH8>lKFJDLEF0b|*8`tjoA<nhMl=K9TA
zt+Lu|E;;9xB9X{%z&udxe+r#*{d@7XnVC2DrqhT1m2}{l>FEP~<JQ{Rtxqmq{Ajse
z{{XN6#);5lPd1%C#Oc$h_q%c+n?0Bt8hXwcGv{F(z*rG_1nNC<>J(0OSJZo^3x&td
z%+0;!M2<V>2*p}@T}(Oe(MknBKF)561OXyKG9FKfNW^<jsHy;{YF@oZPMm<A@Ba#n
z!8*r<%a^|qkzWB!?`@9>g1l2joI}cG?CdPEy4pR<Wg4~5S^DKA{NJU{*Yoq=i^w$*
z!Kf;#dL*C86rA^nDqB~t(yUatT`bb9RA~SF1MS9l>@U24yIpR{_IgECw^Wr-Rg<wW
zd@!HQPCD<gs&Mio{``5gTE$FEaA)=)$>;|0Xvp47K6w4uXLrXU9lB$5?(jo}!V?}6
z&iif&i3H~C*>1q6AJb};xodcom*>7<Z1nIzG_X%QA#~DB@W8`UQ%`lQMZMn{+2|-{
zaglbqMl=k-u23qKa9hjq*uePx;&{>u7!je>Znwl*`aRge(X4;T;82Qs<43-_@CIw!
z*NG123L?B{ErD^)efwdl^zQt^!WG~@i_>2J2`@D~*NK@mW}bbYfpCLVYC986q>hMC
zj4WKb)cLbo{bSwQ;YW`iy)U<KUpkCNiN<2ARNmvBOr62RU&Ks@ciw&#wik#+I)tH#
zuPkp220#Y5H$E~l63gW#F=nv8IIlcXeSR#nxxa6l02ejxP9$)hFr*U;x$+OSNVf|p
S767RL0000<MNUMnLSTY}ZHTM@

diff --git a/interface/web/themes/default-304/icons/x16/playing_card_minus.png b/interface/web/themes/default-304/icons/x16/playing_card_minus.png
deleted file mode 100644
index 5c1e50e502f10944da18cb6206d03bbb990b617e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 714
zcmV;*0yX`KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007!Nkl<ZILm#K
zUr5tY6vuB!gu(&|B3Tc!w;oEyAbbewWm17jLXwNA3(F9dVKSYl>2Qt(*2;9LXwE-d
zlSr8i4V+MDAvi%q^ADlZF`U!sF#W0NPUrk=QcXMX;of_`=X~$sa@kX>l@aBgojkNJ
zZf}oQx3*@eT3V8xG&P9|O{NneJyavpXxP2-a>o8JxPYYMUj5u=vwxYI+O#{J3omT8
zJ~V7BwOGnfzfX048I+jKA!N&ez&QLTTt1(x$YfHb>vSg%4RF*DSwX5&sbD`CJQC6k
z-Q9x<z5ZdUMia{$6f`%7c)W*2Kc}Z*cW>`VNdG)B0rOt3E2XSVaksRTF=c)I0SyfW
zJNx^<b#=kk?(UJ0J}@>0-u3m><l^GYJ8Cs!c}62oPHnA$!&^4Cw~vMNkE5f|WVgS&
zty0A!hX#VYy1Ms2@RqgBO<3#g1;11ZYm18qE1oG&`iG$*E~TU-?^b?(B*N%s;_5T2
zbu6&61HO$7@aS|fFBBd^XUdaa+156GQ>namL#bp0%dV-3R2q%hW`~3G<Cva606ZQK
z%t<8hJvy3S=}dXjWfc`&3AwqaGm?{;g<)hF3|CD3{gw`g1AH6@3w}S3%jx6|Xbt5^
zPbw;^dnpvMPVD6kGOMc<6K?nF+rB>VZf(Kb%1Rgm>FLlT5`kSThGv1ljg2FOnX!77
zq1P*hXJ%ZDJw4#Thnihp4x=M34!E?mFy5dElUG&6%C*`@54750GMHLg3Zp|VhgT61
z@ERvjM@22-{~IAHX#$L>vm(*?i;0PqpC%{WZZuiI7ylQ^f1REE7AuuzW6wG2yUq^c
w407pIOiY46EY1-~B!$O<I@MwQ<==hm7hr~qcI0Q@4FCWD07*qoM6N<$g3FmnaR2}S

diff --git a/interface/web/themes/default-304/icons/x16/playing_card_pencil.png b/interface/web/themes/default-304/icons/x16/playing_card_pencil.png
deleted file mode 100644
index 6c0364db32f1e4b88223c36565a39dc66e9ab618..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 769
zcmV+c1OEJpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008WNkl<ZILm#I
zZAg<*6vyunsRR)XBDD{0e(Hmg2q7hv!K6Zqgv2S58=7Gvqhz+>Y>jkG(gvc-`8qM@
zByvs0tXyEE;RmfHv&|(s9m6@D4qqNM^>puJ8%oxNALpL)Kj(ig7d_Ex5kb<^LqqPO
z&dwxZM@OEZz5UjsmX??@wVL7A{XN-IDaw*a5ISJM!f^0iSgY3?hOO3h!|3Sj3%$M{
z8#akGnhLDvkiJ6(<y~EVvKM^5arn=1cs!2BYPI05Ocoq4z)$s4xJSAK0@&T#I})NR
zbh^)6xx9cQl`?6A($-c#_jhp9FPjavcXp11=$|YWm~p!unH3e>J7O_H{Km$8RI1Xg
z-Cdx1dtqaH`$&lX(QF3y%F0rPNR)qDC`714siY~cuUAlb%j)LlKOy?Nu`y^d7`h*F
zI7!cwlLH2!B@GR)*YK9*^>tV_8o|qE!}8qRe#AMc6aCH55GBpYQTz-F(hoBjSIA~U
za<x`#_HAu}XLS`^G8xQ7M+YD|sT2LFN;UN$C8Z4{5_rpC45FgCx)Xe*vZ%{sqP+N-
zE}suvE*DHECc;#BI2}n&>NAcHkWo-zrYH(hqoQit5K2Xb3dMQ#z<}nJ$pjuO%zC{v
zj?q!tfJBnp>;@R@yAG5~2rL#$91#%_-;D6duc_f$oX(}T{(f+8Y{2y5;$K)M`@p0+
zM-Nw*hfk$nJ)RO47KUhpJh_}ZGCApJ>gxj+{wVvx!Xd`3dKl2L>0xd2Wys^R>#t>A
zK#{Sr=q549t*T<?R#x8QRaTA=1MB>J0JC)%27330HN0T>HerN|JRUzjEe#z!A*W(u
z&YVq8e>ONV;dEk?S^VRK_c{^4nhm<~=C2kbe6ibqFxl)PJad}N`3+8D;*Lc|riLaY
z6o)1zmifVT$hr~oJ?;|oC0)Zh>BIH-KXd3e$}NY=f8m2G00000NkvXXu0mjfV3cUo

diff --git a/interface/web/themes/default-304/icons/x16/playing_card_plus.png b/interface/web/themes/default-304/icons/x16/playing_card_plus.png
deleted file mode 100644
index 800aa726eef4d2fac60de57884cbb6852ddd1b80..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 732
zcmV<20wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007`Nkl<ZILm#I
zZAg<*6vvN{h>?~r2xcEN>O-W748jjaFQ8PQk)WtyxmX$^Hq2%dwK1Gyku?w<Q)f=s
zbQT$tp@9pEEQC!MqWD7S=2*_@<}iKK)YH9>O{!@Zew=&G|D6B1TzI0>0Y%i)!$R+s
z8cnjWqoY93-hShuN)=n7RtNZWUr(M`3^^hZz#j%D3AyAhe6H6UzD!K48q8+f3%!1T
z7`9Y*b=4647VZ1Xph~Otk+<OWj^clg)#b82R;vYfq|(4W1M*ZKMLV=hAi(XNoqeIY
z{N20HT$$`%u2>w$8kD!S`MAGDnto1B;^x-YzEJ(s*ci?_o!0D{8g5o~H2`0!+@-m>
zd}DhXnciMp+uYn2s(-Lp(7C+4lv!EHyD1a`lqwV~C5?@8hHP0`Uq2A4zaJSvmBG-R
zArK@J_6$Nwo0{JIAX_}EtLW+PM|Wx}dgkVKBgtu<>TidJnCz;m((7eq!33b2DJf5N
zI*WH>16?aC=#WZrHYR2dn$tSfYdbqfukra8uk!gof#QaSV7@|8tTh@LH+iPR>qUpd
zfioNqehUj@Bh6|3_SXj(syXcm=#FZI?nnStI6#qHeqKE|*!9Y2L>I%L&FyBfn$4^M
zjlNo<;R^EHj}SDGCQwK08u04txnp+w(#wGXbgr%8%;KUSdB$Q)XiLPz-b<L}Dnv49
zVrdOmLV--i9iE!9w)FL(gM8HV!h#?1+7!I}J<|_pJZ6IYy1KZ0iKOtZL^4bbCg$h;
z$krEPeECs4r%u6m+XaMYp(d94P$iIaI4U;w#F_N;+K=Pob~`b#kstpTT0hm0#2lYF
ziy%5;p>vQHMCXD01|$SUN2i4(C6$D5I28wRC?{elfEP3k8G)~V&%rNALXJ!tIGv0D
O0000<MNUMnLSTZGpIgHK

diff --git a/interface/web/themes/default-304/icons/x16/plug.png b/interface/web/themes/default-304/icons/x16/plug.png
deleted file mode 100644
index cbc85ac2e99439ef061f8968aa81d6245cbbd18f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 549
zcmV+=0^0qFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005(Nkl<ZILnRF
z-Ah_w90%}cV`HqHH6jNNj<O5!m`6z~$b&|DLi1(5fXeXT@NKq>DG>(U7~)0f^%(R=
z^bhR1%YhMWjVK6WblcS+2-<JoCoF88$_G9?hr{`P&-3FP#vWKElZmBLDORi1CYsIW
zN~hD2y4^0j!iFhGBocC=P*^)SI410?rBaEt+wBJn!q5{%@uRA$>%HDSxm>OdMNu4;
zN`<vrt$PbT!A_&mAii&J?~>VU{%W(?red+!jdAqCPNUKIvtF-LwOS=S%u99!L8x1;
z)?4G~6|4t?!P9cNOqooE^7%aRYux{VahCocN3UQjm&=_clSzul<AftqG#aH)D8x(l
z2FLMuJi7CL*EH=S5{XbC5Foo<CQ&q#Bu$VkJ9)`I##uHP3=Ai_6^_FpKf0oL5ps~l
zV!!5axKTLCOAhtkoP?udu}EI8pWJQ*b9%1L%=l<}+RMX7kkBhQ=3!M0(cIi3`FxAC
zu<(xj{_x+~+4*xxa{dv7(cgG(`L1vO1x_@rOyO{r(&-QUZ71*xzCj1vcZD^eY&Oe7
zr<%5OxkH)_u?EB3CY-~2Hsl%%e}>mE4rA~NUcw7_4$t5zJb}mXh!?E&!~D0D!3Gw1
n3;aXB>6ec6%SQS|mnHuI9+bz04&P0#00000NkvXXu0mjfneho4

diff --git a/interface/web/themes/default-304/icons/x16/plug_arrow.png b/interface/web/themes/default-304/icons/x16/plug_arrow.png
deleted file mode 100644
index 347bfc6e8b7edee7df5ae6e4edeb2131ad620792..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 666
zcmV;L0%iS)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ENkl<ZILnQa
zZ)g&67{{+LBHW140tcrAiRa(tLeN7cb?N+*bD<XAuKbsaN-0s0z%dM#zAI`F>rD*C
zUKG6vBI-@F-VHTr6>DQF1MA(O2%<qfJ-@N7xk>Bb!|#4~_x;@S<&L6uIK*NxH83zh
zC6h@-KA%q)i$$hXDpBiD|0C${?^lJx;oSUu9dOM?qfx3*DC{V3A{CmZ&)ICY;Ywu=
zv|8;b%d+ZtJWh>_jQmq@9;s$B86fNQbPXgD$(UR&KkD&#n(DL)YeXW^n^Y<Vi9`bM
zVIrxuwY8;WGTF8|tpvk%yL~wpi$Nd|0G{W8oa6ObtTVK=PAkEKP$=}n=ktNr>jfMc
z+-^5G91bFRySa|RU})KYhU2(jE|&|eRx2o#DxhfzFpL6JDh-j$VV%pJot+d;v@PsK
z7Rcx<Ys8Qmq*CPuYIP3^j}Xa1t2g_QrAQ<KMxzCKdRXjf*g&T<0h^uxUE%ppDR=z_
z?YTmUj$ddJ)JfQ8bAZ|02PRV=^!A<ri^cg{uRpfJFq-e${L_{327qDgLs@@&iSI7H
zZW7!=8XOk`r!xqC{~0oBgZ5wh#$+CSRpg$15%QDo1|KfM%})RrE^9_>{Cb!}AQ%ji
z&@#sjt*(gQJX!x-`Unu41vvHUFWL71hp)aYZw(XfAS=k}y>vI#m3%TTy7;(E5QguU
z^%IM5vI;=<cyD!r&EZSPLF53^f$T@x5h1d#eQ>I(egV+VPgR8W;j?&c7ZK#v!sNG9
zA#y~D974#4?pl*}2u#^~dwh4R0%JOYdjYch59Pxg>8&KuI{*Lx07*qoM6N<$f}UwI
AAOHXW

diff --git a/interface/web/themes/default-304/icons/x16/plug_exclamation.png b/interface/web/themes/default-304/icons/x16/plug_exclamation.png
deleted file mode 100644
index ee67f1d92aa8c5fed75fc9cf256bb190f3a33bf9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 701
zcmV;u0z&<XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007nNkl<ZILnQa
zZAep57{||vpgt@poFFwvpy*zVX7yp0DY-k`i#8{@VP0H&b4$t*VPev3>_gst3JJp^
zHHjd>GJ-Uypt5LcE|g{Yo`y0k6Cy?w<<mK%$d{2F`0>B@Jm>kJ=YP2fZLm^PQ&Dko
zF{-MnlKOnUQ#{XS27^KL2lPJ%MMXt&o6S}`K0XUXPdgkA6bJ-1G|&^mB9W+qW!d_0
zcoY;0#d(HdvRp0~^85Y&G&n|hRb5>TRC{}eKr9wFNhFeeg@uKy;v{O`laiA1+Uxa#
z+wBH&n3@a;1OjhHM#j20i45xV^YfRSPA8bnW+*Q&2l`C*BP5PzZJa~~on>WZUri<x
z7>!0CBSS$!0cf>aYBI7ij#8;in16udxSs}t0n}<W$YgR5iNxTs?t*51I~>;ID2a1Y
zC=?<x(Yj_MVS<j%Fe=E*%!2fE8OWqkxZqEM_mh{PF(8DkThL^pn@xmiyWI{dRUTw#
zGbE=n&e2i{JiKFsAF)p8?l}1E%yE3S;s{2Rm1~wZv#b_!b9IoDqXUiR5U^_9a${iU
za&(#pi^T#T-<^xSxV@?Mc_-dXSY>dLFwb#L(CaNwQeveaZC;s;=epXmzI>kZ(RYZB
zR>I)@w9u0dta*I%uK`Dk^ai3!9OsGaUMV&|x`8jxys<96jp(5JUJXQs^I*7NwMh3L
zT*r8AGo_jEolx4-hM8ww$)TAs7N$n_$Lmz5Mh?K!TiZgkj@C4vAS4r#2s^r(ar;<b
z+J}V+87z!TAoi&)u9UHmXyNV^+(Hd%e>c<LQcjQ%(h0k3+^GF(0~%~;KrdT)G(hNY
j<5AzWV4P50C2INwWDq^nA+gbW00000NkvXXu0mjfKM_B`

diff --git a/interface/web/themes/default-304/icons/x16/plug_minus.png b/interface/web/themes/default-304/icons/x16/plug_minus.png
deleted file mode 100644
index b3869456cb20c4b2ed8b9461584d266361e7d0ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 593
zcmV-X0<QguP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006QNkl<ZILnQa
zOKTHR7>19ch&n382oWa1Ma-nRU}6i+kQ9@tNpmq5NP=XD&CS$>2}L4wlM(}!WG#xi
zbETmFqDyI{;Dypcp-6F4x)KTn{d`YJN}UeYf#;mV%z2;leKW(@F_+0?V(E06)$8@q
zR;%@>+wDrdUXKl7|075yla6AsIKQ^GNthp(%VpN-bdD87KwlKa`--A0^!uyicDtX-
zvh1u@tE}B_|5NY)d}=nE#OI}@6*8O6&uuo_&3HWiS37!Pm(gha(r7fOR;v*<bIFPz
z2o0;%dZZma!9pk$+No43l+9+TP$&>z<Njx~GplV!Pw*k1&+n#EDM};~gpw&1i%~cn
z=8~_6+wpq6y8VAtRrOai8l_+`NOrq}MA1x=G)fMKi%V9~&YZzuV5sOwI04pq>9XuY
z$VnE9{Q#%a1K|xWS=T!`1vW~h68U@q@_1zQ={;b4+)ra;J|5lxNe70kMzG1liV~*D
z$!YTYr)g^H4g~^{-xCwJ_9V&mQxGnG$G*8I7~X?-8o@KLrK%N*L~@kL+~cQhfo~5P
z+kU~=k2hE&v^?Z3W3Pu{6;Ljh<Dnf@o!y^7<~oK~*t|P4Lt6NKZJ6^C?18)d;cc*p
zlTh}umc>B@hr_6rT>+QD2)G0;fb-xiI0H_DQ{W^x!3Fb!F#j$2%e4UuxCZ!#zB-VO
f3}oj9qJ7C9!w2i99niH{00000NkvXXu0mjf&ubPW

diff --git a/interface/web/themes/default-304/icons/x16/plug_pencil.png b/interface/web/themes/default-304/icons/x16/plug_pencil.png
deleted file mode 100644
index 378e2018f4bc8e1e27ac0060eba78f71c013aaa0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 678
zcmV;X0$KfuP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007QNkl<ZILnQb
z-%FEG7{{LzhO1V~A0^2)WUOtvt+o_=hl+2nYYvx7+*UCr`_=5CiPelD_-jFJMRd^*
zBq)OV1FDN441&DqB3KAfn8HHBF1tw>2=?@xIc4PpANX+KyyyEl@AIDbzz4>}9Aht@
z7>zcc&j)XxGjQ7(Y?Ml+g1){!h{xlNV`F1i(&@B5lgYpa@QShbI5maCf-vs&dbQ;Q
zZnxVQ3<i@63rk4jNH`pZR4TPDcnaWf)Ysq5=kwUp(-WV0#yX1vCy`Yul@}yQ8qa3u
z(PFXOu-R;;Xfz6wlauR$$F!=ty84(#qZ!Zt9L1N@?Dbg}yF=5T5{U%zadvhN)oS$v
zgTZjZ<#PSgPC=khD4<u8oqRaK-f_w8WaaOP(SD4@Vn~a*WKJ%Z59xHeE$wUyT%rta
zT?PA8oPFn#M;R3kT@*182w)@<;gZkP&fx#;fSaDkWHQh-RDfLoFdc=No7d{rxa9uz
zIy~Pm@^6C<hl5MLl(r)X0+g$dv7oq?x?F>}@(l-Ehf%3iqh8;LMx&Wa=Bb_G+S*#6
zH`)^JB^K#8@l>Z7J<>rQK&`f^fXQUVrl#Y3Zn50XXNX)V6vDPP5v^7m^(k!9($bF2
z&22oKBi!W#OFS$|4(#aY#`gAZ?CLs=qUik7+S<9Q*PB=5@&i9;-7suZ_lRY`KY~uD
z4?Ug%zS}bKm3Tv>3F~%YKkt?90uTN2`v(gn;ej1gX_zxjtP<y7hgBNBL>wY&h${Y%
z5&MaK#2%uO*iBRryNJT2NfyH+gpn{1TB3pA2YsX{tt!g)7DWZgU)!hq0rH@Sb^rhX
M07*qoM6N<$g0uBW{r~^~

diff --git a/interface/web/themes/default-304/icons/x16/plug_plus.png b/interface/web/themes/default-304/icons/x16/plug_plus.png
deleted file mode 100644
index d541cb63989f5807aa3b261739e24b7667b090c2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 631
zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006$Nkl<ZILnQa
z-D^^D7{{M#5-YR08Ca+UnL1xcV=zS}b@-kyr4k+t-=+mA5mqB`h(XL~-9#}4iwL^w
zu0LUyp)y#Fu|ct5?4s~0h=h82elkZoX&w0R`<)->`#H~-a{vywq*5t_!(k{C3ghK+
z`Oe(joU&G{K^OQRK`<E9B$LURjg2j&^=>+yhHABXpuj^kBofKA!{L~1G}ckC*FQ3u
zOxkQV3zbUcpMo1ivs5Y}TbGwtP$rW-SE*DN{eFK>ok3xpSS<cfEEX}B%OO3?BrAMA
zzo<|s_SG3Am~}dxtxP6^(P$JCi3GAeov%`ze1Dxmg17N_{6{Dh!ayK^G&1^pK6JTU
zO!D#XI!2>$VE^|V$Nlnpy=b@FQLWaXL?T0_avU`p9h0n6o!cUj2xy{x;Q+D8MmL$v
z6w;zxuHHkdHIVQElWY!pbBOqqN~O?jwxPjbqMpV*CMGN>dT<WmiSQ@f7rcY$F-i>g
z2)0<*;c%hV>PCyjjZ;&X(Ps1fo}9eYRw{Mhk31f0Pq*$Nyb;ym^%%g*(H_AwVw>YK
z=<&ob61mPs-6qx`$NvWNBRjAlT#J3pBL(XnmPQx5VUEC9EXG1Dj>~seA_C`!0A7sL
z?K@YoA9mg!W-JhG;#x=TJ__(uun6;lIz#)#irszZyf1u<I7LuF5E3Ve6U1?17#{MQ
zXFh9?)&|`lCJr&d%x;+dmKs7u$ceKA`_QL%r9uevUcpUX6Rz-<=zfSv{s1UR`&8&O
RBQ^j4002ovPDHLkV1mhm9q<4E

diff --git a/interface/web/themes/default-304/icons/x16/plus.png b/interface/web/themes/default-304/icons/x16/plus.png
deleted file mode 100644
index 2fe36a1b9816382b5d663a2d5ddcd88b48d233f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 460
zcmV;-0W<!IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004#Nkl<ZI8UXI
z%PWLo6vj_Olo)0VF^C4qt;otfmvX;TD2knhjlG?X>%u~Pu0<oaY{=SOcohr9&emUX
zoabfc`{pxNPW`5*=bYzxzaeI(|M2~@>LS`t3gsZl5Y!LGuf1eK3%1-udmbxl>~o3%
zbjS|3zY5lbO<DLo0o35f1Ow=xj~m>EEdU#Gu$>50&-*w7XzgJaxcjpJth@1&YIzyv
z=I0@X)}HmoR$vIqPQznA*FW^J-T%Qb3sw?T$LlCJssRp!>h62F;<Am)FIu_gwu`H8
zI=Sk)gDbDvwMND)SdLft)Y`jl4FU)joK$kweyJwSU&P*>LQeM=v+uBskueLFoCYmA
zm7VnCV)h;tvfbB6#w=KL5-nJm7iQyB%2_@qpXM>N_N+IO312WL%)|oaxya?j^BjiO
z9(G|1nxZK<SrJ6jF+jPWve~7446QxvEMpefC&NKB8KqorJ_gX*vyHtVQb-d@gfeP!
z?9zxsX`tZ|l?s_cRJZ~>A%Bii1@9kVmq6c->FgJ(f@b_sh}3id0000<MNUMnLSTZ(
Cq1FQc

diff --git a/interface/web/themes/default-304/icons/x16/plus_circle.png b/interface/web/themes/default-304/icons/x16/plus_circle.png
deleted file mode 100644
index 21d5f83fc70e2127904fad6ed1d7976d0764e26e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006nNkl<ZILoDu
zPiWI%7{))+=_*@O)7nKdbT-pX*i=NB2N}*;oiJK-in`&L;L#qvD~PZOUOadZ|KPy3
zR@^*HQPibihLzE2ZEI!pP?{bJ?KPp7@cO-3lXNoi;0M3(e$V?nPd)+w<bPQE%z6oV
zzKxI=<%LfmabK7crN|AUhK4)zpqFMgDhN7XbxH@5!%C<yrA{c<^>GT$2fhp`t#pT;
zzZC@8d4DRjdQ}@+y#}G5Q|mx&^w*^3n%kX1@1F%iYgCX%^H;Pp-^bzf$|VEynD>!y
zm*Lcpi`wSM4hb`M!4proKQXABT)qH<OCbyMG;1fmj=|n{0}5vBf`?pWX!)Evus8xH
zhu#lEwOWNzsRSKQd%^o?j{(lzuaBshu?rq-mFeI0!yf`ruh*eiEJ7}qgM2;@g+jr&
zm&;|SR4Twd6QMKSuVcn8xbK#aC(r6VZ;nDXn}tj!vthVas{t1mfuGx_W5zDH$42@-
z9aB9E-N3~}3p3oTaSN1rzls^VV8#{p#ze)J=mBm~w6LDtq#;{oc?C0e!JT%&an~*J
ziC)c<q_0Sd2G+A1cf|d%OJinO2{U%V?KVPgwgp?J*%T-HHBXwBq-o%7gY+8i&$~3o
zv@3;P%-98Zx*UX@-xOqSI3?#}ufobZRW9e(5u8!O9eNBeA?pfSC_JT)2uy$km|J9m
zc}XUjB?FvM!yO^}DcdpAT)<G;DIFByAMgz?gW2CH75OugYopu%0000<MNUMnLSTaK
CQ5qZo

diff --git a/interface/web/themes/default-304/icons/x16/plus_circle_frame.png b/interface/web/themes/default-304/icons/x16/plus_circle_frame.png
deleted file mode 100644
index 288625adf55c7fcd125ac7428be4bc9136e5a1c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 765
zcmV<Z0s{SsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008SNkl<ZILmF2
z>r2yN6vrP58Ot|~kt->(C0j)@3vo1S(qL`r(p?L@1YHcQ(F-L|8Ac%@6w&RCpbbY!
z*r-s{iqOft)^JnjX1dszL&W(9`0m^9JUNl*fe)PLobTuSF08V$l9|nBX0=+G&1PeE
zyZwN};m`_P6}Ytx)moZShO*?4%XTdg2}5mTV`J0w^z{73#s=2b);Ls8PEO7@G&D3(
zhO+-I5Lql1liTg?A)zbe!QF`mDEVH_p_+QB)GE5WyL%{04qs4FQ9+an15Z32hh^kC
zbU$ox{Jw*#<UNi(R)>o-Rz8cxR?ykm=^=+)W-^&_oKB}Jk%*(>TNTRYs$g5Wjq-&W
zWDeDqUpH}S_8QMDEiIwGzTQPHGa8M$(b3WHbN_2-$FHDlz8a-dW=`g0?zG^X?=qf^
zy+nV1f0$gR*XwKOwQ2_IU=RYuBL>cyuR5gDX(W?L<hYfPcI9(U4QO~a5cmmlnNFv3
z27^JUyd}^F9N600LL!mC;^HEr(WvmvF@8^_QdnPK#}RJ<&-(p-kju1M?fpO?fYa~Q
zC>}Q;91de)Vd1~>=H@02em=>wKA#WdGL1%aBNz<9;jM*oq!^Mu`3@O*cTYB`<k_(?
zKgeZjwc60v=Z&@xKgF?+1&~dhfMi_G$vio8Cvrb1(Khr1Znq~&E-NZ3I%Kg}+h=FP
zIR93U+%Lip3*|!+lJC4W)kMzlah{o(3Bhc(w3EvU3k#V_r82g*KK9Pdtw7zSh2&i>
zBojv=8Iu2nYN1E7U~m~O*CQ`E<T9B|#`5y=#0rI?y1Dt`r${7)j-eMYy|H3{o0LN}
z^&*i~P=>PPkV|Kez&?>kbXY2t)@n2tUiJ14#Fm%S*bVh)Mj6VIv+c6I0#X5mz}c*<
vES*>^uFKBOZV~9%riFSmql|!Z+u8dE-OUcmNdhMF00000NkvXXu0mjfgdcE^

diff --git a/interface/web/themes/default-304/icons/x16/plus_shield.png b/interface/web/themes/default-304/icons/x16/plus_shield.png
deleted file mode 100644
index f703e928baa807a9c60389e140bb46c4964b35e2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 683
zcmV;c0#yBpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007VNkl<ZILmF1
zT}YE*6vxl}Xq8iYw|BZhnZ33|%xIVr6&ihwl$aMStaedGUeu*^7xV!M6?798m{^Kh
zriLM`qRhImts<vxV+otA@e+%zE(Bp-=;=9+d-q!Tzz@!I&iVa$9zaBZUU8WoMxPO&
zpYhCC${0&g%6l~H5!3tJ{V#xrh<bP`j_jR0_LHER^^EEHDgh&m+ibXnv7Oa}732G(
zr=l0}<o64>(|tf@y%&5&JG9FjHK5zzuA6brW%rpT*7TXZRiA7>9N}iPc^f&$L+7!|
zV~er5H@nv~ad6r(M~)iMsULUDHZL}OJB#+<87|d)w4-vUKK%6r*87}TH+>rG{mw;l
z)PRS=TiaCQ!tVD+aV5(6w_oG2FOZ`KJP-zJKR3)*zBz;nJ6yFGkH;|@jiRx08yY&c
za;UZpSI;wNKn=K;f4};}k>4aHlSzz3A{Yn+Fc=JCC=}v%S(Y&ti=ogZp}D{87jxRw
zfV+8@EyKIy^4I&&@Asq6=UY`yBoZhNSa3tvW|=vc)POsAw!HR@!QxRX3QwdoioCK{
z;3`FJn;0ZV4Y;Yx*R<xki^r@<{kswrMkP-A*{M6Be<>xQRp%y04Y;8LxSn%W*I^Eu
zzLcThkvPh;mAl?kg4%X5OuOW$0oQT>uB<mei}sc7u}L;gT9)+F>?JN~nJI=>T3Yu=
zlxc_WGDi)dQ<MQ<&nkkZ%<jyVwLaZYVM3T;B7<t`(TwlVF2G*_)M5XC0w~mM0;{G8
z92%GQR_-i8HS3+@Gl0U>ZpO-htkj^KQOU`LJz$3+Xn^OuR{8)H3==uz{sFu2*<6}c
RSMC4+002ovPDHLkV1nb+Ny`8L

diff --git a/interface/web/themes/default-304/icons/x16/plus_small.png b/interface/web/themes/default-304/icons/x16/plus_small.png
deleted file mode 100644
index da116dcc3d175f7b5edffee92fd32d8075b46c38..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 212
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo7}w|M>sko>_H9qJ-1|
zgYb^V#8wXG!(JC>I@GZFH2-iYe8d}}apu4VmnS}_c3=9hAazFlR)eLJabwr{hJqKb
zxBNFS^O$47yo_s3VU64udD-S8oyH5M=c_sM-<K4)R+;i!{uo=QaJmD(JhL;qKC`p&
zdC8T(Z~b>PnZYljey_o)jIAwZ+f1IBYtj#xboj4fT<kfsgolCc@amPOhvjYqoyp+o
L>gTe~DWM4f3Oi4S

diff --git a/interface/web/themes/default-304/icons/x16/plus_small_circle.png b/interface/web/themes/default-304/icons/x16/plus_small_circle.png
deleted file mode 100644
index bcf7272cf1b067ceca8b1af3b511d8a0ee1b3211..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 254
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`M?GB}Lo7}w|M>sko>_H9qJ-3e
z4K6K>iAz_A3+OXHS{!hTTg7h<W4G&`AJ?>FKkSqIEP3Mp`%2|s#`mp`aw`-*;+dhn
z<;+i~7wNYb*D3t{|8?8V|K>Mde~|>~3TEwVGMQ&v{q6r!@9F>U?<#%$f3bW2Kj)*J
z1`FErXTI>d`QGXEl7q8auX+7_9<TOK7NkknCQhf8Nt}i6L_OQhGvyBNjEnXEvre!m
zWHb3}VDMy9rD4h@J)p}Hq>iw6^-r1NQO?Y;e!-EP8TX{?fgWP;boFyt=akR{01~rq
A#Q*>R

diff --git a/interface/web/themes/default-304/icons/x16/printer.png b/interface/web/themes/default-304/icons/x16/printer.png
deleted file mode 100644
index da4d0ec14d2d60469e7882e487098288e274901e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 665
zcmV;K0%rY*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007DNkl<ZILnQa
zUr1A77>7Ta7hP0>bd?u+Q5U1DIWw4p9M0Lo32PI!a7?_|nV^)^)|wj)hHMHY44fbg
z1r`4wsMKOO+%OUqy0b16B+^YrkcB3QLw|kmsmauo-otYa=X}raeb09|?B)14%i)`t
z&~a?%aML?F%G|@lCt&n258+2Pi}c<eHg<RMb!SK9{mKexjdSZvgBL?X`3OJv_p!0P
zjnzyBpSQN~DV@f<#YIrjdRsVL($v+(2*KlF%wRAuTSo_T3=9zVor42><5TmS3`e8K
z+_6~NIjp|9S<H$jqtVDLg23AQ`|ZDYgYSF`r<>55(00fnmom8qm-tORM<^&Lc;#?7
za1rE?OBu>Cy<UIa?RNVze3IR6hu`mq*Xuol$K!#|=M$Y&Dg~Fz<)bXCtE-cSLZQL6
zwKbSbCODl=*ladftybvu4^dsMMrEZE6%}`()jklN+1Vr?)Hz65R$E(JH90w%TwY#=
zTCL_`0UC`KN@W!f-aCO>eP48DX5#4S2`4GbR4SEeX=!Oakw`!$lcAxZkxRONqS4fg
zj*TB<W6^cWGKE6X7K_C&GBSeF(oz_WP0;BcoeMdUNCZ<;Q=lx9%jJ&w`45<$j-j>n
zF}l0M2nKr*2!!+KJEo<j9r5@_5y~>DRO+6aTi_pN0cNxLzsNP9EGsN5d{R_Y)JaGr
zl3<$uFx7!HUcX7B_w76sPtCa9=!UYT4_`JnK~B!6EaP>RbAu?Usd<J|b$E0nl07^`
zmS4%q`G2#2>T+>0yH;LqzEW29{36I9H&?#_5uO(JULT!000000NkvXXu0mjfx-T}v

diff --git a/interface/web/themes/default-304/icons/x16/printer__arrow.png b/interface/web/themes/default-304/icons/x16/printer__arrow.png
deleted file mode 100644
index 7c9e8ea1f96e438a018b60fa174ec9359c091b2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 735
zcmV<50wDc~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007}Nkl<ZILm#~
zZAep57zgk}iUnzs1VIM+!9EOvn3{qvayd0?TP$a6zA*8_?g%9XXLD{i5Ze^YG8`y{
zn%Yzh6;p<xve0y23bP2MMTyrW$U+lD(SPUMvV84<--Ub6^MB4gmrKezI>;7VXQzVF
zA0Wc&auIWD>kfoH+=lzUz7Bq61+&Y`_`I|vcri5vwnm-VGoYlUWjpT2>MCXz7csrC
zfOqrrc+2w`7#{~Kww~{FhUHXN5{9!_2uVvzBl^-(Vr*<=3`=Wk_)2%(KBTq3|F84e
z*@YBQ=H?1n;i6WnNjArk!iEOJPdeZmJ;LrG>`mBlSP$!EnXLhb=#7%%{Qdo_jYcE>
zhxM>tmSI_<QmIau&1TyI-N|4upuD^sR;zUni^T$)%_j8B&CS7NGTB&`$mMcTZEbDS
z%*+fl8V!nzi=o%+q0{N0Qe8)4q73oz62!#BA~p4j&@(tVLN}^tVp)=sl9JHX)ivVv
zdLfg^XqZECaw;T}1RA`!gG_c==;`f!j+z?h2+I<wRH~VnnD7k`4?`>#BRxHfHYxTc
zE$M{BF$&FxI<&X<`&gF5#l_{j-EOqCwIMt_9BOqA6pD;}N$!lHo(JU4H>h~x0n3u8
zs3@byGm4%bH}djsp{mLWhocU5yHk*2=|+P6r67WHA@ivZ_hx~s_a`CFEOQZ&NMs%w
z8lxX(3|g&rk4w$(;rImPP60Pw|5G##L=^P#Bse&@AS5KDg7Ne7bMW+sNwo90+sC8s
znFr^L^*GISAnay0V$1`GZT3O+3OK2I{N;FT#v?*2h&siDB_$PMS8Z%=3f4C^aKYln
zSq~7D(J~o$t=jM>`@4>WhLU5^(b~Ys$lC`woNV$2C?9+bP(92#s;m}rzW^x@Ez#q_
Rqo4o)002ovPDHLkV1h|gT=oC}

diff --git a/interface/web/themes/default-304/icons/x16/printer__exclamation.png b/interface/web/themes/default-304/icons/x16/printer__exclamation.png
deleted file mode 100644
index 8b5cc29f005416c9272772a309cb5f0cf0191d62..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 782
zcmV+p1M&QcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008jNkl<ZILm#~
zdq`7J90%}IS_GAb^p_S2X*B!GM<LTv^RWycEGM`~6v=InW<oRF14k-OEsa%M8KI@-
zBQ?`zqUbR4`9~IJ=0r@{Y(`pX1JU5yIRj-Tb>MRk_uk+4ch0$7lGo5cHmDjKV<^!-
zcq;4ah^(e&3&I}S5r1D_huLby+{y}OmzQl`kBx!7qrA2?$gQrnC;qXzin*mFOj;}$
zpP$DEvl$(OgJ6Tb&(Lb!Q;LfTBUUH~iI0ybBDtJMD=Qhv^4c1{(pBx7)adn_P9!B|
zQ6x4s)t0qg1Ofp`5{pSzMTO)SZLmm>@OKlo6LuU{!)jS(qrpyk6HAF59UX5;rBeJ4
zt6{Y)!?J|W=O2{GWGV|?Ng|OTKR+KzrE(jELIIUZWvelnOvuT}QL!wEj*jMNG@2@-
z(TK#vL}X`YLnIO*IXM}8{&|Fjg(EO92$^X|@c6bX3giLk>N3!U3aeO_@OZqCrluyt
z@bECg!^3G<jL66+1O<iAV6aU{@G0nuTw$Kk;bG}vw7t-yyj*KwSrQr=nm9BxG~L_V
z3m+dJBqUs<jbgS)Pdf=iJ0HKT&(Pfxg#yc2)Yt2$S(b3Q+>Fl7PSn=c!o$M@0znF5
zVlHfoixWbp_Jn1om^M#<X;O)fy3=TV-VBx{etv$^zP>kTZS6#QdL~Lrv{0+>p{Ph}
zqba?NzP5AtX;Od?f-j#W80m^e&nq2RmT)*6Sx-+t{V@Fy3WeL;DfGg`+hk0P@t}Vx
z#n}50yc^-6yIFwa-W)k`c6Pq%;^I=sI5;?{&Gd%}D>9?3-Hb=A_wls)C_Yb~!SuMF
zZ3k?g9`{G%11D1`ckfO5jO?de8TW{YYp@%meU~sZ8i0i<Z!8#(!Md1ho0*UOhrYGw
zc2tp#vB%AgIQjbv_xbu>-*6@Uz(85v?pb@98@r~eipc=;q?FwK1M%iLD+wFD=>Px#
M07*qoM6N<$f`CG9NdN!<

diff --git a/interface/web/themes/default-304/icons/x16/printer__minus.png b/interface/web/themes/default-304/icons/x16/printer__minus.png
deleted file mode 100644
index af5d449aec33a49c2b1d7e3dd4d22eb613493a08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 691
zcmV;k0!;mhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007dNkl<ZILm#K
zT}V@57{_1cgf1#^Btc%x3%wYWpfiIhq-@R%CoCsykso-mvkRq`&DPv#A>v0LhT$#@
z(NOUtL8XjgI586EwRMr;MdGm$WHFP(q5t0J)I^>79De6;&ing6&v_4rJscipQM@A~
z29EU@Qayu%%+=q207eh@A^eO)AZ~7AWn%+h!(oXJi;JK&PFhTZ2Yr3}5q@oLVP$<C
zUqT^#UR%Q_QN+9Xc~H@Mt<R^dYHekN;C3@sT3X7i4GqlE(?i(8+uQigr|xgkKRLO_
z<??bnhm}-UOIhh;GMQMpATWDZm+d!i@PlvRa1(kH+73D7QYP9!#&1eEf?O_t>To!4
z66BCe8Ok!F(Rj|~a(P31lFepAV`C#c9#0Hzw;NusS8`TYSK)Lzy_99e#l@<Qj*i}?
zr6rinX4Kc$!)mpnva%9J;|*xFI^^W!B0KvEii)mF&eYTlAJo)KSyotBm^V5)I<v5_
z0G&?9!vggBBIM@g@!-`1=yca4XJX<#+S`3Ilx6w(`Q~6SxEu%skdcvrva(xTG8~Cs
zUm`hHehdvwE>o6iG@4q!-;aTT0i>j)z+|d|!Ep0f$m#Cx#@N^xD9hApwPSYnBgV)5
zsHwS)wl*JHS~}6(?Azn{MKxX}D<xhgoyY4mmBgdO#2{0tRIcgiIsRehV6j+^<gr45
zKNS@*Jc*ANSwcd>9fd;CM8w6#wTS$O(Kd^C_C`eK+gWJpET~Amgu6*fyhu-nov~1z
zO!kei$YfKD*BQ<QLRnC74~J@JcUK~^vx5k~k`wj+XaCiy<Yaa>E6Z{^GxPpQkV9^?
Z{sL!@66zGw71;m)002ovPDHLkV1h1xNr?ae

diff --git a/interface/web/themes/default-304/icons/x16/printer__pencil.png b/interface/web/themes/default-304/icons/x16/printer__pencil.png
deleted file mode 100644
index b1a382aaf58db3db55959197d91124e78343175b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 726
zcmV;{0xA88P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007=Nkl<ZILm#K
zT}YEr7{?DO5>X8#2(r+mj6q%ak%2B!_o^vQSkBr?(Rs0ViDHJcZEm$P@q_YWvSnUm
zFvYY*LMTJgFfuo&i?S{p6eLb0$ifdM3jRCiwO3}V9{9a*p7Z}b=Nx#+t^R%@VjCDx
zP;~#`n6<Bun0tD5Kv**b{>R1!0;{W-U0%l5r6qw^)6-ykl;dFoOfFX_{Li&D%q}is
zW?=!J=I8M-5Ww)%6j-tSYNs={ytS1uc#DOQqM{<AYiJ;b?rw&DX?-2v=&7MYdWMF!
zIbB*>OCg076@n{#R4NrI<#|%u)umsd1HRKI{5gc(ggu94Se7~BfL(M^NZ}(RBkvmw
z2K*0}VOi!dmnfCW17@??wm?tP>-A`CY=qTn4Z~uwz-F@vnYp<+7>!07b4fu#fz)od
zKlc0mP^;Cbudjzrr$bp;8I;Nkkjpuwr^}F<dIouU`9fx*;{o2q$Im{KNG_7x+}sSe
z+x^n#^MT_yD)Y$6$%9OmLB(@B;JEXkd30Vkf?fyxQBm(nW@e_^>-ByfA0J0zVj_x*
zOK4E>SF|PRbg&G;U=XI_E6Z0C5^j^Uw6toE$AjM9Uc|-4L8U5(LUB0^Udy55&S3=S
zP0(t!a5x-bE=f*KHcU*s#^9g_RaG@;YjdKd#ewE#=QeG3E8()A6699n5xDyvVs!K^
zm`kKmsd;Q{5+fs%&}cMa)KtphY>E-&rn-alCRu{aU@nnJB-f&&qnj8J5fLo``oqYZ
z189E{fa9qP?f16io2C=+y?Fwb5%bI?wDwUBF=Df`>kv}jVH>bAgXfR3@Wnrhjm=H4
zjF|uJZq@FX7_vVlMYA_4>4pex<5K>f4=2wa?G$?~!?I%i0#p7N-_dwwp#T5?07*qo
IM6N<$f>h#Ip#T5?

diff --git a/interface/web/themes/default-304/icons/x16/printer__plus.png b/interface/web/themes/default-304/icons/x16/printer__plus.png
deleted file mode 100644
index 4608a84025ee3104ae1a9baf49f5eff565107d0b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007#Nkl<ZILm#~
zZAep57zgl!uBbG%;U`BqB0mfb@*U?Shf_10FrBbPGLhQd2c@KDYi@NxL>-hgaG*g7
zQ+z>CsmU-@jKqyTh4mr9BJrveS!jYN`tO`uimyHJyKwJ${?EDRa>?V~Ub2Jl>(f%^
zV_b4}cN2SO=RSlz+=KhMxd~xy4Rfoj_`0$pdNVx@wnoJr8t~BT-HZFRzK*%&Wqev%
z!pDULd=LZ-PfdXpTd(qXV#}MF2*WuXgp`z&5OZxUv9`A}mX(bSe51SW9n$IZ?Mf{x
ztENa%MTM9ZFM7S6lyMxXZfmprrUQP^BODyU-h>^8^{`%+*%=T*Z;B{RB9T0?TCMmW
z*28*PhGmIPr;E1R?feqm$zrjfuC5MFr}Gep!vUV>#h&^3dDv_=o@Gg4VWGn9c6ZFo
z%)nqUpr)n<X0sV4lL<OqF>-P=$jnqBEiD}d1=q!%k&$t_QGEx?lKlMq?Ee1#@nA3r
zjYdPm9P;uCpi*Vi;MILJnrmXu(9ml%H+#lemZ;TgLm&{C9UB`%VqzjnOK;L9?U7`B
zJkC6ef#O{%dU|}bEK8J1WtHFWM^{%D<Z?Om`f_NsH;xqLzKC1PR>-|qFfcFxmL<u_
z$<~R9w-_Asqq6c2TrLk98(YxO;MtYnQbE?5AS(TCMw~ZYbguS%fG89S`{?K-{V<a-
z8jVMiHeG;vvG|Y^E~!8wBO~uhrP6vPG&HnPpg&AbgMg<m1+=`HfbyOZQMOcs*DG-O
zMFtY)vJmnpVo_uY8zHpLQZY<yZti^?sIBd7(dO0`lAdQF=1V*XANKxVhGqZODVdB!
xq@)<blad}BM`DN$hTJ~=nN*!@B^eSi_Xi2D7CXNQ(;xr<002ovPDHLkV1jZ@Oy>Xq

diff --git a/interface/web/themes/default-304/icons/x16/printer_empty.png b/interface/web/themes/default-304/icons/x16/printer_empty.png
deleted file mode 100644
index f1a0095674818d22d5274e0a55df4eba6100723d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 493
zcmV<J0TTX+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005BNkl<ZILpP8
z&r8B!9EV@hs|eDmlUI)-6qr!b&<qu(8)yV}2sJ3GgCe3ZkV=9GgzO}A5jqIgAsR_a
zP^8gcAaqhh|B6rVci=Gk2_14ght22tYz)Q#u)o0mJP;0tnIuUXvMdKVi601#eQNaq
z{s#+%Ldnr+gnqxT)9dwg27>{}A$M|Mil5MG!e}%er&1|=2RY<YLoE|UaXOpLD#PIr
z$z&3RLIL@F{sXyO4vL~^4n0{WlToN;e!t&VDwWQ=-7X@L2-4{^;_*0Qu^2=#gry|`
z^Ybpu&d$N-ThW}`+ZMmk{yDYG>-8?yYPD9U(}5reJWjyl@xkR<<l(|Q1YucouC5w5
zIVrcOWp1}S(r&k3o6RQdb~|KwjZ1+~@pyuo6X(ap#q}$-%;|J)tE!4>wF;}%3Q1Z=
zAh7x+<WwpZ)a!Ln%N!0z>i+%#mzOHGwsvrIR7SCQio?V51ZO&%n|o+9UNop>Hk&Pb
zclXF&%p;=F=&u+LP|M6_^RC5W*(VGJL-FS30jm1M2cLCu5^}~qwT%BvoEd^&*f5z)
j2j4-?*w@;B{~F%_@lY+%B0Yq300000NkvXXu0mjfBc<S_

diff --git a/interface/web/themes/default-304/icons/x16/printer_small.png b/interface/web/themes/default-304/icons/x16/printer_small.png
deleted file mode 100644
index 3f0a1a2c14b1a2917f375e6e7dba93f3684e214a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 327
zcmV-N0l5B&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003FNkl<ZILl-B
z|NlP&C75Aw84wZ@!cez-IYa%56~6T=SEj)+kPi|E$rCidJ2aF*J2W&6$p8QEKLmjI
zAaP<0@B`v>78aJ?qN1YzFbv{@#6j|S4e;~x%Y6R)`Twx6u>W;+b^l9COaE6@Re|~U
z@8ACqlE-U+o10til`B{N8yg${_x1JvZ((8m-_g+p%ufSCkUU-kY;A1|H*enjKQ}k`
ze{*x^|N8oNpiA2Sr={imU$kh^e~>(01AsP_?cTlre`I7N2Hw5<49F#AcnwfcP>7e7
zmTq8XX70HB;KBd1w{QOk(I7rZ93+p|0H7iUK|w(VX(y)$aa-F`7zXjd;z0R9o|Ff~
Z006Wso$gaaPDlU%002ovPDHLkV1k0gm3aUF

diff --git a/interface/web/themes/default-304/icons/x16/puzzle.png b/interface/web/themes/default-304/icons/x16/puzzle.png
deleted file mode 100644
index 8c23fe16ebeb1b8f3d0680d3dbc7de4c212f7eca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 681
zcmV;a0#^NrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007TNkl<ZILm#L
z-%C?r7{{N^cBW&tdCpv#gMQ3K4XTT6T|`;w)W9?&G6jF&3I`Eg)J1d|3JXMvii8nX
zb7Gl=CZQ|qLdqa`Elz9HpzgY;t8=kG;OTizXHLmF@Zo)*=lwn(-W_%TZn*&Nt3@8T
z0VX{~9(y9hEFsJ_vgUkUL8=1ak*7d9`s)&Q|G0pCKQAKJtIqx*NScxfgLG52Gk@Z1
z6dSW0d9IEAIFWMyN5G7+$Q>a>`}Y{~YSi549Ou^&BnYvZ%4dOG^QSIUru?~8{X|hP
zQVuYx77(Yt^<&HD9z2%mMjmVs?Re;28#aCDz_u@a*qZG{&KY?_aGSV8l7zyDqaQnQ
z|6=nB2i~+`_+_1LA983+_{9;Ob4GqeP>_t2i@NtGG5o4=g@bQf(J}1Iz*UG5AtC{B
zIR?XaLl7a-CcGDX-M#aN(f@QGddGL;_NgG!kRaeM;JS0Rarra`7wYr07s|bDxtf_U
zs$(^%Bz*=|4+AJ)D_whoL2C@+B_tTyC~B9EV`!nlxN7iqgx<Cf-B0{jIlaqZ)AUYM
zQ(JUPT-F#@vRb#?DA#C~1o5(27VLRmo2R{yZ>l+Uz6RZ+TXng=Bm?arto^o(>#kRK
z&-+oGqnpk7P#Sh=lqbQUBLV}Cw85Xfs9Fl3<&3P+aEt(6rKnX?7U?IMNJCDIvUFH)
z1E@3UDFwJ<7ZuApP&#X6LC6$@xK;!Wn@9s?8g%hH0H7&w68vRU!#P<fSs#|oY}RQo
zVG0slbH9Le*{&IRdgu=TULrsQp-GyM&f7EwdZicvycT)|HndtNDIfX`O3Oo7!sX^%
P00000NkvXXu0mjfRp2x9

diff --git a/interface/web/themes/default-304/icons/x16/puzzle__arrow.png b/interface/web/themes/default-304/icons/x16/puzzle__arrow.png
deleted file mode 100644
index 2e6fe76262d44c1130bd120c3566736cd66df941..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmV+(1L6FMP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008zNkl<ZILl?z
zYe-XZ6aet!b(`9BbDPUo^iZP&71|aSrKVFqSY{S#;4&XL=m|ZP3X0IukYNuaxT%>B
zG&S=<sbzf-GYI}#*D-1z%!)Gmv=8Fv)A?UFBO3fT|MS1+9L_EqB-PKsjs_Q`G%rGG
z%P%plb%{~5?Yh4J&}#(fGg`?AVcuw!?|pm&ERAlUCMNzw<T1JFi!D;D0(fE^FZ+ES
zZ9mRn>C!pmIe|5aH$RFrgmLQQeXMw39`Afd<T*XFL3h}Aw(IEfq0eQQ<tkd{IRWS*
zod$rEu5XLCz9N=85eq;3b<vF&dwGgck(IE5c{}nb=N;7en6&8uB2SNr5hq_Tj&G3M
zK9Bjch+!ARm359I3slI$hvVHjbH%9Zk8|_fOOyvtBN*+&V5oQoA+{ctFp0RK`XQRS
zt8l;5hP*M86=3SSJj|Xg!n{wVnCmJ*Xw@?U5PYp1)K^PES#bqa`7NTtc4H->?JVw|
z%vrN%>Hu0^rF()J)DmZTxz7Wlju8O3rv+$Q<yUJ0co53c-ycTH>#Q|<-{zv)p>e`>
zuoE*8p-yQBN02<gO2)nTnela##?mluU?)a*CE%8R6H*f+@E>T@jAYFeqG=*yna)i2
zXtO(Z$b$NgSk$%0$Rc{;QCT1O?*_FBJJbcxfQAs3GJO!u6Pfa=rZ-l4+c9W(8i(P7
z+hywqx1qjsqsPBaDRJ8ND3AZ`P>FhJKwa<%ACUMwWtq-Qc~|e&kHw;)b(2R~8Q_Eh
zV2VnWQ`;QvF^t8bev~#FjX}Yom8hNu)T*seqaK&7o>|0nJo=X_C2F=4;87@3NV-Y-
zN?t;PMxt7Jn4tnl_c|5`a4Cp|&1^-XLcs@^y#vfV*D-4L5^91aDCX|~fVx0K=$`>m
za6-v+t{4m+iu6#U=p7*PoZtHh)j^V6PapabKs1RbCdd}Lg;OetgA&0`fJfh*k6*5$
cm+H-b0MBWKQ8xX%Q~&?~07*qoM6N<$g5(}^?EnA(

diff --git a/interface/web/themes/default-304/icons/x16/puzzle__exclamation.png b/interface/web/themes/default-304/icons/x16/puzzle__exclamation.png
deleted file mode 100644
index f6de645498e674ed901fc2e04b3150f952e25f82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 818
zcmV-21I_%2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008{Nkl<ZILl?z
zZ%9*76aet^-uC>{Y->}~G%B5u20=JK^v^Jt7M0nTWl)J$t|IziP!#k*v=&WE0;xt>
zsnN7q>M}L$FKYJZ8obu3S%Mz~6_P3Hx8QW{^9_m~{5bdAch2Fy3lG>60sc}%JZc1J
ziUoKWYb9R7)M!=qLq2+ikch!{scv?%cAQ6^Ln9S5#&#7?oWcX6C$VU}6nU=h&l_kF
z6z^JvykWNe!|yo{{`{Epf#*j&I)Dc;UAg{!Gkd-lV~)RIhUWy}K52*s=<^7i_U$9F
zc6#jcl+9+tsnN12o*!~A&{C0=Fx#*lc~tUxYP?78ngCw81$f;kSml>%2c}2QBLLvo
z_haa8H_xtX&<{}|i)%{@?D)JNjh>VM&s8pEKzF?$Jijm89Qk_i*EiobeA<2*eR3AQ
zV_8_;m5Mv5aVxXo=C}En`>6o)zZGGgzYw9;#0Wsg9btX%<Jf_bKsFBhEy@Xa9QJ2m
zgEtXv-5YRY?=H;f-V%&->SQkCSym8SMn(YIT*B?4_vVR-AFFX<C>7@>&nb~(?~}01
zy%aa~<)N-h?}IY16AN*HL$X6vBtYpEsrh21CdgfPieJhrHM7neCUn#o@WQo)c(lfd
zNuG41CPv^ta8>Wk8QhEMJ=rs~X2v@!0_N5XG}W8YSeLAbcc-CrDdOJ~RA}ws2&Vzg
zg)FmwH(GkODo0I!VWrzn#^~l0jB80%EN)qariNufjYE<-LtR2pQ@u#0UK-$t^6~*|
z+B0Wp&7^ClfT`1r(Y4EiQc1WEY{0Z7VLrpH#9(x13Yt3TWF5&URvBcfrvVi@E0pWH
z6!U8q-=Bt>Ly}C*b^<(##ah|;hCWFpI`uNu(#z~HfGw(n5ddc+S<K){6c20p0E;@n
z!gC{|W|deTCBuGx2LRLsdP08&B*1Zr8U4u^)w(1|jV^V7i|2elL_8BIEA{jkNFqri
w>5wZv5Kn~392AOn0z8KHLWDeR6V+S(05Cw3X$$)CW&i*H07*qoM6N<$f_<QTXaE2J

diff --git a/interface/web/themes/default-304/icons/x16/puzzle__minus.png b/interface/web/themes/default-304/icons/x16/puzzle__minus.png
deleted file mode 100644
index 07d7752c0a9429275c3687dba9cfafb863134892..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 724
zcmV;_0xSKAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007;Nkl<ZILmd@
zUr1A76aetk-LAT3oA=J8Iq1)}ScB?eTMyAJb!uRmVJ#(fXyKqDs2(bM3XKIKMMcpF
zEB~OGg*L*itOqHB;Ip``QG<Hxq4428jOg)nzU!Tk)ZoYWowIY!zVB{>aR7Mq58<#G
zV8Tv;Jwy_O>1#;K=lyR0&%;AIm+Jm`7CXM5!mb}@kjHv{$rwPKirGp$-*Rv@6_lpx
zGi|v8U%Ig_)0*Qk0T?ACHh?=+{5ulCm3ZEB(aMWLgoVFFk*``jOpOo7eHq{~ebOZ=
z&O2>4ES_)}ezgP(7paJGWlz1?hL7ziO}exB9EocKs0q&Nj(9|XL75%;+JlXsI&ojR
z19@XD3*+v$%~=1w6`MbIVN)i8yp8}=H55Tm2XTpGdq1?{&bfwVyIwb9;6=4+>NhJ~
z;CYqG>$G~fLHE3=yHx^kyM$H0Yr(+Fx@EyPO=uplr0KX(;wN#4iBT9ZX#+werQ>_X
zkGnm&2i;G0pks6^ZkqHVH8JhJE5TJuqHf_Z`eti#v}e-2jak=p0Oes9N<&Uf`M4Lw
zD@A{wpwAeESRoDQU&AWr_oIKdRy(TiRfwLp6K#*(ST?mqvv$gZ^2mDC5EB*7I#i(=
zu9Ya%O9NuX2|i%kv&tOpnRs2!%1Ia61~;f;PhlFuz>GZwY3p5wYD>CNo}rV?I8hj|
zDpXGc`phBdHK#O7dsaU0MZ-~1q2?$7z6#w&MVg~4>4biZLbdc}O#wi)u9LpX3no^&
zuo;D8Mn1r=5AgF?V$`e?dW#ik=g$Cuy1+u{p8*wcTx3$liN(|FRBDXt1L8d9`8?sA
zNzv-*MLz&=5HImTy)Y)6EKoRz2vGuj&FAt~H5n(U-v0-#PgK52{>C5x0000<MNUMn
GLSTa7xKm*O

diff --git a/interface/web/themes/default-304/icons/x16/puzzle__pencil.png b/interface/web/themes/default-304/icons/x16/puzzle__pencil.png
deleted file mode 100644
index 19aa952fb87ed1cb7aa66014f9d71443025101f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmV+(1L6FMP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008zNkl<ZILl?z
zYe-XJ7zgm@95>zA+}X}FO{2?P)R00pKNw|RrUO@Mfy=-WH5^4Zl8Ax~(=;+uN-S2H
z>BKSvFXSbqKuRHa4NfAppgu*^r%?uee0tvFw4x6`-rMv1_wH~G%nCyGXF(Y3OikV4
z^Z8&ZC_s6i0iZvA*^_uT86hk(x>wJ*VL_P2x;i|akx^SxQex);96XL+F;V%w1`mBX
zi51_@AYcD=2G9lI@gya+E-fvg*Xuno*&}4}0CP|V=!@efJPQXG_kF0u{Dsm*zE<~p
zNze*#9{^-o-fpwmYL~uVz@a<BC=W4rQ$UZE7r6=Zeexq8)ivLLNV??Z07;UdFjtq;
zaY=Z|LmKZ!|8RDjLR7@KgkeX>`>qTv1NPND5>Nw*ygD$ZNw6nd2iIyK?`)&?Cl6`w
zUx!EE6d-TRV?NwHTa2E!rC9vF0t*+)5jtf?=;v=q0PPakt{WlmiXI$ou^%tDCm;{G
z(VKt;<5{@#)m}`W%n9q84GNe3JUa{l3nPC5R2^o3+h$fenuQlzWyD`0tm?4iuGfWV
zXfe%09r%fh1fWUlhZemW;3g9he9riFGasbk{!=ni1#TK}A~i7r|AAK1NdDXbbWY_i
z(wtcyYz(CgrK8-Ff|hQZD)Es6wO4ij-k?F_ho%?`XpUu>Gezi{%2TiEeBq|2ZA0r*
zJ0=WnRjnD^f^u+uII2mja8h?tII7L8P%i~E8Ao`)wr81(G-ukIa!4LeL2KuRu(mp8
z9(=$w)zS0Pz2vZU+>Y`X-E7Q;VvD3uJq0uv+)!_rP%Y0{;*0~Ms<a9<`w8$-tkfu$
zY5GeMVzWu1S~|>)2FQsxtOGc&XK{0zQ9PpI0j@}Zi?1z=nj^$|qXK38830fhm<W9t
zkOarH%(7rZ<IvhLH3lL90lwz@E5vhpMXl#=GD#*5;slS_CmxShI4BqW1o*hJw?Zh?
c^i#d-H(>%?&f-QDg8%>k07*qoM6N<$g7B$g{Qv*}

diff --git a/interface/web/themes/default-304/icons/x16/puzzle__plus.png b/interface/web/themes/default-304/icons/x16/puzzle__plus.png
deleted file mode 100644
index 8bf14aef5e736c61ec4b32f530cbbc3ea665d715..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 758
zcmV<S0tx+zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008LNkl<ZILl>|
zZAepL6vt23-Ra!iyql&e^fDJUvOa9<LzI<H4NNnnrQi!%If(E>K@mj|3NvJ-y~3r;
ze4#Q6O+r`J2PuQ#vAC^KgCdBaV$ePeKcCKXcdt-g_;Jqp-*f()`|w<VK|8?xJb>|h
znP6(<^_Z#wJjnMG(*)C^U)6O~gJB0BU`KwRL>|>zHO}WmI)0tNmhWBI{_{BUTGP|O
zExSz3j1x!%QO{MK8{N%|RL7c9`#*JHRje_^Ya+ejD7}a4xvcz01O5xwVaUOo`~(Yp
zA#;jqJwo~&Vu-eci&h!JR>mp)R))}TOTd6_39jWPsEKh39=qc;@0(GYaK&|vkkbZX
zE5L;ufF27g`nn0BH)rX<=T5Bs(29GbEyxEeSpavwuE*-PjadJ&9qVFk`lph?fDPb`
z382d;!%>mJx$MNAcTKo$zGj*2FKf~FtUPJzGb<e5)7?psB}S0J6*9O=^jZMUW&_-y
zGkMd1zUNiT?08j&=CCyi=OIXV2^m6S5W*(az)wUpc+U8`TV{8m>(N#$9xKIl6CR`?
zM!<i-CF^w6;z9JxRir3q((SeJk|`hBM@mo{cB&NKbEDXs_4funh9HD8$)GQXl`ZT;
z?_8z2s^^8DPTPr&hb}Cb+^Dj0as%2&S0^(<qQbEa7bP?La}}B;gOFvK8*F}3mZF@A
zm+f);YzaCB*CfTx%qRqa89I$o+s)#nW7dWC8QN^di9*<>P(K;;nElXgj;N$_R=D8C
zj6<SA!$AUg6gmuwG*6$TA@o@l>ZO+zMu2jS)+~V2CYHCj9)-gOZs64nyu6ke4QmM9
z76qF58351}&}{<#XB6?fAjO<$nOc>kL0L19dChel;gm^H`{|)e0L6rx@IbY2S2$)=
oIM5~p3E)xJbXL?E#;M=?2MbJKs#Du#WdHyG07*qoM6N<$f@y(k3jhEB

diff --git a/interface/web/themes/default-304/icons/x16/puzzle_disable.png b/interface/web/themes/default-304/icons/x16/puzzle_disable.png
deleted file mode 100644
index d39db2e72f3e66e9f5782cf67f21610d038c6a5b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILmdD
z+iDt77=`yuX`!@tp&%_Sme51eXfsI<6sja@X^W;1ltwJh2+oBdC@SKGA}A^%-ULMO
zfQK9L0lX3)z$efPAHb)uYsofD6T0E!Kg{~q{%2r>kjLZkh*qm5I-QOfkH<#L;0ow6
znvKte&1TyU?w~=x-!~crHk-{4aK^~`AA?*jcgLXH?QTs*qY(+L*Xs)mA2YIMe>fb9
z!C>%z1JdjDC^AE=!@$nSntkf1zhlsDx7~QC8<|WdDhy5$fA4zK-58WgCDCX!cJQ`y
z@Wp@v4!}q74Y;VIeru4==S8tt6!m(Y(BKnzZQx+BSo~}@n<0Yyf;#GN3`n6+;5IZk
z1^Wh$udlDwN~NMyt5s9ETy_HmwGi2C)(n#Xk-08cHXBgb=ViAMsZ{C;g3qhf>I}J#
z75~V!pBp&DcELm<p~T~HQ!<%!0|m7Z(P)%6z5`EX+?V+a@J99y=kvKMlgVfV`S)}>
ztzlLOUDvt6$#S{;id?VNYL}>=&1SQ6ltHi8%XSd86aBZ~6*!8;VjB8FXqskLRW(3l
z&W%2VLLm*q3J{E}<#tcFStJsHR29N%wF-;Hvc>6i3cue^gA<sk7&J)(6KnKef<0~#
z4u@5T!?FDl?}7W^A$a8T`DpNdI-NQ&=#~a<*7D<Wiz6CRPlE^GG1vnpyWM`N%42*5
g_11B@T)(LQ3k-AySQe>C?*IS*07*qoM6N<$f(l?0w*UYD

diff --git a/interface/web/themes/default-304/icons/x16/question.png b/interface/web/themes/default-304/icons/x16/question.png
deleted file mode 100644
index 2a55b01d538d8a0a0f6141ddade9c1c480899c15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 668
zcmV;N0%QG&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007GNkl<ZI8UXJ
zT}V@57{`yBj!3=BS`sBW9WKR<oLM$C3$zI)*|aSv=RUiLOpz9bP*AzN3oJ-i7ZE~Y
zg&%chTdhSbYp{fnxn()*d$?#HcN<Udb80&)iY|KLcX-b8{{O!NhXMfVe_$Tm(n*S2
zHcfHMX@Zr{70+l1R|)rig0q&n!whCg=TCyh+$#IzF5`mFFc=E=T#m-OhoW(vc_mz{
z_xkV-Gk+5_=G8cyhKnl^{Xh_oocZ_*x(h+*JohECM)t^w+1~^c{9GwLr8)mOqB<Rb
z_ET?R%=Q)1&)MNmpzK?ML;cH<oQnHX*kJ{tJG!0fIe(k!H8gk4Gjy5fVbJml#vi<6
z1fz72*|+xkU~BuVA3G@lM>u9_GcAT2j(Q+Tz4ke5Q#zn`zzJ@*8%$;!2pYygD8CC*
z<>N4RSV7UKRoS-~-=lX!on{s!3Ofj!ra{$X2ajhCZr*l5@!kn2mQOKA4%p+^VFiUZ
ztcsHhiR#18pme_jL@f^){C+<}N%Kr<hlmx<1a??K!S!qPx|b2L@&%M1WGUHaV@Tg2
zqL!x-?6883!^WZp`{H(u52PL56roUvA$^DB%jh@QVFeqmtY5WxgsxKiqSeL^u*2}4
zAt^|{BVv^|$}1S5vBL`ThbRvJk~~{raaDE(VztM=K@CBo@-X0xRCFxGRu@`an8i*?
zfG2||pfa-6O}sp_ZIg@+RH~Pwbths81ZUjg9cD0#CtZ+9SV!1G{^)Khv$dbfI(Cc7
z>VEPAGUE>KD5{LW$4<I{L&zblCFK7D{19e2*!>O(lM^5oLkds;0000<MNUMnLSTZ?
CcP$bC

diff --git a/interface/web/themes/default-304/icons/x16/question_frame.png b/interface/web/themes/default-304/icons/x16/question_frame.png
deleted file mode 100644
index d15b7ecc78989b6bed1a8b2f321d1072fa4ca203..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 794
zcmV+#1LgdQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008vNkl<ZILlp*
z?MqW(7{(tG8Roa7B<O=5WJYh=G!`poj6}(ydvU(ZmlPEoOruRfWmy)8T2xRPez4&p
zDKQPDKrA<%OwH+WW}7%;qT&a$LHP$<o%_i|I`D)0+}HKH&tW+^IZUI`Fr7}v^m;wZ
z&CNY-Fc_2~c_J12(5$44I@BeHTz2SyL=2TytF>WfW@c$;X9wHc+Z>ub9?z1+Vrifb
zb^kvg(Q377yWQSP!mIZI)IVB8mU*5-vt!7Qt*uS;^z`&nmmGc|J3E_569Y#m6hdj^
z915C(sC^nnUDqD0oqI4p{)xPXRi3S_1<~Ez?I4F-rdF#@n9XL}`g#b)`Wciz*g$p1
zE(V>yark-i_7{qq|8`bZR$wxjY~-@c%uJQj>0It~%tBZ94L4ghp|Pysc1HjYUoK;C
zY>OXwGr9|-ErhHZAD;J4V|aLYnOv5ho?cA9Rb_Lb^j-)VCV``>`~rEQ3-xW2@Or&y
zX#b4(j6o>Nrg+!uoddZ{rBay%LBN%wPbj+c9oH&mAv28QwE82Ab>k2OA6^emLwaKb
z30WVIobTjax7!VJnNq2&r7y_yN0DO*;DTWa=k#t)Fc{>V(TpGLWCb4Hb-7$1mnjsA
zazR)`iFFjJ>aUO$`wlp(b#e~xWX3t(otSWgTqc*xGy3}n0v#`0NGX^^s%Zn4E7v*U
zaG3M&oj9*|qOH>jyWJ5Wm!+hnoYZP{tqTjwxL!7bOC<u*ZiSIr6FxXVGjY+lz&o?E
zi_mDat>m(#q$HM@n3&nze1E{_3*u`20OGU8Ag|m&QsF#@X4+9E2&=H!S_a4=m&L}$
zvbeaoD5+Fh)Yy1;$nW1mdzS~<mG5vYxsyXP?fm{tP=~tYkW0@Ik)slc<Wx*dOo>8~
z`mC>SWNmfz2M$9!%BVwKa`s&oArd1Z6_G_oMyjHsqN<{!qnkw9_GzLWWz-Q#*molS
Y0I8xG%UKpoRsaA107*qoM6N<$g6)TNX8-^I

diff --git a/interface/web/themes/default-304/icons/x16/question_shield.png b/interface/web/themes/default-304/icons/x16/question_shield.png
deleted file mode 100644
index 71f274c9f3db1354f2df6fe1f06ad28d2e4751e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 723
zcmV;^0xbQBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007-Nkl<ZILl>`
zT}YE*6vv-;E2<Th5!1{ep=eI0`2{K2RtUC|5=AnR%vNgokz{2^1QNL{6fy&Egkj3O
zP*ZbrerCHVW2MW$k45U#@Ppn$FEkKO&w1ST4t(Ip&U?=P|GOCh03ucx9dr_LDE$rV
zCgKx4{*-nH{%jZO$T;%YCEEl{(&ZrzGwG8a%-9i}>F%)WzFlC@Q_ASkml8y0o$}_`
zWbx}&xLdOVXL81W&|Tx!4KtWE=mkMYN3TY^#7iQK=Dm?!=5qy;(|2C-kXAa)$gBJf
z3HcK<l1QU@56z@Kn&q)02;^@~Mb&>ca-T0kPQ?ObJe~%<X&KyKxo#1%p3G5ZLGyHe
zgLb-I0@3m2_RKQ-x;oDaP71W6@S^TJwDim}L4#qzbxXcKxsDw{5YY4{wZyg>pKSpr
z%B)Wioi+f)+7Do{Sm0qrANVJ<K%lw}PNthzXs2Ef_%&3iZ+~0DqDnIa;i>%)c)<Ya
z#r-fmY=y?wj}V~lfPnLz40&Sj675t9f@8X(h!pdb>V^eEk_SPaG{CUgY>c3bJ+7T1
zWe{Y_&MDd{6a>C?@t#r5Bg*Vi2)q2*MbM=_hWjom;|m-JZ5qLjAn>W(FZQW@PyhS1
z=xgH;l{v=Xd7k0?M#8U*tYH>Ag220mh>pA}JsQ(7p)B|XF*$P#r@;9gn>!EE=(Y*W
zVn+~oRTGi4>JaBq{?1R;ZC4fYo65q!5T5>(ahlF?`TVADoXL(E%woqSz{l<MBi!z*
zGHzFiP9l9~4Ne?dK6~#UAUI2;6;`~l49((m7l<hPC{n`t$Ov~Ti*UD$-irF42+nkO
zo!toWbYw;Df*p=SFeP$}gRz8YS}3hsvvW@r6ff*x_df<E^T;k`45|PC002ovPDHLk
FV1nf`R^<Qy

diff --git a/interface/web/themes/default-304/icons/x16/question_small.png b/interface/web/themes/default-304/icons/x16/question_small.png
deleted file mode 100644
index dbb8aa523e506079344445eae941eaeb0222508f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 264
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`=RI8<Lo7}w|M>sko>_H9qJ-3e
zHM^%a-b`4oEpVRc(c6GqqAGq%7^7p3zU7y(tbhDET;czJO9kDm?f*GE=2$SBTtC~p
zs`kf0m7MeSvio)a&$q4qc3<`H9rg(pfoujVb#99Wl)UX<_kZ30>3Xrh;;-&~zrXOs
zKYNA3M?4eeo8MRZ^u>MhhRy$jSAG9y&SCW{{`T_|?h`Bu**yG<p9jVkT(bCa>3I43
zdw<Qj_WYO_o%+ucEa{t?@Fe?7!jpBeJV)9Om`vaolGoIn_zvi=PXFV(LTe*sfnH<q
MboFyt=akR{0OS63W&i*H

diff --git a/interface/web/themes/default-304/icons/x16/receipt.png b/interface/web/themes/default-304/icons/x16/receipt.png
deleted file mode 100644
index 5c628d7769e04c070fe414811621682e2a2b2321..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 396
zcmV;70dxL|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003~Nkl<ZILnoi
zy-EW?6h_YsDU4~9txThxPY}TeNT;Q#w$}#;f>^{xpTX4Hq}WOyLQ<zmCxS={kwFx9
zXXjoEHGk}`dYg~=JDj;QrZ*S>V2s%ZHh^1TuOgpR^#<Uq)4_@eB0>nE**iGsk4B@t
zsth4Cf6f4yldCJf>+n2|FIAPYGRAOveSHM<0WRX0TAt_Aby1y?i^^I{p66zMu9ka0
z9f&HS!T?p~_XE`Yl0m32Fvj4Q4g8E~f+~3k<p68(-Y)^NY!Oh^166#Ml>+$f3i1V5
z>_PSqgPJPYvcWt+L@IkABGrKK%N0VQL7M*g8AX*WO&0)mm?SvoaL!o)>Wv0LwJ-&6
z&RORi!z7te>QTgIyWO3nsjjtJ#}BWsg*i!6-E6nJ^(gxOn2G@+pt-uey=xnd^^g1e
q;mX$5PFc#^+spfSd<Q(L>hmXp-Wk^=+=L?l0000<MNUMnLSTX&4zgMR

diff --git a/interface/web/themes/default-304/icons/x16/receipt_arrow.png b/interface/web/themes/default-304/icons/x16/receipt_arrow.png
deleted file mode 100644
index d165747871866152574d196c87b3f84d35d42d82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 530
zcmV+t0`2{YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005mNkl<ZILnoj
zF=$g!6o$Y1@<d}&P=a6sYORGh*u^$N_NI%~K`2zrtd1E(k%FCsjyl<P5HS(yP#lyx
z3q_$=9L!=sD50W)8EPI$-h21n<B+D-*gWyT;pd)v@5g`6<*K>mWdM{?mw-Xw6)+W{
zUq$34JK<PsvDRXYNzYABFIFm*sVFtZq`P;lwWzzLQWtjPexa}+BJ>NT6tm^>O<=KG
zbG6pH`&I;NZC`-nIB2ca-kPh!aCc!vFcA(AVefeWH|%j>A{;2C2zwobzlq9-ppEGd
za2&!g>;VM9pMa<th!6%rUjYAV!FB-r95|2G8twbI!GAbddgrlq?CKrk#J7WXyWI2}
zI6)Awlge6)Hl}ZW`qpCR;^`AXyImBK0`Rwk-WDFMZS(m@XV712HROQL%;n*+$Im_%
z#ai6J_amRNN}OE&4Alm><7Wwhw{@7jGCKC+$y(7}Us)kDG12)KKs=Ga^E{HtB%bGS
zvRP-fR3#RR(QLI~WQ6qSFy)7<8_IDW01!{5IF--e`tJL3B%8fmYc%%N-0W*P_eNx(
z@ceyZ@?IgCy@mo(K>BbdlXDV@qwUSj^+Q8L7xvTG`1N@?IC$J_Z7i4%PnUrDFMS(J
U5cwPrcmMzZ07*qoM6N<$f=aag0RR91

diff --git a/interface/web/themes/default-304/icons/x16/receipt_exclamation.png b/interface/web/themes/default-304/icons/x16/receipt_exclamation.png
deleted file mode 100644
index c96861c968bf919eb118fb7d283f6c1876956273..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 588
zcmV-S0<-;zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006LNkl<ZILm#J
zJxo(k7>1v7xVN;u1r>t9VgyZu#1JLM7@155Coyr5LBn9;pm8@q9GIBgjm+SHguw_5
zByLPKPBJhs)WlFQ{Nz$Dw)gzGK!Jw#OWu4r-#O>Wb8^JQ>?{C6h$p}mU;!9v(2LHw
zZyc4h)?%&27?YhC9-dlVT^(xFjWOBdJJwpn`1JHK?Dgcx$S3C<^-2iA`<a<Hz|`@~
z(^^;et#epw>jI>dXsyNRnWvSiF06By1_n6C>GJ@dsxdGP41^G<S_5@L6vjEUG4%mb
zqLiuu#PL}`9fPR&neyH;1FZ*x>!sTt&jV2J3C>nH3|F|;`;6}2W4-s<my<vlK*n**
zQK|;DiFUq|4ldK|dt|c%oyPJ=8_=c(V68<Pb2d7rw6(~^wr-xk{6g2&yB*eur$*x$
zeU5>#_DrJP6%w8R^_RK1IrP6`Dv`c^OB)_44Kl7&I7;;!Phu!-d?jeju(9`p#f5il
zSJv>`I&W&tuu=$_pPwfTL&7kW7DxpF#yL_!z~Sysgx$i4H4<{0$3q`TdnGcNO1q!T
z+|il`GAtJPwY0?6=4O-c`}F5>qv;@^KbITb|1(R{Uyo99lZ+n`?TnN0BQpL0on04h
zD8(xQv;*06U*Dh%f=lH>A)oB&xnC|6@^4?*$-a*L){6C7nx!sPtk)ui)5#`P@;u^%
aNB%$Oc5(vGZ6h%N0000<MNUMnLSTXybr!1t

diff --git a/interface/web/themes/default-304/icons/x16/receipt_minus.png b/interface/web/themes/default-304/icons/x16/receipt_minus.png
deleted file mode 100644
index 7d8f20fb467e466efffee7f1360dcbc21fc1237e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 468
zcmV;_0W1EAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004-Nkl<ZI8TMr
zyGuf07zXfnXvu;?CtGZDDlw?3p%ABN2!f{L(4bbQBJ6@gDU?%FAW{xBghh_g+JDd=
z5ClP26cfbz{p)?C4^EfQ4*YnB_j$hWc#uL@R|Mf?a+Z17&_8olc7S#-FD0MgXMS(b
z+ifCe=nw_Z&m~`*1Fd#j347!W9ipwXGs)lNP`%ky!X7z8hiD@nm;CisOH>*SCG3$i
zbcpm=Oj@e)EyY?*347!W9U|Y+k+fXmTXN;H686X$Iz)?yhtf*EUKbz5q7wGV89GE-
zBqFWk_%+k{yb|`v$<DsZMYIqKNqV+g6>qtm686X;9~&Mf{udC<1%uLRhJWW%Hmig^
za#5R&lHBbaFcSz!YpGI6JZ3V#+<H9X+Tjp4PNz8S>wD(n9b6EdkXzTK^>_YI59#zT
z2`*Roke`nE5E`&rX+qOr<CPD9`&8=NOlX>j^6d~bnO?$Ngaf<*o?eTEY;N~vn!obk
z`1tm7q44L#9=S>Gz*MJAWMLyFyWQJAHn!7aHcxk($Z>x3t4E)x@_oT8uyk$!0000<
KMNUMnLSTXe_13ij

diff --git a/interface/web/themes/default-304/icons/x16/receipt_pencil.png b/interface/web/themes/default-304/icons/x16/receipt_pencil.png
deleted file mode 100644
index af6dde02f874ba478cb401cd4d303268e331b255..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 583
zcmV-N0=WH&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006GNkl<ZILn2R
zUr1AN6vxj6A1Z>$^~t?RBN$=%AT0D@n$cz>wg`$I;`Y$Prny>Tf4I@yUVIt^J|tn5
z4??!RG&6dTA_gJ!RAA9mFcg!GH5haA&bjS$&c&ZB?An13hx<F9@9%f-??NaV1tuJe
zxd|^}{!e#{3<JUGX@L)^E)NfT59;jIWdPKvDS@v>LbX;igy-zlWdQC?P73-eB$X=_
zLwL?!T?Sxqd|c31u2xao*)fFY?1{_^j|ad%HYVsV(J6)PZ9{m@9{ZoHR`@JQ0KU;t
z!ObF_lH1xcgy-zNbh%)S!ukd`A`!trzFfxNg@PeGXYYAyYv+n2y`Gn(GoXx&2nKTW
zn(2Jr5T0LC)o`GrBZ%QJ&PY-Mu7*Maf3{S@U%8wiKUe4QqN2n!O+%;I{FwfM6E3N$
z;8updb2Xd&C&{I^n3#2;wxOcMVhPH!+%^GJ7lwuew^PL;u4FR%_`diCKg6ASIP$1*
z$$j=vkI7^LeFKNzF9>YVMJ=b(f3fgm2H(dWdN?}Kjn@O`p7dVngcEi<+_BjJOwG-3
zT2Yw6b=rVQrc!$Unw-avv*-2jD++)4_72%&pL2V4xTy(R9FDtby5&Zj?f%;4rrzh`
z4-pHCdbrDT{29;LW52%m>C_Rc)qAwP{Xv5)_lQpGsJI#uC+)|cigosAy=^xKe*jmv
Vdhi>(z2yJ^002ovPDHLkV1j)!8Q}l`

diff --git a/interface/web/themes/default-304/icons/x16/receipt_plus.png b/interface/web/themes/default-304/icons/x16/receipt_plus.png
deleted file mode 100644
index a3a0912c8ad929a8eec7eccffea0cf794ead8cfa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 494
zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005CNkl<ZILnoj
zziU%b6vsdJ@}SmaP=crdF<Zcb4yA(NV4x`|b*zis+dsf6Qm}&v{t4E#T`E?vb#l<z
z&<bgSxLI68ZHLfQeed3Tj>BtWjmaw>xO}<4KKFah;hKe&6#$GeH-WRjD_}B1zo_au
z2Vq475g~+7T$q|#Y&M&dSsFqpcJ7D>=Kj)B2R8F)disf~GAN8O%r7s`0*jrs$a~-2
z7ga=LAi!FS_ud>{i@bB)iKr4X9H7eK^8k_SaS$>b7-Mj~4%{E2399%I1_P|cIoAV7
zlD`32HBiMR$v^-{r64JQt-?D{1*b&Ge>j+XKgaXZ%X>eg9~V)bVPCLGl5jALh~PsQ
zIO@9%ZePE34yU8UX}A7y&@YAg`U4uRCe~V7p#`x3Y@lpLNgN;9#>TfTPE}3=u;X{A
z+_*Lh@b<+UqT1>z<?-?KUjW0o9PM_Sd_LdR3;7W~zW$IFvSMgHt8b=HlIn1w!1-$R
z&eu5B6Juj{Kkx1J)k{yWYVp&E@-V+abqFSgFhBt)9xs=#*j(=9ukG#Hu~O-BKV`x`
kmfZds`R;41xmjTMH`J#&o>}cjcmMzZ07*qoM6N<$g08RSg#Z8m

diff --git a/interface/web/themes/default-304/icons/x16/receipt_shred.png b/interface/web/themes/default-304/icons/x16/receipt_shred.png
deleted file mode 100644
index 2e3c8f114ccd72d733e9c9d08cb8038555d895bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKVBF~G;uvD#-`cy^+bK}unEqCg
zZJypjXK$umxN=E><Dq~E@1uYR?wPGqTAf}A@$xCQID0Q>UfELb!1_@BfdXq|Knj;v
z*P^7fS1)bY<9E1h*ZWgp@&0q6YQ2qKqk~f7lL*V;|0^b1^%#0u^&RDqw%-ss|NO7%
zO760T4?5jAZ#TsMYHn2eFmZ98L_vI<&^I~$(rR1R2g)G%T{{%s+^w5mTT`paByahu
zgE8I0C#Uwq{w;R)qK*ABrAHccMU=M9zN@!-`|Yj+?tNBC3C0pCGGG1LL!)#dW+d2I
zD$0odo4(vhF+9)YhJQgjNZ)~7_x&xr&#LV{pO)YK)vEf$^WvhTvUWvR1evwv_&0tI
zTfOmfh}NH|wVP)9Jo8((<1pCl%KG^?Y9BfVD-`_r^Y7fbNhdeN6oQRwxc5>;=Vr~m
zW2O4xdYetxfA?6ogTI!$^az99+Jg$ZGtPQ1pLjwv{Ce=pBXyS-?r*WNlahG2;@H(!
znP(p@%5+<Azr%02{6hYtN%8;M`ei=7xOhM#eUkC%ne3}}?(8+}P0Mv!UhMo)t$(rX
dGk3!eyyfePj&*%Lv<eu944$rjF6*2UngB;!*w_F7

diff --git a/interface/web/themes/default-304/icons/x16/receipt_text.png b/interface/web/themes/default-304/icons/x16/receipt_text.png
deleted file mode 100644
index 0d33918e5cb1f5d3ae18cfe6afd6f0cc3b3ff4d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 476
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU|j6!;uvCax^;rB2UDTMvHT3p
zCa2|5QggEevhoYK+7&X2GB2E3&GGwyVs2qpR%S+KfxzOW3)`HSIAx~@I0-B|pb_XZ
z;g5%J?QeViJxvd89_+U-KmWe+oyA#szU&7-K3!T@ptbD3<=ab&O1{=ytt`{49JKA`
z7vJFYx3YP_%f=cWZu_!icbh`Hx~$xd{W}D%-S*1bdK=2OwHLn@J(usU`edI^U#H4l
z&iwWB@7qS1c_kGN_SV8?Qm=IN<Kt^XW}lTi@zArKJ!bjxLutNypPI=nuTVR@yy16y
zNY{kJlll19%$>vW?tNJIrJZvW!761M8y@JbKEJ2W?RSTry>WRbiz3JY5nq3^?!A%`
zpf&sL<IOSez&0h^d@Z`I>#J3)tCG)?mz{Y@hNq@^*@BJLskAv%wl8e)_N0pfPd+R;
z%xo4bURHEfYp)0w!~-*C%(^5d!?)r0LY4_9pR><nkgNGp!Ek-W%{6Cl<W#eMov!};
zIsZNFsg3GI6(0&uGQ3MWt|Rt*$JHu}BqLou>xY{4e6~D)7-i%pU$kZ@-4Bd422WQ%
Jmvv4FO#tU|&Po6P

diff --git a/interface/web/themes/default-304/icons/x16/receipts.png b/interface/web/themes/default-304/icons/x16/receipts.png
deleted file mode 100644
index 5c72af536a0d78c210d7a8f291e7e6182b158697..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 496
zcmV<M0T2F(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ENkl<ZILn36
zK`6sv7{~FaP|{>gY3-yqaN5NVjxG*LQZAfaY=%)2B8}a4bKA*9w%Qz&l7m_+DcTM$
zD^U(CnwB-$G;Q;Eev5xk3~zmV{(IlIw@;0HkqB)>qqMoVSDX0#xi>61W#3kB;vDx#
zKTu1)*TZ4tVp(H8pR?Y?Iqv;@Kw1lhXk}-|Rh5g?_jj&HdSV~v68*}RM?$$`k<YKM
zIh9Uxsa!THSF7yZ-kz4|Pwr77fx)Mjmt1&zGb&Xo><I?l5`p?JH=asy{`J+UC<^D+
z){I011~_18rsf`BTyXZ~#pqcSlYzjjL<9ynU}>i29ww9gkk1?CN+llm`{yJgFu(yz
zGc|Yr?2K=po{X}xKf1c=k%+(m2Q1Ch+~~;(-(<5!8TogHyxw_<2n=w*(oD_Wjm7xB
zP~fXfrZ&-l+r1zWfdLL!nyI<rc%0k&`<L!Sg!w3{o{^D7Q%4687~p`VnVQ=-F>%mn
zHV?Kr9LtRs%K&C;Z|@WlbrBfge9^v`-??U+jauw>!oqB_T5I0~1~_18W<73$$@KF9
mS)Jf$-ml!x)!f}}Jn#X-43op%`03&R0000<MNUMnLSTa8V(gy)

diff --git a/interface/web/themes/default-304/icons/x16/receipts_arrow.png b/interface/web/themes/default-304/icons/x16/receipts_arrow.png
deleted file mode 100644
index f25344387caff5a8a03a5eacd216f3e775910a11..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 608
zcmV-m0-ybfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006fNkl<ZILn2S
zT}YE*6vxj+bz_zoNJSS>H%T8iVPW8fH(msxgNUq=5j5S>f|Zt1Te}E$XLKP*gBsgt
z8_Wp$plC!xFm$=V!BAM_=3-+gD>s>J^WQn6-k!?pfgk_(Ip=Wr@$izx>m{qtN4Nd{
zYRdh4?F3`s`p)%I`Z7oAf-3xd)8i4k!RMsKVpuPwFLQq`V20doy6$v#S9q|pwuUmJ
zrqrd+&|h_ViF>I~z`MCQM3YGrOC^m`r2@0V(ZkR`b)Qd8N?<$|Lw<EtqgXDZZ)C*C
zkf{Dw_f0g4+{%hZfh`Qf!zPAEG(<<VR83X)RV0G!^0LMkwm5IMUt)+vLv%z-)l_w#
zPEFx+E~l|nETYq9>t%>ULv%z-)l_xICMGbyxTulkx^8f=k0BBb(Ge|GQ`Pl_LWpOx
zu)fZqE094T_7%s?=F1F`Xo!wzshX;;D;Pv7pT}v>JVsN%8SesGEH2lvp$9~wAv&U^
zYX0EHlaFY-H;w()(87^hFL5>y$K3>Q$Tprlc;|zjL_>7a{L_f$?{qv)!Tt%jFaw;5
z{N&m!u%|ybL#;-ma77e_*>w7s?0NVeyG&z=?WSkpnl69%s51`TG$8jKy)X2%xuJpf
zwYOi*@MCRjZthR;!>K8C>DL_Yq+0!>@PW60<d$<jJue|SyK5U8FK%sW8rV=@-&)PO
ux;FJLeV*I9N#_{d*l|D1splmm3%&t2kiH2^o)RGd0000<MNUMnLSTZ}4kY&g

diff --git a/interface/web/themes/default-304/icons/x16/receipts_exclamation.png b/interface/web/themes/default-304/icons/x16/receipts_exclamation.png
deleted file mode 100644
index 10da4a9617b1616e325e6c2ca3e3cdbcb4e37b22..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILn37
zZ%7jX7{~F)&|YbYfiI#Lz37GZHYEnV$e@HGEO0^eq7gM+X6eFWA)7+btQVsw`-4Qr
z3^hT*B@tK+M#~#%v8}n)YHL}WV{>CWn{D&yd5#)Kvl@K)-R_R#!*QS=9tOk62=t7O
zO3VL$o!d{T>HNmkmap@DAb)@q9d{26aV<!{X1!j$+VXY2ulNDf1+y8>4-U5E>BjuZ
z3g#&J@_D{a!C$%b5OZ7<@s-bqu22Xw*=(U~K9AagfmRCs$(<Ag9<+Hpm|k8kl*#3=
zy}w^W0aO3WeeQB$Vri+6ND8&dbdmyK26LDtXUe%xXJ;{*N)<|yLS;0zQ2@+f4zuJ;
zIoINFpx=8F-Sz|0#xof_+}nGK0$>Jnm?dY*x#M;#x`iW{ia(HcL0rUxI$b*jzzpUv
zOU{&YC#H-Tc&Ejj_z*w2J1`g;$GuwZX$pWD%wg8oM53tJ_cT74*oVo;HB>5<xH#X3
z&S@3yZc}$QXfy!KU`~{{!C0)Qj{yr#zi7tfmu>_A{5IE$PWvHLb=2J|udW7Q26Mvn
z(fFg$KU%=ow&OVW=I9TPvk@O#y3qM{CknP5;*HDY*0NIA0?eS!%%{`HdBfqt`T|qv
zc-Dvk?=JMaw@CtCzq<~tV-@zvyCn)>Mom-G*$BO?4GKlqXL@nJ_mW|q@L^^<M&575
zh_434m`+;GYu^-kbi0JUWq{2UwY4YK*Vmsbt*UB}wz6^$Z|AW!V<yAe;MJZo|DB64
ibFU9x%DaCBuKxsE9>H?eK~(+#0000<MNUMnLSTaHgg4p%

diff --git a/interface/web/themes/default-304/icons/x16/receipts_minus.png b/interface/web/themes/default-304/icons/x16/receipts_minus.png
deleted file mode 100644
index d343b4a6c067a213e06e1c97a8aaa3addb2b958e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 524
zcmV+n0`vWeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005gNkl<ZI8TMq
zPbkB27{~GFAURk>IXH<6M~YG|E)FCq7Y=eUhEWqD4duYeK?%9YCUbD{=b)q{gmSPF
z<-pLiXxhfK&Exs}vR_Y#U%h+w`+mQDd-WSRS5|1m<Dt>jRb%4)YpqtY%6jf^6Z<%q
zJZxNGB)^B<Zq&x|G&r5s-zN5P?&k&4kjq5_i;HauIhgqP;JBnG*0C>{7yRJLC9da4
zgpaPS*z5CgG!`?9B@*mdSZJ5%Pwv+7F$V8nTyXgP-7Ff9vwdd9CK0Ira(BI64!*vc
zMMPnpn(B~<zyJp<&D7lOvoj8aLS`?bXqlMkl!(9p2Q1Ch+>MhHeh3E5o}*E292@JB
zh`;~`EX~y1wZlWcd3rJn$a?+Ypj{#Y101k4Q*%9gdwd-TnEB=3sdhNJB_c4u0ZTJA
zcWGyb@55of^!ts8Ds8r&{<1P6Fu(yzGd0&;Q^T{Vsdwwe#m3w$DdG9FG~Y7O9DxB2
zSemK1lNL+xt+|=MH%)X-LP0%AT9T=`_Wb;VQKHlDjYE*0lS74db-j=Bv9im{`)=jK
z>4|mhR}fK?G@z18j3>`hRMeVLTH2qIl~rlX%*-nNj(s^-fW!I{T<{5w)usVA>WFaw
O0000<MNUMnLSTXvF8$pA

diff --git a/interface/web/themes/default-304/icons/x16/receipts_pencil.png b/interface/web/themes/default-304/icons/x16/receipts_pencil.png
deleted file mode 100644
index c4bb3676a80def2f4b6f0af2572ced3689af0cee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 631
zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006$Nkl<ZILn2S
zUr1AN6vxknBGdkiNlxlT$cKbLVGOdD64nSQWDrr%LoaPDThh{M5o;FM48$Iqy$B^u
zbUqYGWk@=bNKt4Q19!(HOp?h^7H)2`&C@v-cll*j2R?l7J-^@Y+z&r4xcd9yp5G7d
zfdM7?eWQ1puuy;hR>|wU55xfq^nACsm$4$%8JEklRq{IT`*Q$s$LE7vJw4VuZOpH)
zV~!A$`@BxTUv+7SZ#k91iAV%P^YfU=W>vEJJUY6&FB9-j-FK6d9QbKw29s-RDw$jk
z?Ok0q0$BCGx`9v#6RWE#DYCG1c3vR>Sc7#~OVku~hl4?kudJy2B#Vn4Povjl0$>f+
zVJ%Tp)O|BGg$s#<N^EQlCv>{$&ysW;Sc7#~OVku~UyhIC+|rW5mv9*0dcBBlH@=pn
zk3cF+BWsD8qOPC5I2(^+NFK!JeSMftr}0!xP2d@T3C_2+GFO)~ncp-EaR0@~2+FfV
z_~F$FOfNXGt)l}CW^=n;uLm$Yos2zBx&=)U?)!%x<5N#@m=8Z_*%_UdNAXZY!;M{K
zWdQXK2Xie(KMiYcCi3k)K6$inkq_T*E{YyIy5ss@gW=}xs;Wx>a1iQjHm2!EGKq{F
zi>Voz3u0jKq@wM0Nu%u!FjgD@D6X!C?d9d56l<`~B3)K#ZEeeUy0}8xE@+1_DP!C1
zlBo487>!2&G<!A;psHXU*4n1k)+wpcm^f(-&()WFJ*?L~RCG70sIpQW@C&rUnq!KL
Rq*VX_002ovPDHLkV1h>28}|SJ

diff --git a/interface/web/themes/default-304/icons/x16/receipts_plus.png b/interface/web/themes/default-304/icons/x16/receipts_plus.png
deleted file mode 100644
index 662ae0413a354f0ba7b595747111f6a2f97d3805..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 583
zcmV-N0=WH&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006GNkl<ZILn37
zPe{{Y9LMnwVc9`#EE-{#s7vColLrr_JJcZvDJt+(hng*0;zGla*@$3=#2^v|yGRq9
z2PqH_fdm#=I`Ggy5+ZW_S^RJ;++?!NZ{N?TA5UgAc=P@Jp6B7=#g8F4K90e79Cs!r
zDwFR&*G_9*U9aD6a-Zj5UQkJ&2gb%&r|9ooFzDTGa-Zk^yg<7hi{aMjXlGdumNz%0
zq?wcJ+}H3|u3i$$<n!`+d0CRFloX0ZyJER4foSxqhJSLW=jS=(<<gSmHa6@ErIPqZ
zMtmAb{V(@<GAY^hb-TPOyu-uSG=L0p$TFEG_u1m2SZix`-&Jub9PZKpGRPszWSZQm
zg$4PN&Dv!O1?dQdu4@1p<d9`DP448}oP1newX<~nOn<*$1IQqUER$(+<Fm8!-m;|Q
zMVGjz+vMV#9yt{V+|U3r$RW#Qn%u`TGx9l?6Zg~Oayip0O;aB6_<Y@m?zIABkVBTq
zG`XJm1=;b?^{HvHRnA*pIr^kcsvhl6A?l2P406)?ry+A|T;Dx(AnW;hR<?!*j<-+>
z>n4%COQ(OEY+tDH74Fw1n0w`z{CdVvT?92Q7ml>I-~6T@Yi~<S?}~mnb8?;gI8hDU
ztx42>XcSI_YoV8bzk{_64OjLwH}_RJou0~cI8K`H+}Cr5;olX3Z)c)1d#WoJ`~XyU
VrWAj}3hn>^002ovPDHLkV1im`8>;{S

diff --git a/interface/web/themes/default-304/icons/x16/receipts_text.png b/interface/web/themes/default-304/icons/x16/receipts_text.png
deleted file mode 100644
index 6e395e3b896bd4541175c0a13ec9e94f402f4f79..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 555
zcmV+`0@VG9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005<Nkl<ZILn36
zK}gzR7{~Dk=3opXX%OKls6(B)tV72xI}C;lcA2LxS=QRXv5g|!x^?U3Nr;$2Mg&2H
z5E8_!(WDxzU^;_Yi6V(34MXke`Mvm;x6<~)m*?;Me|h=vm)!I7^f?fqFAEE5;&*lL
zh2)TZYrTp0I7j*gDtVst`_T}~dgXRI>P@`Ixw{ug6Fwh(nwuM{$id3h6_+J_Vju4%
zYRHvKeAz;Qzel6|>-d<9rBba@rNS<+cUYo(xobN+7#!T)<v+<J=Pxf+#d4X)JRYY+
zp#GN|+~4PuT#j=W7pj6N95XW`5)l~SfTc5a?$Xv4@5N%Z{)u8>dU{kM0s|bd)*}&)
z#N+(!;NS*#X?vSv>9i^-l5DZaucxNoNJL<O16DMXsikvggF)UqI^rMlLI0keaYpuE
zj*pK?L|}je)=D_c;lo2Ujj$is+~l}iYLt?H=ef)ERw4oe9I$>S5;roqUqc~2&FA@d
zDy1gscRJrmL|}je)}kClA^F=@<--|V|HcMC>FfKDI6qf2Evhb??Y+6Rl?V)Qz|xsI
z_o>~!Y_eFMHTU*@G_|z!V>Wen4-!!afdP&|Gnluz7ORyW_w*1J=EJr&^-N%Z1D4LL
t$9-Tn-@QOqJ2*P8A-B37b#~S+xCR+RiU4?C$Z!Av002ovPDHLkV1iJx2L%8C

diff --git a/interface/web/themes/default-304/icons/x16/report.png b/interface/web/themes/default-304/icons/x16/report.png
deleted file mode 100644
index d618d9fa0d3e80eb29a754e8f3e222f943f9ea43..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 467
zcmV;^0WAKBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004+Nkl<ZILnpL
zze_?<6bJD0?%i6VpoXTV7MlXspg*8N1VsvrB2(lcXc<nePK|<NLs0}l5Cn;3R!~IH
zP!yCjL=X{{&&(gGr*jN{z<Uqu!e=`7eBbw7kV_I8!g7@)yR_QeYn)+=1y;7UJlMqv
zorh2^%0mLIc|4g+1`~+{#^Z6U*Xx*h`PQjZfSOiO1}Pv&0l{_vEU&FC)M&9<tC`}t
zKjlXmkVgcVVS`GwiVx2Pohk)*lU|f61*jCDb~I39F<*tgQu_HZ#q;@td6YhxBESqA
ze3#33_mtNuQ?uFqSri_TBEVW_CK~k@=|a9#GR1TEo*TuSI3~ah8+;avc=M>~6zDgm
zcc)RfMVbI>9a|)#<|`G<77C_#?%Hvom=Y%hm|=tWuP?m5|J2baz_IN>;iLd31vonz
zO!$0(96jEfrkUcoebbJ@E=~zB!v?Rp9A4dKbw21JZ5uWelj4kkGN7~@^jfW9jb1rR
zm(1{-8z|$-h0@nv?kA%#0_!jamtEnzyz{pUJ!Fs!{S)u>`~nF;Fqoymi9P@T002ov
JPDHLkV1lMT%oG3s

diff --git a/interface/web/themes/default-304/icons/x16/report_arrow.png b/interface/web/themes/default-304/icons/x16/report_arrow.png
deleted file mode 100644
index 340dbb49ae05d59e59c91aed41e9765701b74b34..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 557
zcmV+|0@D47P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005>Nkl<ZILnRD
zUr19?90%~jJs4y`kPub`LC}j<5QywC@_8^QUs^2|uFY|=rcLfkK18+<L<p=w1bgsd
z4?YM*;Ig*$5;V)yNXe^FEFx^U&FlWS?c48MbW`qK`Ge2XxxerIp2PSZ&UAi0Os4i|
zczaKulPxW5ARKmK57Yau7rc+ZCQR5Km#V6WL?Q?VgQ!$0P?H-56$+5!GPsWdd=%iT
z1+e~5=w_J~OXYH1;@lhcg7@$@gbAh%ilq|1{?H6c6yTn6gUb{kQ-Hjqfjm0uDbio^
zo11ls^RCG*a1W0XCYUzZC=~EzC2LTiX3m#RNG>T#m{6VTfq*whA7u0Sy2QETxdYM-
zDMpxJ+F&i0!~9alK%;BeC+v_MQk*cMIyOa-v&AA(npW3fEQO9x0>}N=7EdU**->A&
zd4tvUb<8ZR8C(q~5ljN-hF)dcA1&L@KA5dFxZv^hr0MZ~XEM7e6U(^tbU|miJBcgf
zDn`Bow469|f5vXw;8!}0>CY*hb^Ip+-vH+v(D|{ZZxJ}9yiHUa9BOOxXXuqv^x8Y!
z8k@z%!MM&c5J7uLh3x~--2EcaWP7MLI80jEX*R~rv-kgU;PQ~x8Uqe?j{MngarJNQ
vvPN=*9Q&Vr*2m8ptWQ2Qblh`q?KJ)cF4IUnR=7pi00000NkvXXu0mjf<`)Fa

diff --git a/interface/web/themes/default-304/icons/x16/report_exclamation.png b/interface/web/themes/default-304/icons/x16/report_exclamation.png
deleted file mode 100644
index 98359382b1a722497e2bd6de71c0ca5a156a0858..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 611
zcmV-p0-XJcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006iNkl<ZILnRE
zUr19?90%}o@9jyDpobo!2kAi~d#Zf!CHg}|k41Yd$3%0Ci?BIs5Y&qy1%f?{mJyl7
z5`D8WH1*mh{h5McYtyw{EpcWW+w}Tp|GxdsXl=DC_=6AU;hgimU(RKcRbqK<QYRVR
zq0Yj+{8ZJ{up51SP1wO$-dP~EN@Ij^g=q=~gBTeZfy3cIE|)`aalK5A0^~O`Br^q=
zDZpF|U{`y3u4L(ACY#+B-!~~HNG;MhVVq`zR3?K!SS^#GfacL=NHPV;6d;#0knMJ3
zioUX$PH&6vHx4&KGD-?zoMwadtu6Q#R?BQrGsBPpVw0#4#{C_AM~7*H4y<l&YFhl-
zjd{;S+!;C!u|b?5jMHoo-`K#XFUg|73T9lFpvIl(9jr!0gXk9PDWJZj!FiiaUQMMC
zQ`Iuz&;Y{zR%FzExZhvEnQNlAQZF)2v%#;mHO%<qe?;+N>@wn!yU^)$So(ew?OkHT
z-7oAS#Reyh#+C#<-p^$69}5eEnDgk7_;DR{3`_oI^f{}N$}{2gxKq$>5J@C3?TwKr
zT(1lW`AqQ5p2dsjR?L1pfk{_g`t=jx-tc3gn6SIHwk=72Ax1A=@GY!hS~-W%+$jXT
zNAnH%8uT8+#6acSmk)(Hes>Q!%&OT_c7%CKS**g!lyV@w95{sK`GZiSw*1O{p4=aG
xb_u;apn~ir`~KJ6&hC>bEe~!n&!gMS{u=}GQny(*5<dU{002ovPDHLkV1myvAr}Au

diff --git a/interface/web/themes/default-304/icons/x16/report_minus.png b/interface/web/themes/default-304/icons/x16/report_minus.png
deleted file mode 100644
index 3e168b3181ec61e0d23f08c486ffba92fe9d0b16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 491
zcmV<H0Tlj;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00059Nkl<ZILnpL
zJxfAS7zgmjbGCw_hK8nSXfZ+zKR_R$AtRD3Lrdfm*o!pf=#r!5Xiy<R5%dB{Wwrzr
zG!z9T4G~0y==I&yr|0xy(!GK`@SDzg{`Y?m@L3L@=D3#}*2(*`_c<L}Ei43sHmqZ&
z&!&;j@FN1k&)A~TD275I^!xo-E|)R-oKYxKfE1CCJ1M|P0nXn5a0LPrC0Z<&N;Qdd
zN7#XUiXRgYR2vkEMZAAXD-<bU@^BKlL;(^7NL39apU+;PujJm}YZB+y11oYn4-*hn
z8)Wi%ynRe6<f)lu--67>!UTlMjCwqdEL}+Eay5x_^NtzWI6EOAs5Xdavv~a=E2QZ+
zOxq@8W)>kJRHlD^UP=}U7)z&X66ZskL&%2NDS?3=je3K(R0^-|;tDba7&nZ_2HB~*
zO#|ytHGOvbRDvGwRhAVZV`I3h)8U?8k4v2`xYz_qTE18V@T)d>NhI*{CRVYc)nRsI
zL}8giDh-+qhB=vDIYzJj*Ot|aKJoS5UUX3dM<b-%v~2lq&`P?Y3syl7=XDWx#m?6*
hG>|sZ{!e13;R6DJEkH*M!2SRL002ovPDHLkV1i{u(K7%5

diff --git a/interface/web/themes/default-304/icons/x16/report_pencil.png b/interface/web/themes/default-304/icons/x16/report_pencil.png
deleted file mode 100644
index 8473dbefb27d5aa6954adb8e22f26ca5f54fb440..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 578
zcmV-I0=@l-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006BNkl<ZILnQZ
zUuaTM9LLYOr<d&|65N9k^inVuLBR@w!XC0eY{c}<mxVN&$YtQ#!lwrH;FFI7qlghf
zRuGldNG!J~+#(8Al$G{p84)4#s=MmcZ@+uPX?TVG;Pdo7-|zXJ-(g}xFr7&eBw`yR
z*zoDIy|0g*4~N~@z>FuxA<l{?1k-4YJC#Zy8jT_p3ZY)FBb8ZgqfP<xybR%^03QYT
zngQ(G%*>e@8LPEgM>O3V_d<+`rv%e5Y*49I@oBl(MwJ3aW1|o<1;`X2w=|Har#%(A
zrL?xz5ltU?JObenae}$`NyZIU%VoU(l5e9-&0LRMkla!{yj5ZgoHrYs3Ix0=9mtnT
z9ntjR$T0Q~ZhD>O{LTx`t%eO&R26SOD{U0%8P01?*lgRrVrmL^IiFi^Fy!~k`AP-Z
zVzDDXmSeDAv_qu}Y!*xKDq}Xo27d|#y!o*5AB&3*@hoxz>Q6t+2h870Ce!ZAtYr>+
zJYzXp-fu-|Bb}bb+`VJE`9h!vJDk!|*PbqRvX>kG!mnHouij;K5{U<xy?InO-@amn
z>(W6;gVJ+?adXQrZ0_%$RA|dt+IEBQnI+6ej_c-IWKMpJ!g0d^euyvdElsnD*u{3T
z>ufK3*~*ZEXHZCDLgq^E5tdxnw6mJ$pO<wLJ%q&ooF3r!?N&ZuplP1&zu7@K&<5Sh
QtpET307*qoM6N<$g10>mfB*mh

diff --git a/interface/web/themes/default-304/icons/x16/report_plus.png b/interface/web/themes/default-304/icons/x16/report_plus.png
deleted file mode 100644
index 49b99950cd9cbc243d30b7216973160de73cf961..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 534
zcmV+x0_pvUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005qNkl<ZILnRD
z-z#Kc7zglY&Knnp{Fn<Du9Q;Ss71M3E&Cr(?qsm*tYe&L7*Z>@E~H$LDHL+Sg;v?N
zOxCO`Wwurk#iU3!>}2N5F+a@Av(I~E$T_n-_32!^=lP!Rd4ahY==#|h*?6U~hdq5t
zY&IBPT9WV;)4Sb^tdIR5z&(uQ_xsV~@u1u7##AbW{_|Ud6a^?-3Nj}JI4QvS7ytuv
zbDxv6m`Elw;^z*p16eoQB*2+Ah$j+wbfy_3D4=7b1DQer3I!-n8Yq*Ka-6;ry}QeZ
zpSQ2KBa@kz0B73ZHWtH!6V)I_&Dy@Vp&$uf0$h4pMn)VFdO?jwGvep=H9HC)g`WgC
z(*`$@2<{z+3^e+Urqw1C?7|iSE<N>wgNhoDV?fg~YTfQZ>vAbtM)NK#UqrABiRKNi
z!(se=cw<oc?E`)axDciaRhYE`%vc{A)X8#pkS^~s6f$Vu?83Jz@3G=*EjC_B2;=!G
zE&E{F>NaigCm6(E`+>AK^Y5_kqQL+r3Vi7X`PJ3^A-d%N-S%^>>k3v-NaaEemY>!j
z4CjVnG|vZ}IeG*BBjr#Ai%<nS|K$?3;u9OffcRJ6x!(nTl|`iZMRN8mNLjo3^L|JC
Y2eec%tum|VUH||907*qoM6N<$g7iZ43;+NC

diff --git a/interface/web/themes/default-304/icons/x16/ruler.png b/interface/web/themes/default-304/icons/x16/ruler.png
deleted file mode 100644
index 806c3d06629637ed94c05f980d6b6616f8694185..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 514
zcmV+d0{#7oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005WNkl<ZILl+$
zpUA?nKZ%9mKoUzP5O+gyCP-|iFB3={Ck@gICZL?2zc-it|8-^Ie-Qfsu?Fl*WXS?)
z==Wf}c4KAP|F5T}|KFR)at0&@RJa-+4bsc7J(gw4?`w<yU!Caw|Hs97|39CY3TIzi
zUV@Vb=>h3wSQEiK|Ly*s{|nOe!4e;jPWpek#p?gFZOwQwNDoLa!@K~d=2?DB8-bkr
zUr*2Y|Nc-vNa8+7j1UItWdJf5I-MCA3Jn<+Us+NJHhFV2^9+#qL{CP%7^H?_X$UjJ
zhA1$e4RZdgJ)QqSY>*fzv<VuJt`5hGFD=ab|6*qw*l$1#3Ll0Ucnkp>uriDph8KaH
z4+<a<8%dmDx(^d>1LEZ1c=3gK+5ewxZuq|}lxZmtGr+Kx7$XBZP!(om@KpzjFAipc
z;gzp|&VRI__CJUX6W0{Q)Qkee*cceX#ld*-x!D>2AFQkXKi8jWJrFZ!5Ymk7oC%(c
zdtL)w@N7%te-IlaMl6sAVxv@JhJ|g;497tj$esrjQwCyS=rBkCu`m$x0Wl{KvjQ;_
zvH=1>ECs}pP{lwGF^B-M5D@bNF)t8v0Wk+uGc&RQ0Dde;z9%tD>;M1&07*qoM6N<$
Ef&`b;{{R30

diff --git a/interface/web/themes/default-304/icons/x16/ruler__arrow.png b/interface/web/themes/default-304/icons/x16/ruler__arrow.png
deleted file mode 100644
index 446046130d682bb899b3bec2da33f334117910e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 669
zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007HNkl<ZILnQY
zZAepL6vxl*ZYzpev?z_J4-$Q-3@ca!R^W&7L*=L}+MTh{%U&dqmJksbD{CdGW#pXB
z)^xI74J!$(SrJ8Emzj?C!DdoR77-Cb6mdG|vaP;oUHIK|p8xaw|M%Pn!e$Y|77=<Z
zqK!D4!p53sv%va<mA%R<wW$6T3*wJKKXTvmzX1=;qMZ#jn^e&^p$Z&-aS0!oMVU1^
zcx|%EUg$E3^*^Hl9ID%h-(UIg+w+T=KHBb_u(F4}aDA7$<#V_iFYjNWY<zus9(zx$
z#l$_=q_Bs*;42nfja!7<w1|)QHsF`XHM|jL?O(7Lr~!AO3d-{#FxXnIBzGFs4XoD{
zsV0TbK-+dTbnI5}^7zSaH*(J!-}c`I>!HJ7b5<xd6L4TjhQNUTAdcOyQvQwL`+-W6
z9?W(J6nGP`zIhBbv?P_fralgP9d>|Fi8{>{9-l9W`?Q{SY5?-j3@HKYnm&5SEK`*@
zfcKzuVTM4z&w=kdD>1l3Xd}Q@X3YewJ{RM!%AOC1T=f^;N=iUrn~)}yr13{Pjv@D~
zEp<g;`N@6{9h8|Fd#=jH8^c&TipXo)lVGj}VCOuAK*Vdsk()=cd8=@XfZQWbprG|#
z;`9ij<uzi-%Re|{h_o*QKZ|uLs4Y@;f1(Kzca9_XtW8~z2Reh>lWo5%GdzLbKa7S5
zBCm7Gx+L~5B3ABO1^%i+c*aogBQ2Mp+ktFCM`US@!N{^lh+3(=FRL^pQHV0YEMh*9
zlR8X41apYl#7sg<Oedyk3{8zwioJargV#hMzyZGjMuxOPQogzS00000NkvXXu0mjf
D;BqzG

diff --git a/interface/web/themes/default-304/icons/x16/ruler__exclamation.png b/interface/web/themes/default-304/icons/x16/ruler__exclamation.png
deleted file mode 100644
index df09b53ba3ee5176473d60405fb704a44e4399b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 688
zcmV;h0#E&kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007aNkl<ZILnQY
zT}YE*6vxl=?k&0rqVFQ=LZaxV54)*uq7mwa71SyUqe+$)6hZ~j2ZkXo1v4yX<~z6f
zHD)?<sfD`r<vX_(Ep=_xaD@1kqe%^-4^Gc{+18cT3%~cA^FPo3aGnPoS`i%CA~>_f
zJWffRJkqK%1=44X<W+w0qV#vL0e=h{k#gt%4(Qd2r^!&3&inz(MU1&Cu}3R<N#h5t
zvqkbkXO>v;({IM1@-+PJlkltSPBQm5o}V$2hrG~ySY?PfO0o9jMx`<R@-}*IY{$`#
z!dW2?c|qDI6yDn-wDDp%=F#JqXJynFChcF47kC0XHG}-kU>>Z?S0=X~Rq07D&tOSf
zul*&V(HW>epaR<wg=$)VvRj9glSZ#ydxC+tUEw&#8jp&u3^=teiTSPZERH`eQtrk9
z`#BYO9x`IyEBhSdw@A%6MXKXEfaRbnfr-|q2cn#`u0jFiRt7E`%M5wb-M?a1{OH;3
zrkZpDj;&5&ej}a1k@f;?&<OP$=(#Jv3o8@*9tbtlW4fqDqrvD%L6mCJIRNJULITSq
zU;mTsDpF3GqmhBLiK%_Po8;+{D+mBM7RW_!XNpWZ^<n8;fJ4g^%&)6+G2C()YxWAQ
z^*I7OF)`L%$Mj);*3`R!G<;;gfCIjr=<DAxMLP9?zO{=O+{$3xpZNx(_UlMFX&n;V
z_Pk|@91iZn&`_$f0mabJR(#q#U#33!*KoGvq=K<X4Kl%ViEAl_o2)4yr%X+J*nku7
z*JCVlNr^;IUNzBH#qQI91)P<f6`bW9ej!-QStu1lC8wX`A`HbK8+6cD8^=@v6@LJy
WwA0G5jvk}{0000<MNUMnLSTXgjz_Nm

diff --git a/interface/web/themes/default-304/icons/x16/ruler__minus.png b/interface/web/themes/default-304/icons/x16/ruler__minus.png
deleted file mode 100644
index f9d6ce856a0976bff928855c533e5553a95d6dc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 560
zcmV-00?+-4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005^Nkl<ZILnQY
zT}TvR6o%h#W{M2@A<KR)3JMYGLaMuNy(llzpkIs@cA*~&0ztZoU_%ik!HmLHacY}&
zm#rwnC<1FGh$5G$uqCgI2ni!1LW&|z=bdKvVsY0#c;-9ve&>DX%!f?aK_=p0EaEgP
z7Xq58_3gH(m)z;~AHhr4pUI^BnurVQvHuNt9Cl99(7ns#-lfmT?2BG`6n3)IwDD%S
zonAaR;#~fn^W<&MPWk!TmG9556zW{6wd76@y|{JAzWOE8CD)GC`Ul^hUXt<l9Ws5t
ztt|A=3wMvz*56>=)t9N+@tAyl(#?Y@YV$!av_NN_LCaQn6Nwf-dE~Giqux_*%EBHD
z?Xxl5<TJqWXGS}PH8tM$yaC5+3V3hgr{&Yb4*%a2-Vb6LGFWZk&OyA!0O<pEp6eW+
z7sNWRr?yx~0k|;-)Dc==z<cGMl8+-%N$$6X6p%#FSTexdYvoDL==dLo&k1X4iOt3j
zNCJJ@oGpersultVSNnJ`2TsWQ+h=94(Ym9cag{+#1C;EKP)LfQ&LL1;X>hULjDFS$
zrth5>*3`H*DiQrsRGW)w=LEVoDBF&1N4%pB&xqEpYMT_j9js9*m8D9BvOuw#^by6s
ywOm=JtPPs=hp<vvp)6CDD2tUvf!SsNf`Gs9U~bS5Y!=D@0000<MNUMnLSTYSy$_!N

diff --git a/interface/web/themes/default-304/icons/x16/ruler__pencil.png b/interface/web/themes/default-304/icons/x16/ruler__pencil.png
deleted file mode 100644
index 0cec26b479b501b4e8345e29fae5a34769c55f21..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006>Nkl<ZILnQY
zZAg<*6vxkf_7v;WVujU+f|V5rMfJrb=w)JVFb&!?ih?cDR#6xsgv?fkFcNK%Y-P^o
zlao<2-zqY5R`fzfRM^Nb84)9lh$vYUaXRN|lflxu@O$q6{_p*t=iCc1hYT^N3`0)Y
zMVwCIV(+|FVt>k+v+5_cX!tc6#vdagWIgo11qL1RehxGhi}>qEHBLP7;~j_mls!6l
zWxAQOaC4V@?q^)VSH3Oy{Y4PJK5m}W@y?@D&Ya;aT-~l|`xI-yOBJisjV}+*;_#^g
zOx&oO7S3=Mf?K7!3nfxFEygB>1Niw~6K{;M_b)gLB*1GDP_-JAk;_$T<=&l|0Q)|(
z_$&T`9O%y#(6d4U=&)&^Yllh;w?97MMb_-`Yi9<-)dK8xJGAEIt$QOx^q~+Np>jE-
zQC@});fGuG>fH!_9|%wp4&GM&V6)kl9?s8qqsN2YLfnN&nI=s;x6cp6I_>wkrO9xA
zyVzi{SPmwWNh~rL8ruMhVD}<OqdX5D!1ui#4BMp+0+`HjmtR~@CXS)eXmsoK`jr=f
zhO$jc6B(!W-*vf>HG5%KcDT7#3|cp9H|cabPz&VD1Sp@UqC9Kahi|XdU~8!qB_MJf
zvcldYP*}WP2CY^LC6F4qa|E0*i-C{SL89*jvSzQd7M5j(E6bqJxDc|&Vq(qSwGgT|
z!6Sxrkh~=)ouU!HjiRqc+%Gq)Kb%F(Af(I!vk3#SfS6Cvg<vkBC$PdQqI*h(iL^Eq
c)?^m=4daE1EvWi*bN~PV07*qoM6N<$g3W0tvH$=8

diff --git a/interface/web/themes/default-304/icons/x16/ruler__plus.png b/interface/web/themes/default-304/icons/x16/ruler__plus.png
deleted file mode 100644
index 0dabd9c137dce2fbbf23b3daa4b604e3e7aab9db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 627
zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006yNkl<ZILnQa
ze`w5c7{}lDz3)cb9QMPH{lOoIqJ;m*AKD+>A4B61QMYW|{HO~PQaCNkX(r3v&W`il
z#v!&QQkz>!WZx|`7k{0WMq5Z)iS&4$&)xT%)Q)ex?s-4&@AEwO`8<7*@ajlZ>gcW1
zeazVmKJmikn)u^J=~X|OB>3xXJN+1pk?7w49q`Dj*GNOd8b|U?yq3nEU!oqbZi>f+
zx3Wd)#e?no#h*!oUN^3$?=PeD?OBtplh+T98>L5jaeIsN%BMt-u2wHrFTOsxKz*l|
z)A0R3R-{LI5nZnZn%8QboTSG3LiFWvgS<$I_b;RuEKpzOfPV>$!B)ST+_lXa62H;y
z$cogUZKD$%TNM#G{z!K{i55?`{bz&wXugd-VAp&b<5g@weSBD_?#9S|5aJ>319`xW
zVjx}u+$>2)&dY1rk8g5XT$AI=f<#-s=Li?I6j}qqjH#mJ;_sMcW4ws&q4!-UsNJKr
zF%S@$nl6kL0j<U6&d-NPqRPcLHfR>{5kCG<$8i!ZUd7?O^nlBSVJ<cW&uBGSTKUs*
zfz8tu#z15@y}NUaTGnZI87x?l12jz$%vB#M=x@Y_JoAbiIPZ3JkMaqI@0}#k;;CmY
zfA2N<VFX>KuxMx{SsLeDVJVr-EUj9GSX~*O3aq2-&0%;un8EOc;lincfzs4MLZF}@
zXC{G%sQ=(IqLi7LDdr1-R}9_|CNo?KUIr#&Z*DVuIsMqj(LX^A_zl`yfC{z3w$=au
N002ovPDHLkV1n8hH;n)Q

diff --git a/interface/web/themes/default-304/icons/x16/ruler_crop.png b/interface/web/themes/default-304/icons/x16/ruler_crop.png
deleted file mode 100644
index 931fec6529061b6d74d1374d5f58fb0b63a64b8a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006(Nkl<ZILnpN
zT}TvB6bJBgXXc?E3i8FMr^1J#qDY9|iqs4th)S(cYlEVtwJiE1D*Hf-Wi@4DBh7Xh
zbzLec+FV?1-H1Mjveq`Mhdzi%vrYP>5aM*sW$v<p`_RH~@8R4z_x=Y4Vw(-<BeXh+
z+vc=;8THvxji|%${CU}qV+lWU9s7?1<jpr7#>26vK70|}hxIGOU|O2-I8z6xn-g^f
z_&eT$-|wH5H7Ci0X9&*%^lmch`R2HL8UE^T!ok2EY;!HbpAWn;P5P?v4B=UT$VQ`*
zG<22g13zeU^i~~m&AsZSV5yZo@7OC7a*yz=JOIMw23*^qpZ|8x#DrCauDM{fuh!w{
z5`gXs13ZNS!WFv73BTTHM6L<<077L3bgtLgg)g_y;KxWUa?L&Wask1$IviLG%zD<g
zTP6&Z>0Sa1E|uzvZ#3q?xUUi&Gr%HX7HY6_w%~NBgvqEIx#k|vL7-SuT9dt}@%{B`
z<k~e$K<gR})=dTQ7HPn*HQ?WoN*E~C!J>WnXX_a0uEEF6PAts^i*Zk_!4mxqCmaf&
zM6*D9#XWKaF0Rs)E5o$;w(}4Ucb&jTP22ui8%pNmla}o=VRZijO!k~Yo`J?9p+tsm
z9LLv}4~{FmYYuY4cUKR~nxEwv;9ves0k!$UtjQC1GufI0BmI<y6P{bCedZp|@Vp@O
zMZiQdnPib{GA$k7_K6aF2pv;5PqJs^0Taj+GM(g*d1N8URkq{`ze+=Ovwd*ZUnqIN
UYUz;X?f?J)07*qoM6N<$f@Kjh)&Kwi

diff --git a/interface/web/themes/default-304/icons/x16/safe.png b/interface/web/themes/default-304/icons/x16/safe.png
deleted file mode 100644
index fa15852d060af62ea488b4c0944e762f67cb42bf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 602
zcmV-g0;T<lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ZNkl<ZILoDz
z%}QHQ6otQY?q6;!l_&`|!9ribN}vuRIF%Lz9rO(fK8a6Yu|7ng6Q><zWNWZ$p%Ce)
zc&jFD4Bq2C`<xCc(V~==?#YJDX063yEw#G3ic;!1@Q8n#uipE&q4yr|eSLFt^L0@a
zcfP#$cWz-AvcA6l3LtdO0Vrb(olfVksGH3u&N&4TiU@$V*5aI_)oPLF`MpZAETi3S
z(`Ymh5q%p#U0q!vB8)~O&d$#6W!~G{V{L7XqoX54M2(rPwYn$@M1-O!FvgH&83zXk
zWLbtW24f7hT8*u(EhZ-?vDRv9Em}kn5mgig&N+&r;PmvAG%eF=EmA6_93Fn+`1lK@
zQkki#DUzg&h$s=cQQ(|IM9A};Uav>BT4#Iv4YgW>!C*ibCU~#WIz)uAg3wwEpq+CJ
zha=9<2Z(sO-F=pqU()UF6UQauI7O)tts}IKvDW@F@ftu~T#OhDMmVRa*B`UL|DK(l
zHnX!&n4f<}9G4gjzT>?x9R9#st8N46Jhx~aqg24e#6uPqme4vtDLvjNC!bkac|oW1
zVXR>6fl?7c5D|tk<?;hcr3sRxOp>HTQ9=|YOi$0Sv9Up=QoZrO7y}RlL4?*3ySpF%
zn8LZaC1z%3F~$S{VXxPtQmG_i7}IRd0}7=S-YdXgr||b)c<<@=`$@mwM*&aMG+oqM
oSO2Ao&be=wmzVDpQ0G79C&AJ$NexqpWdHyG07*qoM6N<$f{+jossI20

diff --git a/interface/web/themes/default-304/icons/x16/safe_arrow.png b/interface/web/themes/default-304/icons/x16/safe_arrow.png
deleted file mode 100644
index b9dd1b512c0f23cad58ff69442e2b7fd1623c66d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILnog
z-AmI^7{||ziAh)8jBdLclt@V}@WPA1$l+kAfha*jOYDWPbT%Z^vS}))y(|MoH?3(b
zb*X!I{x)CPZ*I#m7&aZbE%BfDcAg(Z7YnijA0E!j=bYz!Sxrq1tF5iA;^_X9DsowM
zbv1GK`1lyvY&MTfCX>g}(GkcYmua<HqUrGP5VNzhCnB9rgB)_1Mx!B`4-O7swOWzO
z<*>iMpGPW{!sg~C^m;wk*VjP~xlFBA6ZewIB&MgQvA4H}t*x!UVltT^iXto)3&<gt
zsZ=WBK|CIZ*=$B4k$@lwu-okz8yk}<%?X>$2AxhPt&u}6Q!16j!$>58iHQlsVlnBU
z$K&PQe23fZ;V+N!Ju{Y;9B6NEhs)&!Ipng6iVEUUI2@K<+}_?se}6xs(S-D0szzfU
zrlw}Fxafkx(1GP;FUTR6m6w+jEul~dLqj8QI9%xMeTB)%83Y1RsSXYf^Yrb!10Om%
zy5MvMKn}S~p->Qy{r**Sb{hF1H_yU~)>b|0>gv$eX5jKy%+Gt!Y>7ktZWjYzq9BJ{
zR#sL<v^pGKbaxN(_Ix~pWz5aFu(06efvxb?1%7c5*I&mlnguG~e8ZK-m!B@(dcjy}
zX(^$1ItBFfjPTHc{2Kwz8gF$2cRq-y9F9uJ?|(+UErp>UK*=*9bFnAdz~pi{Veoi1
zcvz-9R3B65O#_X)z|F`Xo+N?uPlF;WEG%R)nXJq27vb}TI3iY7!o2Qq!l)lu#WjN)
z3QkGO0<KP`pxpsvw=KD|+P((H$K|4;qL$*~V&lI!bK~vL3j#p(bcuGHT)N=gNjar4
kjTdO%#|o6sn|`nT0wjD!%Ur8m4*&oF07*qoM6N<$f?66)nE(I)

diff --git a/interface/web/themes/default-304/icons/x16/safe_exclamation.png b/interface/web/themes/default-304/icons/x16/safe_exclamation.png
deleted file mode 100644
index dda4b8a16cdc7ba7b12422ad065ecaf0164eca69..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 709
zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007vNkl<ZILnoj
z&ud&&6vsdJzBlt`-lUyQ%8X>DKM1V_QCu{2&<az~g-C2cNQCaX5G-UZxO5{fT!^bk
z+P}ao45&~SZn`i+XvvT!DTq_Ms4b6~I?|c)Ztgwzy0Do3QrfdT96sOg;d_pno0~%^
zbsCuB`RaBE;k!75KnS6^xVZSWwf2dr5W*9^IF4CZSU3+5d+!01F^1LE)n}4!x7&E{
z6+kQ^0NOc+_nuCtL!RePb&_QnD=RCsS}jCGKMYViJ3EL7<MEimVDMDs_4Re;=jYkp
z-bO^!zsk-zZLLK_u-0OXA<Hs0H#f<$3}Xz&7#fWROG`^st5uwH+Bt_75ky2;Yw_M=
zt)<`ZQ!b};I;SX=%4}_2=f;hjlu9X+lanM#iiju?*>&K(M?}c;oL;X-z24;F#S1hV
zEr!D(`_o^jhR>OPVG9v<9Xt%UcW=zyyF)|*-R=gnvuEjcH%N*Rdy2pE@@pT`sNEvc
zyMWj^2cSlyF~i{)?-kAFAvQLya_Q0v2M<p3<_Sf8>Ii!#${aX!jN$z?oOA!g_yC~u
z+@W<5r6MYoy_`Jx7FtJW6{yHpOdWWev**5H>B|{bFaHSG*g3Vkf>H&ds6ZSSNz(~R
zr3y)slIZK~+m{lB0n5wF<fGrIR%2c{GB~QR#KstaD2fVbUEs=<Yma1qxVFsn8^`$L
z&ozGd{$u)PjY>V?_)Gm)KX~V+ihI2twOTES<09?$2|%HgA_PS+U5cV8lzM3Q7qjnu
z!Ec*05Ra%gqNa1au7H_xxqM1%U4Q)YKKaPJd-}}b7pGcDO7KkVf1lCdTLA9d9*us!
reCsC#H2>>qE_}wP!14e2tE+zlXqQNA<JOC-00000NkvXXu0mjf3Yu6Z

diff --git a/interface/web/themes/default-304/icons/x16/safe_minus.png b/interface/web/themes/default-304/icons/x16/safe_minus.png
deleted file mode 100644
index 5d3f4b7693d83418e37320831085883cb7ab1460..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 630
zcmV-+0*U>JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006#Nkl<ZILoDz
zPfL_h6vlt&&Yjnp5i})-n!zCG3xqOI!W6ZP0znsT+Z4FyL$qqyA`EL&pFn8iw$%io
zIhffW8Yu$vO=Zdk=k?xmZwpH!TNItm;XE9k=iwY4nV6VBL@ooz`L|k&F+R32Mq-SW
z>FMcv&bdQdF~&ofwU()=sT%+`ga9B}meFW5{z|%5s}VvF0IRA1#(Pf)fqK18x7+=r
zlQd14ot>pxt)i;tR|47H-9=UDbUJKqZvIhuadDB!$w^jLR!~*hSN7f;=NzhvbB-*_
zNYj+%<z><|CCf6hETdd5Gcz+oe}6yTd*i*ws4A)|&N)H|IOo{d*q~S}QLmq)P$=^9
z<ttWK-%}`*7#tj=r>BIfimDzs2qB=Vbh}+ztrkN=6&^gePq|#B-EL!T4>1~yv8b}|
zz<TciObCJP?G9U8ZB!%8<`S1KU8UJvB1sA)Nf8l?F?ozh@ZRqo@dtr?`_`e|?ht}d
zshnVGX@R-9S%!yCGCF#OBq`8te<4O?d;2Tid-;{Xbh{p75=3(J_V#i1>;;U;A!7FX
z`ubbO$FI<6JjZ))#@5yj2t@Maa(S#xD3$VnLBt>;bne_n-@fLU+vVA<Esh=;<od@C
zH+!8sWwR^;$mMc*jL9=U|Kia9`<e?}yLkRLbgcUD(W4RDYPA>`80fJ!p;j9O1Q8)d
z0rqn6?(`^kpFaCJ0`RHzW^D`R1sEw7i|33nL;n)R5W?r3ot-BFRQQkj4#@N|Er8V=
QD*ylh07*qoM6N<$f^D@W%>V!Z

diff --git a/interface/web/themes/default-304/icons/x16/safe_pencil.png b/interface/web/themes/default-304/icons/x16/safe_pencil.png
deleted file mode 100644
index 45eeb426bb5c3ca8f22da3ffdd2c8a9ed1b22d63..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 712
zcmV;(0yq7MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007yNkl<ZILnoh
zT}YEr7{||o7^3%ycj83|MnXnjEZBu)pbnOLF%Y_uC4C{v+!{eD$t;`rQLG42H?3)i
z`*L6J=6p?^vMp!GV3>0;9pZJc%YWy2yNOm&FZ_5oAHVaQ^M6@eTN`U{Z*Spf|C1JS
zS!-)6ap&yp3@0ZiMI0X=7jb%e3UbJ0YPFi^%H?ucTwMGove_)iA(yFCD&p?Z(Gl!+
zJM#HFGMP*fhlhuVMx)T{_1N6p1Uclgrluz1UOJt|{QNu)4i2!rz5QD(77OC>IBYf>
z$RU?CHZ~Fu_V@Q;wOWx%r67tTTrL-;rlzDyV`6D(30kdInj?o?*3i&EJlx&g#mvkM
z_V)Iqje-#3xA}r#P~e^4@HHz|R(voR3<v~5Ajecy#h6m5B)Sucgw%0oX9puABS<Dw
z(tD|zOwTYkw*ZeP0Hg6S1oI>|%E~@($z)2VP$-C=SS*IIu?hHm0Spg6$L#C^*4L9#
zHJitI`YwKhFhA6Yw>l%x-w&ruCbIhadZITHS>tmizA4DFutTTQL!;54ug}P3HyjQD
zjt?(*23;r=3b<KWDNZwXgVoj55jvkQguy{GyxuU+z>DSO0G!Sc4{ViRU4+;167ODJ
zLLvVM9UZq(Q&ThARZ+oMZEY=~_xnW*4NdUSKJsU*b2i}jZ}GsQ2)JLvJ*$x9r@a^O
z-Zlwx$Ys^l)r3(Hws=^UA|}nfn49>~dA$E3h6lS53MD`exlAsXv-0xtfk-5da5%<^
zV|6vb>n8*~PI#=>C3$-EDwY>4{P)Hs$RU@$D<vf*J*B0kreEo7KEH-<X*{`q?(4P7
ua{JF~<d91TRQv^WHp|?%l(ObO?fDLefjvkMJyEg%0000<MNUMnLSTYNs7c5G

diff --git a/interface/web/themes/default-304/icons/x16/safe_plus.png b/interface/web/themes/default-304/icons/x16/safe_plus.png
deleted file mode 100644
index 6721431c6eb37fba73a9b029a2b5c7e31a72a8ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 687
zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!QAtEWRCwByQ_pV_K@|RGc41j+B#?j=
zQmsj&R}DyF4>a*)f_j337vs^CgMWqxFB*+B*gwFNlGH=fgT@ml41`i>YiNjxRD`-s
zS(hIRIB!&JY!mBj-n^N&^L=l=H#01eNPsbR3&2_YUu%rV;}unO5Ee|Q(@TTF;K(Za
z|94YW6{%F}z8sH6Bl4`*>mirRohWrQ8il|yNiZA^$#dJbDTr7shHkfe>`t1^CbHQq
zLZJ`@jvppq{eGW<FijKfcKg`Og+c+zWD=E1h1Rl3W?`K469IXWL)psZvh*}33j_kl
zWHRu0JQ71#P9S0<AW0zKYPF#2ZXss@E|-ptjVg9_>SFAM&*y`txh00MlN}J40;IoI
ztHJLNVtM(6$QpuS7^3o;r~?P*DoFM39jMfi6e2h{FtN91hy`O5izUS4ccgbZUBYy6
zUsOTh5ayHwvWUM3Sf^u(OeW}bg28hrl|Eo~HH(><3y4InNs`Cr64vL+$bYXA0Xs~<
zyIor{Gp1l_>NMu(uZy`N=6vF-#wOyo<5*i+L%??M##Q4F0b>p*ibH61!tHiYNP@&Q
z$CGbQu|4<*Wu#z#xG#P2ZvDZ)J)BeNctleOO#1Tq^&{tBJXOTS#3eay*)7c8n1%R4
z?_RwPt5k8X*Q-(HXf#6QkXgrLlKAr-T={evTdz0eOuMP0_r^l)%XR}_?L4gt>$<+c
zIrsnT4Oolp-t^-6>D}k`UG3TMk!4x$ReF|U@bW~jsN+2I`QcU=3d>toUt)d;FaV#(
VMH}06a>M`t002ovPDHLkV1jPvKAQjl

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver.png b/interface/web/themes/default-304/icons/x16/screwdriver.png
deleted file mode 100644
index ad69f58c54334b0073b0c854be3dd0f23af32ecd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 474
zcmV<00VV#4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004@Nkl<ZILnoh
zOGpAi0EYjGLMkF8LxK+Zf}l{)Lz19g#FK<z&_RMOdp4q>$0dTGTNDHlc&SS-dw>zx
z+9fG4q4rewx(XeFAc*ZZM0#!3z_-f|^L?{B3mA++ArK0MkVqtcB1V*OI2`*X4p7`B
z4`kY8g4Jq;)9HlQ>qRgaL^K+OqA0RlF6&&b)I=YJG`S=927y2zfMhZ$i^Zbma=9e6
z82Wi#;^Iqk^Gm?v@gN?L%R-@`@mbb(-XZxq0h`T+NF*XvRn;60hy3)-^#T@)1%AI@
zX0ut%Znw*ChgK)h>UO(jCX><l7V^j6^-CZ{_V%UB8_Gt3k`TT#prkJ@>Xkc}wEj78
zE5rmNN9CcR$5qOwzyiTXMvVg3LP$okPl}=+Q)a-IGZMcBE`*q3<m5S((hn#fa%X~^
zk@zv73Ng!w`Z6=4Z&T*n0wWl~AI26iN8$W+eqP_8yh(W&{}}7QRpqqPlqZ2@PIZzF
zVkYgRt@;<5iHS6kM$$k8#(;@6%HzNaC;CV)agrX=O}eU4b2Zjd4ZTO+08_lFK^j|U
Q%K!iX07*qoM6N<$f|@VT_5c6?

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_arrow.png b/interface/web/themes/default-304/icons/x16/screwdriver_arrow.png
deleted file mode 100644
index 6c5374899623cc1b83917fd68a2790566e562448..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006(Nkl<ZI8Tj{
zTS!x30LTAdEF{KAX~P5`+(i<qNi*7Lx<)XBLdL>+@zCwz6cI6V9nuIwkVX&Dm6~PJ
z1u1J?VB$kF2&G`1)D=-a*gcD2&_fUe@%2Ai$!IkX{P_4Tzu);d2lW8XkahU`vDs{B
zZf-6_6H$Y~U=s=j_6mXbq`jmB<>lpYxm@sgJO~5=Xl!hRs;XKpmy<lI<^^_AdO_a(
zBjES@p(u)$$z-zC)zuo6nHyZ^;fG}WKY`lXT0|ldZDeF5%ef)XJpE*-NWgBlBNPg0
z>2x~lbUJ6{xdg0MD||kmmP)0v4u>OOo<qRwcDuD?GMVKq{>W9~7%JCCiw2_P#!XEd
z`Yo5%_z~>=j5R%<;5+pS?!!+C2XrCo?g6@t$E7jyh`Dsh>S?iP;JFZOjNHkE!(UEQ
zz6*3EoU71qZVG|(9}|>yj!MD6m=GExsjsRk2PiX8w?Vyt6-S<7<<SY_t$N~vl*Z^i
z`BKRXJP=|(BZJ?fQF)8<ZN7QW+8tQlHJ;!>-N3x1UvEiH%42V(H0In>rUPjq4lt7b
z-q9hiQRZ3~BXG74qv6V%srYLtw?CC~)7UJr2`Ra+<0^27!tjsIPI-y)Wy%|8eh@5P
z1r@so6N`5Z=my3OycZ{BWK>FH&OHU)z$4>p_fXyk9H(a^i%1z+Xmp5~EU>injV`+{
zrA6s`Yz`gV%r${+K-*c$t-uK`EG0F>MXE?8srVHwGu6j>=ZCvTP5#!coSVqJpR&;%
U#2-VKGynhq07*qoM6N<$f*Xh>p#T5?

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png b/interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png
deleted file mode 100644
index d35224afdc82e7e29c4c6ddefb98f50b985b4ddb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 667
zcmV;M0%ZM(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007FNkl<ZI8Tj|
zUr19?7{I?T41?$)-0-D`+#j%lEw&yO3mL^&1Y-!>L$#nDy6n*sFU@)|L0ykUp_MbU
zAZt!t&5WA%$KjpZjk<{GDnV#q3kMUFAd1s>rZmiDUik5G&ON{1J&eI20B9$U!TLw7
zR)gE^E`^g2Y&M${N(Ig%LWb~{mqTS`CFpcIFquqHQ&R&DhXVvb5OcX4qocx_fRCgZ
z;>$k*R;v}fUay!;CKbJ2FOsrygAg5-i1!-=j7B5W*4B#gcwC`1msg%g#K?aFRaI4B
zx7)>7ET(9++M>LffJ&tTi^U>Fqftep(X5p>5!h}p7{qWmtk5k);RJ&GqzGSc6sRNm
z`bBYs%Osp8LaXynq+~!wG>-zvED&IP3dgbHZFKA1rCjhUpQ*>VjR4NNz%*h#MIt$u
zD}RIJ7XU4ZL3GZ_N0UF7L+o?Pp5$w3fSiH90`Cw-ibR(Lfen#N0rQ*7ST-Ks5?q|W
zlJ|H#ET3u0^L0FgWkfMBj(CA0!{6)b*Z|3c^yO!6gjc<IL>b*LEoLt9e;%8k@iBQ=
zEAjo84^{&)#ETS({b+1t4@suImdGB2=RLG}A3NqgoLZQkbg-dl1DjNAOqsAQ@O}Os
zdI6e982i=S%z8+^N3w^aCtV0nyYS#xzgn70A7-;t=E4p5oSizrUia;g_<OhokmA2~
zkmLq{t8_?BR1iD++p#;H(0<E)+RL&ZtJ!kSUznV<v@09AiJfo;puU6Ta{$*!+DB9q
zI%0RjS?Ipq3UX&Fq=IdbBqqArAaN&9K=S+G`fm!aMPtaMwTA!z002ovPDHLkV1g88
BG5i1k

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_minus.png b/interface/web/themes/default-304/icons/x16/screwdriver_minus.png
deleted file mode 100644
index e9b780d3c2eedebfac2a69308d429b168e4441d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 517
zcmV+g0{Z=lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ZNkl<ZILn2R
zOGq106o&sRm0(3g8VQ9inimL#1R_FUBxKPLD2N2&E(F{RE@Q=ukBtNaZWT&xp_{g7
zn;IXGkcFcgLkn?0XQlgg8*ot&3T6B!4r0cbT=*E~%=y22ID>Hj@5viHJj&QG(&=<N
zCWso3$0yKE@Ky-?A&V{-JRT1MfdC?r2x74qlF1}gRh5lK!(^-4BA8+5lKg%|pePD5
znT)L0>qambl#JX?@Pp02$ax1rI2=YQm6Eku&EUJd8@EV~x(K{pFA|A_)HKcT`~9+I
zQQZV?w;R!DRF=zS!{_tK2b=C9=nsWLvQ#P=oI;}A=^)6Fon0x9oZ%@uxBZwv7h?1n
z(9N|q(|WR{|9-I8NpK;=93=;h$;qpC3?Bl8Dtq=E;kJS^AtWW`zp83h7^YyfVmB7M
z34RK(KuPsFmos^rzR#NpzLG8A1DkaxR=p|Egjl9T`?s`Ye&+|)3f9OAWb+pNI-50}
zSao~@Rv0+>pU<10S@^>6)V+<rCab(@h2NZ5b$kR)t!;l|VIEj#|1fz*hR7fpu>V3I
zagko~g!B-BX<*J8Wfs_A;T0Jn0rHZ(AkS^-kS%*^i<*)fI~mu5Q=3n&00000NkvXX
Hu0mjfmY3m>

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_pencil.png b/interface/web/themes/default-304/icons/x16/screwdriver_pencil.png
deleted file mode 100644
index c745d7ce8a588901b81636139306f141c7b5bc7e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006kNkl<ZI8Tj|
zUr1A77>9pv6pkcDwm;yNn_CpZ26}U9v1T}h*%HCsjUb3aL69jO($a=t7(|dDMkIk=
zl+{vc61XWyqi6}XtLmnUitYwo2!kNLen-u;t@MM3!+G~T&%T`<90M>)A}C#UyB!@J
z9p#7;JroK>Q7+IWg0G~fq5@8*6CRHT_4V}#27_p6X@RcmMxjtp+^TO0oTK!CeECNp
z5C|Y1j~lsMF7Nev4JvCVc*4!E$-Dmq{C+>$+uMz7Hk;?YDX*=^WPY1~%jH5i95ynU
zOun|Z_K&=ifX!xurfEhhmCC!_?p66HKl@DHknIAMKA+D>CX;!dVpVoH92l#s+fksC
zJbh*u^S@>PVL>bwGXqCHiA=o`36%{ji8L$#OKNCHnOAP9H0AV!nD2n+qNeq!L_*Do
zES3b`i*z$GQ)p}ZK0-MS45ruRxp6rji9{|Gi$&F3U48oj(7YwEEMhQ{TG4eiOPPU&
zxlQu)sLU3>^(a2fzN)G!-~G-10)NjHMqU&<JJl5BX@2um4NByZep!f~uryk&R%`?^
zB3Bv7{OIjflax6dOj4e_juQE17n)i_7FaA6QwJUa2?{TN4h*Pq$`h1hoX0}I!+sq6
zTW-?Uyp44acxyiGG0K;LI~>``0kZ$rdAXrhKC0nsvUvIwPI6X3_K@9V7ZIERy6;lH
z1PpUfM-CAWsUhlYt2}RPkf<3X`^et)&}!rtStj|+BG3Do00000NkvXXu0mjff~yXJ

diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_plus.png b/interface/web/themes/default-304/icons/x16/screwdriver_plus.png
deleted file mode 100644
index d8fbbaee3ca0492e5548de3b373e6a15a74017b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 589
zcmV-T0<!&yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006MNkl<ZI8Tj{
zO=uHA07kzN*Qn8IYeG;wm_ID0B#>SL(GU+Ipp+U(Zn+4u^cXE&v|c1o=%GC*6pgls
zKZiz*R)~0T>&2iD*J@7fP0)e|iFgnMLB?;gt+g6W7ap@S%zK%g;4pwI<QV>b+-^6r
z*=#!oh@MO)2hc8XRtPMU^9~0*9uES60HV<-5{U%T=`?g*H=50+<W_xMV2IKZ`S6cG
zJRV0rpEv6DdLtMN8dU5P+~ek#<n4a~kw^rYOvb3yY7NenY(IC&e20M7>qRP+GECEK
z`2GGhc_RUr%Y|4hW>l-yhR^3)FK-~=42Q!;rBZ3|6l-$M31qi-3>3)y2Zk~KOAc+J
z;0DTM)&<P;v=3N9^gjbEIX*7c$SqDB(rmF)U{Q!+MjkZ>2fs{FehQ3D_G-3Jc9)3N
z8rucl2w^Z%{i^HoF=Yn&Ck|@%#+!S9J1*<==MkyK*8KOt3n9)i^5k2gARkhm<1f#t
z@4ns*O!t(y*;3>_>2meGwXOoD5EmFRzmJZ}GG(rfF@nD1TY;(F3hU^{lk!j0I%a{3
z6rTSm7UeC<w<+gZSHAM39l&H)2@_qGqVN3?x%%E(zXrTgw>?971h_<nR}6k2cy{a}
zJE8ssU>k}%7WTahNsg~M-$VpX0mD}*p8+m&Aw+sffE*zE$=;P{H%@3bFr+OYqfK+Z
bSw(&Vt_kXj9pj*m00000NkvXXu0mjf4lV*1

diff --git a/interface/web/themes/default-304/icons/x16/script.png b/interface/web/themes/default-304/icons/x16/script.png
deleted file mode 100644
index 672c3c92e31e891258b13557310e998b2acb0571..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 427
zcmV;c0aX5pP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004UNkl<ZILnQa
zze@sP7{{N*2BV=MX$S)mPsngckQ>e+By0#=L>d|-dT9_68iHtZ5R`Ci3Kwy34eTF@
zC}@$=L^J$(d3oO3^Arac@gBbLnLgj=`#!vPaFES{NvcqQi*i}MtW?-MV0Is@1&6tu
zoUc}|49>Yen+YM0m$Bnw(F;52v=#P=vNIeC>1!Ilsnu?GGZ`;!3|q;h71kJy_*1JT
zggoWKsT5!dz-A(0h1CZGe&1*aAx}AT=3l`JuKCbx3L$S>@QN!w;;JIZ+ZMcy$Nah7
z7DC>(prfk1-t7t@Z(Hy&neb+>CxpCh!2rMWJ3f>M@_!24iULwRZgQedr@W7AiXcxp
zbLQu`WEs|@QP_yZ(weSw6>kwio^lARg~PuEi+(?>DvFdZmF{%I;9nRLF~eWo6^WcK
z2ZLZ9r&E%GOQFyiI&NTr2s(R=T|0d~+TBI7RIuXkc#akVf%AEAxZU`2u#E(0_8W;k
VXemZr+s6O^002ovPDHLkV1j<~xRn3^

diff --git a/interface/web/themes/default-304/icons/x16/script__arrow.png b/interface/web/themes/default-304/icons/x16/script__arrow.png
deleted file mode 100644
index 462eeecb7236952691439fdd8c7c4496e046e22b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZILl**
zY;I<N;l%E4hN>k?ENhl6OCtsY)%r3Z8xY&xZrQbJRqwz5|NsB_`xhq$$pbA*OYQGh
zVQ|XHLB?s{fs(I3f5wSF{`~oW?zU~4-3kg+KrUv`4G%}gX-~g=`G51p3!E4v4^n5I
zn8*M$gn>ajG!z-9J^b|P|COgtabl1>NF7WMh5?U(&b;>Q8BPq6$7{e7pc8KZor(*C
z<nbEt{Oi~McV4~1i9zys4S4<S+y94e-{Qm|dAtU^`|;!dvkxDz;>LZi|0ivD^WU^`
z-aMny*$ldQQ!owq1dQi5z<|PrW0pVuKlADT|K@#{ADB<R7o*pHiGe}R)|Np%AOMCl
zzWx6F|0B?uFkHR)!T->?H^JDlcIW@-wRitdc=Z22Q1cnx)(bHVARuOG$spt6!XWSA
zk@NG<pa0*0u7Kg7jnDsgJox`V>GJ>oVdoLJ<mUhX%9V%DfDPc*&|na?wN>w$KY#n5
zfB*jf0vZCt#Y->!cWplm#@6+_|C=wo`#<p9|NjzMThB=5YzMo5i%VTypV!2s7?=(I
z{{tF;3)|J~_^)&D|9{?yd3U%Rit<2uK?Vr1Dk&wi>FAUb!mKXkCs}<b-D5V0sRioO
b0qF$*9yM=ZLw^&q00000NkvXXu0mjfwqzCD

diff --git a/interface/web/themes/default-304/icons/x16/script__exclamation.png b/interface/web/themes/default-304/icons/x16/script__exclamation.png
deleted file mode 100644
index 5296a607c219e1bd2d091073af6f04b277ffb331..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 591
zcmV-V0<iswP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ONkl<ZILnQY
zPiPZS5XQeZ@9mmwwrvO@HVr7L2kD_i1hKv7RcKKJW9=;<)PuKTp*{C#58_cg*rUdS
zU<E<y!GH)AJXWD7B#kB}&8pco8~5#7PsRLk(Sf;qGxOv7hApnI<FF!;2-4~FED=rP
zKT0X}Mf3_%%GtQCU%8dfFDs=&4~YoZH#TkvA$CQ*Uhkbv-&<W>KCtc3V_nzrczb)R
zTCKj!WHNiA(P;E7v>XSv<AefC#&BnI^QmDNdjKE?txBcf`F<!sDg~t!Y}<xy+Ym$f
z7y~gDo_}CA1YnGTh(ZDEUjWV+#9shj^C3Lz1^kJN{f-6~1!K@S?{6mIx8EQ;bq$?X
z2{GN%LIIp;2q1sF!pP`2qDM5u%p_*A<*9hoMLg;bM-Yrb=lqWl_-Hkr<5>1I77LGX
z|Lz%_JzhR_HTO;ckkqc#AU*G}Nenn}zrBX80fF}w#bOaZzkft3k(!V`&U+G|a;XHX
zUWa4ba9vmMz8?^*{U?Zy#PHeL!LzLuG`sH+A5WyDMBekj2ml<*LbuyJd2?Z5juSy}
z4#7E`)?4`AKKx)8IyEsje;bBqBN2CFTExsri5UW51VNB<JDvHJLg4}d5JV6}sC;;U
zvC$TyRD-EGa1PdBY7R`z#?j2!iS92fF#ri|a`G}WjO5@$m(Eo#Ws{vuucnc5HIgo4
d2tHM?^BXve%^3FeyO96@002ovPDHLkV1nDK1z7+9

diff --git a/interface/web/themes/default-304/icons/x16/script__minus.png b/interface/web/themes/default-304/icons/x16/script__minus.png
deleted file mode 100644
index 126ecff575eaef61a9511b11a60126d5b69fc7fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 468
zcmV;_0W1EAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004-Nkl<ZILnQb
zu}eZx6o=1}gwYb@6b2$aK_ko{-td-?upw}fXehAo5#b<21kn%}2ue7nM6`&3je`CI
zjg1inEmoRnMVVTbc{)cD9>^6heADlo@BVm~2g|`Abnr$Zu$xH8d&#8Q4>Y?7TER*v
zB!^R}!xkboe}9E=PM4{^Xw(dIe!mv=lfv@HhmiM115YxU^n4&-=Eg9&w4_DNSF3ni
zEDGVA=VrZLAPIog<I$q#DiyrS=Y??2bDf<o!2{L2E);}t-c#^M6>q4j2+n&7o@zC`
zE0u(B-cwMn*D?3<B82mvg4eGvEWEu5;k+Z*v|76b6?*4q`cNV`=edZ%0B1nQs3;)0
z-5oaSKR@_RHMLx<tzpJ)Z<C###^b@k94%ia0pjccgDk_C(+T4)m%q_$Vx4Z$a!yO1
ztE*kaNYWMzSu8NBC{p<JG}~;o@S7xB(mo%?NW#P&4&2u1?)Pc=;J<-hFG*9wGc#NC
z8(@nBBKRz*>XCk8!p+5bmjxpOCeymkX4~n90i%)L4jhDycmDtp|6GskQjNv{0000<
KMNUMnLSTaP5!ToM

diff --git a/interface/web/themes/default-304/icons/x16/script__pencil.png b/interface/web/themes/default-304/icons/x16/script__pencil.png
deleted file mode 100644
index dfc36a7808fe64b6eae7ef1d46e57d2d96723ca2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 591
zcmV-V0<iswP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ONkl<ZILnQa
zO=uHw5XEN?6^!&?z#u^*l-jK%8j39;LKa&>NChF6T0ICZ;^HA-!Gl;l1bV2nXpVZY
z=28k4G{k5`tB2wjUd6AdO${+=ZEb1OG~3uD<4nWC(sjXs-(}yt_kX+lhciP%pdpWr
z!r=J0_u9mS@;}h-NzezJ9Uk_MOitdYBVx5yGlg|JOt}z^wn9%htVdBvTwGf-Wwlbl
zu~aG<7#L{f#&Ed5UyqV6l`uU&Zwl+Y=aFTg5CCUipB^P!EaHcJ-W1k(PxBZ8a#ZtE
zp<oK@TEL*wX$<&D6~9nbGg#-nq|FBJ1i=_Ex4w?w7ZyxmU6!Ql89|7@5rpH0fW>kd
zvr9{+e9UC<oFpYM62XKZOdA50H#V@avhq*9&7|;NJdUcWV!&>{83PCy0*dsXf76HB
z&g|?{oPHQYwQv;=c621HR_l>FK;!WFKn#U6E|xbpag|;}PcA!!FO$7n=KFWM(SN!t
zYInOq7Dd<^o7W5b{C+qP42CP!Dwe5*#$4_NzIt?`VIJ$one-I$9szqjo<_i~_IB9g
z^NAy|*pq6#j(;eGS^o7IUq5b`AJEB}^fRo{RkumfrQOs(8;eC0-OZhymr27q1!%lY
zMG#AAjK_NL$Jgg9W3Qszvb42@xHx+`z}nQ(a(;))b!9uG;i=%x_lJ({zpXuMayaPz
d!coG--oHhJU6e`p>)!wX002ovPDHLkV1kKf6mI|k

diff --git a/interface/web/themes/default-304/icons/x16/script__plus.png b/interface/web/themes/default-304/icons/x16/script__plus.png
deleted file mode 100644
index e6a4934519bfb0b09c7c538a67628e709347004f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 509
zcmV<Z0RsMsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005RNkl<ZILnQb
zT_}TL6vvO{qsY>HB#Dxmn0&3+#p^q{QBosCS$K0Xr6l>dqgF$^qQu$-DK5BB#Fbnq
zwM&Uw7&bCA!x*#UJge1P+cTc}UH#AbJ^$Xf2Rf&wAcSsa2F6!cHIr*=;(wso7LW?M
z4F-*IV`DCWi2k1+E-a_Z#D0@0AL{jbDdGo(uGd#CFFqfdcXqa$hKBN4V<_(EkRm$X
z-theXo(s#_T%}G2BmpSWYNd#Fj|Wd24lXQbbD^Cu!41_sbvn7QJgVT9DxOhQ9xRV4
zxO;y`+rtAFmPZx1yk4|FJ#k@qRKfG-Cpz8kh;$tdV(DH3%1wobnG;ozF{Ta|c<4Vr
z(uayf$#yOFJ&$0lIqNFMk_KQ_0OSY)C|g@Y40yl4@r7zi={caAw`ziDT_VOVWZG%j
z3d@Q`U?)SPf$YXc$Zc-c`}}_NQVS_%>(y9y*A@oMr&xo6q=EuS7X+ozV%hZv0{BG|
zDgFC{SiT|zQC$ltn@+ukS-BPF<iQ4siArTjvRXY%&j14?;8C$8VAf?3$|mJDR-ElJ
zfg&z1uQy($8vP4dyW%*eH{k+W;x=hd#dd!I#tK;`+fdHN00000NkvXXu0mjf)+^u@

diff --git a/interface/web/themes/default-304/icons/x16/script_code.png b/interface/web/themes/default-304/icons/x16/script_code.png
deleted file mode 100644
index 04cb7019960e6e1e6ba90b9fb46d7e1e6297dd14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 494
zcmV<K0TKR*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005CNkl<ZILl**
zY;I<N;l%E4hN>k?ENhl6OCtsY)%r3Z8xY&xZrQbJRqwz5|NsB_`xhq$$pbA*OYQGh
zVQ|XHLB?s{fs(I3f5wSF{`~oW?zU~4-3kg+KrUv`4G%}gX-~g=`G51p3!E4v4^n5I
zn8*M$gn>ajG!z-9J^b|P|LQ$^z<AHuv;VgoJ^KI3)2DC@k_V}S>A^7IG0>Uk?%zkj
z*PcCtV~{*v1D*h#xNiUc|NAdo0MjrG;%`53;y*|puK~}$e*J&x@nf7AB#+mC*WbSV
z-*ose3O;=03K;J`bLKxt9<KrKe*E}<9T?iUFi0M+0iS^J4D#!Vn>WEUjD6tZMKBGL
zM=?Oo)|Np%AOMClzWx6F|Mr_VDEK4L*)R-}2dRVU0Ru5hO9mMi7Y2C`kDQ->{`}u{
z`ZO4yzH<lc_isR3VHhM2QU}Bg66WR*1GqIb7({Jt)w|};-~Q*{zyH60ig4k-z@#o_
zXO}Oiug?GjTwLnv`n)D4#X!0L|9}SI!XV(8mNuPBO%3FBF_2!60Ya=wO37?GI_1P*
kRyjFf$T1iLu?|Qt07fEM=w1(nI{*Lx07*qoM6N<$g77Kku>b%7

diff --git a/interface/web/themes/default-304/icons/x16/scripts.png b/interface/web/themes/default-304/icons/x16/scripts.png
deleted file mode 100644
index c36414febbf41eb43d79abcb865d2b2d0e329511..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 518
zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005aNkl<ZILn2S
zT_{6g7{{M0E~L1T`AD&hq{#A7cH!&F$1bF_aN%OLnv@G9N>Z+NiRMC?ld=m7%NpfI
zT<uCMyHc2@CHa`q+8)m{JM*5kled0#-se2e|NPE5FX-CaVPJL^hL@ILPLg2J=}hlu
zwzk@+W>$ml_a~dP1q?1Mv@J`LErE!!cw7P3sNX!gvZBozFlo1ger(Jfp~i=o7X{DJ
zD6YC(hppq|TAon^h{}|{?Y+9feV;GQ@#Q7ny}x7K(2%*oWP(ns^)KK*W$E-3&jSIx
zPX!Rbu&Ruz^2N;!p85S42!$~C@u3WmFSy8h*N=}1xVG+c;cYma<S7zS4`4k%4T*4V
z<KO^;WD`sosRpnfYl?7f)9uDE1u?JR-|7LZC##Ce4vz=l=*i4yEQZxaqlJKSI)sV<
z){|95<sGjVzi5z&(}ynW?w%;p>mj+s0M?ULMdjU-6O1Pk$=}&$v8?6S)EH@0L*zku
zPY+b~_5y3Mo~$Y=mvnUO<<{3vGdUF%^y1J&G!jKn*wO-}U0phx!*RriMphM-H3q{x
zHJ4=YYf#YKTuUKStjC%n8Ol7A51A{cs%k{m%Z8xL6lc!=0G-)Bat;4vYybcN07*qo
IM6N<$f<MXnr~m)}

diff --git a/interface/web/themes/default-304/icons/x16/scripts__arrow.png b/interface/web/themes/default-304/icons/x16/scripts__arrow.png
deleted file mode 100644
index 9adba7a9f27dbad0e1d3e190380028a0aeb44016..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006nNkl<ZILn2S
zQAkr!9EZ<CEeIC%(xM1KrIa}kESKO@B73k}BMi|wWaVTa1Su+lB_i2FgCZ)Hk!(#(
zG3Hc~6&Mmm4^x}1;Rs7scNnXrbeW9p*ZGTA?*%VCd~omop7Wg#?qRtG13TB!!YVpC
zSgXgw+6M=>-kV*nB0jSz!M~r~SiF<qLR(u=r^n++14yP)GHAxv+p4>|vUe0*aXQ%v
zi^Z1U3%@Qe%lNUjhI?M`=qal;oA$^A(qwLb;tz%33k0@!F*k?k$_ljQ<+l9FN_M)w
zep~RrWY5F|rXmr1*%WXXL8&5&$#3T8@j4tvWN8V)>Z)8IKG2ZzKEz@&X!gMC#pif@
zgKvq1vVii!e3KNKJscT<z-xrfB1Hk^QKl4{JsulFoQsHG>+8w_$`ezi$?oxS{N^X$
znEZ)L!{1TR)ZLTc;AC36LoT2^F;$w}=lA1pG6~Co0H*+)y!9@szx&CY*Zx*6pgb{E
zq;+%=hC9=!==q4^>n~CDYyr2UfUa{osJ%8-!;Y4gvdpqFcFbtB|KX=lsuYtihMS9k
z^*wNLcALfsklFky$PVcB>_|z;afjReoGuNeN@?s5;ZW^UK~pyz+*{oj)Vmg7ngKL*
zzM!UdsD|w?EX?JSt908^>9h=*ow3{Rt8;RUjIqP&s@~bWNkDDx5A3rHm=9haVoa5l
zW!|IHH7TLW$l(8q6%f0M8+v!2?+&O;kIY=cNbnErk8&oWOb|B!0000<MNUMnLSTXu
CH!A4>

diff --git a/interface/web/themes/default-304/icons/x16/scripts__exclamation.png b/interface/web/themes/default-304/icons/x16/scripts__exclamation.png
deleted file mode 100644
index dec43e245ec83ed4f987e0fe031122589a8003f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006{Nkl<ZILn2S
zZAep57{|}R>_bHPsSnkcTrU<<k<8Yon#d|Cg)tCo5)!M_3L<MohK)!n>_ab;g~6Ny
z!BJzTg#}Vs8`R8nZtb=tY4c?*S!*vgrv5u;G`$x#y71$<=ef`M@xO;d3gmKfSfe48
zS}nP3GLfdPuEq7m_I4@lsk1@9A4&~p5-1uQrPocSmIVOG`FR1XN9Wb5=4Nq5!CAeY
z6jfKNV|36T3JI8*oy7x-<>~I48Zp}=5bz^Ydq>~sD69_0A}>Zp@I4a2Hl<R%qpFI?
z>g$&T|BGzu@5eiigYTb!LKrM+nyis+9uEfGZgA7nn21J&g7gb(vUsk^Ndc_aYO&y3
zFqk3`i)9zEcy79h59>Yb?#5S62baA9zVS!d1uPzm$%pj}Jr;NzDnvt_@P0f7$&re>
zi~<%f9hD#XN$)lIxdzO|%(R|Ioo2gEQn{aO+$R+Z*nv&ZgX8lv9z~z^03tu`L8(+C
zJar2OU7r1|S(HQA!xw}T2?Xgs^YQtf<NYfI!u~6u<CyZCME_&4r&c9W(De$kzO<BV
zC@UkI%F9p1lS%xhDVB)CX+Ht?kSg)nDMxQl1DwNqF=*TKtK*KyoV$#yA$i5cWNk^w
z<`$#z8M`!ps3c8basZ#+9K<*$!<cJVDgmowt|GkbTse64j7UaSOC$wUa*o}$`Go}m
zL$8m+>)1IL@NPxm%NE3DE~P4iv#$$S^`bVCo1cGld12v&Oq{M=WxLyy!?kM3Fr)1T
i`Czz7Y-x<Q$^F0M9dbU|XB_+h0000<MNUMnLSTZws4&X_

diff --git a/interface/web/themes/default-304/icons/x16/scripts__minus.png b/interface/web/themes/default-304/icons/x16/scripts__minus.png
deleted file mode 100644
index 7cc3666cfd22dcc92a74b66172139f4836577c9f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmV+y0_gpTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005rNkl<ZILn2S
zT_{6g7=YgkQA(K$$xjMlNvX-tt)E;ByO7di$;GrH<pQZii*~ik5h3OzxmkX~T(}Xr
za6>FBr7&S>`I*t$Uhk_Nz9T0W&uQn~_dVy?w*%US2524{f;O8Ch9wC`S60672NxEq
zX=YY~zHj<k{Fk7`YONlVBu5MpBhjb=p3!=9huvQAr=V|Y3d&6;bBGq+1cM45!(nu~
z-Ro6dT?M>HArO<vzUVnU#nq#uZ+1>j@ap9SOIlmaWkw^^^z{4){!5m2cX8k6!|S+!
z0ESa#RFe<R&vDP|Mc>^W`d?p_0{H_EIq&TDRsqi@-EO=L1irWrh13O{=cP>|Jeyuy
zLqFB{<3*|h&f`oGp3QA+V1Pu-)5nLpfb-;3G1;}Xh0pY4<}DJzLW99VK(|(_6mXuL
zDkd*^Joru<nJ67}c3oYsJuMBE0F(mGlT*dyWxXD^bvpDA^BT>=Y(m0?1aQ0vFatUD
z^^m9617~rboGK=dCnpEPCKLX~NfOXhRzg;7ZIQ#}+T@o;P8E|o)6);FwD>nRE=aAY
z(2}H|-?nHhrhsRS7Ry9Raj}7ZZ6=Xoq|0EO5k7;&{QUN$($WDn5_5CuzXDyH4BlfD
Z1fOk0RTf9UQIP-u002ovPDHLkV1lCT^F9Co

diff --git a/interface/web/themes/default-304/icons/x16/scripts__pencil.png b/interface/web/themes/default-304/icons/x16/scripts__pencil.png
deleted file mode 100644
index 616d55501021a2f43480f52ce8c5a62bb573a60e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 622
zcmV-!0+IcRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006tNkl<ZILl+u
zba!X)tEgazXli1pTC#+pVbv-)zkK0BOQ2X9E)10S1uMp8KyYoXWy_K!z5o9I|Nr~%
zUla@y1FBDpZEsh>YC!(XnG7azacN(H3ZJ}xkAmNR|NejK`t_SFl9E(FdQc2Nb~4cP
z#XGND`M>eZ893f`>C*p4pFjWC4h>B+h>Bux%E>_(K*-5U_U-$B^yba~kD&$tF#`yL
zoC?D@oqX)ZjsJ(QUHgCY#f$$>zkGokP^GQSzyLD|BnWce)o0I8Fi33r`t|?szkUtI
zFTZ{T8?aeSjNv3BBdP%)=UoG8LdGDmS(`Tfe+qQXQ>cp)?d&@4F*2?{#>nV^VgSf_
zAZH?Dkl4H}TmHWW8U(_(9zOh^U}v}Se?!Cnjf{*3Q49b%59U;4CokH*{r@MR%}*Zf
z{=aVH#{b`eY&R*XzWEFcZYTzToCk9%vXhtX-1+~-Q(!D?_4@z)S>=BPUEQrhLPC0e
z3=F7Y@bTwQxKm*mB(`=--~VIVyuq6L>cyWLS%{VbwMqgpH-oIJD}$1^H-nnLf9AK}
zzrjvL#?PMY``_Qf{{p1Bv6%gir43&VP@^#r8v?NygP^%NgS4}=dhen|+dzrt2hb20
ze)HlQ&}JX7&Ha^(N0WmYf`FQ&pcvu;0W&jApdm$|)b{t^KNNgoTjT%#UvB>IC}X`8
z=FSie)WFMt4%n2HW7u_d%dlaf^#3SNw&TVcj44oOOQ7oq06?crl2(&Y*#H0l07*qo
IM6N<$g0ZwRL;wH)

diff --git a/interface/web/themes/default-304/icons/x16/scripts__plus.png b/interface/web/themes/default-304/icons/x16/scripts__plus.png
deleted file mode 100644
index 00bde07451603758ef41f4157bf597d8534c1e19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 589
zcmV-T0<!&yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006MNkl<ZI8TL=
zQAkr!7{~u*P6QV!Bgu$CN=;0NX_^l`=n@~S2E`(zgd{Eu3@Iu{Ajk?#VlP3)#wc93
zAYX=N$$aod3LgeBvEd*PR+=$%lrEF8eVy;(wR^)$4?j5fyXXGS5AH!tdppj1Jh<%j
z;+`yHV03inxo>2oS<ECO#QSr~=G_Dr`}><8$g(d_MA=+U2hYTQ>FVHM^{#?mzaI@<
zT~bDD{F+YdSl!&DC*km$Q{COw{EbeaO&0bSk@<NVi$-^tnwz8K`a0FRT+)foPPF#)
z{1yB!S)QJz_lX33*%k=EaH@)7@`r^5nu*6Lv9dx-8yk9oy5J$_eOg}D!Lz5~FfFE1
z3g0ssV*%&I#Yb9r78oC=B~in0k)eR|I8zJHo=r?pN{E;rTU*8g&Qnvh$)U+f`YBGn
zHrq?~DF>N-wwVK-ld$yJ^#aaQQ?<#jA`$wX&653XD_vi^Lj{3@$vw|4K(Jgd;5;=|
zn|$W=C8{55QE;Us+B<Cdj6hiof$|^@x3%F&M+c5No$g=a6i(H`vwcGq>6UL7=wI--
zG={RKCLD4&j`>2NcYJ9$RZC9XjpEzZSqzzD%<<%DQrCF2KZw%C#u_2H#kVb&&+FjX
zS+{%GY_mB5RKi>Gv2wANaK9vqhh_)?V5+LRQdC!W*9eo<D*hGf6`X}H;Vz8ghRKhc
bMT+1LnP*tcT&R5U00000NkvXXu0mjfz*`k6

diff --git a/interface/web/themes/default-304/icons/x16/scripts_code.png b/interface/web/themes/default-304/icons/x16/scripts_code.png
deleted file mode 100644
index 15123f57538d3f144e159a4a4adaba12069d9e89..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 582
zcmV-M0=fN(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006FNkl<ZILn2S
zO-LJI5QgWZha%`j>K}qitB9Z&`~f{!6%V$}p$H=C!9yUR6napR3L*tBdMLDo9Aj4{
z78^pf5Dgk6$weeYq7pA^V*J5W37V>eWIFTNq`M(Y7an$ZcIN$_Z+D@hqXS-#jzah3
zB#cQCOe`)Y??;TrMyl!5py#hdbGm>x<KvAVBxxp&h|yR~0oSNs*Ecm)mNww6!2p{6
zeqDqbPp+>O{JOit&t~(FhJk@Ho>2tIl_~wJ)$2uRV*^bN2QF-G;_A*0`fqNqva3s1
z-O~dv1_%EI{7>0vv!T=H!@%DF0vJ|JpsH-Al`T#uI>;z^d#emcTyT-~zR^my?QLA9
zf!)(nq5NrS34Q11f{RE*J%IJxM@LEaD1d9zb91;G2%zWiP#CEOu%6j&N4v)(&J5QK
z77O}mJ7?iAh94f(16a=+3@YH-N0SNtS66rv3gPc)6rX9edIE}?nv?;ox8iaMT>JaD
z?sg01d8-xgX^@H0i!N+y8_LyaKpgS_);qYoOcEe%u9?=>Fcy!C&-qfX|B_W+uBFjD
z;t3SBw?j#1C$JXlt!`}zSby*MSSaVWw0zI3sv2f8ii>IEP)pPhxsX#|4+X8Q&u3<5
zfAUY0P?am^H8;Pf=KK^M4YKR%Dk$U~>#?Ss6lEUDg483Uw6r&&mkyaS^E7q-4?B)E
U92y8~(EtDd07*qoM6N<$f(Azh9RL6T

diff --git a/interface/web/themes/default-304/icons/x16/shield.png b/interface/web/themes/default-304/icons/x16/shield.png
deleted file mode 100644
index 085880b4b9401cd0e69cd5c0123e1c90ebb64090..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00076Nkl<ZILnQa
zJ!o2C6o#)Nf;5XXG#xs)N>Ql}4i3^f2o~`l;!j%(m6S{-w9pEHkj+AeKnsDAXcB)L
zy@?us&`2#+JBgr!4m#)>$ebbc^c>M!+c@;X!}oE{`@HueG629>ES3o-lWB6=?RLiD
za4aL<Da$mQ&k*D?{}vEdt5syP+1!Of;ewz$&hE_iw+hT=vj@@RQjDzNeKit^B*x=0
zj7B3!BoZvn+_a+%Wy#?Rj7H<@dcEFvxm<p?+r5!arwha3@K?Lt24XN60M5#^b2^>=
zYPH%Yhbu4`3~MM{_xpY5^?DPj*=+trtJQ*Tw+o$4ht6ws{uJo-`d27j)oL~PAF%L>
z9Iim8(>-rA8skc(0yFT(qtAv&Bnsj15gZ(ZC+G2T3{oj}gw8XrK&#c-ve|5##A2}s
z@pv5e_d^pY6gomN0*8k&loMF^754VNw9v6~1saX!NiY~Z$7k}EMN%x5!eSOqPO=aP
zY@MU?m@81L)l#qb<u1!+7D~xv2E`nHdLA;FGI%^McFExiluD&YrBb~~CexRTB$h3~
z>1i3|D*h*Omy{)kD^MsDj9e~%>hrBd&(2D>q-^#Z<Z|C3pZ@_q-+Gj?<ZuNtnT(N2
zrArctWW(=&TghZDZsw&zp@C=pW^*%8p$uio;R@&xiA0Q8EWV4Z%VdgA+uI*H#bOgm
zrJt~~^RXkBKl)5N%21Y``2s$&gxurv`40pFfk7w~Zdoj=IfCvqqa9{erdj@cfnd6L
sh^Po2kEcfI9rB*;vpFI|?vq3AZ(ipWi&w^K&;S4c07*qoM6N<$g8hUr%>V!Z

diff --git a/interface/web/themes/default-304/icons/x16/shield__arrow.png b/interface/web/themes/default-304/icons/x16/shield__arrow.png
deleted file mode 100644
index 9b6457ec2d8a65ab09df12850a46f96aaecbc3c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 742
zcmV<C0vY{@P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00085Nkl<ZILnQY
zT}V@57=Vvs2}2D=k_BD}U5z{&IB+8`q`VkShWk;OJ4?(GWpr@_gA@dBqBIDDe(cA;
zxy?<tquX>7=SWEhf%C+MxWG|cbW`AEcoDt5-#L!byy(Eg_wjz;^PIz>0Dv-?Oae_!
zO~TsT+)TB!w3H(qN0gJ<-**a7Cj$ht*(|eIEKDR4StF1=&PodB{{)OiqaD%Vp&Y5e
zz18J%dGq-^<Z?Oidc7RZ7;;ALkh@2Y7%&(NJ)4`G8Jo?<G7Qrj2m~V8Z1xw=^FY|&
z-v^wnlC!q9HZ~rQXNZG{0li+|jly9jlYzaxJwZw&630j;laNlQA(cvz^$?vNL=5P3
zy4xrntgo-b|A4^*;viz6p`oFDYilbXi^ZS-{yg&8;BvWPYRU-{6H~%EGvfijpUa_h
z0}%uD_4SreD8v&n8jZs2>@19rPYTlHq!UFKOiz1I_F`}j#>QSJ(J>=ppsud&+VJr3
z5<bFPPLn(yKZZG&pAW&nz~B-(R}nFw(P$JM9XFqFT<}!M=L@1328S~Zt<F!N?|U90
zj#jG`12r`@GPPRW=ko==pOpOmW#G6KSXfvE<Esq3{0g9bwDYC*@ouN`K}rm$R4PiT
zR5o^Xb-NcASB^=YFW$rT(H(>bnq2@UkcH7a0Lt6+{SS5_K+`m(P$){Ps;YWf_HHZ~
zT>BXcy@hai0~+UY@bEK0XBwcD|3lwLfJ^=FwuJzBWHK2gm&?x~4w_ay9U2-*MWYF@
zj>MswUHnmb%l)my`X;BD&Vp$N;DTd$`{JFby%3NfrO0`SL{cf0O7+FX#e*i3HB2CT
zGApyqq^dUn${06)*6wM?2vrD3kqYE8q9zm-6=_hqhxC&@nMtp(+!@2OU1@EP<H(_Y
Y1H#c6g4GP=O#lD@07*qoM6N<$g0DJKjsO4v

diff --git a/interface/web/themes/default-304/icons/x16/shield__exclamation.png b/interface/web/themes/default-304/icons/x16/shield__exclamation.png
deleted file mode 100644
index 704f4aebc01401435778a87259205ab5fc6b3016..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 802
zcmV+-1Ks?IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008%Nkl<ZILnQa
zUr1AN6vyu!Lm26UB>5uYLl0TZfeW?}vK+B6#JMS?t1!qEeVLGmW*|wCNr5C}rB3H{
zn{K;vn@-cIGt?zD%uU-Y7j6_K*`No(2k~@%_qyoMOBX(zALsl&-{0?EE(HKoad9z6
zQBe_BOG-+p($dm2q~d@y())c+0_yJof?BN>X*3$G+wJxc$QpZx67zooR4UbFM2W*x
zBpuh67=|&&VljwDqhL0hS?p=ajO-zM4;((Au&}Utette&US6)#YPEGXo6Q}GMD~}L
zmw~Xcu>shdB(t)zGTrp_beK2@A5c(GP=&&7I2?vhD8xyNi;I8Y_xm9j3_>6fAaxg=
zYJ?9^DwWq!ihI3Y_#ZGZP8@^}P$(2v7Zw&`Q&Urr06!kNHZaT}^z|8_x3`b00|Q2|
zTG=Q%R}elRFE3BybUK%bI6giOCX)$zdi0#6*Bek|z-g|ASym3N;aceGdhSO@jqm}v
zxw-jmZEd6YaHk}s{(d8#Xa?gT12c97#J~1|*Kr<hH8qT(a}MDHWHMP+Ma8uamUaA+
z7-krZMl0Ti1*fGMR$twKy&Vg@Te<;Fby6#F<Z?M5kdu=ml1imFhlXt564KC+11uI7
zzOM^BwhIvd{0Q)mgzebfeWoL2si8I_8Q}vY5($-^oqe&gvTAT-WCEozVA%<<+b3a^
zZHG5ACGg`@Gf=qwOSl?d+K;Vz&9q|HMDqb+v6#xr%1X}6%&gPt>ZcqI&z{pc3oe%z
zURYG{akUCUK_!fh)<baREUYZ$ZhIKIYtlf|TmX4QA`z9EntB+i5sM|AEiDfM<Bn%A
z=R5<O>-i8_lX5p8HL`XJ=Bz0`cQ1W95g<U4ks|_uAVVk=79=Gl-G1D9bTj13-rM?c
z0=C{Chn??@TqUggGPWE~>Fz{;5J^W)B2ofP)3O?^VCG>X9er|#3Lq<lu2$-8_dV*h
g{yyb1v{Riw0rYt%B#?}dAOHXW07*qoM6N<$f-bXNEdT%j

diff --git a/interface/web/themes/default-304/icons/x16/shield__minus.png b/interface/web/themes/default-304/icons/x16/shield__minus.png
deleted file mode 100644
index 3c0d04aa38a1657d3f3bb8c8b7301021bfa08284..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 702
zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007oNkl<ZILnQa
zPiT^H7{^~lENO?N(K<wUsFj2h^q{cAs2v1L^i>D*Pqv`3(aAx72MZ6o*lp0kh;43j
z{@Lccshf&UGTQ8t81673J?JrE*LH}Wp67iPDtG7yAAUcc=lOi!A3t6O02r2KdCX=r
zzuWD0W^8P%ADQUTPqja1x-kC+5LT;IX0zE`>2!LZpflDkbo)I47K_D=7_ccv2Jk!{
z3WcJrRtuWVCPbrA4r?yz(G1OY93jADGEE;G9Mqgnr`P3j&BWvJbfeMuRjE{fsMqU&
zwH);v4u`i;DAdS7gaD(_IEBJ#tyY8M<6~Ybl}dk6E|=lx=m@ISD($D}Od~>o!C-id
z(n+ycg#Q5pPsl-pfYH%W&*9-=E1%Cp7koUrHiSa!5Dc!u(o&G$*Ve+YwZ%2jd4LE3
zBO@cWWHMPHF_XzaBocwe#bsVvUS35p1S>0Hl%p890fE5#GCEd72pAq7zU%k<cX9Dw
zIZFzMw=kH4&CMjt&d%+ka|aOubUK}KV&c&P$0g2`VzC5@DZKg~BoaAryB{u)qu1+&
z0F6c?(`vO(W3hPqEQ#Z?u)Uo_xq$yfs!g-(;GitRFhYP@t!9RXhVD&HPOb0kWP7Ad
z!+qGeev>D7QGODXNWP)`CCo7I_yCnk#VD1^K7~Rt<MlqvCldQVlgST|N_~XAy-%=o
z;}-nzczOt62p>R8CX+F8x%?9HM5R){_4(dZGno=(v!7vJt8c$JcmDfxvAFqKB>L(@
zk(lq^0GAl)LoSQO;;Ryg#3+?Y=U8?;MbMdQ)Wewpn!SdOulokLB%Q`>L`#T7A{|OE
kkymu?))5tQrQ<Na0lDk?KKA`u-T(jq07*qoM6N<$g7oA}s{jB1

diff --git a/interface/web/themes/default-304/icons/x16/shield__pencil.png b/interface/web/themes/default-304/icons/x16/shield__pencil.png
deleted file mode 100644
index c717e4da62922eab93a6b84cd2796e3201c9980b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 777
zcmV+k1NQuhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008eNkl<ZI8SYo
zUr1AN6vywCA&h)zBpK3!Pz<JQLxnbxVI?$h$lRtN&dQ*n7?_HJu7shGEU;K*vrMLL
z?oV#hZMsdTrRY{KG4LS`G;j~S2tEb#K{}mtH%C-I`0zWNb3WgDxm*SS7>!25p;oK8
zyRos6X=-XJMB1_xQqMASh5F1?Sy|P0mR(4&>~-ev079$P@^w0$J{%6O5maOE+#7Q-
zg<pLrmk)u-1Ob-a<N_KR8d?!0$^xVa>t=_;;ZCJeaCmqKZnxWyJ-v0bSglg2`qSw&
zsD;868^he<0_yAQJGQsC_gY$7y7hW}kI&}|9~>O~N+y#)?C<ZxqUX_P`?K?3(?15G
ztE=lsp-_zU355(7P*+#ij>5^_-X84k?s8Hhk;t*NZiN+>0!VheyawyhsS|WMkW7G5
zsl1QU@y5mm{LP2x3s|yOakA}sIRw396nab!k_o7-t-TYE$5XLb49>uh2R_$0cqhv_
z+4`gu-i{A|-R=ah*MEr4Z6p&=Q&Xc027^fwBasNWTrQZJvZ15_`1uVcMoZz{Ya_~T
za5&z>#KhzmbhJn&pt`#HrrB&>!UNOOvtYB$;_Uzi$B!RWfz>h$PNx@x{V+ct1fy|i
z37s2ACO{^WiQ3xkS^WM0%*;4*Pdbx4o&bs=eD!4r1XiK7^{#~+xm=zJsHmvmS5{W`
zc|5+O|4Dv-6c!d%QC`P?B6LK%<RF;<sZ`2HBodXu&_1`g82v{I20ub5v<b`0TVODB
z&e1M81Q#F{iy4tfR8Ue<($n4D9}5K5PXCm`;W*ygr@g(#812w5IRqC#htKCT0)gNH
z(kT{8Uzto#cOsDlM5CWzczA3_A}JrI8ST(+?qmb<kOJglUS8g19*<X-pPxUZ(KLq$
zs;Nga+$qZLl9LPIWd~(QCBd?+45a~Nkm|EOg73{-$~w$%)5Y*FgEgG{00000NkvXX
Hu0mjfCD>=L

diff --git a/interface/web/themes/default-304/icons/x16/shield__plus.png b/interface/web/themes/default-304/icons/x16/shield__plus.png
deleted file mode 100644
index 5ea1cb9c5d2f66ae26cbd8e21e3342bd7303df05..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 730
zcmV<00ww*4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007^Nkl<ZILnQY
zT}V@57=S;=TnuG29gU(3AuGn3gDsmNVK!p0So;rk6$YBp)r5o+1icESE`karf9IT=
z+m3G2Z8%4Zblq$WCgC6@wl0DMuf2%g-tQa-`E${MhwtP4zUMiILjZu7&1M#((a5eg
zn~m7*b_vpXh=k7my;Fu94^S)?i_mJdI-=3&I)(0WR#iSf5iprd4-g$5iV-R9+uUxq
zw^S-Yu~-DJ*UR9{LC@$NdiT)b0tSPjcVlCt(9zN1bT}M+!C)}DySw`*m&*ZVXJ-d+
zwnop|+uNPVWU@dVgbV2P`W_Sx3WWk}Z*Q|wI-Nd3Hk*a5tu4ss^K?Bxrx)P@I-RZy
zrTtVY1^)vE_o;($0j*a1XmfM3lt?6?4E{X&+2D51!_15erlw}tb#BfBfdErP=OMxc
zT3TAH;cz%d#aJu`3kwS{IXTTr)6*^#-7q`rLD`GJMHn0VkVVIWaDnFL=G!A9BP;l@
zZ#hl!cmfz^!0!*kz`)=NI;{v7&}cNW&d$eg7$$V8<nx74jKG~m8`S%6!1<R~v(#y7
zYT^Pal}e~qtDpIN!M)>BAg~Gy6NjaxHK_MALf3vj2*#v8uH2Ig$z%-|P%4$Ap`qb!
zcX!YH@^bu$6bdClH-8`MU5zaEy(hqbFZqUYhD_9qvjK%dL1Z#nbzNOupVQf&2!+;v
zhr=Hs68QwHtDoWW#C2%>X*mITcQ(TY=pz&giC8SIMV=}Y%C|#9qxo1Y4e|IFP><f)
zJ2PDSi#IGPUMt-M@=BCpc`X_*2Y5&|a*oI2UF7rmdVxSNXg0S+D0EL}WT+~C;kz8j
zaCMGc;`1;<$^kwiMdXN@Qc+Q%LFqa2g6`S5p^_opm0yXm(sk&NzhplEu?KCkxc~qF
M07*qoM6N<$f)nUZ`2YX_

diff --git a/interface/web/themes/default-304/icons/x16/shield_disable.png b/interface/web/themes/default-304/icons/x16/shield_disable.png
deleted file mode 100644
index d2dc3c5a68bf9f1445ad7d1191dc749bb48477d2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 513
zcmV+c0{;DpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005VNkl<ZILnQa
zOG^S#7=}+Rx+zEyN+kn9U=&?!(Ix^bq(z|+lVx|zA0W7Op@M=4Zd|w!T!@N_Kf#qt
z!G#FoKTy~16twq^@eonuzysfW?`38VBPNrH$mjE4<Z?MtC=^7gR1)QKc@4a4tZ_$;
zo~fT%@v}fHSuPffkDX5Eo^ZxaH`RYDcm#HctH6laRj=3G&@M=$(QsqurbZ9F%*cXl
zHtX$nyDFAmJjvT^Ht(@N2S?x#*jlZYiyA%jG9wEznT%&N8rd<QX`F!lADm2edXf2%
z1?hD9bubv%Fz?O+z0AmhR4V1_^?H|>Ewg}6xMW5aB$LT&oc1;5?OABI+c(U}f<z*5
zTC3Gm?Fn1|V4;^8SrCuMw{a*>m=A#R4+r!zBMTyt$Wk;K_4fOHp0XKi{(+eudYO?0
z;c!@lLLnRexI5hMf%QMwqlaE*WI-?(6oEis#qak&S1J|fa5y~F-o&V3=8hUY^fDt0
zcqxh^oKB~~<MG`3e7?78wR$xkk9P=X?x@j2FR$+fb6^4JOeT}TYPBA#s`?U(#Z<zX
zJ8JOg!6Gx?3+6S!2sVgbuU8xn#{=O!-2;>6ooDtF%O+#K1Wvn=00000NkvXXu0mjf
D-oWSf

diff --git a/interface/web/themes/default-304/icons/x16/slash.png b/interface/web/themes/default-304/icons/x16/slash.png
deleted file mode 100644
index f941cff72132c3895512fc7a426918704f8c6c9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 609
zcmV-n0-pVeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006gNkl<ZILoDy
zF=!J}7{@>Eu3S=5E=S;+9;F#NHR8|`+A&!Q8QLy_Q<jo$E$z@imx4l4Ym|ayP$(rs
zsU{XFmV#8N+#(w6g%mBqxn3Q_;RHcB6hFT&Uc$3f96b1imwVs;_ul*70V2Zx(Eiy5
zfcr$9cnDzb0xS?U;za<D7kI87)N<w`!Sr4@Y@JL@xS!|d{BKK3_;qm+y?owpjgPxL
z$2ETwOz%gdO<Y+)4sMyIv#zQwhR4T~lirv4d3>yCO|CsJFzca^^`lV0@5{?r9UOG7
z1FRBSK$_Uy8yPwKI6I3qRkb+N6;$bbFUQ8*Px*X1%qvmACb9$s#8~n)mGYh^lP+hv
zf=z%2&diKoiAFms+aGedizMmWs_HyTCVkFy1$U{_r&Ci{Qj}J(We(YIGMV!dttd&Y
zCy4}drYoq>pOb7BOS0S%Ku7X=bX1gRB@!GC3}8hRY|wTZsg!@Gr^g8z2BPHE@Nh@6
z$~A|vn7<(&p-c^VWEk#&u6x|5pkaSV8u55rvLA_fJK?Zf7Mr+6S8_|1t+zu%SnKUQ
z3nXdb8rzLM*7cvZu47q}tTpi(i?q@;`Z&sp(tKwac+}VD-J`AEpz|_3KBARRDST6w
zn_OEIKO}w<#1)z-ki8lTxwfYH?<v6WnBVan*CgQgBMKCvpSTpKGiLzSuL2z802&OB
v`5n(u&1E9a8Brh+5yBwMf6yP)N}T-#)*yef;UL(P00000NkvXXu0mjfMK=?=

diff --git a/interface/web/themes/default-304/icons/x16/slash_small.png b/interface/web/themes/default-304/icons/x16/slash_small.png
deleted file mode 100644
index c1259eb2c2b1eb7bc553cb27acd2fe4c7e73ce30..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 213
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b39!fLo7}|y=2JO<RHL$A-q^-
z$I*MuO-<Gk8-t{{xwtb9_`cZFcJdx4x6J`HHL)n4I^)WpGkbDx*BI3aL~IZWd*oG>
z9&v*CS?y2D;QN~Irf~PqoWR<1q_axp?g}-ZDawZ25+2M)d$SZ`zw59CiCqxZpOXG1
z#P+4r-REW&f>v_ur<jjU-1WHf)LzH-X%_^fgPe29zvSC}e0_jB_VmmT%jW(8I+KCH
M)78&qol`;+0E+xk-~a#s

diff --git a/interface/web/themes/default-304/icons/x16/socket.png b/interface/web/themes/default-304/icons/x16/socket.png
deleted file mode 100644
index 640f225f4b253d5fee07ebac262e259898c94bce..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 456
zcmV;(0XP1MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004xNkl<ZILob*
zF>At56op+B7irgaXqP&P^dC4C@&m-dIYwNa6#}KB;3h65qsibVIMzjL(pEGPqL?Ux
ziD1OBDuTD~27IKYXrTr^@;IFHkp$uc0N;P`okdWoRD7Z+-bs?g5z;5%u!|ci5CkDm
ztybCje6H{JdpHJmu!|ciD3wZKS(b(Eb_?tE`Y4;t2HNemfEy|(6bg)O+v;ky0)$~0
zIGlgWrqij48!F&=KDk^j9m}!+$z(F_eKwoHcsz#TaOh^buDfT`G#%VfK{lIBEf$L%
zmXUlu58ZB$JgN-M=Bo>4hqI!*?QlZ{EX$_IE9?xz08Q&du~-CI{`iJBQ<TmQH&hUh
z$CHL(I=!9_olYMn6UV)K@n)^oyMr4lh{a+|qtR3~%>*yy^0Uj&yk37%aYF@>NF>bj
zPr_helMiK45{ZP1H$!r{M*%lf5DJ9?(da!ZNi}^ma^QeveY$uvQLO3M#SImZ>&EZ*
yKLmq8j*vb9hh4I{^$IQsSA^?7g5Arr{Ec6qkF)pU>$+(G0000<MNUMnLSTYf^2r<k

diff --git a/interface/web/themes/default-304/icons/x16/socket_arrow.png b/interface/web/themes/default-304/icons/x16/socket_arrow.png
deleted file mode 100644
index 671342c8f99fa73d71c9a478b333e7dbe3f89b71..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 600
zcmV-e0;m0nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006XNkl<ZILocl
zPlys>7zXfxP$ZHLLA4#a)E>gDOAtYLTJR8*i&<^!rDokEIwS<kg5<>@NH9WNx7`?)
zDD@!ip{?syNNQ&Ot69-;H5>&MyRC}g)A!9VWf1P627bKXyu9zj%rFc9=3g-XB_J3K
zGNDlDcsLxk5%asS(OJ4fNdX+ksUwjH+h{cS;c$p?=nS2uJA@qI_xmT~@i^D-_tEWk
z$LjTZh{a+Y-SPQ+a)8I<G1lw#Y^T!!Wi%S0od4FVR;yXML&yOxmusfoZns2H1ZB6|
zrCO`iP%f8IC={d~&-2n*5QG-pA>;su!!g%vHV1T=ayp$zr!(YH<A_E-N@!0xCla3q
zbcc`wSeBh5uP`W;O33B%@Or(7$3OpJw3kSv26Tsz1I%XgOsOQaG8rDJR36*gEvb&8
zy@mA(W`i|6+4%Z{?htZ-!C)|MZbq}YoPbe*z%z+*e|2pe%OY@brMPqc?o;<U+aozZ
zr_)WkTyAb_t4=<Y_>0A2!PMeQn3ldt&MdsaY(&80@4zW{GOvG-wn_n7tyZnqpJv11
z*L<<qf<hE`V0u-@!wPUS2VD8`+r0vCZ1F=<{+}7<s7j@p(r7d`Vt&+t3-{k2yz!z!
z?Y*{IIlCrcIt3iMwVs{0^VX^a>?bCOBjaeVKhK<e2hgg$9AFRM-e8n~U9UYSE-~uq
m)n%1wB}uAvpLvO)0Y3rIXOYkBu}ND10000<MNUMnLSTaZ${v^i

diff --git a/interface/web/themes/default-304/icons/x16/socket_exclamation.png b/interface/web/themes/default-304/icons/x16/socket_exclamation.png
deleted file mode 100644
index 8f01300eccbd98a5b63ca63babda6ac1e42f1495..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 652
zcmV;70(1R|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00070Nkl<ZILocl
zU1(BK00;1E;P6Ev2%?ByY7ohYsD~CI<$_Bu1&vXA=*dlFK_GoVWcbp<R)P%7Em<=*
z$XUn=)}V~GJ?PYZG^cWPdffy+nAfZkqGIgdIrm}+)q1E4KhELY^Z#?s<uU-6f5H5h
z0;ki-OiWB1ak*T*gzhhT>0X+l!~%!I(c*TywfTIW+uq*BPUs%Gmu3j5z-F_x1_A*`
ztyV*&QrS_pT7}>5chHR0YLyDiW;2`1<yK3j5-65s(U|{kEuBuU(hMOLm`tYbVzDS>
zvsqAjy<QwMnG8~?6you?xW;juIOlm@pcz6cFc=Iyg+ifDH&aHV5i2Vpa?}94-g%LI
z@DhUWI^dsqfM9T;PBVm5pw()7$QA0zWD?<U1Qv@0fxuFec}%}JjV)muiytnN0)L%m
z2&tg6v$H#y<b_a(!}4+j>+6CzHY|FdU?Xx1-^;I%{B#4}kLDuH5K@6!t!8Iuy{q9c
zk7mQe&oDG($Aaf7zUBwf)zyVBnSRW@)(9P%vlmHDDp09ZttQh$M=X{jA1eD34cxw|
zLDY90TNxwy?HJ@^ddy9p$UnNj=i1%AeNur^scdO$JFa!Prnp2xKtncL#`25~X|4}k
zn8n+vI|zr)kt?0~<{95*e?KOZN&hp$9FoiB7ZeIbFQIEV-`+AXIl4Es5!Zl^o)k|&
zM?QKA9;b3?dQ{flDA-NxCk`|l>6g9ae20shiDTGYJBsq>d*VpNd<TU$Ph}&Gf?u91
mEW?aFW~|Q#7~h}J_dftN)1kRb;=pMD0000<MNUMnLSTY?bS_x{

diff --git a/interface/web/themes/default-304/icons/x16/socket_minus.png b/interface/web/themes/default-304/icons/x16/socket_minus.png
deleted file mode 100644
index 4dfeaaf4b2cebc5d891bed17b947a38ac15d51fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZILocm
z&r2d<7zglI!SEs*w3qg<hp3bN_zye<^9P6vvC(BRym}}IjM+m+!Hb9;Vh;O5=ing-
zf-Xg1>$t7tC`@iMwt}PJh{sd}pWf$vnQ+^sU1)_5^YZX~zsw9H0RZw6<i8YTG8vN1
zX6F?}2~%5t5yoB2AXXsD@>DLD6Wi^!J|2(ZIk<znn4x$<DwSGLRaG7ihtTi$pEVc^
zpin5tm`Ns+ydWNr3$0d5>-Bno1VI4j{HIx?(a<nM@d8Pb*1FxUZCMteNF>6p&1Mto
z^*YpQH8#_Aot;h7v@t{Rf@n0l+39pfxQt@47+hbM>8+}e&wpib=A4VgZzIf5yg(Gi
zP5KBU!!V#ysX`)=09F0|i^*BBSQ=r5;swEAaLq7GyIj_xRI0+=oz1S3CTEwIS2kuS
zUJwWbg!A*fR;idUDV;uKp3YBB&NR&I%+2uvzu&(gN&E86O^d!L>rp5aVou+!!;yda
z(WjZ$-H&c}^$Q^ftib2<O)V|0h>CKo-`?8bu&jIL^WqBhH#UBgCgh5L&xE}7cs#3K
zuQyC>J@wx0zSwrTemZttt{;1ZX#36`(BCU+mU{D#aCiCxCSUq*d;p9!p7ntZS@Hk?
N002ovPDHLkV1mUc`osVL

diff --git a/interface/web/themes/default-304/icons/x16/socket_pencil.png b/interface/web/themes/default-304/icons/x16/socket_pencil.png
deleted file mode 100644
index e38a0d142f11a93fc408f61f77863b4efb23e0a0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 606
zcmV-k0-^nhP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006dNkl<ZILob(
zL5LDj7{_NK#fuc|saWcgT|}&7L{iI^mm)|!?5V@3YfFc`6br%#8|=mKkPQ;l(4p1Y
z#X}ImmWM5Hb7HeqmqyvqMR1f<JVh$o`tAGPFk!H5hkEeiJ-+$>f6TmL0D$=ynExV3
zCX-Aml{zCylAjRx3x3RE2cZH{6wT>$nrpRM%4jr#!@vw?u|v=Wf*{yrSr&)GA@uwG
zLm3PPkjv#n?8M`7T@Z~%-OXmR*z5HGal74MoDZ7S>-8db2)cmh`I&CF+tD-)kYF%K
z_eP@uwOS1-l?t6HibBuTYPEx%rKu@h5DJBS?RI+?!$>$BhRw|ac~u#**^d;Q8Rw1X
z;?MlVM1GxRFH-@>aX#`1yQ-=}sk8;LSPW$O^KTfl)zu8V<Rg0!iNGtCeNP1*k7q_z
ztDQnYfqZ@oc6K^+9|vc-4=+Fvp3=*_VY9s<|KJ)GxLhvx+FG_)Dpg^eMB*6*&l~G0
zcq?6jesdmXXYYP<I-S0`$w~bV>~_12=O2pYa+6$?_6x7qOZoCC4eyqxX?f|%MVRwn
zU%`&U;m`$EtJUmqI5|mrt!!_1z(CV}fciB9nU$-woD?p><45-u%wmV23&=WUGMT0=
z7K@({FgSPC98N48DPeix9$UU}{%8y{m?fRlSTqF32qy?9$5{+8i}1Yyv3WMjd6-*c
s&oFy@T=1s_cW$!F4{ozApXcDfK3-jSK!!9bM*si-07*qoM6N<$f*alzVE_OC

diff --git a/interface/web/themes/default-304/icons/x16/socket_plus.png b/interface/web/themes/default-304/icons/x16/socket_plus.png
deleted file mode 100644
index 9854d70a03a154aeb130958e006f62343d2b7591..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmV-D0>b@?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00066Nkl<ZILocl
zKWG|J90%~1P(=vZ&`ixxN=b(H5(?c)QXx=q>JqUK=+d5w9SU{mCR~Or1&fQ77*cNN
zpf@-a96E-A)U&C?KX9?R(^@<QPuv<6!C&9+9aroh%+LxS-g`gZ_siWO0RZwZ$bTtF
zrBWoFPOnIk6rh3^2;g1JAXXrXqCJzz@SRRanM@`y3*N!In4!#qL?W>&%d$8cjbJbs
z%rqPhA)n8Sn2E>ZW<fL>^|agVa=+gP<negG+W&3VY&Of7q09n75O#XKo}ueHpin5p
z)>f+p^?Ds@wHli#io*7qrWu%_%z|(@?C*BFW4w$akqDfel<1?%kjs5!aAxfbg->J5
zP-X$o^M3jYV^vk5QmH~L76V!S{EO*Xp->!ShB6DhUhj^oYDTG~K(SbbM#Et1G@Na}
ze+)O@ZNP)<qwkoZ%mTOD?KwKil`9nurtR;)VXX75%qIBzFW`Fm&N*goJm<^;j^kDZ
zVNX0gZPO2>|K#)en1|UQaMC8@GlH;mxYC<HSgMl4D@j)1bUN+p>$iDH$|`4P23U0c
zoLPIj0b8BzKakgp$L9Z;kZU%Z?Y_g|2vEV_%|BWAFt_Xciq^i}gSkED7xL0oCa+vc
ztKc$qm0F%@ccHZ0-~d;8UL;W$u?jB!-MvJ}GkcOewH>n+&$QqN{nd5e3n=kn00000
LNkvXXu0mjfzVZ^a

diff --git a/interface/web/themes/default-304/icons/x16/sort.png b/interface/web/themes/default-304/icons/x16/sort.png
deleted file mode 100644
index a3d410e0e206b8cc837896448fc4ddf1230abe36..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 402
zcmV;D0d4+?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00045Nkl<ZILnQb
zy=uZ>6o$XH2o8Z}Yw6M;S=*(zkedjZ{YGa;SI2CbOa>ji9lZh(gv5w{D1w^P^PUEY
z!NMmz98S*rK7oKLj$@T1$sME7NR7v1m(iHm>lyTjNU2AH;c$qO<^W-0|5q>=3|hSS
zjIL4?1zoRK!mQtrM^6M%6#03cPcN4XRXLx}H|jU!(Gx)!h8m&M>0}J@=!u};?`u3f
z91g}HkDds6y`DZEkF?wEj6ohf5p=s<z2EO?y<QuGJbEJNbUJ#w-QvR-gFJd7Xt&!M
z)-+9xK^{F31VNxzs}(I43uBN+PXwOl`IE_Hx?C<P%d#8u`TR!pIdaIOCj!@XTaM%S
zjIOfTY-l!{5oY~{JbEJFMOl`0N2Aej8TmGt*y|bFw*USM<?oq!Wj>iN=7;eZT~6%Z
wjKkQ>3rbbN6Voh@Z_LL7-phNle4z+_0Y?dpyq0CpSO5S307*qoM6N<$g37<OJOBUy

diff --git a/interface/web/themes/default-304/icons/x16/sort__arrow.png b/interface/web/themes/default-304/icons/x16/sort__arrow.png
deleted file mode 100644
index 9aa43cbaab5d19f6a0f39060ac55663fe96250d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 559
zcmV+~0?_@5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005@Nkl<ZILnRD
zJ7`m36bJBQCD0+z3;|o0hI)q#wu1^Swy8_Hbx;H$B$G7XR0BSSw1T8VADJ}OAwj)~
zm<$;@=+J^4L|s!22?`F?q@ii^A}<mGc^uEV#5N6q=7S%H?|%RPcP|&bUN883zB2-W
z00e_Ui3py&H@r^5?3*Lct+&S^nwF_oe_>)h0?_LMzu(U#fwXw?e){=Opi;<lh{$vD
z<sXZ3fh@~obcu<GPOVl8o6RP!Y$tHaxff%@)?m!MwT~|j5U*{7qvNY#3%K2GQ#PB8
zHX04=RIk?+cRw8AMhx+O6!G4VQ%`;)URnAU0+-7rI9RLIdV2IejB{&W6*r%K!pV30
zc;`EnAAF3BEbdsq>2wMXRw|Wq%`9)@)h~#Kr#m?R*dyOwk^vkJhp1MoSSppywXpda
zZ#>*W-|jEu9s#i1?V?;RV?Lkn8|S%40Bkm!C>D!IKeBI}=N<vDTCIX_O{G$O<2?5W
zfZ1#oxm*sD$z<O+&piTQG#X8jNF<ucWH6mhpGYJUCpw>Vj`Q3j0Foq)>2x|15uFN!
z0><NU<k@}3dG6`;dH~vhTCF}qrBX>m`8Pay-<{EDG@#XL;r|*SLu8bUlk0@O4@7(N
xeuC(ThFpZMb%6}F4=<6+Jq)+c2iq@H)<2O2VuKbmtFZt8002ovPDHLkV1mTs_W%F@

diff --git a/interface/web/themes/default-304/icons/x16/sort__exclamation.png b/interface/web/themes/default-304/icons/x16/sort__exclamation.png
deleted file mode 100644
index 9f7aa3160b87ead9060a9b31d4d6aef28d2cf507..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZILnRD
zUuaTM90%~<Ed(Egd=QGg<c1GY6vU#@TZFKOUMeyWM-=5D2<)ja=)s=C3c}`tll-%#
zEEzrAwnjA~d>FK9!gR~6<u-9yUKRgMk@@G>ITsVBKJ37UFXx`$?{^Lt+-^5`Jf1y#
zJ|Fn~eicPnet2^QzE5-4si|fH>vKAt0KEoyy<Qa^LXa+&y#Ma;#Tm)?PR99{<*fgb
zv^Buxat+Xpjw0<EjRw~1b!5p;j@VWgw41fk6h;;<Z}O9R3+odH*zI;*I-L&JYBg+E
ztyV?5yA@pjb`y)jC~CD@%qO1UQsAQC7_;eVFM!o*C9JSgsq`eo-{Y^v8<^jIhyZ|p
zR&QhE%T;{k7<oSW;u(O&Vj--sR4VnbgUj;<jIZ6nNO&0E&D_KA(m7lXUO?W}ANV-I
zabPx^Nx59cLZQ&*_tqy2ejdiHweuKV85Cc@GP-ga=U(@1%(}R<U^1CVu~@`xHrwUv
z+%?<?4q<Zr7$$$Jv6OirCi7#yzrc@iFTrRul6*do^hb6HOy5G@eWuIX@ga0PmPIF?
zf(;A?17Wu%lgWK!^{nsF{ZjyXy`E$;8B8P+`^M^79|fS%Xmp`aD4a^AP!NQccs$<H
z{+-pade%n)s8p%}rBbP*NV{Avhp|`;S$3YWde)~_s{!Z+WHQ+v5{X1biT{Qr+jrK;
z<#JFc6!3o?pbk+-sT0&7Mc)UcnQVWOQc`m2AapE_k~R+yQ++)gX`V})7mDj2dVEhs
TV_Nhf00000NkvXXu0mjf|DGpk

diff --git a/interface/web/themes/default-304/icons/x16/sort__minus.png b/interface/web/themes/default-304/icons/x16/sort__minus.png
deleted file mode 100644
index 5cec83208fe74199f1ae5dad2514486bc9eebc5e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 442
zcmV;r0Y(0aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004jNkl<ZILnRF
zJ8QyF7zW_aisB%&TT7P)iDR3ge<6P&74761ogD*qap>S?2aQ84ICW|F{s1T4OGOa8
z;SE#4%jx%qU^Q6Cfya;IdEcW%$+9e})oMrT^*S{g4V4K@?EM+^DwPV+sS9k|MoCCs
znArb&LA6><@Wx=`&~CSr+wE3j`p=L@&%K~rE*qoKsJ+>2<e~L?z2`qe9z8}>DwPC6
ztJNwn<k4e9#bQz5&E;|#81m>bBGWX5<2Z6Yp9h9KdW<Na&x^%kAt#ebV92A#h;q4{
zn9XK*Fo7YD9wW+TvjVsF`~AR>M~@MuQYkSWk7cjd3k-Sm3Ytcw>$=fuwc5ksP!0xz
zy>7R=_nA)1cTIDBu(xE=v7*thSE3hERW+d~iowL8>2xYPosPtO4u`*gG8yT|f1@UG
znBwvHkw_$>GWXeFK88Xz|6onOCwv2Mow0Lv!*1C<)0yxl_IFHS7cBh1FDCu15Q}+-
km+bn4EAKq!eV}{6FW?k>zpIF;r~m)}07*qoM6N<$g4)8-vH$=8

diff --git a/interface/web/themes/default-304/icons/x16/sort__pencil.png b/interface/web/themes/default-304/icons/x16/sort__pencil.png
deleted file mode 100644
index 1bc1fae69acf397fed9a91b0c233924dea47b663..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 574
zcmV-E0>S->P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00067Nkl<ZILnRD
zJ7`m36bJBgl|YAp83Kxnq1@p@(Z!`M+98PA!6g|&=6q&~o1}vfa0<8t93tA}3JGnX
z53O;Lf-P#Dq?n*m1mP06<>o<N<^g#e&$%WcFQFg&IGpc0|L<Nth{xlgs_KMfG6|_v
zN+yCU_q?BY6$ZE44eLuwH-1af?vW&|z`P3*i3EoP(&Ebf@B)|1B|ltVevF|IzLBIu
zh{a-ybcu(Eas7TDd%YfV9qw(a51#t{{*6|vg)T)=;{dlI8jX62#bUPG?c%sjr!&HR
zQU8EP@9tqsU!#wQj6fjp==tg@KqL|oJk)Nt|I5hj<LC5UGrY6Dg1>(3Bj*S}I2;x{
z)Mzy3I@R9er?>yY+b?h7Nj7a>$~gi+zayH>Ce~`T8K>GYe%!lbhPNpE^V^=e&-0uk
z0Ks5T)a!LDm&-E_cGnR9oZ!}roA~|s^=O~xIY$8KF+{amMS92?0D#Y)+{dq9(i8hU
z&p86%^Z5kdY8b|u@jT}UfY<94rBVrXT|YCP=NtiWI-Q<OCX+1`3YgF5M{>E`$oM|b
z@jT}UfGo?44u``-#JEbOf|{lw*Xc8!=bWM_0MvlhYMo%QSY%?p4Oi}`XKXeb*zI;0
zu5;u9xk9dz>xBLf#GrD2jW~#noQJ6;k%htGMRIwLOM~-;!3WLt7kx5Rp?_ZC<p2Nx
M07*qoM6N<$f`3>RIRF3v

diff --git a/interface/web/themes/default-304/icons/x16/sort__plus.png b/interface/web/themes/default-304/icons/x16/sort__plus.png
deleted file mode 100644
index d4e7fca1e0d5fdd20e2025e03bb703e2a086deef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 511
zcmV<b0RaAqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005TNkl<ZILnRD
zy=zlp6bA68mc&ADYwJ);7DKsCYE#JKQa>Pnf#48=g3!E5Apr*=OKHHx&^lyL($ahk
z2_=Jr2riC-Q*=mn+Zc%C%Y2a#$j9-V(1s*bdN2Gq_r3Rd&hR1{jUpC{O-LjXNG6jy
zQ!?c|osnKR90o305Rb>Dq=+Axa{ljvNF=hx2PaeG27>|h`+br*{ZI1J8!iZiLe6rz
zoayy?G_Kq2j!gfPy!03l3<i~iI-QPTl9wI>0)c>%kF8eAFv&}g0e-(<wcBlKG#Z9U
zUV04h`FyI`Y*MvaHB9o-V}RG|RrPvZF2*p)OOF9=w_C~9LZNV}XWzET_T>RR|L!5_
zF~H?=sY<0n`F#FT>!0q^*5B8(@%bT1&$e?9a5x;!bUK|Wl}c1B7DsZq+{n|fFUa<B
zbLdG)(XC^9+x%hW7mltUK-cv(tJUgcYFw>Wqii-yGH3UePapkxOw;gwDFqHg)3gaD
zlSya8yOBAg=Hu93Oo=<cH|hKx?-mbm_FQ4t*iCkq*_nf>vnl6w>}nay$!)?L?FZg2
zfR~*2F~jEA61%}H7g)u%IgFR4pYWIu@#^Yu!9R?Ney_)pVgvvH002ovPDHLkV1k>w
B^DzJb

diff --git a/interface/web/themes/default-304/icons/x16/sort_alphabet.png b/interface/web/themes/default-304/icons/x16/sort_alphabet.png
deleted file mode 100644
index 92c4a9cf417626875a2b1f40e2e1b5c0b3e73d49..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 496
zcmV<M0T2F(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ENkl<ZILnQb
zyJ`Yq5QR4hLJA>v327o>+oZ`W_!6S6e<Runf{m7HB?wxnpdvni*jiaxnO+b@@P;=O
z!OLXMWL?(9Ko&m6^UpcQ-G$YP#iCX!m9D5(t6IHY*BONgZTBEYM4EQ1pi-$Iq}V{1
z(0>*b3WawTUPf6tpU-qUoe0yugC995$mjFk*=+WGJRZr);czgq@8CyH3No3Df@#0s
z{~P#`lY(S2sc^X6ZmHR9Qn_5FTCFDfLN1pRu!DvlIVp(8<7&6t(R#f$NvG3S8gx1x
zYBU=18-C=ZAR3LT&1OT3#e(>`D3wZ4EEW@enY~_*5{U#2heOfuBPRvna9FKYE4&yA
z27_1gLN=SFR;y)d_>q%>Kp>#dIv$U4TNH^zC=?1&yWN&Ez-IFM{Q@-n$Vq|E=Tr0f
zoJOP3zkwe)De!na-fp-1J)KTzGMShR1_Kl8IehRVCk48$zq{RTFQcq1mrLsR`-ExV
z!H=92u+W@N=M@fzLucgOU_#qHE|=@~TQIJB=81V@KA11Y!zg1ye==^y#XKNnEx2PI
mjpZ}*dV?2Z|7iT76#M|vm~cz+=ra%i0000<MNUMnLSTYz?BA~d

diff --git a/interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png b/interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png
deleted file mode 100644
index 8dca34cfd1013acde472448e0ed612e6b2cdb80c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 493
zcmV<J0TTX+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005BNkl<ZILnQb
zyJ`Yq5QR4hLJA>v327o>+oZ`W_!6S6e<Runf{m7HB?wxnpdvni*jiaxX)lN(c*7ft
z;AJvrvRT$80fmp*^UpbFFQ8T|7PV5TbVapV)#~-S&L~W1y9YTU(zL${DwPUCiVcJb
z{ck~`P<UtIWt5f6<wEE4nK11;_>q%>d_M1;&*#0<=|onJ$D@gT2S0LBkjZ2eOozka
zX5dFo3X;jB!r^YWqg*a0l*?t&zciaoIjhxbqTxqQ3gYp&+VA(Y*=&SPr$dcK!_-#N
z>9kDvk&}XGG^)1SEiIQz>i7GUNF-=98i|g@Vlw%CDV0i@8h+%YARG>>^?HpDL)mPW
zTCJ8`TL}h(R}+5Zq#zIoD6~!{6C9G??-!td;m4&&BtoH3h}!M8JOy%6;Pd&^VzHp{
zcziSPBPRtOkH_2Xc6+ngjHc76$#6I{v7W;RKXOu_>-xLf?e;Rt%4)Tu!C*j`_8t7l
zNdXJZ>2zM<a5!{Ez6~a{-Q#k(e*O!_@1A*L-k1;Oi}5hZn9!e$n{hD@2w4m6m`7vz
j%)I`=i?M$+ZYTxc5npgi8cd)$00000NkvXXu0mjfnF;6Z

diff --git a/interface/web/themes/default-304/icons/x16/sort_date.png b/interface/web/themes/default-304/icons/x16/sort_date.png
deleted file mode 100644
index 21e367c2aa0b5fe60080cb8ae331d495be3f2ea5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 445
zcmV;u0Yd(XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004mNkl<ZILnQb
zF>At56ovCz1P7tnTDmk8*LLaJ(k0H$(M1G<IEXqq>g3<(QUvMJsXxFj-HIJ79Tc%B
zYQ)5VNEL4Hc?}^Ig#<osZr(XxAQ0tK2<2;sKJzWa9rJ|Q-;+U)h!ka?peMvVm!7H7
zAWZBB1zjO-d3j)7f>6Cq+fs=zch8VVPYT|Jcyv=KYg?(%rd;+}=kq?n=g1+Co)o+(
z%Ii;|K$~ut+*XU6W|PM4Ho2M1L6ApJ3fk;gXS38xBxsyWN^ox*#zBxrPYP<anz>r7
zXt`X526^<Ppjxe(uItibu?P+F=t)7bSTr5SA<MEtgFJdtkjv#vSSOQ7Xpl!w3exGc
zIiJsIG#Z5ldGw?}*L9=Q>3qy)Gn!7PKEvVAC-@vW<k6FYcszcoX_~>9L2TQm!C*j`
zyJyIwCk4DHu~_UMkw_%Y$Zvy*eK(`3>fgWMT}R9bbHQ9OH;m4h-o$>*XpG7nqZAYf
nCh8rYGUt0Z^UkB*3#H%};!HGUrLScM00000NkvXXu0mjf1Ix>k

diff --git a/interface/web/themes/default-304/icons/x16/sort_date_descending.png b/interface/web/themes/default-304/icons/x16/sort_date_descending.png
deleted file mode 100644
index 69217fa5337e8e124d1fc1c8d378d87aceee28fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 425
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU@Y)-aSX9I-8;e1n<-J^`24KG
z)oU{}7j2zp=j45xb*oI1!l`Zxi`&m$y-4f6x8Rba#}~mlcbV*+1Uar(YK52o`tm1U
zZ=-mtaGlNfAAkPa^RK*{H~F!}{}*MupX_?KbAiFe*^*yo%*>d);PT4_OH>ZbxUrop
zYVEa|I@=api`1LGCqhT!@*c(hd15BBeXDKc_8%=g^V%hF%OQxE6mM&QMB7S7Ia}Qo
z*I#qRpG(_(MFFVzN|veV{PUGYGncSce%Z1hYV9fojvJr%faOB8M4$e)`!@s3*(1PP
ze=2p}v(I2NUN{G66`DvDKG^l<d(|I9iGm5Ib6J1>oBv?ui?5eA{V6}4bbgy@#kb8j
zMH3fpc(gkr<;lg%Ow(Wd@)S$l!FM{lu9FAi))P+UZ2T_fd@7$-&A4&)%-#j8C)2}k
zi2Jp0KYTUK!`4eucz1#394_`la*|E5ij!sdTOaevsDAhP)ExDJ+u6IQ{NbKSw!kQ0
N@O1TaS?83{1ON(;#4Z2;

diff --git a/interface/web/themes/default-304/icons/x16/sort_number.png b/interface/web/themes/default-304/icons/x16/sort_number.png
deleted file mode 100644
index dce9aad5387c062b9c562f75afb934c028301ad3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 479
zcmV<50U-W~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004|Nkl<ZILnQb
zyJ`Yq5QR4hf`yRn64FFu+oZ`W>`N?K>fZ<!R)U4LVkHP#sf8BW*xL96cKQS&2;T69
zB6yk1nXJpY7;xd^%>4g3M_gE~TCHleTJ45LqoFmMO@mQT>|PIYM5Jl=3hMPbLW&Ip
z#r|(WrBVs;Vlm3i<#M6(`Aksn9sI~iLAhME=JWaBbUKln<MHU=y@MY)DJT>Q3Z}#1
z@G$TrCk44&PT_F3+flpSrc$XSvzu<WE9X$`@FOP$*=$zr_j}rGHbOq1cV_R|RpCcY
z3R0<*+HSYBTrP!lIxX7o_no=bYRP=v;YUsi5{ZObuh)1nLOdRKW;eZFkCMrx%<v;8
z1+iF6p>;BuP$rY1NF*YP{YtS|q-ZosolZw~_>q%>a5$_Miv^9x<A;GCIVmtr)8hX-
zn9XK1olYG_qmhIA96tDwlLEsqLcw6rVw9WJYDL50kf7c>_>q$WUbH|UaD&h1GZ=X{
zQ0!ihuIqo_g8e)*ugoX&#r!ZPqin_g%>)^pc|pis@WlA-%QxoZ4)6B8-~K@<_ytyO
VbD24WXTJad002ovPDHLkV1hHN<$VAE

diff --git a/interface/web/themes/default-304/icons/x16/sort_number_descending.png b/interface/web/themes/default-304/icons/x16/sort_number_descending.png
deleted file mode 100644
index eadec7c7e2d352ad36fe815fb8abfd8c172b44c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 478
zcmV<40U`d0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004{Nkl<ZILnQb
zyJ`Yq6ofYkf`t&fgfv-X+oZ`W>`RE2`Zt1wm0+Q*SP6nwYN3TTwl+S2oj!pGf;YUO
z2wqOkoa`>^VnE?zcK&~6#09llt)|uM^&6Varq*h;3`RlWy&3d~NYm~OG#U+*6bA?j
z|L;JxS`D!YGs?~NdZo+dLQwA=^61GxrBVqm7K`Eed?q)i)5*bmhdg>RP%IV|LdWCr
zVUR~p2J-p5!r^|ur(Ul|<#JgR-lo&($hqy2M^6TFxtuy24z%5FsZc1~s2leg^61Gx
zI-OR#-HukP6}8)K%49MEJajM^IL}akJbE&aOeWQ4v%!lI`u#qoQYpvVBoYbd8F}<%
zARdn^tWKv>DwRqUi^Zth?TWX_X0sHHMn&O~M^6SKk%(F@mo%A79tL^zWWY4dF#pcs
zd_JeyZ00Z?j~(3S$RUrO3>bzH(sez|C^zf%nnt4$LA`g#qbCDwv_K$mgU{zP7<o5P
zcyA^c4F3HWtj{y^%6u|k%nxHS%2N1mMrVS|3rg;RC&q7GzA+znc(?BT))&gaFAX+x
UnQv1NMgRZ+07*qoM6N<$g0ETD-~a#s

diff --git a/interface/web/themes/default-304/icons/x16/sort_quantity.png b/interface/web/themes/default-304/icons/x16/sort_quantity.png
deleted file mode 100644
index fb2c1e33dd6158107762163e9dae20339184f8d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 432
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU@Z4^aSX9I-8*@2)}aECqnE`F
zDqhIZjg?Z#-u*@NlaOQh|HYdhJbER;al})$<ihcb>Ku#*_5W~mJvjb#-fe-T4XTIw
zi}T-EstW|XF54Zo{`&4@1Br~o4=*H%h*V!|mJ!UnwYaHnfB%FeX2*^HBQLxx@!Dh2
z<5j#j?q$(V0h8)xc}vZV?YGYr?VK~`e7aY$)m))X=07G*X1ZP~>T~?Dq4@`8b=I|E
z-VYzv?f)-+|2yj$kiglrU|Bx)TW`yDHUjmpxc*wJO9^Oqd5@cNmWkA&8-~naWm}_s
zbGJv=%(!!)e~w7V>d@9}H*?&kdbu8WQ#tR<g*Uu)PnIl*(OZ2r%k}b06R=I&a;+bK
ztk@KxlVLYsy(MwRggQR?KPNmJQzKO`o5;E?y_sVs!oujd8SKP3li2I;HAJ|?l<%{3
z*}gX9dHj99!2fwO!=Fw5nN%k+J8)yt|1_Ut32_2m;x>jyfBZOBWAngvpZH^OuY<g<
XAFHOScy#Rs#sq_>tDnm{r-UW|WURn^

diff --git a/interface/web/themes/default-304/icons/x16/sort_quantity_descending.png b/interface/web/themes/default-304/icons/x16/sort_quantity_descending.png
deleted file mode 100644
index abacec96033f65ed210839cf4f8153b026d43ca1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 432
zcmV;h0Z;ykP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ZNkl<ZILnQb
zy=ua66vfjP!9i%YmM#sFwO#rOd5NH_|Is<%;_4U>bW#T$^l|hFL<qzW{6Y~DbG_#_
zgcxjz@Z;Q@d(H_2)cXCtHW&=<7>!2Scsw>41;w8AAV)-+_NZVu93rIHKv3*|7W8_(
zGA}lx(nL{2*Xxy_*&F=GNkO;Uwb$$QEDS?R69hp*_69$4QsBC-g6VR(<OY7^q@dMm
zDLg!#PSoji1kC>dKXOvgY&O;Te5S+UkQ?}slLE(a)bV(v?RHCzMnk|nnM`DcVow7<
za#B#Q*VTT%$A`%c{K!c`tyWWL^?jeJ)vAEG-EPYa&EDWgP6{fOirQ>8<au6h;73jh
zEX%T|)9GxrTG4X3Ojs-y3F+tX!H=92n5J1a48vwrn%!<k^ZA^h*&F=GNdYffsZ_e7
zP$-y;d>bhCtVh@N-~U4VduCplPv(pHVJt?)iv6207@c`RC|&Tx6yxI?^YMW9_+E@(
aC<QmX5_*-FAYM=a0000<MNUMnLSTaQ0?aJ{

diff --git a/interface/web/themes/default-304/icons/x16/sort_small.png b/interface/web/themes/default-304/icons/x16/sort_small.png
deleted file mode 100644
index a5cf900ebd27ffbcbca03e5f4a890eb90ef33912..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 269
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S3F%DLo808outUs8X({*zl(Eo
z$6MWFKg<js2<5nSpIsMGV$Wut5Y+7G5-{Wcx(E7)rpWI*lscohUAd`i=2iW`_d+3|
zOJD8Ucge)}!ZzK+dpvtJG)`aI?tZN8lF3=!WS=(=Ubs32iloh2_RhxNuJ5rlSYTS}
zmiN~Ax4&^%R0U2@;avOr)agw&Onq@8M+$u`<c@z7EcmkMz>Veaf9K6huQBF7T;L1R
z)_Cm}|KSTa0z_Ob?{#&`%IwwH;C|}!9_@9n+4>#}JUe?~|DW)G-4B>kQm;)+Z@eA}
P^dEz#tDnm{r-UW|bEA1r

diff --git a/interface/web/themes/default-304/icons/x16/stamp.png b/interface/web/themes/default-304/icons/x16/stamp.png
deleted file mode 100644
index ca9475d3dc362d1e422533c0f2ec52e93be276a2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 585
zcmV-P0=E5$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006INkl<ZILoDw
z&r6eW9LJwS*A97nl>USY21Do|f`uK#Lp>`S)L6RtY;Hc7k84`XhRFKikTHpcY#=dh
z5Yeeih#=IV4p9xF4nahaK`G76$+maj_s3=@Md*Ro^WpP+Uhnte(QYm+X=Jic&=tOe
z%w`6FrrpTrwb<gKKA1}R)d!r5#eDlsdi0r-g6P5m@i){)>W#*pG#&cPNr9csYGb*a
z-W!b$)|BLWjvbz?!9QF0w<~z3N1r(<ure89*3?$5*U`5O;ljfr0{61JJK>!kedeSf
zkWOpCxw+QvkrA^}tKsqr1b6Z=toYsCo$yYNK66qqkW7+5Rc)p1ZS=1~aF0%6G-6}m
z@6O3PJ^IW^fhUn5t(~SB+^AL&d;tu<R0VDq0$2LbpUey6uK?cZ(PvHyF2>_zsI0c1
zTU)sH8kj8t=eyex@fpY@BDj^F$JCphJ3ac$Nx|8P3DVZ?@q~U<D#(2Tj4lU!Mwd)7
ze5nUh&x+uk9)0GdpvSgJ__x}=m&=&{2t4`>-2VVP{i6Q36@=Gy2G_^0%AFp4=A__s
zIINuth1!l8hV^Z86Sv<14^+v_d*F^@`YmA2<S;ay0`K(bGbaTny<TFit8GpF<*%jE
zp72hOK66sQM|V1p>Kz^SFZJb!(>b=^q(`5*W&xMuhgw=X4?7%@gG}Y0U``77`XBxP
X4IhPM3d1uC00000NkvXXu0mjfU)vyD

diff --git a/interface/web/themes/default-304/icons/x16/stamp_arrow.png b/interface/web/themes/default-304/icons/x16/stamp_arrow.png
deleted file mode 100644
index 28e494064d698b204c58791a06f65c857664de86..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007jNkl<ZILnQY
zTS${(7{{NB41~PMn{tXb-qyO1rfH;-g<VKWZD|`NOQ+jB40En&9vX(T!!n!5QnVy=
z2@+m}M9~2|2#u0zQHdF230ZU?Pm}4t_xYTf7fCPtczD0(_y6<pQk~mPOnqOUOrZOp
zxtw9Brl*H$dwXR?EiHu*=WuPUZoSDK`<!FQ+TG0*E{Y|yu(<e7mL2v(IU;jsCslTJ
z$qrhrML{8{?qP{rlPGNNTfGZ-&mQ}nW60!kG5Vlr4lFDn_dX<YZg^q1(7AGFc+VdD
zp&XIH=_F%oYjj3=xqdbn#PNraP&@izvYlVKGrVVyea<md;BYX8fM}kYpGW=>B-9o4
zsIZt(5W4f^J$vkjazuG{I}@Fz*BgHY0x&)W%ASb=wF-t4xyX0)NK`!sc+VdDp&Zds
zn~f=+5zXJ{=5WdbG<$&~8HupylyKQCIOFU<!^qN}J@!L6qC?fyOiW^4Udh+lS#*s8
z%Jg{Xl<CrB%8q5CVbBZPgKyZ=HtI`tjTI$2$4TD!iYU`;W=emH<}Wid==cEK90%Io
z0Rukq;wB@ssslJ(brNc~AFj_p(q*qN;mSviRItCal=hXB#K@IO)5P>NnqC7}MajiC
zz&U}c*N>#8VI(&`K|;+PsQbszEQ&?gv;FLdhLW{f#`IJC!K8R)|J2kPvIZt#{{(17
zvFhb274LyK>yU@|$P|iLSxSoehbY;sP*nasqcoR>_u3z0OTOE`tL`omu8$%61+dj{
z+Y?nhsNsC9V8@2Y$h3&~c+0vor`^Bp5fG7c?QQt(;<8OU)wJe>%jN6NjoBTpu&j2E
fn3}M-RO#CvK%Q7BkE`be00000NkvXXu0mjfH|SRs

diff --git a/interface/web/themes/default-304/icons/x16/stamp_exclamation.png b/interface/web/themes/default-304/icons/x16/stamp_exclamation.png
deleted file mode 100644
index 6e6cf3062fa65153ca5f1d0983d6fb0227f83013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 725
zcmV;`0xJE9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007<Nkl<ZILnQY
zT}abm7{%X#HxUMT*Bsu|MRZ{oi(y2lW#x@{VSmfK$d*pGrA=|JWvL9puNoo~TiCQE
z&ip{6G6+pW+e)PmboiCjN)okFaZ@ML)BCJxc473wkHf=r&f(!@g^i7jC~9gFa}@uh
zn;C-LY-nHwHk&x3vN9d~oh>L({7cD4e##L{Z?zKX8+=KuZ*1(yric829AjFGh2_=O
zisSYA3?DZocH%c}vq-OK`ZIHAPd@Tfj$j(InNa$8vv++RNiX2%e7zH@+m@}FpgsA>
zAILGLGMSjVswy-#Cr7#B^WkC-{3IJ&p)r(i%>?bqM}Eo?EX`;nR9@cfURy(IFZ?9u
z79m%sMOt7cr9Jt`AILG5Qc^;MMk|%-MXwiXJ8;#(3z8F|x}1bmV}qajeRUY?Pe8@p
zsE6ba<QThPFc4RkdGpWJRa_ecDxAQ%*a+wp0?Z{k7%EM8+%1QD!G@3T<+ya~dUhbk
zSVDe2A&E#y$(&nRLG1(}#7LnKV*E-J=SuPJjS4<bGv4;bxw>0+Cpp?gj9_tEEs?dv
zFPK?gM$I_z=o3&q3bcO#a<Wyhlu0n>Duo~jSe!0H^8<;auUQntVeE8P7CV)hDG3(@
z%{Pw+r9;3yUUFv`DC1PW?n2kIcq~rc0Amc(qZ#P$I55!DC_33~;|0g$azeAfFPP=O
zJmq$8V+jL&sc?;{F*0-pPoHQp^dSm^_T%o(dePnIRuOODPb`y#i6bMm^SorQOqRE)
zUuPX?t=s4NJaz(;PO1L_(n;qLyle?}bXY`3DIdl;9261~9W0gVwrg?Wp8nxi`{!pS
z4q;~eAUr?xekDfilJD(iQ4QPvc7=!krPgw0sw-voouK_MZ<S~F-q}*V00000NkvXX
Hu0mjf@A^=&

diff --git a/interface/web/themes/default-304/icons/x16/stamp_minus.png b/interface/web/themes/default-304/icons/x16/stamp_minus.png
deleted file mode 100644
index 55582ff30b85dde5965216d4dbedb4a1bbbd1899..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 631
zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006$Nkl<ZILoDy
z-%C?*7{<S7C|-1tmz(TQsN}#Bx-h}QE~JZ^WrHP4k8VpH=3LV>lM$<Ih-tML8%S*?
zR0Kgc5kXKFc@dTnb`g{W8T5mubF%sLKF6a$QV4zF!^@ZV^E~HpIO^Qwq#}b;Qx-wr
z%3RM7)t^eKfppr^Hagl0IY$Nt^nXoy^qC_nG%-P1S7k{GtE+!y-Jx&hlnNvgswbJW
z914Zn@**`n#v1n*&^j{p`z~-#k3Mrm`C~ES$xCytP(b4o7#zDb3-54Z<4(AzN8ijT
z<sBPSzVUHuU00VUo6qCKQy4g-ci|tpym2So)1%KEQ7zFZ@#dsCv$BHbXE1Pf528C5
zK#O_j<enaVGpAHjBton;9*^%wE(hOpp!0<kI2+(S*@)(7%Aofpz&$<sW=^T&Lqp`$
zk~Du^UdEYeU}P3JT33aj?m#RO#QCu}!mrl$^yr&8r4IM?k&3FOruHw{ERyd4N390k
zQEN=n>8eNg(JZ*9N8jsmskD+)9|(|+pVIt!X$kQ;;LdyC`di?^2l?WDAKVQGaklrg
zv8PA>s?D}maG;|@?Qd_d*y(WiKP@ie;%nfhlw5fOToNwK0K?iI#H}_wtgJ-5tnB0M
z;^G+zPs@K8Q+wTR;{Ptq3-XocGnq}KC75-&HgQ8r_!7!ux7#e$)q!tPvcqog`E%aW
zb##}M%wN+q1WHTi`-_TZ1|=Nk8_2N<yS9~=*KF6c;8v#iyP4a^v^?a$_ysQ_X2+d!
R81Dc8002ovPDHLkV1kRaF$(|y

diff --git a/interface/web/themes/default-304/icons/x16/stamp_pencil.png b/interface/web/themes/default-304/icons/x16/stamp_pencil.png
deleted file mode 100644
index 2cd7319d116780378223a64d621e301d52c9819a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 707
zcmV;!0zCbRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007tNkl<ZILnQY
zT}YE*6vv+zf<CB=cKIsNjSvJ=5Qou7M>Z6cg*wfo6w|qnoKu{0S+<7M${HqG7-Ito
zwMB?n2qBgQM$|=A153?_QZlfj>6}deJ?C{ZcTsfU$Kkx^_dh(m?0kPeBOHFe$kF{z
zk7WpUuD6%9^!17Qj*e>ZDr{-d{i~BlKII5z@980`*Z7iHU0eGrF^BwUjxnp(%Nl(?
zQDe93BU~yP!8!x;sBZWFnK`s4k9^7z%+lRW7$W>~cy$#eqmVduI{@QV@5W5fo;>oS
zImV2goy^qLm5^OuZwN&qD0>WvQujSroNXI3L3{GZch%Lg=YqgkmD^1i!~Ak^Wd)T_
zAyL}kK!eSSs_0Ce_T-WOBq?eAK)K6BB&ZAq)6Z}irg5P589z{31mmd^RJwa5&b$C<
zPhO8oRq#O&2F3*;lO1<DiPKB`^1|{mnqC6!0iZZL9X6d7-7Xt0bb8SGYJER5HwSZW
z?tM5M7!-stR?yr`B&L^_*L(|w;F|=rS*g%zv!qVcp3Fn*Z~)UEAL4L+{@oDw)S~G2
zF{WmDRx4rt#b5AsX$hY9z?~W3<^(YKiT`nn2^B>-Xmb`~Y$ykzSvyjc$_Fx;OzvU4
z)Mhg~Qd5&C*J>@Zi;KAY2DrtKTzd;#;aq$ToV{*`r(?eqzSOjHQd69Kbe~emYSYpf
zJ6KUcSbp#q%=5qeIT(y%VtN>lhO(uw-<yfR<Os-*=9pBXLa|58$gqCrM|LX|jj{e^
zVG1`~J0>XXY}htUVe-gln~H|yEi##ES8A$lbJw4c4I}uD!c!Rsw${bIb3Y}Ti?8i+
pd0giOgGTV%%7jCE6XL#a)Nks4KTW*CsB8cL002ovPDHLkV1mK3O_Bfr

diff --git a/interface/web/themes/default-304/icons/x16/stamp_plus.png b/interface/web/themes/default-304/icons/x16/stamp_plus.png
deleted file mode 100644
index c3de4596947329410f695f2853fe9162ec1c5087..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 671
zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007JNkl<ZILnQY
zUr3W-6vj`Ztcc7;7EJR#k{Jw!5GD%~yO5xoWuqE4H@CGvm~%PP%p}Zom?-hZa<M{}
z5E2Ak6cGe=(JsPTL|q6&iWIC!os;R)dp<vnlB5@Y91iFAJbZj~IT|IVWoSqvu>Q|n
z&M?$8FhI?NgPNM29vj3v-rQ_mYqG~a=NM{;L>SwmI5G>1i~nTVVPDA+`TF~*J{;B@
zX=tcP3#sB6mKdIZt$XPAF5o+R>~oGGuOu<{v}jH(ETHl^WKQ0X!_nElvNL>Vk9{Ra
z<ml}sXJ21VS#7O7nNH*E3&@y)58-XSv9dFKXODf(F;pE4GLDpJo}QnF<t1cHbuFm#
z`%tayJo(NZ`$~?;+}_UQ80>cEk5mfI5y10G6qqXDI9CZva6l&T8sIy7>?=8<Q?0Gc
z`B~9CH8+QgF`zpRoG2@V-)e-^?#Gqh5Zc}>-PvPb$q^lEY-Dl^&1TnRGKugfz*wS#
z)mS1=#&f0|ZBODjJ>o`2WOqUp-4&+j4x&41qH>>)asL#}UuS0#`UpH218#i)9wo#d
z_c~EkaTu2Z7f|rn0LzpQo5G^xZuU|^soPD5T&`TL(dhj=GlT1If!m^_>mAS`xHbyx
zxp@#frF>|Ii(#C!LKVs$72z0#)DrEls$#s~#TQJ7zdSxYy$Wr#2!=05S3!MQG2*Au
z>+>|l#lCN%WV>Ep|MxUM^+0u1J-+YW0pur&u&!g<D0ODWs4G+Ae4e0Sy;^P9s?+(`
znyNt7xMplGsA<c4Iaj)o{&<_U+BGM+G9<EZh{;oVzW|QkJfh~;m~{XE002ovPDHLk
FV1n1zIP3rb

diff --git a/interface/web/themes/default-304/icons/x16/star.png b/interface/web/themes/default-304/icons/x16/star.png
deleted file mode 100644
index a23dbdfe07d1c39fec6fe03984354c8b11b4b55b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 640
zcmV-`0)PF9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006<Nkl<ZILn2Q
z?@Lo*6vxkVM=p(uupmg&^hKK359viO66;k#duI|vkp|H}P%89`6fxK^%*|X*%=KfV
zU=tSw6D@DlTuo@>?lxLhG`FU>JElk*2v5(kyUXSlJ@Db4=bX>?z;j{z5dp;G$jf<|
zoLM@j6mKkf7u=P}>Z6;p0CCv~d>m8QEllotg<zfTqm!A*x*+due_`U8kiS_7`7a1q
zr~B*uoW|r+0{k-qZ=VzW%3^<fWzi7F8hbeV?*intg_OBpluo2115L*IsM}F8fxUb#
zIL+i`K0doNVj^^vCVpO_;=7aLzdSJ9g0lO!VR-CeZ6FrWCx1)*bUE5Zmw$CqY4-9O
zOW_-IY3>^9b<p{*tx3D7B7hmp;sO}zCY)KvowfEA@#6HkNMi0foe#FqA7T>?e9}<C
zbAo+OQ@67rV!5a0(ZvjA(+l8n4+r)EuGC>tjRd_-F~6^#3f`j%UUx$bXXv1dnRN>Y
zSb7OO>49GVhkEIoSVuGQxeiD;LkC@D0iNMI3I%2@Hx&&YS&as(*?SMNr|hTEFV!>>
zs97~@$rL(iUpZA30H&@r4vh|O7UJJ)XxP6uWj7WHHe;a>7Rpo7Y$Y9iP$-~-E@rZh
z<~YDW2VCN9#i5z;oeM+V+_bS1nh~sLoI4hH+qMuo=w=>{v5B!=e-j2rbQ^ryHn5&L
z28UU1D`N|*>vZj4#Th#2${EapN^VrKpW<n0gf?{n)UtaeqlB@GQNB?P`z|&@D>~@P
a8Py-irK@cb%siF=0000<MNUMnLSTY<i6Sxp

diff --git a/interface/web/themes/default-304/icons/x16/star__arrow.png b/interface/web/themes/default-304/icons/x16/star__arrow.png
deleted file mode 100644
index b011f0e81577403e0c7dd70f77060d144830ed0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 728
zcmV;}0w?{6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007?Nkl<ZILn2Q
zYe<t(9LE3eYiSr(P#=smOF!6cRuU+YX+l`!moh7Cl}0K=*cVO3E~uD-<|U_YI5Tf;
zbaAGYplCTUUA>iC@0PJlabCks)GW2&-#Kernu`wnc>m`)&+~B33%61jID3o%uE8#6
zEG#*r8JdOWD#pwUncads3yXB>wdQOCrBlJc>v|g-`PR*i6gpdV>RFgsw4uDL{S7gm
zG-xAvgZ3OxXRH3Ve~Hj~j{)U<2HGDmqM7mHiJ9@D2|81ap8dCg@?6GvsGhjD%$bUC
z)>w$D2DcWf+4DkECG*T4A38&IlZFJG9Ee9<$06Ond{A@)JW5iby#B7B$2csS{cbA8
z>Cp_F9!W=2Z>*WAp=&rbm_oEP9Q$--Rw4E5p&6Q`1yGjBu$4J%guKvMsp}FBPYzzi
zF?|&F>%y_8I}~{?gnW;qswr?-cH2owy);9!)&i)`WkDfk-5aD16?%2JQL70+UcJwT
zS`}!FkxKf5%M6<R(h;G*s1FX`ytA-?0a*b9HMvlreHCE(tn<Z%XgYVA4vIR)BtwWK
z%=s057W!mrz`V+{Y&ceCvu&e#|DU7!t>nGCFiD<=Vd6RrD|w7wG5OP{AN6AX03r!<
zf{bpVxnPSYfHcF*?z&PJexh$X4r#sT6cT4Xq((iT)sJ}oJ>rRXe~ABx=#|{gfpvu*
z01&4^w6b=s;Z3vam$FQ@OOg(e-f>kAeJ+c??oBTFA&ASH_p9i|qi+#iFFxhgUurbp
zfF-OXtP@>_(u$nrn(Rc79|?jzL|aW*MP}ceB#?Vw$o{sY4bdf{TJ0R17;VXd0}a!c
zkRQrLg+Zc|BM8Xei{M7sK-jdx3AU{XifwW~l{&M`H!{JJargy__R$eMWp0810000<
KMNUMnLSTZjg;mu6

diff --git a/interface/web/themes/default-304/icons/x16/star__exclamation.png b/interface/web/themes/default-304/icons/x16/star__exclamation.png
deleted file mode 100644
index 46a204de975b80fa72eb1e9103b65cf4121a7ec7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 737
zcmV<70v`Q|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00080Nkl<ZILn2R
z>r2y77{{OU^AZ@ovY;25G+$(vkm-w}1WUpo3o1s?-4{}SKqAroVhg;a=)APe%Q7`B
zXKD)Byk&0AnNIhcTXSa4%eLHf*+@fr`km=SbJ2kh=Q+>$e!u+A?}5yl1TLK>pl<NW
z#T7Q(Q4jS(%X8wUz0zyI(-qeBsn+9LEhq{Zf!_L6wrg8=G*f8p=~K;G&$<JpyLK5)
zc-G8b(VE%IT3UPhf9p3iS}O>2RulM8L-JfR`LnJW;Vi9bkKX+^fYMe;LVFrR<ckg=
zF4%Liry*EQd)~D0PD+}*F|0_`In62P9KVjbkH>WX(t+?UgcjU~lKRp}y?rWg;in@X
z=PhYCKm8CLrmJqgPu|9f!INm{+JhsigkLf-PftD6O9Mb6AdEDFIaie%(5X{im~u|s
zLaQ+e$8>zu4<w?t_b6&wc{u;A2s>W-*($P`B<i7FPXLr>F(4~sLK?(AWkwC(&JM<+
zR&&UWMiGIdnp3}*Ts3G^#rG@g$O+Fl*8~u#%pve13vyUhtYcKS50{C;0r^&RS_H`F
z^KowC-dy)<M$%P7d^y0qN}jCZFHL7UEXMsy7UM3oj_k$JPdwCjM<aa}C&g*~HB>i;
zDcY+@JU5x;fN&mwIL%E|ohVQ{`(-yyvO5=L&jQ${Vqg3C@Oc~_O2D^`DLABwLru@Y
znfK+Skek9v0=E(m0~9`h<j&e4b6?9gn?%4U%QH!KTXm3W%y0xvY_$6e=x$<Tu;W#r
zqN$i1pk9V!Gsl*^J0L2{@Ec4|g{tFm5K~(~N)5^|o7EVB*3aSSvfps;6oVqz_NItP
zXn+qj)0c2RRGoANQaAZSBzF!=NrqBU8mKw?iXK6~=rMdP7Qhc$iv^&Pri1VgOz!0L
T5U#&T00000NkvXXu0mjf;n7<z

diff --git a/interface/web/themes/default-304/icons/x16/star__minus.png b/interface/web/themes/default-304/icons/x16/star__minus.png
deleted file mode 100644
index d150e00d6a037a60b46336c6b92e067473d28552..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007ONkl<ZILn2S
zZAepL7>1wsEM3|cQACjDSCA?8A^qq_VnI;Qeq~ZbO%0+S{Vfgbb0!AUg>Bk~6LZ;)
zE!e_Ifuh->bhV<5vo%=X(>23QR79=l?S1CiaJuNg#d*&C-1p6U4hI^l3CNESa99&^
zN@U5-q$Xh16M)`(B*Flnu;7+RoQ~dTE;b;876PxkVr&-rvz{P0M|Jcp%)~t)FU|8X
z<1xRxT=2Wg1e~M#V*e7M-$=k_BJlhn(M*puk57*^jpK|O?*3bVJmpD-y*s^cF5E<C
zLuzWbruCtg$O}CN@;DLi2W6fK{{=en?L76oIOO@451Ot*#+~cX)^)eQ8wzM<XTr^N
zDp*UWzSq$3$FmV8M=sOJ;cBKS=;(*aS&Kf~iy6#f0kqZ;&QQ;t=v1fLJVPe~6T_G2
zsIP*4@sv{UI~f%m2ig57wf7VU_}fw&dNG69XaRJnIIw8BbgN#{?sJxg+^!-jIQPbI
z+KWTDLyz$s2OS4kCNr*p0N+U9z6u)MuZqH-JcV>2uE8B)+&$O=V1jvg5U;kIF_H~R
z?pe^c=XcPzjlJ(q_A1-y!11-TJ3oc;8^{#<3E#4y12F>VA_ckG0Q%YpyB@Wy62?F0
z(-HU9Ig2h;FzZqTK2Q2*MlPp|(Xx{0AwaetK&yZ=HuF0Fo8FB-TI;wWT@92Y%0d!Q
z<s|)T$XfPOu@b&sV?pGGcmj^Gg0Wt61zOtclU&Lw=sdg+b~9}aV>O!#>n}nl?$Co?
zF@sr<h(a#=ppJ?XsFEf_0ejA2q%k%zGM7ss?{o=Nq6fWVM)DWCKd&RuR85)y0000<
KMNUMnLSTaEZ9oYC

diff --git a/interface/web/themes/default-304/icons/x16/star__pencil.png b/interface/web/themes/default-304/icons/x16/star__pencil.png
deleted file mode 100644
index cf0d77b16a2bc3934489d4b24f6cdaa82b4a2b4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 735
zcmV<50wDc~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007}Nkl<ZILmF2
zYe>^k7>D08$y+zFg0M`RLE6wt3@j2g!VhL&azltN8q}wvZ`#dEiWq1MYx9ybb7hXq
z&D0Dgna=Q*Ldt(@wz3b)HN{QBWD3IDd39TAzVN{LpY!~F+d1&y4ugwl84R_q%LO+}
z-yP2x$Ye68kw}h>Gp6fhEOBX*=xSKE;GrA%*tqOTrPBR3;^J~JKOf&P*6l4I`g9CF
zwRqVpbnbgc(E0=a0lk_fq@<)=bGclY92_jK1xQ|1K=f*t;brMoV}@WgUJ__c;pPhV
z)@8eeVzD?UC@3ge1$@>PbiQO@c*UTnktyb;%V*}Ml`~x$rt^fAxvcZdN&lqdv74Zc
zzu$ia1pm9C18pJi7o1A8k6p+1r~cEPaCsg(rLFkq(!JW(<4a$v$tGOIo~Cf5u&RhT
z8Wn7Ctq00H2(7pWwJp!0%nqAk-sLRES$h%A{wl<-`dGw2WB9r<3{Ac1e6Ii}zh%wq
zRAMt_C`$!UQ_Mu_Qqeih<3NL{|Ge$@&$~Ej$wdA{D8C(ydfibpf0p8aKEc-T$j?A7
zWhm<@fERKR=qg1atty{7%ZSWj9F0d|<b;=zfdmJgkwY$J))X*kC}U7Bhce?}ymQ<X
zgDV;BJLIG@a>(@-(A3`d;;SwZb=xg*i*`#Szwcpwm1wkojYOMSvZyX$-Q;+D??i|J
zR7Fc1X|CQZ%>0nxgz><Ft}0N_Rs{$XLfC@ydpI^f2@uF3molp+H3^`y0InFc+pWVL
zyQXT2Mg3KUkU`LTSif`1pxtIAhuoDT;%wyXP~<{&UFn9=l5EhNPJ~##x0SPnuVYGY
zf`-n>A=jOuEcm!LBKV^WWu`&4pD#r5?{Ll@&TdYazaJdDoCaCskn7I)`~?xas@0Sj
RqzwQ7002ovPDHLkV1kB3X378n

diff --git a/interface/web/themes/default-304/icons/x16/star__plus.png b/interface/web/themes/default-304/icons/x16/star__plus.png
deleted file mode 100644
index 9f32f79793c36577d461d9be42499c333fc02c34..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 705
zcmV;y0zUnTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007rNkl<ZILn2Q
zZAep57{{M`=SymC;WjE?vMjQ<SxFxv8s?{hB*+>;WGVFWrH`3`y`VCToQCPl;l#F9
zn*}ah7)-QUl&)^j#@!Oui#VNIxs557R&+Y&wvDNa4*a;!`Jd<aaL$FsY6?!4Qoxwv
zQWj>(8F7dU{dXyjXZpAUZiZQqlir9IEeJzK3f}ZaS;G#ldqN;}Bqu$w&Vmi$RnK2=
z<1x3RoOL@+v80aVi~E-ZgZC-0JfPskL#lOlsx3G>r3{jqWaR9>0|-y`RIc@L&cJ*?
ziRSz*$ZE<SAX&U#Fl(v4c)TAfafaNLC^U8fIbR-d{;Lm^*C6+H4RrP1k&O5~t#jW4
zZD__TM>CUkDDd$d$MnP%G(BF8vs&c)aB<G4&Kn^PamfJatfy$Lf<A6&NwqkKPk2J(
zmyyp^fkvG&H1e(lvCMw_J&LU6B9H!7vW4^#hq#deplhPR*iPq|)I5#LCi6S&QpDQ!
zMzL9o{8F7@G_hN3hi<V73?kUr#*ZC9fxel7dri>ncr6Wlau%Xk>_giFVoiqcbf6M}
zPQ-vlh{X)xR@e0?N!kYbx!1M(m)Er!zjp_IN&zbC%R&X+D^X^LU`F=!EW#qgq0Ufo
z12*LWsO20xA9bX&!OvUKgd>06s7hsfR4J@PEBswNS&9||$`uSmR!K2Hdo7%?^a$N=
z`&WJGtfz-nbx=;&b0fu*uN3^;&?5M;ZA^+l!Dl!c`P>a?Od3YidKEe}ibQ)u6&Mcg
zgIzciVEDK$R9pf>wmj`yCcYiiEVqRn;sTGz<R$orG8IRlDme)xc)uQ#jmg5SU6u@6
n(hnz?SD#Oqg+qyku*3TUFu%0Ak|g(z00000NkvXXu0mjfTFXi-

diff --git a/interface/web/themes/default-304/icons/x16/star_empty.png b/interface/web/themes/default-304/icons/x16/star_empty.png
deleted file mode 100644
index 019e358ddd97fd560ec9c1a421f8c94859ed11d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005fNkl<ZI8SYo
zO-lk%6oyYF6$Kd*#Z-$HL68{qfz=`kf{>^za2Ab)PDr}Yje;UB^cRSNA|fu-jkxs>
zxNs}}1y{Oo?@~Lj%$0HM!UJdC^SpOpl!Cz^IUEjZG#dYLqhZXa9ds#^$xJB}3JVe=
zYs}?vMQ=8MTCGO)dR<^?Hk&HIEOI#d&fEj2R4P-d)#_!Z(@_9sksJMmAeYNgsZ^qJ
zxhxNd!&iVA8Fog0AprS&-okJ7P9~FkfEk(51C&mufB&P^YJGC~0$?`o1tiO|Sy7bt
zR4Vm77!01d@W5PaoM?#W2RLxiK^GU0-|t_FL?UO2L_%%1+aKfc_=@FYJ;<<w0~Z~1
z#RU|L#VDK2nv2Dv-0St8xOAik8Fp~sqBD0vI2@*EG)kdR=%w53K62?$4>IiFz@1%y
z<Ma6hD}g}ZXEYj}bLoIN)i^+g9US4$jwDIs^?HF6kH-}*So{6{Z8Dks0+^9u2L~=X
zbH`@05r5fB{>`2I_jPzY9@Xu3p99Ruu!93vf0me4X2a!jy{W3|aXOu{)oR`6Y@J!-
zSwe;#9JpEsU0P-~nH~NpzjnL*&SWy}@w0_7Gh56yXS>+Jfva_v{{Yqmz3TQCaUK8w
N002ovPDHLkV1iv<?SudT

diff --git a/interface/web/themes/default-304/icons/x16/star_half.png b/interface/web/themes/default-304/icons/x16/star_half.png
deleted file mode 100644
index 7fdbd3759ed5c78aa8e0bc59db5b2f22149b60f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 730
zcmV<00ww*4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007^Nkl<ZILn37
zZ%7ky7{Kx8PE#<-u!u&Q{R6A9$Um4tk`crxYn2|+)V2$AzR)*H4p}ry#6Vk)Hs_eb
zwpES=8ZHWwY?-8$LzHa=>(9X2G;<=7C4|@WTeflydf@ZsxaWI!KMt-bC^&nHf?<19
zB{rKa2SFsEPzV(j6#%^!D#XzlHE<noW+In$IvupMw1k8M#9%iCuX@5Zx%##|wA<~h
z)oM*bKv*o6@bW(a;(6CE7&|@gmb#oyr`T*ZXPQhVApTyC8tA)2LBEZHXLl*h*DtLz
zQ&UsNj7B44Fc?6i(fmI^Jn5uTU))c5yb#oKI0x_zq*|>uDRMa!cx0v?MDuzu-!nUY
zfdn!f4#ydlN>vsOXqAwvy9^yYHwAB|{hIIJg00-#L<2V$sON(3WF(M=_Abc_1Oi9u
z>gr0wV(|%vVG>CIjExj+Zl=Z78wvfMp<@5+$BW#gm*spOh6J_~i;Ig{0|Nsm6$%Ag
zU0uCfCX-PZfZqYQrJ|v`jZU$*$C$jM%(QzfmvfEoCxOj`&*wX=*XtRzTAe7D%K-xr
z5ul(`O~GvysNFAfgYP{V9D$QejEsyNs;sQcuc@hls;a6#0Wuv|!{W?M^wSA%&W{Q2
zPHyt;9unAvHqOt_r<a$PpDQgbjX^+!XUA56_J)x3dxll6nGbyKlRIspTc6-kDwV~4
zzkeS___ejQVyRThL%`$lVA<p!1ZcYg=li?Xjyrodd^R@HL;8A<78MnxOC%B&e`z89
z4<bDMOo2eKY?nqW(K^i~FqoQGj5W!@dNdER@LD2@=kxhIkx0a_EGsE2EIf|a5>OnX
zNFatRlP|#o9cBwa9v=tf5!+BQT8-Ak#>TGC&d$!ogDYFQpFEWQ3DlRgnW3FPjsO4v
M07*qoM6N<$g2C=c1poj5

diff --git a/interface/web/themes/default-304/icons/x16/star_small.png b/interface/web/themes/default-304/icons/x16/star_small.png
deleted file mode 100644
index c1378cfe49a4639124b8f503bce0c538acf8cf47..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 310
zcmV-60m=S}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002}Nkl<ZILl-B
z|NlP&C75Aw8E|M7Bg66aj0|TsgE0pXuZGfKagaPg13>uHMz8^vPy;MMe3%?j1{__(
z$Z&E4W68~<Mh8GNh)<LO2Uaj{M#f)XbbLk^!)w6wMn;qQot#G>T+aUV`C0w{kB`g#
ze|l2+|Ni;-PxCrCj)LUz8Zfh&kzv&oCgZi!nGQX>ll1@AMbG~?&U^m{@j>DsdAtV9
zZDRmo*_BhdE<C$!`S0op?N3i{8vI*1h5Z6Z93+p|fN2d3AndTDpY8I(Zq^Gx_S^;C
zEEg8{v0Vm<gXHlVFtwfmgwud{H4y7V`T9^kNPMs-<pD7O0Qi8Px0<l1%K!iX07*qo
IM6N<$f&sOP761SM

diff --git a/interface/web/themes/default-304/icons/x16/star_small_empty.png b/interface/web/themes/default-304/icons/x16/star_small_empty.png
deleted file mode 100644
index bcadeaa4c43d6fd2f14287603629454214cc9df2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 281
zcmV+!0p|XRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002sNkl<ZILpnF
zv8sY#9L4|3om=C!L_LCIG+i2_rU)fJaBvbFeFP^3!9@^37x8hNd<tK{#l9aD#2qYX
zsNu))oP+245M>-kc?bEffh0*J&vU8k8h)ClaZx-u{nG&`ibBe=Tvb)&qWF9F(m<M~
zl4aRW-{6emUmA$x*nOn$`~ClHa=<jrU&nD&*L6qjcbYAVC#Rnrux(qyFkD1Y#7Tx`
zjpE7aCkH&wgIN#+mthz-ZQK5#cyjv50ewwa`o7N#N<SY^JURWdZvckoWLef+DJ3ZW
fmVf)N{E>kxEEA&UuFPEy00000NkvXXu0mjf$#Z*Q

diff --git a/interface/web/themes/default-304/icons/x16/star_small_half.png b/interface/web/themes/default-304/icons/x16/star_small_half.png
deleted file mode 100644
index 6b1cb6d2c5415db202be45b0707b30bcaa37f1e7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 352
zcmV-m0iXVfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003eNkl<ZILl-B
z|NlP&C75Aw8E|M7Bg66aj0|TsgE7bMb)lWhmoH}pVum?$<}gg0IFYacAbe^g*Z|Az
ztAjchE?lTIZ{9qxW}*!^x`vVA<Oar)gWL0ZX3m`HI%Ucf;tV*jf^jo4{`h+Lg1)}K
zG-Qm|fa#5lCi6Qvk3P7Z{ps_w`u{&Z?w$t}cfEf7dO%WAQhZcYloVbAW;Qc2teV1P
zymmU%p=WoJ{=a>>bRtmPxVN`At-ZZnIxa2_zZd4VF@Uh_%Bfrzp53<mclm7n>|eir
zS(lfW$L8eZ@B=Y^1Ew`FfUv`oezwaCyIC*P6dINRHO1%W=f?uQpa8`94VYTb0K#cN
yyc&r0tMUyPqNAfFfPN1HVq+j4>`8e*3;+P~R-uVcm+1`v0000<MNUMnLSTYqsGs`)

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note.png b/interface/web/themes/default-304/icons/x16/sticky_note.png
deleted file mode 100644
index ff9d467d72410b6173d0ed0fc86aa2dfb9b0b9a7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 423
zcmV;Y0a*TtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004QNkl<ZILoDz
z%}N4M7>2*2yOu3nbOj<|H`JzmxNIL0fe>X;W`;vyPK}8s=7=u50+(JxL{R?BOl8h|
zomV{rK~9AO&teYm^K#C2W{8<-5vbXm(rVF$WcwH5$Tk{8ra8qgknDK2!Q)|`KL=Nm
z9DnrA`2F>W-(FJO?QStLlK8g*yv*1g4|OT!q;w&r3|r49Ja{_b-eZzGolRyZ!^lb2
z{DOMjXV0~6dDPc_ENQpbeKalfAR$1tnouNN%a8?^b4#!j90ytDQMD=*`>u62Ie$<I
zW`eBps9Y9`L(eYxL!4KF!6K_XDwTxd*t5&B;5x8m)Xy=p$|J)NinM1}*tH6QC0IjN
zd8F$?an8;?d$t}}f;D87N3ocod_Dv;cB-=ACa`2YEHJWg;7*=sR8Te>DzalTN~Sxh
zFlK_m;&yPw_)a{#$jHJ`&$47SkqDorQepEiAPZ;a(vl=1S@|cCiM#0U`~`T9Z-_K$
R*`5FZ002ovPDHLkV1kd!y~zLo

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__arrow.png b/interface/web/themes/default-304/icons/x16/sticky_note__arrow.png
deleted file mode 100644
index 2488b94955d79991d653da2dd18a8f099255d5cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 561
zcmV-10?z%3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005_Nkl<ZILoDw
zUr19?9LIlm!yfwcP!9#Y^w5h9TaP~U8iY?df`S@>feoTWp#sT=BE%9THz~VrY+0*o
ztIOOlCrXX#rC|2Q*h7RRhC~SI^xjqG?zi*XJU0}lK?gn@&f)w0aL$ha(EmWg!zD&W
zs7`Qs9o(E98X`)iO4tIy70ZlaaXyOQb9V$`{F=RmpECjc`0htGdjXsgxR(j|ute+P
zye3LvQ3{EY3S;^P=DuCW?ALaTj-CPXDmW+DXA1@gZQ2UP11#hst4h*ouT3Q4cq|}>
z1_l&Kd%=haL2p?Jzl6WTS=pmxQjv5Nj7P=)uO;D`a8~vx9#<rtmZ{rAEGOZ?a#r?8
z*A+>ZWyXcz-kOqyTo{~{J&MH?Nw;P8qhQ=GE4lXc73$+3aWU$9(sa9t&Z?)0G)<B8
zAfJF`YGoxSv@xhtz`^e4)74#{yzaI!B9}{{Xw<<(kWUIh-!jRiL>fm!FN^GN>BDh-
z9G#PZC};MzzV#BX%1VWTLB~VnQ(#HyCH>%;98P@3)d}F_d*H~MznuF3>~4OM;r=#3
zRYQaGrr+;Ot>i%S`7f@<o*c8w=g(F5j>GdB*l|kFZmntYv0$TMyI|*fY&mxKUDY#y
z_syO_{ZjYemUGV`+TaPP6}7>P*u9%-1I7D4SRPm-1u`hM00000NkvXXu0mjfW%v#W

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png b/interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png
deleted file mode 100644
index e201d16f6cc5fb836711cc56757bb5dcb6d9b29f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILoDz
zPe@cj9LGPu*{9FeRhQi?D+sd$se{p;!YBx(gB~h~2s+fgYnSk*hp0<Lmngc`VVCG)
z5O@hXL_`uRnjH)wwm@Ci*7eW6_hzQU+qWtz9UAz-F!TL>e!uz6j96>=pW%#;3jiYA
z20H(te{C&!V<5`wL_5~f)!&yLHpatR0|bO~4{I$yeitYd9;li;ANiCqPzz;@Mr#kP
zJ%Yf;_cflUsaC6OY^*VG?&+{GTnBpVM=+*do)S@r2oNTU#Wrg%mzR0}=>x8N^WNOt
ztJA<>4Iq&w2BBHR?0{rWW-!LbbzN3hUry~-K`b;2*6t1on=KeaeZ|pw6CfgpD8TH1
ztQ0@8vXm#;-iy|ofUQl8h2jtr^&+fDvsRwvNY5QA%d=o`BcIY5YT<-t*#W7PzR}du
zjqA41lsHbKrPFG#dOM(YgzXTpl;*$EnmWaeTUnahPS9lKScl+r2&j<}&|1)18p2!H
z4k?$uqnuWZUm};wu~z;`JbpA4XfF5xsOf3T=%{6Vodh%>60e6+`&cMU;I<y*SLriv
z$L_LNoxx2XY6}9cy~rXCkeZpXhbJf1!sBN{@3ubtxI?n@K(eQMzn^SWe;6Ek$m~=G
zTBLEF=Cf6AbwGePkl6Y!qVfE`JnB2&burcMrm==Z`U;ie8vvFTE5-bm!kFy!?XF&e
j%l$kthBJF<lw#s9Weo2f)F`WF00000NkvXXu0mjfyjB?g

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__minus.png b/interface/web/themes/default-304/icons/x16/sticky_note__minus.png
deleted file mode 100644
index 56833a170bcd6411dd65489de5e1103d9202571b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 466
zcmV;@0WJQCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004*Nkl<ZILoDz
zyG{Z@6o$`2XQu^)mC?o!<E8Kcd<Z*Zv^SJCR)iQ0iBU9O5W}iLR#pf|ltn0PEwtnb
zER2_^$nN58_jnFCn-~FOD86KN^8a6E&SU`*p&g)5s8cM$G~xe)LC)s$0Gd|E5fA~}
zQ1P=8!;hDJB8qR%Tlo64iq*#umP)h88Dj8<fIq&O|Ewrfic)EZN@3LR*YV|c8J};0
zcy%>{Xoit<#E>J%<s23)J%R6KxuN9ze8NGNU8e*vaB?CEf|jn5V6Ul!Pr}#Xtmr{D
zD+!h?Jz2YdD+$kpv!Vy-v?N%ujg&LQW)dDOXGITEDM_$q8)*_8w3NJ;qsUp&167p-
zo3@cbOOLmd@E&KmlNcv~qDX>mG>_3Xl$H|S<E-kX4!t6HX%UOL7#Ynh2@ZcrE~dvY
zKipH}Y@`<z4?Ix$G7b=C2lV$#5Q(^s(A1D6^^;_fXTpO`j`U%5a`G2jB;kG+G2rvL
zH$ow|)`-PX={n$nvcTU7cXI%xDS%xTbPyh*`=5Af-FAQHFJk*@RA0v19smFU07*qo
IM6N<$f^R&{Hvj+t

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__pencil.png b/interface/web/themes/default-304/icons/x16/sticky_note__pencil.png
deleted file mode 100644
index 83cebec94e5078d0f6dac6383e229485a38cb7ce..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 564
zcmV-40?Yl0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005|Nkl<ZILoDx
zPe_w-7{{My>r%%-9(L)Nn9QJibn+S`2vQJYhYsP<k_e^}kucX*n&$AOSglRR+%h-j
zVR&#<<gFcwlIl<_u}t50Z-3mr{T}zeqikD;9{3#I_x*l9{C>|%0O)_9Y_`hM67?#E
z{((obnG8`nU8N>aj8u#mcDBR#xphx5gYTP@`1U0T^K$@&!T=<r@cbc=2aBsa+Ywco
zQKgV7O+jBD$5zpg&5xs4UA+L5rXV>*M@_J}SmRn*kK)Hyt*#`OJ5xi`9FG+w(82=S
zjF$D765MSlk(0=EBrBcVX(mdg*v41Z=XUSkOd>mxY{A3yl$9WnV4E8iBVJo#BZ(|F
zJG3vl#+=AApP+c0ZEjYKgc96uDtZ4Z2w(4^C-8caWL~CNjBRdLjCqvx2Mr~~*8@n-
zU4dzu=ybcsG@?$5MA+sIN=a0VNL@+s%_Xd)I$(YnM0fYW=PsAa6H<SX+S-`HVTYih
zlv09+e@WKYE+d~hx?4_!j$ktA$n^B=r^94TYb(?Av||>fG(=K8$vk8y8*hh^e{{?$
zx8vOlFC;4+dt8e4{(k2~AmB{@&iI&fIXc0gq<m|bH~iO~&*Z&irDJvJfTBg=-pfcI
z`=Gyse~?%Dy6DuN?=4oh>EQfHp1pXMkDu$RANU2eT0{!jmGrFu0000<MNUMnLSTZ<
CMiE;8

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__plus.png b/interface/web/themes/default-304/icons/x16/sticky_note__plus.png
deleted file mode 100644
index 6dcb51a09cd35c328831b00f5ddd0de7af6ac0c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 530
zcmV+t0`2{YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005mNkl<ZILoDw
zy-!nN6vodj$WT543?29j2#_|`I2gj<ERzWv114xR0XCQ+#E=kCi$SSi3+8HRu@=fl
z8yGsdm4TtNi4H_-kixy?LwX<2X?bsApkTtA{PN~ap68eI9s)qufi^ZuY;Mv6X5<Ro
zl1(Ow5{VMFfEl&S2u=@l{Mmoc1aQ1JjicX_INbFilNo|!823K{d7Sa|^dQ8g0GDRD
z<cE=+!v2pJ*xMP$)>a>o_d{}w#}=%w+l&>AFivv83ni&kw@onUSYt?_)m2R~UN9mo
zm@g}lN#r|{RXvKwHN`~1_*DG=WfIwmWL1x1F-`H(GNbkq%SmLhl2tv5Mm5DN%Z#z$
z!=;jwTmX_)J&Hs$#T(09Lc#c0R?_?B9=yq$Xb;zAdcscX(w#)1kfwNx{4y*vR950$
z@t}8i5H7tTTQ%QE^p0t1(MZ=FLJ;{l3l`2v9;Q0s{p>E%m3;(Pp#B$^(=^-YCppc{
z8qLf&7LiXtB&A7~AUl!8-dgbB?#}&l&{Ta|`aB1<4GdJg_W3Fj7jgT!^Sf)JCMUFg
z>p;V^nx8aQo1w?mb0XkPkc(-$lHuy@rmwA#`>f-n|2}sriTbPj^yEgmc*~p5UwWB7
UY$FXimH+?%07*qoM6N<$f+~^svj6}9

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_pin.png b/interface/web/themes/default-304/icons/x16/sticky_note_pin.png
deleted file mode 100644
index 6e64b83415bb618b7bb4e4bb7c9de54a8b3331c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 480
zcmV<60U!Q}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004}Nkl<ZILoDw
zOG`pQ7=~wZ*Rq9+Hf=@v3;h@&gf=aMY7r53qbLazQqs`UEVEQpY}Kk=t7;cW(G{}1
zm$$e1j(v7cZHf*&49vXG`^_AY%?d#rAAfNz<<O0k`?Tu!^{^*&1vbSraV}-NX19Y@
z-us5_M}cCdQCvqY??i5U1et*W?2HZLA-AIKF^!@Nl<gK|GF=>RFB^EdTTqe%R~J(_
zJsF4JJAwS|e3x3@1<JA~QmHO;jbZ?$Cnp|rvs%IB*`x-`ulGx+7kr>Bdm@>X%wn??
z0^Nd2=qCEfBv+r^XqL7?S@uLcE}7+4Iie<P{wQJj{nd+BISk6OCt@+lthOsr^^>*?
zC3?AD@T-D7P?kLrjY?*%U5TkH1`Q>8xmgOJT{!?{*%Oh7WZbA8sX)k3qL*9c9iVy$
z%CaXyA<3w52^HA=R`MmcD`9mW2W8n4R;v`jU=QKz6hsUqMw!kMpe#A$YM;d-g~!vg
zhiV#~5`vx+)80(irpcZCG$>0Be|?I<(NWX7(`ico2FjB2>55*3S<(MT%$f_}Uwi<7
Wa#;b1#Rjeb0000<MNUMnLSTXeWYbLm

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_shred.png b/interface/web/themes/default-304/icons/x16/sticky_note_shred.png
deleted file mode 100644
index 934c3d834890e479dcdc380bfcb70a9bd1fe841c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 551
zcmV+?0@(eDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005*Nkl<ZI8UXH
zzfTi!7{>3eqednd{{tCta9836gCSwW#l;1Tix5dzNJEGO#7YRpvlg||Qd3IF@gp!W
zfobEhkr+_}p#oa5rFX?5M_=COOJ5QKF(x$m^v!+W=lSH-h)6pR+U)ERb935Vrt=@v
zAU89kY17k3oDeYnaxq5xg)sA)_VOl`a)b2e_cK~vZX@iOno|NiROs@Y2$zCfGO74$
zkP1KgDZkl6w%x+n7$L)4J0X~wI;I<fz5J_FlKJ^N$Am)0B%=W(uq<8ZIdG%&cW3xa
z2`+K7PY5~bD8a;pF7$a$l=54TGiOP*R@*afwx5ubjuIpiy6_Yitbci6?-$-sZnHZB
z$@cfI3?$z^-Lu{703jzGC5Xp$VW3<brH`pwNzZvpYb*DcaLMZD<|SN`{%|9?yZxMy
zla3O^V!AK{L2|q*=sE8wy;y7ElGMUY3zsAlmx86-OF~XMN)U<YLT@Q&Iy_$-xFa+c
zuNuZBn79P*g`WZJd!?fUjg7h%4jZ7!PTgMM87dc}go#TqaS3L6u@3tt<k3?C`871?
z7fsV>W!|rU?byKdoNyU)ZRL^r#vVE8h``5OX09^Vf#2`ztFJd61_C|{6W_99sw;V)
p2n^;z<?+gYfE@CM65#JV90H}4If8}PKL`K-002ovPDHLkV1h}v`=bB=

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_small.png b/interface/web/themes/default-304/icons/x16/sticky_note_small.png
deleted file mode 100644
index 8ce81781a099c7ce54014ffb8590715ba3da685e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 281
zcmV+!0p|XRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002sNkl<ZILp<N
z%?g4*6h_B-pXh<wv~S%$h+4F1VSz$aLReTxNQSuZ30n3VVLuv``ZZTVFoFq!sKtTH
ze3vu#4#NPjPhh_%a9vjAG@d9q4r8{>!~)*fOoAD12MyP~itV-zI^&ey67Z&Wbe!Vi
z4{+Wo*lcP*sDREnWud^bq)vP?`0b-q;(3*f;jpk03QSY#Cc)yd!YG^M;;W!cC@>7E
zmjouF<0L1cnlhn4*CiF<67fmTNvKXUkwDW5V}xsvgeIYN=uMJfjx-Yq`u$={mW$Ra
fDEou2{B^+{ww>yUicU!J00000NkvXXu0mjfY3h39

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png b/interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png
deleted file mode 100644
index 67357e8a7d53f5831c6275fb551c23347c6ff275..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 310
zcmV-60m=S}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002}Nkl<ZILp<N
zU24KW6ou#3g}4$IBZ$xq_+CgMJ_MxHS}IzKi4xG#2-1K%=$p_5NQ)8?tocz9V~)9l
zeG^6~l=k5;%>6ju+=meW#7`pro?ti>G9N^_PogfL-!slRf_$2*ccT8LSOlMZKPImf
zxUSIR@Bw4%5^gq&cBue=R>3Z~12d&yFcA7KXu<akEG9a<v5wK(HMYwJm?;I0L&iR`
zv02om<ZD_+G`~e0cEC(2==JC(Sv{vKKS>Ffx63B>Q5VdV0^6p0tov!fk`gY*VGGIX
z1(K-*rg`y*^($DyoAAqA=9y$FL9Le2s@05hD$M@DSN?Uu0U%4^+8Y!DfdBvi07*qo
IM6N<$f<Cu~LI3~&

diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_text.png b/interface/web/themes/default-304/icons/x16/sticky_note_text.png
deleted file mode 100644
index 94d2e94d49d3f1feb76c14d78fe258bad4881336..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 518
zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005aNkl<ZILoDz
zziU%b6vsd3-o$5<r}-fW?I2=Zw1U!(I_jjmi;Mq8=+@A|(M_Cn5Zr|>f|KCX(vYP!
zORQ3m5}Nn=lH79~l9#0Zz(NlkxIfPQp3k}W9x*e{V}-3P0YHT3!1e#czc*uB74p1=
ze8-F%5AVNQR~=xcz=-j9fSIv>(52gb;U?kR`8lTw6L+eC5C()WU^E&s90mr1K$c~k
zoFqJY@M>L^r@-B5393^(C*t_BdyJ}5Ehi+IXXR!LK(BYi$IqXLqGydx=j}b<@kBs!
z0T06R(h+8cs!=n=`zioyx7Sb|5=9aH{+r#u5qNNPeq5naPWai2P*wI163mQBsZWx5
zR#z^fik}LEFcT1&5!B*zN@AwtHC06FgfJ)YJHglQb<Av>bwW}pCzvWp=2=|4@K1um
z{2k=JeC;Z5X);$t3WP9w{y$2{394~Qnt5t9!OS6|fJ4NcE@5K>8Vvy`g0On40vKkO
z8GmyF^pr>lQUuuCG+e7?G@C}65<?M@($t+R;oJhwmGFK6?@KsWBu$B%O{3K^3P8Qx
zwxyjNclh%4lMiQUpuIggY`66e@J)ac5YP9;8Epg{%X!=R7aWHK?WgQ`8~^|S07*qo
IM6N<$f>goood5s;

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes.png b/interface/web/themes/default-304/icons/x16/sticky_notes.png
deleted file mode 100644
index 9940a558172ee87da276965ba9edce614d79f673..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 466
zcmV;@0WJQCP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004*Nkl<ZILoDy
zO-lk%6o$`Cf1sAR3EH_4e?~&os$HA*;j(oS1VK<t5<;d)HK-YuFp9cx)haCd5Gh&(
z6+v35V_!O_b210VuDIyJ19N$~?|sf?01@FoKqdo_&9>n0-~9~X>477i21um<l1Z=@
zFdPyKh91R6bqBvHLHu~};rp|Kg~A+iMmTyF@SeiOMm0<aH|gL8>QC!fd0fGKewM7G
z$T{KcEU+lk4M#V{DZDOBV)?;imgI8NCc&Vr5&e~~E+?>b@3EM?l@&}Rq-CP@82yxs
z=i^wqn>RDQARd=i2>?y|VX0Y*;^*s@rKD3ilX99FTgGCNmjGZ5)@j!EC<y&2X)9lx
zy3CA6jYK3L0l*rpW9a)7Yzs?R`7A$XW{s+fsw(*j0M=j~LyuFiD=cB<lVcaMC68+8
zF$@G`)o!N()?gj1A5f?YOISG+l5Z7dKx^Z6%U=2mMu9b02kVE_92S<avfnSMbimfd
z5U>X8U_FIg!X`Wpzll&;utrE{ty52gsVrE7#IQimCRFZP-;~x`XvqD=DgXcg07*qo
IM6N<$g7e_Y>Hq)$

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png b/interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png
deleted file mode 100644
index 6451cfe6e60edfa498f691954f955bb7444ae7d1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILoDy
zUr1A77{=eT$eS>_%pknzY7`>fMAt$jL}p+VjaCr^A%gVpvPLnof^12w++6F=+}3PM
znMY@^x+n-Yt=2)5j0h}>W~n<X%kAlXvrdj_yXfKv=i~X_=lgvhhXBz3K(QFnz`#86
z{d;|Yu`NMWe?O6`67}{{VSykab0)6`F*kD?Kc+pH{o=&8&kktX2}s6NEm<II4()R@
zejar5U_10rS26wJ5|YVAwhlsarg~vPfij=)_|-@Q#<V(2zPA}A@wmmn<1s~<(#oSR
zw<G<|R$%gV(t+-7<svix7^Rd)UTi~p;<S;;0pYOH$`D1Pzi7#2g7`jlqo8D=a!jo@
zGO-MWls1M)G(;ztxyymKsN|1wYPi<O<f?&y;$(<KLv-?b7YDZ%EfMAC$*njaAH<=1
zW9ZZ3@c9%MLnIoalh?ysaA(mHQ63tsg|$<|wF$uL*KqXu{wEu2%tWFgI><(l%lL{)
zPDLJIxBDq-E`(+)4_}_z+cl2Xx4>q5-^aBLXPZehL<iaX$m{;1lAV#)IQIrPm;!bU
z|K->yu<qo;XJj@j)X`z`A*(`4#6+$mZz2zS{ALff*n6<P*_B>l4JI~u$5B57tUeM=
zR5Yp<{uimTsmXN3;aC>^7rdvfe2+J^;So@7=}fHL7qD=N%+o5Sf>~3FvO1@G`HuEP
gS-s1`B_stu0m+|(@(<s)hX4Qo07*qoM6N<$f?44lod5s;

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png b/interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png
deleted file mode 100644
index 72aa718c43fd71720d20b5aacf5565f9fef6652c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 627
zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006yNkl<ZILoDy
zQAkr^6vxk9&q4H7M21hT2Ma2qpa=<i3F~EVJtXu{5I&U<^^k~(R1|BJrtVtVnsc#~
zwxL2pq%K*OWovD2pqQ?O+nnysEZx6zW{Pu(4?X<&?)lFB{@?E&E&-tbfx5eidU_U-
z=f8D1Q?&*qU0p<8FOkPX`2m77nd+?W!2C=reow2Io2tjpq#1sHC8WoctQjCRH?Pmn
z*!f^HA8dp^c@NXE+ZY(Qz}5~(pV_lAAWxZZcohzq5b~cyB3iW^;`5zeMpX@NW_{)0
z=Q6}6s`5-`6J~UFDmR(MVXUVd_;dpC@oURHxxnR8?l44dcaFM+v;)6VEqNg;m3uu!
z7}oY9`n5b~>2xX<hDbC-XCd9rjfVvxVv?D>g%2;cLr<uP^dIJTRJ64z^$d|{h)!02
z#xr>Q&yerK=Mfn^g?YUl<6q7oK2iyrO=)6?L_>74x{Cvz6okws8W7TsU@BS*lgWhC
zL=D1kjzP5=>_#I8h=%AO^BfClTS3T=$VG(TmLc`+D*v~{GdPF7&K=3>D+W8)#UvV{
zgG>jqx_wnh3;cbh7z>_7VCXp9FD_x|<59fV4kaBHrFFMa*-WBgwHj>5cp)KTBA+8O
ziI3J`(02eM!BRy0dvgY|M*REG>)fb$tja;&qoRrm!(Fp^gL^ek?;FMfTJc<Lco$-!
zozUZ#bE^>4w#7OclqLz-#B5=<uBNeu9x(5gXs)IHmO6U9#G@Nz`2))ri>piBp`ic(
N002ovPDHLkV1jDQA?*MF

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__minus.png b/interface/web/themes/default-304/icons/x16/sticky_notes__minus.png
deleted file mode 100644
index 0197d57db5aa5cedc435baf5e20cd49664ed763f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 503
zcmV<T0SNwyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005LNkl<ZILoDy
z-77<39LK+B{sC?jCFRbI_zzr(61i|A3D?>sx!WS86pch)MmX6_LuQ!^S4uJOOXL=j
zdD)zKoBjNLww*ScmvZWJI#1u{`97cL>41pvAK>u-Yim*DJ2q}&%->M7x(c}6z{(1e
z3j_(7j)-QbaB!O50#<stAEM_w3;BGlBpFlmZGntA><R~GdEpo@93kyykOEh|<n^|&
zwVfnqiW3WxlzE4Zv*TJi^;OgDrCBdoU$57(S`9Adcjc3#D)L{LlT4m&Ewr?x^f1xO
z_)YovppyLOCOwl4oKB^W0bH(6y5Aq|^!hN7RFbIdaTn{ESUMca00W4I=)6D9aWI)u
z5?4Olt<W<$s?DYhF@R`@PDGpMU@C2iDDQjA^(-7zNmZ3m1`rL=iD*s^X4003^3GNT
ziKQGhqB&@M+@RJJa)D@w4uuvtRMVDhHkOi_hnMMWJj9vG!gV{KLNr8&LW|ryo3_MJ
zQb11)4Jix)dnjZL(V>u=q(n^QIC3X(<>lrw>dc1U1Z*eL2@LbUh<u~b&~LG1xPF4?
t4Dj57I)1gqFd_P6GC54{AIQR&f)6j0Y!jimmR$e<002ovPDHLkV1lkZ=QscW

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png b/interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png
deleted file mode 100644
index afecdeeda04877387f171e3ee5da07268802a615..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmV-H0>1r;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006ANkl<ZILoDx
zT}V@57{{M?UUX}hbrS>;b|GRnU3w9Hz$h>Zf^MQBqTyw*GT9P@KvIuGqz_kAW3I*g
zU>=;Lc%k6Mh-yO|Er`fishQi^>BH^c^BnE4xrrCO@PqU6@cf_O`y2v5{{zKhL=zJm
z$oJ;`BIDhL`tflhT_+kFqw)YjicEXa2w^?@41d=A__f-PpWihklQ$qWrheN1xpT2&
zJsaf4N8I=T#!?^FGF^zrU2GkK)R~6TfHGyCF!O%?EK<qSSoz|$L#C!K*!ca9D6_Nj
zLgEyb7rkXB=8A@q5!K0TEMq6-`L|9ifA-il84!u6?pNnIAR4u}TgZj*`^V$5kW%HC
z-eA|VldVV`Q0ZBvnn*N6r;vNW`cEoC{wcqEebTCZOlg?(T?afK3@bHFtRi$5jhDQG
zr&U8l`Az%;zNT+tDAWqmG~qg4oA47Iqi|RWzM>J~fag_1WU+J8M=(2j80MlIz4xx6
zt!<ZnkpChL4l1D^`5_c?fvO?jKHNh1zA~lRcSkLCcGS$Zv^ad+zMldCB|Joa7)2vk
z5t2!}d2*vQxy!9)E}fxfZrr=cZmO$OG%(-@Ag@D0#6+GWJ6ZkIV>kD;tIXANbhPmh
zRh)gS)2nGU(XI5{cBGJ7u(VxQRM1kca%!19C0eE6vQv#VHz}vByyg4_f}mb_c0knD
P00000NkvXXu0mjf{h$(k

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__plus.png b/interface/web/themes/default-304/icons/x16/sticky_notes__plus.png
deleted file mode 100644
index 6152db1cdea0e84a35e06ade5749d2aad7759f58..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 565
zcmV-50?Pe~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005}Nkl<ZILoDy
zUr1A77{;Ho&~B!!8zCXO9>p+s-9>jvr4e}7O)v&U2?cdqLx=*ym=c<~71eOdSV{Bb
zguJRQ+WKchiXaF|`m>d~v$EWt-gnl);cORO{P@ntbH3;Mecw4CiT?q~BrrL-j6VOF
z9~1&>;F*{JOcNL%M`eMcq0n8jVq99d&R_FkE`A%}kFP;yGAF5-;90Xk=MtV-S{RXq
z!?JLQ)|ZQ%|JciP`iNM^sJYOxvY<j)c6jh+rjxHT9n8%J?2@Ue12*BXBO%mQe)Y1Q
z*$;sVlkd48$Ht5vVfiv@DbKvv!|eOhcBUJ|<HiL6NF>UfE9PVTId`R^WTkS_Y_T)7
z933_K1wb`ar<lJf!PQkIf0d`7w%M5;H5xSr1VA-Zr)1rd;9AuZReqk{Mc>1{Y`wRg
z{zv;5i5Qm!Ks8jSWW}Z6M%5Bke)71D-n*^z<xa@xWhmr`xI5|q)leN4ZnKz=R4wt{
z-_6aT4U0`fuDQ<7e(JdKlIs(WH$<Qss>8w^maLJgCEloqJ7@Q=0)4J$aJvnt4htr=
zL{0QKdMA3Z`gQzfJDYl)S@blfw!Pay9m||=9F%_%Te`X&eZk<m#J`Yt`f<uR-TZbd
z(d|s(Yy+f3*TW@j5}IprxPBOi>QXpbKZs-N%LTsy?_F(1efgOE00000NkvXXu0mjf
DRb~@L

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_pin.png b/interface/web/themes/default-304/icons/x16/sticky_notes_pin.png
deleted file mode 100644
index abe78e22c570347d7f211f3d976e115708df0373..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 559
zcmV+~0?_@5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005@Nkl<ZILmdB
z%}X0W7{=d;|3G`xOTe3dMCl<1tKNF=Ay5P_ITl)lQbbX(v{h?8EWxz6ni{G`Li{)t
zDpFdLYW#qff}}(&N;EMaR85|~@5EVyt^+@Yot@{I-_FwVGSSKk(I2HK!<c77TB&>d
zE+TXNx*&V$mI6QXLfBF&TJG$G%x3KpziUDAk)ov~>OIeop`3k#y~!>tdcClpJjTJ^
zE4_A}e+${eTou%-#^cog@5I9K{ve0?@O%3?);>SQg!K&B%m9~+LH00Cfxljrn^%AB
zJj8CQ4V&ved|$hduU|T_ljuh7;3dv-A;e-d$dKr2<xDtmL)9S4siaSb%h_>UoK7Jc
zRYMGsXoyb!@4FkS22oBWd^&uV3!+k(!R)Mh%@B!(=oF7aNdFwbZn8(Kny^vc`q8Sx
z7pL!0Eq+2IqDC1a(GZ<VAq=^=!r_R%JQFs`spJD4t`sJL(mcXpHO>%;hUip_5&qT*
zr^JMf^2U1WWq6udfNd*_ArcMIsTSw>gbz-M2^;0aw|0H9gi(qk81&dJEnFZPqJvVD
zH%>VvCTx^LAy0aExFKc;1U#es6PrmiM5osL(J8qK*OV<w*&JxP#$6H((Gjg$iI~i3
xZC7QN;bonXdObHBWtVY>X>`$Ra#g-I{sVLBJR|#iD&YVC002ovPDHLkV1o1#1j+ya

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_stack.png b/interface/web/themes/default-304/icons/x16/sticky_notes_stack.png
deleted file mode 100644
index ce4ae9bf3d715f88d6541585a42523fc3b350ec8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 477
zcmV<30V4j1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004`Nkl<ZILnoi
zO-lk%6o${(AIN2Gf_5&Fene6fwrbg?eYmrI1VIoKrXf^XRD+tK32N%XMT-crs2ofP
z3R+YUeW+t!>gk**Vbsy^!ov*Qd*A22cLw5dfJ6eI;W<Ujw!j#R0Ysw!kq9(xRG<ZO
zRoRE-!VZ4t-T3+H#E%ynO41DS9ARt~pqT0X=sG)rIcXeo88cpG#_-|Ris|$;BKnXv
z&l7`n0son^m!p_Wnu$pTw_6t`Ix|b>BY1yf#rJ0$hC;$3p;$XIA4Ue0`9MHeCVp>|
zJCzF_n%JO?YbZahV*YVS(|mC{tVsNR!A<~#!wL(Pq7T2`HtRxaR<-#oWl~P+^$Jb`
zfO~MCN^y^px0*uuBx-Z|WQYPp6h&d30N@_nrz-E$#I|OL+MGHzVO92{%cT<y1`6OF
z+@~rBXu+;#h}uk_?#^cG3R^5XJN*Uyz&*GRmV#I*ikcy6v%{ea(#GCD^uRs150(yS
zfk!h$(_9<egZp49iX6fx;W~ULe6jp>G|j5fN2x2E-i{`-YIGAls`Pf~8#n&|;Qvk_
TSv=Cj00000NkvXXu0mjf0S(hL

diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_text.png b/interface/web/themes/default-304/icons/x16/sticky_notes_text.png
deleted file mode 100644
index 2274943a9175318bfebac0cfdb07eed75d2bb936..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 547
zcmV+;0^I$HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005%Nkl<ZILoEd
zO-mb56vpv0@e8!ex)Iz7B7TXYf?IcPx-ae&=|*aOK?rFWgN-zrhSou2N?I`nbs-|b
z#xZJ3wAzMLMJ=|zMkm!)^LWl!gE1p69QZ?q%RTpZhY$d|Pc$}0G(LWr{Qm#`gnNEV
zWuv1+;V{w22;~ltWRZK3G5k0?dWU~0FHR5KIN4XRxYz($<H~LwAn&}`c6QXy8+&-;
zYZyCSNNvAFEcTSue#kmketkd=nNNr$zSbZ%Q;i=hjadDznnNZgYO{I0wh(tWIlfSV
z&18L!<j<app&`Z2U4D$a$TOd+u=M2_63Z@pTXLEQ1cQo`BMODgI?j*%h(uJx=i3pT
z?#LsDhfA@)<uDHrWgwuqI3i&P=lpmOzt&ptGue#IL{lDFk3Pmm@|CHSs}2k(ZjMM8
z!pRu#5sh|XC2lt*Q&Ub%PCEE>yGi~WtK^e?_<Q(<2WZeV#lsN^LpT{Dh~15L{9bR(
zlL&cEuYxG$su?4I-d>wlQo;j-AsnPXV0N|}y6)x=<uE04x+6>W`E2W|S`fObuFmG-
ze?c(`LpVr(<jMVfg2o&AxVJfEk4MpXL*b1ck}!mWbQm&3Byt`3CYEH2r-(V7*LhZD
l$rjH8?vVwr(2{)Pxd6x~Q39-nkc9vM002ovPDHLkV1kKb^=kkC

diff --git a/interface/web/themes/default-304/icons/x16/switch.png b/interface/web/themes/default-304/icons/x16/switch.png
deleted file mode 100644
index d91ec21d1163b033130d33d2a8af1698c360aa08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 516
zcmV+f0{i`mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005YNkl<ZILoEd
zPiq=M9LDi^1M0ERL*IcfC3y7aar7#9@g^R{lQ*Ftgov(5DCosYO41~Dwb`{*Fv2FL
z{tFR{pn`&;Pv;rhg<L|V3m+JE=KDL$t^gqZhbR_{!Z3^@MIPvgt;px|B-J$R_xpds
zhYeei%jHOJw_B7-C9K!$H}TA7vjH2nBAd;UT&-51*=&ZvV1Q1i^9tW_k7t(4CD^bP
znM{V{d_Ko`Jl0yR7J|XxE45k;?RHxa8xDtH!&anHDU#Fa6un+gvuzupP)H9Vt}B%a
zE-pT6rdbCYwj!BKlAKH?aGVENRuh+(Ul55z(C_y(uFuXssrNUUX?_D6wjv&nlN^o4
zXf$lx-ZpT3{S~oT4CQiJ<GN5N={>5~ZLnc0qR}YH`}+qq;D=_KHWG;hcDtR%_3?4R
z-M_nQgAH2|4u?q%ctW$;)hw%nbUKa2Vxe(;a&oE$e|OKYVJp-Hk?eLy>Xv{0@uY%+
zdx_cXM;JyKS67yMh7DU02n0wv&I`XSy4`12wR(f|^Qz0X9rp|yw!-W63cuekA0L0I
ze_*A)#Pm&n&#+<3=Yz-N3Hp3Kc?dRaIl!m9Q{Eqljqf)-qLx%6rrRt40000<MNUMn
GLSTZE8t&cz

diff --git a/interface/web/themes/default-304/icons/x16/switch_arrow.png b/interface/web/themes/default-304/icons/x16/switch_arrow.png
deleted file mode 100644
index 4c83fff291eed39cec5003950cc581bcc4eada07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 629
zcmV-*0*d{KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006!Nkl<ZILoEd
zJ!lhQ9LMozsf#oj97G2fR|BGgql1Ejwy{HvXz3vGBx^88vq)?av=)^vdP}3VH7{1h
zWUwHWYTEP~n~QBAjiz}|#1IK2ffN#wpU?lHC|RuH!H0XeyYK(txnls>|6p#nn|VB*
zK7s$EK5E(Q>@4A88akcMU!j8<YMImNB)rvX!Rz&6dwctj=$U4-32LZiilPwSXf!}7
zl?rmX9AdFp7rI9G=$U%G4r-`nlarH#SF2SNi$!T;V*@6WsY@^zL^K+e!}9q&sG*jP
zkB<{xE|-x?r6f($Fg!dg2N7EP{eCPgyq8pU71U76Mn^{pFO^D2B(@L^N3gi~5f+OD
z*=$y#_1xTRaeYZr)lZ;?T4uM~2`?0i2!%8(FNY8atiWco!RPZyw060?@*Y`T)j$ok
z%xbj~zPY(22CPe}s=?uKpxtguw4R=J;l`^pE<Z0odG{66P|M6_GZ6#Qh(zL2I2^;o
z!~|-!nndfFnHLyzZb2ym7oVhX;pVfc^CMG?i47t=9xsSp&g@8wz$G`(=856-Jr!r~
zui@zRH@NaLiHAAh*w{+OaQpKRGa8MAClcT3+aezS_RIYI63%%txRU{{M#Y;WzuCS3
zhwXtirqk(|!C>IY<PY%=G{l!EcQGq#ICX1LIx+GVC!Z!UpaBQ2xik9)?hY|=9O~`u
zHR<(wz8l@3k~#7Lp!442mmW|{1N6dv;oxre^go*F>3_W5b7su4)98N!GXR{9*95c@
P00000NkvXXu0mjfb?+s=

diff --git a/interface/web/themes/default-304/icons/x16/switch_exclamation.png b/interface/web/themes/default-304/icons/x16/switch_exclamation.png
deleted file mode 100644
index b2e8e36badb2caa4e62e6ce9fa025d9189a96267..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 647
zcmV;20(kw2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006`Nkl<ZILoDz
zziU%L0LMS?SCS_8j5gXd)&_AA9UMvrJBgD>o}gn3inus9bg84@lF9x9;$E!@b<iSC
z#ibxtFk6&1WGJoBhBSFE@A`fv4s9YWB8ms!<+#u1zIWUyy<U(18T#VlB8sBi0&@Sz
zZufe<w|W#s0J)i&ndg7oMo|<N78V`?sJ`#x`#xb9QZASAJnxSwm&*h}K%din-v=NF
z0xZiyN{Qn*IF55<S0MyK2rSFO^E~>T?s?uo(1-T+_9zyMM+CF8vzVrdrfHa_NuSgA
z_xAzteSa_+h9U8IoVmF<0OsfCX*3#0d9b$Kw&`;NLATo_in_GhHn#1MOeRUE(*Pus
zNs!B=jPFGH6ma{OKuURdgpg*lO%Q}=nt>34N~Hoo`os_^<13dY9`LPF0_EVYjx?}s
z31}FGMz<RwgrHC;0I<3KiZj^@q*4h^WzNy;d>J%QUDw5R-9tEjm;^!yI-L$3r%i5n
zgR}X|Oy7S^W+YEfe#G-^)pcD|DJ4=$6vaT-6X<$^SZs*V(J|`vIvdp`vf0z<G%1xz
zcut*|5s*7sz3BTkYOB?v)oP(>I;*Q6FpL<65odDp8e3Z}wrfjd$H&-eerEaIV|KkN
zn(1*qTb-D`{!&p_R#vFhYN)D?W!**7j6udm95TZJnz2qy-KAhXBdOb@hIUAwh{nT^
zs|t`eO>;_B)%5W<|KyQ-@5asim66f7Nw15@+`(zQ0bu7xr@i)R^SuJ3fdrr(7rZF)
h6qxw^hXPe)?I+>eD~)?l7RLYp002ovPDHLkV1m47FeU&1

diff --git a/interface/web/themes/default-304/icons/x16/switch_minus.png b/interface/web/themes/default-304/icons/x16/switch_minus.png
deleted file mode 100644
index 8d2e7d38c8ebe58593a39e00074b4461f06738aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 558
zcmV+}0@3}6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005?Nkl<ZILoDz
zziSjh7>1wSnaze}mTN2$1P@GMEjfz>A%8$N*dJJ1UUQZGb@>Ox$`l6&S14i~Qdx+H
zDFh4Av(VGx$ldL)+nwE6i`;EYBL)Yi8NTQJ-j{DatEwvg=g7fefMr=n!1fK<NmW&^
zWm%R0+wFGy*}uB6EQ@}>{{+C!^PD`-DT;#Oa7dPAf4#%u5Un+9PUd+IfYzEI2uRbE
zD2j-p=vr5$6iO+AARx;!)|||;tQJ^9v)PPZuXjzL)9K**K0*k5-)GIq<#Gu?p6B&r
zQ53kYOSjtv;Q08M>2yk(Ue+!aA#1J{Fvd`phQ%Tz3?n?xqtR#p;CUWdR^a;^D?j#?
zK$@nj2n81x3$!i}!a*s;`T2RBUu%uyY^<grSaY?5FiZh~;|Po?QA%-mcnH8~G(zhV
z$8j(F+kZGnl4NB|)CI;Elv2cTTsyFBi7^$fy9q#&B-|a1t|C~LgOt`vtYT~HHskRa
zfLkwLA%9Hx?l=e`0oeQc`RPWQ?#lUme%W70&d%O&aBu`bt98J5{DnA<C?-F7^l<<B
zcWm8nzBoDAm8YktG@DIqTM`71Ns_p(+1a@Vz`F<gJRg0i^BZHBeERt97reKCJHGGl
w*|y!d$tD?N=3yAVwSWe&35XkRV+kyO16218QH*DgdH?_b07*qoM6N<$f`wlLKmY&$

diff --git a/interface/web/themes/default-304/icons/x16/switch_pencil.png b/interface/web/themes/default-304/icons/x16/switch_pencil.png
deleted file mode 100644
index 1fd85c5c7cc72739ec8b100b70d89152a02d9ed7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZILoEd
z&uh|g9LMpGM9^h=ThO8ZV7sg+g2gVi%Z4xrZ=T{a4;_-cxXYZ-#Ri4Qm{1Cv;*V{t
zl+gy;vbH%VsHETw_alFe#1Pzuf}*cJ?++m@MihPF0Uy4f@AG~5e7+0-`yb5f^)jE&
zH!ARdG)gUVyWNC~Y3Ou1e}x`usAW#4lkirn1;5{qMx*gZ^i8wb1U1w$yWLKBy<P{Y
zR;$S8^GK)D7tlM}qi@d6&Oi;d%xbj~UaQqmDwU*UG6{`Fb3r&9Mk<w(!wQ80sG*iw
zEEd8ml?slIj-+@z4y{%z2N7BagF$R;Y)X;H9;jIu9%jsJHWOYhmyyjLAQnp?6#4|6
zPKR7BC((Lwaap|ImZEQ*Nc8q5!V1L@Ga8MA7mFoCqjBu)M6tEC3xmOcKp-H|+T-!d
zy_J<UxF)9nlL_w>ijPdM*Au?Ke;@{YmLie3*f*iwZcDVDoAY4jg9A3(th|j!{r&6W
z4j!`c@o^#s93zp)NU>NN)6>&9Jw26Z?VX>(d-r`bPK=nCn1oubHct%<FeVO&@JyyC
zPWkIk$8fnk-9vQDKEu-M+cI|B?qPGyO9#uTWnvQH+3YvETVygPU8}3xc<X<GWyc*E
z&s*<e=9OOVQ9~_LDwV9Sua6%dei#2hUED;aD;3+r`oaSldu9f)8(QjqLk+d`-0bP;
z(Wq1^{<|k*SA#hJg6B`KWCm|td->}gHPq4om2h3SaS1#gQ3S_^6eE}HQKR|+pGuQ+
Tfu$BR00000NkvXXu0mjfq9Z3)

diff --git a/interface/web/themes/default-304/icons/x16/switch_plus.png b/interface/web/themes/default-304/icons/x16/switch_plus.png
deleted file mode 100644
index a81d6c36bdfaee9963f459d80d8df35df9378015..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 610
zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006hNkl<ZILoEd
zPiT^H9LMo5Q9+biU7{U2)FHO=P!PmcL8neb8ibujLHx9Cf<e29brMfPgkxlkiOwm-
z2IXZj+Mk|TJ~9O-xH;#v5<}Pq3X}Qi_x&vfW6+8oc=7x3JkR@k_&pB+p#MSPaF|9%
zM|&mlk9xVKU@*vpoQ8J0{a5(nhFb~*0!*}8Ekq&_G@H#o;&-;Tw!jUy<oElTXfzsN
z^?DtpQVH2?b`QSC&-k6q%}sE_E%|&tCf3*2QK?jvbUF>I)w;*r+#E8Qj2gDKwgzsv
zC6C9$M6Fgsp-@nCT}OX^zZ%4NKQS?Z$;pq3rp<#JZprO-Gf}Npk<Tw7nM`47>J#jC
zJ62a$72ZdqZ{__NMbo~38*XV}V1S8oxq?JO$LwqZ)6<{fbUHCUKCbXS6pE;4Y<^w`
zH{6oL;b3BMaY+tXP&7@4%jLrM_O`<N;o%VOzJGwucirgw@DSW^OE#O0$pI@!rE*F#
znT6Nu#m2^l!uyetF?5b~<5B%7x}rVc=GyaHMDl=`$mPoNl#9Qu$RM<Ph&KlB;QX7b
zxEQ>Sdo_Wsa1V~XI$NZn(|)p8EKKC{Kls}sm;1IW9-l!h7RQCbE4cl=Zy$Pj@+%pQ
zMlzetVtM(e{0AEHOVswcAG6`|Q1_0~O|>3=ajHm9j>|uZ=$ye|u$oLJagamLP82&<
wE`e8Wxa9#R>5SBIpvOmFlQ^=V)}6-m3+*+B>UMykY5)KL07*qoM6N<$f+ChGumAu6

diff --git a/interface/web/themes/default-304/icons/x16/table.png b/interface/web/themes/default-304/icons/x16/table.png
deleted file mode 100644
index 9deb778b8b0dcd449c20c1ebaf4b0b75a00a2ac4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 504
zcmV<U0SEqxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005MNkl<ZILn=o
zJxE(&7=^!Cadqe@A_0ejf*>M@NO8&3O%NpDzs68vTN|m8Dr9nUadF6yK|}-xK{RM2
z7`0aoil~THiPe}A8}lD;a{Nw&aH9|~FPz~F&*9+}<8yO*nXV$E7o!eGH;O#6V#IFm
z&dAd88))9ipvjX)qgzG&MhbP#1Zq}d__!QJ^->tR#Sp3%{-bjK0c6Mu^XzPon#p7b
zY(ZoPCIc!a?w?@2OJeNiWx#Uvh#!|Be7|_e4v--$OfxgR$#gnrU{E6Xbr8U~;>XXO
zTUb0d7;*dX)pZT?`X#<N|G>0%0WxGo|MYZkTvc-hliq(w$*zs-@G!5hDhkMu6`fO4
zeUVfuXTX8&voma+oWOm2jLoAXDCg%`_j=*n-^beCUUq;CS<zv$^@ozlJcFq0+R#AT
zIY5T2XtP=ef{8>ygI(EQ8;~I@K3gn<fp|R6ASAmsG|+YqkRdDd!^1{@ELPB9`}FjU
z0U5I5lhHWzHyX_|2+FPv4YZvDWXOsJgTdsBL<$;k;I#o6vZA83)$Eray$*-p6*6Q+
usZQ5kR$Ke6n2;6nN@U7qKD;wzN}d5g9pW(iuJvmG0000<MNUMnLSTZ<JLEqA

diff --git a/interface/web/themes/default-304/icons/x16/table__arrow.png b/interface/web/themes/default-304/icons/x16/table__arrow.png
deleted file mode 100644
index 31122510ab561e1123b52b1ea6e5a8d3874baad1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006jNkl<ZILn=o
zPe{{Y9LC>^9SpA>qEmzn3W5YHB#;pC(1emgiXaB%-`0p}=`>}w+G%u<YDA+f23c0%
zA+j7!8L73cwK1Gbn{%tyVr%XH+V=E*f7RNeEPUbN%X9cVzYjk)I65lkIknD+S)X3t
zf^|M(S<lEwOP-gySHS-HJZfii*k{UOuQ7vaLkhbl64?19j_u=7h#p5!`S3HgJqUvs
zVwqg0Yt82K!hkviVL%nk;^N1zP<}{b!2f+fvGN7Io(Rq_hlK%Rh-EUZwk@5@6$~Wi
z7=~U4F=!6p!u)$EX8q_f`OrP>g?!3`vxc{jO)i5NVp+%Va9c8)Ef}b5pOE3bIMa4}
zNq=rOgBW7jNsXpGmdO+hXkcz}5ib@NU~)P!<8Z+2c4NwBgTZRWq{Si(5JN0Gp;mW9
z(&-X|IPb+FgW^sD#1PAlDwUm~RBBCwm%RUOKn$_0Nuf9$OeRYVBD@!e4Cr1mh9G$q
zgyxwO#1PBGU0u>ZBC)2yoXaH`9J=L()(_#{cZ5MKtCvd8yo<+63_`sBjAGn_16SYR
z@J$!?^gqS1u_avb0!_Tv^y==g8i_>ai^cwGARb$V+5<@Jz!B@O$X!5X_rxmO+Rz{m
z@IUH}M*o=3yEfFSj6$lp!S35jIB4M?yF7y}&3$^dQ6xHEQB`&BztViex5Eg~t*CFm
yM=ay7oM#iy=6_{F<27Ab<8@nE-B9Zfru-ZBe%Z^oe;4}z0000<MNUMnLSTX>K_W8%

diff --git a/interface/web/themes/default-304/icons/x16/table__exclamation.png b/interface/web/themes/default-304/icons/x16/table__exclamation.png
deleted file mode 100644
index 7a5d0c87efbb26f2eb72ccd52a5bb4677dcfd252..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 667
zcmV;M0%ZM(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007FNkl<ZILn=o
zPe_wt9LJw?VaE;~Iz+{&L(n3K3S>m{(1;--1wpJ#%~~c~wI(Smb3|B>1eQn`c(90|
z#ESiEI-ReZI=AUu>eQyTmeaYt)2-Kid!IKNTbTzR`0(R<_<Z^DklOZk8PBCnA|usp
zZKc@cqb||3ww9*(aKZsdm^AY3YdCJ>aO86ehfS+E_$h${oh<ghi$U}@ioI`^u>18Q
zs6$<%YH2Cs(rKYUAAwL%7v^y9`%mb;B~df`yFfd=jN4OD+?rez3aCR}QrXm0o?KhY
zEKoS(xH}X^tuur>%sjOAS!irQ+_26-Wtl>iDS%4jB&b7OQqkC0zQS>t1$C|;Nbxxv
ztJ|HE4NfPhLtRqR&~Q1PN@W(%f<C_=y*?joBO~bYc;Fl#hsEWBX>bt6fdQd_I@BfS
z_4<lvGMTf0<#RT4!Casjex^{kw17I)C1-WIE0NXJ4Hr1ZJg}SPSPH*Hujw=ljvi2l
zx};F6y&7Iw$ypHPb2i<5jR^YG;MiCA>Z^jK`w^%^T_RJfm7zppg9R?wEyY-ze~hA{
zA}j>!Vf`pah+PJC$w{U1+8oQ~EQs*=4>Qvp7_yx~G*}Hn2<CldV2q~_2zG+H<fuYX
z8H~sOv%m}UhhhXq%Q5PfqT{_9ZdX2r`lT4?DZ#M|itA)oL4hj7|L9CC_7A>*0gOqC
zsWAyAykcPiy%XL;=r>CszbJk}wu(gO^2Fks>rr2`jT!FR6Ayjahmc<cc0nUtip#n)
z{!o|K#g~#TJllD8{LS+^@{Gr^9?kbj|BDCY=`X|r=@R8acqRY<002ovPDHLkV1jjH
BJUsva

diff --git a/interface/web/themes/default-304/icons/x16/table__minus.png b/interface/web/themes/default-304/icons/x16/table__minus.png
deleted file mode 100644
index ff295443bdfde471fc38b929a886e8791beded82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 536
zcmV+z0_XjSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005sNkl<ZILn=o
zOGu(o9L4Y2Xj{-SWUyL920=s+Lqr=_Lz|!&q<53aV6SnQ!U|luau#i3Xwf1hqM{&5
zng+=pUnNCUMALK149k4mr>FaOKt79vyzt|47Qb^3mkmrzs5nh&qGI32$D5JnA(!=y
zjWx%3sN4iTuE$VekD}ZrqV#tJCDss>3jq|)`%y6Cg<{Hs50ej&Tkb&)xlA`Y+9Jkc
z@dBe8@q%HOh@smj7;eJozxrRGKYPTtQxAGi?&AgIkju0qBdy_RG_gP}_%OKR!hqn!
zkM(Ql?N{itU7~yC9J=LGe6{|CcIgD<kjvW5=GLGnCKe1k?hxTw%F6C;QeG4UkV7tO
zG@06bkw{_z6|5Z{VfEkuw*7tl+1rC~e2is>1J><rENyMY3&<gteKs1~J>hWD0zc1E
zXn{0S0XgKdT7%(>I}}Q}V1wtE3&<gtebVbYT)|+{0uRqpXn{0S0XgI{RackB83?3Y
zuy%O(Y5_UqvMP<H^Pk_Jw7|`?l<Arp%oP<Su;k@omfuFX+{Vh(YVD=ZmvX_c{CouK
z>tA7#$u3xKb+yjPfArkzeG^MV1I+wIDL<7;sI#-}EJLBF%PcPLNe6NnKQc}hC+D4z
aBYOr43CVJp$QpkD0000<MNUMnLSTY88Tv#3

diff --git a/interface/web/themes/default-304/icons/x16/table__pencil.png b/interface/web/themes/default-304/icons/x16/table__pencil.png
deleted file mode 100644
index e17739c2c9c016959c534e5b11cf56e3dcfb8d4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILn=p
zUuaTc7{<Td#UfZYU33)@A#@Qm7*woAL|9B1bu)?}q_VX#3s*Cv#9DYYf>yK&S6-~O
zm5kg9T8gt|Zly~$h7MU~Ze@nc{BP>h_nt_!Y#00B;hcw;-~0VIhiUrzB|OKM840`8
z+bhE|53x*TFvtqL?0yIAnkb;bkw?8fhpnSo)LGKl@-m6dFA~^fia|6O#YW?IY<RK=
zVu)o*z5Yb5P!JaAA`ljIgmbv|^(VAnGPpATdx84n4_x#|(LT2*EFgwhrs(c&$>j4z
z1F18PtM9|mI77HR@fm8zJXH1|&f5Y|TKza@`2dA^4#W`4TD!VhQn_5wpu_zQS>8)y
zo0=-?ubfU0Lo7Si*?BUa%@z%4!T9Vf#ylR_XJ+tvdKylj4_3DumdQz&T`pk(F~qVX
zI$ditlPNPu@Ln1+DC-6Tf=x}h-rRhH9n@-1Mbhad4c_wp$G~VdL$A>QJdbK>eC&W)
zeL9><l^H~NFAW*c^HX3114biK{Qb5{1%*U%i%Htr<e_A8NrQ2(7Z!UDhWhG}T2SFE
zhu?4;V%Z+K{LDfkQDzX~y)@Rb2e6s;3h==Fop?HQ7sL?Dwo9doU_Aa`gHgvr3_so>
zz&$tXF!=nA@E3?7maP|yl_CCR1F_gY@%UY^JQE9WAHUf(JzSg-Lo8b<5*=PuTYI5W
zWQSIdAnt`$xx%+?-@1E$&xvLHRP(IiSz94E+E``U-%!<9VMa{#FV2YAQ}Tj(ng9R*
M07*qoM6N<$f+#Q^sQ>@~

diff --git a/interface/web/themes/default-304/icons/x16/table__plus.png b/interface/web/themes/default-304/icons/x16/table__plus.png
deleted file mode 100644
index c1a918d87fee20225459eabed0d61ac4ca5f0c23..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 588
zcmV-S0<-;zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006LNkl<ZILn=o
zPe_wt9LFDmJS>7vA)X>)4GbL#iO8rVLWp%Jx&&p7nk{XP*eYF=tc0CL2QOX*?O-5M
zfd?^im@(R{R~w3`h=111)?&8yf4$qc=l2NXUC|03`0#tbhtHQUFY6r|(sPVEM9=OI
z4z^>5k6hO6@w69tIQ0Q&nJVIhzW|+2M$?--j(M{<`YMh3(G+S&641PiL;d_a4h?UC
z9CDe}?Y<!wi=x08gDB{W%6R<sCmdgLc(}1$U|;`%p0zmct!#+`a>!+tfdNylP$(@h
zNJ%{U7)7rX!Gozy*!>&m_Jwh0G6d_y8g6@6VHsZmIpngA{(e(NmP-rzg5QwmS;^$=
zY*~ISNg#(@cHQN=nat-)3#cHlw1jsH3-Ha)<L%rWq~&Ey1cUI-%wT+aS`?5&F1zA%
zcEoeJvIQxgmCyoZrUG)vWfvWe&R8~Ealw0@e_ucjx$L~%ek+>Elr4z!tb`WOy&C9(
zcB}<wM%zFRxlC`fnIq|R#RY-IMX^9V+=Oc}o4DkV%TAlkU7u5_vIQ}om7E=EgZ9O7
z!G)+1>Sv9p<KNXTt&cSu43=;*S#iN(Pa{rlp8JEUC)J<W!PZu5g#Xb{BJo!)k9DH%
zX|v!+NGEQ+M+cSdfS>KrXfEw-Xt?`7?CRMUu34=GUCQJ#{#2a(oSJ`Ps&X^q?x48a
aj_Mb^bI1{yO_t^W0000<MNUMnLSTYWAQvqF

diff --git a/interface/web/themes/default-304/icons/x16/table_delete.png b/interface/web/themes/default-304/icons/x16/table_delete.png
deleted file mode 100644
index f67ac0d5649835a2f6578412bc0fdfd827e9e091..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 589
zcmV-T0<!&yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006MNkl<ZILn=p
zPe_w-7{{M$MdxC8l86NzLW{zJFd|-vow@}{4ARV6BPW&)w57O{ClBr7!Gobl5OpX}
zY$(oh&Of;P$82*pTIOu+pIh6$J<nV3OM@NK7e2hd=g0T^<;(A(&f#GbQ-1(V9YaGz
z_QAmh9N-flL-b@|prObYSG~ZMk40Se6mV(s7cRWd;_PS!XWpi9`b`q2Uj4+$mp^b~
zWEY|rA46p8@4uTb7S#Y}3~E64b{@~7IXsR039xS_&=!p2@y4ziAbRmJL{^upF<U6;
z4b0vo9CP2$;r$BxhX~rHzMyp?44XTIN8_Ji9ovBD#m5je_4PGo@_D^M*TQ$?c-EL$
zS}K`GXJ;XL@i9bqdVB9Bb2+_%1Wd24VrqFAbAbT1c6Q)hTf+?BeF}x(XGHH*lyg0b
zLUh~dY>H>IB@I$MYrLzfLd4_I&l)d?yu1S!-E=ta$M*KhHt>hTcwJkI5u*{2cwGHw
z>gsf!a|qpNZ-20z$&@sR^Q_@A7!Yu~^|MANo4cfesinmdO{dE?m|0)PLNJKwl@)k+
z_VJqtqQBnUe7?S>hUl8b@-UK0l{AR)tRY+Yca|-PUVIGEMYGwul}wgxFzNTJ0q(^`
zjL*+w%;!@BL@z#us8UgEQGVggMB={@z4$6+jYo{eTSu#_Tlb6j4pmf;e21B1jA0)f
b|LddQ!Hlr-=)_@#00000NkvXXu0mjflJy-4

diff --git a/interface/web/themes/default-304/icons/x16/table_delete_column.png b/interface/web/themes/default-304/icons/x16/table_delete_column.png
deleted file mode 100644
index a8721c36a9526ae95257128706d21387fb26f035..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 610
zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006hNkl<ZILn=o
zPe_w-9L9g=V&|fhM5IB;&<;U^A}aJSJaiibF<WNV8a1)zpjri^gC{S$c-X;%MGyr=
zXeJZw&zv^YC5T&YducglbMH2{w)g4x{nk6ScJl`h-}n1_pXbB#zT&~egjwq99%Kd}
zgnN9v4|_QOazfnm`};KcbS?;-{jA~id=;kI-#Gc9gcFlR7~d9f{I!Z>FL!YC#V;Ir
zz76tIjsecGv1=7gV}LgU20YoS;8CiKhss}odou@DEQ`Av+YBH-<rv`b`T9%MYOR4a
zsKT@O6ZeBZ;Qpk*HJ8LtAP(oucif(i!ZEc0@>7lh1EZt;#Y&~t;PKZq%5v8gSYB?}
zCl?k#e#$YxHZpQuEthKz2=H-j4RetQW>;1aT3^RZIE?9~B}|1v3?M({7;xF^9mtkS
z4Gr>g*R>jtH|zu;Kjj!;@px`zc6XZ^tR@n8V>IG@cQ?;)ELLkke#$Z6;_&dztzxmE
zL00ahXdnQ8OAAl^jsWDR90SaQgZ5OR(9|F(zx|t{Aev4il1yS={u8|c`6<VM3wHZ0
zC7*9-kdZs-T}MYv`W*qtPdNshvRWMpRc&gpD8Kntdpk6zljj%NNN+%X$}!+@SC=y-
z|LSHg*Q95yttj>O@~ponKjj#(zpd?(p|f-7e_gRyOizUf?)3D4=6RdVRR5lG43KA^
w)B&kO^*SSj!6k(6jttY3cZRz62PsE@KbB_Il8Vkxk^lez07*qoM6N<$f;jmeTL1t6

diff --git a/interface/web/themes/default-304/icons/x16/table_insert.png b/interface/web/themes/default-304/icons/x16/table_insert.png
deleted file mode 100644
index 5be705b7cad78650b83bb4defffd8eb5b36152b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmV-D0>b@?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00066Nkl<ZILnoj
z%}Z2K7{-4`?^XQBzJz8>%pu7Uv0bz>sD)t^1g%`O?=NT<1pO1O+O!ZvaM40=k>V;B
z2`1$vnqR}rMxpf1l=qzTzAf&Z3uOdz;9b0Mp7;4ZyyuvgGc%8XJk6h~s=f=HbA7L-
zrd~Izelb1$3?T5%p}@pP5K+8Wyce8nl;WJ=eNrOI=93F}=Ku(-b4FAF!^Dtb{;M)M
zY!ESshq+Ji_@*L~)a)vVD%Lpz5IAd%PX{b)Dc8fF_;NjSe9)uVJ;940B0RjPc<sSi
zn+&klk`Tbekii}N;`!*MEbB_C#O-1+>zCKo5FNl;n?#7?*mx13m4z+kUOTLAZzCdf
zw6#&l=lNExqN=DW`QBc<2-e!_X5j;YjpH;zg8;?`2Q$a<rO7iJSj^4y<?8bHddCk<
z2+{!!g7w{9M1=F*-PBJ`7`Zc+i8q$l@v0oQlovT+FE~9tJwq@uFpvq3kB(TGTl#~*
zs}de|-aRr0i$NU6M*bq$*xyG)2!nw6`|q>-n%)ytu5I1AT)T2?{z-77zdv*PytBh-
zp^){fr4qSZjyR6{hYrRGYEg8CV6$9C(!B$$r(0?CqDn1_l6O$8RDv)Jc{3cP9_>Ki
zfB!)khEyw+0Kjw=i%(m+y84>^Oj4^=B#Pb|pc6O;v^Jv$j)D4b<VsJN*)vAW00000
LNkvXXu0mjf!1569

diff --git a/interface/web/themes/default-304/icons/x16/table_insert_column.png b/interface/web/themes/default-304/icons/x16/table_insert_column.png
deleted file mode 100644
index 4348fb6ad7dcf49c4fb6a37d28eccdf7650eab5c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 599
zcmV-d0;v6oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006WNkl<ZILn=p
zOK1~O7=>r8h#-o^jiRFUNwFyi1}whlCM&^(C}=?Y(ilogwGF6IA*;ISrkjFUbWueR
z1w~qFX{fI>sj&|VC8kM?#%gNJBxz!j<2~2T&@mh7z~P_&&N&}vW|Uh40~VpntB?hN
zqB#5e8?lOOIj1N$Jf6m~xI5tkj=d}6=<5>9-rqR<Di70O4mB^b*#At$o+rPs>+w(Q
ze6$GqnUerVUtd$PT$TWL5)yE4p@=()0&d6u0-TXFI>RYk4=qXn{me;#y|=eHUn=Ph
ztUeX4z&G6VeTDOF9GzpI(J>l@V`Ls}!=GRu3W0v+B%rmYr#V+F>J9FG_>O|uHH}VA
z8ur2QanR441YGLwZcz&by#WDlW@j-rGXw9`6#R2@7zqY3JTZYGzh46AXHEhxxZSO(
zeBRI?BX&*G(Wqf3fPUsA;H=AaCAqXz(O^0j!=abQbp^v=y#f8qNx<o@uB!{VoS{KV
z?9{=hW?cNyCZ~2r0R7BKfTg|NmdIu+8hngIu=}A2C%>GLGY|^t4d`c10#4a%*W#Is
zp+QpY)Yb=kv18sOr*=jF{me<g5v$c6Q`L$F0rAco?pNu0FaCzsfPUsAV0%M@BO$(O
zB%S_m(a)R&tgWs-zpl2n<6o_>t23YTw$#@=uLmdhmCu=z0CBAm+AOqXg*I+#I-qRx
l?1NC4lRM9spI0$Qz#sfW)S{iC{YU@+002ovPDHLkV1o437NY<F

diff --git a/interface/web/themes/default-304/icons/x16/tables.png b/interface/web/themes/default-304/icons/x16/tables.png
deleted file mode 100644
index f0eb51f90ca3f764e0c745ccbf9b7e90ce2d1739..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 603
zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006aNkl<ZILnog
zK}b_^9LN8+4lx+r>f*&i2fIj+hk_lVP7-+9A*h3tEmI`esHBZi;35jsgAk<<jyXN7
zLlBj-H1?jGb8S5~Y;zmPM2BszZO^u`eS5!uyw@}h`@x4lfB62t@ArAkIyJ@ayIdN|
zy;I@ZA?c(CoO_d#D%Wwyp)7xFbG!N1&Ew-lPrcE=XhO!bZ)H4<74ca5fuV3750`VW
z2ex2a%z`qM)e49~r<3)Mjoql$>llfbF;}YNiBd3IsN#M8Cmsa9<Ly=%R&f)Qq3mDI
z=7|ZXFCNDuAqIypiV;D=OEHWW!WTSWjAA;v4!4wnT&tmHc-Zt`&aeG`l&e*IO{Y<)
zRB+YdxT!gxUjhtb17|<iaAvN8_IEN)y(!_Or-0U(Ja_hpA|k02!pS6ZJ3BDiY`vN@
z6%6IT3+x*eSTny1?xePP0cBkC^VpVUEU&I2tDKiCmRpQG$Vc7aioXbJU;}rB3@i(4
zxcxDWf!QQ?e&zLIDUm=x`A6%e5-#-h^)vDyA9VwJD9b&GPmu^eKLmr^c}5VhRxENh
zm3zC<IKaq*eAEr7z!!^QL6YEKS%Ehc;sumB*WK+o*3n^B(YLi-X5>LW%^Q#>K^xFX
z1(dmHG7U1uPBfuo<Uv0BZ9oO;2CDPvt}eD~$b)=Tw}Vif6<Djm@TY)0n!Wx7Wpynr
pj5wm#YaK@wj_+|h2p!uqzW~=5lpGY8%FqA+002ovPDHLkV1oDV6}bQa

diff --git a/interface/web/themes/default-304/icons/x16/tables_arrow.png b/interface/web/themes/default-304/icons/x16/tables_arrow.png
deleted file mode 100644
index c364e6956e5e08b2bb484126fe7d1fa6f425c302..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 684
zcmV;d0#p5oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007WNkl<ZILnog
zTS${(9LB$!you~^m0blzbTMxv(2FiAqMMQwB8*mAkg0h<iisI*h?47U7APLeT-$14
zgcOytIoalpZ4SrO9cWE-sMB_^P3F`0|6(ghXua^`<%Q>c-v94qgfba(Qz}itp7U8s
z(<GlRa5M}IB)N<<7iGE2BDtJ<UC`T0lqJ^J@pvYRM^h0zaD;Hz{v9pWAezlfXf!N9
zG#&tDD4QxEZb&3dO?!KJJdr@#bOa;e1n#p1!z*!o4E{iqX%X)iA`t54K^e;a<t*sy
zlW3-=aa-$vSTl(>tsOl&E4sB`&^bPdmy@%Q+x>{Ht)Z;7wc@{=-{|#-#N(Loda)9V
zp+qdcl5#$31P<xead2!6xg#;;e25}@D2)AsE7<!g$T<({bg+3mu)5t?T3tnvNK~0}
zrh=9wa0QKXF$n#?3hF(}TmfaIqoY`kMqzfj5McL{b#+w?d5}+Xf?|CLLc<)cYyGHG
z`*8KM7q!D~&beQygmGpD2KJ9;!(kk&uC8IogM5+`G+F|jC!w<0xc!sK#5tEMrcm-a
z0Eul8^XxgNsHm195AsP)Km{6y18Tb+dZ!agi-jwoOx`_Hu)_}=xMTjd?~+)$jmP6N
z<Uu}vPC%XnP0;Yxi{nqMIMwaM_6z;~vkDg;eg(3dOxE4!T1y%7AfJsUpn?+$A6mS?
z#R=fF<u})yz@B=wks%NA@r6PgQuW-5!_6ujxuwR|;%C0xr!Ewlft?jY#;nSBe1<%B
z<mCy{A@fX+ho=Iz@Lw1+&&&912}5f$OBTznf00qp(Y2|d)0k1%#b-+xD)<S?)V}9h
SyD57B0000<MNUMnLSTY8Btn${

diff --git a/interface/web/themes/default-304/icons/x16/tables_exclamation.png b/interface/web/themes/default-304/icons/x16/tables_exclamation.png
deleted file mode 100644
index faad227f26ce96cd0f555d49ac222b112402bb02..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 712
zcmV;(0yq7MP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007yNkl<ZILnof
zTS${}7{>p*4oSL+qN^y7up0|B?7|}QN}`LwE`q$Oby7ssENM%WTt(&K!aO4>I=xUx
zG4q(Zqs}(xj?Rsi=7vt^4z}5R`ra=#BE7H=e*AgieV_07F-dnfd)C#JfSYqT?i`XF
zI^cQQ(Glk^4*Ah8e=L>D`M(#pwi4pl-X7|f!l<!@@YWo_YvVSm^qZ*E`B1K1hg9ta
z?a*!_fGF$iWcl^=_oA^FYV9G62V;1{1&sQm_`LZO6>}RHS`R^@@_=?|cb{`{TU)2X
zZpTZd88U?lwMrveRC+WkzoJoXLXT+`a^niZySorqSKt3H=YEX_p=cBfE*Jcf2y$hz
z2MOnEvp|+=50|HRkv<+l+He@>2ZBiH^W#kKChy#*Qo-PKLchEW-_8z1Qt88lGX+%n
zzz3ACMIc%E6Hw~h;se%P&6pUv0=J_9I)?+^a2PjAN**!tAfI@H+nN9*+BG~;uApSf
zjlu~R3Pvng(&fVEZO7b{5L%lNtHB_y=jG)y@*tmhgYtPV?@3G=4E#GW^A2uH5q^bw
z;4&A$wk(H-yGav?3K)5iPrLyID9mO|8I90btr*kI;>)L-*!I*wC=|lul<YKBAJrbu
zOn;o5ntF?o2l@QnV2hgxYT*7hi1}#|{NKyK7{d>X7&HB+brppI5jQ6>@*tms8cZ7W
z7#$G8X%fS{kd1+lMOe^hL9fnSANe4tA8r>27<rJ7I}q51#W@1aST<bNt8gq{;2Y5E
zSiFeI-X!H<i{KI?k7F4b#RnmKo~$uUpACBK=isrWAhc1+zl2qJ%G3W|(8PtZBOE6<
uPX0?{C2QcAjnndisoP{s5vTnXtNRVo^Ty5gy_#PD0000<MNUMnLSTY5o>IX8

diff --git a/interface/web/themes/default-304/icons/x16/tables_minus.png b/interface/web/themes/default-304/icons/x16/tables_minus.png
deleted file mode 100644
index d166635372033dbe7963cfe364900df9a76d9cdf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 620
zcmV-y0+aoTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006rNkl<ZILnog
zU1(Ba7{}k+(Sqo%uDfWkF6K?UDCi=(8^Nw5Vs#;HeQk_D`xq&*U`9073LJen7!zk+
z*u@~Kx!S_x{FrG6W$9E9$0kc>ex;)S&hyrh(MH${KVDw=KmYUm4%5!fvHKQF6Y1R}
zaiv9iXn=EXc2=ezEgs79VV%{=zpgf!h=F>efv3?Do_s4}Je<cP@dw5NSv*+HK=0Xx
zZY2%MP_|h>jF`=A$Y{J;t=BObDPplu$788rAy>uw>`#pPzT@q75n9(4C_~vj&g$uD
zvojLGLm>=<GlWS&#4A?-FNH67z7oRg&<3nx3Z+^N0}~V1{>%A|+l^wiim!<Ta+L}$
z8w}T*&S$;A8CL_RKG$$^u>!@r5>Ct)aNM55F<X{9+g&aM<8cIHF=WbRD0R9UO=l_?
z%YYZ?H!IMleiz({@9+Z3SeBNsQz~I~eI04(KCjW-WaL3U@&=dOd1yVGxGSWfSx(~C
z#{`BKV%&Mg;ea<9g-7~F8-)VS4Gs=5@*p311HC`ZJ&8}jAiqEOeB9Y42uSAhoGt0C
zP%4KRd61910TnpIVJwRx+-qxa`2D<qGN)B4`{C|xwalT;&WnsZ$Y=Kk<Vny5blZD-
zG2hjN7wzq-8O8!KBaE3Cd63V38&CmlVCv{Vxvy^zM#j91Jjh3O+Yg&cg=Y!{Znw21
zb<&W`C}UHMJa&8i3(8(#jA{NLmGE;w;)ul27C6ZMD)<E>n4puaav4?t0000<MNUMn
GLSTZa!5+K-

diff --git a/interface/web/themes/default-304/icons/x16/tables_pencil.png b/interface/web/themes/default-304/icons/x16/tables_pencil.png
deleted file mode 100644
index f2c107c52ce96f5af1184f892b307b72219ce5a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 693
zcmV;m0!safP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007fNkl<ZILnof
zT}YE*7=~Z*AR;vJsDkjI4n*|C0~0jxK&-%@>S%$G2T|IOVufOpHmqP1Nz}4|nSyD$
zL@Wzp(=D~!oc}f)Q`uIc=rDiUUz^Ok?|Exqp&r-+7cU<?&;8vOlXY~k`|a%_!grRy
z)qRph2OMc@Ylv&u=g=-cmaEnL?<Gx5M1F948&BrFsGaqo+Tuc$`3DqJ>v%N2hKi9@
z$cLSv9oiKGi1M~JR-{rD1cE`-&3T}A2k}@4=-UiHyZ#do$G+pkss}RT3TTIRcR80d
zH@6MV&7sm@fpTaDbp|tD7^l!^m_)<y3|`MHL2X`ycWVpzH8t1&%lVDT1WzD<FAfJb
z{eI*rl{ZA^^id$qxQ*0LTR5fnBT?f;!h1JjyEk#NbDcYP8;zK@+c9OcVa?}*L@vK6
zI#YmR4LqP?*$>&`?|?G<1`nW}_JILxc)ghH>cY3297waXYZ-ZvPpH9VlMAwuW!y6?
zqI7TpcRo5$+-Kv?Ejk^vLW@>~0+7q`GBR?Wkq7yN8dOX;xhK&-J<Z?Vu`%x4)mx92
z&QAD*`cI`&TuMq(G4ddvPy-4WvRE)^Hp67KLN_tN1MFWlsINM*;#(@i@whlmbV5RP
zRD66c%PB3r<rKXBZ9tv`HK12J@ErX;=Rn8RWnrH)Qo_$O#*PU@u#CdOq9wO`&ju9G
zH`s`GuTJyh%JRdr%G)gcOiDNtCs86PUJ?8jT&`VM9pliyJ<E^PjcK@$m-I}M7t4|}
z;{FDZM|5&>$zBxXMr+}=;=$d6^Ql=U8fZ5nCWa9QqN2o%Ljp(tIPC;iGQ)Z<riEpS
b&O7E8I4+oAyQ){X00000NkvXXu0mjfKHWm+

diff --git a/interface/web/themes/default-304/icons/x16/tables_plus.png b/interface/web/themes/default-304/icons/x16/tables_plus.png
deleted file mode 100644
index 56d6bd5ac0a206f456de359375ec7f2c26bbbf51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 667
zcmV;M0%ZM(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007FNkl<ZILnog
zTS${(7{^}(tticci0q=9h#*VwqP$2@kgk#-2o@bL!nAo{gc}_<R?!w#m_=#_tx$9Y
zEhw;qS}NO|n>HI8rf#D((`B1$2is)+`<^#80*ma09}h1)@BjP%J|=H(XXo46k_h)=
zfs#d1Ob<9`T3Qku$085y^2Z8|hJRh!)I^lV=jU;AEP@*!!?<n_qQ?3iDvKYN27OQt
zOheJ{1?|voGJrVS+RCcx>&s&CIO;~j=nlnkO$g`=#PHhx0~gKT&@ml`+%N^&q1^?}
z(&pw?-RLN;=<QJJY^c*)ao=FUJ^g#!>9^srZ2}sr2a&lsl-Aas_%G*YMkB(p7(TdM
z2t=bes#c4W&P67mz%Y-UeRJ5+9YyY|2)4cmVY4=XjZggCS!*z0*y)7D;ec;;79xeB
zJn2jUDj#@&axx0J=U2cf=L`>^owlAH%tRs>93O{Qn0sWh3Pv8}lW1_n7=(Oa5~uYZ
z$a>v4`PKzVr-M5`>gs}NYzza!Kbi=Iu&c7NijfETBpN7(yxfy`H$2Se8?%`^7d=0K
zZ5@T!-zUbDaL*NqB#b=BC((ccbap#>tyUOEM$k1h!~<w&S>p!(F<&)O>eqf=otG!g
z%+5Z@$b)=-Z$O>|HK4g$dk8sC3$XO|de6SEC18!KES&1}CPp6Q^QQ(BKn*rM*p9+4
zdl$fNWttdykdHeU{40lFmLun3K2k5Qac6(Z2dl|2ajs@GF!CUu#gKAtr8CR91?<8K
z6H}!#A%xLcF0f7@>z|0z?y|B}6RSvTV3H*~;3xMUr-8vj+_(S$002ovPDHLkV1gcb
BFxCJ7

diff --git a/interface/web/themes/default-304/icons/x16/tables_stacks.png b/interface/web/themes/default-304/icons/x16/tables_stacks.png
deleted file mode 100644
index a7e9e871655705422889ec073bc36414296f80fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmV<G0Tup<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00058Nkl<ZI8U9A
zJ4ixd7>56?Ap&WuxuL<98ggi8h_-4q2x{tH5<${cE24}Rp&?pq@IXaF1TIp?%C2^i
zt|mwYQJ8}%nxdj_=R0-im{H;fFCRag^E}_nbSo=tY<Zc<cAb#cEK?`{QOq#MwIR!)
zZ!^pz9A|cTJeWJW!|b68hW%Si+ix(nbA`$6D~$6O(A!){rcxL%nc8zQk6O<WPbQ&R
zSm?;fJkK8^l1QN4Xza|%yt=!KU@V3fgQ1I252Dtb0@X(;RP7~DX^WxU8bO&QjMDWW
zO4i=e%pA|dAB{q-*LO4OK~w_F_#px&yfNsWKLLXe0TCcKFIlbdMIva>YI_*<AgXjh
zvm*rEi5EkM&(PYR(7*kNzODN-^P<Iqmv9)hy}cSnJ%}n@FyZv!Jsuacb9pK5&9k#K
zvsnPW3h#2Yx{py0qDmJK;K1dA{rVaXw;R0EDFWo?ipIu`LX~Pjp;R_8>OoZb1p(nr
zp$ljeKyFsn*XtQ$#X<@g^&skR7Z5<Y;HNoHp<v=r528MWLVqU1EDh0!noZKovdI@x
g#6HRY<=gx<A0zmr`#oH>ZU6uP07*qoM6N<$f)@7Npa1{>

diff --git a/interface/web/themes/default-304/icons/x16/tag.png b/interface/web/themes/default-304/icons/x16/tag.png
deleted file mode 100644
index dcc294569b1d019f79614ff7e2d9792cc62c8382..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmV-a0;~OrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006TNkl<ZILn2S
zPe{{Y7{{NA5W}!UV;wYc{eDwYgdqcod65l<e<%+X=t51}()|)~k`vS&)Ps6ZK?N^6
zco4h@T|Ig#uO1{y5s}=SbJNYOHhTL$Ym@!fvIjoAyzle8pY8i@L>cu^tEE;&A;;1Z
z4XmutkjF!=)m0i@TO;@S`eX1mi<acY2j%5t?&+cKnHjRp&*u_I!1hZBk%o)U$k^Ua
zFUQBpIyw0-fdp&`T==}RBRm@$$(1F1PS0Jg>jV<8$1(gPkr12P+v4Na7V*jg?p-I4
zfc+;1!?Bo%#^d7K@v-={yDRp*-lTy0xdn@h5+v_p7z$oqit}jnO2XfS<8WVDUY7nA
z%+1M=^hPn{4~In{5>ZJw4)^T~3;ZFZ5_C;Z%aHU%Fysw|gzw@)CE+;Se=|EPr=wm8
zIwmG$NczGUIyyTO--AJwgyV4k_0*J{`Bq86i?J~o6301)4o*+SVIZKAa2)Qxa=Yd1
z$EIh)!#YTm5Qg?nPQ<?7uaa;a?zfGM=rZ4`&SLrV_iY*+d>_Qn7yL9|eLj_h<8Z&(
z>C~m8);2bhs?3U_GdUdn*%FS!=iG;cs*Fa;Sz3dE>N`6t4OZ(wTEcO7&*$9#U)=)t
zN~)_H9+^x|mhf6qQ}Yz(#o#_D1O?y@$OE@i_ij*XQwH>T8jYnuum6D6jQtZJg9=az
iG@uCF1^KCaH-7_7v-a7{gCijT0000<MNUMnLSTZO&mRQ<

diff --git a/interface/web/themes/default-304/icons/x16/tag__arrow.png b/interface/web/themes/default-304/icons/x16/tag__arrow.png
deleted file mode 100644
index 9d88ddaeadc291b97c0c14497edf193e55fc583a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 690
zcmV;j0!{siP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007cNkl<ZILm#L
zT}YF06vj`cgs4=Iur4ad_O58F*oE4M>p~_}Nb_c0Y^E7B)2$MX9Mtr}VW`CXMk$6^
z34;*&rmjM|C|@;d7Zy$XKy*6i)Xl9NozAgly=K1faQL6+`TzDl8w2?3iAzj`%z^?i
zx3xi8XD3{CI>FlA4cB^lpxWiyMLM@axyzULXJ<oEeLa{O8&?C!Nv0o&7!yCdgFRVU
zaH^^b^6mEj0pui8lrFq>yV2R(yEGZXd&sj|*8<2%#fudF7LDTb{(ijQ*9SZqz}{K_
zIjQ(N1%r_Yh8GvnGckd$hKF&)>s<n{zdE3`RZfue5efws7H}>cUWV|Sa2@t7?d|e^
z0S<>ikdiQke8C|4Lm>%->#$$k)WjbG62O_dI)NaiAqshCXK`|VUIO7d?4NCD5MouA
z0mhmdfgq(p3XRRo;CLV)fp8u6^$kuz*YXT>%}*is#=~C#z0D>N#5_l#&(qWR)$f-;
zxDNZ;)`7=IZ%v4ro8!jJmQmPO`xZb~S*ak1WtKuCQ&TwV^GP6FhyCNWMg?6GJH`-s
zW;Bl&mjEZq%P#~d^nrewkCT%U2-nG|e(>@@?U0+oVp4%iG~Dx`;|n66RrWVV$gx-y
zTC@4$N(k5Cz2^3)@A@bD^4=lphyJMIJz|=*PlUAebU0X8xH~;RzbppfI(+8+R`Zh%
zS;-@j#cz<&<-xo`L_U*e<p0rn(xz0UQnN#=tzZbxRF&#5?YEFNlQxo)Qw(<ol`jxe
z40i{Tv{z5lZXE*>NZU#34KmrWWVQMV%^W)KB?+XRq-`Ww{E_mmgp-{^@rN!I{k|9X
Y6SxpP#XzCRVgLXD07*qoM6N<$f;2NocK`qY

diff --git a/interface/web/themes/default-304/icons/x16/tag__exclamation.png b/interface/web/themes/default-304/icons/x16/tag__exclamation.png
deleted file mode 100644
index 4b0b38afe9ee9264cf983cd729e0ed367d992cd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 747
zcmV<H0u=p;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008ANkl<ZILm#L
zT}YE*6oAiXMF|ykA$TEmVVhP;uwo=)L^7p9s9<%|&@6K0R*6~;^5?>zP%l*cspTB0
zV5n)@A7oIWICT<=TK>(n6#eF$+uWSx@O0jRqnY`_!{L3;InVbVzV8G0Yx(&4!pYcJ
zP?VQLl3ER^S}mw*Y9PI?4zlX&4-q#v5aVe+78wcg1qF~$T)de;KqRao;yP@xGdLU(
z0ar3JL6(#AKY@Tqa8X0g;2>(7o86H~*g0HOskRab2>B`%|8lvoO|Qq+_I6;A30Q6`
zfq;<zrb7G53OZL;(J(iM-NVB;!Sikb%Wp0yD-)39)(RC_mY31ybb2K0CTtv*S5{OA
z{uLAz2}yF>Nkt~R9nB7hmxPVO^74`r_7LzAT+7cFk|fbVMZDFD#-$~X<cC3xW4%(W
z&_>r>FDw+UkLnRz&CV8*B+*XIGmDEjYq5AF^EMM2`r^^dYiu1Ydz<vF+%5tbZo%b@
z3?WGrHfo+)SiqlVvzLUQdxd?Sm!@2f1{~K*db(b6F}h|B7;qsiEr=vaD>YBd&*OKK
z$xGr`b75n3fX+OV?~qERXqnEkbiVM>bTn|=34rs-$#*Q&JW8)-+-UTYuyO9^oh#M1
zi3hCH50O4toE?^9@4G<Vr{`Sc$2t;3DV0GIh2ri;2^%L$nRu_Ea(~n0SDESCKs3I2
zor(kfr?I~~-1MQAd;Gqd;~-EhhOoG}V6jY=v@T)euzhm6D7L-HPd7Po1`R{U-8W#-
zFmwVxH}28Bt>VJif3%I*=NA%k>YzlD!XzyEg@%SVmT}KUx&n>-*b(GMgVC{|a!1C9
zE`V=&!c{WC4&neI+Uf6qcDG3MfMOKwkEYy!T6H#jd71;gmARnT<U)@o54x-JpiBD*
dbSgQN{s9VuR{He^Mc)7b002ovPDHLkV1nMtVx9m1

diff --git a/interface/web/themes/default-304/icons/x16/tag__minus.png b/interface/web/themes/default-304/icons/x16/tag__minus.png
deleted file mode 100644
index 5df09a80d91c7df986163db21de85ee301b0a8dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmV-z0+RiSP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006sNkl<ZILm#K
zUr1A77>D1CkcH775(d(e);TLuf(4@pyO9Yog1V`|HqAj>c~*%<+eNyI>BSUMVQSv&
zLTIoXp_?wc^s4OA3lTFyA~)yUbn~n>`ue?V8=aGR;NjzY-{1Fq=j9xtzn(gSfi8D-
zkuo_+eKRxkJQ}6I>@2;E#V8n$p9K$e+^8MC*xpV(BO~M)AKyzL0naZXL=}FxM(5kw
z=+59EIfsV+Cy;=rgaaQJ7e#b#uDr5@>vSs+*iRq<ZxP`irIL8Rupr*f&l9gK;NE@$
z33z`Zm@5>7S}cms>+9mf(vnzBB+3Hr?=6T#BuE|>5X$WCifvV`N%&289Paz3rlfxb
zV`DNTk5q(GxtvJn^BM_{!+r0>1YbfL!ToSphNL%-P$HWZ$(<dIgva5&dvsK;j#?Ak
z3x#AzdUFVU+u9P}GZ~G9$Kk$fc$hCCzoJms;rJuCJuo0cqHH7db#qg!rPCS-kHh`D
z!Jz!q?WSq7nd10&V*CT$^!qK4__7GCZfuAzsgy>-<8a^G*=dP1H<u4qDGMC^{f{#U
zE#uRyB$FBmkHh^}Ceu5FKk0cx^qM++K8syZp6De!4%fLqjj-x+2|ZjVv&}|Vy1UQW
zoX)<ggva4M*Dp0SQ3y8$5!S<Xp5h=l*4WZ=?X=zgj3vA_wzghH{UkUJj)Deo7}SG9
zm2(HEvM~W`z0r8R!D@YhwFCPLKn7>PDPROAz!6}moU8i{R96hnf&+mS00000NkvXX
Hu0mjfk<K8K

diff --git a/interface/web/themes/default-304/icons/x16/tag__pencil.png b/interface/web/themes/default-304/icons/x16/tag__pencil.png
deleted file mode 100644
index 94921f6e5e4189ae5d50359062245429d8e53c8d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 714
zcmV;*0yX`KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007!Nkl<ZILn2T
zZAepL6vxjkLJPyPBoQiDZY$IR3sJ&l*=Ej+jIH|MLJgYbmY9l8ao!Iqq#`Kfz+MIo
z682?QM35nv5SX6=Kd6-vQaN9zOlLVdopad@t`t4+<Ka2yJimMY+zs9eLiUs(_#P%F
zXPV7s81M)ZF82kfal66c@jzo=ABbLW5^-Y_1@Kf5hENo-A|s>GWHKfFL!c(CzYtM|
z7uUcIU@#;mc7{SBG#ZVzSC55Ln*?gY8m0^H#>UX?^GQ2PxDF2hATBQMs7j@341IH8
zze{+*l88V}lx@)Pk8l_VMo014@G$Vs0`5tI*w|PoI1_#Po>Lf<CB2XIMU}n1Wj|>!
zxW0~|jSc)XGlL`J<2dE_O9Jly5#(n_!`(Y@R+c<*?HlvYyurZQ8m>@0S;B9^acn(3
zH|;K$8fvq$;COB>m`V*$<1|2ns4M9d_e`*4==nLEo_?>8a2#t_*R8VdZZ$~&3LOr(
z($oZ&mKG>!Ytxjrx0g?Tc#YosI(qjB9PDqv#nn|w!g08Ny`w`z5>N<=nwvEwDG$=n
z*QF&K8GVV}Erm!4aXuKtb*gj!T5Bsm1QdeHPN#+>wiO!svao>Di;I%vdmw=R<z);}
zo%>fsksksI!Ns~dElKRlG&D6gho9%?6_Qn|bN^C(y;hFOf)japAg%nWs@nk?nxs$j
zaduWA;W*qsUtO)0qaMr20mU-d?OMIfR<T*aak$QXlE4xAT7O-K($gWcxcG3o#ZoCt
zI1Zn=&i((bt;DYQloZ`Ty}p_yyvL`eo}~I-VmJTRh!|oA5k+i^+!G*jI6$ODB_!m<
wq@~r;ZlH5Ap&?Ynej<VYHpEV1d*t4h-<>z~ck@SKLjV8(07*qoM6N<$f@=jx`v3p{

diff --git a/interface/web/themes/default-304/icons/x16/tag__plus.png b/interface/web/themes/default-304/icons/x16/tag__plus.png
deleted file mode 100644
index 8014448ebc0dcc2bc425a3da2a30cda8105ad29f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 652
zcmV;70(1R|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00070Nkl<ZILm#J
zUr1AN6vt1-2w|AoMkA=8x_5<>aKtKNLdXUY!TSHwaAmlqTOlU7hcrrGbde6GY&3=#
zSiT57)I*Oxl`CI-kVvH>bbp+iZf>>F>740CcbONyoO{pr`}^Gc-2nc&%F4^(RAVF9
zhlZfd=Yx(w0Gy+v@NjGl9*vJ5AvKriLh<nNh6cFR-w)Qo!L0xS$@&`+3*w7+a7?d<
z>)qX8?(O{_Kp<Ijbl}6x3<f49@{=LFhl@_<b^w87%ToAfE{E@?rttOTB=BSad)om7
zlI<4-lbH;rvss*5TEh3Uvp63L<pJz(4e)pbg51eaD89aqtLbzR!e7F5*mn#M3;zNJ
z21J6iq$w0lCNY*uNg!N@eVg0OF98YQW?!F3kk%B1LWu;1*VZHuuETzl%Ow`776CVU
zdPIV>CMon|Wd#@GaS4R$uy1_UBG&m#aKe8XPWrBF0Iqd)i3G8)Qt0dQGJcQ6BoMB{
z{@y^{8+fG*lDzOz0pPC&Fm-mS3F1glXg(6bg=ka);X3T=pIFrJLJ_<j>p-3`vS$Nu
zzP<f!oI;=JulW)VOCVf_eT7@|mcl{S)krfI?%{d07mN;v+F-ZeD}`_!-m?#$%HY|>
zOIRx2!(p8cPFpNTb!Ky00m60onfF!o2LPT{c)?W>WNE(Xv2dT?)3uXSsnlrd4;l>j
z8NyRpTYHA~^h-e%X*Wp@kL92CEz}^*kDKRqFhEA4*MN4HN_9@I)jptUq~{uvNIFE?
mPf~$NHUc);G)@2Jxw1dA-x`#EIrIGh0000<MNUMnLSTYdx-wV*

diff --git a/interface/web/themes/default-304/icons/x16/tag_label.png b/interface/web/themes/default-304/icons/x16/tag_label.png
deleted file mode 100644
index c2dc2e037f928077b803eacdf653d1e7bdacac0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILn2S
zUr3Wt7>8etl7;;xVO>;^ecy_dV#G+oAY{U*pt`6oT3SJ_+zN4#6VhF%kV>fF1aC%o
zA!)Q~H^HuA7h%#xFxtpWC}PtVs2H1V_4a$$_AzbQfrrC6zxO;l@7YI`H;Q#SI$Bpp
zc8`aehKK2n*GsOE5xO@zO75|-ec<{kPHTq`)zr|{o*ruG?=K`!K*KL)&LKng=s<Nf
zU1)D7YiH-b1PW+K<G|}sh`l~vW)_L;(^;2mEr9}TDHJcK(;S$b<mbU4$t(iN))FYd
z_5+1W$s{LIDV~nScp?(vkF&EGf#ih+gM$hrH<Bm{&L#N7#7}+|U(QJ6Cen`Nj-est
zZ$V$53dzj`iUOY(`S6Q*4Y`T5Be`v0Kz@W)2(EN@tB^E)N0I+SoOeE)(FlB6U};D4
zYrVZ{u2oHNsiQ-Mq;UyFkKaXk!-KaP{;4=iJCa}S>QeLHDkC`G)}}&YUqsQP&=)Sc
z|3<?Xj<K{O`9-%|UH#Z}rlrLIiDLmp<KZZ8_JlQ_L}D!MNPe!h)sX*IM=X{<U*O5+
z=3Db9dXK-Rd_1c0bZU;J9m!8QorYYi^2M$gwGM~DY`5PQ$+PLNT=g=+{+Vwq?a035
zkYv8tf}`AIqN@7({U)omDR&cTN7k}0`Txc`u(hnB;`ko3*(nm4%PK36VSfkM2DX4w
zuo0Ai_1SYplwIrw#uB~WQff5b#axT^L7;-YU>DGX?O+qoWzQA=2K)-y%bsJ0ivR!s
M07*qoM6N<$g1s;;!2kdN

diff --git a/interface/web/themes/default-304/icons/x16/tag_small.png b/interface/web/themes/default-304/icons/x16/tag_small.png
deleted file mode 100644
index 69e01163b72e57d3a48088f904fde740389fc2e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 306
zcmV-20nPr2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002_Nkl<ZILl-B
z|NlP&C75Aw8Iai7$&fX9GDFeq*$h>S7c<naSfNtCa%CDEuUO$rv;mci7O4UaN&gF!
z`1c<IKzyPMD4aD*7idVvFQDL$KY#ukgohV_3;~G|G$3=*Bt4)ZS>J&IZ@+&1|M}-n
zupuCqfW+|{kkHYg4>TnE3y|~d<H!H6K7R%q0&)pRJgKWo4X*)V_4PR)fsFfa-u!>`
z?j6_=kV`<~5e*G$AQ$2_z_+wi-KV%X4`v9+B_KXf+yH0@13?3TiWwZz)75Q~lM6tG
zfM_7!03=Sd0YFU*(oRmA;<mP>K-w6@C)$8vkQd0o0N)A3R10=0i~s-t07*qoM6N<$
Ef@wf}lmGw#

diff --git a/interface/web/themes/default-304/icons/x16/tags.png b/interface/web/themes/default-304/icons/x16/tags.png
deleted file mode 100644
index d06ba8bcc8ae628478fdee10c8bc84770990de8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmV-D0>b@?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00066Nkl<ZILl-B
z|NlP&C72<kriLM=rG+86r-vbH$`ppeS+f|*7c5|?Ub>W_e&tFPAWlQVzI7{BFf^=M
z1;#)=UISEtIQ<{c8W08n5Fez8paEs`=c@t@$@l}*^!xAM{|4dVMIb{e7A~wscM*mG
z1v6)=0u9Od1=R5M=g<E?{`>(O0y3a<-n^ygE<!ONbMj<Wpdpz*fRZ1+ef$6E#}BX}
zAeZFNn6d2nhYu(&0=W`yKvH+N9?+1iZ$ODxpFjV9`{fJR5RgkUCQe-b<o$aL7lB*~
zHXypWSs!Rf_7|YwQ=l!+KYj!o0&+=WSJ#S1@7`g!2;|c2sZ&)Mf~%|bfrjLM0t!BO
z^X5NDF~|^*OCp<^R^0=Np}Pp=(v;p_HBgu__>`37eE<sHdG+f5z1Oe7hJaiWR8_V5
zHjt0*B9KdCTU*s&fzIHXo2%}UlamiK1mqI0qM|jIo;<;D5y+*XwY6%nKsWXBVqgGj
zW&nn&hE8yB5y%kpxVZIa?%&675y+*!rKReiFw=8#Vn6|6T3QUkmX=xqW@cp?{{BJe
zE&}m^E;UfIvSPpnn1NUTh$Vqo3Pj79nc2Wx1fmtJt!;tgJV49^#Oy%K3f0HR0OiO5
zu@Mj(1F<0x>v2j;yMSE8t*Gb*<jVrF1P}`WF)t8vLiI5*P@0_q-Ka`I#>=Rc00000
LNkvXXu0mjfMuP$$

diff --git a/interface/web/themes/default-304/icons/x16/tags__arrow.png b/interface/web/themes/default-304/icons/x16/tags__arrow.png
deleted file mode 100644
index 8647dbf2ce6559b7c87fee71091935e6605abc9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 682
zcmV;b0#*HqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007UNkl<ZILoDw
zUr5tY6vr>tf*i&`2u%{CRx)gA!A$BYRu7W@W+<^`&7wASS!1)B_6Prvse_gioQ8AI
zY_npJ(R&y~uvDxb#6Pn!5!7_kC9`IybAI4bNA=K!FPC%fJ)isGG5}!z6LzMymMIz<
z*u~aXR&F-4>z$qKMo$l`vD?{Qr*l8%@`mKzaX8q$zCJEk{}mv_T=|L5P-sz2L;nO+
zTdhKbsKPk(V{HvGN=mc@xoNZA-f9#DxMr~k5u*Bz1K(CxAruaC5CZ7CyX{+zHUZRa
zZ9;^oLwM+4S%IZch=Y(xRYynfjNiY>h%6(3vX&MxLdsY0V0L*Kz6OIFgiKT>(^KE#
zVw4e?asYXKeL6xag4mqKS7rhM4nii%=4OX?VIj(hOe@;kg{-KiCLJM~C2UU3&jVd1
z2$`I%tLvM@-c}<ry<{{Vpg&`$b-Js5Y>v;)!sOf>2O$%g!SHMh>y1Va-Ui@Am*-24
zc|f0Mdd+f;{fwQ|Xbws%E34KaWRj!RJ|FS<qKu9``s}q#0~|Gb+*xgt3i16B#&DS7
zucoFI6=?~QRa)wDdpr>%y=xqbtz(ec_};rq>HH*rF#!*~066SE)HtkQw04U`EIvD1
zB#=m|Q}gp>8;xWyXP{{cpzI?+@zC$+MgjKS8gSG6HjDt1h}lDXvP5!x-6&aUewV0n
zjV7r3hxq56gITr-C>#VxD1Y@KzM$zG0eF~X%wfzCOeRLWGbu?*M*NhNQ&{iCB*e*|
z45z&Th?DmY#!3wruouJrv|{*t7Mqd5whIK2-j2e@7G6P@8+Qdyl*jdc0ej?CNZsUr
QBLDyZ07*qoM6N<$f`fNB$p8QV

diff --git a/interface/web/themes/default-304/icons/x16/tags__exclamation.png b/interface/web/themes/default-304/icons/x16/tags__exclamation.png
deleted file mode 100644
index 3d0e27f84832c73c8294ae59d2e479a5d455164c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 718
zcmV;<0x|uGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007&Nkl<ZILoDy
zYe<t(7=Yhd{Rjz!ASlZ}xsnlT84If)QHIb3LlcQ&kw(p1tD#nECAuHwg%A~{;T4zj
zQb`m+1o=ZWMIs&IWlo1qWS`Dm++^15?R~#cQn7w?;Nfu2`Ofn_e0+e2@IS!i++4V(
z(LhphF{G52!@a61xL;QXIXWFYX>JZCZvDZ<$9g^FwX}%P`mX{har-B|hT*|$zVuH)
zR&A}6BuXD$`mwx>;Ry+9mOQAhf3&`6gWzsurIaMf?{vYlw1i%tPn57Av!+J3zG#gg
zxvWe|l4LI(Iu;kv<@JgZE>UT<FJ~N%HAP&xDo89U3MEO(A{__|3utq@MG2QEOG}$9
zcKe1RE)@k=3kt$WlIo_-X?n|y(<w^0<VInkesX>uC&#LAq&F6)Ctip}T$)-@A%(b{
zoG_B4yJ*uqH;4Q%OSt4petye1?OC0(INYZ|kG%;^-x4w9xkh!fq~rj9Gq{kEamPUq
zj|l>f&(4YxE{V;~ZZ*=HW#gu1oE*+TpQjc3yDpg<>%)^OYNDaC;XJ_E^z?&KX=$nz
z374ExtJ?-FmfuA-fi5Y~C6r-&d_3Bx@|<0-{Hi-!C0hvqx(xJHLk`8osabMNp?K3b
zF|k@SWPFXIUz5;j$)*1maAsJEeINFBcjzT&J~xqo$1a%+c1A|Z0_5_nkeHa*l_I0n
ziUU2#Xf#}R4;iBI{ku#w^q<21o)dGQ8YS9~4HD6?g$N*a6MJ|LlFLtW(Uj1QZ*}|3
z=8@BA8jKJNcs30l#g4WeU$h#@aTaVNf`}tT1aX)M-5wYi^)xS_*U%a4vKnP*9SuQ`
z?V&g`Bi(z2cCDluHXDBa{?Jea<#o@XYcu%#7k#2*wky7rKmY&$07*qoM6N<$g7@}C
AZU6uP

diff --git a/interface/web/themes/default-304/icons/x16/tags__minus.png b/interface/web/themes/default-304/icons/x16/tags__minus.png
deleted file mode 100644
index c9692628e973a66c8c514593ed0d4c95abd286cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 595
zcmV-Z0<8UsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006SNkl<ZILoDz
z-Ahwp9LIl{UdRlFLR6A4@GKdjy}(51(z+Om-~y5KK$dHpE_0}bvlL%0e1pUnwp~mG
zr*j2Ce?(VW5Zx6TV<Ak_scX%gJ$-)%C+-aD!UG=;&vVZ2^L#jPNC-h^f$sJ6P{ZIL
zJscY&`_vS*d%g5*ZjM}jKlLsz7X!;Fs$T{I)E5jYVEs>l1RnpvF$`b4=Ar)zx@Ko3
zNUTW=9UdKt>veTbmOP)If1xhQ5IpsGBuK2kG4S)?KqQh$MZ$tkpU<x@N)y;7CnZR1
z2|SF(<6<w7P$XQ^=5{Y`M5Ad%TzMjB8XYZ##2&|k$o{_g5sN7jF0oEbEQNP=GK#oV
z5!@dbD1)RWhRyFdWn*_&k#Na_k&!@Xdpo0uOIxO=B{I8QWso@bu=#CkOYqAq;gb6P
z{@@z+)J0tSXnb7H-;Am{I-W$a`85&|Ynz*jgiC6>yI+67T3y7YjYC8FPMeK}O(vo{
z4#(BX*4DO^giB0L=bKOAa7GcA+GSZkqtj84h?W3hnDA9gu9?kFmXyo#+m-e8w4(PG
zi}2;;g%+~2KVxVm#Uhc19dyB9pn{4DgVt#5DygZdRTsU|XhOeaS*USC!t>{V7F+_C
z`Ceo+-cA+qy;-Y$*Gu#fd^l#c4>S>ZS&##Yz)f%q+yJGyg@u(|q|xc_VtoZ%1o_}R
h$UUCRqO<<ae*w*4Uhmcp#L@r&002ovPDHLkV1j0&5Jdn0

diff --git a/interface/web/themes/default-304/icons/x16/tags__pencil.png b/interface/web/themes/default-304/icons/x16/tags__pencil.png
deleted file mode 100644
index 20c2bc59b61230b4727a7115ae8be2b1489244ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZI8UXJ
zYe-XJ7=YhXMA-#pLKh`zqElu}D_UO4)i9$&BDszIXbIiSyd(`RFPkmYUuq#Z8e*n~
z*8-F1Pf3tLzk;G0sG(siW13D~+pO8w`<^y&+s_U>9Nw4nJ?G(rmmGI^oZ|-WBqXG0
zG#Yq%kAs%ZlTg*w1=sufz|`Nr0?pOEy?!$ca@=!fGO?26WTRTGjtLONAbG3E3KHA}
z$jpq0xao4a7|-)XPdYh;R}hO_{KFU{=%IOal^|#Z0Fg)}i;j*qy1rGghqt-Mt?kEj
z*V^0jJ$UH%@-j=(YV{;3@8~cF772pT&``)yZa8AD=AMzH$Fl96?fWqMxwORG9*-a)
zL0MZ{S6~s8r>BFQ=RuptgW-na%q>&+2uX$?9cR|bAwfbVB^FEfl-=%EM3ta67(iEB
z3uo)=W#<|i3P#6<SbwX6`6RP5qb$FvsmD4u7gThmrRAUCR837HN(vpg{EB~h{bo>*
zFvke1u1J1AIXlbjPA6M%yH|<|nwu{bn$5AGs;WvvN$~<MKhMlC`j{jiKE7ZVbmA{~
zMa;Ii$bL8+g5(!|N2TW*8zm?KI8j=9*^bLkHX9qCo)#ojl2ciEe+*}mP0h~>5;yLt
z^mJXF1SKE{jusckWfT>a_#{-q>-7)bTCILXPTW(e#%Pq#osnQaUOwPqz*~*qty1Yp
zav(Q%;MK%LP!W}8m6gTOoyn9+@O!pOr4XKyA`O$vuf}I*=L8nfjHOAE)Kve2-e)Zm
zhU`Eh=p7}OAM_Q`dskZ8A>409HX`ehb>4Fv322By_9FX`J%}tMGBSgTHi^ZVIPXNZ
lBO+uA65>6#2Jk2U#b0!CC^}bm$GHFi002ovPDHLkV1i0pLNNdU

diff --git a/interface/web/themes/default-304/icons/x16/tags__plus.png b/interface/web/themes/default-304/icons/x16/tags__plus.png
deleted file mode 100644
index fa7b68516c5b58a2745a346bcaf19e575e4a0b56..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 641
zcmV-{0)G98P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006=Nkl<ZILoDw
z-%C?r7=T|iYc`RChU8WYp;NL%m(@b3i@>^w!q^IlLdb?~(`Bw{;q2G+%FT<R1J5wG
zL9@AnpueHJmPK?|xEhPWW^?Kqvu0oKd(d(l)kPmXe0<+I?{gjwFvj42fb&B`aCu||
zt~wlGoS1+<w;OJGy<qkG;oj`*UZiUiXYU3Aa6cFn!Si1QJaX*^eukh$XBzsaV8G+y
zQKHY`(D$`9rfP3DljOF~cc-wZNN__Cc$DbB;lS6`RhG@=L<tG{r>FgeMR@|l_&ARe
zLlz&VG8wj<&59B#>7AUMiKS9`MO67q&}p|fqQscN2l15^_9dMbB~+q!Iv+<D7mJFh
zR1{nq9&SQOcN#B0<5yx!OQM8Iu8fWbBFSV?5tVkkTs&y4)+UsgmhtlA!UCh0NkSzT
zZMNV%-W3*6scvj+AN?~pW3gOM;pK;ToXsZ^qJ&B`gM&}r<9TzD?&VEZKC|bO+;iC9
z>^=ua1TDZxlWBizPfzcLgi21E%}?J(qeVp$uOgyL_A_|2BLu!`fQMB8I1Kn#>l?IM
zGf9qibUX`%!+AxWFZ!57*cB<As(E)I(Zz5uBr;Vc0IeFO5~^ETl$=^UP~X<3DJ<IN
ztc{$AX;>lP;zBfEif~9RBBNcQRv+6aqFrK<JqLT`Yh<n=a-4yq@|B2D>Lx)MqClFF
zL&!m-v0N^1r6Orv-6=fpMs~u3iZ`<G0S2~;x%Igc_|qzpN@2T71zR}o_oZp80EV)V
bxUa9D8AUol=MQI}00000NkvXXu0mjfZ|)_b

diff --git a/interface/web/themes/default-304/icons/x16/tags_label.png b/interface/web/themes/default-304/icons/x16/tags_label.png
deleted file mode 100644
index f9a02448ced12c8615c7589db32cf2afbd4f8a85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006UNkl<ZILl-B
z|NlP&C72<kriLM=rG+86r-vbH$`ppeS+f|*7c5|?Ub>W_e&tFPAWlQVzI7{BFf^=M
z1;#)=UISEtIQ<{c8W08n5Fez8paEs`=c@t@$@l}*^!xAM{|4dVMIb{e7A~wscM*mG
z1v6)=0u9Od1=KM2@t^-c{`>(O0y3a<-n^ygE<!ONbMj<Wpdpz*fRah4KL0n}`}zOW
z+u#0!T#`Ry#<J%hKA^Y=<Vv^!N!{IgKtr;=0VTXPJ^C*`|K5N9?N9%MT#_+y;_@f&
z-($E4<WjH!(ap{JKtr;>00pg=T>H=5eeS>QvK#+FE=la_TJh-JI}8_rT$(*~swzWp
zb+tawklar|LC00M|8q^c{NH}X&Ho^mL^d_8y7%S{hKoQhP3i4b1BDrbPf1DM2cTfX
z>6iai*S`24wEM+>kV}H9s#f2A{TjnXAeY9rwyMDboxwFXSKTEiCm&=;_qC7zK`!ws
zDq3^t$rB70fm|9|TdM{ObW<-c1_q#J24JXa=mZBBfebN^i(7x@{(TG=fn4faTB;5T
zGd(9K1{5HsrNtm@X{jY(W>%)*?;nKjA`l<wQUf(BD+X+U8HfddSQ3b(K(w5hnGMWE
zAX>rN+7>9z1H@cF%nrn?P<@OHP>viB8v(H~5E}xq9;dXl3&=&>ii&PPzAO++0I?7d
j^8zs^R38%qrP&z(eON2chu=%z00000NkvXXu0mjfsKEwB

diff --git a/interface/web/themes/default-304/icons/x16/tick.png b/interface/web/themes/default-304/icons/x16/tick.png
deleted file mode 100644
index 3d89b351515619a1342026edff245f3dbbc903c2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 575
zcmV-F0>J%=P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00068Nkl<ZILl-B
z|NlP&C76LK1~5z)WMG&r#K15|2ttGSi-Z{%mWn{|G9X?d%D}KnR33=W0I>(dauEUs
z%mm{3LJ$lwOaQ29L)yFY|3LZ-5POhf02{+%k$Hy4oS#NM%=#byvfww6e}-5C7#S7_
zw<_!~z87#K@xS-gm|r|A<SsER6!t+kzypZSfN2naGCxc_Q+Soi4Y%{*|6I<7{uNlR
zcnxS#GSE<@FqkF?(sU;2Rq;O%4d#Okm?r4MF<0`k&NkcMYU|Da@hy<M1(dG_yAJ45
zgaMQI&%`{<{pE2X@_)p`%s(JL5a+T?6+W%J#pH+LCZqrS^X2aY#d;W~2rw~B6<`2i
zgaLhg9t^#FXZ&x*|5Vyz{NMgUzz+~#YLnJy=^Z-%`4`DO0rKZD^z(B74FGFq@a8}=
zpqGz<p@Y|hp`G`P@hRtT5{EVaYn-wCFMdelKmRJZS3vP~3|+heKm))UVE|!(J39kI
zDi;GoGq(pr6ZaYE1KMAN&MN=s+a~*-v6*K#Lo1IogDX1&IzSiz0}9Lx4B>1Z3`Oi`
zxR#5(U@YS}0_1Bl$T2Zs1IPw|Q~=$_AP>a448}}p4Dn277_^x}fqYFMRsv!vAO<E$
z1|A@017b#G0~moA<T+sIFo;7HOG4SeOuzt)HwIoH=7MTwMlpaA3;=&#h<!)>)?oku
N002ovPDHLkV1mp9^27iD

diff --git a/interface/web/themes/default-304/icons/x16/tick_circle.png b/interface/web/themes/default-304/icons/x16/tick_circle.png
deleted file mode 100644
index 26b2d5ad86831ec0c067d7f304112ed25548a5cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 630
zcmV-+0*U>JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006#Nkl<ZILoDt
zZ%7ki9LFDSmJ8k1-I}Wtvu&AyW<;?!A(>qn$VRiMl!ifXg7&ia1`%n{n_l=L$ZFuW
zCT`LnDN1kDi3_=vi<J!BiyiEJFYewQzn<TzJC{W-df;>S@cVr~--iGI`5)FlQ70jj
zdk9HTUbuLYbVVp}inKx8nBfjHn5E923If*YX7OmYR|&2Tt3%2yeUO6puEidup6)R7
zw}OB@?U94U>)Jr^1_Zwk*MPJBm9S<@9gs2mdjVe`=f(aX*R=Cr2jN`q$~N%yeYpx}
z^Ov=qv3(*sX2Ap(>CAL1XO=EO_d;+Rxu4%)^PK)X0Bvvm3OZ)NV>Z^a6jJ^3eXz-~
zcfHV-_QRx{gi@&l<#HLqZ*D@<({}L9oKVp*3&wX#^mYCCd%<|6WvUCfs1JmhP*ooJ
zcpup3UW4Xjr;d(U@W>&Z%3jdNS0^B!&qJY50AV%+Yo#?qewK@YGjR~uq}RZmI;^8(
z7Cf}aI_6HQT*_z2#bUAg^4v-W*c26CZz1hb(J>3gY!PR|tGF_UfSvYM<w~Uj>?<nF
z*Rm_>R?smE?ltn32M*DlY1g={57?L9b(#LzY%Puttr|0C7tt{b?lurI(h#T{wacvJ
z(YR$=GE0T!S{$GDYnD-)j9GNd0z9o2LN4wIFt@Fu^@&rlOD!r}@aPEMafUn07+FGU
z3hF3sN(bQ?fe6eUGQ>=gFtcEQcbwslkRz16=xi-uD2<dR3jYt>8(9Y3Uz2?Em4>2)
Q{{R3007*qoM6N<$f)({Fe*gdg

diff --git a/interface/web/themes/default-304/icons/x16/tick_circle_frame.png b/interface/web/themes/default-304/icons/x16/tick_circle_frame.png
deleted file mode 100644
index 92282dca54b60c527f860c2c08ac0ca53454775e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 786
zcmV+t1MU2YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008nNkl<ZILlp<
z-Aj{U7{(tG8RkiAs3nP}woznSiKAJQhD+0>dpB3$M-XLXNe4=xB1$196w%j-pe<*P
z(2+9nqbQwCO=~%wI>*#0DiU_qKXCQlkLE`Y{NU!kuHW;#2QSOb&1HJMo*4`VW;7aE
zUS3|9$z)QCTot*w1<h*8s6$<H$Yr}OkcgqWyu7?(Y;4T4v9W>m^>q%-qobpqva+%Y
z>QMLp3nYRd=*(tw3kgk=7Tg_qfYi^~9GYpjwzi7q=H?dalEW{^$;lzo#K5w&v;<+`
zIyB#nFfHCj{>nX0-a;`hjvIKkurQCt#zqS{<T9O37hYOgTD`oygq%<L$ePNBasC#v
zrwjK$=hDPA-tqZ-C@CqaCYNPqW@-ip2WOr;Uqd~71zDZ~q<z!x!To0%|IRtbWjq^t
z3A^1sLoU;5wT1Lqg+0Z{5MM|c$l#p*sKK$$6tw+pM<5Wu%E}6gdhXyvw~BXNt{)(m
zX*8Nrx7&?GTPn0J6MrSD;}j0I#v#2+*p_R*K8Dm1izr(H?>e1MkjvC+^?jGig_G}<
zX#Hh_$K%25>@3pz1uO;@x%_s*3R!zRq_$Wb>N?K54u=EeGL=eo!|k4g$yS88p0ix`
z`~BN5fAKjWwZ}r*zez-of_I08oFJDemCB6vcH3Ni-%}j@kbp3|d|Re}LfR*a!#hNF
zC{Wk?1ZJ~kj$D?UoP1ai4D}NeGdTZFi^zTjWWDj5a<3>&?hxJ=$2;TWlhEshdU9D(
zQW8r{Ow6pQd1RZKnuoGU4QX2>q}FIiXJR)QiRL@X+-^Urs~_6PA(ur&M6j5cm=L*K
zUQk(C+v)YLp`rH$bZ-neP$%QiOgpc471W_FIposWC$e86ksOi9WJM~~g;!Q<_k!R5
z8@r($Wz?ZAIa@9Z5|N3>Ma~2V2Wvt?LW)B}L#sp@wy2^VWz-Q-Y&k)H0oVWt`BL-V
Q761SM07*qoM6N<$f@@-RK>z>%

diff --git a/interface/web/themes/default-304/icons/x16/tick_shield.png b/interface/web/themes/default-304/icons/x16/tick_shield.png
deleted file mode 100644
index bfdaf4e79636301419a37e12bf0c592bd8688d50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007jNkl<ZILmF1
zZAepL6vxkeX_ZsE*E^k%W}8c-l*E)M&?sr7#3nSbGAJX7`e=O%tRSO;zJvu9rl!NG
z6HD5H5-qT;!cAx53vJXGqo5ZM1pT0==RDIrNgnud&pqe-{+A1g2+*ZO>15cn0Cq-?
zHjgp9N*<rlu2YHKbN9ah9-_$5tqdL<KmLQDp3Ste{RRPpjJs^Pld*^OeFdY3LZ?EP
z@#MElxYvC+%x2H|j&A6dIU=AV&0RTLJD+INc{kZIeI*}E5o@3xO}-k=i7ywh#AEu-
z_P)d}o%e{}I!}%WXq88;!TM#(%sDhqpXE~7d-FP|swQi((tjGOKG!ajBLW^vZ%h+4
zOZ!KT;YN)8nZUK8_cD)pi5wB|Na`#9Xjv$JU4d&9I?FNFQG%Ugb_@oC7z%~(%*%_Y
zZQX^&fzk!$^ooE7sSiuv9{o)sRaQ?S${hx*7^sfPjqh%w)UM}b+Vg)gr&$EtPq}Iw
z*cWd3`V9SkKTb_eVTH3A1Hk~7+q^bR>&`{Vu1BTUh}+tCgqd?i1l&t8rL=6H&T$oS
zd2Vhl_T{0O5tRDbmj|PyJM&Q8tW1+50&ZziRZYq6oZ+HH*<pyukw_#e4hdwJei529
zZgNDxO%1?}q(;q?%z*AwK1wh2QJFm@k3jYqP~D;g=$0H2a6Jj&+SW8^P`}c&>B8D^
z<BIGupfsTu`1C7Vo+@Fw;kV2Y0aV#>0Oo{jsEhB2Z`eGkab*0IW|_#Ko@TV;H*^cI
zE`TQNKOh}4R9R4@sspRaslJmOB&cVz^Lz)8v3eW#Z$QH8VmG6hlMDyI3=XhBKkwJ(
f00j&kIpqEYxBSzauehT=00000NkvXXu0mjf)gDR!

diff --git a/interface/web/themes/default-304/icons/x16/tick_small.png b/interface/web/themes/default-304/icons/x16/tick_small.png
deleted file mode 100644
index cc72367b2bd351e15fa377d8d01a9a917c571677..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Lo7}w|M>sko>_H9qJ-1|
z1OJZ3L_UG@LMaIm3TF;%h-qm|T)M*Wu+~MBPdpK7j~Gp!@NfucJ4jt%NZ!Esxz)Cz
zZH{MM_$PT6;q(JM2aN+_co+SRSN+5OIi0IYAl*U!zT{=~y#Et3+v@807bv>0B}w<Q
zJ8Pepy!pH8zoW^F`^S$v>|tDM!^89QjT}#8PWl0p4*xF3#hx=uco-s!7G)ZKx8?^r
OmBG{1&t;ucLK6VQ^iEI!

diff --git a/interface/web/themes/default-304/icons/x16/tick_small_circle.png b/interface/web/themes/default-304/icons/x16/tick_small_circle.png
deleted file mode 100644
index 37ef5cdfab0c1baad72eeb465c6d02853ecf6608..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 258
zcmV+d0sa1oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002VNkl<ZILl-B
z|NlP&C759t8o;nbgn?nDs230~1LC7l+6yF3oB@kPy!h5DUGTmc^Ev!M#$V4H(VzL&
zDP91H6KB9&p=Hh&LO<Ic_4{wU+vWeFXRH5%07#rT1EvZb1!)jlss4ZI$yNXF-MjZ+
zbcx(Qs5lV@^zbd~IMea}>eZ`Y%|dIX{tIkU_zV&!&VUvkFP1)m3#-no`Y*Ue@-N>3
zxzEhK{1-st#2L`c!@!Ws=Eac7x(tYqf@u&RC_YkBBHaxD08Hb;#tu|ZB>(^b07*qo
IM6N<$f?CpXr2qf`

diff --git a/interface/web/themes/default-304/icons/x16/ticket.png b/interface/web/themes/default-304/icons/x16/ticket.png
deleted file mode 100644
index 543ee24206a64a661fe0f25d970788ae6c2a0402..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 604
zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006bNkl<ZILl+`
zNU~z+O|xT|nB~MUEzgx<R*?t8yiy;Ag%y4bOREDJme&O{tZE2V0pc_u)(7#I)dqp(
zLFyQYFhCWE)Bk>c^&dn7u|6pVr~+}upN}v8|9W}jKgbXee{od+Q3j|2apv#$Pyc^^
zcJ=?y7uWy)e*55ms1`#SNF0a_@EM>6#MwXJKKg%V_p1Njo?d|%^6EC&5Rgki@<42e
z%>XqZ&iV2B{{K%8FZ}=f=;Hqq+m|5>0lEa{9gsQ{1E%J=ssjzl{r2+C|M&OK{{L|Q
z9NdsY8yCP00fh-j-Sm7nbz}q7fjIx`^PB(Q+&=aH?VZyYhU{H4`#&g5K<XxCJA*8P
zgh5Z5od(d5!p~2y{eOAm`2SZoPhd3!6eb{bed+cZFfW4)&;;V5Pmizse|GiA|L50^
zVl@O5CLnd4$<`XkVaCuLYhLp4;l=-tFCF~<^vYqZhJeBZq^>2-ToXCWye*U&80w=;
zOzR?z%Rq*_x^?RR3!p}1LqK5yk_W2O0vZDLvb%`_0~`P)8LGkz%qm0m%biqMx<H1&
zTmlLckT_6Y3#86TUxooIu+^4e2(wXO$n{dIhIt1RCLn%+kA^l#9v@%=Vs0Q7wbKyv
zjj|MP0vQ6LEmZ~Vf#SkIEC9s3K+FZi96-zp#LQ5=V1_6VYXY&co-})yw>EdXsu-I$
qR7?ek<$+iVh(&;yA8HWD5GDZfC*wg?wW&}50000<MNUMnLSTYy%@jER

diff --git a/interface/web/themes/default-304/icons/x16/ticket_arrow.png b/interface/web/themes/default-304/icons/x16/ticket_arrow.png
deleted file mode 100644
index fe6e698d6614d430543b70aa2d28313953db5c7a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 699
zcmV;s0!00ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007lNkl<ZILnQb
zYe>^k6u>Vv>%$O?sH{FDxJ}K{iPn77q=gl&m&F$8D%yuxKFjQ(riCGjWK{ORl2F45
zl0+ZE57CEZq1fMNn>pXkrrT<mjx4h{oim*eTG53cmviqqzyG-h{){bH@^D}FFnteu
zd|@A}xO{+BWyiAW+#{^!nnHkRkYI|nIftG1l;>Q#!+hB7L>arE8sknNL=t{EY(P5_
zyhu=}j%39e>E8rG<n+&R3;eKl0ZAx+l6C061VZG@^q3jGjTm6c@&TspgP_>RG<1%L
z|0NJ1NmF(ca4&0M(yX76*m|52>V)o*5O)F*lKlPC089+Efy2}ejdj|233lRo4&^Np
z+)It|LrKb{wHL<vo8ikq%beu(^YS?f&4ltEr0w!sDDXqlzK$B<b59f4d*A&bdG+)W
z&`c=rPSQ^L*vt%WXr%rqIp;8Ug0-swY{o{n5}FC+-Ast~cRiT|0Z979upUMXZ(y|Z
zty>Ar<Y>{e23eWOAT1kJh2I@uK?NO*T|X|#7$0hf;SL>`_4RHgG!x2;Dlr;L%>Y=;
zNlN-vPQlf<ur0aALNAiU*4+daEL<qbsnvrdPxmn-pEK}J)^PE)eQ?VJfW_SA{5BQC
zVwR;8Z_QK$Uy=!UMI>=`LNnP>**#G>2%vrsplqEd!wBG;S<gBDh3$dfOu5a6rR)`D
zyPiWcp;&yXxY|4M1xHW^l8QcvZ2_QoZE~H8>X#sVWR=u^#s0X6HF+eVJwoUejpr*7
zFT~R`zN%%D4!|>B+su!-a$>fYEu~^400|9Rzg#H~<QE86FO$!n36KrQI$qTIN{@r3
ht-Q#yYK%Qd@EfU&A#_6lZ3F-S002ovPDHLkV1jDRN=E<y

diff --git a/interface/web/themes/default-304/icons/x16/ticket_exclamation.png b/interface/web/themes/default-304/icons/x16/ticket_exclamation.png
deleted file mode 100644
index b9b2d1c379aa12b4b66d20fe6b12f8b8a709e22d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 754
zcmV<O0uB9%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008HNkl<ZILnQb
zdq`7Z6u{3lt3RZ`Kgz)V5OhAF6)wvj5}FyAVa1FD|0!CQsbyNJWs><I3M(*Eb6NQa
zElRM2US?_c`ouLi-F)lj+;qOiG}AbJ-(=>{q7Qx?zWbf?yXQOH3$SPfZg+&-nEfD*
zI|xs%9D<_6!%&iR6iSnYP6QEwPxr;wj+oAAo@oUL9N^wrUw9DZznp+aIQ`3@LmCNu
z3qi(-9dJkF^EUyH5I#3Cgg>?INF{XtEFt*61U$l-*)cUv56W<6s10ZJy(n}C5q(bB
z{4aqsA!0_~kB#q3aZ24fFVS_FB(xKHPS~=Xz?pFF$8Zl$_O+m)UxHj^@gE84#C#o^
zXCcUn@^>MU$SG|nj&(QTcu(_!<V$(Mf`rb5=4D6kb6G5KAw(NB3LNREM}235g+$$w
zf^4|}wTeundG{my=*#A3a9iZ#N+cHyYB_4#S=1>w3&~hFhsxSuG>#TwRiSM|_C+tg
z`N~w_Mu?dlXvINU4Qk}IOC$p=nW&bZ$2nseD!IK9?llv{zG8p^DPh}UC;B8f@Vy$<
ztzVZ&hLtQTYL4NkDq~tG6ymrldHmZ;tNfZW#+m?dJyftY>A2@5D$yzHaflQymT2S!
zSXUwFn^0Xv^3kHEJscY=9of&%8NaF$A|S<(5VF}TUdX@f>tub4O3a-YRB|l4yO!&g
zh8fzV0r;jO4yBSkD5={y@}ZD<`0gpgnEr*`9vdKJmjgr|a85K|ht4GRlzq;pQafp{
z!WX+_o~90H?2-wv`o$Xdt(ftq^;QHM!a5&U+n`WyyBkzOqd0BlM+N7o({{L{R_TgH
zeY`1B6zoQAc@Fc43Rci!f*Zkell|(DKo6UA-uhL6u_vK8_a-#wr9x9)8Z_poK|_8z
k)QQu9dz=Amd^lwN2K_5GsawXqvj6}907*qoM6N<$g5m;QHvj+t

diff --git a/interface/web/themes/default-304/icons/x16/ticket_minus.png b/interface/web/themes/default-304/icons/x16/ticket_minus.png
deleted file mode 100644
index f82a363f8ab926e320b50496352fba86f6a86ecc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZILl*T
zKmy(t$_%rLJQ(Jc`Y<f4@MBn79mue}E|_6eL#PT6rvb4(h`+2h2rLg$2L|pY3Jepo
zoEWC%xneUw6^PUSetz{IL<6xtiUA!-Rt&vqcDM{s1>%f9A7A|c_43AlkRc%c;;I0m
z3{VB)%-`>y{{Q~$>i?fFuK)l2_QC&9Erv9ZI1n4)Ge8Z9vwyyQ^#9E6RsX*|y#g`h
z)orjLAeVsTf!Gk60ct>;^W*jX|DPUS`2YFQ#s4R^FGCmtbP3EmAay7POwDsu2O5(5
z?d6^S@9&-c|Ka{QxFLr&E`S>X3KNjJ>G^Kz$OfnbasJomH~+u6ed_<)JEt)W*}G=;
ze^8i!)J@8E23ZCPgPt@y4WJ=~pPyd)|MJH1|F3SIz-kC6OhD@T((N^1UIrPU3B*O8
z9$)$Y?CO#K&#xWDY6vJyK<YY^tu?0j>N6~n7GzisN<_`E<|Q8=Ui|;~(!u{vuN=l|
z2q;WI>U!O@G#5$oGpqvY17WZM^-(6Kb&<wpAVXf=I`#hrP$RM-pfH&wCwOuh3)5Ag
zhBL@`83V&i2B2n!sxSky%254sCl!`1kRdRafWibMJ`Je(dtBUqbUXuS2skg;YD+ML
z*(fmNdZ|^zyaNgo5Wm1jL%RiNQv*;jItGb@^fLi5HxP^3X$bm8S&BD-3<1%Wssi>v
zabX}90AgMs<^p04AZ7((W~g2;LllTLf!J72nmx>0o4Z|AjLjP=rUJzBKr98sB0$U!
dH3(z~69DPo^yowHX{7)F002ovPDHLkV1lwOAZh>r

diff --git a/interface/web/themes/default-304/icons/x16/ticket_pencil.png b/interface/web/themes/default-304/icons/x16/ticket_pencil.png
deleted file mode 100644
index b795e5f71f773a4558d5ef59530de01c1ed040c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 751
zcmV<L0ucR)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008ENkl<ZILm#K
zdq|T}6u|FiT9SljSz$q9Tbo-rOG{VzXsN}f(PI-5>W_kH`AmAL%%lfplwtV59`=wF
zEK&c6Kq)k{#4=LUG(}U}bSp8nTxM}P=gZ9n(uE)QyZ4;?<DA3CUUFPWFUM8fmP+Ls
zjfT|}b3FG>?_v+q_ps88eXJ}~BS5r>jLs#xy?ngrL<D1199IXKnUE9^pi`^Wf;j|2
zB<A;o31~-T{|N3d79Q^Io^3XpL8(;6SKsG?Z3IFj_Se`j{4{m~N$6ahwtH4^i!tWv
z>gw(3>8UdtQlYYddrT5c5F$sWNA+Mfw8PZ!dzc>i2pS2~(mmp16*xOPvq**Gw!94P
z8A&Sg9coK2Y`8WxG5~LC%3xC8_E%!+<|R}KK8{1yTLr2RN0ybsLi2R?jU;KPRKTZ}
zBA6IxfyO5#vl6Vt($0;Po$>6_q0Q{7Hi+dMRj|CoFi}qOy4><YIgq5jJP-`6RlMYR
z)m^KEW|E&6mQausF0vJfkfiTJUC>&a3lH=C0KRoWZAmPQ_rK#MPaoX`nhE7ykJ~On
z3F8G<v_WE&9GlR0fU)xxn7SIFxw;T?b)kSA!q>jHyo6>#dD$_+Vyf68@Iq3?2iw5V
z{sM+N8my8p-Aypk^BP8bo8iajKA^m;!&}6bmU+Rs1OCUy`deVIwGQ-c^>a!ljXgkl
z=MVaO+0INAu!gZS(S92<_WPbBiRnWV4C6yv3C)D!m?uFA-|`MW4`y8$WNA@8n^HBh
zQwo9oWs+Dbp_$M<#wC=ekgZ~Ku0ZJu7PZxbB`DXXTiT(S&^b9mET#DWmL1}RxCMz9
zM@Gw+pCt+Ha-mBw-Y-F1kVVKs#1U~o=FPn2Kim*6#MgV}f+&^L>7sDieAUdI09lQ=
hBTMPWoe`15?hkTt->WgRh9>|3002ovPDHLkV1mEJW_<tv

diff --git a/interface/web/themes/default-304/icons/x16/ticket_plus.png b/interface/web/themes/default-304/icons/x16/ticket_plus.png
deleted file mode 100644
index 63439302a5fed3bf79f53914ca575685ce78a5a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILnQb
zT}abW6u=MF>_HR1W?@89`_ff2v=1XE8CEn4Gd4)*C1R^gEy+HVtn9%E4Kgg28Lba3
z>7}P0qKCfFY+A-<n$mJI_hHL)WSPb3od2B7TG53c_nvdl{r&Gf@COJQn$?Tpa>*vR
zTABl<qg&xt`8H^(*bdDnwGu*4s5ovso+s>coiH}0CBpfAS#Yr^JCs057=HLX$TOju
zCOETe4b<q>e-lWFJ>N%M_|4soEaCV@S?+%cq{QBdVF!L0wBoqy4NiF9qc$1zoF`KL
zC6EyX<6b+OA2j2b!{V2CdIbsJg!hT%p#(Bw|JNZKj`qJopS=@X?>GLE&`ko*;ks#p
zx}t13Neai@eK`EC9Y5JRrX-K=U7M0{Pq^+<@dkOYKu#2YcJ|<h-Zu31z4$}&@NPYF
zPq?nOU_F1#--BwsT0xS7K1Ub2yIauH(;8C3J>j}@hD=4^$t*}BN=64PIB0!}&aP)6
zCESyxwToK9n&Pc+M{I=KaR3c50H=4ZIyBPXi36`6p~Lbdq=b9Ibt044y8B}(!p%4{
zm}32c6ZvT?Dt4qEW{Kx*8@lLVu!MV(T(#i2s6N(82h7?bJ@PDYCB_JJ7|L`hE01Ya
zN3tZd&axzM6YdG;MHiy2>zsM`J5U#87XF0{<vh@>O@zYDvhu)lxF;MR$WbVvCejGi
zk!EIzJp%)4Ax~ol5l)EJis&u*>2oVt!gIPbDwFc`ScoF#z^RCi1e+3}GNPU0nUiOQ
zg_uYpQkTu2t<xyOtEBN^n#r7mSV$y5uIM@#L@#M>pjgC$pGmI*hhC42Q2+n{07*qo
IM6N<$g1kIEUjP6A

diff --git a/interface/web/themes/default-304/icons/x16/ticket_small.png b/interface/web/themes/default-304/icons/x16/ticket_small.png
deleted file mode 100644
index 01dd7bfba41e31caf786e1cf6450bd11ece201f5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 322
zcmV-I0lof-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003ANkl<ZILl-B
z|NlP&C75Aw889K!kzq!GJHz}kABLsXfeb6_LsWq{9Yn9F3kHi5ZNQT1Kvke28Gk>&
z{12iRRr(Wez`Rl)HK5|GU+<s%|M~jf|4=Q4G!P#oPSAkq`EKe!Lvp{ry8Hk1u9g44
zJ-ZGz1mqHsI9>z#GaS@`hU9;FcH{r+TPOd&yL;yU!432OgIod<pP1#Oj@N+pM605Y
zk1qXxbLY(eH@8oN4FS0XB;Ju^tpRc&UIQAUO*HGHj7yzVSh_%lfLsFNgT#S`Fc35V
zsF<N5RF9#^U$YA25)fS)q@x8AC)$80OL2y9Gf}-@W1&_M4K##-Xaj~pULXep0FuV1
Ud>@80b^rhX07*qoM6N<$f@VL7VgLXD

diff --git a/interface/web/themes/default-304/icons/x16/trophy.png b/interface/web/themes/default-304/icons/x16/trophy.png
deleted file mode 100644
index 747b6b1562ecfed69e35164622f58b3c4e0e2ebf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 790
zcmV+x1L^#UP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008rNkl<ZILm#K
zYe>^k7{=fK7Af_qus-;$28z)|u`7Krh}39isA<i-gIZ95m%<BqNt3PF#Fb`=TRCT5
z(x41WH%sSjZjx=uNXtkOFNKCKb);|SH5J3`z{4NT^Lw6i{)ZRdWbp0lQ~7=saXfkP
zMXsVKhN~)!=4zy&Ttj9c=raPLD@O!vvM^3t6wN(XUE!72Ci3!G#=j|@Zx5{C^oLT9
zI%|)_YBkAlyfYgYhLkw_`2mh~XJcP|1di!KaPD0weyu%>KeS#r)#Pn8KNP%V1-_t3
z<7e4=Wz)**P8K?i^y^~*P8h}5-w=oGr9vEd;e*yze_ZyJ@eY>RR-b9gLUjU9vCw}X
z*)>~oL>$m}y@J1(PCuk9u>UTdG3Cxy-f-&3i{K=(aPAcqOm<7~Q)4`~tAzNa?oR=E
z#8f0XbXc2(vy=sSBp1~r_b^QuvaIbTrz|xY&bs-&LY(T!#R2U#>?jlBP`xkCwEJUK
z@)ljI+{yC2!PBah?le&r*z0b(9l|B5k_1N6)5vl2vr9HA_-W3=!R8dytA#k$cn0S>
z0??>9XzNk9jjIy28Yx3rDgbdXK=yfX%{m9^Os@^<;1QeUE{?RNp`l!elW+Y{U+g|Y
z9x=pHhO(;*ATtPny|O?Yx>=(y6OE2_-bCXQA?ga;M#Ui;HRKUP?79W%XBQ>7CE|47
z^x4?W3fQTgv`5~W0&iCiPV8kHCjq3#0rEVV!a1NxTrQwVlw9BzJz|KZ3}siA^ayJ_
z3UKcj02^grb&8;Cs3mpr5fyO`W_DT-dBhOAW-S%C$UUH$$uQlUzcR|hnn0vI@`(9o
zLF_JewL{R{Ee@J55jkT~zz!^r+=ox1-LW`)4?c?7kK_?U?CQ0FX&aMc@@_CxvVbPp
z3w!g!aQN|698_M$_jiI(ljMoju?LVCVwW<M1v@4eCU>9hppJ3`!~aAKu}c}d-&efG
URXv_&pa1{>07*qoM6N<$g4)4!F8}}l

diff --git a/interface/web/themes/default-304/icons/x16/trophy_arrow.png b/interface/web/themes/default-304/icons/x16/trophy_arrow.png
deleted file mode 100644
index 61777f7ec2c4cb19e6ae27b05245b5a5402437f5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 881
zcmV-%1CIQOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009xNkl<ZILmdC
zeN4=89LGPu&M@W=hT%VMt1%CyO{`5e6Xp^{xE@YtOXax-R30jKaw*+9Pe*i=QXVoy
z<chjf=XXag?L1UQNO_!2X?Xj7Baidj-urC7@8|XUKI}u+lO+91wn+R6qMUSD5ki4}
zrEuy%m~b{NL?}%TAahax-Aa+u%?yQ5rVkS?<gRtfFN$@_WQ>1#qNG1D!TftUUd4{O
zRENWsf%aN8zP1?9)pQ7LRy7`$grdz9j8At$@T6!e-j~hBhw?d&`oq#oOyEn#?GjaY
zLq>;Tle3-g#`F2Xe!R74@TfEj)j2XWU-W^a${)S!hUlU8t}34n&eG`^r|hqf4uT!C
zGDR*Bum2PL(NpUO&Jw$KPNyxst8klhjW$$B%~&p6;evP8R5V_TMs=<XkBh$x_!{pi
zh#OktsE~DWmUK#CMY+z)_EuCms*ldIpG|TxeR+5QAL`Q4T(%K4CuC?T@kM8~KTgFD
zHdX1I?XOF{9c5`_Y@8+bx&w9x3$eLzQj6`3vc3LXWH%Rltk>dcMFPxuGPGS=fKN4x
zV9B1+U6<|Fo*Og7!WqtT0ciq>)XT_KwUiQBu8Mhqt=;y$XuY`|V!jOTZur5R<=)EI
zcn|O83}=5AQ1TKY_R3OC$Uvj{g#2Y&?G9K@%3#{>_EHnv*SI0vQyQ8OOAFJBD0K6B
zQbb4oD@a`26X{O5V0vX%!^#9~*INE>de#fQ*O69{)u5?+n`vUoU7|Uz0?nF8q?t>U
zHj_x}&9Yn|K8d{oK8f>^48$N&{|w;OL)R44Bk29orm@p_678Eo#75aSFF|^%rE&{a
zWoBWf>U`%ERb|saMWGmYrV-jF0E5K|>N`Py3&!fasDef8XvpjtW#2+Oc0C4^HXz{k
zuf*I3q;ZwvPeJ%Nb`1}zuxgfkIVyL7e$i;;D<{D}A{mpz55Ya+Fx*)6IM#@TR$xSA
zu{d(|<(?DtVHw6UDt<hPg<<Y6#?MAWrUK88uftQr8r<Cz2xFW#CMdKRe*+jK&#4<Q
zBWleLmin=bWpVczPI)Uvk@&y3cq-e6%-#7$;u^H|2h;Bx8LRz4FqVP|00000NkvXX
Hu0mjfptYs?

diff --git a/interface/web/themes/default-304/icons/x16/trophy_exclamation.png b/interface/web/themes/default-304/icons/x16/trophy_exclamation.png
deleted file mode 100644
index 4b12dbe470f65f67bbdee9288bd4ce8d79671fd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 914
zcmV;D18w|?P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV000A7Nkl<ZILmdC
zT}+c#7{{Me{2*Jr&^Ry5cCpo<662UG+lUvK8AW3m3y8WJ5H(@yg(eEyKr#VAQ-%Sl
zibeTQY7r_F6&&(W6bo-DEn8FQDj(ChCPIN&lvj|b|DA);X|}z|FVDq!{=fG*ClB4q
z2ncLQ3y7{fsL-C@%PMu>Gh<;QtI3ULO_^KBma&Dpj;pC7ZwE8$64`bAeno{TSy8|<
zF|FwVfy4#h^p=O$%g!8GcI9EDGaE0xWtjT22)^!Y^f&B;&k~1czsKW&=_`zzBk-hk
zgWPjYd4mh0sO3mN*0eisqU^^YkNBJ5dEXg4a%eEnbP!Ux3is+FA-Bii^?BK$g`TPQ
z$O)09D@lsdmjh?P$Gme~%}CV$6TH*Y84Zyoe(&;0*NLgBpM$LVJ6TR%0=p>${_Y$M
zHXnkdSK)sBD}gu@J(Vd7t#X@cN@Pj9i|uaJhPxiwvt+4clcy$QspUm~A)Yu-;GX#h
zSTCvIZHU686a!=Gd`r7F$TQZoUN+}`;u2ZnulwFFaV%M%qI9^bca8Ma?wb~Zr#<=j
ztL-ps1{HkG-{P5dGaRK~Ogl?I8__2%aEOe^3IS=h6J>u#Az9lfozrMHY#*BToWfAY
z5!fqK@ZXMx+Z6Ql=6N=3)G(9i6&aCzTR@pxiTEokHSzDa*e<DueVs?)xU52lE@Y(f
z+?=7uzM?Tl-Ruip*H~avF{5hDe+bfJXHXtfGs~zg8{J$`l+60>N)bKJWg`Z<*4eDJ
zEK)Kt63~VaM(b7*X*Lq&t|iJ}&q-h;Hu05U6Rw_A_{JY<{IRjI@O#t!9o33ri;>OZ
z(3>wej8C(g==2&QzRFRC!^$r2ois>>Fxcx>O^$ohz}xW9vj_HHmC~)tY;9}BzXi*+
z;nc>lPq+(aR@qh)j0f%n{Nai~eO)qK&NXm$t{!dHv$KsC**}Io!TcIuQd_rX>x&Zg
zQs_2+jH&}mU@rRz_wRm<!QRlB2}B+2{T#Qi%#&`EurQIG#rc4<ICTZts}e)ek{SVb
z!46nUKgFPR1%~^BG2FKd@>t4D6?mi%eYHAPECh2o%Q>Nui^#BhG1*^pERKAql4#;>
oPX9!sg_-2k9i`tc<j|SF0a1z$XyAG|qyPW_07*qoM6N<$f(PHcN&o-=

diff --git a/interface/web/themes/default-304/icons/x16/trophy_minus.png b/interface/web/themes/default-304/icons/x16/trophy_minus.png
deleted file mode 100644
index 29147431ffa1f212563db2fc8f921470270b7ffd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 811
zcmV+`1JwM9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008=Nkl<ZILm#K
zYe<t(7{{M?N{W8UG)VeVgNY$!NH_Xm5UJ73P}7<?Z(tTw;HB_FZZ?y79j?5jxRrBW
z)1VAXH%sSjZj#Mpq-mstPD4YNI?|_eyrtb<`18Vh{=eTj@8N;hLMz**6f6JgSeCT(
zDpOs2g{du!X6m!~OmkWgXoW%0o56$5yf8*x9L+pa++bBUB(U-c6VNKKvIQbI|GwO_
z(cGVDHXHJAswW*+#^ty;@(@jZ={VFBfhJ8TF1_XB=Z53>P3?_ytv=>~67~xs@B>w<
zmB=!fH!r`<G1A>=etamv8NC>Xn`5!7oQtE+ebL+zfE(-bI7j1RhwnUPp)Q^!TNy4w
za?JJ&9s~6KFTu7>k3Uit$bXkF7;+YC?r^##5lm)YIP;PUX8SVnV@n)%DY*ElaZNzi
zXs0^SvD@6nU8F2XBblgHsi$E^Co*@Hoio-8T{O!>g*exrgQMzO*j>TJ@g_f9=nBBv
zq@9`$DaZJ=*~_fX-fy5RklVG(3S|-$iEO>$N#xYP(`yzg_&y-Pv9@H?D!FKCxqwUE
zfvA@qwe-slPbuOZ^pv426@WMdApJ79i!OnH<dsetGGQ^^$BE8V)KzkE_KiPkOFbs&
z8tu?7WhlE<0BOMh<d)fDzP(CY!J9Po+(msA7c~WkC&i&VRCJAYXqPf2?tc*oF0O`s
zkH=`HwdvSL1Z3A9`Yr1eK!F=T4XmY-1bm3)%t2y23y^&pK;lIb&H$an4FR3RM|*yO
z+XNd=_6c&DlK>CME@YJbl*#Pg@%EI}OO&}-Pb+O;gaEp&Q34eIE^w84LK}&0elUM?
zl&d%nxWMQCks>156vP}Lzi|xO`ozJ@Wjq%w4%~;8k%zD<+5>Z4c43B-JxcaEpwJHH
z1O%iJt)IY}#EHZ?$qjTh1W+Y;<6wRmetCQo$K==XU2X`f61}i4<_OXb?XEMF1sf7q
p5)a?qpp0?`-Ty*6w7bsO`~>Dp)7e|{F5LhC002ovPDHLkV1gC$e_j9p

diff --git a/interface/web/themes/default-304/icons/x16/trophy_pencil.png b/interface/web/themes/default-304/icons/x16/trophy_pencil.png
deleted file mode 100644
index 3990eee8ff826309501eab568f5f11cc441f50e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 875
zcmV-x1C;!UP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009rNkl<ZI8Sww
zdq@*d6vofh$Wf3rOk)4#!bgN8QfU!dk(SL2U9X9n7PBIXEGu6%O_SMb<|;KsCFja_
zQHH6TW%D(+k<4VK*-OGl4<px1($l@BU{n`AF5L6|zI*TCz>{QKPHm!XaA}N<BL4^}
z&5b7I*<w;93n%p{dq9`G2RhP4&?1i@np`n?pgeAKr#jXqi!vdN5?c<?fSoUjeQGS7
z85WC4jw9`9I5kj&<NddA*qDaBwUIci4Z|PL!|`3U7k<_F<G03bmaaVhBN`9{>I=51
z6W#K$qO;Csb{o^rmpAc?L5h9#G1yuxz}F80(b61(v-P4=4(9RZz%j-`#c7+uslFVf
z&wQ3HBEa_l1^nS@4@SlU{dcj|bY;BkymMP-B*~B;AdgwVs4)XyHJrj$r2ya5{0?9>
z<|&PHXtOj4#u*EWC~~k-;bZ!uPqnlb>@Zg)yJ#nSv+-N!6@0BZgKZ@O9H<RKYikIW
z$1l+~E1b=r>isMlnUjgJK)bu(au|tK#_<iN%BYd9dq*c&!1u09eBYFSI+Xy28+PH3
zHX#}c*G_a6dW<Mfa}A8C@E{9V07ydt()PpZ)O{eKs?)1N2Pe$eaj@kA>hB0}^l32a
z@;wJxjd}9cJBs@Wscs>}cWwZr>;<4*=1apDs&yrzq2cz6Xt*mt?M;s%Y1n*q<`Kdd
z3WY09czGqEM1uDTdHPp?WcRfAmqbMSQJ02B8bEJtms7azHt`7v2smc7TG5ZkyIKg~
z2isN?*y;`--3}nz0+8uPb$|ey#MuBgi44A%O=_$k;?T*-DT&MFy63~3CG!T5ZveRA
z3qVIXNR`0v7<iUA-Nd`e+_x3ih>^iJ&J#`GX3i#idwcj-fSbYxnyB<+-C5J4+)ZcT
z$!#7o`1(mQDhq|^V;koIhr^kR0~}sSzp)OQjMBZ61tJ&B6)s1W*cB_Ki>Kk7bBj=&
z>O09i%sY3@qgqPEi(du$GO;JB<NdKaD*_v&-iTv8s7zUgm9ZXJad-_f5A)72j0HO?
zH!9CSM^GK)fqqu>45NL?=R>ZfXZDPFn0JP;`vr3_+r8-Z@mK%=002ovPDHLkV1gu_
BomBt;

diff --git a/interface/web/themes/default-304/icons/x16/trophy_plus.png b/interface/web/themes/default-304/icons/x16/trophy_plus.png
deleted file mode 100644
index 7b351302796d82195d726328699a235f1a8195c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 858
zcmV-g1Eu_lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009aNkl<ZILmdC
zc}UY?7{{NV%M1leTm4}X<w&uj1EGuvlkkXU#w@LgnilJ#0*^uyuUs~pO<Y+kQ_DH8
z(x3y&rnP3e^_#S2GCDL&%3LS9oFjXB-+9nMKlt##?|r_X_uzpCIh+|y85}`vl9Rl2
zKU1sN%haD2F%8l<ra3nX^f^)RBwq-RW${dlLd4uu9(Jm3Om!+InaI{`&I}-eEzc_h
zZ(EH8R;x*d7M&P>_E(^-=OPYvit%Mr0uE|par9{%_B96Jx0X;GY7Mh?UE<v#f(TG&
zaq{flvf+wjK4!Wb<;RN>{9=&ctL7wZujFIzt#GuqMdIXoMKafHYYQKyS-6(sRQ~hT
z1tiCOlrLm}*8d6q=+Oy~W`W$ha>P_<tIPE1C`w=oWV@KVRPeR40AJrv#&#ti-`pM-
z&^6jqo5t<1YWOyq1$iQ~yHy@&`oiW}+siha8*+TLV=vF+kg*VZTaIE!6(9SXB5<TV
z66@1Fv~6-9^QYzzYm3y|M6*C%*Y$KPld4SP8BEs`EnPPb*s0)qR}sF|97ny1kAwHO
z;%LV<G?cHl8_QQ&lqsGDnxR=L07(phcqgpP+X2~xd#oyEz-~T^1CO(it>)v`hXT}>
z`VY`G+CzJ3hGu^kKyEYud1am?&P}ba5`Gxeoj^kkAGIZ`K1gDxs}l}R=LO}sfp^I)
z2+nnduq@Yq1=-sj@J<RD?MJ;BJBfhos-yp)c8-F;I%*9U;Ibz`*h&V1mjg&P0Z2Cj
z6on9WF+eAAQa~qhvCJJn$z}I^PDNVb%ItB$<R@KAPO}c++y($L$`PvLyeIvSG8~T>
zaBAj9H-$$J39#EOBBa$psi)#^fuB4OGz50IyLf7pmzOQTp!b4*fOE6hDZ#!a<Qi*0
z(<zA_D--&nV%s9DPF#UCB7Y3bn1>6+bJ0&aAD8v5N07R+4hr2JCzwW<L-0yp25cP(
zsMABSyEq=-T|I(tD-PkaGcl-63qf8c7rlCyB4oQ6Co(h(E(AY<fB0Nb?e+rpfAILz
kEbej6pCR12VIt%53%T~)<xQ<*WB>pF07*qoM6N<$g2Ew*LjV8(

diff --git a/interface/web/themes/default-304/icons/x16/tux.png b/interface/web/themes/default-304/icons/x16/tux.png
deleted file mode 100644
index 2e6d9d85143278b2362a0ac631ad8f5b217f1536..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZILnpM
zUr19?90zdo$(Nq$tsd{)x%akv_eYIMe_%!tM!{MwSeO<?82Bdx!OEf}2+E)+iVCD~
z_+W%<tH^Yti7XS^imbf|8DwEa8>`LP-Tn5vGZ)fEdf*G^9M1im-}&7V040UO^Xx9i
z@fkr7;ug!gW5v!D++>Vx<v32GfB;ynR`9%3w*){sVY5|1GRj!LVIyQ&0b!394ajok
zVb{(Y#KyyT`os&n-L3<nB~&19k329zoiHK&&Wz5M3UCI~E9y(xq5x4+_6P1aV=}Y_
z)6wHN-O&z<rGomvoc{%=RMyng{66_3g{hC9plU!U^o;r->(6*=FtAlc0lJ}-4h?y|
zUg$$rvlJDHL>$%Cn{+_0!cWMuf&d+`xm<hHWHLcZ4cV-ki#{J74#8%#fqt<@h`kta
z-Q)4(ZqH=Wbo;M7pvU2GP!&9db^Ze|UR-UpnB&1<C<mm|DFSBy0NLDLZSB6?GYGi4
z02sNYtngn{4n%tewdY0)raphqefSq3BH~2-ZoQEVjrH=)1wgFN+CLMPfrx_9I~<&j
zZFn;t!`#p?O9i9?Yw@9nVf3<qpMLRcvfsEX4@}%s{OXv3nGqRUSi<eI<#_%gg8AX~
z4PdaV92gWRA~edkK4UBoyzVweryt5l4(Wi5FFq4aw$|ZjYn$eF@6{MvgY$<BKtMvu
zCt>V@6nxZX-kb+|+ohG)8pWEfBjP!lzr55SOjas<6*a7EF2eGIJEV?*Q$o7CLA-Lt
dEtbyr;5Rb<nO7Q<wjcli002ovPDHLkV1luxFrfed

diff --git a/interface/web/themes/default-304/icons/x16/user.png b/interface/web/themes/default-304/icons/x16/user.png
deleted file mode 100644
index 6e051f3c4262f4600a376f03fa68c3ae132b0adb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 688
zcmV;h0#E&kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007aNkl<ZILoDz
zZAjBm6o(Be>BZKzRs_OoDWsxb)KAsWrLs9)1C6YeZ7SxBS&HH7mZ@betf**~wvD;9
zEzQtTno1UFnoP?YMxUfI2*HKqrcAxR{z{AlnMEHSI9$%}Irnn7egORbhZPTVqqiw*
z`Hbls!mUvAX;AX$E=eS-`mY41A{j+@M08T0#=u>QTPbwZB+`)2-9m&B%nPduG(sA5
zR8UQYYJ`i>aWRR7bFmB@kEBhlDyZRZMu(;x<Lzn;G~^>MhJ}K-oj4uOLH0hn$55Q?
z?^95p&Yqn4{s~ik8hq=zh7s#|j6Jym=hzU;IeVtw>vPxp6x@`A_Bsb2V8Y%6_d7F%
zWvO-!nQ<>8-0t%UJA|fn!TWO!W<?Zc?G2c5JYK^6)`XVAD1>u!9<k!<H>@aNC7S)2
ze4{*&-wnr?X;{ldu#_b)u~@$v{fWSY=V0*epJDRqHZBt|1=ckI305gPsTZT;ZWzab
z0tX;}17yAcPCf-HUIMQ_y1^FoVG~y?r^Ra4dIe!AT5(*e8chT9s2c$k{RBBZ1X<4r
z(pw3RS_o403n*=;L{<Wx_%gzhu1dXv;qtxn6SiX9*4iMYnlh=0vNnPf%~aS#kfL3H
zNJDV27O1@5jmZub`U^umUcrbmgg84Zk(RAPb(ag0X5bh#^@xEAHxL|d1jIU^xMdcJ
z=|=qMuEJnZDDetD7!)N#CBbtt*`>K?X%A%7)ieG;_M0F<D->C!u3=TgES0HRwuLc^
zJU~@i&D<rn)v;srUpes)U7Unw4=1k4vpd%8W*^W^1RZMYJeyas{j*gb;PW^B3%>wH
W->LPo+T1Jv0000<MNUMnLSTZmI62t>

diff --git a/interface/web/themes/default-304/icons/x16/user_add.png b/interface/web/themes/default-304/icons/x16/user_add.png
deleted file mode 100644
index 6d84550327293a4fc45f2ed5bde73a0c333d31d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 693
zcmV;m0!safP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007fNkl<ZILoDw
ze@IhN6vyq4k|JB%8X*YALa<^{s00;a!^zszgaxxS+m=n8Xefm<e}rYtmO8O)t1Xq`
zd|NX^SDJHVkdcL!(;@ViP!=IHu+)Xh`}W=|L_wy|g%9W4%RQfS?hOGD@;|J3sEONE
zQ77iiHb{3uFJ_@a$ezoH;Z<))kQ2ixxu41=&FLIGptvhzLnmROD1HYiJ;<$ES74N~
z&_WgJsUn?}hK-xaJX|@!L1qkVW?g|Uemh<m%Q4lf$B?B6g$X<qCx#<m#E1GAd%>zr
z2@NVRXGQ)9eE)=*H%5HzuZP!h4U^Ar!#_C!B6si1SgU4BP(fqH{z3oyc1#aDF+WOB
z*qPivLg1lFFdXy=yQQ|xQO7k_q97K(hb;*Bo-)jTw4w8IEClhnPk18p)-?q@2@%Q_
zx8+5MJ@9>=g`+GL_OcWPI)6R!3lT{#!4W>X#1)#htrBogIyQwRITVq}gP53_N81!o
z>;v-N0T*5Y=X(IHvlGQe1=RJYAip6Dh)WJtE(;FGn$r?b>){+)g2@XMyd{x4Kq9-3
zL{=9GrI|pLQ;BE3CX9Y_!_cpR+#tY_{P0>v@S!|<Y1*a5y=E5_y;N7Kqq3XCxegL%
zY*eg~pliGVT@#I<SFPtF44xcX5MTt}ihZQteI4oQ7F74oA)^C0YbPPMl8{+QB$pjV
zkI#aYt9z`87X1B)ace>8NNLofQh94JPB8!_HM(jAM+^D5<5ofERxri7KE>(@XeRA>
zVU<^_xqH%FrpScWFMQGCIet>d0zc8YAdqJ+%4(xg=gww2(~;gU|G`F}F4s`}q{sdj
bYv}VoMiHX}-A0R000000NkvXXu0mjfnFKYo

diff --git a/interface/web/themes/default-304/icons/x16/user_comment.png b/interface/web/themes/default-304/icons/x16/user_comment.png
deleted file mode 100644
index 34405692b2adc733b3e6eaf47959a739916e7e7e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 690
zcmV;j0!{siP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007cNkl<ZILm#K
zZAep57{{kZNEp--qAz_i5=x1zDC>g|LFEf(%Pq}tY81Ml`LaPK`IchNl+>A#FyC_v
z)2VYBgbKA3L``!xXHw2g8#*l0aQFN>cj6+s>%fnD&f)xj&*3?j2Y|N~QNEr}si*v=
zzy;kDAD#<AYg4ZY>vjgNMtlD>E1Bd9dr|BRA+Y@-m|rHaED?NOB=}?{m|S3BUf2+)
zs|=jg_e;uq90z7?1Yc-y>N|mHo`LZjgR!p+Ml2hG0`(yNdjq!mG_CrPhR5d^jMDJ1
zg%#Kxf{dDXe}f4}`P=TC^v-%5y4!Y3mbcFKfR$_x_9nwKj6=%V1Nj-gR2l3E#l`I?
z66`}_N(MxEI!DK=^dFp}r5|gKHQgWm=M{>BJUcb=3+Pcqp+I;Lw*z-Te0(SFhWpmg
zgXX!#mCfKPC1W$^6qH8nsh%;Yu{_j-_b(oxUnRp(%Oj*@Dn=@GV{GszMY^?T&dHS!
zLFz<f8d)801x#A38Qalcmrg{vS}P4EaQ!b%!QPMt4_-jU6LoPmnN;1xL|qEZbrPrw
zbBOzqvU2Zpl^!kyyUsVcd7Red%1fshy%msa-$JT3KvHeMvtb}H-(+_`QJd)%RN=-c
zI2G|QH7%zN&y57h1Hg?w;JO}&)BsoO339s##L3MhF!Y{`Q!rb22m|U;B&p{S+X2LA
z2!u5R5mf|XPXU2q0fWs-OlA9mQ(#sGzp0hSAXM6ixGo^R8xZR#^n0xZI2+f2m-nMF
zQ5M$ADKIr8@n4n1`v*ieWF5HNX7P*eTJewSUh@-nuK0v&t;a4^6}>KrJ#1=}@VNwk
Y0N#k)bQ(-0DgXcg07*qoM6N<$f@5qp5dZ)H

diff --git a/interface/web/themes/default-304/icons/x16/user_delete.png b/interface/web/themes/default-304/icons/x16/user_delete.png
deleted file mode 100644
index 95792e2bd515fe3eb5d6fef3112cf34cc6b8f1c5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 714
zcmV;*0yX`KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007!Nkl<ZILoDz
zYe>^k7>AX)q>HU>jS7tAO3K2%sGlmawZAOqL^9AaFH^CptWYfPNn%P1LoCzsHiovX
znO5T6vdGHBS(XTWs8Oy6qlM(AsGVPD`yd9QLI)ns;f3GxzK6qc0pRjKEL%(s*ji8~
z<xQ8%wm>cApg_#EMf(Yg*CaUW$IH4E#w9gTJlv+-h~T0$goE_J%|v#Pe|c3wm5hT1
z8dTFzsmuWvS3(82aFmBLew?XQ1*L(T&{dTWOQ#xxwdpt)BtV8_2htc3k`Hm`wApg^
z6$Lf1!k;tWKVa%b6~6Xf$EcwY=Ju<wnoZCtcTc_3q^?_0P!YX<z&dmnlfy>X-|8rO
z=h<q~;ZB0@@QPR1CTn7QA5PWkRQ{M9uEoq)s}uX1CbVSw!#7ZQU%=F?UsfOp(Yf=b
zjVYeeK8$^th9NHu`aHQ4$NBmAZ+Hej0Z&|ao-eN6@Q;9h+~DdFY={?z4q)73N23ME
z7z0vX1Bp+8xDG&5UWsQhKIj#*@qpQA?O@osi-H3Y_2H6}Y8VF>P(2E$UJ)q!36i=A
zVjmJ*E2_ju<`K-amw}9T!KTl^P@3<bo?~t*r(h(1-@;^DHg49pA-<D#r5zQI2x6KE
zPBjr2!}q{W!>Eu0SzMsR3qRCB=$5cPIR&EyKE&Engs9{O6!+Q?-3*-86GUnWB5Dcx
z=-9;6f~D(M;dWYgBTm74tt!Wq<2|oXl*|Xj_d`KPPgp|h2_dHI5&;^Tz32if<+GB7
zZiZ!9d<C;U#p6<LF@INhTeUDqGa+K`*+jw3b0UdxE;BT4{$=7`e9Q8}WDXl2lU(sw
w?zYgyuyWV@Z3iNEX48&l$JlhAaD*N8zjl|Qc9Qf_djJ3c07*qoM6N<$g3-HB-v9sr

diff --git a/interface/web/themes/default-304/icons/x16/user_edit.png b/interface/web/themes/default-304/icons/x16/user_edit.png
deleted file mode 100644
index b26a1caf0952af8f442e8c32e446775ed08413e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 780
zcmV+n1M~ceP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008hNkl<ZILoDz
zeJm7U9LM!X^G~{t)M{-SX<o+K<ga2#x^swOS(mq%oH~oqah%BeMMGXAHZPq^OSy7}
zTs3yc$-N}4bciwKyyWh@-nZ-4Y}Q6we|)xQ&-VH3+4DR<Jpg+D!(SUw_6J${B*Wzb
z$^o!R1h8C)N~)c4#y<tF*%>lQy@;C107F!0x$jFvwmShaj{7wfTcfmH17#EfYP2F-
zD`iuDLqw*BG2)#Kam9|XxN9KWaUa^sk}=6=qqiys(N4yQbv=UX=S>lDhPYOn;Hkf3
zpfbp0PCfGpi#=tS>bM6n_cr7&bD@xnz=<?l9BsD0G|~`&&(AY4^w16B66>ICfg-9^
zx1#?MW(S&}8scba)U6dF4)_@sU#GhmSdhE`eokRt@&v*>(#)28n9{J<{A^S$hkhC>
z165GVnsun&H$cF)#dm4S=IXZ=OuxPhmGmh##=0S`iBRigV|R|e5viVbjMNF)#4@-^
zUT946)X|>j0)>o)O;tBkqc<?uPshi)Fi0u`fAkmmoYXTSbN3jyaYIZzx-mSdLj5EV
zD+6eKKvstU3TYxX)j}x01VcSR#nLbn@(QOJQNHUb-6dN4R(repvC-7KfpRfG7ithG
z&>)rb4Abuzf8-#j$1h`1mIPU$8)73OQ@37WFxg^bmY0CyY92!PKv*lls^dZ0c1wHg
zw@}N&urd*d1?@>jN-kiwB_6^!%eAe5m}RL^wBJEML=7@Jl!z<h;6p1DVtxT8`~0Dl
zQ!zJ`07<D20>eu&-<ghnhLvV3Ag!e*iW1G&LqoIH?L!23oO=#f8pFr~KXfsVqNkh;
zehwKfepR4{GnIoWwkujEecMNpH_{AJm>EXLy?Nzn;Wk(m7Gt%q5Pg}>sK06k2Xe0B
z#Ko5Oo6)I<#<?_u9jDRXfvC<7wpf3aLtgL9cX`8O*qH7#&c6WV(YG^u$24~U0000<
KMNUMnLSTZ8sb|js

diff --git a/interface/web/themes/default-304/icons/x16/user_female.png b/interface/web/themes/default-304/icons/x16/user_female.png
deleted file mode 100644
index 0c7293e86bd11287a3336788cedb03ce7686f1ed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 610
zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006hNkl<ZILoDz
zU1(Ba7{?d%K`}j3XWe%l-AK2(xyfv<Ai5~1izv!GS++qGh&7pZL_4XiHce?V(9@=)
zi#1^kg4X)lW@8oB>SB#uG>RE5mz(G4KVL5fGSQ-oA1^%b|M~GeFT6DXYW|0^MfyO!
zh1E*a9$g)rS_&4mWc7qXZu={NULn2Ob6AoO9GAjhp!=u<Oe=+Ur8uwKFSAw^bZe<3
zs}X}y)q+ur!005fx5;s(QHqla>St8}qpXEXQ;*TEV|W*{;q#aukKG1b(Cmeyfy(z^
zJG7&!AhR%qUz2@Up5m~a7{t=6FjDggxYQKhhUo1T1rC)cmzs<qH4{U6cCbJc-=?ET
zB{;a6>V%3b?9qj{*_C4cb>Je_rh~}5e^li6Oc>Aao`R!Ez9!cMc9s>$Te;$HovPj7
zpM1i&&sYLK_5tSReIOZ`+PAAjAUim)g`98BFz}siKra3f!mXzetRoOCLlACo$n}mO
z*l`3TL$Xw3@79tD$VGN^9O<D62*GFIox|WQ9I~BZ2y7Htvk!td3gKR8L$V<tBNq3)
z-G@2ajf^vfb!!;k+wb6u$%)nLeyn$}m^*DlrYBO&lAcY16;}Ysb}tr9ZhSSd$Xxbd
z#pu8y&0tAyNAePjA2<D*1uyO!6QmG7XU|XQ9pKH8vXIf^`YwTF3q7+XZ!rJRAPTk6
w9<I$aOoHX;Z$AI>K@06&7%+$`{>Fdd54ShNg&d12CjbBd07*qoM6N<$g81_r-T(jq

diff --git a/interface/web/themes/default-304/icons/x16/user_go.png b/interface/web/themes/default-304/icons/x16/user_go.png
deleted file mode 100644
index 868ed2889b67e68dd5a75d061add3a5dd4918804..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 740
zcmV<A0vr8_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00083Nkl<ZILoDz
zYe<s;6ox;$jWAoA4UsO(iJ*yrsRiE9)G?i!VUaj9r!=Qxq8Pb!dC#1vv&5}5=WT6s
zmeKH%3X*AxI?WQJUqTs_ks#?zCwu$ck0?qF`tiWw!256xheH4${)ayr$sPyA<sABw
zlzRXY4i(}vv}K+fqv)RmiEi}kHQ_W<Z4@2%NbW|`P!d8#y6=7y_k?x+wgMTK3I!RI
zkf9Rp1~e3hGH}hGju<!U;<kbk-+kzo<zTK$f|0s(T=iohBhVHpK`aQoXlqSbVU#Te
zwXw{vE1%wBaY%-by%m_!<YKm?6brL@sD$>5uN#v0Y$>?IJ3hED`VjNuS{PobNYv(f
zL9fF7c$e`lSFqtKcRP3|H>pzH@qN4wE7R>}43kPc&UA<Hf#>QKg)9ClV1%eB)|{54
z!<;@$zh8nTI~?llFf$wVi<xh@B=<(XE*cl*j=xC=>tKzA6<ZU>3?0PGoB=I!K*ltX
zru0E-vnLW8Pk~>55;^S`&^lIyOzl|&RoWPR%4im5fpcViMBsS|v?J?~PXVdJCJ6gY
zNNGNeClfVzq^~vy)nigf`!dluEP+tThDQm-=u&85K}_U0uFvbTP+hM>To;hg3Gknq
zkU;Lc5w7S-Luq#kiaQ0!)A3QzkqG%fAz~W5;gCzL5>sL)(?U-Hq67*Q^)7?g21Kh(
z;MF=oGb)90q#TVeC8!^|O-hm>8z_K4$$_1iczZ}h>?PhbrHb?-2P2<<%jgl;5B@U~
z;z`cQ>=9gb1Ob&c@G7GrR^f@7=Xr>4X2Uh#^0Tdop!~eTtUAf+=8YojV-Y$z)34zJ
zE2wpu#co?;1!~vq{8a{~k7C|A&vNZ@V*pq=J0{8So=v}TGsuy@9L?SdhKShpYySth
WZI9i}(5{XE0000<MNUMnLSTXct5Y-p

diff --git a/interface/web/themes/default-304/icons/x16/user_gray.png b/interface/web/themes/default-304/icons/x16/user_gray.png
deleted file mode 100644
index 7b4a507a0007c2d7237c9450d344eb51877ad155..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 653
zcmV;80&@L{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00071Nkl<ZILoDz
zTWFGD9L7gbM7h-}BC5+4o0N<}=_nTq=V2ZZKTVy7{ERXZX<KvJ6zj857tM>oln(1K
z-2sDwT_n+s&~docs@oXd#X!5;jKZh)doP5+a77mn?}6v}@qc)E>j2dKkJi1s;4t3~
zpW2N`M?D5k3gBzs1=g&)|5pGX>xxCR%@{j-6gO2nFzP;nz77H0(gR?f){zYXA)^?h
zwk8aa&<)ce5^g}8ISgONUKm>UR5k>hKi-JTY9Yq2XfVQ_fc;n_t{R(RZ9fR6Z6`+h
z&TOv<7*y_CU3`8Q#rG5V{`vvtANAwwvujwG9Ya*J|L3QN7q`>|Bpj{pN^_G~E@ZLt
zaf)b~?o0DixZ@EOYF22I`?gA@((HJk6Xn7^tbTb)welf@$$?IY#o{NT)91FW3s5SR
z4Jwt2Q>)cTrBdkW>A}PhL#5GZ=$%fd<M(mm6|4b};HF?Oc#Ajkrerb+tJR8ZHj7Lq
z1Cz;w;o)I;JRWp+cUNRG*&u;zt^!E#63enkr_(SP3@{pvu-om(<#Nd9^RQSf&}y}?
z*=&eLqj0<36}epAR|PB#HUD0o9Yi=B2FG#K<Zw7ZCZpps3<Iy%3zy3Uzu%8yE{eDP
zE#)d;G15{gy|_*di9~{eNF{3KEA{sFA`l259*<MlkCz<gg2GA_@cFSnG#_gE<#als
z*XyZ~S1cBz{rRc*GwF}6t}ZM@MP-uV*1W>fw6C6YY$DJ2iu7F~<Chf*1$glxvKA#0
n$s4oTEc`a(tFQSR|3!ZQ2Frfw_P7`!00000NkvXXu0mjfxbQTw

diff --git a/interface/web/themes/default-304/icons/x16/user_green.png b/interface/web/themes/default-304/icons/x16/user_green.png
deleted file mode 100644
index 264381ed231b9b8bb751be7d8dbff44cf472fbe6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 669
zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007HNkl<ZILoDz
zTS${(9EYWgh`=c5ZlBVPZAw~E5m7`*1y(vuMawK);+SXBbcz|x)11;$m*vdEr(2tD
zYH6B{Nfx9g+pO$x6E;c1v~Aj)Nr(M<{e*!av*_aCJ@EfM?}^s~fXDx^>f~f6`;%S8
z!n~Hkyqdxs&BB<L{rRs1lii##M-K~*9%`9RBGFKoZS{irK4*MQfkWrT1m|0+<sA_0
zgjt%xL=}ZK1@?LtOd1|09!W4Wa2S>b3RZ;|W|ZFeBB!929ophn(3ax;&Gx<zmKV*K
zdR_;c=@@Lr7|eZ8qc3mU!t2Jw^=<_>;&u#Khwow9puxgR6+zAPtwt4Uc>V^rM@U!F
z8-p&N9<9mTi$%j-e1FryurQ(oox2Yw5>JlC->%)fsvu2CZ;GwTQHB(;G34liv@{5f
z*G@4k^>tG%2rk@?v*j7>skD6S3PGwuu}*95ki^RNW8ilKdTkYGcqc@)F%8lI0mM&u
zxHFQ0$FnkoiFYBQMA)3%Si8X`NUkd^PHH-i7PE+9DR^^GfU;-tDAHd*es>hI+e1+?
zlmtmX9|>|U;w!VNT>?`c=ht+X5Z8Opp|qdJP~3Ns8RvCHBCCyybX5@e^+%DZ35KON
zAA^~`KU{)WSACsUorn}1!7W273C56Bqmla{99Ohl(nb(T7$i^mIA3`XHhlqxv;CYd
z!Dv%TjxopQC%-Nb(bC<d@Y1S;OZ*Wo-U(BFz#_>MtaycwYJn%Mm-<ANC%la;3v`|-
z-9s)c0HG!R2q_969B_t+xL<1?mivvj2t3{X#(&`t(yF|Unlk_P00000NkvXXu0mjf
DcF8s&

diff --git a/interface/web/themes/default-304/icons/x16/user_orange.png b/interface/web/themes/default-304/icons/x16/user_orange.png
deleted file mode 100644
index d4fee607d06a34f682b0696ea8da9ec5d5355888..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 670
zcmV;P0%84$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007INkl<ZILoDz
zYe<t(7{_I=x|+A_%4&uoj;1Mv5S9wkg`g<<&?k|kFm!e?)JVgbn?hk2Nu@RyGhKV9
z4h*|Y*A;Te#->i4Hpq#~DAqO&*_@Z&f3I&a5M&m8_`!27|KE8IhZ6)K=zmysa_~u<
z&QVUlRmp<$1`FSc2<WA;gMTG3E8}0gWNb{=6AbQJ0!|SNU&=#ZYK`k#Q{W;wn5q90
zaxQmJN#KW=z*Hdtb51bU6gaNX?JCY<N>hWcJt>&DM8IAWjPYwBu;vla)@4Km6tv~-
z_&GiH7A}1&zUv;t@$mqhx-*!uD$!lc^9(f?ga#BybNB|gK?#Sk1KvTBM#a=_6A9`0
zBxArUG!~o)e|Rpz_Od7uKBEkCBb^N1fv3=x?m=z#-tjxRr#7uBXcQigmS4=!Sj3_5
z*?VEA+J`RDQHJH(V^L#-UX$ggy_e=6;;s-#a<f=A>FMUrx7GnuT41aJ_>c`~j)8i%
zA5=RZRL@CJpPDdQ9gYVVGG8?09p?B2WMSr`nfq)&UqVyN1ksfWs1revu~=x~!YkVd
zsw*A8)XA{l<w0JMPWlD?<-3<0&r7kShygnI43ugYJ?3G)c^e&$#%x0voONt?q#NMs
zu0UUjV8Jgiiv*NgE1@^gFZAjN78N@&-?AM(`4)JZqA@4m3Xg0vbGof264P(0V7Q(@
z`31u*m&;6L@r#ao>tVZ1OF9IrVy$LlSR97_iew+1sao+06DnauuP804{c7sufFy>p
zR7YV{!odj5kT?>in_Q~1FlqK(*};^_Hep1--}o>523McHZU)3qy#N3J07*qoM6N<$
Ef?0Ynr2qf`

diff --git a/interface/web/themes/default-304/icons/x16/user_red.png b/interface/web/themes/default-304/icons/x16/user_red.png
deleted file mode 100644
index 165bc9cc2161236edbb1e53c44015458e754e00e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 664
zcmV;J0%!e+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007CNkl<ZILoDz
zYe-XJ7{{d#ekiA|%cp`qM4(X;MGYYxsiU&a&e?Hojar(^a$RgTn@*eQ7PXdIY6P0)
zCDTP$DzS?eW+4t|rBOD}Fr;FpgA5gN@4vGR2Ev#{AAaz>FZ_Sc^YHS900{XX0$ye+
zWu^JTMKHwkpxYD%b?ic@Wa6uTB~YtUiwsm0EZZVr<|r10LmMB4w78{E?NyY`DbTY5
zT;PH_E~NDm4vmnHeH$adtX)jz6levJq@^+sBdr#6RvyIe4Sb}=E`cI;8FsFVM45Ki
zf}nz`J<DCLkL?)izK-v&Yhka?!QlO3jP|#pF=NF<U)`b5pn__}YTLN23C^Bdn0(vJ
zVfEJI_GVP4$MghU!J5R*f3|sR$CFF}rh95I_5Plh$u~FfTqA&0nEawqDCGqdlqaR}
zJ495Clch1`_=LV=$!N*l?!{C8vUTGtL!&b>`C@&XB660%oFbh!pwZTTlQ4ke1JLyn
zXsQLSRDe{R12GrEeeE(x_bYs181f*2Dy>VTLj8iaEsT+*%Ya9Bd~iWjT7VKGa5^6-
z$Oeud0J&5GcZmr<(`4kXh(7BV^q!2GaX!ogPMrWOMLy0H_|Ez)AUgw4E8$j3fGicp
z9v7l3Cwkg1cxQ+v<4=tsN^XU!au6;^JY98%K{We8bVuOkCh&CsA!p%gGr^X-iueWn
z4M+8M{mS1noM1GC2F@1;WQ1nmpcwQP#!Pb=)2vtcY*q8x<<d1xBIWP^D<?xViy^TD
ygOmi09W46AGIBdXG11DVtRKFq<^}zY|H2>BS+!W^7|W3W0000<MNUMnLSTY>OEKL5

diff --git a/interface/web/themes/default-304/icons/x16/user_suit.png b/interface/web/themes/default-304/icons/x16/user_suit.png
deleted file mode 100644
index 44d0db7d5a9cc7ffdf9120004e35c2102149505a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 695
zcmV;o0!aOdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007hNkl<ZILoDz
zT}YEr7{`U6E_8lXR|Q=}pk3H^GMF1nx6oAVW7g1|x@xT`Kj!9M+th7}YvjZh!c3c~
zn>tIE%T2}n4sA?R7i3UG(nT2Rg<wMQ{(E~b27=6@iyxfx@ce%~=NwKDfS~_j%i_(e
z>D48i-B7a`P_RNEWky1rp4#|V0;yP3u1<-9Au$Yk3Jot5GIj{E<Mu(EB{Xg;ATGqB
zh6*aEkc=i2`J4#koDM_U(LLn00$FT0*=thbtJ{EalLQ&3A|PV!g^;-)g5%*Z%B}<l
z6qqv)tggO)h2=Lb`1aa@>8C~b<j~-|&yCjW2iNACZtV;xxG!RQRy;N=c{{N_+eXn&
zuUDqqV9q__4R{2;;#n~JcHL-g;YDnC8}Q>@H_iH6E9!~!U|oAK!Y{BgwiK}Q?2$Z$
zwUMKKfu^Aa6lm+vS|~toRy;&RGgbS5GvzPAm$yHTFR+Dg5-^KgJM!ztEL?RD-SlMm
zBa#h67<5fwN|J>XjT3r@55n3puuHm0Zl1-+mDzXs1xdwLUB<(4I6R9;(7M3WxgpT^
zVKyTP^Vw-gt{MQh%!yRPFw`BhxLiF%^79(1{DK)()UPF{5`=9Ax~_S;NvL<jmYM=p
zZZXbPxR7a@fWSBkN&O_2`${oc6usdW%&DWvl>sdTHKTaczW^mAlDBw~ZyG>CSr6`7
zJdid_p|Z<|#EL$w4(i}3K1})rzUDi`G;!$XCF2O<HNB|p_R*Ae&f#ojKRwl-J?EYS
zEJX)qN@F&tjBe8_d~TOAB-+N9lQ+zZT<W6Yh%T^{&uN%)J6Li%c`V1YCRUkGeCd!f
d0{+H-;Wyq$r{*3$RyhCw002ovPDHLkV1henMXvw=

diff --git a/interface/web/themes/default-304/icons/x16/vcard.png b/interface/web/themes/default-304/icons/x16/vcard.png
deleted file mode 100644
index 767f4988bcfc24f99f26e0d18fe176cdd9ff2e58..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 486
zcmV<C0U7>@P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00054Nkl<ZILpP8
z&u<b@5XV2;UBDuiTBtQ`NT}h`15H{;#ET}Lkh6b*SO0+~J@qf};Gf{hgC}ktC6b`_
zuua7u@qliGghtxbbX|6t_j;hafwX$z;3SiompAV_-<daKXsww==9p1t2C#a)-VX2>
zKq-aR8l}{fipV8<p)ZVXw>!#avnIe~KSKX18~V0wi>0+TW3d>|_66Vl&GDBv=-`aG
z<qdAF7pbMbQ79DHd3}QG`M7_4Trc3|lL8`QT9a9~KR;*Geb0Btp>yP-cMkvvf`GjT
z^C*>w$^sA(tndI3tZZ?AbB%{_i?<&Ru}w1yY&05E&8t?cV*n8uKOQOG^;fa1V^RwX
z?E7~a3_M7U0V<VBls#lU#o)yG%JTXhURm1=e)wEligWwyXB60Kwf@au?fNMne=VYx
z7P+|+$2;}7p^kugM1)eQ#ALbQw?_a^AKi;CT-Rkd9HLY%qMb-2NT<_(2XGvRe!ov9
zlOdnalT0QrO<lX)rqk(=%jGB*izuZqY};;&$cBheE|-mFv#GC|zEEqmno+OU^+h?K
cjQ_rk=Qdn0^d$mYSpWb407*qoM6N<$f<;^5x&QzG

diff --git a/interface/web/themes/default-304/icons/x16/vcard_add.png b/interface/web/themes/default-304/icons/x16/vcard_add.png
deleted file mode 100644
index dd9d4144f151aa75c44c5462f150baf34c2e2e47..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 608
zcmV-m0-ybfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006fNkl<ZILoDz
z%S%*Y6u^Ho_l~bdGaqTAf)nGyg@z(^lQ1x(nN~sl1J$nFwHa^~v~UwG5*M{-5d>j@
z+9I(aNE@P(VNA;&^qT38jQGy$oyYfmEo?@IS_mFEoO9rOzw_Wb4y6=(5hr_;Jp=T3
zJRStj14t=RN+G4pQz67Z_OIS^n5LPjs;bfecJ3qV|IcRqNF*Y3rIhA!xwttcNLlMF
ze|&*TZ{VzM=AgHQGwv_=d_IEXD_C|4Ycqvqr+IMEhY&*3cUEnmyG6!)!;ff`?+X^H
zZyJDfI?c6{#YkD08w)@Pfu0Qj(lu>#wbs#Hp!4$W3=vJsB~DCC<Sozd_iq7&5L=Hk
zlGh0jy1tCNtc<DDF_xBWaBl$&!^l<7cAeM3O7s)e-orf7+gbXVqNt*P+Kpei#QS4+
z__{K~Z+i_pxrzViIm$)Db_aF))|g!^M^=<`pr!zO&8Ac?0L45F53}f+qr1zXzM_fe
zv%`!`4^S)Gw*glI$8+;pmPIm|M9K!Fl#GoIaW-%o;S?M>)Wfs)Ll`ZcJREtl4Twgg
zBoYZKD=TSiY^0>5BnMnroyX;H6KK8!z|~W?dHimWj2uN5LVO5^!_7hnIyyQWp-@Q0
zVzInmx4OQ}tQjI=P7>_7OaJ%<inKyBr>-2kxkjVcbG_cXzpu0P1WmPVe4Y;znw})~
uZS{s@x94p1disIOKq;^e489sLgMR=<FHC&8!-@p}0000<MNUMnLSTXvjura=

diff --git a/interface/web/themes/default-304/icons/x16/vcard_delete.png b/interface/web/themes/default-304/icons/x16/vcard_delete.png
deleted file mode 100644
index 2c944dd9f37c785b135949d06a1f24bd9cbc9d13..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 598
zcmV-c0;&CpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006VNkl<ZILoDz
zPe@d85XV1n-_P~GZo8V6RBo)GL_#9Cr-Ckt=K`TlU4pz+CqW3kbnVcgOPxAIhb~1B
zo+AGc)v~Q5TT-CCb<JH}Me(`2@6G#luw7m1AUH7049tAzJHw2jwdN?|<A`!(0JXBR
zG74M;@H`K#HJ;~HsEGVy|LQX%old(gEiER%!F`nc|JjnCNF+pQt<9>cDjvp!qP@+=
z_xEUL2VZLs$HV6tYWP7U5@B?56FXnT-YsJ19bVjwAR?wZ*tPH5Bi!^SmMn|Ktc@O<
z1Hf?{CN9<DdDZ2y07L{;3ILq83ta5&;Idya^Z6?Y(<~=WO-)rSZ*XvM4?slrid~P7
znUg5BK|@m$vEl%^Tpk+s0HV=oxqFFq1%pj%f!6R@UaCHFzlziZ{j~2amlNYpCh)~y
zBdZn?2-0=!F4Ek)&!D4zi~02cUNFG1Hb42TJdIu!s3rUMDXnWUx^9e69X`kI+$71F
z=NN5E7|CQ(cXxMJ%xBv+g+ifBdHzn6f$JmG{(J|^)6g7XO`Re3VPT(vWm#l08A72D
zot>T3)zy^&W!0jlJq$zl_AhY!1Zr~~B_hdqJl-QB^!N80v$L~0l}c4!Uvm)q%Ny!n
z-KMbn8ync(GI1LNu5p-eoF48N_czv$oeH^1`BH3WT^3hOaq{}UaoBgB89qI_lS|(+
k#W*9TUe@sV%B1_?54Ph_K1q%rKL7v#07*qoM6N<$f@~rfeE<Le

diff --git a/interface/web/themes/default-304/icons/x16/vcard_edit.png b/interface/web/themes/default-304/icons/x16/vcard_edit.png
deleted file mode 100644
index d7026e7731020f14ed8d1bb0f051e758e45f8b5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 721
zcmV;?0xtcDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007*Nkl<ZI8UXM
zPi#z46vlsV-kVpQPCM<Gwt|+ap(-iSG^9}#HfXRCD;7vB*olO&vXfX?Sg>Fr5@BIy
z!$QL7C^};3ziEorn3;B}?X-CF-kZ7iSupy~&Ph(rIXB<=&Ua376~}S-AJfw5^abEB
zfRqx)agb6ja3RE!_{Z-msZ^>E2n1As`D%*!zhW_u#bQEp97lD#-CT<bY~wrA@#i@C
zpSY@<s0lXH=^Z8%3UT2{7Q?hLayEvU=fQ~(LI_oxKec7>I)&65MiU7}CJdZQ?*Yi?
z^IYClij*aP*8&hipcM;%eC<{`Hm_ojuF=)gOH5V&0>j}j<+6`Jwg=VQ%;>jgxT|)f
z2_b$r7bLGUE77!RycHEh?d?oWnc)3R&>EVikeHyf?kK+CR<fTP8F+ecPC+&?M0K!%
zhgu6$Uu>57byoaL0$^nxqgrwN>vu5qaR6PhDX&<8x3YFl!K$)Z`X(!p{z|H9b<A0l
zayfyT>qm1B;%nH8mA;SeQ5bzUh;($4zV<nSGyB^pnqe4NmW4H$pv3IOx9$*T@+L05
zfZMx<GUqFSeOLL|-H)qCkVqtmMx%_3jNtKju*SlW?ZOv2gqgg7%bmxbUCY?Bx6Cvg
zr?h$<Qc9FqEY>fCXc9uu+S;l_A`!<Pe@TsJoQ)j^vB&SAs5a)zYBJ%sNMj~AwBh3C
zKeroD7XO9Yr|VC)9XxicpwzJ3-$hl8jyY4u<cn7sY314)&%XRLAFs_X04mmQxV5SM
z6!H7#7z#%ysoz2&6His?>fYw_-3yulT#Fy#!(#=z?-9W*J1Hw`B-!)fhncfGo6mRm
zF2({ZS>Z^BKiASwt8Hrv;<&9yE;Dibz?Jt)CKv4&bVhQ}R~}?@00000NkvXXu0mjf
Do#0!r

diff --git a/interface/web/themes/default-304/icons/x16/wall.png b/interface/web/themes/default-304/icons/x16/wall.png
deleted file mode 100644
index 8a1ea1684ba6f9bc95b388eeef259f70131ca071..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 501
zcmV<R0Sf+!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005JNkl<ZILoEe
zT}#_g90u^i|6JI$gRJZDLcJ0FRs%2AT@+DMv147gvn?$RCF`UnM9`4*!k3gVR&8KY
zbE)6!**RHzDD+|u13&Vd=e#5Y!T_+RU__PI(uXOP+0>(YRea2{drT&GP<d|Qqk2_{
z>+4&LMpvp3w6?^kR9NUsRA6hgw9qrEl&ZZ!ABxN!+9aEd!m*tE+UpIVsBBQ-c$3Jk
zP^mNM^`XdIWwb&4^dUu(CEC%6k2KAYBopoA$j3vPB1;l&gQ(AFoxJ!aMl_Bz%jqJH
z$B3d!&9S<;iDQhTNLwfJ7?q2=!nUAn*Z1<fXm=n)7u%+Z*<9QH0^1g-n>(<Dl`B(m
zSALY2hw5p=VJsJX$1LaLLkH^ZhF3!^@1|?iUU@*-4T3Yc?kO6LPnhL=ESd;@1aQw>
zE$^ml)Lv%rVykH$U|w~r3e$WKv+)jQ^B}kN_RZg{IyEQB1NPY}=aZjdh)dts+O5wB
z!wdL+sI^+wLdSVIU@M&eKKDEXj-&0@cHnsd9LLpawfaKG`HK;I#rZ%UlFc*tvs=!M
rU;p;}8<SU2T9#J+({jG|slW3dNQdyUw9Tyd00000NkvXXu0mjfU{m^Y

diff --git a/interface/web/themes/default-304/icons/x16/wall__arrow.png b/interface/web/themes/default-304/icons/x16/wall__arrow.png
deleted file mode 100644
index b0ebdffed6ac9da27a9f6dd3fedc5d5279f0bc0e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmV-&0*(ENP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006xNkl<ZILoEb
z&ui0A00;2L3%ahIlv?Lu4rFWx1@Y=dyc7|<xLyQT8Msauqca<;SgTRn+E7AQyM#=-
zEG<%PW>CAepxX+HIwq(n>Pc`QidSKO!PmUd#=#C2419Rs_kBMSLI9BeK`8ZyELWRY
zCQWVithm-_yhg3I29~#NY^!I5u)MsA#l<C72(-6@P>*Xz@1ZWzOFMS-g!(<<Og;<7
z$|*WPMe23US&O$anLHSlz0@@~K&j}bo>V@Q1!Ltfq5U*lU$4V#n2y<kih8{P)2ulP
zvntl>bu>)V(NAfX&_1ddD+Y?yq9Y-tVHi~uixr2INMpq?P%Rc6eUvJM`rH$Om;f_A
zdC4AyWD0_i#yHQTwU!ibLKFo|@)3wa!sesy3G1iq&9S$YN`|#z2CZz*a}wCsm6l2l
zyKC-YXRQl-vZj?G%kzjvucMXixe$Z)NP}FKZ5K)#IDPjsV)JYEIy+0eoI4)lr?Fjl
zI1HY@0zP^fd~Dh_JUW8Fowq3b0s=Gd5E68D!4x^bakVG9j*6-}lJOhR^#@Q@9p`e-
z5s=>C#O+r&6nTiy<4xp$!0x(_kG>#19QW+LqCk@*$JAH^ilRZ1WSpveL*_d$@&!2i
z@vrDt;NY0~o9yGbymd)qJ1^I{%5mPOjPGRpXZO&;7SkD2wvOG~MDPQ^=3PgF6=FSZ
z%YIAGzw8+*e>(CKU}INMzSun5-oqU}Lv{xj3cCii_ttpcGbr2r9}7z0g_?pZCjbBd
M07*qoM6N<$f~k}vaR2}S

diff --git a/interface/web/themes/default-304/icons/x16/wall__exclamation.png b/interface/web/themes/default-304/icons/x16/wall__exclamation.png
deleted file mode 100644
index 96e59b3234b71b58bc0cf3e19d095ccbce374d16..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 667
zcmV;M0%ZM(P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007FNkl<ZILoDz
zO-K}R6u^J;cN}MPGuQD0SJX!7!z~O{q)WG;Lmi@%QHM?uos38*k3p9TBBIV6yyPL2
zx+KyeNTL)Y+f{KDD%X$PFK2dUc6DYt_<<IJ(1Qo>{odn!!IOO7=YK>JLc0PqZ2CWd
zzD;|7TnMdqXy}7KIQY&NLhBVmV^jCX0byAdmSq75!X^ZA{LKU82xI=kWkOCOHur5~
zppc`Wu023j%7NurEVi|3kqpmO)-oX+cP_S(AHqpUqFFo|csX#}w(af1EX@9<DSVWj
zEWPlP6HN`f*p05P$1)xzrfKd9WU?8|vfV73$zYllyO;+hG8uI`IyMbJayf}st--n=
z8jX@%T}G>^0N`--IIi2ruca`Cb!MXx>a<K&)gyW<j^hv@fvz{<I1T`TbTN9Qo<iQB
zP7Kr5*@Hj)f}Ci<vR$&Mx&U7`O%uZ~NTt$j*@j_|N~bVQ6Jd>_RqB)lOR1{S@$8Qn
zh5`7pI4I>8;}hc~;#0_LHt~sZzJB>cJRWDwc8QM0kXA<s*G9N}?G=rB1lM}c-0Td%
zoE#*7y0bO1JvPA1{1SD|$8a2npfX8QeIu%D(BI$B)B76r^%b~^k0cQhJ``J)MJ|`y
z)^sYx7E`<ts%mRUq(Afa%^g<qlay8p6mJAc^2_7`O!ahk%R3(=hvJzi?x_|xbnANH
zc(JOKi}ft$FFYjvy`2MxBntL)ru}5WkXKyy9uNd}6tMxDn^&bL9UV1C0%8%0J#xvr
zn90`wbas}xYSFwb?e(UY&cVgAJo7x-_R0~0u|F_jKf$zdi|zmb002ovPDHLkV1ihD
BF>L?<

diff --git a/interface/web/themes/default-304/icons/x16/wall__minus.png b/interface/web/themes/default-304/icons/x16/wall__minus.png
deleted file mode 100644
index 4f4dd35be97337fbfeaa1b923095ff31f03d8eb3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmV+!0_OdRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005tNkl<ZILoEe
zU2D@&90u^S|3O#Vi%=_L)cR7k&ms67+?CJ^y9*iHvayPF8nrDACDhR+WH3Wha4#7_
z?ACyG=F)u!KY;gwS6)7z6Wc?vH<JZ^<T=lINeF}iU{}G2a*u@<BQmp*OZBpN8OPr+
z7<`4y6ALfZ%fdK2JIBe%sVodC%reTPruqz}Sb=7zdPccSxz%Yy61hQ(WRjNJ6O(US
ztqvraHA?L*5}7&5G&-#|B$3OE7N{LvL<r+h+1+;$MKQu~pzQCuxQHUeVW=z+wHX!3
z35EguzOU4*CW4?3-#=EYS`)({K;QS3B9X%=n_e@_8l;tt_2h2U8!(I}R&*WXxw`oV
zrfFb9UxjJZ5?M;GiH~w~M?S6B3&etV80TcXV?n-M@3f~R-Dr*6D-Ouoo_7G-eveA!
z6~;Lk8&!B8J=h1fl60draxc?(db_G`VN$tNhOR${UU>$+x|Jv`Klz(wC+7rlz$UxR
z`QTHxi(}VS>f5i;?H<8(yNM4E9>Sl`<LG`7hj;HO>oeECvpnZt4jl)cWht9aSK&Aw
zEXz)~g**6NDotrH`pIr_-VukylQe$goOA8-*wW0kAL4WW`qv{yLnf}YFel{y(_FIm
bs=xCe0HpAY_Q_7^00000NkvXXu0mjf%f|Tr

diff --git a/interface/web/themes/default-304/icons/x16/wall__pencil.png b/interface/web/themes/default-304/icons/x16/wall__pencil.png
deleted file mode 100644
index 4ba4414a70fafe5a3fd52e3bbd19dbb98bf50692..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 633
zcmV-<0*3vGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006&Nkl<ZILoEc
z&1(}u7zXgkJCVku5M!iZ?WMG66}@}%D)dm%f)~MnskM~W?MJjpbv12FNVjQ{X5Bzs
zlL)ch62-O&XlqVtz4#w^7Y~9rA;-s^rCmcSQgGnMzVpnyGs`Xm!2Sm#^4~B;c8Qwp
zI#e!#2aU!j)N1b`>Xwa%%0(b=Zf;|3Z9@byb+s|_xDMnVa<MLIJCHN-dxFVq3W8b3
zsFxDtb>+>)Xfm0FAZjnU^1Va}KY3!=WD0^=2O0HHs=iZ4wNbS#7c|uC4OFW&TVYwl
zPQ8vswQB1jN-^pt)z~snS})n=lsF7y9i`H$O__^h%P_EBD%rY;R7O7cxSW`SFgkJ9
zddl-L$Z{N`l7zjr`NU%+5;7*FF%*V|@$u|AT&E*T=0`c67PpnlhPh!0d$l!BD-ds2
z-YDCm$r#k}DIgj}-r@Xa9^lLAdIh=MGlW79u~%DjISl=^j$9>Yd0vrl>&|U7n@vaq
zS8<WrH<*{ZXT#DoS_N+gAxSfkLiZqrr!7;Hmr+djp!q$5{{8_30>kFt@lCQ*oY&qI
zi&)h(+x+Y!6pJg+w4$Y4h~P!$jMc0?=|g%UWaXUubk@oFyO*j8T~Tb4BV$li9g32J
zmXWZcp0}Ex#`>@rAG30S^J8o51m{`vkVY#nKf2Ai_igvd_74m9oj*i#c-Z;#!fE#x
zk^j-Y$jsq3b(lK$iv=A^`1KW;h~sl`kX_ri-m%;J&w-IEj#o1Q$EBgczi;>rXA076
TSt>y_00000NkvXXu0mjfAPg<Z

diff --git a/interface/web/themes/default-304/icons/x16/wall__plus.png b/interface/web/themes/default-304/icons/x16/wall__plus.png
deleted file mode 100644
index 4cc0acedbab1f78b3cea27993c592f97e865e85d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 599
zcmV-d0;v6oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006WNkl<ZILoEb
z&1(}u7zXg^tlF4`#xxQo2C=kY{Xowm6+C(AN$_H!2UGkgjoZ?c#_DR5kR>d!q**o)
zx0{I7Zdt^%3217L_UOfvN1+}(2nGLw$C)8n0y!9P;Kw}kzVpt85CG(V5K2Q+%#${r
zNn2laUU=GSeL=nc89aAg?5oZT>hA6ywzqe9L8Z|_LS<i1U8X(~rGq_nLPK&aSIC27
zIYY;&MgzVQYp&*U1#mnEsIN3esTQJgrjW~nV>w3XD9tza8*p2$XT5Bq(P+VS>z?wu
ziTy?cE!XvoQko}pgc?rML8Vslr1UHtr-n*p%cG~VXgUsRm5OJCQiIT-Kdx#iaI^D|
z#jd6^P}MAE6$PDMT6+OaQ!%g1K~qygkox27PZ?h0U#nIfcHt#DS)A8&@LyNmsd_}M
zeTUDo2ZBY*+C;JV3W>xsbh0?BNm%bK6gP{)b>|jNy}p2nH<O~zXGuWvuOyX4bc;>L
zpeV~w5=&5$i^BBGJ%p|Em^oZRxI8ZU?12SxMw03uY#Upq=}E6Vhi$)uY1+b#jY*s?
zjpLks6?cB$$Jvc5!oY*!?<68gpWYe<EM503Je-4JSkU#N5H&91=C9j5Nb1BPIVnj6
z_DHK+KsvrBNr8_Y15-mk$@0)2?()F|I+@&+n}jVt6J{d+v?_m#{I~?Zw`cflpX=HY
lLgL5D<k8WuV&`YJ{sOBP$MQ-i1nd9+002ovPDHLkV1m^A7wG^1

diff --git a/interface/web/themes/default-304/icons/x16/wall_brick.png b/interface/web/themes/default-304/icons/x16/wall_brick.png
deleted file mode 100644
index 4b7d70adfa135695775b8ceac3a22920e4aefc1d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 369
zcmV-%0gnEOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003vNkl<ZILoDz
zze~eF7=~ZE2>z;C+o6jf3W5p+5$upnL%MW`E@tRr35bJ;prC_`pok(B6>bm*oy5UG
zaT0Y@ZnKX5EwA@U6H4rG+Q5^0zvu3STMi`A4mis~8FT}6ngs+~kCQ>@uW*y~Fr;Jy
z8d!N8o8L#Z%J=F#B_EkX%f0yJ#mQdM<1hntGdo4WWG$?xQJ1yZM=s$N_6MLpE34F%
zO3dBD9BrI*vD***76g0=N-<Z?1Z|vjvC{{2SsbIVR~TlLTg^!)U2LVz4g4j(`aZ9{
zBBR`DPCDsgqX+t_T;_e*;dx<*QEoLSopiC*4OJV@vzhJD9BrI*vC;+o>@D)q^J0`U
zNgF3!1Rc;1uFG3@I_6*`LmMYu%%pHpN<sez>B4-ShMXb)M{+;icAxV%(D>gRjY4sW
P00000NkvXXu0mjf`mCY@

diff --git a/interface/web/themes/default-304/icons/x16/wall_disable.png b/interface/web/themes/default-304/icons/x16/wall_disable.png
deleted file mode 100644
index 12b9dcaccde83fd3bb0ed010d702bb21bd9b5bce..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 304
zcmV-00nh%4P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002@Nkl<ZILoDz
zF-yci5QSf3ch^~3YjuT{$W<D_LRPshg0TsvNS88QNSQKSAVr!$l0O;WlUq4LiqQ*v
zF!SxcVRs>z=NadKaU2~<j<{hMAgmsJ-zS`OAdjjEj+i{Uu9J8mx2oH=g|K=wP2;9%
zdKRpcQw-jru4_$vA$t!O_ZFuts;bg}J96XUW@mBAqAW{Y;UJ2l`0({wzjVqX&-33$
zp?vc7TEBG4BFi!j*pVwPzWaKuUpi%xrm3#*c?ypiTb#0p<5(xSUp&~W#VLy@iZtMw
zTza_q%i@$p5Cm^w7$*NgS@63c8?yZ)o1g5tzw<YjQfLPPu@amB0000<MNUMnLSTYY
C0EEN<

diff --git a/interface/web/themes/default-304/icons/x16/wall_small.png b/interface/web/themes/default-304/icons/x16/wall_small.png
deleted file mode 100644
index 9d41e1e991c234cfd42e3bfbd7b03530de0e160d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 337
zcmV-X0j~auP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003PNkl<ZILl-B
z|NlP&C75Aw8NkFO91X;kPz+*Yh!HZNX8ZR2|2J*g^&iBB8h|2(-vD9m<dXV|N7;o1
zAAyP+V7R)x=KtjG{{O;E+{yS2P-5y|w}0LL{Ho%|>(*`izjEb9Fz#>b`oDkOy8lW{
zO#S!`5ai0uEXjRZR#Wq-xw-p)Qbzh`ApcoTan`f^!n9{Xg3QGP!a%Tp(V|uV=gwUU
z#>u(qFBWZH^ndQUxnRsJ&%6k)0sPEdmDNRM|I?Gw|Cg23{m;rT_!^s@_$n|W^aF@y
z7T~JDYk)K}^X3)Pr~fa@E&M-y`uzWsC(j1s!oo^0pP5;39$o{an3=nQco#o2=Qd_$
j{!LhL>mX0c17ZLGIa-l$grZ9Y00000NkvXXu0mjfT_UHz

diff --git a/interface/web/themes/default-304/icons/x16/wall_small_brick.png b/interface/web/themes/default-304/icons/x16/wall_small_brick.png
deleted file mode 100644
index 7293179be7952a688225f246dfffb7e08c2e782d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 272
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*F9YvLo7}w|M>sko>_H9Vu7TA
z>y$(_f%%P(W=?jMG&u4>%D}PZ;hD2r{`?QWbm?F7jlW7f5=j-jF9g$O?7VdI#eWv>
zxBnf!NlLJNbbO>xxrc2Fr{SEP0<*u>uiSgDUZB>>OsprdW`a!|vlNR&+PUple()cD
z%jWfe;!lv`kWYqlEQKV#*4HN}NcfwF{OCW!e)6&Df{y8l&s=g>{=ce~^xx5h=kO1Z
z;w8m~b8fzT_J4nL=o9;nd#|3c9W$`=kXz5#xQ560Z-m6T2Zt1XI?kKIeuROc$8g$v
U)x#fO0KLfI>FVdQ&MBb@0QnAgE&u=k

diff --git a/interface/web/themes/default-304/icons/x16/wallet.png b/interface/web/themes/default-304/icons/x16/wallet.png
deleted file mode 100644
index 2632217942d22dfa0ddf6ada7dadddeca907459a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 458
zcmV;*0X6=KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004zNkl<ZILpP;
z-77<390%}UDVr--nrJS(Y%wu2?=~cvPLd0SnPwO!GcQS$Tujl{hS|j~Nb)l8<+Y@g
zT)23OQ1aLOJin)?h1J@HQ=d+!^L&5jd!Ew)M1*)i+ymBX0D`p;;#iDAl!aBJz&?UD
zd|S3e^&YU|e!otfDMMNCRSE3X--VCv)~KGn9k^{Rz$Z^TQf9@#2P~BdjBY;6H~;E-
zq7K7-x(ESkV1N)T=z%b{*oJqrrXNm+EAe=!Le!>*5Nhz^Go!m07|d&dFsgVnRsZdB
z%!o&WCFnIN#kD;X@WN%ljZQUgb!+(Ga&%?$0W%sP?0!xXp)+R{?%E2)!u1Xn`Xwa>
zT5|Aeyao>k^cd!wNcVR*a|$0YsRqJsryIlqn!ahti{NQY$C2E`2u(6zQWD<-XBH4f
z^~B_!f<Nu`YSEQ17wag)8vvxq0IaFN&PS{9#8JjKtW>-^wIK)gV)5<2I8+JzD-<DR
zC`(61r3|(uIj<B0%21XDBy$QX6C;Jl{`=qf30$BOF)sMQvj6}907*qoM6N<$f}T;!
A&Hw-a

diff --git a/interface/web/themes/default-304/icons/x16/wallet_arrow.png b/interface/web/themes/default-304/icons/x16/wallet_arrow.png
deleted file mode 100644
index e0ebf3b7f5f1fc490e2b6bad242f44200b14faba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 594
zcmV-Y0<HatP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006RNkl<ZILoEc
z-AmI^7zgkNqRoQpqQ=Cqi(ZtRnW?eTrbUFxC|jZAUS!UiTjrQKA}V8qf~NS=^5RD=
z(tNG7e5oLW=;fk|L%IyY3n_x2f57W+=Q*G;GAsPShlj&C&-eFm4gsLmpj8LlE+FbY
zOqwMAlg7PtD_;?F-5z}Ebgk%f#Es!|S*mgm_fmVFB4#_Bc;9GS(M(%8`rH|qZao9;
z>9WXx7PBIF^IiD(vR>35!O+>PI1!$}LK-#Y5EG)g6tAup{pLwcE=K$Z)!6(K#uI#O
zcc3ww1cft+2_Es~rK3xp)#c-{Z$H|KlGWO~oiG`+;GR7dy%i=Id;r0nGT@4dn0RyD
zs+z_Fc^L5QRR^QxDd?~!BT}*p&o36>QFRW6<R$WczvM8;fKVziF?IPEYFc`5y6Y_(
zLIK=&r7dYK+=|-Wx;Vvp64rI{4ob@W6xcz6$2)Oz3fgz5+E8DM{>qFvgH@RbrYEQg
zxJOPvw5MrCGlxbOif>H9R2hL|WFDR0fWq)NuGL+@LvOZv`$gwd*2q`b2X`WgB)tqc
z^x(^n=C6Qf7ATwkB{T=5d3zVE33AkB<m#zUwr`_E|3uX28;cpMpT^d^24d!(dDuPx
zyf)Z1pFEWG2S#ZV8GRFE@Q%^us!`hD92DuV0j?V>hMimN8vXTK4A7m5lFoKlTYK`3
gkku(e=wAYU0`181Rj|VD`~Uy|07*qoM6N<$g0>$X>i_@%

diff --git a/interface/web/themes/default-304/icons/x16/wallet_exclamation.png b/interface/web/themes/default-304/icons/x16/wallet_exclamation.png
deleted file mode 100644
index c6e0ff708ad69420080133903c3c8118e4cc93b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 632
zcmV-;0*C#HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006%Nkl<ZILoEd
zT}YEr90u_JOW5=xx+pPL8f4CzVdfSs!;cc0qR|HoQd=x5)5=(xhJDB`RwSFQat;QT
zBGYLa7HA(vStyoqMx_niN)QTS^hFom2~X#|5MfOreBsBrI6VLJaL!8rXd!691Du&e
zjalU8*ne`1EZxYEu|Q)n-d!`!YrMgP&ZDXFDl#HV_1k1@%y9rOt$XM7#$EuADH*SA
z`yn#d)A@kfEixuHhb+6odQh<)9Y<1UX%G$4$xWBFBrtZ>fPo7+|L8f9hC5|j<=Wy9
zK{ObxFM?G=j4UZ6Fj4V&of^Z<G4k4XIs@IMn_<t1MSoQ`O4bm1&FQ#Rn26ScNqn#l
z=Cypl`6Lq9pd}YWO-lUu=)!<28qG!(ZWgHE$csh8?gZRFlZmclT6FMBY%ku3Hm)d|
z4>+4h0vohz;qTAK%ybt<AL`Lv6^9n1T4vL)MEUx~v*ap><wfy3I2BK1P9WbimlEHn
zuE1b0;Ok@!9yylrlakSP=nwDV6qq+e$_;pq@diXn1<|E!Dad+s`1$D~|FsC8CrUBw
zRpahC6>gVk<hTFrxM~r9g-tN6ASSXD5kafnmC}caSA{d<V|w)UR$}aJ7Dk@xW}GLb
zFZogA%Zuc7|B|L450A%DO}Vu5N#}CkRA2`t{TjJ}SSS5jJoYZ}RhLP7MA0x}xTSQ@
zEj0y4;zObLYJ`I8F#WAsUWLGmRUxr&t&nKWuhmA*mRcH~i`e(n5$)55&;J70tpo7d
SFOG@;0000<MNUMnLSTZ&HYaNU

diff --git a/interface/web/themes/default-304/icons/x16/wallet_minus.png b/interface/web/themes/default-304/icons/x16/wallet_minus.png
deleted file mode 100644
index 4945538c8e8300889c5e2fd8b0a64c7a59a80cb9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 490
zcmV<G0Tup<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00058Nkl<ZILl-B
z|NlP&C76L?1E$zBFidq|m<hyZNW?QidKo6!f$^D}Q<MH*nGlN?U!R=te`Tr>m<H(q
z>1F7%2IDiA`(yr}XbHrNFZ4wIUy`8r|9p4Ee~_Muwm<_q&B6E#Nb*R7FIK$0*zy00
z6eAQo8RP<6hM5elCJZ2a=1fQE|NYe-7<hfQ)&I4bmSAUtECFGV3oi9V|8Fs7IK$9j
zzyQK$Ku+9M<_yPM3+?`|$uRxj;~@*?rztV~-%?=ve_oXO|3z`yK!Yv*7pMRYsM2Nt
z;WLNoyuq3_<yrq<mZT3>I5$%5f4{fv|H=NU|F;#{|6iSM@_z*|5JB=wfjC+eXh4ZN
z0|=klQ{f6$05W|+tQHFHc9;I2tI39fJ=qz~cyj{7pht*-Ay1j%49Iz4lN0rD;^oN(
z{|j_D!0JGHfG%KQSjNCGa}Eo`*Hz*?|5u1|Be13@*hQ<-jKOga!&z#~z*sQ+pCG|-
zMv5J1z!V0COW)(-{-fh=CWf!x96)E{z*g)GOMu$t7@8Ou=GHPWTtvqW3=H#t3Z(F0
gaUkYr81UQ(0A#2m57Sj-D*ylh07*qoM6N<$f(`5AsQ>@~

diff --git a/interface/web/themes/default-304/icons/x16/wallet_pencil.png b/interface/web/themes/default-304/icons/x16/wallet_pencil.png
deleted file mode 100644
index 0094fe55005b6fa4f083ff9fae70951e3c678c6b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 562
zcmV-20?qx2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005`Nkl<ZILoEc
z?@Lor7zgm@5VZA1$q1t$OD&s=WxCRo%|iRd2q_aPwWdx>qj6L5M~2)NN}4ijYr!xC
zL(3^5h$)C9gh4M36&Zy60lhDRz5I5b6A4m`h6g@eF86+)^W_`@K$}6E9`K}?D14G4
zicC<1vlMh|axGko&yT9(`V#UYTA!<*oZ&15iZr=8RE2jv7vuUkcokz_2R;m30cRe&
z)PVkcP4dST^TIzZw4B0(FL#3wH*isedY#0i?5n_X*SWvU+%Cj);|X1xH(}i1Q=k$(
zc_hiqAtt%vVq3|&<tiuMr>EdqeyV<NNGHr0E{t5u!t?8PHMjsqrW$b1PE5Y(_TbfB
zH)j1s7_K>nz!^JWnuzYOB2;z&^UcMWy6MD(I>Z;XM=-8b?o<O>vxv#1j?=$?@bAa{
ziUP!9F|-}uhtbkB44mDAJGQMGoVSqlY*T08&mbnb-lUO<>AobyzICF$#D>Ak*%+^J
ztb19P1LLq&H{gtFK(yOJ<lUtPbU85daJvo<cO+r7(WV<sHstBM|D);P7Ih0p!5Pl-
z+S}w7^G{pFcMkXZ#E<Gj^wnck72_zh&=_aQ=OJe_D3&-p)G6N9mD43I_8(G}WD5F)
ziJxl-cZ=8k%~a|ur-T=7m5HhL8^Zm-AWC$=FZY4apb%LafB*mh07*qoM6N<$f(@?>
A1poj5

diff --git a/interface/web/themes/default-304/icons/x16/wallet_plus.png b/interface/web/themes/default-304/icons/x16/wallet_plus.png
deleted file mode 100644
index ee68702740af25dcd1aac8a1982b575fc0bd12c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 550
zcmV+>0@?kEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005)Nkl<ZILoEc
zOGs2v7zgkVBuAmE5=c6xq2q%Z@g2SxZ79eXGzx^wl=0D&g)%-DMIvbBG@{vPbj1+~
zEqf7&7PJY(MT-Na2H{F*(;{f+`rr2*FqpEz@WPLC59fUU``vR00PP3uJ7A)cX!0bP
zO#LTQYUyExrZy*=@#R57SYHEfJik()N2!ro8ZFn<#@J<i96BG?=aD+hxpVNze-TnM
z?%)7lv8H5kb)b4z@4B5>Xe|g4kPaMV(w!m_N)6ZI!>y{nytz?^*KMV`ZTX0h4%SEO
zF;qy32J%QKY4LsEso$16EAZ;t35--F>$xY5u;g`M=28}(G}<}11m1KGxM?S$R{CAK
zXtARlPn&b~#$a70#$3q=oXf!5u1dVTT7(5YL|LC__3<3glSM++JhsCYOoH=%3T7LQ
zhwz_CLi@4E5N9o<T+w_6B~8)PVI!3>bp)+Hdy)Dm5%WzsyL#4=2XA(i?m%j|1Ae9t
znQ`}Gx6>!AsQuxAEs%&bcKYs7-SP`hp}zYa*E1vd7V_avAZ4{kz<Auc^ZNz-$+&H7
zyP~+we<-ui99O3h`D23QGuA}*HwSj!Y1o+I4c0IYvseir-b^%jP+7O^kWtTl2JP*U
ofKL9I_DGZ34k$g!e2)RY03&VCAA)La5C8xG07*qoM6N<$f`wNB7XSbN

diff --git a/interface/web/themes/default-304/icons/x16/wand.png b/interface/web/themes/default-304/icons/x16/wand.png
deleted file mode 100644
index c07acca983133ad8cb8f8aedd71d9f5e767f38fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 473
zcmV;~0Ve*5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004?Nkl<ZILn=o
z&r1S96vy8bkx`O_Ya|+yut;E7C%qPe2ldinL(qf$u!D%uCfFehs)MJ92%;jys3Zbe
zrLtd?x1vjbK+rwt<e{6rnM~K*D17kY?d;6w%bS7oeF8tZIUw*TF$CI+83MP5jNICS
z1>A18#^G=P&+`CE0hFsWvEFBhL_1yYBsoZk7VvmHywmB7*zI-;3&`&hCHzR?{bi<1
zJ6$i&*W^;ERF)*^*=#nCz!|2?xlDhJo8Ke0qje~rZV}srhcw70lWEatGy+`XedXL8
z6L`oHp^(C{S7F*a2DH4$t6X-C>fk9ypkV^Uk6h3mpCwf}7K@dwR_h0q4F&^jEUDO|
zLUx<fak5Dum4wMeq$Z1^$YlI}<2VlVdVTdg(EG_5cM*_}9gRk-GX1GmtLp=PDJF-*
z;X3)h0Za~sLJjhFfL5!8l{w`ACI^E-MftB{av%_BUiSHXP00gP76hRwnN~M4C6jv*
z9il~gD*I}r6X`(Okv60iVXxSa3?uPMA3_EZzA_!%??X65gLEOPN=VBmfbi9-G;(O{
P00000NkvXXu0mjf**?_e

diff --git a/interface/web/themes/default-304/icons/x16/wand_arrow.png b/interface/web/themes/default-304/icons/x16/wand_arrow.png
deleted file mode 100644
index 5a9c841188748ebe95c7d85b89dac40e5a4cf192..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006>Nkl<ZILmdB
zO=uHQ5P;`N3qlBrm})~J(LfAhLMp{1#Xpol4@pG?SJE_M{E3uMa@a;AYV}Z+93-?w
zSZ%4HwOS=uw$--&Ve3g*TYvD-L$nJ1px`M7Z_k-+NOo=e;A3{)yl-~iF1VcxGG`c!
z_g8o}$l$fCB2b(jX7GGSW%Tk{Cj^7R)qcMp91aKQL@iGSm}_d7$rLHSnK40!=!8%x
z<Ol=;Z9bpRsWuqvWlPb5O#UgH<P<5t)LxN`#Uhtw`JLTv-v*DcyOzfT3*(OUG0&YW
zOy{pN&*2bTB-?DZ3s$QY;3?i$%Zs}VUX3teGKXV#!ilDRK&uIv*UF81Yd{%guxJ9L
z1(~3jKE=v%DwX0cm+LRd7K;VCF0NERDvU@>$Ne4#xeOfZXsgJgD5^3(|2COSU^bh}
z=Yj60<zOQN?byj=vMkf)X5k#{?)wSdQo}-nWtJ)@5(%B`IsE|k^#4*D_<BA=GTXYm
z9FNC!vb#MGyLx{}C@UBv)WCh^{nBzQ7Awm}`*x_ye1!UIbM#h4`o=j$Z}+Fj{|!_*
z8jY4^!^V1Wb-tDGph6gq+*6wK1)lxNIptW3=;UxXtQ*@L?t-0zU%p?R=REd-^Fy;0
z#5vCG>6Z$f+eES;2s)XT(Hnu<#JIG+^`S!01m0YMADH2sa;&KntU``!<aJ05vKCoW
zsv8l5vHAAQ)+x@7k)bz+!1*ZdssC{UQir5V(T!|D9Hr@~UW=Hjc8IsC_urVUYDgZ%
cyc${Y4{4A-M}~ifUjP6A07*qoM6N<$f<rhk7ytkO

diff --git a/interface/web/themes/default-304/icons/x16/wand_exclamation.png b/interface/web/themes/default-304/icons/x16/wand_exclamation.png
deleted file mode 100644
index ea33f5ef99fd7beba3bfcbdc1ff0373bdb443495..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 674
zcmV;T0$u%yP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007MNkl<ZILmdC
zUr1A76u{33D_<%f(q6WZ24e`5_2<FSODHQJoCP6^g%Zo!0+B)6Xc4IoY3(UWBGD<+
z$YfeJSEiMvWp~c`FvQAg;Dcb6hSG!{g0FLKGVhpv@Z;Qb?)N*K@7@mzbqKyI2!kCP
zyncWX4arzIj`bjnJd_z|ysCq;va%eb(Fj_t7Sco|FS}4b+JhmEoVWUNq0XfPv)QaQ
znM}1sMMXNfLAVV!qmmf<mAEK4a^B$Hkdw)z2!%p%jYe|_o>O-v!(IQ!4g1m1eH+I5
z?xEp~88hVk{QT=`wHn|Roma`*M+g)BXc-F7*f-!pc?s|;C+3uLX>lIJ1`skPAS#I$
z9K8-q$sUhK==J(PEUQ#1xKp1ke^lsi!8C%+2mv3QudCgVT`rd_)ALXFr5w0y-<{eI
zd_E<oOA(Y~JDpBhK6M;_)5t;M9FIQUx87ijCCfE6HL|>O2P{p6w+E8T{_h+oLzqp#
zcrR`(+wJz$*pYrTCt{`1ziUD9ZPFCwTzZ1QY%1Gqwv>Fg0kb~zZS$`#+*+xqs1Pgj
z^(&me4`LRPDOXihrDQ{a{98-nBL-=8{+ghgSorJ^u|bW*^*7y^E?ceEl+4B9PDHvJ
z_vb!VE`6FlA)bZZVmf|I#3zm}ah>1uz5^^<ES5C+>`A&4?Pz@WI9HmREf$HH!}0_i
z6EjD|XzwnG-}Bx*M72WRN8}NE=^6)SBbpzJUkk+I7oAvJ_R5i&l~jvQTd<8A>?aNq
z-t|~W6cAc>HFVN-o@#A`n7<Jw{Y?-hCfb`I(s2_cuLGL@0ST;Sk|g0~p#T5?07*qo
IM6N<$g8gVU%m4rY

diff --git a/interface/web/themes/default-304/icons/x16/wand_minus.png b/interface/web/themes/default-304/icons/x16/wand_minus.png
deleted file mode 100644
index 1217278f55c8ea0a0ada9ef7368be172d9e0a13b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 529
zcmV+s0`C2ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005lNkl<ZILmd>
z%S#(k6bA5fS|myvDy5?|BoYh`p%775$+m64MaE5$DM7P{ZPP`NEMo8hK0v$3s+3YH
zT0|7Bwgnlbt$m1f*OE>DfI|0$t^(~YerFt#xp`dpac1t^@8ryc`om1cX{HYwHD9-x
zepohB>e(LC$&T&t$!wSsi9}~C79(BPNeQ}r-r~r&J+`FE{aR6@g?yL{!_edL_+&I1
z4ciTl*14H+IR5+VQAMiUFHP0L<#M@VS=P@`C^SUx(cSIS*2TC-uXtehDV@E0!2|aV
zZU_g1!TCTSK=cLg>vsB@>H7hj$D0^?g&vOFAz35v+Z`Uh-9@ECriKY%96m~&dCb*t
zp-`wqB9Z?R_WS+xY_Z+`sC2N(iZ{=hHj6Z|Fj))d^Laar>pz;Nk<aI=o+o)fw|m1(
z?y+;ZTs174Uawbe&|=x)Y&NTeWsP|}w2vy@8r(XZ$z+u9s1tJAZ52+Z(@J>0Nw`@9
zJDf_Tl<*wv5Ut{Hsh;dB;bbzYg!|y-h0;GXt|$9)u2;gQX*PT?S$AO>zqE+M^_HCp
zuE7IWxEs3Q23&WZd*KRnfCt*(GT47Z4-CSLQ~Ti-=+1QV{3dA730I-rX>#ctEvWsh
Trel;300000NkvXXu0mjfF{%Mv

diff --git a/interface/web/themes/default-304/icons/x16/wand_pencil.png b/interface/web/themes/default-304/icons/x16/wand_pencil.png
deleted file mode 100644
index 1dfa9452a0dc64a0dbda40fc2b74dc1b71541764..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 598
zcmV-c0;&CpP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006VNkl<ZILm#L
zO=uHQ5P)YCaRnhIm<lD4kjN4&39YBiscUUYNwWnpvJz~N_>&$&4HAP<o5X{P0e>j|
zAf}XBu@({IHvY8MVtNo1FCIN8;=zmHDG+bZd22~_yQvR8=Di2sFf(r#0zQP&S%g>9
zE#5vv_^9cqJg&|otUS_LxO~nBkw~N?7z~0aieM6ryqQIRZ5}lq`T2gy0fmeY6h#q3
zq0qP_Nj^P6wT$f;B^G~wJ;`|F=Zj}ra=l(>nx=jBdcAw$C1p3VH2bgI>J;|O-GtSr
zcd+NMf)?5BcIRC#7r-+0YvkQygbx)|7iXyKOK@UjKkzj|d^gHN{hjb>0l`uMF-pAV
zF*k-yIh)Ngzu*6d%TA{gCX0eTRH)oT6Hjg-%#`3*VZ0@0G8tW_{V#{Z0XL}hA4so7
ztpV@P$iX25W7+9+x+(KZS(ag{yF2&|@!5Ms88%qDoJyrk^0o5_(P(t{DM^}O#Ugu-
zSldueCX*I<=>hhI!{Jn;(O`pJUDu}p2HVPsM53)+xr;9vKXc6E@l4q5_CUFv9FNEU
zE8ouJiqbFav)OD=UN6UDF_T<43Kse5X&4xm1rP+GDSNoAs;WsoMDv}?gScKEkgP+q
z5yuVkPNI|8Q5wT5tp0^fUclNB1r)m5Mr<Xv5St18W7$RY61lY)AodXSs{u<4W3{gr
k576F0bP(GKVJ*p~zfVCI=IT9$NB{r;07*qoM6N<$f-b}ieE<Le

diff --git a/interface/web/themes/default-304/icons/x16/wand_plus.png b/interface/web/themes/default-304/icons/x16/wand_plus.png
deleted file mode 100644
index e9ac4f0c5d40b0495a703ae72ecfef0e6957b38f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 590
zcmV-U0<ryxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006NNkl<ZILmdB
z%WD%+6o-FTjTIj;#7@PKNH91AHKn>r7A{nRT_nW^k`indv2D5tC5t3l7mbR#2nr%9
zgeGWc(MA!<w5aukcBhPre}GurxF~d$g}d>b+dO9axbSiAIdi|mxp&a*7bsp4c>TD|
zhbe)tnk2??p(gP0sbu!{RX-w;h$9pVK~+^)L^JOuMc{KyXdF48C@Lsq{fI`RYB(Go
z4F-dL*<h|L)?<K}U;Z_0aOC`Yt}WN=bwks%pFW@O7+z6#GjAtX#+|E(o@e*4@bZ!9
z>5qyvve)Y!_jo+Od%CZgPtyWlW<+ehN@L%`P~R!=>LV7-a_`A5=(7TACLjigHyp=C
zL`%-+^F|;L_{Xx_?Z*9U+vKBSrX(!9cpy+M;!<I>EoZY?Dbs#QQ53jbuGV?*{mh*2
z6)=yT$z)nG7dtLGftrGwm8~lcHds<lr_&Z01qbk4kqt22iT;W08_TIw$|{fVX0b%*
zGExInoa@WUWYQ{Mwgc5Yz*MI`xSTUM%6wG=DJK#MtDM^fl$|9ytTPvuhK=T4*3EJ}
z9=FN|w*U_vjDF(pIb$_k=VJ$0j>TeDxw%ev0C(*r+_CG-kw3?c=3drm(d%H)B=04<
z2zn(r8{g?3*nt~6zq@`PHYk3hd@~{c<9^~OG1iFP#34d$Ovm5%5em-Oo?yiG17~ez
c%5B7^|IR)SyVjYj6aWAK07*qoM6N<$f@F9OJpcdz

diff --git a/interface/web/themes/default-304/icons/x16/wrench.png b/interface/web/themes/default-304/icons/x16/wrench.png
deleted file mode 100644
index 8c01122da620532336f7742f6d524356605d469c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 643
zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006?Nkl<ZILnQa
zU1(Ba7{{L#nmSYQYt!Ke%@6!WouBg~&rDj*raQV_1xeI6GlDLHpopT28r03`D(oVP
zZoKp+bOl>ZB1ePK#Tx5QyXkIpe|lc$XfXHjz>fnj@B4fI|8ow&fw5RDFf%iAh<rXT
zEffluk?RE9swVqsn%+Aom&+j%i9j}+Jwz^-lNO7``Q_#Mr%tD{t57KBi69gT?FnQu
z8Duh<<G50-RzGiV|73%~z)N!2=kq~2ogP7f8YU+vPvYjr#`j%@VXAo8OA@D2sS#Yi
zjq)2nQPi;{lgT@+);E^m^No=N-cqTw)NZ$T<MB8HX0sWrRx8-;c5t~|;PH5XL?j*Y
zy$r-+vAfOY8e6M<>`E3Em@27LsZ`b+4hIb)k*NC~R4NtdbUH8^jbO9cx}rcJFolwP
z^?HpZlJ)g&lE3A0`K#0Ee5lcAlt&8OZueEc-+#Z+_`;5kjy@3zh0l6CLavF$;vuC{
z34H}vX*wJZKVDf`VX@W&tT)Z)^Wh*UfW88Q!H|naV~eY+4c6-&dulS7vLw-|1X`_@
zP9&(MX0wIgJorMd*VFrz`UwUH2mcF(hlleNm3-Z5{b0w(qp#Fzb$-86_okz!Czzd>
zNWI<M{Kdv%7vJEoJxdZvBoa7rP%xKBTzbE?^_z{ysdpG{P9PA#sRuVd-`V+tH&Y*Y
zJl-u_8bU~BIU+^G$aw?{10OkuaFDae0B|^*DK3}0h))I=+=vsgA|~VlqD54Q0wJA*
d2(KqO^ACX?&Ib`FWzPTr002ovPDHLkV1jefC%OOt

diff --git a/interface/web/themes/default-304/icons/x16/wrench_arrow.png b/interface/web/themes/default-304/icons/x16/wrench_arrow.png
deleted file mode 100644
index 77f2f3ea3278a4c55617129a2ba94f26ac3df916..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 785
zcmV+s1Md8ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008mNkl<ZILn2T
zYe<t(7=T}=6Ym4v<~DIkyNEg`bIwiOrF~Ax)ZE<EAFj)alBsk7i|j@bp+-fRe`X3v
zW{~u2M4=YU%ZT>n!U|Nh8)`xSr2nV)tRh6S9}h3*@;>K%&v!oHa5%u_av?f88gg@U
zp`oE+3oe%{wXv~r4|0eC01^b8PA32rh(sbVnM`1}+qd9wI8r?xPwV95#PhYawGDwl
z&`JfRrKP_Fd_EuQ>gsl4uix)~v9z>E3<mv8nyl05pr)oK0|gSOuCD$cN5kQ{4X@Yh
z$7C%ny{f7z1Lr$XegqhX*%6z~c03e%MJPI5F|9z`-rnA~y1Keyu~@v2lam8^d3m5x
zsi3g15Q>V5fR;#mG#ZUjX0!QJFgQ!b$Dc(cZEapZZD(w3Y__1FzzHcSDUg<y24b-o
zva+&3p-@16ettxx*XwIha(ZH7oKOkNMk@I+I5_xHtyW*i%*+)2Q=rjk_LY>BoSm7O
zCNi1qN>Wl%_irvC`*}QGx=<*DZ3Wm;eOX!A<v<`nu&wjhUVVIgJjk70pm3dwM2W@*
z+Y01zxx-{K_fAdC5UsZOs#2-6t1247bax%hgI|4?p>Hfkx1s+dsJrJk3#3x1(`se<
zg251ebHk17>};p%#6!?re-FjC76Fr3-x?t_>hFATZxY~ZbTN!=AQXB>%F9jt5{bkm
zx1WK6Yj1qGk)<Rae8jdqULm)?5JJbe=KdpSs;H<Mo}XVKX7lbLe4S0SB3aiom_|OY
z_k1Gc@LNKf!hh*pBm~!4DrmM^D@PU<)``W!+{fE(PDn_g4-S&`ZV-1o^@-Y^uoPN>
zet3mA<_Mu<Tyq0%?pa>`jwdstadC0SFfSd!>jgfNitwllNlb2eFsBL-lI$LRomhGC
z0M13xU%56mHnta|7bi4`8p%VH$Sy>Rh!H`IvGX3cejprEcG81mF2eZ<OC&WA12tbu
P00000NkvXXu0mjf-x+Gr

diff --git a/interface/web/themes/default-304/icons/x16/wrench_exclamation.png b/interface/web/themes/default-304/icons/x16/wrench_exclamation.png
deleted file mode 100644
index 597b5229ef4ae759d7f54c59262cbb4147fbd060..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 832
zcmV-G1Hb%<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009ANkl<ZILn2T
zTS(JU7{I^3H-?yk+q}%Y#JuFZrE}i5xxdpiowrSeLdY)aG=v_6Bp-~(3)Dj*QMnnK
zRIu#Av|^g2&TVcpQM1$(e3+S~prUWV>74Z-VcElvkMo^#e*f<~=lsFJ!2z6|ox#!3
z5yHd6p}4sC01Ab|v!tXX8*`Qb02~a+<#GTb@bU2hp->2gg@p$wDk}1<sHmtK8XA1N
zy1Kf<X0xk^AUQetw}8cBflMYlj8j^zc6f1d0VO3R-Xfa?0s-Xa=K5g)2Xb<9{>R0s
zsSi6!rBaJG^GWGhSy_HKe+kRa15MM1B9%((EEY2&2n6w@0)B06ZM)58+YyV!N(c)J
z10IhDk&%%Q6B7e*adALOBt533rBNc0=(52uj&!;=c1cZ*QcK#=Xf)$dQBiVmcXtOS
zlL@}Qz7QA~2q7UM5D^h!7bPYp=3z<w;Ghl>iPdVaWLKq9nWCek8~y$Lz5XePjg8Gu
zNJzM%*N-7CmwT=9G-IImw$r?_oYCjz=2q_E;o<G&<pqBg;FbzfQc{{mMn({B>#8FE
zSlML1bNBA1`WuOzt&R*)k{kS05F8v_BovC;Mo0CC&yT+z8X8(?dO^vSt=Z<Edm6N4
z$uyI(@i_&AKLh~*0dk3iZZ{Y#_|B7V1_cGlRc)?LhCT=N_FCH(euZeu*0e>&dJW}-
z*%#o~sGw=-eT(HIN=+4Za5x-A-8m0<|Afkz9zJ2*wlyMrg=lTQ8d+a+jU@l>@xGum
zBO|MOW@Z_QMCoe$I!h&~OwjdE)KD*VcjZ(0#^>3SXrR9y%}%GI>50@0k|*;-P$rRN
z_Ri0LMPf1i5T9<DtE(%VDWKq07nMBrjBQ+5pwaRi-(CTU%X9H)<mnM3nFqYMb!q7b
z{xbcD!C+M4Mcx>Eyuj+aLv=5hxZl^m@X-3=akRJDV2^|a<I(k(_b3(lmGfL&T-tC{
z;!UxbXbcY%T7Ln0I&Z*aXERvU&0tZtfEhE<)dHpmtzc}ZhK^r<PFjhidaX?W0000<
KMNUMnLSTX*IEtzO

diff --git a/interface/web/themes/default-304/icons/x16/wrench_minus.png b/interface/web/themes/default-304/icons/x16/wrench_minus.png
deleted file mode 100644
index e0ac40e395c8af052fa10f35599a0369a2bab1dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 684
zcmV;d0#p5oP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007WNkl<ZILl*X
zVq#)oW@cvi_wOHrnwlDerluwXIsmE>Vq|1A12QE*{MD;h?*dZKf`fw@7(oVziHR|&
zs;V*w3kzdt25J-%5D*BBj*be`)YLLHFfb^6{rdH0OH0dVQc_Y3j3Oc;3_uP89^jRh
zmR6#!uI3mQ7uR><#K~S$Q`2WaOQktDIQ}zwdU`St0I6+lt-Z5m%|1AN`t$}M|E!yv
zn>5hdfh;U6-x-~pobc)fdNHrPy=@|hot2f<clz|1W!c%;@s*X83DMEf<&5g;>fk_x
z1ttswO$X7SFe>QiXz%;-<uikzpb*3S`SZ6F6cqSeym;wYQ&UqPBOf0h11l>l0~;F~
z3T9_#2Z{Rtv1WaJT^BbuH&C3F;s1YzuRzULCQX{O<^B8jvv3*!#C||=t-ikA_W1aO
zrk5{YvO#_I9f<D(UAGHp$xEyT0QvsFs55MDZ?DhG%d7eO_wSXvckgaQ4jY&&F$@5*
z10^M;ELvOJ$_fh$T0VdNbXN7(uMPZ9pP~eA!0+D-e?jR4*#ICNtgNhJ-`d)lTU3<W
z`{Kom<0`*@uT2JOX2udjC<Xv=h?bU)TW9Bl)PjP{srT>SJpdG2)B5ls0}}(oOhyI<
zV{`-l1JeY|fG`6CWAFa{>2WzZ$@8vVyRs7~w#xebdj^*uKR{~F#K*;97_e~BBCrAB
z#>VEp)2A<tPEU_na^b?+Ex&*NUit0YH?SfXAa(${;13oTuz*~^#l_We>C(gUq@?iW
zr%oL^@Z-mijS$x{{Db1ZNNfzu2udu#9B2Fg|NjR-n@>PB{6WLN(da)=b$<cq+UjD0
STA=j+0000<MNUMnLSTZDvq2mH

diff --git a/interface/web/themes/default-304/icons/x16/wrench_pencil.png b/interface/web/themes/default-304/icons/x16/wrench_pencil.png
deleted file mode 100644
index 937788a6fe16a582cac4b85790f2c38d21c018ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 755
zcmV<P0u23$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008INkl<ZILn2T
zT}V@L6u{5jm~Ap<%*~H$>d-lH>SUX9^W*O0dK+zXxw%bWdPt*eDn&t1q-OMBO7$Q`
z5Q`|o2w#d-#Ad=wM>I*02o-x%UwRW^kN?g!i)>{Ve%#C9p5Ol*&iR8tAOMj_1VW(@
zs;a7>qoX5(U@#~Tg+j-WlRN-GBM=A#0C+(`K>;uf13sTG1Ha!d@9ysIotcTh+uYpT
zRw|Xfyr8kM@rOX6P=MF#JqUL+8l7ERTO}5Y`8J<yGMT{R@f4we2A9kAKTa<#ecBF(
z!%<8&@})bS&LWHtp!^iDEPEgv$DK>1J`x_2sh+RE*x%njv9YnSZL`_JP+3_CTCEmp
zYHFaat_}<a1MnsCJ+`#8P*$t;LNd8PVzIZolD@uhly7HxdU~O@wl)AVnGAAsbD^-X
z5K2o+p`xM!s;jGaMP{?P4JDW2@fhJHi;KIJ>_j4w4?3N0u(-H5@1Fv_UVpryq2coU
z{CiSfUVdFFm5%N)?3c;LzX$|xk`!hCs{mVSZ)$29NhA^k+q#PFwM!%t=;;*kJE1;r
zu?&%s5%Q9v5*Y%uTJ2{T>)71fJTV&UZ)h|cU%N{M@kt6|Pbiz)?H)*{)5J;BcOKzD
z_6bT#N&*fCJCRJLaORd<DwQhW=8pVIesQ0Ao!+`a%F4=y<Z`(#!q4=l0Jky7vfP7I
z>N9C>X71879dwxUGm`HOQ?p)H?8wQ<f!_t4t*y?-%gbMh)oOo;+u6w&<na6&WF(JW
z1kPg@gIFvE*b{U)97mt7tZWgRjh#euS9W$bgzNy%hC%aZGG~GP5B_{}ef=Ar%ub>8
z42JTNJVY^mmKr5Ht7Kx3N}RxJfiVek2oWJdgyOGqTUJ)q7{0?8&?7oTi)awi<Dp*J
l^pqdJmB?X4iir0lg710E7S(4xx3mBN002ovPDHLkV1n;^U)BHs

diff --git a/interface/web/themes/default-304/icons/x16/wrench_plus.png b/interface/web/themes/default-304/icons/x16/wrench_plus.png
deleted file mode 100644
index c187f255fab2a22783606fa7cdfddcc928349c20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 739
zcmV<90v!E`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00082Nkl<ZILn2T
zUr19?7{EU_u1#B8?w@YMInqts=48%o{<~YduBEBDzY0OnsI+MWJqSS&{dp)sU!)$a
z2}u%(k9!HVK+_TJrXW3-7(r+~2t7#er|(?<P-%AI$9K-hIludT=bj59kq8)u0kK#N
z6%`c_iA44hi^UZ2c)S_8Kmh<90?}v`fC`F=ihyNV2!%rX2#3RpL?Y2MGc)~qV`F1W
ztycF?L0w(lwm_v)L3?}qVVp^)({EN+Katv6&k)`0a=D<jwN;M-9kjHx{Ey2^ON(2{
zWHODLowW2|FsR4;Rg_-@j^hp`5C~k$X5SNv%T+@waQ5}}4X>}SZ~1(_B$StzgT-P2
zo6QDQRaH=3T@AEE+GAs5V~*GBy`IS|kg2Ixf~2=MnWpVbPEIaVR#rwqCX<0usRXT7
z3ne8bU^1D&YPAX?kH^!7lK$!GDMBSYFI4g~l}f#{+wHfCi;Fe?6gV7?vu?Nh#{B$S
zQd(MiS1Of0*x@#EUM`mxYBU-+P=GCU)YsSFnVp>_*w#&KuOlxn514cEJ*4geI8abl
zRu*Pi@4(#LJaIZ}?wif#kg?eW@KOaZp&mhaA=3G%;!lCWV2Jwt+;Aq7#cy6aXfzt5
zdd|4La7+m>uHrBK=qEG^^WOz{8)F<7c#_S2Bn=JhBb`ncqZPr^0)Uia1Q+v^_+~fR
z9Siv#L1$A_aBO+`Gx2&)j^gd?q!mdb#{nJ-@c!=+@;5Y31zmpssqvMSZ^Y;0p5y6u
z<>%+a-gEj0z>sVN24y_O_LU{OV<C@=AFi!!;+we_5{aZ6w-h3Hynv?!*d)l2W5`js
zCtcKiu@a0Qa4tr2=&#(Co0~g;F^LHWVn-~9899L%5G|sH5c3SKFiQ|-QaEQ2(J!pM
V3HDZk?|c9N002ovPDHLkV1l(WPh$W8

diff --git a/interface/web/themes/default-304/icons/x16/wrench_screwdriver.png b/interface/web/themes/default-304/icons/x16/wrench_screwdriver.png
deleted file mode 100644
index 123eec587ecbae490f92e354eb9fdd03c01285ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 810
zcmV+_1J(SAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008<Nkl<ZILmF4
zZAep57{{Lr+nmlcowIG?#5Xj=q3LYmUaxCpGI4L}m&%dNrXh~<5*AT{q){IdKZGbz
zR#bkNv0|Y!2IU$}vWcLHeRCFsUqlLmxIJf0Q}Mu$d+)jD|GUq5&IP;O4*Rj$Y+$ii
zcEIO!oIi=Q5&%GofYoXR&}y|Nym2Dr8k;1c#>U1NX0tin;c&G3{nIniXmnE~615XS
zb#?VW0S@QJ#s=Hg*2WkN1|To0s;a<bGHr9p>-D}}S^2^$mB;UrutK4L`uh4T6vQeq
z6&4mUp-?E&($d0^a7jrC=yW=$tE(fNpP&D<>2kTexVC}>j7DP?&R<0NIoKWr1qDnX
z5Qw0eDJm+0;^JbUX&SJqu5kDxOHe2(Nd*<1ot;B#YipaheHZK=`T6;b&*zJ%)oMl}
zk$_UEq%<0hI~bg0r>5S-Bpn?tFWJt-#KdfAX{i<VkG#A*#^dos%FD}{va&LZN~P+V
zo}OZfWNt22$=2xTXh<%XU(3$U&V++TZf-8~!0ldoFAyv)c6YN_+0EqS<XdsBBd1eS
zQ;%e3VxG_EgHR|0QgTjC4q!t8d(bqQkg(1U46q&^FWM^>ce%M-NK8!J0R<2fq@<+m
z5nwaTYPDuCaJH4b&EtLh-q7%KnWA1UQPic+6a^RJq5}monarx!(?h{v7|&dJ$DWqv
zeho0U<#e(bel<@~%m<XrApIN;oDm5A3&divjiwDF;qW3`Q==Z1N~N}T{K_OizXv71
zuooEi1u5zZ5xl@&Js}N?3z}+cjSm+VzOovPZY(1sqlr{hiT%MaS=|2|CBJ)nSq%IA
z6m@mCpjod!@pyT8oz-gTaok&TQc}{MQ?VoCD0zgEKYe{HhTlB{xDgZJ;(^uGANXbZ
zDV~TEr$oqM@(M{n_{bqd*aL8H3?<}rMgYPiM8M&2nt43lAeYPSz{g|AQA9=pq`<gL
oLjHC{?gkjXj}iyKWfe~R1s>cK2xcaj?f?J)07*qoM6N<$f;qu@#Q*>R

diff --git a/interface/web/themes/default-304/icons/x16_sprite.png b/interface/web/themes/default-304/icons/x16_sprite.png
deleted file mode 100644
index f64f7ce7cf59c22c636e3e28ee86283436774c92..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8569
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
NWqEZ_1rQwg{{T^r?C}5q

diff --git a/interface/web/themes/default-304/icons/x32/calculator.png b/interface/web/themes/default-304/icons/x32/calculator.png
deleted file mode 100644
index 703031eea066640b72ae09e59bccabdd65124ff9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 555
zcmV+`0@VG9P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80005<Nkl<ZSi{AZ
zPl_5r6vls*?uC#HK|H`5LUApkE?frm28QfBMh=k8%y<J`xbY0L5LcdHE}#xf2;Kgv
zmqoh7*6vAHb-@%!)wAS#AK&-hvy_OCwT8ptcRa4?bo!L_y~-jm7!157H)}SV-H-^g
zekdXeU^1CJ_((h&jeg|a<q<gVyWOr-@@ln8p3S)g=JR<6AP534(i=SBu@C{^<dcBG
zE3AN0>IiWE?cPgvHT{QIm;i7DsMqU=2qJ>k`sQ;woifjh#R7m{uV?%}+A6U3*?#Zg
z<tcC|ld#|KpVjyu-n$k&|9bW%!qKS+!!Yz^fgOQ%yZr(%9*?~YqV;<HVnx7sXF8zF
zG96?)ij^UvwPv|o0?=$W0jy%J^%>7b0d=Xs<$r_io+#i(z$nn|b^*@yU=t@8<p^vx
zo7BBc>`EXd;cB%4pwVamSjA37c&&f|aM?>)U=-+dIw_BBVy7ZBZDR;*x7*acO`Kqq
zE5b50;KhOun***jaNR}DZRk1&i~`qPRG7fwaQIYa4qRJc@Cp-%<2dwL0|u`!fhdXs
zpL4+A<q}Xz-2tD0ufUgDtrlE9D6-BraU91%lBW**0bYUMBJ!50z<$3E09viqPfu^c
tTm_Vf+$aE0sZ<6&pXN~%&5~nEfxoCVbXXi6gt!0z002ovPDHLkV1f+M{(1la

diff --git a/interface/web/themes/default-304/icons/x32/client.png b/interface/web/themes/default-304/icons/x32/client.png
deleted file mode 100644
index 1c9b5dc52d355fe67c9ef66bc26ee630610c363d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2410
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

diff --git a/interface/web/themes/default-304/icons/x32/dashboard.png b/interface/web/themes/default-304/icons/x32/dashboard.png
deleted file mode 100644
index 240d3a2bad9989406171fe2546b439ec6259366e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2025
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
Hu0mjf=H1SI

diff --git a/interface/web/themes/default-304/icons/x32/dns.png b/interface/web/themes/default-304/icons/x32/dns.png
deleted file mode 100644
index 03e63b060048b3bcbb3e3aba8c98bc4a9ee5d582..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2049
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

diff --git a/interface/web/themes/default-304/icons/x32/domain.png b/interface/web/themes/default-304/icons/x32/domain.png
deleted file mode 100644
index f829d2cba2731923565b46a1011d206083f638a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1518
zcmV<K1rhp*P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000HGNkl<ZSi{|x
zdrZ~m8OJ{d4hIf!C^xwrxp=53qA)}@>J2MJ1ym|xVFkq_u+~{GxR_WoW^X#1g*sT%
zR5Mn!Gqarwk)d5o-Lft<YdcG;)w-6g;$>cI%%~b&$@|?OP#X07kgfc&>`8ukf4|@7
z$#Z$1_kEui{x76%5Vp`}&2j>UGYFf9WpuKHGgNYxM*}(t@{7GE`^Hk+H+nf1ziXD3
z{^3WeIP?S25GS$&+WOd03+DH=p=Cad*Mtr&h{Z&*9JQZ)+uYK1wO>4FsI!X*|5uqp
zyiXSCzZ-DeUBgOpD7DS(|JJkCj;rmxV-=fuE<ruIWzP1TR_^X1Q5f6<lu^wyZ1Tw}
z2V`zrMkICIpx$4s2o#UF#H5JjLz;nVZdD&zuS-1_^zQZd46B@COyCDV7)!Zf!8~`?
zvO95Sf&Ti%-^{^lZ<>j_CX3=&;dB%Z>b%@Go$veUFV{Xa$8H|e%EM2Ja;Jc2DYMP6
zV4DZlzluy&`RUW{F7saZyV`MKhn~6clwqk;B#(Rp@W0D(Wl--};rB*jbB-?QygF_l
zQRHTi$aP%>a(L9Q&4SGwXl#+Kh$kHS==yQ9_wrtC>e?i4msftvgT=^{-l?=)fPPx{
z=Pl~E{=Rmf-(y%BAmW1#0uG<d9dr-~A7~`r7D|Ov-b0U@UEMpi`s`{=`csx+cAN-{
zZU=&WI$spHgcX50^2Ph+t?oZ+PHU+s4i~V3M*^!X*qVVxl-oN_kNG)eF1a_k74v+Q
zSP(8!Gj96apyhqrb5YQVi7oj$diw(%=-zKw8zv^)*99a|?mTM2CR#734EJubQhP|x
zFeIk_1K0?-eCn1uW2v;O`Q&!9|LT6N>v+<zFhm5|TX-NK*(Y<_UjYK|Hs(LzyiNsX
z09ihj%lgXqu&dFwE=q@QzHM6n*(%T0v0_ThZD1~?uIDXS+3=nHr6FII?5osoueGW9
zT(e=ZLnMa10|c`$^tJ^{7#`<y!yjU?T|3XcYIa<DMRVGU#he%c8z>GhuwV^?8+{Cz
zd&j>8cP##r=)M4=S|c_ls=d2S+plhuYeSUCjK2y@WPa4^7Hs;^`gsLOl#t&4ec*w+
z^&fVr`pr6Rzqn2HAFnkm2oaH?2Y}!~ScG-vfUO1>wVY>_zj!P_EDRT!_s#3qbN8Km
zb7E^*;!w-Q7Snj4QR7=Ch-pazYAA~HTCm5hv#;uJ$A5P;rE5p$KC|`Y%O?EC31XI8
z&^H^i<Gu=@b6j(#wtxPz8qPHsyn(_K_bCuZQQS!jHh%E>SCY;un?Ahui8*oeBfWNc
zkDfZS(NOLb39-BS^$Oexl!R!_k$Us=>8Dln`$9uOobdO5k=zj;pUiH539t_yz;{`~
z+7O-o*D15_%06v5y+w6hwX%ILShzj!^dH6fNlpGMTxz=VQ?vfudPQuE5E=L103M<s
zxzU2nyZ5%rbBtkefL{3cXXY1ITD1DqYR%}FW+;vn;jzC1oK!@??08Mvlc$C=4XQd`
zX_y}>qNCmd;s#+uy!*|HIZ92Crth7m3BOJgwGJ^p`|IYB@2R20sWm6+&C1VKD)aSp
zG4*}{>&W*kvtS$U?bz9WF9_ya35UrYC9=ng<Z+(^P5l`>nDR;3`fxRz|Dn8HUfG`r
z5-FoE18K}mIqrj90;Ucvd$;qeH$Na7m=8<=LV7!8ikre{6|@(ay3RU1csQ?jfrYq!
z!|2Gd6!~DGu2#!N_8-fXv?g1vQ}t)onDWkYjo2C?GA0P9VCuL=3+5fZ#*;V7Wc@Nz
z-p{<6eR7szQLu<fJ`Ti?=lRltr4EntoV0A_MJwZ1X&U!hszz)J6_e8i{DiF0-|@|C
zFZjGi{?{^T>?yuIT4awA+2h5?q*FltJ=r&wtWo`YrSB$N*!N7v;jj;Z{qM`a0r#3p
U*q-cj#{d8T07*qoM6N<$f+U^+_W%F@

diff --git a/interface/web/themes/default-304/icons/x32/drawer.png b/interface/web/themes/default-304/icons/x32/drawer.png
deleted file mode 100644
index f94f6b68f13f7d2b0658c0f8af8af72077340ce8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 941
zcmV;e15*5nP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000AYNkl<ZSi`-S
zy=xRf7{;Id-pyHD(o0A}u(L20+V}yn5G+KnvsUn{Rq_Y;2lxf15y8rUm0%<I(Fp2+
zfnbV+4QZ^x-6hKH%<S%rMRvy9*}3dRFBw>v{os9`dFTDj%vwSS=<Vrw>k5DcjJ7?v
z`Ch!%A6mMBC+7}CT$#A_p=_dL;BlY$>5EtAMydSy?NUpcxZP*Mm7Pat%OiIjXQV^#
z8|T8Kvli}r+%=&x@bHZF4FE1(yFLd1NkT?yAc{f&z?+wgEdaRtNt`TYK(9sL_f+3?
zUHHC_AP5iy0es(w=XtPg8$t-=d5$zqK`BL=reKUAO;co92EE2~9c6$QFXA{xr_(8Y
z<Tws|-&ZC)&odg(#dQPY<Ks%FV!%M-fizKPKnMXL1U9<ezZtMBxV8<~ap2oFyrS>g
zHXO@BE(9{pk>xp3&cTX)#yRpL@Km!|#IBiwgKoUefXslLyAxAWa9tOk=hYS=V@%b6
ztb<k@m*Nht0d6)Rgh033MHq(2^Be%My1Hr{-Q?sX2q8$41e8)V8jVsMA%xPYor3=A
zl_T5P*#Q82-`vFfy;q7F0En0FR}77fja4wzb?p8ZT%a_1JtOjp<4#2^jyuM0^*B;z
z=qYH$afJc^SiEteV&XTYB?>mX-ThC2(Y^M3{?xI77!JxpZ4uT{APES=P_2fJ<3I?3
zEX&kVOes}0vo8vG4FypYq0wl-vMj8utQaYno}NaMBuJ73gpg7ZDg(7s(3f&~PZ<Mc
z4BhQ*0Kku*KaCXVYgrgYr8r_w3V4wPApjx3IS1!l-S=OEC@_7i$5A@N*1*^G^<4@a
z2cB)iFAgdu3Vu<FG|$0`Jz=BW-bWGg;VC#XH?1}#ML{82OTm6IJUKI?_JJsh5QZVb
zFof^>B?=?~gb+nSmSy;|wl*3HWJTMyjpgNKBL%awv*`7D==FO4L4jcjC4_(wf_A$N
z09f1FGE<<f`#}&Gm*TxCfZ0f;;)i%<iZhUcG(Q{)q)x>Ep~F*f`uNd*ra<ac4Y2Zy
znTZMGsaRgF>y}PLS(cSfLur~KFE*$Crt7$tWz7M=<s*MH&}=p<#U%FviK2caV~l}P
zs`ddw2pD7P6eVNRwD>11bX5lAi{~#|EgWLA0H~kPc?Zu9L-bva8?yfgyjc0wR<uoV
P00000NkvXXu0mjf)atS@

diff --git a/interface/web/themes/default-304/icons/x32/email.png b/interface/web/themes/default-304/icons/x32/email.png
deleted file mode 100644
index 27706144ec8420945b3862e3a54db3487c928af8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1503
zcmV<51t9u~P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000H1Nkl<ZSi|j?
z3rtg27{@hkCT7{(!}<!wWn>f7fDk4|3e*XrF5p~<n^Vx?d`y?9aq2eQBXeUzg)z-|
z2<SHFbC2l8TtFwH3}OLAUWEcJlt-bZw6z6Vpy$8u+)D)nV`gw!7Ekie?d7)TcfbGl
zedioTje0o#Pa`n!yCHvDv7+U{gJrVsZ+{N(PkeIr?DUj*^Nu#Tx<&*%FlbQF;As8)
zQfGL39X=lrcnX=BN__T7Cp<j&chIBpBMM%$=-WZ}{{Dx9e0)+$m%VZhX-AvTZU)QC
z>0#M<4i>py4v9qe;Ru0`3<gWnw$GoR-W9nf3qPMVqN)~5Spx<dd!miVtpxIl9GEfV
z0C(Z3`vxyv+7Fic?;j_Xro_u+N3rX@0_5cNqKcq3DnQf71o{t0EXd5a;jdCatp$r*
zSAa>9;7|V%blI|Fqe4QGZ{G(8Cr$U4CjGQz$#HxUTLJlX2;kZ}psATbZ(y)k0gKsz
zm>4}uYJoxpLy-c=FBDwpqG_JKCpawZ$Q`yP`343g$-~2cL{e%!Zj=FvYA_XnwJi(=
zBf~8VLuZHJJobIA$4zB7N~(Y|B@?98gRNOtgh>;Z#M~9Ue0kcS`^AfsSG=?!sbTHf
z44gPa5mkUGlwfKN(9+7#PGGB*p{t9*-Yr_MD7PUkU5A=_a;KI-Nvc*c)KYr#<cwU1
zv(eNOhJAtX@RPzdBqZfsnJmS&`JHT>J8wm)0<5wcsMj#G>KKeB0#meIHim8j_x3V4
z9Afm*yBpBZ?0|}Zb#)B&^`bQNTSGfo#G5xTWpe1gySfk>nqC_ldl`JbUI&=b1nAm;
zHUnTZLx|Ys1Up19V<P;I3=^_44QOfv8mSnYni!g?Hndt%IvtRm2e`W>^bl&|UGkq?
z85MN~udhDIwr~3#$%%!?zNA5&+KhXR=v_518mTU{l%f_6q{7rQw6%#cP?5G<z*a@v
z#N^3gal^iVhsSE)O`9&G)e3g@stL!>X%L@OjNN;#VDpxX*tYd5Vq;2h>O=#s7nxva
z>lWaN2b)n|Zib$_<%G41G8+5UL0yu01(@l6sF!e42f@u|^sVFZb){uJ$hiqzqZTTr
z{41#9l~h<I6&B>nb@=U96%HnpVb2G}*s--732{nF4+sbWYN9$Zn?>Ea)h{b`i=JFq
z{%Rp6NMw75b-~wn^Wu#guAq%vke4$QS29#oGrr0}O)t{e0JOG>FcW3QWa^=7uVB9u
zXt9XmHN(}>(JwfFU$TH%?g<@3I)dEnTifGQ#l?2qpry22fHSDn3=JBwxLRAq{PLF&
z!4M-H0PO4(Thys;$`-HLatdVcmwL?eJ;`A&4|;(yW5x>CxpOxyTo;uCtBqQ)MuazN
z#H!|So@bs@XT*0xd8csM?YvWjGGSG;Fzwu_#$2B>aB+!Lj~@NVSA=pMl7ay)R2RtY
zP}PI+$eXo8;oN4YwFAMtP5TBbECAl#SOHIuR7{x~Rzg#MO!6U(9kvFXF8I8-Az*D}
zHZ3$@PTQUEfl)gx9suSm1G|uE!>W}<m^E`>k7S~ME={?W<VG5O&;3BH7G01^4^-vl
z+9=;(9L_8JPPhmbqqW;WEow$sXb#-mqOIe{yJyfe5u|DNwGDfDN6laT#zkRr-rECh
zcNP|ZW}-s;=8zV_3p4Qi3tM#K#!WiLH&oIy_k9L%)`Fk(K*iO|UA)g3kDkMwU?p|Q
zt{n>aOHbfA*Hu(lW4@-JEFe8LV#lvJo{_#QU%MaxZFXVPWAglNY+QdGK0fgd7ncRs
z=xguy71pC8diHD6^||1;zvR*dJO0eFP+{f5%j=`A2@;P?dh{0Q*#~~)_V$kS3<^qx
z=bUYZ$Df#XitpYe$-nZC#_7{=ew@yihY>$wKOFys@i&X~fL;lPhU)+T002ovPDHLk
FV1knW)B6Ab

diff --git a/interface/web/themes/default-304/icons/x32/help.png b/interface/web/themes/default-304/icons/x32/help.png
deleted file mode 100644
index b6a7afa49b744b630166c00cbafc140c82e9cb4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1950
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

diff --git a/interface/web/themes/default-304/icons/x32/login.png b/interface/web/themes/default-304/icons/x32/login.png
deleted file mode 100644
index 7e81f556f71b42d7d3709d625e62fd3a3dfb3260..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2357
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
bm(RZec}4<mFaLD-00000NkvXXu0mjfvV>cZ

diff --git a/interface/web/themes/default-304/icons/x32/monitor.png b/interface/web/themes/default-304/icons/x32/monitor.png
deleted file mode 100644
index ee733761f28ac55a35c071025de9d7aa2368c82e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1244
zcmV<21S9*2P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000D|Nkl<ZSi{Aa
zZD^Hc7{`D2^PF>b+;FzFHg%hu@8xvHJ_v@i4`N33MG6H?$w38CVPJ$<AHqI}1VS36
zLW<ItkWtD=GO?G5pjq=}Ik)LHmT%2%&U5C@bN1ZV)ra%43B|U2q6;3*&3z8{`9J^b
zfBmoPHjELfiZO=b;^MWA;}{Xq%)Y9mKNZ!?o*EJB#$xdXpm(hE4daNqy1G-_w{L&S
z7)Jfk2*C6zyXQC#TefUT?%)5#^szvM#si?Fq-4gFDO1?HcOS0nAfjLlghD8acuB-s
z01}A=>(*_cqM|Ya)BwjH8i4Qnl1wIPZoWiiMFnQkBzk_oOz+8)SnCs6yqM^mISlpo
z5+97SYSoKa>jOArojoo98JdkTm}r!XpMJ*U-5sp1+lYJf7L5%@Ih~i!BOBJE@%RHN
z3Iu>iN^BTI$C<M{(|?oo{R7Z=3eGoCqb^kq_3S%)7A-GB6>K^sV}&z50O{8WhjAKz
zWX;Z<aQu7pN(<WA3Ef>RABM8-b|f76FBq_?w-Ti|YKb&o0do~@-@>%F!{y6Zpfs$s
zt0Iyr(EtG`polj_ys8E{`Xx@@3{1~0xPF~PGKufNz`XhRX$@E_L8d@Z1@V2n`A_my
zE^y&Aen$uKWD*mG_GRV#`si#Nku(Duv<OosG<@eahpS)Ud_@<}-EAXc3_lgj<Xc;a
zxzWX>+`JT9BEbTHlqD;$sB9{|C8g9iMX_Fjp1j$VON@kDoK0E43}_ZeG#bT;6!O-&
zcbWUntKi1@bKf4`*NxbSCFyyn2F$?drsKIeENkAz+@n`f83wPF;-wY5y=ezq2i6kN
z1R^?8x<QCAqi7LJA`Wv_IzTQYx*^#EgZ-30t7szg+rZ0kgn_W*apq1D<$ePsf#Eh7
zzCc@Y8oo{7x)MAC89}KkE(uO_tfBR{t(YnGn90W&l2&%quO#Z;&$jD8HDGPZ2}J~B
z90vMY*t~5yv!)LacFSpMosGy93JZ(yJueF)PzExk<@-LhOP@wchd5Bu#Qv!liI??J
zyQCJ($fPu01}5Z$)(RoV<?E*JnYF2iyB}WT+6TX|Y{xtfc7H=i97OGeQs7KPgrI~I
z5q_>c!6)-~)1_T>YA0(Sd!GIcU6{cTDjK{IrF<Y|NTQaU!Z5w`(a&9C+{W?;;UWjM
zinyAsm;iksGxZ9Cq5G`(VFhpU8cEZIXWBWyL8`x7Ld?0B)ysIh;e?z}M6qfqiIs5m
zjcdH}@@7IgF4GRr!fCYF$%^_ip(>b=5s3()P>36SH^|dmsz0hhe8JE4(V|qdipA~$
z5_~rlQIbgy&kLuS@X;JaBl>_-dR_u+C0Hx=ecvfBFXqURV~CKQ4N_}WRbw(j1tk=6
z*|TT&xGp~9x)}kh7cHv(eDpO;M5MH|w9s`O)7jb8XN&`=NzDze)6&x14!jPW<6&aq
z!m7-28n6I(BK?%^+O;cj=+Ger-UH^2`fdR*({UX0&?&fdsX4Q}nSQe2c^*SULjZk1
z+uu)80r<c_MSgyMq@bVxz~%pls;a7wD=RBc0WbaAGyVd9M-Kwv*D@ji0000<MNUMn
GLSTYdqE-R`

diff --git a/interface/web/themes/default-304/icons/x32/network.png b/interface/web/themes/default-304/icons/x32/network.png
deleted file mode 100644
index cfafc0455ba97124dd0017170469d03b86c31ddd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2035
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
Rf`tG8002ovPDHLkV1oDm%^Cmz

diff --git a/interface/web/themes/default-304/icons/x32/server.png b/interface/web/themes/default-304/icons/x32/server.png
deleted file mode 100644
index 3471b9db5896781f9140d7d75d4cda6b91d8f3f4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1440
zcmV;R1z-A!P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000GNNkl<ZSi`-S
zTWl0n7{`C-oSEHiw_C2O6{`gygi91q+ahTs<x;E_U%W(XjH14n5Pcy*ga^F5i1MPw
z7-FN*Mxz0vu}ZU`Q7i^yz$Gdn)UuYs(y}ev%l5+V%zQrVwkig;wv8v5WHx8^`~S}W
zJKr~FV1lEjW<#F&x^cxZ6A@p#b{z)~9sr=CV&%JQ)~x+37!2JO2o%gLEG$m<_xE<S
zwY4(kWBvM?vHN-R=55@x=?Q6VZ50ubzP>(*Mx*ln`;D??%X4!7{STj7x32c3DG{!%
zt);rUdhB;)W#u=GjUS5RxROY8dlxPw<idq+NhEqCne6pMT#3h%a^HQA3Q%#i*j9eK
z*Rp^AegNjrpZ`#G^_q`%?tGCzpg=l16G|ziF8hm$M1JDp#bJyw0HFy3)YQ}vi9`Ub
zRjXDV-n{wQin_XuB$G)=r3U{YthFYSacOD!70(kwp<=XFdELD#KqL~Os%q5(3l}c^
zWc&7=7-OWXt6M3hl*s5)f^A!LcJ|WR+Cd=T#~6dpXOC--=S{)PnX_MLXxPKqvkB?z
zODWg&u&iugr4+^(PM++bw>L#FScujdtu=nXjWKHS0H7Rz($cUhEe$g`I6`-KAIW42
z$8m_o&ZD&=7%V_*jWGtx(m4n61L(Z+N(q4DH~<8L0m{m*W%=^?oH+3ZmSyn!eOOl3
zcAw9}7=zXZrS#+hwAMI|ux;Dh?A!M(=guXN+y)2)d{~x+Wm(vER@fMYF&fKKQv(1B
z5vZ!Vg#`<)=k)0~M~|M$wozlStn6is#+a<A)(WjP|E|yp0@$`fYeh8LN-8x>I6NKK
zm7K82S)K*3ES-ayA^@c{!@~|g{&<3tl3C21TY~F)xUPdS)|imiqpR0Bm??7r3JNT?
zZ-1P!vJw)Beg+1Ha9s~$^qAFuK`4yLreHkb$5V#5E~L{AbLPyZwDcO%X@^UfGPzZf
zyZ(a6rp-)QAHa1zJkLV}JTF_0B5G`YRD2XfYlYu$qxBSYLZuWUf(W>-i|1wUl_F<3
z|8N1owtbRLr&Ui+&*T9-4~`!{jo+`CHm!(2z{d0BU(bnvh)7{!A+cCY?b`Lq@S#Ir
zz5|?`6oA%->C;0D4yNepN&?{b`v`>sm$zC8g+i*S=_~f^dGmBz+b_F;MxcL^09u8^
z)39xY=efE4APfzq0YOC2T8q|7z542I_U?V}Kq}SyT2<9uk(QR`$){js<dPeW9;3Yc
zc6>e`sewT`n>eGwGfRk{?<Q1GB<=0(>aDk4ANuaQrUu{*pmjXr;~mAbW?lD2dHL%0
zty^D^BQ3|IxpS`!WK#0=*T=mbJ9f+J)f+~DXMm#r8vLq-I%CExlF6~190FF%4qyM^
zq6N2X+;Dfzjj`AnS+ZoYI(YEY!RF@XDj>@LH0;{ix^E62J|c~cO;TU~ND8=hB7v^j
zE9>j)uQZjJyJ-2v#mg#~Gj9>Yp2?ogrg|JZ_RAILet2r((RAaJ(!T3n`TXG<T;Pt0
zXyk3y&p*FI%F8RsWHKlPf}$`Uqi)4VQ2w%j1DzkMmJf=EFTD$$Yt>pCPMtc*wryK)
z0%DUnl(KT=YDPvzMjHeCHVvnzL9DKX!pk5%15y^gS(R4a37K@R9oq~Ijgb2=nK;1t
z^KqJ*zQA>JFCnEU`27rzRrV-)4}iERC&te|&ETB*a?AmxH1YVEyn7>W3YINf_H<WQ
zXN6MP)3FBx2Oa%=Meh@KSpWodGQ&Ol?IUe7ihlk3iY&|ab#!zz0EZ?7AR?o0xXY_W
ufVsem9Fxx39KAedadENq_xE4Xg+BpiHzfM=RQt~W0000<MNUMnLSTZhE6-#A

diff --git a/interface/web/themes/default-304/icons/x32/sites.png b/interface/web/themes/default-304/icons/x32/sites.png
deleted file mode 100644
index 64ea1b6b3b157dd0713987d48a2221def290145a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2363
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

diff --git a/interface/web/themes/default-304/icons/x32/state_critical.png b/interface/web/themes/default-304/icons/x32/state_critical.png
deleted file mode 100644
index caeed331ff3d6e1c2cea29e11fa901cd7b45afd5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2394
zcmV-g38nUlP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000RgNkl<ZSi`NC
zd5~1q6~=$}z1RKvb@xoq^ei%vfFe4~0Lr2gqeO^`!Gr{(CZ$qZXsn8rm>5kNmqbMb
z#9dQLOi(EW6Jjcs7}O9KFc{Q?5;Y(=g5v-~n5F5x-+uB(Hv?)?F6Di7>%QgO`+e`+
zbIv_Si3p#yJ*<qnDA7h;kJKT8A9^JZFLSZ@`OmtR`m_XA=*jlsM;<wA_@qhG>%Tm_
zBWA@~bTev!D8E#$l=}MnGdsJt|7ZKV>-O#KedZ#u-}yoatc<26c1)S{v(eK|oRgY(
zOuZV{3FQjB-wlofN>#h2frJG4JpJ!%FLbTju=>5NTkoDH_NLE8;C>a2jy-(zHIrt|
z{CWE5F?9%_8_?WT1@7wu&j$sds-sd>88eD_9=kWcS>E*Q+Pn8;25$M0xb~+euvEob
zPna@g+4xgWnQg}7P%MMzRX;`|)iLm?p?|nZSbZOjK-{7*nBmnm&#v9RbH}_Ni`)B&
z1nyU{mXjt=ezIfQS57j$0P;l$gM+FDP}(8bhmcT!u0s%332GW7;*=%e<-fi7&uu$)
z%(>ztBtAsoE@hg>A9>Uhlc!CcohUhk`8*+lt`zEkoKgot4<#W2aSIw6pj?K09to<%
zRWeCdSFC+;{qwu~`@eIgIOPK~jYHXtN~Nznx_$KQL~lP%HjAeqqG=RMWnRc;sRL%T
zG@}_2M8Y8s0%$0xRCsO29tKM#rX?fP#VlM2(K7pKsH@|+aqXuK{-ba`aQ(+L@M}HM
z@wLwOjh&6@l-D;%PFF;fhLg{;(XyDh;vtHA_Okb~%b8|bXfcxmb2X(<uFLvdf!2HP
zqOs#>HqD*KS93WMsT7_FrhwIu;`zS4l{a^OFzxD^cMNHuEfK$BSky@Q@At4*0z#$X
z74mFJH!*e9V~m`53>*)drdWUB4>(y<DANQW^jtRB4lNHpz@+oft*Z8qEBX6b=Q43u
z5AphX3Ia`q0-dS2wLKQS3OK)Nv?AO_?1*(OZJFYTG13)F%f`AE*<__;b;l(6;H`g)
zh=}XD;<~Pgh`hCWjjV|`$bcS`jA6-|XhJrvTve6xydk;WTer#66Q;<PSW-48o8=uV
zE!ozQ@`r|WaRIThB7z2B!Ws1vHtrwD&~2B=6$@l5ImS#ok&zR|;RnHxop_$dgxO~@
zYSrVss%yOBdkkOx2$RqM9-i-4jS=vIfDs+-bj+Ae&Ms0Y7TH@VGmyzL+z%1~^39<w
z5G6B0Kcvfb=q4Z{5W^t*+oecTn$ATF@Rh1sHQ@O^<GwWu9)BFaQs&t6&c#0jTxlAH
zuJhi_3+cM=ZafTJ0&Jk-yQEzmQQ>spPW3BdR=pvwPc`G?-z!z<CBOtMAWDc%z;V}J
z&xA#{;QC(G#}BxWX`%qnaSpnYrV))q*fxIwn{T=S9}OQ38-)#+D8}msFN)U{g!&XC
zgp?@N>IXue5F0_E&=3?FAZ%K^5Cya^x&_BABef9h911L;3>`C(VB1X#cw_zzgf(yn
zaFN;wt_TJ+yU=9#NL{a{5;-OGBa{FG!2kjTqiQC+v3Ma`7}9dt532#^qaj==RLQ4j
z@e<x%xB$=y(C}fXdw>R%5JV9RAgKj_s{~Ps-2`+I&`robge*cC@M;TfSaLfby!;BD
z2)5&3+xAfR!jN6Bz0NC3ZYPA=-&aAM+K=TBG6(}A3;-dBCa7W{lq{vFLm@SW8H7HB
zK0@~4lZjd!b>F=-pZYb*xg3sd<2cSxFX!_#PCbsXzgbEqQBMY+{e%o4>_g}!WEUa*
z2q<t7N1&tuSuc?OP=hu!Qa}<#yy~7PLWstgu=rL+eEUpFgBfhw#<6WGl?s(gW$3v$
znBlO~rqglfom8wkiZz?^YT;T3(m+fp0-+xm)b5Z<#Sg+Q1qGv&P9us0P!A*tu_7@h
z-MoNdXU?S1*MAVKTqfDjKz%w*xqOgBp|79jQ%+{WlEtLrjWiOH01`kQijimp8o0vt
zJET(301Qzt^@Kj7q7e=Q;y?<aDb-Bp4L8z!#;Fwg2Zr{$ST57p)`qk6LF{|(BR#y0
zVoejaZIiE&IOU;7IN_M-j3C4U8iCQ8Mn8fsYTZyEilLs{>AKk&R<dD?Q(-3|F@zK5
z&Lw`)1?<_f1w+>X@Pm*MM~y*$csV<6U4#Jb(I~B#UP8~iT^O1|MDY4t+ULw<*uH&q
zU$KrDLK=-GUFU_sEt%+lq2?9bFHU#K4W8IaNM|(0Fcc9K-76j;{`?Enx3y6y6e*TU
zw2m4{^0Afl%)b!}jRYD!ix*=3?jhQaIGkd+OtDbJY-++^^Bn)W`8sSAX*9-b5q4`r
zF65~P#NPg)<M>i#b{Gb)URIZ?FJyCciw}gP%oyVzSW3_2iI|4Lus{8op7}ST)h+>q
z5Fupbb-$$Vg7YXk4o7tDVCy9plP?zV&}l}|5{t3ib;^}cJ87BNn?IHjU8o{gk59yw
zoTr=Y%IC-cf=?o9G4|ej@OyjNy<k2D8WD7Ks&hlYL+}Y0@r!GTw72u_<v*cV$`fLc
zMEH_vv06Odbi?_NihI-lOvx@$v4~6X`_of(XU_^1y@dk%5rhB(Ap%(FBv4o=BDIVt
z0GwL<DB<JP0#FrP(Po;gSHfD`eI|nT-DP4s|2HX}r_6?caMi4a`kCLrpqR^&kpQ<A
z8yZn0YX^?5>nIdq7~uInmB1$}Las)v0Y%b^vtETfTedfbs5#5U>HEaA{6b|m2;s65
z>yl@mWyNVImME7i7=)Ncl&BR$i(3#it4XTwA-0WQvGFQ4E`kv?$y+g=@f<dk?WaT3
zrH_iU?^72hbCs!wgjbD>M6NkKm1>+~L}&mo&FW#4NL25Ys@4pZ3Y1Dvu_*@un_Q2-
z77O|JJ@<BncH0VZ+|N~-eP2a8qR3B2N6mANO{JQ~rqdkO*hsQ%IEJnvj*ahmR0>7<
zv-|1FWO-x%{=qK0@{|qttP=O_FQhm<M@0`ekTdF0UvJWk&elYIYh2e7K^Rc>{ZiI*
z`vyF3YmVS0AGP)gad&>9)$yV2EETmNYygtAN~HiQ`=q#)&$`xs0W;pq{mvhcA^-pY
M07*qoM6N<$f|we89RL6T

diff --git a/interface/web/themes/default-304/icons/x32/state_error.png b/interface/web/themes/default-304/icons/x32/state_error.png
deleted file mode 100644
index 112a2642efd7f30452023a28f7322cc58195e482..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2200
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
amgiq<8e&06r^Y`30000<MNUMnLSTYN{4M7I

diff --git a/interface/web/themes/default-304/icons/x32/state_info.png b/interface/web/themes/default-304/icons/x32/state_info.png
deleted file mode 100644
index 91bd218e010df070e17f9a62c1ba49cb92a5378c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2175
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
BDg6Kd

diff --git a/interface/web/themes/default-304/icons/x32/state_ok.png b/interface/web/themes/default-304/icons/x32/state_ok.png
deleted file mode 100644
index a4a896407af1935b8134e2954e342a9aacda938a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1456
zcmV;h1yA~kP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000GdNkl<ZSi|j?
zYc$kp9LN8|T$wRULYPEy{kv=`!dALyqmGue2Wd0NC31-v_milks70xvPHqjkZX9V(
zyR~b#Y}=M1k}(afDXrSt_G~xbo#V}(J?nI8S9;Tn-`nT&InVQZp5ON&01)r9hz|l&
z0b%ba=<iK{bClpyLy1nKeC-)iF2EKMe2rx0a8*wkT!f2WTICwqO_>0@gy5?uGvsx$
zlgO&eK<4RG*a|IPu)+zucP^lS&*UoLwX#a2o=QaY$#8_01z<t871)0C=X9UHB_<!P
zICE|iLw-sDPp;dJsOm6;RBnPv1|N(l0)}Z?&<;?4Mt37Vnsfp7VFg^skk`m6kklB5
zt+gT8T)h#ddlm2$0<0Yhfr9C<3A6%rv63-;B|({RAzd+BNmtCFzZJZQ;HxFj<TZm8
z5Vpo5vN;&Rr~P4eL?6sN0-PcOnj$91P&0U^t+iyk)08LN0qrU#ixWq$SB<CsI77@b
zdK0*sqTx6Sc=b>j63<5=;_E;JpYwyoNqw+O3GgbEp(o}*Cr|@(gGfuA^*ri?J)mAn
zVbNlV#=hTrG5ACVl@y|jcS70lb#ToJ8lRg^msbxf;FqEh`F#*V+WleMG#k^!bnqKE
zFgdLa%}r`haaFQZU9C)=@D_0M2_|DJ(b#eCBF^=<;?h7ndLP~dJ(1{|R!*HzLbpbh
zKP{6buen!_l%KaD=5i<^Is|ZNv&5_>b(pqk!}gpZv;<r*S5Qc%J3*cB9ni{QvCI;T
z8qZ2w(0r=_Exk>s>8e6~Pc?p!e+O1F(KVx5<sT9T4eEUDU7X?CkxHarPr&wT5s1FJ
z8A~qM!Tc*-*nVpWhjw#l1!#cbPFS+m{2M+lz|Nr1cmhs+V^1wwC12vqKr_U*%2D2X
z499zqp!{|z>hDxTErZ%+*vK1~Fm9gC*WIfjuYFL7%$_79bw?w<dka44aKzm9*>JpU
z0hcRw3OEmp&j?b*e`5H!fNC;@t0~}irkst3Q<F9FZtOyxRE!h1MJVYjLUG?glt>Pt
zey|3-oy_a=+su4zlgQDAhhk*+ry{K{4#K`DcyzkJ=?aOZH|*ec(+N7^nqY(zBu7Z0
zzIGa_BoIm_S$dB4TjmdMX!KGvj1D4y3PhPygwlaSI3&qO;lMr=%MPG+Pz;+>rmxOE
zYQgS1>DVDnM5=Tf*7vT$vhI0syX^!|=`!fWXe%0+LaKj3p}p}qHc8_<+eO;+udG@G
z>+>_=dD#^Q2KGQSScn2yF7gL=qhKf($7IFWbvG5+cT=$Amjw7rJ>V{JhUd^S_zt_n
zAXN{%92Th~X42j|59r3JJ81=|OB^b#@bNWkxOUnjMH-94!+AI;--G?~EaZ)3Bj<hw
zvPY5;G`t?`hL^*4#2tcBFBs+Up)cZ*CTFy1|2dFwh04yXKqbk-dK-917h_fbLTnk@
zh`a|`I5@f+`yOT@=TSPsM>oK4Q~`eMiO{D$FfKB{oF;wJ{-P=Ee<vbtF2$J{s?_gP
zYln@a9`L@u0ztoeW9Jhg_CL);^zQ-)o_ZqenGd$U_#DQ?1|TmOk*-|}Xp<Jnrj=5i
zSz*-v#f|m|f9{9CKfDm~rw^i^3lRR&4>4l`B#eb&&e2(zchQ1eH?)E_>6wsU$8lmu
zFeNT6jz~l(wjl`d2thhxkUb`Z*->LGxoS@aKlY}*vruZ$rsu2{&FXjiW-0QKIbMZh
zIj|O)!?)Xu+==bXcb<wDc9=VBB(No)wys9yGZE&M*kJR`O=KM^7*iI@U2oVs>!fN*
z7ZlFLnx5t4aTGA7^k1;D$APj|w$#aU(A6ULRUq@j&*+1|WYu2)8@A=?TiRd%0000<
KMNUMnLSTZ82eg9#

diff --git a/interface/web/themes/default-304/icons/x32/state_unknown.png b/interface/web/themes/default-304/icons/x32/state_unknown.png
deleted file mode 100644
index 22c034b882d56bf963b26f316d2e53ab21842cf2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2753
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
Hu0mjfFSQV<

diff --git a/interface/web/themes/default-304/icons/x32/state_warning.png b/interface/web/themes/default-304/icons/x32/state_warning.png
deleted file mode 100644
index e3e7c1f84328559138c81c38930fee5dac0b1509..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1917
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
D-?@v`

diff --git a/interface/web/themes/default-304/icons/x32/system.png b/interface/web/themes/default-304/icons/x32/system.png
deleted file mode 100644
index 136083cda434d388bc1483154f43a2abb9fae67a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2454
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
U;_5af$p8QV07*qoM6N<$f*u#8MgRZ+

diff --git a/interface/web/themes/default-304/icons/x32/tools.png b/interface/web/themes/default-304/icons/x32/tools.png
deleted file mode 100644
index fe1e27c4221a1bd366c2ea5f4f4632a86088575b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2024
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
GLSTX>Hsvb-

diff --git a/interface/web/themes/default-304/icons/x32_sprite.png b/interface/web/themes/default-304/icons/x32_sprite.png
deleted file mode 100644
index 5c9f04ffaf5c3b97d88f6f97f0b4653bbe3a039c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 37386
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
O!)d7KDAy`lNB#%LcX>Jh

diff --git a/interface/web/themes/default-304/icons/x64/client.png b/interface/web/themes/default-304/icons/x64/client.png
deleted file mode 100644
index 96e74e76cf7e8cefa3d39d4bc5375ba32730d3c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6611
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
R{ipx{002ovPDHLkV1l%x&P4zK

diff --git a/interface/web/themes/default-304/icons/x64/dashboard.png b/interface/web/themes/default-304/icons/x64/dashboard.png
deleted file mode 100644
index dfad21a2bd765ffd3daee3a67c61c2e9da39c260..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5945
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
b;qCteiBR}~oy1Z800000NkvXXu0mjfJYs7|

diff --git a/interface/web/themes/default-304/icons/x64/dns.png b/interface/web/themes/default-304/icons/x64/dns.png
deleted file mode 100644
index b40b5376fa076b0ccef987f465c923dd2336e59f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5730
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
UTBJ>14*&oF07*qoM6N<$f+$4>a{vGU

diff --git a/interface/web/themes/default-304/icons/x64/domain.png b/interface/web/themes/default-304/icons/x64/domain.png
deleted file mode 100644
index 6e2884e46c160400b7cbf93215c80a60be1d4fcd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4177
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
bH(>oA(?rZVpCrg>00000NkvXXu0mjf)qd^L

diff --git a/interface/web/themes/default-304/icons/x64/drawer.png b/interface/web/themes/default-304/icons/x64/drawer.png
deleted file mode 100644
index 8fe3c1bb693b0d11aa9e1aac02b894fc880626d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7236
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
SB;Qp40000<MNUMnLSTX%;yW?`

diff --git a/interface/web/themes/default-304/icons/x64/email.png b/interface/web/themes/default-304/icons/x64/email.png
deleted file mode 100644
index c6c1c51365d4ccb5d1bb718f31ee85dbfd3d542e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4156
zcmV-C5X0|@P)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000mJNkl<Zc-rlo
zX>?O}dd7culVnRWUcr_{Fg7+2z!)$g2@v)WFj*#RlQhlD$+St^kL|~P=%+5HCzF}<
zoK8-s$uvtdZ72ISX##{8hs1=P0LDAE<pp_@WvzGXhkJ!(;|)p(r{RB&&b_)i_e#(6
zKJW8?|BD3EH2E<%kso=xNx)44ZW3^lfSUyTn43KDf*=St<PY7v`FC>+L%Uzswe_Z%
zjP~^%da0%5)pj5WTyZgzs(*xuh0u*gz@|;F`a$@qt_wd^RiP{+!wIHAEFL_5<j7zB
zOxF`lK=l6|0h>3!z6^|?>$>=)s+t8}ualiSOUcSu#OM3k>Fzs2SJ(T$zHs69F92<T
zb~OaZH=5M9Y<X>yY4V(*bDwUAnK`*$)>JRxsV7UA@6YC?U#V1YEMxE9PV(dH9_Z|R
z?+=Ed27%#g;sHNI+p*(KMc0$}nkLWby08rdv9KtY)zzh}Sh;|8YhC2!!253}7>TJo
z^01el{&K$AJ5uEL*F4zK@m>=!dZjA(!3o&D{nZlFH1F4S^-nZSTrJBI3rpuxeOo!p
zmix)hmhfakUJmpGbn3rOvShu4?1XJwOF4PCiF|eaJzZTNziSw3@71W_2O;3@yI-#|
z4C7hD5FgQ0BhQuTWbslT)oaVCSX_wL3!(s$1im8co{v9><0&xll{g57V0ndumA5VC
zo4q52e*gUsb#%OSRVt9LFYtfgW*EYAx@PXt4Z)S4@1?BV&&pK`S-3Elj0})OkY$i1
z$nt_a6V9GiX>3%vv&MnTA(PNRH(~qMg`E1fkpgx7J%PYS@9TQJ7Z|#s2-vmjKU}(=
zydT78b)C&12!*}^s#Y&zdF6ca^PDKM6>UWUMYae~6v)d3O@mK9j4{7lprFW!V1gjP
zPz07$D6Fim;LzUCT)%(MLl-W*bsh*`i3+|q0(S0vxd6n+4MTfI*M&-1mRVRfk5#M7
zS$eCV>}(NHw17Koz_JZq62a}ZKKpWCoc=+TZCf%?Bni{7p0DY)k8E4WiEkUp*Vb?E
z>iXzyU5|HPi3+Yc0lRnqw!}1f#x%vJHPxK&bU9eObUv%rEMigFJlvi!nJWq?k_|cq
zUb5ux&V-SW!M@L;EUA*n&2?Ge1xo>@2_rGMwOpa9dNGIgU7ZT#YX|(5)gb(tVF-`t
znwjg(a#OKn0adHYn7<&043`C5QN~L>1z3`>6d{7kWj*t=PofBlPQ~&}BtgIwYyz-I
zFbwOS?b{Y|>Sz;r+WNZ#fluGnw9y`5@VXGNXU}i98;0<lX__^LF1T{?vRSsGl;tZ*
zDJpWKI4poEnO_2K8(j*tBw3(RO6cm;I9wm)j_nS-UMHq*4c!C*1k)k{Aew+%D`cvw
zE2!Hyl<)W7_egvDn+?FoY*cVn1l)iB>lwP9e84otXLViJ1OoF43s_NE&eCNI$j^6N
za&kohM_PW%w&X?00xpVHmnR6;xuRI#@zMKX@(WECF3Lp0ihim}7wj>tV1j8_&)l}P
zgcC;^(bRR@y1G7i+g8EAH6>urp5GJ*g7}24YtI<EutJg*<}WCua%DN?6@Iekh?gSk
zaHK_C8jH9jTHwVA;00k!1t*WkX=;qI`$0DuP6wuLgBC6Y-a3lbI53ffrR6d!S6A@W
z{-Hd-|K5k&+kbZs2+gE|SrKsGeXo=N&zPq0w62@;oh~OOrG6?aD<~<QhsQmZ-wtKG
zqo?v)N{@I-%HkOKlme1TlTSVvVbKza;`we1qh#m3o%@(+YOs$E1-5J{;pEXKG;Q71
zK;YxIRdu9$CKbrjOa0|)5dPFKgoh2o%=LKOEUGABS>+=9e%sijG0+Y<tt*o!0iFh0
z6vl%PZCM}uGQw~u$<~@VI29Q~w+Z5M&;ny#VCb-<T&8Nx66*F3=K1{(JlfXw+Keig
zlz^Z7<lpWvP4TaFof=KUnVpl(l3UAIwxX26LN`uFT7EmmjBR4X#R(Blmpc<c0Spi6
z?E9Y)s;U*{&UGW2_PvaCe@wXN(q}-X3pU(!3n!1AN7rxL(%t>>JBh?VU^*4ZmxF(K
zizv$PilR8DtSpC(8%rr)T!ySTNG5I5kwLa)?wHVrOX66>h4dU3$0B(d2>bk#k3uL8
zjmoMyD58jIq#2$t`Eeo<OBPF1RxReM1A{p}U(F+JZLfW2_Xz5&2oOc_*Sc=bS-yN8
zk3Ck!lBESqoFYl8R*9<XR$mM@Pzj{8d`{2r^r*vxbD+IF!IAnfJ9cM~lbwlaTF)DI
zKVwBu`nB};UN_u%*Dahn-iW5J-4qCXxICF03IP4HB0$%*i<0D6+|Ur@AOGP14wr-C
zqAYyAIr#lq`2AV<d>-axJCQS_%N}UhUDLSeP7(RB*%|oYogs?+uw-c#q9|MjGW~o~
z1=#PM0#q!Ps9d?2y4u0);^KQ#DhN%cg3Ac#?{9d1?%ZYTRoyABUt2(+KSEnyh=$gF
zOie(M6da0!oSaOGio6sTd+-%`DE51pSC~O&ri>(A*|gg6V-Z?gqCEOU79NiaT_5Wb
z(*aH?|CAE26qxOWbsKNt^ob^P{q`+AJ)gcEk6)Zr1(y*}SNHt>UAvyIbGqDj6&J7K
z;l~{uI5J8i79|#m5(!6%grY=8Roc4xIor^OX-G(dg3IL~zaW#sd2Wh}-4yvU@cA;y
z&2!*%PCf&lNSJ*1-XOQGkXTrn1!?ubba_9Sl2WGXaYFeLkrgW!Q+KdG%jdiIvDVg?
zQ(lmqsTYV03^e^yQDN5lFTQA$Hg8_b%4He!4_oGjZekib$wZt)JVrbkBRU!<G8$uK
zI6-(gN>l47XU>Y4x{PVcxH260iZUqjWl~h+#OHHS=yT%DlKJGLK}N%IZoe}hr_+I9
zj2Y&%rZ){44hizJp?ZU#(<k#Wj5Qkrfe%(D62Sm)aV7$c!-rowP_z42Cp$aZRv$fD
zN%fsh`ubDltAHfSWVk%YIUXd@HX+j>nMe{2g^0&v#G^^#ah2$(PG674#o!37En!qu
zM3!ZoPK6?01}%+o)^AcMD)QJSJT>^46p-FLPPnB^q_nJrW5+IL&7HexS7+y2$L&Fq
zHd7%K4UhKzYj(ExrTzPxx&8KK<ai+xP3y``do*U7l_ZLI+%B@STvjrgCWfw~sY!G_
zK`f>ck0*&nRE9%3Bf}<x15sA45m~h+3q?^bjqYa3`{}?7g7x(-1?J{K<!uW%f3A_d
zymfbVb-njrrm1zL&lgO&E|8Ito4a-E-_|-D#moNkFZQtd4hQGjtns@jSZ0%c6vWG~
zrHY_bQDl9UiDByKnu@BbAb{87L6XF)iu_b$hyuhlIMxXN`RgW5p8A&FzW3kg==kry
z2O3S&)TUh<jKu~=LZOZqb#0hWKWjqNAjfNsz%Bty11bq1G5)hu1Px=XuNFlCha%&4
zXONqlMQ%<OvMi1p4@`EP?0m9XBmL!Zf!_yfHZ3H}lS@v{x*b3{;F-<hs8(P9FTdCH
z@QLQ8bJW+z@y{I({8G`A9`Om$7t_Z2=|9>u$6iwboeum|pi^@TNgX-|p*IMEA>ej<
zP?YRkpbW^F)nG_fqa&eE=ZkrH-j_f7tWj9Eu97SdL}PZj%UJX;ks?k$%9}1yGv)hi
zWS_dGYSx75g-$qqJi&>>7iei}C7Ku^9R98c$OM!bJs{N-B{O@+j=$TlD8;M({JA}B
z*zBUM6BKbgcqu({((Ix(8St6%KD`u9H$6j#&?vOE!;$(?j?}l(-ri0;877_xga-P*
zZtw2?L%m@nYJvTxY4*%&K0sBY;ZUgapL27wUitLXM%La|$s7;FqG>ZZ!r0(Pm?np>
zB>K~VPER9Uhj18Lo8i!*K@Qiq(AC|Erbo<3q-7u&JlK5k;=wb9p|%2Nf$!4i3um=D
zY^z|eBKz0;{FxfI?{v}GZL1*V1@ic*t=WK|De@BuNgw=Z8iYd7a2D$7dN_8hnZ95T
zhB2y#!{_>Xdk-`Y3>-OQuN<GZkG-k+fh$@aR@G>DaIp0k1qI$WKL5NyxMO`4UN^*J
zmk)bqGO(+WemZbfg@JxJeM;lt!7fgnZe}>tkFJN3!^0;6Jw0DEjEtOb09t@18+dT4
zWwR^UACR?c*DpU)WZ$}HepbUhHJSAGji1q-tb3YD1=E4O3^<TXKwmE$Jrbv`?g9-B
zEkt62sOms;aPVknclW+C(P(!Q&};+mum?X8z_=Fs14f63FT9wa?|ozM-bUfh4OMvD
z5RcD3^0UqR^oS=C(Afd?--J2zRU0jBZ6wt&@pxA#82qNar{}<T$z&)M?Pj3M&hgl6
zw$5DX4iWFJUBCQXmVE1;eyWE19?WE*|MID?neu-s(CJ?ti9ky;d{sBV;lnL-b$4JG
zQ8OHF8R+e;ZSL#)>WpEiDc~(Yk6q%<YR}Ns?huI#4z|3IU*LUn|Nish#=BOLnQ297
zwq`eF{tMPbN_Yg$orQz7JsdsWM6kab!x+^^MjHA8fiD{S`;Sd#Y~hK++}XCP*(2oL
zx$_sFD01<Jr~i024?N-_G(5fgr@F3m!0Fcw0|p1+)CrB+FS|H>rioBEh^7xG2M10D
z0)YePLZQa<vo*Hwdyi0LXsGRlxpU{-x&Mm>apR_HJXw%T&c4tYTLXY#pJi;dwe2)E
zw-AdBkyL}xVDM;XAh7?tNTg??u?<XRY}ZQxV=7RJH$3(DZXSBf!|3Sb<!?H0(Owmb
zN1^dN)YS$#d9stPo(rg2m{=?j>h1lyEfA<ZlV)s9K;TM@?RxAIOH;vlal>6}$ju+G
zg7of9k}Tk(Bk<j6liC9Tj-O~|Fw_k~+zgMj4+H|W%{@JbCK_9}z3(S^t$<%E1z0M$
z`}q%KrFiobkJa!;PkM+($Cs+IVx12S!11FhUmob-%-Lo}V?lI%C=m>v=<4nLwxz%S
z^m(8iXiPJ<Dd+NU1O-@ghl9<}7Z%Rhc;L&k(x%O~Q83RcQ5A<(8TR!+{nt?r9&Dqj
zwS`1-h(t0t+SmJSM`!1kXQI)*CZN@Rb^TwB?RqN!z;pNA&%dw8zO9cxTEml1d(kxL
zY=^poAr2jCp(D_SZiI<MI)?&*uiFBFgJ+V-(H1+}Ep~nn0r6{PY}ZQx0MUVg<`)W!
zvNs+4>YP+kvX(PvgB&{4%*Fl=45G$JsJXwRqqe!b`_O6AG}|T=E}`!;zpsY^QYv`I
z?Jn9O2{}aL1890!8yq;-)6sFD@#4i(XKjf$+Q*A_;iB>bwrjapINH{>|8I)@cX&W7
z9U5vLzR><f!|-rhQ(ED2!3G`ybZ($_t#*rN0*inud%kVZcJofVaEV^e{Js(eTq^<u
zAOn~KIP8KYY#ZAR`OnNL3HY(Kn}3?RNx)44ZW8dLZvPAOOb`#iR#f-^0000<MNUMn
GLSTYII2aHB

diff --git a/interface/web/themes/default-304/icons/x64/help.png b/interface/web/themes/default-304/icons/x64/help.png
deleted file mode 100644
index 4909e62824880873a33afa5ca553dc206f373743..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6117
zcmV<B7aHh^P)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000-PNkl<Zc-rlo
zd34p~o&R6o^=`?{N>%~}6NCs#01LJ*Kr7%vsZK$wb`<M^{q?8g=r|VJ(>nbz^Bb+&
zW2aiQzuKuH6<1oVmT8BoRRKXn_AMkK>&;DW?tZ`PGk@G~LO@h-IlrFj_nhZ^Z*p^<
z=lQ&!&-#8ok%SO@mLHkV`13gcp9AnY0H5tgJ^B}tBz+<i-#BH8&#|mYSk@VGE;q?%
z7-KZcs??xJQdJp{9LKROAu^V#4&-#b)7167X-V1=F^tWxc61B?_NOKIQ1p|I4uc;D
zfThjN0mn4w=&97g!ff`-Wx9USsFD)7qQ0JRT^)f@qws~psKFotu+wSGOorUR0Evzc
zq6ZHW>FX1H*=#hbsv8r5z)P)}%nKX4ySqFv#9t)<*G`#Isk-hp;Y?;pwd*!EOrFe1
zvu9H^b0!7j$D<Y$plBLHGrNG~4Lqq_$HB>DNVT@oyKy6Jue`$kx89=Nw)?wf`Gxje
zZpEwZ?e74&PXdTf1b`c+O)HRW`#Z&%%q?}1NX03dM)PyeQGC`}$ey5%<KQ|D!gYri
z7D6CN(&4ov30anrWEn+Kh8<J7rG<CD_BFP(w9ryjmF-Z~-|k5y?%vehy%R7#4iH0f
zs~>fOYnz+rhtlc$>SD2pr}X!8l5JByZX5-YgbUcFiR-$<3mxk{5^UkRNRotW+engx
ztm_1T(*glTr_;2wwg$G9m0en1Ts*HT6nfx={ri6gd~82)!WwYh^yxmuvX)mS61Ox)
zqw<7glB${-3NF1A|Chgv6bd1lns7@?!8G&geGDK*t|bj=fF$M3Ler2l8RV^7A)Cco
zzaC@dO8WNhWm_o3wu%b&`FyW!h(vDPKQOTUqnO1<GJz#ir&fkc^Rdyf*m;v85$bK5
z(gh0$FIj?GQGv64JI*uD<ONx^3O5);nCAPQ`g>xsEF&ojvaX{pT?*T`!=gn<XPkkX
z$&h>UNfJ*y!2#Q5Q)MN4!r{)%iNq~$cXh1=5+?$}2?KD=)T#9$!+7?jfq^NLdU_aB
zSV;LzH&JlG1vm!|V6I$=Sho(<Fwg;(EyG;C91;lt6h%Q%6kONE_56XND0!#ox;T!L
zUq2j1f8q&zS6qPuSc-x>b0*5=mm^P|im_n>iM#LSP*)cltE$*tQWD>gNZhfxv-2q+
z=DD6v7Jwzwrqzbh=@-X#b)7ybk)W=+n(80?fWX9wWS@MJ+~bd<Bog=l4bTBK6e9ED
zi*W9_xXC1mM1p~V0Wz5krey)3>pFg)kK*EDii?U+LLsEiPJ&lniL`YqWHMN;iwW31
zAJQe4;9If;I~F5$*Ijh)+{yZ)Fgq)&lIxSn+u!N#e%kX3?k5Job<?K@)nxL8ae?6M
znHMaiWc_PYe*N#zOG-%m$A4hI{yI9~^8_CPKnCm!FQo0h`)G?qNF);ZKyFz`jsuc}
zP!v#AR3Qij0@RHiOZ^j1;D72VNT;E<7dM^8gyA8Ynh4%<3vMt-|F3>c_vC53vH4AQ
zb+kp-4aC0F5{s<`20zRkjynoShVkRdY<BjPTkqtg#g`J2{)v#0A$sdSl6n1g{D3kd
zt}CAKW@RONy1VIm@=2`e(@}TtM&7Xl(b<Wc%_1ZTsh|L<q5`?G5#!WTX<fID?2a9r
zQdLE$w--_=<ZKqjb%*CQcJ3sz@^SnRJ&ZbgJ|(uq<iGrd%#ZFUKclSlUk)V_hb+h0
z3Zy@F6u73jc~MzkWc8GbFJtOI+)jZmQ&dtwLCBAr&657z@5tVJFVe=1!zUjAtWb#E
zQ>G9vD<eBNNV315+`)sS4a4b^<!n-xa}p4CU0<;f!Jw`yzPdWXC!b8g=+P7y1``e(
zAav*u^z`5u1_oe{ACG$T&G@glf?S}G_+Wx~EJ@lF?0$L`@BaGdY=-Cm)Y`fX*bi7A
zSp%+WZY~X`Q$MP#tEYa^mB_AxqNu2HK2%A80HMW;@hw<@`TX;U`|n42>n#LuX#99m
zp%DFBw=&q%!$Cz!tcQc!CFww)ZFkv13`mgGB}pk&l(JJ{!nBT#DdXDOs>3xk)XbPc
z``EEG^z@)v7NV&M`R1GPUv?R4IE)OariChjs>n!omYUh;)3bR4<9Ba8|6obUYb~+Z
zDxl}XOyPY2&|LS%Lc=^|%)-m?mzE(32St&QWjUYCd7fKn8tON`fxBP<?laFYuzEFv
znGA=vZly1scGqg!zL(PJ4UQ1|yi@4_Vgd|92&vn)^={iP`Xf{?EGSrXb|mt(+@JpB
zQ_en{fpgEL<o4TfzW#Njk`g4>Mc6h%QIKUBS@zz5qU+S2e+m8jcKS{&ExEEK7TXBK
zfy@a5aCLKYSs;_XuB5(!vgv0cOcU83Kv5(VMLxn@B-_R{O@yN0Ty+)wQ>Sv^^2>=N
zlkRVXc<0S*_Dx_T@D9)gB!~Rj&@`U!ELf9D?MeiL@1CE@+{xz6!GcF0B`|9is%au+
zv$$TKkk1(;6lExdmcX_sYHXr>QZuz%H%=N;Ts)_JaIhUX^g&v1Og=ys;$pvHj4k`Z
zIcT8*B!+T#c|-~0<@H1M<hqD#md@3y>D#xDb+WwQ6aLTM*abw7k;4lQkO5%tx=iNL
zZL<8+!QNgDu3U+eP7g;7Ns@+Z36Q)Dawv-gSy8C`;%q{)qBRs3&jZE){u3rdG~2$!
zUsy!RY147Nn0?qe9y_O(6op(gO2@O$5>?gAA2XRPz-Hhr@8qrHaLP8&`&c6JlbGNC
zZr30FK&q_`H4uOiMbvv8c7898Wm3}EL}5iW)tWXzQ<O#^d_n*$nL4#fGtHTWW5%JE
zlq0+h?L(<0O(V8-E6J`d4oFgO%60bx+dM~fA_a>JL<2cvUEoj$+pfEwt_>TIe7+B_
zR9zRnFigq#Cc?rkt}QH_29$je^Ccf+lIe<NmK2U{K=Jtz!bJ#<P`#rI86gC+qL659
z#WD<f9VhD9UXQ2p0Biwy0~B4GkC^W(&C@XL<ZNbf(~Kf~z3chQbvM%2-HoEEo)(NS
zK><UNTnK@rsD#IkLzN`CA{d+qjPmld;{!klF<DVmg4Lq|F<i;zfylp)Rn195C2(FL
zO)neEjuhU4hg9g91Doc;EfQ27?TDX(84f&GKc~EU#`705dO<yjwhkg)-NO|l<Ux1c
z!~4pA2H`k_Dr-=6A7Ndu0?NJg<oE!Pg*aW&b^Ilz2zO|57smnD6*$geJ3N}$@Ryf^
zu2Ut;g-7S(Iry@wOV^M2m%0A4FKwE<T<6|@gICXnAE?j(=ug26;JI<LORA^+>Q<;4
zLwsj1qOyuWQTPbZ5ARD17g&-65(0m5DYC8;RFp7Kd_o$azyuTpEf_>X;5aUh<Kntb
zp51ZtCNZ*x&pRNCQKy}TT2#bIic;&Bq>_;f_k(Gg!u6j%p3%SgPnw>)nML!f$KT`Q
zd-uSrSHn*YSY1E6xO&>7-$kmM16?f)wkA>QY6+K@AJ%mkv9H5#A-r^4_kpaSDT-f$
z0xwBD?kG@zBq6IB60*0DgKfLsaE>s8VbAP1luemJ&73)eg($ng@1N(Xp9*jhZ0LbE
z+V6iF(iwsm{Dg7O{F>&q-{z~|JgNE{D%X!cw|LCdNAExyJ0IAO6YXW77xb}pghHVs
zqJV8X!^3g%`x>c@LXuD<Ns%Ne@IeXRvAz(F5IDIUiYj9nV#H!LmSy8OE}Ew1Pejvj
zWf{jX5Wo8!lUrJ7({;Y!^PL}aoVV7QW(0@;=5AO~_~)K4)ja!<RQ%1;A@~*ab7nDa
z=EYQB{Y$jENl0Vof!zse8@aB25^*SL7)QY88!BFKU4dmeSXO>tmX!x#C@FGnJ8vTS
z_$Z%H6tJP&acqoq5=B*!B(N+8)3h<oJOGxJ4~?>-fMsEA*@Dv6M)oH^q5RcXnQEH2
zet+Qn!ooZM-sij4(*)@b_-zNg*7D#>5PR{k(dlOrnDax_hPhyOfSVt&y#u6yqF?}Z
z#}1@S21$~zU4dm;*p`iL=ZEVG6eUlr8mTyrV`B?pxk5N6lnL5G?6571OtjYnK=y>T
z@*r3)mZIVah_78s+q`*n&YOqZ+e_%S+pueDn4C;9Js!vL`wJ$ALU%0>2A{gg=leP!
zzl-#<&h>FS`t*MSZFwfk?Exnab~m_Pc>wHQ$XRF-?78Ow{yb|AZL?;Pe)=iQtbwWd
zF&qcO$RCU(<ta5;QAkH4Se8k~wzFQA=^QrzrVzVaNg~nN4z`V|DmadVX}Q>{55sbZ
ztXad>^S;84`SXdr@(Q`WK9XzKqD`Jm;oW!RR#wuSOmbddABDBGGKGcbj8>FY_k}{+
zYYPjO#v!+N#jDW0I$y82{or<k=mxhFoK`SnjQ(ahSFRk(_;H8W7>)4cTW|4Six$&5
z=UmcHJdT+)urwXZ5h${PEK49D-qD8bI3!GSs2H-2+XrMUYg4h$XGL4~Xl5#b8Z5xk
zd>EEN^u;xFJ@Yu$hBwiLAm|YwHZZVqB?WWmqR*U3;ffWcmMvqP&qu>E&v0PN7WTjV
zvedh4SFN&bN39>Im_8Z;H6S7&dO`Gf!nc8Y2;2ntRf^}0X5O?)&iHc=uRY$)rZ+6M
zZ{EZyn>SHD>2!=su0Z<2*=WTj$gYi*Nzu1|7ic<tnZAfu5$2AY5Sd(A8U8|5)!RYa
zKKY#gbqAHrGZ^@<7a3grYpfmb;PbKy|A;X}g_U1&2~|J(QJ(IK#js0DQO1u)k@JeS
z`<{E*efw=py|ICl@A*FvY5=Pv55P#_MI0;%3@tw#k8~T%5qq<R7awh7#}=0fKp|jG
zm_+c>t0?-)g~VF+^2hsrNZhe=&+OT=Dr;H40bW0vA$ngzWP2o%I<2B&oi58Kx4iHa
z_M;Dx-1O$K7qLBk8ltF1=CjdfpGB#vqWs!xk?QMFD=QI}1wJ3GD;{R=?YGgqw1JcF
zSq`D`V77wj1JMOe`(fctz}60LFPTF`<2Z4XKuBfuXpJpf3?klPWOi>Se%C*dTJt1b
zbz?Aa>CI&NvX<55MIhru!k`<=<(?`Ghp+BBuv-o7KX61EWqY$pM+q;y(e>bi$i>A}
zEMK0#<?;Dw|9`(^>(U!I{e}h_?!60wqk*?UKLl<s*b%T};Cd%->loVyX#Ha!efyGh
z?Kepcz+fB_X)xXV0R+6g*xq5pwr-+59Y-oEq9qnP=+z_94=TovnIOEhfB#>uoILqW
zsW5zYw7QzQ&dwv;sO`B{=@@04KM){v-g$ZLP*se+DBExUE|Zqj(fGhuLD~g}Ucl*(
zknQMauw@WMI8<L&4!R1a3dkIIxsS*0?WbVu1Wq~YEcUmxklOG%^{#>NOfNLTxMiTf
zs+w$ZG5x93KuavP18DVpzzI`gxkx7SvyiTTF<M@(lnf3MN~edD`ymEn<mtPfS&X^k
zyM$-W8m4+=S;p055}j%G-1-~?+j|&j&l2l}R2p(f_=AGW$0&r)tp!5?0kPH$Er2~`
z0@vKPoO6Rg{`IDt;IYT3w{21*m=zgF2Lkj~Rw4<(j!0y$fP)?YnUB&T;;ub#;P->M
z+{>1x(NSBA<8g0C(>OVABU!*V<4nRgeus3<!m@0H0AE=tQy+MMmK}w>y2@Zz{B#n{
zmr-!zKhwD45zbumTSU#NY<Tbx#O%Doi`m3`ECzsQ*F4X+moCLkrC4_V{p`Q&GPWto
zFzAw(_8zLM!_+i7<MH0T{r&F%JAvL0$^ky?ULd_I8og_3b@lW_I9%B=dNgC(+w%(^
z1wvl+gOuI=eKJDDiY4&*G&D^^(^cvgFJkWOStJrkd_`e`Ma2X(70naC*FV4?zI7GT
zUg@UvoN`2TkbxeX92#Kp{BzGCT$dF;|2aSS=}%c^S(vL=(<lTs&{kW^U~w@<E@y1$
z=-3480QPwN<45iha^LOk-QFILFBh(BM=C1ls;+*I=f?w~V9AY$rqfA8q9l`9lF2NI
zM218>O>7{E77SB4dMqV{#pt%c&KRVUS(0gkx{JPwZ$dL~{Hh(22G*cKPY=wzZ~+re
zZw6q^nl;?8bSc6xSpLvMbX<Hfdx5^nN_wiRksU|8)z!7VKbw6g?_ufsu+u-DCaK(i
zA3XTPp+w?ggrKvwmd@(xyls!r0{>~#&=)Kw9_c5U%#ciGh{yBqL?TThk!ElpPJiD3
z{n0^Uu>^yIN#gMovHmzYS!3e0*RuI_h;2MbI+h`kg_@=*e1F-$(bzcQFbFr?0H(>m
zKk^6%7cOLdIE<bT-}`n)qw75ma^FZY=HvDUC_wcEjg3DZ9S&bAWSNRcgu0Fn6vu&J
zh^l*kf!sI|H=9M%6m(rf*Htu4Mbnhw`-GAF!C^|v#YM(44Ay@08`P_BQ(2?%(w|hy
zzyI${JLf!lI$QbS4{v4PzTE&UT)2=GD^?&Bh3|apTkPDhp=(!f@5{hC;8pMR?c=!{
zJf1c=2k80zzJ1?q8ys9ExvuD~tYlAPBS}@EV#&8Dn(;+^2vk+UvK-RsTweVXY2xuT
z@py(rBIA8dkNAE5yTO43X-hEv#+%vMQOWOLmXK%7rD9wIxEA&G4gBl>{TUM`PC7yp
zB*)>wU;Khm6DJm{n&tw#J;!(4B<zVaNN7Oam+I<nI;Fh)dRbKiifPg?c^VVvUqaDI
zC*uf#Z5Y_L?XgE<L<h)W9{(`^Du&5c*A*zbk4&tecq~e&Y!su)%TaY5S&}fjJNfS?
zf60p9uOXUFAE5~Vixw?PuV26ZdzNKAemqy?AGJwJ1F9QKOD}4!s=BQ>7_7IA93fwT
zlc%0Z{g>uYG<F=a?!z`s9NWfqY#c`nv&%=8=8{*&4uPYf>N<+1p{go&HcR}_K@PsL
zjstJMiD6_(BZ-$=THI(Np&Sju#TQ?k+OT26ov!Py%Cm6q55mXk5>tUvO_rNx*3?`-
zuC(+bU6BiI%Ov0rP+dQP+S8^{F@6%kvT{_vA7lmBv2h&%!sCsRyxSg-<b3yta9wO8
zN4CF@$i7{4Zre=P{#|6V8B|Tfbe!C~k;tBdsZ>W+h_j7MCOibf!w)}<5Q2*?x+t}2
z)23y>st?kHkJ~0Ed70?wQon!3X`@D6R##MXW>C|LEZfS*_D~@uRW+2<o<z8^hG1zq
zzQQ8(KoD8Y(`k-nVH;VDRFd>Slw_ov*r9{OdOFFalL$anRWhcPIS`Arz1!EfEp1u5
zfjyyuf-1+hzn9D9N=Aa<x-RqQ&rfaLy7f-riT4BHlWLSyffArDpsJ@%C@q~=S6FyP
zX&_MNQ<Z?@3LGcj_NM4QWK~6$6-L}_;JOaNwsEX{Tb-gPD6))UJ4Rn7(|<4?Z#^(L
zxW{muHZQ#G@roQmq0oi4ZQpAc#t|Ucw#~eG^HSTlZ(j!d=2+(NNp^}3-R>5Xzvvhf
z(zNko3JaSn0)d7ipRY2cX<?tD1T{s`@f2T39s&YkIgXWcoLt&8(}RW)>&aw#J5s6k
ztZnxIoj|)cdc5Lhs1zyj`~3?Y$N8~kS*1fDJo3mRSeC_k=be|@xpU_+HQ`g~74|eD
z=z&q{T}zeAl2oe8a;dH;MSevo)MPo}f@C_5WjKyuyRKomZrTwd<p~%E`n=Ka{hU5V
zc$0t<UDp>lj&q;mIPU>r?%cVl9XocsM-#-z`?Qhc6YfM0c_7pQjld*e8ZZ+$3-}WG
z+n{OQca7fPjv{}dp&q9OmMV&JwI`qe#KMIOMI;gtot>Scsi`Rm+~l#-@<_QqO#t3+
zvx;XjK5wW;^;vz?c}s!!1>w|FPfY?hd*I6dzX15O!5so&U?d39XjE+5woRz2+6l}C
z!heeZj0EADk(#i0@nZ4HE3b%fIGhCjH!${Z6@ZZ-EExj9=ktl0ni?TV(q7;Wpy6*B
zfTPXffY(U92Y48`6sQ>fzlBdY4F0u&Py#dolf5g1)_ku9?Lr9S)5rt<8bK)V@)8Y5
rd7Uff`zAu4wdeDHoctVs&-n8{%^|^~T_7mF00000NkvXXu0mjfm(1j)

diff --git a/interface/web/themes/default-304/icons/x64/login.png b/interface/web/themes/default-304/icons/x64/login.png
deleted file mode 100644
index 27adf0b5e5ec4f14c5f6c5364cb2ec3080ed3a2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6797
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

diff --git a/interface/web/themes/default-304/icons/x64/monitor.png b/interface/web/themes/default-304/icons/x64/monitor.png
deleted file mode 100644
index f6fc9370956e29fa0c94422d5d3dcf18b20a8e8c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3198
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

diff --git a/interface/web/themes/default-304/icons/x64/network.png b/interface/web/themes/default-304/icons/x64/network.png
deleted file mode 100644
index e9aa4a22980d781de7a6a80f75c192d93703c55a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5546
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

diff --git a/interface/web/themes/default-304/icons/x64/server.png b/interface/web/themes/default-304/icons/x64/server.png
deleted file mode 100644
index bcde9dcc5ca190c446b86ae32be731dc2e712f1a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3527
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
B`E39I

diff --git a/interface/web/themes/default-304/icons/x64/sites.png b/interface/web/themes/default-304/icons/x64/sites.png
deleted file mode 100644
index c6e6ca252615a6b71b3b6bf43325d28eb91dd38e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6904
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

diff --git a/interface/web/themes/default-304/icons/x64/system.png b/interface/web/themes/default-304/icons/x64/system.png
deleted file mode 100644
index efb2008ee53939e6b70ee5ecedf0b1c0c033226c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7060
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

diff --git a/interface/web/themes/default-304/icons/x64/tools.png b/interface/web/themes/default-304/icons/x64/tools.png
deleted file mode 100644
index 8ce4e231f9a04031f28fef8efe47f4baa23d851d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5721
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
LNkvXXu0mjf(BvC@

diff --git a/interface/web/themes/default-304/images/Thumbs.db b/interface/web/themes/default-304/images/Thumbs.db
deleted file mode 100644
index 8679961a8d1dc54348abadb5dd70f647d769c1bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10752
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

diff --git a/interface/web/themes/default-304/images/ajax-loader.gif b/interface/web/themes/default-304/images/ajax-loader.gif
deleted file mode 100644
index 7c4804ebcaec27b830873a1ff4d157f1bde00ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3208
zcmc(idr%X10>_u^BadA@-3>MnI0F(9Y9Xjlo+<<g5Riv}pePcff{G{)fglhbA>j=n
zybK@-B!*~3#0O}#JPT@Zu%e<pIiRf~zU$btz0P^y)edw2-b`=*+}YWk&*%63erJ~F
z>+R?i!va{q8vuC!{(XFW{KUjWS6A2A*x10pKyh(#Q&ZE-%*@M|FUQBnv$C=h5)y!q
zm)XCJxrw`Dl6MPPsd34%teAZ<X$KNwgf?*p_ap#jzd!(O?oqS%=q9hw&0O~&uQfIt
z&|vP?>iIX!e-wZoFB$fYi_y%EJQnaJ7LDGRVM_?fT@iYAHCeM}^RzX`-q!Y7y!w!t
zsH*oHjuB~zi^U*^YtUdr^0hYm&4;_nedE#u11QgIty8G|rKnquR=P#f=AFGS&Ycy~
z$*E~Pw@8S#mk#Bn`Unb4k09=Dat<{-sv%0|LM6dqtES<&i$<^X(G{sro@(qgt>auc
zpUkfGNh&N(jCA$Mw#gv|3oq7CugV2q5nGJ~LxEm<ouRsHUgUP09=8YXe-8|9NGf;)
z%ti_NV{M$Cxh3s=o87dl<jwABQ+(VSFTY!`2l(7`PQwQs1`F9|=h-7$XGcy%dfU?*
zy(`AlAxOU>RKVa}@{?Tdd3MTQ-zc0iezj5(8K1_SDO2=gh7c<XqtiFm8R6pDUc+N7
z3UmgtWBj%<B(FnG_~5j426n;czB?L@7_mtr=m;IkUa^lOrIpbSl<@XuaI(Nc*Bn=B
z{x<bCX>4VhM#XD`Xz6Y0wiE5rmJ2o8nmDzWm|ybFRWfzjpaM|?J`{WHs%oHazo-w7
zGp@ZxNiS=@bv^c|=uWJh_b`7td{Et<^8|R_{WL0;c)YE>>?JVNDl2-svij4?<}FR1
zUv!)_8a5;Sj!#;M|6&f`%5Dz-u^rD|xLvZUS`{*MRuQ_UM6u65KcoM)D~s4RYCjo3
zzdA|dj2c-<jA$(Xu4S#hq=HxRk`XW6&`$a}2tI^s!f0p?v||sQP08KS0T2IRN<vaF
z7lI@bkuo{?5lkwra5D$ooobp6?RO<Nu&KubTUrXMsFhk#t3E^i#VP&KHht@b7B#!u
z<k)5U74P=A61zSHM^-47YHxfQc}__j>vtSTEBZ=aLKPjqwy_W|yyyDxBrpve8|t0-
zeg<g2%6#Vd`f;Rdd&w+*O+#^fBRvr%4KlPie_3ND?_IR?V*<d13g*+_#!%0W>^1TV
zThds=y3-sYjZuVpEV<vhn3%eHXuaiy>ek(qw-&N`a~VjFlCJQw;~E?k50ugKu4Uc3
z1Na%OUiP=u?lILAy>Vk$>W*~=zU-if6O_d%Xz;SNYe^ZL93;*zRKkPzrkbQ@vOyW!
zGNhrAz?xMkOf8d?xT*A*_C(`JtVMHTZPNu_4ZB-$=+YIAmR3)6`h_G&?1|w5j_-gr
zK7GFo>Q5UXD50|G%;8n#faKne>FIQSV_DL9{8_`3^>NWUcG;a52Y+?Dk550iet3M{
z?vc*|`da@;KeUkj!|_||W=AZoyfnh?)fEIo+aDA{b*Ctt&A#}jC{dnU)gVZ%TEun`
zoAX*%2`#pnOXctUI{w<@9s5NE0><FXU?`|`=OMO9UxBTMcTm)>utn30HiV8QleX9%
zLdd+8fyth5OteW7lx}*!(=wp0o<JKK4^xYhchxm&P?fq~iwc_6YmRkzf>jj(Aci@c
zR-QNR?ncXnDjA!E^k7J~dL28-3hlXEnUV+Pd99^)VJ$#pnAoToNPbZB=uzd@o<$aq
z{Ne(hyG}+<x)hC{A;fh;*D6*ZDK|OdC)dN4pDy)S{KxUb3l+SXAApdyxdAZuW3w7-
zD(EV$SMXMS#cBLo{H4E8Ui6R8B2Q~+Z)0<7_Rj>Xj*9bf`>7QCDz+~2oi9Dl!0==<
z3EH$sumzQtic>13_Db4|-o)IWsi)ZK0_G>{cd$tbwuwhf4>(!+%c}^ark3ooyg=$y
zdmK?VR5c^@k`{&D2^6zSO<)uSi{qR+JCR0Q$Kq1R-6+|-z{3>8JRqd|yk`<oPA6j+
zLI-c|h=BHFS_Dz=VHy4t8-jrA7^+YPt^?3}qdi`?-#|agmElh<7+sI9FEtPXB)`!W
zR=DIZhr*Zk^;mpd0%W0wrwcqt=AytdRE6|y-Bf5DWNmPA%H@tlP=>W)Q*O`mD6i3q
zpUf!Pc42{Q9(q#iqZ1u`e-_YGtv`+p_|zVAq<Yl4P|uz+x1{JBwtn{@`HEa%BId8)
zTJmLu1XxlEr)F-Dl`6nWIlme#j}ti*H9Lc8xqJvg;B0rUPDehzGSexWd>SDqi=s?n
zGzz+)(|g)8T+%=k?IvJdM{tgC6?PY(-atF}TkyLWejP=M0z4)O<OV47J@*8M9>@aR
zUgP8&t;{6i-E`L#N6#38JXqyN-?`DB2mQW;<c0h%{|tVfh%pB&D|gHk70OE$Sw%{A
zL_VJcf=;G+&T3r_C$p7Jg>@i2PYxj-l#bQ|j9nOL3?c~GUo8mEK`?9xy#-JQkqQ}n
z6EnJn;_%>5A$qe9cu0^3JNe+v348|c8kGHjJ$wA^lfg8To5-qRWzgiY#Sw<sYRd4F
zySYbg%|A{dWub#t|0f3$X9_vr-FB|~AUBi2gix)vASH@G+A*Y)NdjXt1sW|1d-fSa
zAlScsxf`t25o8qAA#)iR26Mu#Zlgwb5uEm*2)R8vO~AuWT=4ey_*2hE{28<Yc#A*(
zlCPDhQ%b29@gZvy4yR)CU%~6ie{3Rkp@cuB2y;PzQLLh}P-IW5ti`GnrR8-+$GH+`
zDmX6!Md1%35WRk01i2F>Uu1gCd1%uk4gh7)cpIIv+zrxex)4MI-UGIzt+X0LjP8Bw
z>m(zOodTvdCUD^~GBF#vfj{x}lW{`$9rGpqr|s{0Jw8|U0J+T$6vpUD&yPi*E##m1
zpF%*vz7`vP7=k4n%GzbHzEcr<r;Er_#`M(gV};=`n!)wmZxS!yuaNHISITj*BQ-xG
zMqce$e^6P?sH?BiNOQw0oMpB!f*f`Z$YIjR?d{wYaTai~i(F{z72CQ0bUWDrpn_L`
zc?;3)9eE(=5aenbM!640`gqHyoHpPAeQeqk@5VPzxKsPz07rDp`>)sAZ2#4P-uB8&
zYPI+iQn>761JH%=|J8sn>_00=?Pn<bdiK5Bv?ht~P)_SmV!~qICE{U2E7XX##DCo9
z%oY_7bD)y0f5MMoXz{#f%^h+Z2et5wj+sS5L{+i(`{?A96mp`i11rKF$@6uIE-*<(
z;lLGM)Qmu-Qsxv+M$|10O-?Pkb&X97NY&QRp{#WYui@I#Kv3N6z+h4?_t#}vU%@T=
z;UeRJgymiMrOUAR;LRby@`ygr8PD4OX}I-Byy1_K5kGn|@Kz!pc-^^aqYW^tye0ev
h$hvuWRQtnnBF6;xRFggK7NZpVxdyn*{|9`y{tX`$wTl1%

diff --git a/interface/web/themes/default-304/images/buttonHolder_bg.gif b/interface/web/themes/default-304/images/buttonHolder_bg.gif
deleted file mode 100644
index 45dc0da38b2608cf1bb0c5079105e8a8bbfbe95b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 609
zcmZ?wbhEHbY-G@8xXJ(m|NsC0_wWDTzyE&x`up|ApF7XL+<Wom-RGa5zWu&%|HJuv
z?=L?1aQWfKD~~>2d;ID8lTWvveSZAr+sh9>-hBG``s0st_uiks|NiRZk2juvy8r6y
zqc`6kzW)03-S;PNzde8d{lnK^-+uo2`TOsmzyH4c`2GFYpI<=M|Nno1R{sAFwx1$G
z@h1x-1A``m4#*UcpBUKwJ9HO#Y%$PU-cWQh$7+5+YN6NKsO85~N={FWYwdR__xU&L
z{859-y)MywEZgq9To?cFbKc)al21ODH3rwz)%!Q{inJ9s^*VKS`}PW`Ow8$<JayU(
zDWz$tGn(d3T*xJ_F+X`><FXa?tHt;@R<7ERw`u)0LB%aq+cI|d>=%<!+Z%m2<LLC0
zJi<)J15c)%yRh}Lgu=y3m&0#fzssh2JK%2kqnKyT+(ODvN?wJ$dH3|AQ{?+e-&}uu
z_$`+8$?&JU$^(Zcrw<%C%^!Sa+IaO#G`4J5$lBSe!`Haw0=JWgRA-9Dg^S7uc@*1w
zbR-WbothwH9mSF<n0#`Uu<yTMjm?VZ>!z{rhUI94EZ<q@EU09=BJbYWHow<1oxh7H
zhUVSa5~}*+?DY*<(f=D+*|Q_hx1~8A<Ps~Bk4{@yuyw0?_>9G2#g8AJy_#_)vZanU
zH7RrAC3TmsPpi6jp5#?L`b_R}(dXa=M^Ck%6*-$;SiDN#+tQrp?&(uayk8~>+0304
IBfww{0BZFy)c^nh

diff --git a/interface/web/themes/default-304/images/chevron.png b/interface/web/themes/default-304/images/chevron.png
deleted file mode 100644
index 7ca05879425ec644442a7590157616f4de3eb77d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183
zcmeAS@N?(olHy`uVBq!ia0vp@Ak4xHBpZ(Y^aoPv0X`wFA3l8O?CjjLXV1QU`*!Tu
zv2EM7`uh5*Q>X6Uy}PBQ<@M{=rKP3+|NrMJzOWLgg|Q^aFPOpM*^M+H$IjEmF@)oK
za>9d*1cv5!vI4iNw=>O1ySbNBNnr172A|FE?(qnoxW~CnqWnD5<xAG$3dO4xW7?()
e=rN1W;ASvdDWGT`Jktnh5`(9!pUXO@geCw3mPT9v

diff --git a/interface/web/themes/default-304/images/favicon.ico b/interface/web/themes/default-304/images/favicon.ico
deleted file mode 100644
index da6257c84cce5c550eb7118581ed2a22f15af248..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1406
zcmeH_Sxl5y6vzL!*4AoOwAHFiof!oc0gFpZTWqzpwSq7+ezSbczOW1o%P<Te+W@w*
zIirOtYm6qE@S+b&gA2GM;7mveBqSsxJP=AqAfN(1u!O|%jD6|5PbNJ#_nv!i?m6do
z@BadfT2K&ZT!XaLz*YeJsM8ii)C2ngJI>y^e~16f{eD0E{?}MuUc#$a^LYMz22)d$
z7$5%!KA#sQE*Bb`n^9C;46o0JM~@%lVP_}qKX`yUckklH&6{X!YQmL<2GrHp!|m}v
zrPe^fCqi#B!)nWb&R|5MMhjbJ7Sd>KO}D|4oC1?22?jc&H=0mTScIHhC$e)KI3rg=
z#wj3?aZqdZ6srTT)<VgvAy@J+ngekbX!S;DbOt1+q#}v(xys5>aJCS6`2}$1<s;Xb
z2M6V}Q_iexJ2C?GsdiIy3mO`mQ2*Cu{8?8I&&5lqz2HW5O)aXbYjD1@3gs2&P*z?+
z400q$IVe<Wa0(tes;N{ZBHflrx#%uwHl$k9iNOj>QVPtLWSEH0NPGsPnQG@E+wMSS
zmK`cygVxroC@pm%pBP`fc!~c00eHPWJbUKFlP6En+1Z7A_wJ*;{cqg5bsN{NT}Mkx
zE1HS9j#%Ap4^~!INUvoqEiGYjaS;m(3z(mu$K2c;W@l$HGc$wf>1on&3X_wQn3$L#
zJ;yONHipsBQH+d?V0d^KLqkIt92~^JzyNXdqpz<Iy}iA}<3&$T54yX%(bd(3j*brE
zX-8XI8yZMw7yXIAzxm(Z?-z)Uj@BGWOJ1Mq`N<GN3w4NgOA&i(g&Wl&-)#^5=3|z7
zzVi1nC;MZ2Xs94&6U)|f(xb*ppJfSRVx)p|to+NJ(jV58rhG3I2o$o_%&L^hxL-0p
zs#VBjJoh29@f>&ND@k=3d0w8wG85%;ak?x27%!La5<1xDJA}dmp9B@3*d-M17dhFF
z!6K39P(;P2`$eK)@mc2nVw-sDh7#x6V6pgMR3$4ptP4A>Ik|4f!Kf%n*k;BqBpmws
zx8pSzC1GK);ZbJBOnG*?LRD;d_@0QpD$6RyK5!Hy{k$h4A~HU5pJey1Cr^EQI4&+S
JKK@<RdjqILJA?oL

diff --git a/interface/web/themes/default-304/images/header_bg.png b/interface/web/themes/default-304/images/header_bg.png
deleted file mode 100644
index f53a8b4ac206d253510634b56d55eaf87d9801d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 308
zcmV-40n7f0P)<h;3K|Lk000e1NJLTq000C4002-31^@s7N$KPX0002{Nkl<ZILob4
zTaJV<40D~NYBR?|NZkKI><6@+ZI-E4njaJ#Kav2BeLJb9pjQV=b<o{Ge>qtDYxVmT
z$G)AcUPISwulxm;TESAvtpI>4$jm@f1Jw*vH8AH^S++p2w@1ERF0vUYB1p%+odBRD
z0RXC|S7By%p{>ZdaqNlnN2?V&d_Ji3A@mv#7&CXI7h?+wCqzVMgc4LTkyC19ZLL6N
z3K1i{8wMo$@L456#W3pFl#hmwo5o}IJBLm`cS`9u&=Nb)?B5tOAZa0K-{6z!iqUQ|
zOerhVFT|#>9GCatH@2PU2$E$iWhoK<_k>*TG6UhK3&0PWZ4!q!bZTD!0000<MNUMn
GLSTXv_I{oK

diff --git a/interface/web/themes/default-304/images/header_logo.png b/interface/web/themes/default-304/images/header_logo.png
deleted file mode 100644
index d85333a5af3d21da5fefc6b0fa2e052ac489501d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5872
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
GLSTYzzh(OX

diff --git a/interface/web/themes/default-304/images/lists_tfoot_bg.png b/interface/web/themes/default-304/images/lists_tfoot_bg.png
deleted file mode 100644
index fe3acffe5946346a67b39082457c784d33bce9bb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmeAS@N?(olHy`uVBq!ia0vp^Oh9bJ!N$PA$avaH9>|IDba4!kxIDG*BG&;05vRMU
z|NrlGT3W3U6@BDZ_Z)34aTQqx0n2n3ugoPuTn?8KcUSr!v}IsWTzSpz#J4N8op049
z9V>pB+w%L5<E6j1T7!dFZ)@K;`G+e%<ypAClmEsaEho<Z1KPvj>FVdQ&MBb@0HLlp
An*aa+

diff --git a/interface/web/themes/default-304/images/lists_thead_bg.png b/interface/web/themes/default-304/images/lists_thead_bg.png
deleted file mode 100644
index c75d17f03e19525bdc5117c08072e4c5d056e68b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 200
zcmV;(05|`MP)<h;3K|Lk000e1NJLTq00062001Zm1^@s7qlO#e0001wNkl<Z7}JG}
zF%E+;5Cq4IKTk(N;r9`EfK7pIB%H#;Bq&On(d^x7an2P@(?rFxEU4=`===VBJmwh%
z?~%0@hG8i3-t&eK0$SG<ZQF(<)fEBYoGXekqLdPUtRiQWTRe^f8Dmbg<qKvU#{ytu
zi~!h_(oNdyN9QWH%d4DouCniY6=TdzBz<0L{3=fsCU}P+2pT^C0000<MNUMnLSTa6
CUrl!a

diff --git a/interface/web/themes/default-304/images/meter_bg.gif b/interface/web/themes/default-304/images/meter_bg.gif
deleted file mode 100644
index 6b38c6e9592c2624c5f2d763ec9892ed550108ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 80
zcmZ?wbhEHb<YM4rn8?5|bLPzd|Nk?9f#OdVP6h@h1|1L&B+tO1$iT`W<FO&Zk%5g}
d$wz}>;o&v`Mvplj9~ZiI@Q54Tkq}_81^~*D5+?uv

diff --git a/interface/web/themes/default-304/images/screen_bg.png b/interface/web/themes/default-304/images/screen_bg.png
deleted file mode 100644
index 5cfb14945604c4b43b8cdb22485e1dc1f58b43b3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 90
zcmeAS@N?(olHy`uVBq!ia0vp^j6fW~!3HF69GAZhq!c|}977~7CtDOhJ5#Ub=H|wx
m#s&npHnjD9oFd^M%ETbEi6vvV&i4wSVg^rFKbLh*2~7Z#x)+lG

diff --git a/interface/web/themes/default-304/ispconfig_version b/interface/web/themes/default-304/ispconfig_version
deleted file mode 100644
index bb19ac367e..0000000000
--- a/interface/web/themes/default-304/ispconfig_version
+++ /dev/null
@@ -1 +0,0 @@
-3.0.4.6
\ No newline at end of file
diff --git a/interface/web/themes/default-304/licences.txt b/interface/web/themes/default-304/licences.txt
deleted file mode 100644
index 9b810056fd..0000000000
--- a/interface/web/themes/default-304/licences.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Theme created by Martin Henne (red-ray.de)
-
-based on:
-
-Templates: http://www.yaml.de
-Web-Forms: http://www.sprawsm.com/uni-form/
-Icons: http://www.pinvoke.com and http://www.randomjabber.com/static/sizcons
-Know-How: http://particletree.com/features/rediscovering-the-button-element
diff --git a/interface/web/themes/default-304/templates/admin/firewall_edit.htm b/interface/web/themes/default-304/templates/admin/firewall_edit.htm
deleted file mode 100644
index 827c1c8b9f..0000000000
--- a/interface/web/themes/default-304/templates/admin/firewall_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_firewall">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="tcp_port">{tmpl_var name='tcp_port_txt'}</label>
-                <input name="tcp_port" id="tcp_port" value="{tmpl_var name='tcp_port'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="udp_port">{tmpl_var name='udp_port_txt'}</label>
-                <input name="udp_port" id="udp_port" value="{tmpl_var name='udp_port'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/firewall_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/firewall_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/firewall_list.htm b/interface/web/themes/default-304/templates/admin/firewall_list.htm
deleted file mode 100644
index d209a45882..0000000000
--- a/interface/web/themes/default-304/templates/admin/firewall_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_firewall">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/firewall_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_tcp_port" scope="col"><tmpl_var name="tcp_port_txt"></th>
-                        <th class="tbl_col_udp_port" scope="col"><tmpl_var name="udp_port_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_tcp_port"><input type="text" name="search_tcp_port" value="{tmpl_var name='search_tcp_port'}" /></td>
-                        <td class="tbl_col_udp_port"><input type="text" name="search_udp_port" value="{tmpl_var name='search_udp_port'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/firewall_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_tcp_port"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="tcp_port"}</a></td>
-                            <td class="tbl_col_udp_port"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="udp_port"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/firewall_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/groups_edit.htm b/interface/web/themes/default-304/templates/admin/groups_edit.htm
deleted file mode 100644
index b5fe764944..0000000000
--- a/interface/web/themes/default-304/templates/admin/groups_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_groups">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="description">{tmpl_var name='description_txt'}</label>
-                <textarea name="description" id="description" rows='5' cols='30'>{tmpl_var name='description'}</textarea>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/groups_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/groups_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/groups_list.htm b/interface/web/themes/default-304/templates/admin/groups_list.htm
deleted file mode 100644
index 3fc1918ec7..0000000000
--- a/interface/web/themes/default-304/templates/admin/groups_list.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_groups">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/groups_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-                <p><tmpl_var name="warning_txt"></p>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
-                        <th class="tbl_col_description" scope="col"><tmpl_var name="description_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_description"><input type="text" name="search_description" value="{tmpl_var name='search_description'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/groups_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_name"><a href="#" onClick="loadContent('admin/groups_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                            <td class="tbl_col_description"><a href="#" onClick="loadContent('admin/groups_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="description"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/groups_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/iptables_edit.htm b/interface/web/themes/default-304/templates/admin/iptables_edit.htm
deleted file mode 100644
index 33574c9ef5..0000000000
--- a/interface/web/themes/default-304/templates/admin/iptables_edit.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-<div class="panel panel_iptables">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="table">{tmpl_var name='table_txt'}</label>
-                <select name="table" id="table" class="selectInput formLengthLimit">
-                    {tmpl_var name='table'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="protocol">{tmpl_var name='protocol_txt'}</label>
-                <select name="protocol" id="protocol" class="selectInput formLengthLimit">
-                    {tmpl_var name='protocol'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="singleport">{tmpl_var name='singleport_txt'}</label>
-                <input name="singleport" id="singleport" value="{tmpl_var name='singleport'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="multiport">{tmpl_var name='multiport_txt'}</label>
-                <input name="multiport" id="multiport" value="{tmpl_var name='multiport'}" size="20" maxlength="40" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination_ip">{tmpl_var name='destination_ip_txt'}</label>
-                <input name="destination_ip" id="destination_ip" value="{tmpl_var name='destination_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="source_ip">{tmpl_var name='source_ip_txt'}</label>
-                <input name="source_ip" id="source_ip" value="{tmpl_var name='source_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="state">{tmpl_var name='state_txt'}</label>
-                <input name="state" id="state" value="{tmpl_var name='state'}" size="16" maxlength="20" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="target">{tmpl_var name='target_txt'}</label>
-                <select name="target" id="target" class="selectInput formLengthLimit">
-                    {tmpl_var name='target'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/iptables_edit.php');">
-                <span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/iptables_list.php');">
-                <span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div> 
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/iptables_list.htm b/interface/web/themes/default-304/templates/admin/iptables_list.htm
deleted file mode 100644
index 6c65094daa..0000000000
--- a/interface/web/themes/default-304/templates/admin/iptables_list.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_iptables">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>Tools</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/iptables_edit.php');">
-                    <span>{tmpl_var name="add_new_rule_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_table" scope="col"><tmpl_var name="table_txt"></th>
-                        <th class="tbl_col_protocol" scope="col"><tmpl_var name="protocol_txt"></th>
-                        <th class="tbl_col_port" scope="col"><tmpl_var name="singleport_txt"></th>
-                        <th class="tbl_col_port" scope="col"><tmpl_var name="multiport_txt"></th>
-                        <th class="tbl_col_state" scope="col"><tmpl_var name="state_txt"></th>
-                        <th class="tbl_col_target" scope="col"><tmpl_var name="target_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_table"></td>
-                        <td class="tbl_col_protocol"><select name="search_protocol">{tmpl_var name='search_protocol'}</select></td>
-                        <td class="tbl_col_singleport"></td>
-                        <td class="tbl_col_multiport"></td>
-                        <td class="tbl_col_state"></td>
-                        <td class="tbl_col_target"><select name="search_target">{tmpl_var name='search_target'}</select></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons">
-                                <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/iptables_list.php');"><span>{tmpl_var name="filter_txt"}filter_txt</span></button>
-                            </div>
-                        </td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_table"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="table"}</a></td>
-                            <td class="tbl_col_protocol"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="protocol"}</a></td>
-                            <td class="tbl_col_singleport"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="singleport"}</a></td>
-                            <td class="tbl_col_multiport"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="multiport"}</a></td>
-                            <td class="tbl_col_state"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="state"}</a></td>
-                            <td class="tbl_col_target"><a href="#" onClick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="target"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/iptables_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="9"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_add.htm b/interface/web/themes/default-304/templates/admin/language_add.htm
deleted file mode 100644
index 540fc97657..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_add.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_add">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Language Add</legend>
-            <div class="ctrlHolder">
-                <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
-                <select name="lng_select" id="language" class="selectInput flags">
-                    {tmpl_var name='language_option'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="lng_new">{tmpl_var name='language_new_txt'}</label>
-                <input name="lng_new" id="lng_new" value="" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-                <p class="formHint">{tmpl_var name='language_new_hint_txt'}</p>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_add.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_complete.htm b/interface/web/themes/default-304/templates/admin/language_complete.htm
deleted file mode 100644
index 7416a7096c..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_complete.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_complete">
-
-    <tmpl_if name="msg">
-        <div id="OKMsg"><tmpl_var name="msg"></div>
-    </tmpl_if>
-    <tmpl_if name="error">
-        <div id="errorMsg"><tmpl_var name="error"></div>
-    </tmpl_if>
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Language Complete</legend>
-            <div class="ctrlHolder">
-                <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
-                <select name="lng_select" id="language" class="selectInput flags">
-                    {tmpl_var name='language_option'}
-                </select>
-            </div>
-        </fieldset>
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_complete.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_edit.htm b/interface/web/themes/default-304/templates/admin/language_edit.htm
deleted file mode 100644
index 3767a178eb..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_edit.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_edit">
-
-    <div class="pnl_formsarea">
-        <fieldset id="wf_area_language_edit"><legend>Language File Edit: {tmpl_var name="file_path"}</legend>
-            <span class="wf_oneField">
-                <tmpl_loop name="records">
-                    <span class="wf_oneField">
-                        <label for="records[{tmpl_var name="key"}]" class="wf_preField">{tmpl_var name="key"}</label>
-                        <input type="text" id="records[{tmpl_var name="key"}]" name="records[{tmpl_var name="key"}]" value="{tmpl_var name='val'}" size="50" >
-                    </span> 
-                </tmpl_loop>
-            </span>
-        </fieldset>  
-                
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="lang" value="{tmpl_var name='lang'}">
-        <input type="hidden" name="lang_file" value="{tmpl_var name='lang_file'}">
-        <input type="hidden" name="module" value="{tmpl_var name='module'}">
-            
-        <div class="wf_actions buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/language_list.php?lng_select={tmpl_var name='lang'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>     
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_export.htm b/interface/web/themes/default-304/templates/admin/language_export.htm
deleted file mode 100644
index 40856220c9..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_export.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_export">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Language Export</legend>
-            <div class="ctrlHolder">
-                <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
-                <select name="lng_select" id="lng_select" class="selectInput flags">
-                    {tmpl_var name='language_option'}
-                </select>
-            </div>
-                
-                
-            <tmpl_if name="msg">
-                <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-            </tmpl_if>
-                
-            <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
-            <div class="buttonHolder buttons">
-                <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_export.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-                <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-            </div>
-                
-        </fieldset>
-            
-    </div>
-  
-</div>
diff --git a/interface/web/themes/default-304/templates/admin/language_import.htm b/interface/web/themes/default-304/templates/admin/language_import.htm
deleted file mode 100644
index 30289448f2..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_import.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Language Import</legend>
-            <div class="ctrlHolder">
-                <label for="lng_select">{tmpl_var name='language_import_txt'}</label>
-                <input name="file" id="file" size="30" type="file" class="fileUpload" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='language_overwrite_txt'}</p>
-                <div class="multiField">
-                    <input id="overwrite" type="checkbox" value="1" name="overwrite"/>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ignore_version_txt'}</p>
-                <div class="multiField">
-                    <input id="ignore_version" type="checkbox" value="1" name="ignore_version"/>
-                </div>
-            </div>
-                
-                
-            <tmpl_if name="msg">
-                <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-            </tmpl_if>
-            <tmpl_if name="error">
-                <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-            </tmpl_if>
-                
-            <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
-            <div class="buttonHolder buttons">
-                <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitUploadForm('pageForm','admin/language_import.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-                <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-            </div>
-                
-        </fieldset>
-            
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_list.htm b/interface/web/themes/default-304/templates/admin/language_list.htm
deleted file mode 100644
index d2689535d3..0000000000
--- a/interface/web/themes/default-304/templates/admin/language_list.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_groups">
-
-    <div class="pnl_toolsarea">
-        <fieldset class="inlineLabels"><legend>Tools</legend>
-            <div class="buttons">
-                <div class="ctrlHolder">
-                    <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
-                    <select name="lng_select" id="language" class="selectInput flags" onChange="submitForm('pageForm','admin/language_list.php');">
-                        {tmpl_var name='language_option'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-    </div>
-  
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_module" scope="col"><tmpl_var name="module_txt"></th>
-                        <th class="tbl_col_lang_file" scope="col"><tmpl_var name="lang_file_txt"></th>
-                        <th class="tbl_col_limit" scope="col"><tmpl_var name="lang_file_date_txt"></th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_module"><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="module"}</a></td>
-                            <td class="tbl_col_lang_file"><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="lang_file"}</a></td>
-                            <td><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="lang_file_date"}</a></td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm b/interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm
deleted file mode 100644
index 6c903bad7c..0000000000
--- a/interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-<h2><tmpl_var name="do_ispcupdate_caption"></h2>
-<p><tmpl_var name="do_ispcupdate_desc"></p>
--->
-
-<h2><tmpl_var name="ispconfig_update_title"></h2>
-<p style="margin-top:50px; font-size:14px;"><tmpl_var name="ispconfig_update_text"></p>
-
-<div class="panel panel_language_add">
-  
-    <div class="pnl_formsarea">
-        <!--
-          <fieldset class="inlineLabels"><legend>{tmpl_var name='do_ispcupdate_caption'}</legend>
-            <div class="ctrlHolder">
-              <label for="server_select">{tmpl_var name='select_server_txt'}</label>
-              <select name="server_select" id="server" class="selectInput" onchange="document.getElementById('OKMsg').style.visibility = 'hidden'; ">
-                                              {tmpl_var name='server_option'}
-                                      </select>
-            </div>
-          </fieldset>
-      
-              <tmpl_if name="msg">
-              <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-      
-      
-                <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_ispcupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
-          </div>
-        -->
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm b/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm
deleted file mode 100644
index 034947355f..0000000000
--- a/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="do_osupdate_caption"></h2>
-<p><tmpl_var name="do_osupdate_desc"></p>
-
-<div class="panel panel_language_add">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='do_osupdate_caption'}</legend>
-            <div class="ctrlHolder">
-                <label for="server_select">{tmpl_var name='select_server_txt'}</label>
-                <select name="server_select" id="server" class="selectInput" onchange="document.getElementById('OKMsg').style.visibility = 'hidden'; ">
-                    {tmpl_var name='server_option'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <tmpl_if name="msg">
-            <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_osupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_user_edit.htm b/interface/web/themes/default-304/templates/admin/remote_user_edit.htm
deleted file mode 100644
index 1b7d22a5c4..0000000000
--- a/interface/web/themes/default-304/templates/admin/remote_user_edit.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="remote_username">{tmpl_var name='username_txt'}</label>
-                <p class="prefix">{tmpl_var name='username_prefix'}</p>
-                <input name="remote_username" id="username" value="{tmpl_var name='remote_username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-                
-            <div class="ctrlHolder">
-                <label for="remote_password">{tmpl_var name='password_txt'}</label>
-                <input name="remote_password" id="password" value="{tmpl_var name='remote_password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='function_txt'}</p>
-                <div class="multiField">
-                    &nbsp; {tmpl_var name='remote_functions'}
-                </div>
-            </div>
-                
-        </fieldset>
-            
-        <input type="hidden" name="remote_userid" value="{tmpl_var name='id'}">
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/remote_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/remote_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_user_list.htm b/interface/web/themes/default-304/templates/admin/remote_user_list.htm
deleted file mode 100644
index a4549c0655..0000000000
--- a/interface/web/themes/default-304/templates/admin/remote_user_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-<div class="panel panel_list_users">
-    
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/remote_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-    
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_remote_userid" scope="col"><tmpl_var name="parent_remote_userid_txt"></th>
-                        <th class="tbl_col_remote_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_remote_userid">&nbsp;</td>           
-                        <td class="tbl_col_remote_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/remote_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_remote_userid"><a href="#" onClick="loadContent('admin/remote_user_edit.php?id={tmpl_var name='remote_userid'}');">{tmpl_var name="remote_userid"}</a></td>
-                            <td class="tbl_col_remote_username"><a href="#" onClick="loadContent('admin/remote_user_edit.php?id={tmpl_var name='remote_userid'}');">{tmpl_var name="remote_username"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/remote_user_del.php?id={tmpl_var name='remote_userid'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm
deleted file mode 100644
index 17c811ba27..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="init_script">{tmpl_var name='init_script_txt'}</label>
-                <input name="init_script" id="init_script" value="{tmpl_var name='init_script'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="crontab_dir">{tmpl_var name='crontab_dir_txt'}</label>
-                <input name="crontab_dir" id="crontab_dir" value="{tmpl_var name='crontab_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="wget">{tmpl_var name='wget_txt'}</label>
-                <input name="wget" id="wget" value="{tmpl_var name='wget'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm
deleted file mode 100644
index c308ec495c..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="bind_user">{tmpl_var name='bind_user_txt'}</label>
-                <input name="bind_user" id="bind_user" value="{tmpl_var name='bind_user'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bind_group">{tmpl_var name='bind_group_txt'}</label>
-                <input name="bind_group" id="bind_group" value="{tmpl_var name='bind_group'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bind_zonefiles_dir">{tmpl_var name='bind_zonefiles_dir_txt'}</label>
-                <input name="bind_zonefiles_dir" id="bind_zonefiles_dir" value="{tmpl_var name='bind_zonefiles_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="named_conf_path">{tmpl_var name='named_conf_path_txt'}</label>
-                <input name="named_conf_path" id="named_conf_path" value="{tmpl_var name='named_conf_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="named_conf_local_path">{tmpl_var name='named_conf_local_path_txt'}</label>
-                <input name="named_conf_local_path" id="named_conf_local_path" value="{tmpl_var name='named_conf_local_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm
deleted file mode 100644
index ad9444060a..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="fastcgi_starter_path">{tmpl_var name='fastcgi_starter_path_txt'}</label>
-                <input name="fastcgi_starter_path" id="fastcgi_starter_path" value="{tmpl_var name='fastcgi_starter_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_starter_script">{tmpl_var name='fastcgi_starter_script_txt'}</label>
-                <input name="fastcgi_starter_script" id="fastcgi_starter_script" value="{tmpl_var name='fastcgi_starter_script'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_alias">{tmpl_var name='fastcgi_alias_txt'}</label>
-                <input name="fastcgi_alias" id="fastcgi_alias" value="{tmpl_var name='fastcgi_alias'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_phpini_path">{tmpl_var name='fastcgi_phpini_path_txt'}</label>
-                <input name="fastcgi_phpini_path" id="fastcgi_phpini_path" value="{tmpl_var name='fastcgi_phpini_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_children">{tmpl_var name='fastcgi_children_txt'}</label>
-                <input name="fastcgi_children" id="fastcgi_children" value="{tmpl_var name='fastcgi_children'}" size="40" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_max_requests">{tmpl_var name='fastcgi_max_requests_txt'}</label>
-                <input name="fastcgi_max_requests" id="fastcgi_max_requests" value="{tmpl_var name='fastcgi_max_requests'}" size="40" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_bin">{tmpl_var name='fastcgi_bin_txt'}</label>
-                <input name="fastcgi_bin" id="fastcgi_bin" value="{tmpl_var name='fastcgi_bin'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fastcgi_config_syntax">{tmpl_var name='fastcgi_config_syntax_txt'}</label>
-                <select name="fastcgi_config_syntax" id="fastcgi_config_syntax" class="selectInput">
-                    {tmpl_var name='fastcgi_config_syntax'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm
deleted file mode 100644
index 21492e4c89..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="getmail_config_dir">{tmpl_var name='getmail_config_dir_txt'}</label>
-                <input name="getmail_config_dir" id="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm
deleted file mode 100644
index 19e0416e61..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="jailkit_chroot_home">{tmpl_var name='jailkit_chroot_home_txt'}</label>
-                <input name="jailkit_chroot_home" id="jailkit_chroot_home" value="{tmpl_var name='jailkit_chroot_home'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="jailkit_chroot_app_sections">{tmpl_var name='jailkit_chroot_app_sections_txt'}</label>
-                <input name="jailkit_chroot_app_sections" id="jailkit_chroot_app_sections" value="{tmpl_var name='jailkit_chroot_app_sections'}" size="40" maxlength="1000" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="jailkit_chroot_app_programs">{tmpl_var name='jailkit_chroot_app_programs_txt'}</label>
-                <input name="jailkit_chroot_app_programs" id="jailkit_chroot_app_programs" value="{tmpl_var name='jailkit_chroot_app_programs'}" size="40" maxlength="1000" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="jailkit_chroot_cron_programs">{tmpl_var name='jailkit_chroot_cron_programs_txt'}</label>
-                <input name="jailkit_chroot_cron_programs" id="jailkit_chroot_cron_programs" value="{tmpl_var name='jailkit_chroot_cron_programs'}" size="40" maxlength="1000" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_list.htm b/interface/web/themes/default-304/templates/admin/server_config_list.htm
deleted file mode 100644
index 1f5356b94b..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_list.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_server_config">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_config_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_name"><a href="#" onClick="loadContent('admin/server_config_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/server_config_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="2"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm
deleted file mode 100644
index 72292b32bf..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm
+++ /dev/null
@@ -1,94 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="module">{tmpl_var name='module_txt'}</label>
-                <select name="module" id="module" class="selectInput formLengthHalf">
-                    {tmpl_var name='module'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="maildir_path">{tmpl_var name='maildir_path_txt'}</label>
-                <input name="maildir_path" id="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="homedir_path">{tmpl_var name='homedir_path_txt'}</label>
-                <input name="homedir_path" id="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='pop3_imap_daemon_txt'}</p>
-                <div class="multiField">
-                    <select name="pop3_imap_daemon" id="pop3_imap_daemon" class="selectInput">
-                        {tmpl_var name='pop3_imap_daemon'}
-                    </select>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mail_filter_syntax_txt'}</p>
-                <div class="multiField">
-                    <select name="mail_filter_syntax" id="mail_filter_syntax" class="selectInput">
-                        {tmpl_var name='mail_filter_syntax'}
-                    </select>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailuser_uid">{tmpl_var name='mailuser_uid_txt'}</label>
-                <input name="mailuser_uid" id="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailuser_gid">{tmpl_var name='mailuser_gid_txt'}</label>
-                <input name="mailuser_gid" id="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailuser_name">{tmpl_var name='mailuser_name_txt'}</label>
-                <input name="mailuser_name" id="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailuser_group">{tmpl_var name='mailuser_group_txt'}</label>
-                <input name="mailuser_group" id="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="relayhost">{tmpl_var name='relayhost_txt'}</label>
-                <input name="relayhost" id="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="relayhost_user">{tmpl_var name='relayhost_user_txt'}</label>
-                <input name="relayhost_user" id="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="relayhost_password">{tmpl_var name='relayhost_password_txt'}</label>
-                <input name="relayhost_password" id="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255" type="password" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailbox_size_limit">{tmpl_var name='mailbox_size_limit_txt'}</label>
-                <input name="mailbox_size_limit" id="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15" type="text" class="textInput formLengthLimit" />&nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
-                <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15" type="text" class="textInput formLengthLimit" />&nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mailbox_quota_stats_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='mailbox_quota_stats'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="realtime_blackhole_list">{tmpl_var name='realtime_blackhole_list_txt'}</label>
-                <input name="realtime_blackhole_list" id="realtime_blackhole_list" value="{tmpl_var name='realtime_blackhole_list'}" size="40" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='realtime_blackhole_list_note_txt'}
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm
deleted file mode 100644
index 0310344013..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Rescue</legend>
-            <div class="ctrlHolder">
-                <p class="label" style="width:300px">{tmpl_var name='try_rescue_txt'}</p>
-                <div class="multiField" style="width:100px">
-                    {tmpl_var name='try_rescue'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_httpd_txt'}</p>
-                <div class="multiField" style="width:100px">
-                    {tmpl_var name='do_not_try_rescue_httpd'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mysql_txt'}</p>
-                <div class="multiField" style="width:100px">
-                    {tmpl_var name='do_not_try_rescue_mysql'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mail_txt'}</p>
-                <div class="multiField" style="width:100px">
-                    {tmpl_var name='do_not_try_rescue_mail'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <tmpl_var name="rescue_description_txt">
-            
-            <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
-            <div class="buttonHolder buttons">
-                <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-                <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-            </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm
deleted file mode 100644
index 3cb6848164..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='auto_network_configuration_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='auto_network_configuration'} {tmpl_var name='network_config_warning_txt'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-                <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="netmask">{tmpl_var name='netmask_txt'}</label>
-                <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="gateway">{tmpl_var name='gateway_txt'}</label>
-                <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="hostname">{tmpl_var name='hostname_txt'}</label>
-                <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="nameservers">{tmpl_var name='nameservers_txt'}</label>
-                <input name="nameservers" id="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='nameservers_hint_txt'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="firewall">{tmpl_var name='firewall_txt'}</label>
-                <select name="firewall" id="firewall" class="selectInput">
-                    {tmpl_var name='firewall'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="loglevel">{tmpl_var name='loglevel_txt'}</label>
-                <select name="loglevel" id="loglevel" class="selectInput">
-                    {tmpl_var name='loglevel'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="backup_dir">{tmpl_var name='backup_dir_txt'}</label>
-                <input name="backup_dir" id="backup_dir" value="{tmpl_var name='backup_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="backup_mode">{tmpl_var name='backup_mode_txt'}</label>
-                <select name="backup_mode" id="backup_mode" class="selectInput">
-                    {tmpl_var name='backup_mode'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm
deleted file mode 100644
index e0a1ded29d..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>UFW Firewall</legend>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ufw_enable_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ufw_enable'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ufw_manage_builtins_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ufw_manage_builtins'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ufw_ipv6_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ufw_ipv6'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ufw_default_input_policy">{tmpl_var name='ufw_default_input_policy_txt'}</label>
-                <select name="ufw_default_input_policy" id="ufw_default_input_policy" class="selectInput">
-                    {tmpl_var name='ufw_default_input_policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ufw_default_output_policy">{tmpl_var name='ufw_default_output_policy_txt'}</label>
-                <select name="ufw_default_output_policy" id="ufw_default_output_policy" class="selectInput">
-                    {tmpl_var name='ufw_default_output_policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ufw_default_forward_policy">{tmpl_var name='ufw_default_forward_policy_txt'}</label>
-                <select name="ufw_default_forward_policy" id="ufw_default_forward_policy" class="selectInput">
-                    {tmpl_var name='ufw_default_forward_policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ufw_default_application_policy">{tmpl_var name='ufw_default_application_policy_txt'}</label>
-                <select name="ufw_default_application_policy" id="ufw_default_application_policy" class="selectInput">
-                    {tmpl_var name='ufw_default_application_policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ufw_log_level">{tmpl_var name='ufw_log_level_txt'}</label>
-                <select name="ufw_log_level" id="ufw_log_level" class="selectInput">
-                    {tmpl_var name='ufw_log_level'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm
deleted file mode 100644
index c960fb131a..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="config_dir">{tmpl_var name='config_dir_txt'}</label>
-                <input name="config_dir" id="config_dir" value="{tmpl_var name='config_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm
deleted file mode 100644
index a41efef098..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm
+++ /dev/null
@@ -1,256 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='server_type_txt'}</p>
-                <div class="multiField">
-                    <select name="server_type" id="server_type" class="selectInput">
-                        {tmpl_var name='server_type'}
-                    </select>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="website_basedir">{tmpl_var name='website_basedir_txt'}</label>
-                <input name="website_basedir" id="website_basedir" value="{tmpl_var name='website_basedir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="website_path">{tmpl_var name='website_path_txt'}</label>
-                <input name="website_path" id="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="website_symlinks">{tmpl_var name='website_symlinks_txt'}</label>
-                <input name="website_symlinks" id="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="website_symlinks_rel">{tmpl_var name='website_symlinks_rel_txt'}</label>
-                <div class="multiField">
-                    {tmpl_var name='website_symlinks_rel'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label>
-                <input name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" size="40" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='website_autoalias_note_txt'}
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label>
-                <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
-                <input name="vhost_conf_enabled_dir" id="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_vhost_conf_dir">{tmpl_var name='nginx_vhost_conf_dir_txt'}</label>
-                <input name="nginx_vhost_conf_dir" id="nginx_vhost_conf_dir" value="{tmpl_var name='nginx_vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_vhost_conf_enabled_dir">{tmpl_var name='nginx_vhost_conf_enabled_dir_txt'}</label>
-                <input name="nginx_vhost_conf_enabled_dir" id="nginx_vhost_conf_enabled_dir" value="{tmpl_var name='nginx_vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='security_level_txt'}</p>
-                <div class="multiField">
-                    <select name="security_level" id="security_level" class="selectInput">
-                        {tmpl_var name='security_level'}
-                    </select>
-                </div>
-            </div>
-            <div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='check_apache_config_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='check_apache_config'}
-                </div>
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="user">{tmpl_var name='web_user_txt'}</label>
-                <input name="user" id="user" value="{tmpl_var name='user'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="group">{tmpl_var name='web_group_txt'}</label>
-                <input name="group" id="group" value="{tmpl_var name='group'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_user">{tmpl_var name='nginx_user_txt'}</label>
-                <input name="nginx_user" id="nginx_user" value="{tmpl_var name='nginx_user'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_group">{tmpl_var name='nginx_group_txt'}</label>
-                <input name="nginx_group" id="nginx_group" value="{tmpl_var name='nginx_group'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_cgi_socket">{tmpl_var name='nginx_cgi_socket_txt'}</label>
-                <input name="nginx_cgi_socket" id="nginx_cgi_socket" value="{tmpl_var name='nginx_cgi_socket'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="htaccess_allow_override">{tmpl_var name='htaccess_allow_override_txt'}</label>
-                <input name="htaccess_allow_override" id="htaccess_allow_override" value="{tmpl_var name='htaccess_allow_override'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='enable_ip_wildcard_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='enable_ip_wildcard'}
-                </div>
-            </div>
-			<div class="ctrlHolder">
-                <p class="label">{tmpl_var name='overtraffic_notify_admin_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='overtraffic_notify_admin'}
-                </div>
-            </div>
-			<div class="ctrlHolder">
-                <p class="label">{tmpl_var name='overtraffic_notify_client_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='overtraffic_notify_client'}
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='ssl_settings_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='enable_sni_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='enable_sni'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="CA_path">{tmpl_var name='CA_path_txt'}</label>
-                    <input name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="CA_pass">{tmpl_var name='CA_pass_txt'}</label>
-                    <input name="CA_pass" id="CA_pass" value="{tmpl_var name='CA_pass'}" size="40" maxlength="255" type="password" class="textInput" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='permissions_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='set_folder_permissions_on_update_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='set_folder_permissions_on_update'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='web_folder_protection_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='web_folder_protection'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='add_web_users_to_sshusers_group_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='add_web_users_to_sshusers_group'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='connect_userid_to_webid_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='connect_userid_to_webid'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="connect_userid_to_webid_start">{tmpl_var name='connect_userid_to_webid_start_txt'}</label>
-                    <input name="connect_userid_to_webid_start" id="connect_userid_to_webid_start" value="{tmpl_var name='connect_userid_to_webid_start'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='php_settings_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder apache">
-                    <label for="php_ini_path_apache">{tmpl_var name='php_ini_path_apache_txt'}</label>
-                    <input name="php_ini_path_apache" id="php_ini_path_apache" value="{tmpl_var name='php_ini_path_apache'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder apache">
-                    <label for="php_ini_path_cgi">{tmpl_var name='php_ini_path_cgi_txt'}</label>
-                    <input name="php_ini_path_cgi" id="php_ini_path_cgi" value="{tmpl_var name='php_ini_path_cgi'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_fpm_init_script">{tmpl_var name='php_fpm_init_script_txt'}</label>
-                    <input name="php_fpm_init_script" id="php_fpm_init_script" value="{tmpl_var name='php_fpm_init_script'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_fpm_ini_path">{tmpl_var name='php_fpm_ini_path_txt'}</label>
-                    <input name="php_fpm_ini_path" id="php_fpm_ini_path" value="{tmpl_var name='php_fpm_ini_path'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_fpm_pool_dir">{tmpl_var name='php_fpm_pool_dir_txt'}</label>
-                    <input name="php_fpm_pool_dir" id="php_fpm_pool_dir" value="{tmpl_var name='php_fpm_pool_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_fpm_start_port">{tmpl_var name='php_fpm_start_port_txt'}</label>
-                    <input name="php_fpm_start_port" id="php_fpm_start_port" value="{tmpl_var name='php_fpm_start_port'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_fpm_socket_dir">{tmpl_var name='php_fpm_socket_dir_txt'}</label>
-                    <input name="php_fpm_socket_dir" id="php_fpm_socket_dir" value="{tmpl_var name='php_fpm_socket_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
-                    <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="40" type="text" class="textInput" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='apps_vhost_settings_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="apps_vhost_port">{tmpl_var name='apps_vhost_port_txt'}</label>
-                    <input name="apps_vhost_port" id="apps_vhost_port" value="{tmpl_var name='apps_vhost_port'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="apps_vhost_ip">{tmpl_var name='apps_vhost_ip_txt'}</label>
-                    <input name="apps_vhost_ip" id="apps_vhost_ip" value="{tmpl_var name='apps_vhost_ip'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="apps_vhost_servername">{tmpl_var name='apps_vhost_servername_txt'}</label>
-                    <input name="apps_vhost_servername" id="apps_vhost_servername" value="{tmpl_var name='apps_vhost_servername'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='awstats_settings_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="awstats_conf_dir">{tmpl_var name='awstats_conf_dir_txt'}</label>
-                    <input name="awstats_conf_dir" id="awstats_conf_dir" value="{tmpl_var name='awstats_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="awstats_data_dir">{tmpl_var name='awstats_data_dir_txt'}</label>
-                    <input name="awstats_data_dir" id="awstats_data_dir" value="{tmpl_var name='awstats_data_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="awstats_pl">{tmpl_var name='awstats_pl_txt'}</label>
-                    <input name="awstats_pl" id="awstats_pl" value="{tmpl_var name='awstats_pl'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="awstats_buildstaticpages_pl">{tmpl_var name='awstats_buildstaticpages_pl_txt'}</label>
-                    <input name="awstats_buildstaticpages_pl" id="awstats_buildstaticpages_pl" value="{tmpl_var name='awstats_buildstaticpages_pl'}" size="40" maxlength="255" type="text" class="textInput" />
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    var serverType = jQuery('#server_type').val();
-    jQuery('#server_type').replaceWith('<label for="server_Type">'+serverType+'</label><input type="hidden" name="server_type" value="'+serverType+'">');
-    adjustForm();
-    jQuery('#server_type').change(function(){
-        serverType = $(this).val();
-        adjustForm();
-    });
-    
-    function adjustForm(){
-        if(serverType == "nginx"){
-            jQuery('.nginx').show();
-            jQuery('.apache').hide();
-        } else {
-            jQuery('.nginx').hide();
-            jQuery('.apache').show();
-        }
-    }
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_edit_config.htm b/interface/web/themes/default-304/templates/admin/server_edit_config.htm
deleted file mode 100644
index e5e2392411..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_edit_config.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="config">{tmpl_var name='config_txt'}</label>
-                <textarea name="config" id="config" rows='20' cols='40'>{tmpl_var name='config'}</textarea>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_edit_services.htm b/interface/web/themes/default-304/templates/admin/server_edit_services.htm
deleted file mode 100644
index f6e47323c2..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_edit_services.htm
+++ /dev/null
@@ -1,70 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_name">{tmpl_var name='server_name_txt'}</label>
-                <input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mail_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='mail_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='web_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='web_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='dns_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='dns_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='file_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='file_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='db_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='db_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='vserver_server_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='vserver_server'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="mirror_server_id">{tmpl_var name='mirror_server_id_txt'}</label>
-                <select name="mirror_server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='mirror_server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="active">{tmpl_var name='active_txt'}</label>
-                <select name="active" id="active" class="selectInput formLengthBool">
-                    {tmpl_var name='active'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_ip_edit.htm b/interface/web/themes/default-304/templates/admin/server_ip_edit.htm
deleted file mode 100644
index 35718ceed8..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_ip_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_ip">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>IP Address</legend>
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="client_id">{tmpl_var name='client_id_txt'}</label>
-                <select name="client_id" id="client_id" class="selectInput">
-                    {tmpl_var name='client_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ip_type">{tmpl_var name='ip_type_txt'}</label>
-                <select name="ip_type" id="ip_type" class="selectInput">
-                    {tmpl_var name='ip_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-                <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='virtualhost_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='virtualhost'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="virtualhost_port">{tmpl_var name='virtualhost_port_txt'}</label>
-                <input name="virtualhost_port" id="virtualhost_port" value="{tmpl_var name='virtualhost_port'}" size="15" maxlength="15" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_ip_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_ip_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_ip_list.htm b/interface/web/themes/default-304/templates/admin/server_ip_list.htm
deleted file mode 100644
index 4234e00a97..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_ip_list.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_server_ip">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/server_ip_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
-                        <th class="tbl_col_ip_type" scope="col"><tmpl_var name="ip_type_txt"></th>
-                        <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
-                        <th class="tbl_col_virtualhost" scope="col"><tmpl_var name="virtualhost_txt"></th>
-                        <th class="tbl_col_virtualhost_port" scope="col"><tmpl_var name="virtualhost_port_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_client_id"><select name="search_client_id">{tmpl_var name='search_client_id'}</select></td>
-                        <td class="tbl_col_ip_type"><select name="search_ip_type">{tmpl_var name='search_ip_type'}</select></td>
-                        <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" value="{tmpl_var name='search_ip_address'}" /></td>
-                        <td class="tbl_col_virtualhost"><select name="search_virtualhost">{tmpl_var name='search_virtualhost'}</select></td>
-                        <td class="tbl_col_virtualhost_port"><input type="text" name="search_virtualhost_port" value="{tmpl_var name='search_virtualhost_port'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_ip_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_client_id"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
-                            <td class="tbl_col_ip_type"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_type"}</a></td>
-                            <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
-                            <td class="tbl_col_virtualhost"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virtualhost"}</a></td>
-                            <td class="tbl_col_virtualhost_port"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virtualhost_port"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/server_ip_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_list.htm b/interface/web/themes/default-304/templates/admin/server_list.htm
deleted file mode 100644
index 078d262eb0..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_server">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
-                        <th class="tbl_col_mail_server" scope="col"><tmpl_var name="mail_server_txt"></th>
-                        <th class="tbl_col_web_server" scope="col"><tmpl_var name="web_server_txt"></th>
-                        <th class="tbl_col_dns_server" scope="col"><tmpl_var name="dns_server_txt"></th>
-                        <th class="tbl_col_file_server" scope="col"><tmpl_var name="file_server_txt"></th>
-                        <th class="tbl_col_db_server" scope="col"><tmpl_var name="db_server_txt"></th>
-                        <th class="tbl_col_vserver_server" scope="col"><tmpl_var name="vserver_server_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
-                        <td class="tbl_col_mail_server"><select name="search_active">{tmpl_var name='search_mail_server'}</select></td>
-                        <td class="tbl_col_web_server"><select name="search_active">{tmpl_var name='search_web_server'}</select></td>
-                        <td class="tbl_col_dns_server"><select name="search_active">{tmpl_var name='search_dns_server'}</select></td>
-                        <td class="tbl_col_file_server"><select name="search_active">{tmpl_var name='search_file_server'}</select></td>
-                        <td class="tbl_col_db_server"><select name="search_active">{tmpl_var name='search_db_server'}</select></td>
-                        <td class="tbl_col_vserver_server"><select name="search_active">{tmpl_var name='search_vserver_server'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_name"><a href="#" onClick="loadContent('admin/server_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
-                            <td class="tbl_col_mail_server">{tmpl_var name="mail_server"}</td>
-                            <td class="tbl_col_web_server">{tmpl_var name="web_server"}</td>
-                            <td class="tbl_col_dns_server">{tmpl_var name="dns_server"}</td>
-                            <td class="tbl_col_file_server">{tmpl_var name="file_server"}</td>
-                            <td class="tbl_col_db_server">{tmpl_var name="db_server"}</td>
-                            <td class="tbl_col_vserver_server">{tmpl_var name="vserver_server"}</td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/server_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="8"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm
deleted file mode 100644
index 21eba02678..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="php_fastcgi_binary">{tmpl_var name='php_fastcgi_binary_txt'}</label>
-                <input name="php_fastcgi_binary" id="php_fastcgi_binary" value="{tmpl_var name='php_fastcgi_binary'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="php_fastcgi_ini_dir">{tmpl_var name='php_fastcgi_ini_dir_txt'}</label>
-                <input name="php_fastcgi_ini_dir" id="php_fastcgi_ini_dir" value="{tmpl_var name='php_fastcgi_ini_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_php_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_php_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm
deleted file mode 100644
index 92cd4a88ba..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="php_fpm_init_script">{tmpl_var name='php_fpm_init_script_txt'}</label>
-                <input name="php_fpm_init_script" id="php_fpm_init_script" value="{tmpl_var name='php_fpm_init_script'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="php_fpm_ini_dir">{tmpl_var name='php_fpm_ini_dir_txt'}</label>
-                <input name="php_fpm_ini_dir" id="php_fpm_ini_dir" value="{tmpl_var name='php_fpm_ini_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="php_fpm_pool_dir">{tmpl_var name='php_fpm_pool_dir_txt'}</label>
-                <input name="php_fpm_pool_dir" id="php_fpm_pool_dir" value="{tmpl_var name='php_fpm_pool_dir'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_php_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_php_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_php_list.htm b/interface/web/themes/default-304/templates/admin/server_php_list.htm
deleted file mode 100644
index 44e6a1fdee..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_php_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_server_php">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/server_php_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
-                        <th class="tbl_col_ip_address" scope="col"><tmpl_var name="name_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_client_id"><select name="search_client_id">{tmpl_var name='search_client_id'}</select></td>
-                        <td class="tbl_col_ip_address"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_php_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_client_id"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
-                            <td class="tbl_col_name"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/server_php_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_php_name_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_name_edit.htm
deleted file mode 100644
index d9e88ff192..0000000000
--- a/interface/web/themes/default-304/templates/admin/server_php_name_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="client_id">{tmpl_var name='client_id_txt'}</label>
-                <select name="client_id" id="client_id" class="selectInput">
-                    {tmpl_var name='client_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_php_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_php_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_package_install.htm b/interface/web/themes/default-304/templates/admin/software_package_install.htm
deleted file mode 100644
index 1d2d4de95b..0000000000
--- a/interface/web/themes/default-304/templates/admin/software_package_install.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="head_txt"></h2>
-<p><tmpl_var name="desc_txt"></p>
-
-<div class="panel panel_software_repo">
-    <tmpl_if name="message_err">
-        <div id="errorMsg"><tmpl_var name="message_err"></div>
-    </tmpl_if>
-    <tmpl_if name="message_ok">
-        <div id="OKMsg"><tmpl_var name="message_ok"></div>
-    </tmpl_if>
-    <tmpl_if name="insert_key">
-        <div class="pnl_formsarea">
-            <fieldset class="inlineLabels">
-                <p>&nbsp;</p>
-                <div class="ctrlHolder">
-                    <label for="install_key">{tmpl_var name='install_key_txt'}</label>
-                    <input name="install_key" id="install_key" value="{tmpl_var name='install_key'}" size="40" maxlength="40" type="text" class="textInput" />
-                </div>
-                    
-                <input type="hidden" name="package" value="{tmpl_var name='package_name'}">
-                <input type="hidden" name="server_id" value="{tmpl_var name='server_id'}">
-                <p>&nbsp;</p>
-                <div class="buttonHolder buttons">
-                    <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/software_package_install.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-                    <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/software_package_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-                </div>
-            </fieldset>
-        </div>
-    </tmpl_if>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_package_list.htm b/interface/web/themes/default-304/templates/admin/software_package_list.htm
deleted file mode 100644
index 0cb6f47c16..0000000000
--- a/interface/web/themes/default-304/templates/admin/software_package_list.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_package">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/software_package_list.php?action=repoupdate');">
-                    <span>{tmpl_var name="repoupdate_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_installed" scope="col"><tmpl_var name="installed_txt"></th>
-                        <th class="tbl_col_package_title" scope="col"><tmpl_var name="package_title_txt"></th>
-                        <th class="tbl_col_package_description" scope="col"><tmpl_var name="package_description_txt"></th>
-                        <th class="tbl_col_package_description" scope="col"><tmpl_var name="package_id_txt"></th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_installed">{tmpl_var name="installed"}</td>
-                            <td class="tbl_col_package_title">{tmpl_var name="package_title"}</td>
-                            <td class="tbl_col_package_description">{tmpl_var name="package_description"}</td>
-                            <td class="tbl_col_package_description">ispapp{tmpl_var name="package_id"}</td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_repo_edit.htm b/interface/web/themes/default-304/templates/admin/software_repo_edit.htm
deleted file mode 100644
index bd8b230522..0000000000
--- a/interface/web/themes/default-304/templates/admin/software_repo_edit.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_software_repo">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="repo_name">{tmpl_var name='repo_name_txt'}</label>
-                <input name="repo_name" id="repo_name" value="{tmpl_var name='repo_name'}" size="40" maxlength="40" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="repo_url">{tmpl_var name='repo_url_txt'}</label>
-                <input name="repo_url" id="repo_url" value="{tmpl_var name='repo_url'}" size="40" maxlength="40" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="repo_username">{tmpl_var name='repo_username_txt'}</label>
-                <input name="repo_username" id="repo_username" value="{tmpl_var name='repo_username'}" size="30" maxlength="30" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="repo_password">{tmpl_var name='repo_password_txt'}</label>
-                <input name="repo_password" id="repo_password" value="{tmpl_var name='repo_password'}" size="30" maxlength="30" type="password" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/software_repo_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/software_repo_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_repo_list.htm b/interface/web/themes/default-304/templates/admin/software_repo_list.htm
deleted file mode 100644
index 16a1749315..0000000000
--- a/interface/web/themes/default-304/templates/admin/software_repo_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_software_repo">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/software_repo_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_repo_name" scope="col"><tmpl_var name="repo_name_txt"></th>
-                        <th class="tbl_col_repo_url" scope="col"><tmpl_var name="repo_url_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_repo_name"><input type="text" name="search_repo_name" value="{tmpl_var name='search_repo_name'}" /></td>
-                        <td class="tbl_col_repo_url"><input type="text" name="search_repo_url" value="{tmpl_var name='search_repo_url'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/software_repo_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('admin/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_repo_name"><a href="#" onClick="loadContent('admin/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="repo_name"}</a></td>
-                            <td class="tbl_col_repo_url"><a href="#" onClick="loadContent('admin/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="repo_url"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('admin/software_repo_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_update_list.htm b/interface/web/themes/default-304/templates/admin/software_update_list.htm
deleted file mode 100644
index 8a3760e71a..0000000000
--- a/interface/web/themes/default-304/templates/admin/software_update_list.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_software_update">
-
-    <div class="pnl_toolsarea">
-        <fieldset class="inlineLabels"><legend>Tools</legend>
-            <div class="buttons">
-                <div class="ctrlHolder">
-                    <label for="server_id">{tmpl_var name='server_select_txt'}</label>
-                    <select name="server_id" id="server_id" class="selectInput" onChange="submitForm('pageForm','admin/software_update_list.php');">
-                        <tmpl_loop name="servers">
-                            <option value="{tmpl_var name='server_id'}" {tmpl_var name='selected'}>{tmpl_var name='server_name'}</option>
-                        </tmpl_loop>
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-    </div>
-  
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_installed" scope="col"><tmpl_var name="installed_txt"></th>
-                        <th class="tbl_col_update_title" scope="col"><tmpl_var name="update_title_txt"></th>
-                        <th class="tbl_col_version" scope="col"><tmpl_var name="version_txt"></th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_installed">{tmpl_var name="installed"}</td>
-                            <td class="tbl_col_update_title">{tmpl_var name="update_title"}</td>
-                            <td class="tbl_col_version">{tmpl_var name="version"}</td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm
deleted file mode 100644
index 605587900d..0000000000
--- a/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <div style="float:left;width:100%">
-                    <p class="label" style="width:270px">{tmpl_var name='use_domain_module_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='use_domain_module'}
-                    </div>
-                </div>
-                <div style="float:left;width:500px;margin-top:20px">{tmpl_var name='use_domain_module_hint'}</div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='new_domain_txt'}</p>
-                <div class="multiField">
-                    <textarea name="new_domain_html" id="new_domain_html" style="width: 500px; height: 250px">{tmpl_var name='new_domain_html'}</textarea>
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm
deleted file mode 100644
index 013c39ae06..0000000000
--- a/interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system_config">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='enable_custom_login_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='enable_custom_login'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='mailboxlist_webmail_link'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="webmail_url">{tmpl_var name='webmail_url_txt'}</label>
-                <input name="webmail_url" id="webmail_url" value="{tmpl_var name='webmail_url'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mailmailinglist_link_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='mailmailinglist_link'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="mailmailinglist_url">{tmpl_var name='mailmailinglist_url_txt'}</label>
-                <input name="mailmailinglist_url" id="mailmailinglist_url" value="{tmpl_var name='mailmailinglist_url'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="admin_mail">{tmpl_var name='admin_mail_txt'}</label>
-                <input name="admin_mail" id="admin_mail" value="{tmpl_var name='admin_mail'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="admin_name">{tmpl_var name='admin_name_txt'}</label>
-                <input name="admin_name" id="admin_name" value="{tmpl_var name='admin_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='smtp_enabled_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='smtp_enabled'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="smtp_host">{tmpl_var name='smtp_host_txt'}</label>
-                <input name="smtp_host" id="smtp_host" value="{tmpl_var name='smtp_host'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="smtp_port">{tmpl_var name='smtp_port_txt'}</label>
-                <input name="smtp_port" id="smtp_port" value="{tmpl_var name='smtp_port'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="smtp_user">{tmpl_var name='smtp_user_txt'}</label>
-                <input name="smtp_user" id="smtp_user" value="{tmpl_var name='smtp_user'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="smtp_pass">{tmpl_var name='smtp_pass_txt'}</label>
-                <input name="smtp_pass" id="smtp_pass" value="" size="30" maxlength="255" type="password" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='smtp_crypt_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='smtp_crypt'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/system_config_misc_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_misc_edit.htm
deleted file mode 100644
index 31350cdb97..0000000000
--- a/interface/web/themes/default-304/templates/admin/system_config_misc_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system_config">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Misc</legend>
-            <div class="ctrlHolder">
-                <label for="dashboard_atom_url_admin">{tmpl_var name='dashboard_atom_url_admin_txt'}</label>
-                <input name="dashboard_atom_url_admin" id="dashboard_atom_url_admin" value="{tmpl_var name='dashboard_atom_url_admin'}" size="" maxlength="" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dashboard_atom_url_reseller">{tmpl_var name='dashboard_atom_url_reseller_txt'}</label>
-                <input name="dashboard_atom_url_reseller" id="dashboard_atom_url_reseller" value="{tmpl_var name='dashboard_atom_url_reseller'}" size="" maxlength="" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dashboard_atom_url_client">{tmpl_var name='dashboard_atom_url_client_txt'}</label>
-                <input name="dashboard_atom_url_client" id="dashboard_atom_url_client" value="{tmpl_var name='dashboard_atom_url_client'}" size="" maxlength="" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="monitor_key">{tmpl_var name='monitor_key_txt'}</label>
-                <input name="monitor_key" id="monitor_key" value="{tmpl_var name='monitor_key'}" size="" maxlength="" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='maintenance_mode_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='maintenance_mode'}
-                </div>
-            </div>
-        </fieldset>
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
deleted file mode 100644
index 121d607a38..0000000000
--- a/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system_config">
-	
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label>
-                <input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label>
-                <input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label>
-                <input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label>
-                <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="webdavuser_prefix">{tmpl_var name='webdavuser_prefix_txt'}</label>
-                <input name="webdavuser_prefix" id="webdavuser_prefix" value="{tmpl_var name='webdavuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='dblist_phpmyadmin_link'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="phpmyadmin_url">{tmpl_var name='phpmyadmin_url_txt'}</label>
-                <input name="phpmyadmin_url" id="phpmyadmin_url" value="{tmpl_var name='phpmyadmin_url'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="webftp_url">{tmpl_var name='webftp_url_txt'}</label>
-                <input name="webftp_url" id="webftp_url" value="{tmpl_var name='webftp_url'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='vhost_subdomains_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='vhost_subdomains'}&nbsp;{tmpl_var name='vhost_subdomains_note_txt'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/tpl_default_basic.htm b/interface/web/themes/default-304/templates/admin/tpl_default_basic.htm
deleted file mode 100644
index f6a63716c3..0000000000
--- a/interface/web/themes/default-304/templates/admin/tpl_default_basic.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<h2><tmpl_var name="tpl_default_head_txt"></h2>
-<p><tmpl_var name="tpl_default_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="logo_url">{tmpl_var name='logo_url_txt'}Logo URL</label>
-                <input name="logo_url" id="logo_url" value="{tmpl_var name='logo_url'}" size="" maxlength="" type="text" class="textInput" /> 152x46px
-            </div>
-        </fieldset>
-        
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="username" value="global">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/tpl_default.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/users_groups_edit.htm b/interface/web/themes/default-304/templates/admin/users_groups_edit.htm
deleted file mode 100644
index cb52ae32b5..0000000000
--- a/interface/web/themes/default-304/templates/admin/users_groups_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_users">
-	
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="default_group">{tmpl_var name='default_group_txt'}</label>
-                <select name="default_group" id="default_group" class="selectInput">
-                    {tmpl_var name='default_group'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='groups_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='groups'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/users_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/users_list.htm b/interface/web/themes/default-304/templates/admin/users_list.htm
deleted file mode 100644
index 3eeee31986..0000000000
--- a/interface/web/themes/default-304/templates/admin/users_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_users">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/users_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-                <p><tmpl_var name="warning_txt"></p>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_groups" scope="col"><tmpl_var name="groups_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" /></td>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_groups"><select name="search_groups">{tmpl_var name='search_groups'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/users_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_client_id"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_username"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                            <td class="tbl_col_groups">{tmpl_var name="groups"}</td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <tmpl_if name="username" op="!=" value="admin">
-                                        <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
-                                        <a class="icons16 icoDelete" href="javascript: del_record('admin/users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                    </tmpl_if>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                    <tmpl_unless name="records">
-                        <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td colspan="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
-                        </tr>
-                    </tmpl_unless>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/users_user_edit.htm b/interface/web/themes/default-304/templates/admin/users_user_edit.htm
deleted file mode 100644
index 4abe793588..0000000000
--- a/interface/web/themes/default-304/templates/admin/users_user_edit.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_users">
-	
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="15" maxlength="30" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="passwort">{tmpl_var name='passwort_txt'}</label>
-                <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" type="password" class="textInput"  onkeyup="pass_check(this.value);checkPassMatch('passwort','repeat_password');"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('passwort','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('passwort','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='modules_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='modules'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
-                <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
-                    {tmpl_var name='startmodule'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='app_theme_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='app_theme'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='typ_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='typ'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="language">{tmpl_var name='language_txt'}</label>
-                <select name="language" id="language" class="selectInput flags">
-                    {tmpl_var name='language'}
-                </select>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/users_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_circle_edit.htm b/interface/web/themes/default-304/templates/client/client_circle_edit.htm
deleted file mode 100644
index 1616dd4773..0000000000
--- a/interface/web/themes/default-304/templates/client/client_circle_edit.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='circle_txt'}</legend>
-            <div class="ctrlHolder">
-                <label for="circle_name">{tmpl_var name='circle_name_txt'}*</label>
-                <input name="circle_name" id="circle_name" value="{tmpl_var name='circle_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='client_ids_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='client_ids'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="description">{tmpl_var name='description_txt'}</label>
-                <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            {tmpl_var name='required_fields_txt'}
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_circle_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_circle_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_circle_list.htm b/interface/web/themes/default-304/templates/client/client_circle_list.htm
deleted file mode 100644
index 4c5a889b64..0000000000
--- a/interface/web/themes/default-304/templates/client/client_circle_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_circle_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_circle_id" scope="col"><tmpl_var name="circle_id_txt"></th>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_circle_name" scope="col"><tmpl_var name="circle_name_txt"></th>
-                        <th class="tbl_col_description" scope="col"><tmpl_var name="description_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_circle_id"><input type="text" name="search_circle_id" value="{tmpl_var name='search_circle_id'}" style="width:30px;" /></td>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_circle_name"><input type="text" name="search_circle_name" value="{tmpl_var name='search_circle_name'}" style="width:120px;" /></td>
-                        <td class="tbl_col_description"><input type="text" name="search_description" value="{tmpl_var name='search_description'}" style="width:120px;" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_circle_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_circle_id"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="circle_id"}</a></td>
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_circle_name"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="circle_name"}</a></td>
-                            <td class="tbl_col_description"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="description"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16" style="width:60px;">
-                                    <a class="icons16 icoDelete" href="javascript: del_record('client/client_circle_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_del.htm b/interface/web/themes/default-304/templates/client/client_del.htm
deleted file mode 100644
index aeb206f107..0000000000
--- a/interface/web/themes/default-304/templates/client/client_del.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_del">
-
-    <div class="pnl_formsarea">
-
-        <div id="OKMsg">
-            <tmpl_var name="delete_explanation">:<br /><br />
-                <tmpl_loop name="records">
-                    <tmpl_var name="table">, 
-                </tmpl_loop>
-        </div>
-
-        <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_del.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_edit_address.htm b/interface/web/themes/default-304/templates/client/client_edit_address.htm
deleted file mode 100644
index 076f4b021f..0000000000
--- a/interface/web/themes/default-304/templates/client/client_edit_address.htm
+++ /dev/null
@@ -1,140 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Address</legend>
-            <div class="ctrlHolder">
-                <label for="company_name">{tmpl_var name='company_name_txt'}</label>
-                <input name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="contact_name">{tmpl_var name='contact_name_txt'}*</label>
-                <input name="contact_name" id="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="customer_no">{tmpl_var name='customer_no_txt'}</label>
-                <input name="customer_no" id="customer_no" value="{tmpl_var name='customer_no'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}*</label>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="language">{tmpl_var name='language_txt'}</label>
-                <select name="language" id="language" class="selectInput flags">
-                    {tmpl_var name='language'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="usertheme">{tmpl_var name='usertheme_txt'}</label>
-                <select name="usertheme" id="usertheme" class="selectInput">
-                    {tmpl_var name='usertheme'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="street">{tmpl_var name='street_txt'}</label>
-                <input name="street" id="street" value="{tmpl_var name='street'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="zip">{tmpl_var name='zip_txt'}</label>
-                <input name="zip" id="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="city">{tmpl_var name='city_txt'}</label>
-                <input name="city" id="city" value="{tmpl_var name='city'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="state">{tmpl_var name='state_txt'}</label>
-                <input name="state" id="state" value="{tmpl_var name='state'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="country">{tmpl_var name='country_txt'}</label>
-                <select name="country" id="country" class="selectInput flags">
-                    {tmpl_var name='country'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="telephone">{tmpl_var name='telephone_txt'}</label>
-                <input name="telephone" id="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mobile">{tmpl_var name='mobile_txt'}</label>
-                <input name="mobile" id="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fax">{tmpl_var name='fax_txt'}</label>
-                <input name="fax" id="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="email">{tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="internet">{tmpl_var name='internet_txt'}</label>
-                <input name="internet" id="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="icq">{tmpl_var name='icq_txt'}</label>
-                <input name="icq" id="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="vat_id">{tmpl_var name='vat_id_txt'}</label>
-                <input name="vat_id" id="vat_id" value="{tmpl_var name='vat_id'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="company_id">{tmpl_var name='company_id_txt'}</label>
-                <input name="company_id" id="company_id" value="{tmpl_var name='company_id'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bank_account_number">{tmpl_var name='bank_account_number_txt'}</label>
-                <input name="bank_account_number" id="bank_account_number" value="{tmpl_var name='bank_account_number'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bank_code">{tmpl_var name='bank_code_txt'}</label>
-                <input name="bank_code" id="bank_code" value="{tmpl_var name='bank_code'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bank_name">{tmpl_var name='bank_name_txt'}</label>
-                <input name="bank_name" id="bank_name" value="{tmpl_var name='bank_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bank_account_iban">{tmpl_var name='bank_account_iban_txt'}</label>
-                <input name="bank_account_iban" id="bank_account_iban" value="{tmpl_var name='bank_account_iban'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bank_account_swift">{tmpl_var name='bank_account_swift_txt'}</label>
-                <input name="bank_account_swift" id="bank_account_swift" value="{tmpl_var name='bank_account_swift'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="notes">{tmpl_var name='notes_txt'}</label>
-                <textarea name="notes" id="notes" rows='10' cols='30'>{tmpl_var name='notes'}</textarea>
-            </div>
-            {tmpl_var name='required_fields_txt'}
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_edit_limits.htm b/interface/web/themes/default-304/templates/client/client_edit_limits.htm
deleted file mode 100644
index 8ce7f80fa6..0000000000
--- a/interface/web/themes/default-304/templates/client/client_edit_limits.htm
+++ /dev/null
@@ -1,284 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
-    <tmpl_if name="is_admin">
-        <div class="pnl_toolsarea">
-            <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-                <div class="buttons">
-                    <button class="positive iconstxt icoAdd" type="button" value="{tmpl_var name='add_additional_template_txt'}" onClick="addAdditionalTemplate();"><span>{tmpl_var name='add_additional_template_txt'}</span></button>
-                    <button class="negative iconstxt icoDelete" type="button" value="{tmpl_var name='delete_additional_template_txt'}" onClick="delAdditionalTemplate();"><span>{tmpl_var name='delete_additional_template_txt'}</span></button>
-                </div>
-            </fieldset>
-        </div>
-    </tmpl_if>
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Limits</legend>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <label for="template_master">{tmpl_var name='template_master_txt'}</label>
-                    <select name="template_master" id="template_master" class="selectInput">
-                        {tmpl_var name='template_master'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="template_additional">{tmpl_var name='template_additional_txt'}</label>
-                    <select name="tpl_add_select" id="tpl_add_select" class="selectInput">
-                        {tmpl_var name='tpl_add_select'}
-                    </select>
-                    <div id="template_additional_list"><br /><br />{tmpl_var name='template_additional_list'}</div>
-                    <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}">
-                </div>
-                <div class="ctrlHolder">
-                    &nbsp;
-                </div>
-            </tmpl_if>
-            <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
-            <div>
-                <div class="ctrlHolder">
-                    <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
-                    <select name="default_webserver" id="default_webserver" class="selectInput">
-                        {tmpl_var name='default_webserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
-                    <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
-                    <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
-                    <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='web_php_options_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='web_php_options'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_cgi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_perl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_perl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ruby'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_python_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_python'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='force_suexec_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='force_suexec'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_hterror'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_wildcard'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
-                    <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
-                    <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
-                    <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
-                    <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='ssh_chroot'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
-                    <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
-                    <select name="default_mailserver" id="default_mailserver" class="selectInput">
-                        {tmpl_var name='default_mailserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
-                    <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
-                    <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
-                    <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
-                    <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
-                    <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
-                    <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
-                    <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
-                    <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
-                    <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
-                    <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
-                    <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
-                    <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
-                    <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
-                    <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
-                    <select name="default_dbserver" id="default_dbserver" class="selectInput">
-                        {tmpl_var name='default_dbserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
-                    <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
-                    <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
-                    <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
-                        {tmpl_var name='limit_cron_type'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
-                    <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label>
-                    <select name="default_dnsserver" id="default_dnsserver" class="selectInput">
-                        {tmpl_var name='default_dnsserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
-                    <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
-                    <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
-                    <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
-                    <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
-                    <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
-                        {tmpl_var name='limit_openvz_vm_template_id'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_message.htm b/interface/web/themes/default-304/templates/client/client_message.htm
deleted file mode 100644
index 20afdb1112..0000000000
--- a/interface/web/themes/default-304/templates/client/client_message.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="form_desc_txt"></p>
-
-<div class="panel panel_client">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='form_legend_txt'}</legend>
-            <tmpl_if name="okmsg">
-                <div id="OKMsg"><p><tmpl_var name="okmsg"></p></div>
-            </tmpl_if>
-            <tmpl_if name="error">
-                <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="sender">{tmpl_var name='sender_txt'}</label>
-                <input name="sender" id="sender" value="{tmpl_var name='sender'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="recipient">{tmpl_var name='recipient_txt'}</label>
-                <select name="recipient" id="recipient" class="selectInput">
-                    {tmpl_var name='recipient'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="subject">{tmpl_var name='subject_txt'}</label>
-                <input name="subject" id="subject" value="{tmpl_var name='subject'}" style="width:500px" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="message">{tmpl_var name='message_txt'}</label>
-                <textarea name="message" id="message" rows='' cols='' style="width:500px">{tmpl_var name='message'}</textarea>&nbsp;{tmpl_var name="variables_txt"}&nbsp;{tmpl_var name="message_variables"}
-            </div>
-        </fieldset>
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_send_txt'}" onClick="submitForm('pageForm','client/client_message.php');"><span>{tmpl_var name='btn_send_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_template_edit_limits.htm b/interface/web/themes/default-304/templates/client/client_template_edit_limits.htm
deleted file mode 100644
index 91f9bd52d9..0000000000
--- a/interface/web/themes/default-304/templates/client/client_template_edit_limits.htm
+++ /dev/null
@@ -1,230 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_template">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Limits</legend>
-            <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
-            <div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
-                    <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
-                    <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
-                    <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='web_php_options_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='web_php_options'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_cgi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_perl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_perl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ruby'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_python_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_python'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='force_suexec_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='force_suexec'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_hterror'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_wildcard'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
-                    <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
-                    <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
-                    <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
-                    <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='ssh_chroot'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
-                    <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
-                    <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
-                    <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
-                    <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
-                    <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
-                    <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
-                    <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
-                    <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
-                    <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
-                    <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
-                    <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
-                    <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
-                    <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
-                    <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
-                    <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
-                    <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
-                    <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
-                    <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
-                        {tmpl_var name='limit_cron_type'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
-                    <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
-                    <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
-                    <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
-                    <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
-                    <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
-                    <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
-                        {tmpl_var name='limit_openvz_vm_template_id'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/client_template_edit_template.htm b/interface/web/themes/default-304/templates/client/client_template_edit_template.htm
deleted file mode 100644
index 232fa55fa7..0000000000
--- a/interface/web/themes/default-304/templates/client/client_template_edit_template.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_template">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Template</legend>
-            <div class="ctrlHolder">
-                <label for="template_type">{tmpl_var name='template_type_txt'}</label>
-                <select name="template_type" id="template_type" class="selectInput">
-                    {tmpl_var name='template_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="template_name">{tmpl_var name='template_name_txt'}</label>
-                <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/client/client_template_list.htm b/interface/web/themes/default-304/templates/client/client_template_list.htm
deleted file mode 100644
index 5249fce5d5..0000000000
--- a/interface/web/themes/default-304/templates/client/client_template_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_limit_template">
-
-  <div class="pnl_toolsarea">
-    <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-      <div class="buttons">
-        <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_template_edit.php');">
-          <span>{tmpl_var name="add_new_record_txt"}</span>
-        </button>
-      </div>
-    </fieldset>
-  </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_template_id" scope="col"><tmpl_var name="template_id_txt"></th>
-                        <th class="tbl_col_template_type" scope="col"><tmpl_var name="template_type_txt"></th>
-                        <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_template_id"><input type="text" name="search_template_id" value="{tmpl_var name='search_template_id'}" style="width:30px;" /></td>
-                        <td class="tbl_col_template_type"><select name="search_template_type">{tmpl_var name='search_template_type'}</select></td>
-                        <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_template_id"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_id"}</a></td>
-                            <td class="tbl_col_template_type"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_type"}</a></td>
-                            <td class="tbl_col_template_name"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">
-                                    <a class="icons16 icoDelete" href="javascript: del_record('client/client_template_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/clients_list.htm b/interface/web/themes/default-304/templates/client/clients_list.htm
deleted file mode 100644
index 18332477dc..0000000000
--- a/interface/web/themes/default-304/templates/client/clients_list.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
-                        <th class="tbl_col_company_name" scope="col"><tmpl_var name="company_name_txt"></th>
-                        <th class="tbl_col_contact_name" scope="col"><tmpl_var name="contact_name_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_city" scope="col"><tmpl_var name="city_txt"></th>
-                        <th class="tbl_col_country" scope="col"><tmpl_var name="country_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" style="width:30px;" /></td>
-                        <td class="tbl_col_company_name"><input type="text" name="search_company_name" value="{tmpl_var name='search_company_name'}" style="width:120px;" /></td>
-                        <td class="tbl_col_contact_name"><input type="text" name="search_contact_name" value="{tmpl_var name='search_contact_name'}" style="width:120px;" /></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" style="width:120px;" /></td>
-                        <td class="tbl_col_city"><input type="text" name="search_city" value="{tmpl_var name='search_city'}" style="width:120px;" /></td>
-                        <td class="tbl_col_country"><select name="search_country" class="selectInput flags" style="width:120px;">{tmpl_var name='search_country'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_client_id"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
-                            <td class="tbl_col_company_name"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="company_name"}</a></td>
-                            <td class="tbl_col_contact_name"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="contact_name"}</a></td>
-                            <td class="tbl_col_username"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                            <td class="tbl_col_city"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="city"}</a></td>
-                            <td class="tbl_col_country"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="country"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16" style="width:60px;">
-                                    <tmpl_if name="is_admin">
-                                        <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?cid={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
-                                    </tmpl_if>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('client/client_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                    <tmpl_unless name="records">
-                        <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td colspan="7">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
-                        </tr>
-                    </tmpl_unless>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/domain_edit.htm b/interface/web/themes/default-304/templates/client/domain_edit.htm
deleted file mode 100644
index 5a6bef3965..0000000000
--- a/interface/web/themes/default-304/templates/client/domain_edit.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <tmpl_if name="edit_disabled">
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
-                <tmpl_else>
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-                </tmpl_if>
-            </div>
-            <tmpl_if name="is_admin">
-            <div class="ctrlHolder">
-                <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                <tmpl_if name="edit_disabled">
-                <select name="client_group_id" id="client_group_id" class="selectInput" disabled="disabled">
-                    {tmpl_var name='client_group_id'}
-                </select>
-                <tmpl_else>
-                <select name="client_group_id" id="client_group_id" class="selectInput">
-                    {tmpl_var name='client_group_id'}
-                </select>
-                </tmpl_if>
-            </div>
-            </tmpl_if>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="local">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/domain_list.htm b/interface/web/themes/default-304/templates/client/domain_list.htm
deleted file mode 100644
index 3c6b1ce5b0..0000000000
--- a/interface/web/themes/default-304/templates/client/domain_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_domain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <tmpl_if name="is_admin">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/domain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-                <tmpl_else>
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/domain_new_client.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-                </tmpl_if>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-            <thead>
-                <tr>
-                    <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                    <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="user_txt">A</th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                    <td class="tbl_col_user"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','client/domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tmpl_loop name="records">
-                <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                    <td class="tbl_col_domain"><a href="#" onClick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                    <td class="tbl_col_domain"><a href="#" onClick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
-                    <td class="tbl_col_buttons">
-                        <tmpl_if name="is_admin">
-                        <div class="buttons icons16">    
-                            <a class="icons16 icoDelete" href="javascript: del_record('client/domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                        </div>
-                        </tmpl_if>
-                    </td>
-                </tr>
-                </tmpl_loop>
-            </tbody>
-
-            <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                </tr>
-            </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/reseller_edit_address.htm b/interface/web/themes/default-304/templates/client/reseller_edit_address.htm
deleted file mode 100644
index d58ee93b7e..0000000000
--- a/interface/web/themes/default-304/templates/client/reseller_edit_address.htm
+++ /dev/null
@@ -1,116 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Address</legend>
-            <div class="ctrlHolder">
-                <label for="company_name">{tmpl_var name='company_name_txt'}</label>
-                <input name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="contact_name">{tmpl_var name='contact_name_txt'}*</label>
-                <input name="contact_name" id="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="customer_no">{tmpl_var name='customer_no_txt'}</label>
-                <input name="customer_no" id="customer_no" value="{tmpl_var name='customer_no'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}*</label>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="language">{tmpl_var name='language_txt'}</label>
-                <select name="language" id="language" class="selectInput flags">
-                    {tmpl_var name='language'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="usertheme">{tmpl_var name='usertheme_txt'}</label>
-                <select name="usertheme" id="usertheme" class="selectInput">
-                    {tmpl_var name='usertheme'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="street">{tmpl_var name='street_txt'}</label>
-                <input name="street" id="street" value="{tmpl_var name='street'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="zip">{tmpl_var name='zip_txt'}</label>
-                <input name="zip" id="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="city">{tmpl_var name='city_txt'}</label>
-                <input name="city" id="city" value="{tmpl_var name='city'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="state">{tmpl_var name='state_txt'}</label>
-                <input name="state" id="state" value="{tmpl_var name='state'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="country">{tmpl_var name='country_txt'}</label>
-                <select name="country" id="country" class="selectInput flags">
-                    {tmpl_var name='country'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="telephone">{tmpl_var name='telephone_txt'}</label>
-                <input name="telephone" id="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="mobile">{tmpl_var name='mobile_txt'}</label>
-                <input name="mobile" id="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fax">{tmpl_var name='fax_txt'}</label>
-                <input name="fax" id="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="email">{tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="internet">{tmpl_var name='internet_txt'}</label>
-                <input name="internet" id="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="icq">{tmpl_var name='icq_txt'}</label>
-                <input name="icq" id="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="vat_id">{tmpl_var name='vat_id_txt'}</label>
-                <input name="vat_id" id="vat_id" value="{tmpl_var name='vat_id'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="notes">{tmpl_var name='notes_txt'}</label>
-                <textarea name="notes" id="notes" rows='10' cols='30'>{tmpl_var name='notes'}</textarea>
-            </div>
-            {tmpl_var name='required_fields_txt'}
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/reseller_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/reseller_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/reseller_edit_limits.htm b/interface/web/themes/default-304/templates/client/reseller_edit_limits.htm
deleted file mode 100644
index 621dfa2b3b..0000000000
--- a/interface/web/themes/default-304/templates/client/reseller_edit_limits.htm
+++ /dev/null
@@ -1,279 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Limits</legend>
-            <!--
-            <tmpl_if name="is_admin">
-                  <div class="ctrlHolder">
-                    <label for="template_master">{tmpl_var name='template_master_txt'}</label>
-                    <select name="template_master" id="template_master" class="selectInput">
-                                                    {tmpl_var name='template_master'}
-                                            </select>
-                  </div>
-                  <div class="ctrlHolder">
-                    <label for="template_additional">{tmpl_var name='template_additional_txt'}</label>
-                    <select name="tpl_add_select" id="tpl_add_select" class="selectInput">
-                                                    {tmpl_var name='tpl_add_select'}
-                                            </select>
-                          <span id="template_additional_list">{tmpl_var name='template_additional_list'}</span>
-                              <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}">
-                  </div>
-                      <div class="ctrlHolder">
-                        &nbsp;
-                      </div>
-            </tmpl_if>
-            -->
-            <div class="ctrlHolder">
-                <label for="limit_client">{tmpl_var name='limit_client_txt'}</label>
-                <input name="limit_client" id="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
-            <div>
-                <div class="ctrlHolder">
-                    <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
-                    <select name="default_webserver" id="default_webserver" class="selectInput">
-                        {tmpl_var name='default_webserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
-                    <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
-                    <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
-                    <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='web_php_options_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='web_php_options'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_cgi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssi'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_perl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_perl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ruby'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_python_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_python'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='force_suexec_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='force_suexec'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_hterror'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_wildcard'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='limit_ssl'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
-                    <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
-                    <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
-                    <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
-                    <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='ssh_chroot'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
-                    <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
-                    <select name="default_mailserver" id="default_mailserver" class="selectInput">
-                        {tmpl_var name='default_mailserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
-                    <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
-                    <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
-                    <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
-                    <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
-                    <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
-                    <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
-                    <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
-                    <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
-                    <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
-                    <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
-                    <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />&nbsp;MB
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
-                    <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
-                    <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
-                    <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
-                    <select name="default_dbserver" id="default_dbserver" class="selectInput">
-                        {tmpl_var name='default_dbserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
-                    <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
-                    <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
-                    <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
-                        {tmpl_var name='limit_cron_type'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
-                    <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label>
-                    <select name="default_dnsserver" id="default_dnsserver" class="selectInput">
-                        {tmpl_var name='default_dnsserver'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
-                    <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
-                    <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
-                    <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
-            <div style="display:none;">
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
-                    <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
-                    <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
-                        {tmpl_var name='limit_openvz_vm_template_id'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/reseller_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/reseller_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/resellers_list.htm b/interface/web/themes/default-304/templates/client/resellers_list.htm
deleted file mode 100644
index f85850f36c..0000000000
--- a/interface/web/themes/default-304/templates/client/resellers_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/reseller_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
-                        <th class="tbl_col_company_name" scope="col"><tmpl_var name="company_name_txt"></th>
-                        <th class="tbl_col_contact_name" scope="col"><tmpl_var name="contact_name_txt"></th>
-                        <th class="tbl_col_city" scope="col"><tmpl_var name="city_txt"></th>
-                        <th class="tbl_col_country" scope="col"><tmpl_var name="country_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" style="width:30px;" /></td>
-                        <td class="tbl_col_company_name"><input type="text" name="search_company_name" value="{tmpl_var name='search_company_name'}" style="width:120px;" /></td>
-                        <td class="tbl_col_contact_name"><input type="text" name="search_contact_name" value="{tmpl_var name='search_contact_name'}" style="width:120px;" /></td>
-                        <td class="tbl_col_city"><input type="text" name="search_city" value="{tmpl_var name='search_city'}" style="width:120px;" /></td>
-                        <td class="tbl_col_country"><select name="search_country" class="selectInput flags" style="width:120px;">{tmpl_var name='search_country'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/reseller_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_client_id"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
-                            <td class="tbl_col_company_name"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="company_name"}</a></td>
-                            <td class="tbl_col_contact_name"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="contact_name"}</a></td>
-                            <td class="tbl_col_city"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="city"}</a></td>
-                            <td class="tbl_col_country"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="country"}</a></td>
-                            <td class="tbl_col_buttons">
-                            <div class="buttons icons16" style="width:60px;">
-                                <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?cid={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
-                                <a class="icons16 icoDelete" href="javascript: del_record('client/reseller_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                    <tmpl_unless name="records">
-                        <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
-                        </tr>
-                    </tmpl_unless>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/custom_menu.htm b/interface/web/themes/default-304/templates/dashboard/custom_menu.htm
deleted file mode 100644
index 4b06779659..0000000000
--- a/interface/web/themes/default-304/templates/dashboard/custom_menu.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<ul id="submenu">
-    <li class="title"><a>{tmpl_var name='latest_news_txt'}</a></li>
-    <tmpl_loop name="news">
-        <li>
-            <a href="{tmpl_var name="link"}" target="_blank" style="margin-top:8px;padding-bottom:5px;"><b>{tmpl_var name="date"}</b><br />
-                {tmpl_var name="title"}</a>
-        </li>
-    </tmpl_loop>
-</ul>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashboard.htm b/interface/web/themes/default-304/templates/dashboard/dashboard.htm
deleted file mode 100644
index 09aa158706..0000000000
--- a/interface/web/themes/default-304/templates/dashboard/dashboard.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<h1><tmpl_var name="welcome_user"></h1>
-<hr />
-<div class="panel panel_dashboard">
-    <div>
-        <tmpl_if name='error'>
-            <div class="systemmonitor-state state-error">
-                <div class="status"></div>
-                <div class="statusMsg">
-                    <tmpl_loop name="error">
-                        {tmpl_var name='error_msg'}
-                    </tmpl_loop>
-                </div>
-            </div>
-        </tmpl_if>
-        <tmpl_if name='warning'>
-            <div class="systemmonitor-state state-warning">
-                <div class="status"></div>
-                <div class="statusMsg">
-                    <tmpl_loop name="warning">
-                        {tmpl_var name='warning_msg'}
-                    </tmpl_loop>
-                </div>
-            </div>
-        </tmpl_if>
-        <tmpl_if name='info'>
-            <div class="systemmonitor-state state-info">
-                <div class="status"></div>
-                <div class="statusMsg">
-                    <tmpl_loop name="info">
-                        {tmpl_var name='info_msg'}
-                    </tmpl_loop>
-                </div>
-            </div>
-        </tmpl_if>
-    </div>
-    <div style="float:left; width:350px;">
-        <tmpl_loop name='leftcol'>
-            {tmpl_var name='content'}
-            <p>&nbsp;</p>
-        </tmpl_loop>
-    </div>
-    <div style="float:left; width:350px;">
-        <tmpl_loop name='rightcol'>
-            {tmpl_var name='content'}
-            <p>&nbsp;</p>
-        </tmpl_loop>
-    </div>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm b/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm
deleted file mode 100644
index 11fe0bbe6a..0000000000
--- a/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm
+++ /dev/null
@@ -1,11 +0,0 @@
-	<h2>{tmpl_var name='limits_txt'}</h2>
-	<div style="width:350px;">
-	<table class="list">
-	<tmpl_loop name='rows'>
-		<tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-		  <td>{tmpl_var name='field_txt'}</td>
-		  <td style="white-space: nowrap">{tmpl_var name='usage'} {tmpl_var name='of_txt'} {tmpl_var name='value'}</td>
-		</tr>
-	</tmpl_loop>
-	</table>
-	</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm b/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm
deleted file mode 100644
index 03fb8cb887..0000000000
--- a/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm
+++ /dev/null
@@ -1,10 +0,0 @@
-	<h2>{tmpl_var name='available_modules_txt'}</h2>
-	<div style="width:350px;">
-	<tmpl_loop name='modules'>
-		<div class="dashboard-modules {tmpl_var name='modules_name'}">
-			<a href="#" onclick="capp('{tmpl_var name='modules_name'}')">
-			{tmpl_var name='modules_title'}
-			</a>
-		</div>
-	</tmpl_loop>
-	</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_edit.htm b/interface/web/themes/default-304/templates/designer/form_edit.htm
deleted file mode 100644
index 38a28c4aa3..0000000000
--- a/interface/web/themes/default-304/templates/designer/form_edit.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<form method="POST" action="form_edit.php">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[name]" type="text" class="text" value="{tmpl_var name='name'}" size="20" maxlength="50" {tmpl_var name='readonly'}></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[title]" type="text" class="text" value="{tmpl_var name='title'}" size="20" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[description]" type="text" class="text" value="{tmpl_var name='description'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="action_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[action]" type="text" class="text" value="{tmpl_var name='action'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_table_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_table]" type="text" class="text" value="{tmpl_var name='db_table'}" size="10" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_table_idx_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_table_idx]" type="text" class="text" value="{tmpl_var name='db_table_idx'}" size="10" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="db_history_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[db_history]" type="text" class="text" value="{tmpl_var name='db_history'}" size="3" maxlength="3"> yes / no</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="tab_default_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[tab_default]" type="text" class="text" value="{tmpl_var name='tab_default'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="list_default_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[list_default]" type="text" class="text" value="{tmpl_var name='list_default'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth]" type="text" class="text" value="{tmpl_var name='auth'}" size="3" maxlength="3"> yes / no</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_userid_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][userid]" type="text" class="text" value="{tmpl_var name='auth_preset_userid'}" size="4" maxlength="4"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_groupid_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][groupid]" type="text" class="text" value="{tmpl_var name='auth_preset_groupid'}" size="4" maxlength="4"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_user_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_user]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_user'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_group_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_group]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_group'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_other_txt">:</td>
-    <td width="366" class="frmText11"><input name="form[auth_preset][perm_other]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_other'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="submit" class="button" value="{tmpl_var name='save_txt'}">
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="self.location.href='form_list.php';">
-    </td>
-  </tr>
-</table>
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
-<input type="hidden" name="form_name" value="{tmpl_var name='form_name'}">
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_list.htm b/interface/web/themes/default-304/templates/designer/form_list.htm
deleted file mode 100644
index 39eb7b9015..0000000000
--- a/interface/web/themes/default-304/templates/designer/form_list.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<form name="myform" action="form_list.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
-  <tr>
-    <td class="tblHead"><tmpl_var name="form_txt"></td>
-    <td class="tblHead"><tmpl_var name="title_txt"></td>
-	<td class="tblHead"><tmpl_var name="module_txt"></td>
-	<td class="tblHead"><tmpl_var name="description_txt"></td>
-    <td class="tblHead">&nbsp;</td>
-  </tr>
-  <tmpl_loop name="records">
-  <tr bgcolor="{tmpl_var name="bgcolor"}">
-    <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="name"}</a></td>
-    <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="title"}</a></td>
-	<td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="module_name"}</a></td>
-	<td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="description"}</a></td>
-    <td class="frmText11" align="right">[<a href="javascript: del_record('form_del.php?form_name={tmpl_var name='module'}&module_name={tmpl_var name='module_name'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
-  </tr>
-  </tmpl_loop>
-  <tr>
-  	<td colspan="7" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
-  </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_show.htm b/interface/web/themes/default-304/templates/designer/form_show.htm
deleted file mode 100644
index 2a3eff4ea5..0000000000
--- a/interface/web/themes/default-304/templates/designer/form_show.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<script language="JavaScript">
-<!--
-function del_module(link) {
-  if(window.confirm("{tmpl_var name='module_del_txt'}")) {
-  	location.href = link;
-  }
-}
-function del_menu(link) {
-  if(window.confirm("{tmpl_var name='menu_del_txt'}")) {
-  	location.href = link;
-  }
-}
-function del_menuitem(link) {
-  if(window.confirm("{tmpl_var name='item_del_txt'}")) {
-  	location.href = link;
-  }
-}
-
-//-->
-</script>
-<form name="myform" action="module_show.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:320px;"><legend class="frmText11"><b>{tmpl_var name='form_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='title'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='form_name'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="module_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='module_name'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
-    <td width="366" class="frmText11" valign="top">{tmpl_var name='description'}</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">
-	  <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onClick="location.href='form_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" />
-	  <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onClick="del_module('form_del.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}');" class="button" />
-	  <input type="button" name="ed3" value="{tmpl_var name='new_tab_txt'}" onClick="location.href='form_tab_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" /></td>
-  </tr>
-</table>
-</fieldset>
-<table width="350" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tmpl_var name="nav">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_edit.htm b/interface/web/themes/default-304/templates/designer/module_edit.htm
deleted file mode 100644
index 2cd48a9ea7..0000000000
--- a/interface/web/themes/default-304/templates/designer/module_edit.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[name]" type="text" class="text" value="{tmpl_var name='name'}" size="30" maxlength="50" {tmpl_var name='readonly'}></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="template_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[template]" type="text" class="text" value="{tmpl_var name='template'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="navframe_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[navframe_page]" type="text" class="text" value="{tmpl_var name='navframe_page'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="startpage_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[startpage]" type="text" class="text" value="{tmpl_var name='startpage'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="tab_width_txt">:</td>
-    <td width="366" class="frmText11"><input name="module[tab_width]" type="text" class="text" value="{tmpl_var name='tab_width'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_list.htm b/interface/web/themes/default-304/templates/designer/module_list.htm
deleted file mode 100644
index 1e148f3ee2..0000000000
--- a/interface/web/themes/default-304/templates/designer/module_list.htm
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
-  <tr>
-    <td class="tblHead"><tmpl_var name="module_txt"></td>
-    <td class="tblHead"><tmpl_var name="title_txt"></td>
-    <td class="tblHead">&nbsp;</td>
-  </tr>
-  <tmpl_loop name="records">
-  <tr bgcolor="{tmpl_var name="bgcolor"}">
-    <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="module"}</a></td>
-    <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="title"}</a></td>
-    <td class="frmText11" align="right">[<a href="javascript: del_record('module_del.php?id={tmpl_var name='module'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
-  </tr>
-  </tmpl_loop>
-  <tr>
-  	<td colspan="5" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
-  </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_nav_edit.htm b/interface/web/themes/default-304/templates/designer/module_nav_edit.htm
deleted file mode 100644
index 3b2007af84..0000000000
--- a/interface/web/themes/default-304/templates/designer/module_nav_edit.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="nav[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_nav_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm b/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm
deleted file mode 100644
index 0aee2ca65f..0000000000
--- a/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11"><input name="title" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="target_txt">:</td>
-    <td width="366" class="frmText11"><input name="target" type="text" class="text" value="{tmpl_var name='target'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="link_txt">:</td>
-    <td width="366" class="frmText11"><input name="link" type="text" class="text" value="{tmpl_var name='link'}" size="30" maxlength="255"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;<inp</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_nav_item_edit.php');"><div class="buttonEnding"></div>
-      <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
-<input type="hidden" name="item_id" value="{tmpl_var name='item_id'}">
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_show.htm b/interface/web/themes/default-304/templates/designer/module_show.htm
deleted file mode 100644
index ffdfe9bb8a..0000000000
--- a/interface/web/themes/default-304/templates/designer/module_show.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:250px;"><legend class="frmText11"><b>{tmpl_var name='module_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='title'}</td>
-  </tr>
-  <tr>
-    <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
-    <td width="366" class="frmText11">{tmpl_var name='name'}</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tr>
-    <td colspan="2" class="frmText11">
-	  <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onClick="loadContent('designer/module_edit.php?id={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div>
-	  <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onClick="del_record('designer/module_del.php?id={tmpl_var name='name'}');" class="button" /><div class="buttonEnding"></div>
-	  <input type="button" name="ed3" value="{tmpl_var name='new_menu_txt'}" onClick="loadContent('designer/module_nav_edit.php?module_name={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div></td>
-  </tr>
-</table>
-</fieldset>
-<table width="500" border="0" cellspacing="0" cellpadding="2">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-  <tmpl_var name="nav">
-  <tr>
-    <td colspan="2" class="frmText11">&nbsp;</td>
-  </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/paging.tpl.htm b/interface/web/themes/default-304/templates/designer/paging.tpl.htm
deleted file mode 100644
index dd38af8a99..0000000000
--- a/interface/web/themes/default-304/templates/designer/paging.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-[ <a href='{tmpl_var name="list_file"}?page=0'>|<< </a>]
-<tmpl_if name="show_page_back">
-	[<< <a href='{tmpl_var name="list_file"}?page={tmpl_var name="last_page"}'>Zurück</a>] 
-</tmpl_if>
-  Seite {tmpl_var name="next_page"} von {tmpl_var name="max_pages"}
-<tmpl_if name="show_page_next">
-   [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="next_page"}'>Weiter >></a>]  
-</tmpl_if>
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="pages"}'> >>| </a>]
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_a_edit.htm b/interface/web/themes/default-304/templates/dns/dns_a_edit.htm
deleted file mode 100644
index cce1af6052..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_a_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_a">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='name_hint_txt'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput formLengthIPv4" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_a_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#data').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });	
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_a_list.htm b/interface/web/themes/default-304/templates/dns/dns_a_list.htm
deleted file mode 100644
index 913f628a69..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_a_list.htm
+++ /dev/null
@@ -1,88 +0,0 @@
-<div class="pnl_toolsarea">
-    <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-        <div class="buttons">
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_a_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>A</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_aaaa_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>AAAA</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>ALIAS</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>CNAME</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>HINFO</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>MX</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>NS</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>PTR</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_rp_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>RP</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_srv_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>SRV</span>
-            </button>
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_txt_edit.php?zone={tmpl_var name='parent_id'}');">
-                <span>TXT</span>
-            </button>
-        </div>
-    </fieldset>
-</div>
-
-<div class="pnl_listarea">
-    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-        <table class="list">
-            <thead>
-                <tr>
-                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                    <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
-                    <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
-                    <th class="tbl_col_data" scope="col"><tmpl_var name="data_txt"></th>
-                    <th class="tbl_col_aux" scope="col"><tmpl_var name="aux_txt"></th>
-                    <th class="tbl_col_ttl" scope="col"><tmpl_var name="ttl_txt"></th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                    <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
-                    <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                    <td class="tbl_col_data"><input type="text" name="search_data" value="{tmpl_var name='search_data'}" /></td>
-                    <td class="tbl_col_aux"><input type="text" name="search_aux" value="{tmpl_var name='search_aux'}" /></td>
-                    <td class="tbl_col_ttl"><input type="text" name="search_ttl" value="{tmpl_var name='search_ttl'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="changeTab('dns_records','dns/dns_soa_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_type"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
-                        <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                        <td class="tbl_col_data"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="data"}</a></td>
-                        <td class="tbl_col_aux"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="aux"}</a></td>
-                        <td class="tbl_col_ttl"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ttl"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_rr_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-            </tbody>
-            <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                </tr>
-            </tfoot>
-        </table>
-    </fieldset>
-</div>
diff --git a/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm b/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm
deleted file mode 100644
index fdea8270c7..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_aaaa">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='name_hint_txt'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_aaaa_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#data').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv6',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });	
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_alias_edit.htm b/interface/web/themes/default-304/templates/dns/dns_alias_edit.htm
deleted file mode 100644
index 2c859c7a05..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_alias_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_alias">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_alias_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_cname_edit.htm b/interface/web/themes/default-304/templates/dns/dns_cname_edit.htm
deleted file mode 100644
index 5cf86c589f..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_cname_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_cname">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_cname_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm b/interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm
deleted file mode 100644
index 1651bcc7d1..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_hinfo">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_hinfo_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_import.htm b/interface/web/themes/default-304/templates/dns/dns_import.htm
deleted file mode 100644
index 7f462ab62a..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_import.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_wizard">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend><tmpl_var name="zone_file_import_txt"></legend>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                    <select name="server_id" id="server_id" class="selectInput">
-                        {tmpl_var name='server_id'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" onkeydown="keydown(event.which);" /><p class="value"><tmpl_var name='domain_field_desc_txt'}</p>
-            </div>    
-            <div class="ctrlHolder"">
-                <label for="file">{tmpl_var name='zonefile_to_import_txt'}</label>
-                <input name="file" id="file" size="30" type="file" class="fileUpload" />
-            </div>
-                
-            <tmpl_if name="msg">
-                <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-            </tmpl_if>
-            <tmpl_if name="error">
-                <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-            </tmpl_if>
-                
-            <input type="hidden" name="id" value="{tmpl_var name='id'}">
-                
-            <div class="buttonHolder buttons">
-                <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitUploadForm('pageForm','dns/dns_import.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-                <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-            </div>
-                
-        </fieldset>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    function keydown(keynum){
-        if(keynum == 13){
-            jQuery('.positive').trigger('click');
-        }
-    }
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm b/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm
deleted file mode 100644
index e986efb777..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_mx">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="aux">{tmpl_var name='aux_txt'}</label>
-                <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_mx_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_ns_edit.htm b/interface/web/themes/default-304/templates/dns/dns_ns_edit.htm
deleted file mode 100644
index 9efd881a90..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_ns_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_ns">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ns_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm b/interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm
deleted file mode 100644
index 5d8cf1fdbe..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_ptr">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ptr_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_records_edit.htm b/interface/web/themes/default-304/templates/dns/dns_records_edit.htm
deleted file mode 100644
index f7852eab4f..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_records_edit.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_soa">
-
-    {tmpl_var name='dns_records'}
-
-    <div class="pnl_formsarea">
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_rp_edit.htm b/interface/web/themes/default-304/templates/dns/dns_rp_edit.htm
deleted file mode 100644
index 86697cfed6..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_rp_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_rp">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_rp_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm b/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm
deleted file mode 100644
index b6dea70f9c..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm
+++ /dev/null
@@ -1,97 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_slave">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend><tmpl_var name="secondary_zone_txt"></legend>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                    <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="origin">{tmpl_var name='origin_txt'}</label>
-                <input name="origin" id="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ns">{tmpl_var name='ns_txt'}</label>
-                <input name="ns" id="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='ipv4_form_txt'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="xfer">{tmpl_var name='xfer_txt'}</label>
-                <input name="xfer" id="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="serial" type="hidden" value="{tmpl_var name='serial'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_slave_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_slave_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#ns').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });
-    jQuery('#xfer').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });	
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_slave_list.htm b/interface/web/themes/default-304/templates/dns/dns_slave_list.htm
deleted file mode 100644
index d4458e0d9f..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_slave_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_slave">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_slave_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                <tr>
-                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
-                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
-                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_slave_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
-                        <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
-                        <td class="tbl_col_buttons">
-                        <div class="buttons icons16">    
-                            <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_slave_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                        </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm b/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm
deleted file mode 100644
index 386a2ab6ae..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm
+++ /dev/null
@@ -1,131 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_soa">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>DNS Zone</legend>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                        <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="origin">{tmpl_var name='origin_txt'}</label>
-                <input name="origin" id="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ns">{tmpl_var name='ns_txt'}</label>
-                <input name="ns" id="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='eg_ns1_domain_tld'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="mbox">{tmpl_var name='mbox_txt'}</label>
-                <input name="mbox" id="mbox" value="{tmpl_var name='mbox'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">{tmpl_var name='eg_webmaster_domain_tld'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="refresh">{tmpl_var name='refresh_txt'}</label>
-                <input name="refresh" id="refresh" value="{tmpl_var name='refresh'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;{tmpl_var name='seconds_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="retry">{tmpl_var name='retry_txt'}</label>
-                <input name="retry" id="retry" value="{tmpl_var name='retry'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;{tmpl_var name='seconds_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="expire">{tmpl_var name='expire_txt'}</label>
-                <input name="expire" id="expire" value="{tmpl_var name='expire'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;{tmpl_var name='seconds_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="minimum">{tmpl_var name='minimum_txt'}</label>
-                <input name="minimum" id="minimum" value="{tmpl_var name='minimum'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;{tmpl_var name='seconds_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;{tmpl_var name='seconds_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="xfer">{tmpl_var name='xfer_txt'}</label>
-                <input name="xfer" id="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="also_notify">{tmpl_var name='also_notify_txt'}</label>
-                <input name="also_notify" id="also_notify" value="{tmpl_var name='also_notify'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="update_acl">{tmpl_var name='update_acl_txt'}</label>
-                <input name="update_acl" id="update_acl" value="{tmpl_var name='update_acl'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="serial" type="hidden" value="{tmpl_var name='serial'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_soa_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#xfer').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });
-    jQuery('#also_notify').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_soa_list.htm b/interface/web/themes/default-304/templates/dns/dns_soa_list.htm
deleted file mode 100644
index fa09c78e0e..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_soa_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_soa">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name="add_new_record_wizard_txt"}</span></button>
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_soa_edit.php');"><span>{tmpl_var name="add_new_record_txt"}</span></button>
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_import.php');"><span>Import Zone File</span></button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-            <thead>
-                <tr>
-                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
-                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
-                    <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
-                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
-                    <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_soa_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
-                        <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
-                        <td class="tbl_col_mbox"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-            </tbody>
-            <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                </tr>
-            </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_srv_edit.htm b/interface/web/themes/default-304/templates/dns/dns_srv_edit.htm
deleted file mode 100644
index fbcf10db9d..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_srv_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_srv">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="target">{tmpl_var name='target_txt'}</label>
-                <input name="target" id="target" value="{tmpl_var name='target'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="weight">{tmpl_var name='weight_txt'}</label>
-                <input name="weight" id="weight" value="{tmpl_var name='weight'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="port">{tmpl_var name='port_txt'}</label>
-                <input name="port" id="port" value="{tmpl_var name='port'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="aux">{tmpl_var name='aux_txt'}</label>
-                <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_srv_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_template_edit.htm b/interface/web/themes/default-304/templates/dns/dns_template_edit.htm
deleted file mode 100644
index b18d84a691..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_template_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_template">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="40" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='fields_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='fields'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="template">{tmpl_var name='template_txt'}</label>
-                <textarea name="template" id="template" rows='15' cols='40'>{tmpl_var name='template'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='visible_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='visible'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_template_list.htm b/interface/web/themes/default-304/templates/dns/dns_template_list.htm
deleted file mode 100644
index 7039d34b10..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_template_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_template">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_template_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_visible" scope="col"><tmpl_var name="visible_txt"></th>
-                        <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_visible"><select name="search_visible">{tmpl_var name='search_visible'}</select></td>
-                        <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_visible"><a href="#" onClick="loadContent('dns/dns_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="visible"}</a></td>
-                        <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_template_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_txt_edit.htm b/interface/web/themes/default-304/templates/dns/dns_txt_edit.htm
deleted file mode 100644
index 0450fc865f..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_txt_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_txt">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ttl">{tmpl_var name='ttl_txt'}</label>
-                <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
-        <input type="hidden" name="type" value="{tmpl_var name='type'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_txt_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_wizard.htm b/interface/web/themes/default-304/templates/dns/dns_wizard.htm
deleted file mode 100644
index 51d9b76147..0000000000
--- a/interface/web/themes/default-304/templates/dns/dns_wizard.htm
+++ /dev/null
@@ -1,95 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<tmpl_if name="error">
-    <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-</tmpl_if>
-
-<div class="panel panel_dns_wizard">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend><tmpl_var name="dns_zone_txt"></legend>
-            <div class="ctrlHolder">
-                <label for="template_id">{tmpl_var name='template_id_txt'}</label>
-                <select name="template_id" id="template_id" class="selectInput" onChange="submitForm('pageForm','dns/dns_wizard.php')">
-                    {tmpl_var name='template_id_option'}
-                </select>
-            </div>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                    <select name="server_id" id="server_id" class="selectInput">
-                        {tmpl_var name='server_id'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="DOMAIN_VISIBLE">
-                <div class="ctrlHolder">
-                    <label for="domain">{tmpl_var name='domain_txt'}</label>
-                    <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-                </div>
-            </tmpl_if>
-            <tmpl_if name="IP_VISIBLE">
-                <div class="ctrlHolder">
-                    <label for="ip">{tmpl_var name='ip_txt'}</label>
-                    <input name="ip" id="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255" type="text" class="textInput" />
-                </div>
-            </tmpl_if>
-            <tmpl_if name="NS1_VISIBLE">
-                <div class="ctrlHolder">
-                    <label for="ns1">{tmpl_var name='ns1_txt'}</label>
-                    <input name="ns1" id="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255" type="text" class="textInput" />
-                </div>
-            </tmpl_if>
-            <tmpl_if name="NS2_VISIBLE">
-                <div class="ctrlHolder">
-                    <label for="ns2">{tmpl_var name='ns2_txt'}</label>
-                    <input name="ns2" id="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255" type="text" class="textInput" />
-                </div>
-            </tmpl_if>
-            <tmpl_if name="EMAIL_VISIBLE">
-                <div class="ctrlHolder">
-                    <label for="email">{tmpl_var name='email_txt'}</label>
-                    <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-                </div>
-            </tmpl_if>
-        </fieldset>
-            
-        <input type="hidden" name="create" value="0" />
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#ip').ispconfigSearch({
-        dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });	
-</script>
diff --git a/interface/web/themes/default-304/templates/error.tpl.htm b/interface/web/themes/default-304/templates/error.tpl.htm
deleted file mode 100644
index d75fda4006..0000000000
--- a/interface/web/themes/default-304/templates/error.tpl.htm
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="uniForm">
-    <div id="errorMsg">
-        <h3>Error</h3>
-        <ol>
-            <li>###ERRORMSG###</li>
-        </ol>
-    </div>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/form.tpl.htm b/interface/web/themes/default-304/templates/form.tpl.htm
deleted file mode 100644
index 429bfd9f24..0000000000
--- a/interface/web/themes/default-304/templates/form.tpl.htm
+++ /dev/null
@@ -1 +0,0 @@
-<tmpl_dyninclude name="content_tpl">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/faq_edit.htm b/interface/web/themes/default-304/templates/help/faq_edit.htm
deleted file mode 100644
index 6513f95508..0000000000
--- a/interface/web/themes/default-304/templates/help/faq_edit.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<div class="panel panel_support_message">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='faq_faq_txt'}</legend>
-            <div class="ctrlHolder">
-                <label for="hf_section">{tmpl_var name='faq_section_txt'}</label>
-                <select name="hf_section" id="hf_section" class="selectInput">
-                    {tmpl_var name='hf_section'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="hf_question">{tmpl_var name='faq_question_txt'}</label>
-                <input name="hf_question" id="hf_question" value="{tmpl_var name='hf_question'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="hf_answer">{tmpl_var name='faq_answer_txt'}</label>
-                <textarea name="hf_answer" id="hf_answer" rows='10' cols='30'>{tmpl_var name='hf_answer'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/faq_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('help/faq_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm b/interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm
deleted file mode 100644
index c045dfbb1b..0000000000
--- a/interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<h2>{tmpl_var name="faq_faq_questions_txt"}</h2>
-<div class="panel panel_support_message">
-    
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onclick="loadContent('help/faq_edit.php');">
-                    <span>{tmpl_var name="faq_new_question_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="faq_sections_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col">{tmpl_var name="faq_question_txt"}</th>
-                        <th class="tbl_col_active" scope="col">{tmpl_var name="faq_section_name_txt"}</th>
-                        <th class="tbl_col_server_id" scope="col">{tmpl_var name="faq_delete_txt"}</th>
-                        <th class="tbl_col_domain" scope="col">{tmpl_var name="faq_edit_txt"}</th>
-                    </tr>
-                </thead>
-                <tmpl_loop name="records">
-                    <tr>
-                        <td>{tmpl_var name='hf_question'}</td>
-                        <td>{tmpl_var name='hf_section'}</td>
-                        <td>
-                            <div class="buttons icons16">
-                                <a class="icons16 icoDelete" href="javascript: del_record('help/faq_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');">
-                                    <span>{tmpl_var name="faq_delete_txt"}</span></a> </div>
-                        </td>
-                        <td>
-                            <a href="#" onClick="loadContent('help/faq_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="faq_edit_txt"}</a>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/faq_sections_edit.htm b/interface/web/themes/default-304/templates/help/faq_sections_edit.htm
deleted file mode 100644
index 181364bdc2..0000000000
--- a/interface/web/themes/default-304/templates/help/faq_sections_edit.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<div class="panel panel_support_message">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Section</legend>
-            <div class="ctrlHolder">
-                <label for="hfs_name">{tmpl_var name='faq_section_name_txt'}</label>
-                <input name="hfs_name" id="hfs_name" value="{tmpl_var name='hfs_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/faq_sections_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('help/faq_sections_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-
diff --git a/interface/web/themes/default-304/templates/help/help_faq_list.htm b/interface/web/themes/default-304/templates/help/help_faq_list.htm
deleted file mode 100644
index 6af928f767..0000000000
--- a/interface/web/themes/default-304/templates/help/help_faq_list.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-<tmpl_loop name="records">
-    <h3>{tmpl_var name='hf_question'}
-    </h3>
-    <p>
-        {tmpl_var name='hf_answer'}
-    </p>
-    <tmpl_if name='is_admin'>
-        <div class="buttons icons16">
-            <a class="icons16 icoDelete" href="javascript: del_record('help/faq_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>Delete</span></a>
-        </div>
-        <a href="#" onClick="loadContent('help/faq_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="edit_txt"}</a>
-        <br/>
-        <br/>
-        <br/>
-    </tmpl_if>
-
-</tmpl_loop>
-
-<!--<tmpl_var name="paging">-->
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm b/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm
deleted file mode 100644
index ddb1a560e1..0000000000
--- a/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<h2><tmpl_var name="faq_faq_sections_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_support_faq_section">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onclick="loadContent('help/faq_sections_edit.php');">
-                    <span>{tmpl_var name="faq_new_section_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="faq_sections_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col">{tmpl_var name="faq_section_name_txt"}</th>
-                        <th class="tbl_col_server_id" scope="col">{tmpl_var name="faq_delete_txt"}</th>
-                        <th class="tbl_col_domain" scope="col">{tmpl_var name="faq_edit_txt"}</th>
-                    </tr>
-                </thead>
-                <tmpl_loop name="records">
-                    <tr>
-                        <td><b>{tmpl_var name='hfs_name'}</b></td>
-                        <td>
-                            <div class="buttons icons16">
-                                <a class="icons16 icoDelete" href="javascript: del_record('help/faq_sections_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');">
-                                    <span>{tmpl_var name="faq_delete_txt"}</span></a> </div>
-                        </td><td>
-
-                            <a href="#" onClick="loadContent('help/faq_sections_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="faq_edit_txt"}</a>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/support_message_edit.htm b/interface/web/themes/default-304/templates/help/support_message_edit.htm
deleted file mode 100644
index 06c17977fa..0000000000
--- a/interface/web/themes/default-304/templates/help/support_message_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_support_message">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Message</legend>
-            <div class="ctrlHolder">
-                <label for="recipient_id">{tmpl_var name='recipient_id_txt'}</label>
-                <select name="recipient_id" id="recipient_id" class="selectInput">
-                    {tmpl_var name='recipient_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="subject">{tmpl_var name='subject_txt'}</label>
-                <input name="subject" id="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="message">{tmpl_var name='message_txt'}</label>
-                <textarea name="message" id="message" rows='10' cols='30'>{tmpl_var name='message'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="tstamp" value="{tmpl_var name='tstamp'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/support_message_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('help/support_message_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/support_message_list.htm b/interface/web/themes/default-304/templates/help/support_message_list.htm
deleted file mode 100644
index e828fe9e57..0000000000
--- a/interface/web/themes/default-304/templates/help/support_message_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_support_message">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('help/support_message_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_sender_id" scope="col"><tmpl_var name="sender_id_txt"></th>
-                        <th class="tbl_col_subject" scope="col"><tmpl_var name="subject_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_sender_id"><select name="search_sender_id">{tmpl_var name='search_sender_id'}</select></td>
-                        <td class="tbl_col_subject"><input type="text" name="search_subject" value="{tmpl_var name='search_subject'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','help/support_message_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_sender_id"><a href="#" onClick="loadContent('help/support_message_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sender_id"}</a></td>
-                            <td class="tbl_col_subject"><a href="#" onClick="loadContent('help/support_message_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="subject"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('help/support_message_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/support_message_view.htm b/interface/web/themes/default-304/templates/help/support_message_view.htm
deleted file mode 100644
index 62f2736ec9..0000000000
--- a/interface/web/themes/default-304/templates/help/support_message_view.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_support_message">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Message</legend>
-            <div class="ctrlHolder">
-                <label for="subject">{tmpl_var name='subject_txt'}</label>
-                <p>{tmpl_var name='subject'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="message">{tmpl_var name='message_txt'}</label>
-                <p>{tmpl_var name='message'}</p>
-            </div>
-        </fieldset>
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='reply_txt'}" onClick="loadContent('help/support_message_edit.php?reply={tmpl_var name='id'}');"><span>{tmpl_var name='reply_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/listpage.tpl.htm b/interface/web/themes/default-304/templates/listpage.tpl.htm
deleted file mode 100644
index 429bfd9f24..0000000000
--- a/interface/web/themes/default-304/templates/listpage.tpl.htm
+++ /dev/null
@@ -1 +0,0 @@
-<tmpl_dyninclude name="content_tpl">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/login/index.htm b/interface/web/themes/default-304/templates/login/index.htm
deleted file mode 100644
index e977e05882..0000000000
--- a/interface/web/themes/default-304/templates/login/index.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="login_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_login">
-
-    <tmpl_if name="msg">
-        <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-    </tmpl_if>
-    <tmpl_if name="error">
-        <div id="errorMsg"><h3>ERROR</h3><ol><li><tmpl_var name="error"></li></ol><br /><a href="#" onclick="loadContent('login/password_reset.php');">{tmpl_var name='pw_lost_txt'}</a></div>
-    </tmpl_if>
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='login_txt'}Login</legend>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput"  onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="passwort">{tmpl_var name='password_txt'}</label>
-                <input name="passwort" id="passwort" value="" size="30" maxlength="255" type="password" class="textInput"  onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};" />
-            </div>			
-        </fieldset>
-
-        <input type="hidden" name="s_mod" value="login" />
-        <input type="hidden" name="s_pg" value="index" />
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoKey" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitLoginForm('pageForm');"><span>{tmpl_var name='login_button_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/login/password_reset.htm b/interface/web/themes/default-304/templates/login/password_reset.htm
deleted file mode 100644
index d6007e67be..0000000000
--- a/interface/web/themes/default-304/templates/login/password_reset.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="pw_reset_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_password_reset">
-  
-    <tmpl_if name="msg">
-        <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-    </tmpl_if>
-    <tmpl_if name="error">
-        <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-    </tmpl_if>
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name='pw_reset_txt'}</legend>
-            <div class="ctrlHolder">
-                <label for="email"><em>*</em> {tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="username"><em>*</em> {tmpl_var name='username_txt'}</label>
-                <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput" />
-            </div>			
-        </fieldset>
-
-        <input type="hidden" name="s_mod" value="login" />
-        <input type="hidden" name="s_pg" value="index" />
-
-        <div class="buttonHolder buttons">
-            <button class="positive" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitForm('pageForm','login/password_reset.php');"><span>{tmpl_var name='pw_button_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm b/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm
deleted file mode 100644
index 0aa550f9aa..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_alias">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
-                <div class="multiField">
-                    <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
-                    <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
-                    <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <select name="destination" id="destination" class="selectInput">
-                    {tmpl_var name='destination'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="alias">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_alias_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_alias_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_alias_list.htm b/interface/web/themes/default-304/templates/mail/mail_alias_list.htm
deleted file mode 100644
index 92755ddb9f..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_alias_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_alias">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_alias_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_alias_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
-                            <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_alias_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm
deleted file mode 100644
index c41121b7bd..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_aliasdomain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='source_txt'}</label>
-                <select name="source" id="source" class="selectInput">
-                    {tmpl_var name='source_domain'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <select name="destination" id="destination" class="selectInput">
-                    {tmpl_var name='destination_domain'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="aliasdomain">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm b/interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm
deleted file mode 100644
index d75c236e64..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_aliasdomain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_aliasdomain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_aliasdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm
deleted file mode 100644
index 493e88b90a..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_blacklist">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="source">{tmpl_var name='source_txt'}</label>
-                <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="access" type="hidden" value="{tmpl_var name='access'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_blacklist_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_blacklist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm b/interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm
deleted file mode 100644
index 6dd81c62c5..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_blacklist">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_blacklist_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_blacklist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_type"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_blacklist_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm
deleted file mode 100644
index 8dc53e16ab..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_content_filter">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="pattern">{tmpl_var name='pattern_txt'}</label>
-                <input name="pattern" id="pattern" value="{tmpl_var name='pattern'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="data">{tmpl_var name='data_txt'}</label>
-                <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="action">{tmpl_var name='action_txt'}</label>
-                <select name="action" id="action" class="selectInput">
-                    {tmpl_var name='action'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_content_filter_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_content_filter_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm b/interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm
deleted file mode 100644
index fda80a6cc1..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_content_filter">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_content_filter_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_pattern" scope="col"><tmpl_var name="pattern_txt"></th>
-                        <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_pattern"><input type="text" name="search_pattern" value="{tmpl_var name='search_pattern'}" /></td>
-                        <td class="tbl_col_action"><select name="search_action">{tmpl_var name='search_action'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_content_filter_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_pattern"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="pattern"}</a></td>
-                            <td class="tbl_col_action"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="action"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_content_filter_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm
deleted file mode 100644
index 4b26fb14c7..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_domain_admin">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_sys_groupid"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm b/interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm
deleted file mode 100644
index b6b9223fcf..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_domain_catchall">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='email_txt'}</p>
-                <div class="multiField">
-                    <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
-                    <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <input name="destination" id="destination" value="{tmpl_var name='destination'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="catchall">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_catchall_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_domain_catchall_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm
deleted file mode 100644
index d608425ddb..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_domain_catchall">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_catchall_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_catchall_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_catchall_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_edit.htm b/interface/web/themes/default-304/templates/mail/mail_domain_edit.htm
deleted file mode 100644
index b84e2d61cb..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_edit.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                        <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <tmpl_if name="domain_option">
-                    <select name="domain" id="domain" class="selectInput">
-                        {tmpl_var name='domain_option'}
-                    </select>
-                    <tmpl_else>
-                        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="policy">{tmpl_var name='policy_txt'}</label>
-                <select name="policy" id="policy" class="selectInput">
-                    {tmpl_var name='policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="local">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_list.htm
deleted file mode 100644
index 958f743004..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_domain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_forward_edit.htm b/interface/web/themes/default-304/templates/mail/mail_forward_edit.htm
deleted file mode 100644
index d0a85033f6..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_forward_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_forward">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
-                <div class="multiField">
-                    <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
-                    <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
-                    <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <textarea rows="10" cols="40" name="destination" id="destination" type="text" class="textInput">{tmpl_var name='destination'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="type" value="forward">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_forward_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_forward_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_forward_list.htm b/interface/web/themes/default-304/templates/mail/mail_forward_list.htm
deleted file mode 100644
index 24a0538802..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_forward_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_forward">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_forward_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_forward_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_forward_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_get_edit.htm b/interface/web/themes/default-304/templates/mail/mail_get_edit.htm
deleted file mode 100644
index 1ba3f9e8f1..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_get_edit.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_get">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="source_server">{tmpl_var name='source_server_txt'}</label>
-                <input name="source_server" id="source_server" value="{tmpl_var name='source_server'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="source_username">{tmpl_var name='source_username_txt'}</label>
-                <input name="source_username" id="source_username" value="{tmpl_var name='source_username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="source_password">{tmpl_var name='source_password_txt'}</label>
-                <input name="source_password" id="source_password" value="{tmpl_var name='source_password'}" size="30" maxlength="255" type="password" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='source_delete_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='source_delete'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='source_read_all_txt'}</p>
-                <div class="multiField">        
-                    {tmpl_var name='source_read_all'} 
-                </div>                          
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <select name="destination" id="destination" class="selectInput">
-                    {tmpl_var name='destination'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_get_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_get_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_get_list.htm b/interface/web/themes/default-304/templates/mail/mail_get_list.htm
deleted file mode 100644
index 2997bf77c5..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_get_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_get">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_get_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_source_server" scope="col"><tmpl_var name="source_server_txt"></th>
-                        <th class="tbl_col_source_username" scope="col"><tmpl_var name="source_username_txt"></th>
-                        <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_source_server"><input type="text" name="search_source_server" value="{tmpl_var name='search_source_server'}" /></td>
-                        <td class="tbl_col_source_username"><input type="text" name="search_source_username" value="{tmpl_var name='search_source_username'}" /></td>
-                        <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_get_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_source_server"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source_server"}</a></td>
-                            <td class="tbl_col_source_username"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source_username"}</a></td>
-                            <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_get_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm
deleted file mode 100644
index 04964c70e2..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm
+++ /dev/null
@@ -1,86 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_mailinglist">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Mailing List</legend>	
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-
-            <tmpl_if name="edit_disabled">
-                <div class="ctrlHolder">
-                    <label for="domain_disabled">{tmpl_var name='domain_txt'}</label>
-                    <select name="domain_disabled" id="domain_disabled" class="selectInput" disabled="disabled">
-                        {tmpl_var name='domain_option'}
-                    </select>
-                    <input type="hidden" name="domain" value="{tmpl_var name='domain_value'}" />
-                </div>
-
-                <div class="ctrlHolder">
-                    <label for="listname_disabled">{tmpl_var name='listname_txt'}</label>
-                    <input name="listname_disabled" id="listname_disabled" value="{tmpl_var name='listname'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
-                    <input type="hidden" name="listname" value="{tmpl_var name='listname_value'}" />
-                </div>
-                <div class="ctrlHolder">
-                    <label for="email_disabled">{tmpl_var name='email_txt'}</label>
-                    <input name="email_disabled" id="email_disabled" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
-                    <input type="hidden" name="email" value="{tmpl_var name='email_value'}" />
-                </div>
-                <tmpl_else>
-                    <div class="ctrlHolder">
-                        <label for="domain">{tmpl_var name='domain_txt'}</label>
-                        <select name="domain" id="domain" class="selectInput">
-                            {tmpl_var name='domain_option'}
-                        </select>
-                    </div>
-                    <div class="ctrlHolder">
-                        <label for="listname">{tmpl_var name='listname_txt'}</label>
-                        <input name="listname" id="listname" value="{tmpl_var name='listname'}" size="30" maxlength="255" type="text" class="textInput" />
-                    </div>
-                    <div class="ctrlHolder">
-                        <label for="email">{tmpl_var name='email_txt'}</label>
-                        <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-                    </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_mailinglist_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_mailinglist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm b/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm
deleted file mode 100644
index cbb572f746..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_mailinglist">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_mailinglist_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_listname" scope="col"><tmpl_var name="listname_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_listname"><input type="text" name="search_listname" value="{tmpl_var name='search_listname'}" /></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_mailinglist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_listname"><a href="#" onClick="loadContent('mail/mail_mailinglist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="listname"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_mailinglist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">
-                                                    <tmpl_if name="mailmailinglist_link"><a class="icons16 icoWebmailer" href="mail/mailinglist.php?id={tmpl_var name='id'}" target="mailmailinglist"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_mailinglist_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm b/interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm
deleted file mode 100644
index 60ac345134..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_relay_recipient">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Relay recipient</legend>
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="source">{tmpl_var name='source_txt'}</label>
-                <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="access" value="OK">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_relay_recipient_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_relay_recipient_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm b/interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm
deleted file mode 100644
index 7aeb45f7dc..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_relay_recipient">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-        <div class="buttons">
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_relay_recipient_edit.php');">
-            <span>{tmpl_var name="add_new_record_txt"}</span>
-            </button>
-        </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_relay_recipient_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_relay_recipient_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_transport_edit.htm b/interface/web/themes/default-304/templates/mail/mail_transport_edit.htm
deleted file mode 100644
index 0bb8dfaf37..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_transport_edit.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_transport">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput formLengthHalf">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='mx_txt'}</p>
-                <div class="multiField">
-                    <input type="checkbox" value="y" id="mx" name="mx" {tmpl_var name='mx'} />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="destination">{tmpl_var name='destination_txt'}</label>
-                <input name="destination" id="transport" value="{tmpl_var name='destination'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="sort_order">{tmpl_var name='sort_order_txt'}</label>
-                <select name="sort_order" id="sort_order" class="selectInput formLengthHalf">
-                    {tmpl_var name='sort_order'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_transport_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_transport_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_transport_list.htm b/interface/web/themes/default-304/templates/mail/mail_transport_list.htm
deleted file mode 100644
index 3f56fb5d23..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_transport_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_transport">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_transport_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_transport" scope="col"><tmpl_var name="transport_txt"></th>
-                        <th class="tbl_col_sort_order" scope="col"><tmpl_var name="sort_order_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_transport"><input type="text" name="search_transport" value="{tmpl_var name='search_transport'}" /></td>
-                        <td class="tbl_col_sort_order"><input type="text" name="search_sort_order" value="{tmpl_var name='search_sort_order'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_transport_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_transport"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="transport"}</a></td>
-                            <td class="tbl_col_sort_order"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sort_order"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_transport_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm
deleted file mode 100644
index da6edd48df..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="autoresponder_subject">{tmpl_var name='autoresponder_subject_txt'}</label>
-                <input type="text" name="autoresponder_subject" id="autoresponder_subject" maxlength='250' value="{tmpl_var name='autoresponder_subject'}" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_text">{tmpl_var name='autoresponder_text_txt'}</label>
-                <textarea name="autoresponder_text" id="autoresponder_text" rows='15' cols='30'>{tmpl_var name='autoresponder_text'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder">{tmpl_var name='autoresponder_active'}</label>
-                <input type="checkbox" value="y" id="autoresponder" name="autoresponder"
-                       onclick="AR_ResetDates();" {tmpl_var name='ar_active'} />
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_start_date">{tmpl_var name='autoresponder_start_date_txt'}</label>
-                {tmpl_var name='autoresponder_start_date'}&nbsp;
-                <a href="javascript:AR_SetNow();">{tmpl_var name='now_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_end_date">{tmpl_var name='autoresponder_end_date_txt'}</label>
-                {tmpl_var name='autoresponder_end_date'}
-            </div>
-        </fieldset>
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button"
-                    value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_edit.php');">
-                <span>{tmpl_var name='btn_save_txt'}</span>
-            </button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}"
-                    onClick="loadContent('mail/mail_user_list.php');">
-                <span>{tmpl_var name='btn_cancel_txt'}</span>
-            </button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm
deleted file mode 100644
index 78c87ebc04..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="custom_mailfilter">{tmpl_var name='custom_mailfilter_txt'}</label>
-                <textarea name="custom_mailfilter" id="custom_mailfilter" rows='15' cols='30'>{tmpl_var name='custom_mailfilter'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_filter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_filter_edit.htm
deleted file mode 100644
index 694b618765..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_filter_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user_filter">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
-                <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255"  class="textInput">
-            </div>
-            <div class="ctrlHolder">
-                <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
-                <select id="source" name="source"  class="textInput formLengthHalf">{tmpl_var name='source'}</select>
-                <select id="op" name="op"  class="textInput formLengthHalf">{tmpl_var name='op'}</select>
-                <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255"  class="textInput">
-            </div>
-            <div class="ctrlHolder">
-                <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
-                <select id="action" name="action" class="textInput formLengthHalf">{tmpl_var name='action'}</select>
-                <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255"  class="textInput formLengthHalf">
-            </div>
-            <div class="ctrlHolder">
-                <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
-                <span class="">{tmpl_var name='active'}</span>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_filter_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='mailuser_id'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm
deleted file mode 100644
index f270944bbe..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-
-<div class="pnl_toolsarea">
-    <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-        <div class="buttons">
-            <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_user_filter_edit.php?mailuser_id={tmpl_var name='parent_id'}');">
-                <span>{tmpl_var name="add_new_record_txt"}</span>
-            </button>
-        </div>
-    </fieldset>
-</div>
-
-<div class="pnl_listarea">
-    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-        <table class="list">
-            <thead>
-                <tr>
-                    <th class="tbl_col_rulename" scope="col"><tmpl_var name="rulename_txt"></th>
-                    <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_rulename"><input type="text" name="search_rulename" value="{tmpl_var name='search_rulename'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="changeTab('filter_records','mail/mail_user_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-            </thead>
-            <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_rulename"><a href="#" onClick="loadContent('mail/mail_user_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rulename"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_user_filter_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-            </tbody>
-            <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                </tr>
-            </tfoot>
-        </table>
-    </fieldset>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_list.htm
deleted file mode 100644
index 8e1dda458b..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_list.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_user">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
-                <tmpl_if name="enable_custom_login"><th class="tbl_col_login" scope="col"><tmpl_var name="login_txt"></th></tmpl_if>
-                <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
-                        <th class="tbl_col_autoresponder" scope="col"><tmpl_var name="autoresponder_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
-                                    <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-            <tmpl_if name="enable_custom_login"><td class="tbl_col_login"><input type="text" name="search_login" value="{tmpl_var name='search_login'}" /></td></tmpl_if>
-                        <td class="tbl_col_autoresponder"><select name="search_autoresponder">{tmpl_var name='search_autoresponder'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
-                        <tmpl_if name="enable_custom_login">
-                            <td class="tbl_col_login">
-                                <a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="login"}</a>
-                            </td>
-                        </tmpl_if>
-                        <td class="tbl_col_name"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                        <td class="tbl_col_autoresponder"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="autoresponder"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <tmpl_if name="mailboxlist_webmail_link">
-                                    <a class="icons16 icoWebmailer" href="mail/webmailer.php?id={tmpl_var name='id'}" target="webmail"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </tmpl_if>
-                                <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="<tmpl_if name="enable_custom_login">5<tmpl_else>4</tmpl_if>"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm
deleted file mode 100644
index bb1dd37ba0..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='name_txt'}</label>
-                <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" /> &nbsp; {tmpl_var name='name_optional_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
-                <div class="multiField">
-                    <label for="email_local_part" class="blockLabel formLengthEmailDomain">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
-                    <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
-                    <label for="email_domain" class="blockLabel formLengthEmailDomain">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
-                </div>
-            </div>
-            <tmpl_if name="enable_custom_login"><div class="ctrlHolder">
-                    <label for="login">{tmpl_var name='login_txt'}</label>
-                    <input type="text" id="login" name="login" size="20" value="{tmpl_var name='login'}" class="textInput" /></label>
-                </div></tmpl_if>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="quota">{tmpl_var name='quota_txt'}</label>
-                <input name="quota" id="quota" value="{tmpl_var name='quota'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='cc_txt'}</label>
-                <input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> &nbsp; {tmpl_var name='name_optional_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="policy">{tmpl_var name='policy_txt'}</label>
-                <select name="policy" id="policy" class="selectInput">
-                    {tmpl_var name='policy'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='postfix_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='postfix'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='disableimap_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='disableimap'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='disablepop3_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='disablepop3'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm
deleted file mode 100644
index ef053c9367..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='move_junk_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='move_junk'}
-                </div>
-            </div>
-        </fieldset>
-
-        {tmpl_var name='filter_records'}
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm
deleted file mode 100644
index 2000f34b46..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_user_stats">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
-                        <th class="tbl_col_mail_traffic_this_month" scope="col"><tmpl_var name="this_month_txt"></th>
-                        <th class="tbl_col_mail_traffic_last_month" scope="col"><tmpl_var name="last_month_txt"></th>
-                        <th class="tbl_col_mail_traffic_this_year" scope="col"><tmpl_var name="this_year_txt"></th>
-                        <th class="tbl_col_mail_traffic_last_year" scope="col"><tmpl_var name="last_year_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
-                        <td class="tbl_col_this_month"></td>
-                        <td class="tbl_col_last_month"></td>
-                        <td class="tbl_col_this_year"></td>
-                        <td class="tbl_col_last_year"></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
-                            <td class="tbl_col_this_month"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"} MB</a></td>
-                            <td class="tbl_col_last_month"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"} MB</a></td>
-                            <td class="tbl_col_this_year"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"} MB</a></td>
-                            <td class="tbl_col_last_year"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"} MB</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">
-                                    &nbsp;
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm
deleted file mode 100644
index cf2aeb596b..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_whitelist">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="source">{tmpl_var name='source_txt'}</label>
-                <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="access" type="hidden" value="{tmpl_var name='access'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_whitelist_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/mail_whitelist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm b/interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm
deleted file mode 100644
index 219345fe08..0000000000
--- a/interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_whitelist">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_whitelist_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
-                        <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
-                        <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_whitelist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
-                            <td class="tbl_col_type"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_whitelist_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm
deleted file mode 100644
index 34c2249d4b..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_blacklist">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <!--
-                <div class="ctrlHolder">
-                    <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                    <select name="server_id" id="server_id" class="selectInput">
-                                                    {tmpl_var name='server_id'}
-                                            </select>
-                </div>
-            -->
-            <div class="ctrlHolder">
-                <label for="rid">{tmpl_var name='rid_txt'}</label>
-                <select name="rid" id="rid" class="selectInput">
-                    {tmpl_var name='rid'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="email">{tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="priority">{tmpl_var name='priority_txt'}</label>
-                <select name="priority" id="priority" class="selectInput formLengthHalf">
-                    {tmpl_var name='priority'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_blacklist_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_blacklist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm
deleted file mode 100644
index 8a05d36a00..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_blacklist">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_blacklist_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_priority" scope="col"><tmpl_var name="priority_txt"></th>
-                        <th class="tbl_col_rid" scope="col"><tmpl_var name="rid_txt"></th>
-                        <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
-                        <td class="tbl_col_rid"><select name="search_rid">{tmpl_var name='search_rid'}</select></td>
-                        <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_blacklist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
-                            <td class="tbl_col_rid"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rid"}</a></td>
-                            <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_blacklist_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm
deleted file mode 100644
index 2b3c85a513..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_config">
-
-    <div class="pnl_formsarea">
-        <fieldset id="wf_area_spamfilter_config">
-            <span class="wf_oneField">
-                <label for="getmail_config_dir" class="wf_preField">{tmpl_var name='getmail_config_dir_txt'}</label>
-                <input type="text" id="getmail_config_dir" name="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255">
-            </span>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="wf_actions buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm
deleted file mode 100644
index b84a77f9aa..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_config">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_config_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_config_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_name"><a href="#" onClick="loadContent('mail/spamfilter_config_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_config_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="2"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm
deleted file mode 100644
index 524c9804b0..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_config">
-
-    <div class="pnl_formsarea">
-        <fieldset id="wf_area_spamfilter_config">
-            <span class="wf_oneField">
-                <label for="module" class="wf_preField">{tmpl_var name='module_txt'}</label>
-                <select id="module" name="module">{tmpl_var name='module'}</select>
-            </span>
-            <span class="wf_oneField">
-                <label for="maildir_path" class="wf_preField">{tmpl_var name='maildir_path_txt'}</label>
-                <input type="text" id="maildir_path" name="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="homedir_path" class="wf_preField">{tmpl_var name='homedir_path_txt'}</label>
-                <input type="text" id="homedir_path" name="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="mailuser_uid" class="wf_preField">{tmpl_var name='mailuser_uid_txt'}</label>
-                <input type="text" id="mailuser_uid" name="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="mailuser_gid" class="wf_preField">{tmpl_var name='mailuser_gid_txt'}</label>
-                <input type="text" id="mailuser_gid" name="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="mailuser_name" class="wf_preField">{tmpl_var name='mailuser_name_txt'}</label>
-                <input type="text" id="mailuser_name" name="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="mailuser_group" class="wf_preField">{tmpl_var name='mailuser_group_txt'}</label>
-                <input type="text" id="mailuser_group" name="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="relayhost" class="wf_preField">{tmpl_var name='relayhost_txt'}</label>
-                <input type="text" id="relayhost" name="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="relayhost_user" class="wf_preField">{tmpl_var name='relayhost_user_txt'}</label>
-                <input type="text" id="relayhost_user" name="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="relayhost_password" class="wf_preField">{tmpl_var name='relayhost_password_txt'}</label>
-                <input type="text" id="relayhost_password" name="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="mailbox_size_limit" class="wf_preField">{tmpl_var name='mailbox_size_limit_txt'}</label>
-                <input type="text" id="mailbox_size_limit" name="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15">
-            </span>
-            <span class="wf_oneField">
-                <label for="message_size_limit" class="wf_preField">{tmpl_var name='message_size_limit_txt'}</label>
-                <input type="text" id="message_size_limit" name="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15">
-            </span>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="wf_actions buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_config_server_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_server_edit.htm
deleted file mode 100644
index 6cdca69f3c..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_server_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_config">
-
-    <div class="pnl_formsarea">
-        <fieldset id="wf_area_spamfilter_config">
-            <span class="wf_oneField">
-                <label for="ip_address" class="wf_preField">{tmpl_var name='ip_address_txt'}</label>
-                <input type="text" id="ip_address" name="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="netmask" class="wf_preField">{tmpl_var name='netmask_txt'}</label>
-                <input type="text" id="netmask" name="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="gateway" class="wf_preField">{tmpl_var name='gateway_txt'}</label>
-                <input type="text" id="gateway" name="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="hostname" class="wf_preField">{tmpl_var name='hostname_txt'}</label>
-                <input type="text" id="hostname" name="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255">
-            </span>
-            <span class="wf_oneField">
-                <label for="nameservers" class="wf_preField">{tmpl_var name='nameservers_txt'}</label>
-                <input type="text" id="nameservers" name="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255">
-            </span>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="wf_actions buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm
deleted file mode 100644
index 518be5f477..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="addr_extension_virus">{tmpl_var name='addr_extension_virus_txt'}</label>
-                <input name="addr_extension_virus" id="addr_extension_virus" value="{tmpl_var name='addr_extension_virus'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="addr_extension_spam">{tmpl_var name='addr_extension_spam_txt'}</label>
-                <input name="addr_extension_spam" id="addr_extension_spam" value="{tmpl_var name='addr_extension_spam'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="addr_extension_banned">{tmpl_var name='addr_extension_banned_txt'}</label>
-                <input name="addr_extension_banned" id="addr_extension_banned" value="{tmpl_var name='addr_extension_banned'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="addr_extension_bad_header">{tmpl_var name='addr_extension_bad_header_txt'}</label>
-                <input name="addr_extension_bad_header" id="addr_extension_bad_header" value="{tmpl_var name='addr_extension_bad_header'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="warnvirusrecip">{tmpl_var name='warnvirusrecip_txt'}</label>
-                <select name="warnvirusrecip" id="warnvirusrecip" class="selectInput formLengthBool">
-                    {tmpl_var name='warnvirusrecip'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="warnbannedrecip">{tmpl_var name='warnbannedrecip_txt'}</label>
-                <select name="warnbannedrecip" id="warnbannedrecip" class="selectInput formLengthBool">
-                    {tmpl_var name='warnbannedrecip'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="warnbadhrecip">{tmpl_var name='warnbadhrecip_txt'}</label>
-                <select name="warnbadhrecip" id="warnbadhrecip" class="selectInput formLengthBool">
-                    {tmpl_var name='warnbadhrecip'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="newvirus_admin">{tmpl_var name='newvirus_admin_txt'}</label>
-                <input name="newvirus_admin" id="newvirus_admin" value="{tmpl_var name='newvirus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="virus_admin">{tmpl_var name='virus_admin_txt'}</label>
-                <input name="virus_admin" id="virus_admin" value="{tmpl_var name='virus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="banned_admin">{tmpl_var name='banned_admin_txt'}</label>
-                <input name="banned_admin" id="banned_admin" value="{tmpl_var name='banned_admin'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bad_header_admin">{tmpl_var name='bad_header_admin_txt'}</label>
-                <input name="bad_header_admin" id="bad_header_admin" value="{tmpl_var name='bad_header_admin'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_admin">{tmpl_var name='spam_admin_txt'}</label>
-                <input name="spam_admin" id="spam_admin" value="{tmpl_var name='spam_admin'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
-                <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;Bytes
-            </div>
-            <div class="ctrlHolder">
-                <label for="banned_rulenames">{tmpl_var name='banned_rulenames_txt'}</label>
-                <input name="banned_rulenames" id="banned_rulenames" value="{tmpl_var name='banned_rulenames'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm
deleted file mode 100644
index 7279f0a68f..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="policy_name">{tmpl_var name='policy_name_txt'}</label>
-                <input name="policy_name" id="policy_name" value="{tmpl_var name='policy_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="virus_lover">{tmpl_var name='virus_lover_txt'}</label>
-                <select name="virus_lover" id="virus_lover" class="selectInput formLengthBool">
-                    {tmpl_var name='virus_lover'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_lover">{tmpl_var name='spam_lover_txt'}</label>
-                <select name="spam_lover" id="spam_lover" class="selectInput formLengthBool">
-                    {tmpl_var name='spam_lover'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="banned_files_lover">{tmpl_var name='banned_files_lover_txt'}</label>
-                <select name="banned_files_lover" id="banned_files_lover" class="selectInput formLengthBool">
-                    {tmpl_var name='banned_files_lover'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="bad_header_lover">{tmpl_var name='bad_header_lover_txt'}</label>
-                <select name="bad_header_lover" id="bad_header_lover" class="selectInput formLengthBool">
-                    {tmpl_var name='bad_header_lover'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="bypass_virus_checks">{tmpl_var name='bypass_virus_checks_txt'}</label>
-                <select name="bypass_virus_checks" id="bypass_virus_checks" class="selectInput formLengthBool">
-                    {tmpl_var name='bypass_virus_checks'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="bypass_banned_checks">{tmpl_var name='bypass_banned_checks_txt'}</label>
-                <select name="bypass_banned_checks" id="bypass_banned_checks" class="selectInput formLengthBool">
-                    {tmpl_var name='bypass_banned_checks'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="bypass_header_checks">{tmpl_var name='bypass_header_checks_txt'}</label>
-                <select name="bypass_header_checks" id="bypass_header_checks" class="selectInput formLengthBool">
-                    {tmpl_var name='bypass_header_checks'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm
deleted file mode 100644
index 48d323f775..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_policy">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_policy_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_policy_name" scope="col"><tmpl_var name="policy_name_txt"></th>
-                        <th class="tbl_col_virus_lover" scope="col"><tmpl_var name="virus_lover_txt"></th>
-                        <th class="tbl_col_spam_lover" scope="col"><tmpl_var name="spam_lover_txt"></th>
-                        <th class="tbl_col_banned_files_lover" scope="col"><tmpl_var name="banned_files_lover_txt"></th>
-                        <th class="tbl_col_bad_header_lover" scope="col"><tmpl_var name="bad_header_lover_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_policy_name"><input type="text" name="search_policy_name" value="{tmpl_var name='search_policy_name'}" /></td>
-                        <td class="tbl_col_virus_lover"><select name="search_virus_lover">{tmpl_var name='search_virus_lover'}</select></td>
-                        <td class="tbl_col_spam_lover"><select name="search_spam_lover">{tmpl_var name='search_spam_lover'}</select></td>
-                        <td class="tbl_col_banned_files_lover"><select name="search_banned_files_lover">{tmpl_var name='search_banned_files_lover'}</select></td>
-                        <td class="tbl_col_bad_header_lover"><select name="search_bad_header_lover">{tmpl_var name='search_bad_header_lover'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_policy_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_policy_name"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="policy_name"}</a></td>
-                        <td class="tbl_col_virus_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virus_lover"}</a></td>
-                        <td class="tbl_col_spam_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="spam_lover"}</a></td>
-                        <td class="tbl_col_banned_files_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="banned_files_lover"}</a></td>
-                        <td class="tbl_col_bad_header_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="bad_header_lover"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_policy_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm
deleted file mode 100644
index 98e9c3e4b1..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="virus_quarantine_to">{tmpl_var name='virus_quarantine_to_txt'}</label>
-                <input name="virus_quarantine_to" id="virus_quarantine_to" value="{tmpl_var name='virus_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_quarantine_to">{tmpl_var name='spam_quarantine_to_txt'}</label>
-                <input name="spam_quarantine_to" id="spam_quarantine_to" value="{tmpl_var name='spam_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="banned_quarantine_to">{tmpl_var name='banned_quarantine_to_txt'}</label>
-                <input name="banned_quarantine_to" id="banned_quarantine_to" value="{tmpl_var name='banned_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="bad_header_quarantine_to">{tmpl_var name='bad_header_quarantine_to_txt'}</label>
-                <input name="bad_header_quarantine_to" id="bad_header_quarantine_to" value="{tmpl_var name='bad_header_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <!--
-                  <div class="ctrlHolder">
-                    <label for="clean_quarantine_to">{tmpl_var name='clean_quarantine_to_txt'}</label>
-                    <input name="clean_quarantine_to" id="clean_quarantine_to" value="{tmpl_var name='clean_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-                                    </div>
-                  <div class="ctrlHolder">
-                    <label for="other_quarantine_to">{tmpl_var name='other_quarantine_to_txt'}</label>
-                    <input name="other_quarantine_to" id="other_quarantine_to" value="{tmpl_var name='other_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
-                                    </div>
-            -->
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm
deleted file mode 100644
index 34577c8794..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="spam_tag_level">{tmpl_var name='spam_tag_level_txt'}</label>
-                <input name="spam_tag_level" id="spam_tag_level" value="{tmpl_var name='spam_tag_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_tag2_level">{tmpl_var name='spam_tag2_level_txt'}</label>
-                <input name="spam_tag2_level" id="spam_tag2_level" value="{tmpl_var name='spam_tag2_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_kill_level">{tmpl_var name='spam_kill_level_txt'}</label>
-                <input name="spam_kill_level" id="spam_kill_level" value="{tmpl_var name='spam_kill_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_dsn_cutoff_level">{tmpl_var name='spam_dsn_cutoff_level_txt'}</label>
-                <input name="spam_dsn_cutoff_level" id="spam_dsn_cutoff_level" value="{tmpl_var name='spam_dsn_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_quarantine_cutoff_level">{tmpl_var name='spam_quarantine_cutoff_level_txt'}</label>
-                <input name="spam_quarantine_cutoff_level" id="spam_quarantine_cutoff_level" value="{tmpl_var name='spam_quarantine_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_modifies_subj">{tmpl_var name='spam_modifies_subj_txt'}</label>
-                <select name="spam_modifies_subj" id="spam_modifies_subj" class="selectInput formLengthBool">
-                    {tmpl_var name='spam_modifies_subj'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_subject_tag">{tmpl_var name='spam_subject_tag_txt'}</label>
-                <input name="spam_subject_tag" id="spam_subject_tag" value="{tmpl_var name='spam_subject_tag'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="spam_subject_tag2">{tmpl_var name='spam_subject_tag2_txt'}</label>
-                <input name="spam_subject_tag2" id="spam_subject_tag2" value="{tmpl_var name='spam_subject_tag2'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm
deleted file mode 100644
index 7c96208536..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_users">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="priority">{tmpl_var name='priority_txt'}</label>
-                <select name="priority" id="priority" class="selectInput formLengthLimit">
-                    {tmpl_var name='priority'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="policy_id">{tmpl_var name='policy_id_txt'}</label>
-                <select name="policy_id" id="policy_id" class="selectInput">
-                    {tmpl_var name='policy_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="email">{tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="fullname">{tmpl_var name='fullname_txt'}</label>
-                <input name="fullname" id="fullname" value="{tmpl_var name='fullname'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="local">{tmpl_var name='local_txt'}</label>
-                <select name="local" id="local" class="selectInput formLengthBool">
-                    {tmpl_var name='local'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_users_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm
deleted file mode 100644
index 280e7664f8..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_users">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_users_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_local" scope="col"><tmpl_var name="local_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_priority" scope="col"><tmpl_var name="priority_txt"></th>
-                        <th class="tbl_col_policy_id" scope="col"><tmpl_var name="policy_id_txt"></th>
-                        <th class="tbl_col_fullname" scope="col"><tmpl_var name="fullname_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_local"><select name="search_local">{tmpl_var name='search_local'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
-                        <td class="tbl_col_policy_id"><select name="search_policy_id">{tmpl_var name='search_policy_id'}</select></td>
-                        <td class="tbl_col_fullname"><input type="text" name="search_fullname" value="{tmpl_var name='search_fullname'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_users_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_local"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="local"}</a></td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
-                        <td class="tbl_col_policy_id"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="policy_id"}</a></td>
-                        <td class="tbl_col_fullname"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="fullname"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm
deleted file mode 100644
index 0d31b7af5c..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_whitelist">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <!--
-                  <div class="ctrlHolder">
-                    <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                    <select name="server_id" id="server_id" class="selectInput">
-                                                    {tmpl_var name='server_id'}
-                                            </select>
-                  </div>
-            -->
-            <div class="ctrlHolder">
-                <label for="rid">{tmpl_var name='rid_txt'}</label>
-                <select name="rid" id="rid" class="selectInput">
-                    {tmpl_var name='rid'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="email">{tmpl_var name='email_txt'}</label>
-                <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="priority">{tmpl_var name='priority_txt'}</label>
-                <select name="priority" id="priority" class="selectInput formLengthHalf">
-                    {tmpl_var name='priority'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_whitelist_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mail/spamfilter_whitelist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm
deleted file mode 100644
index 6c7ff3d834..0000000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_whitelist">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_whitelist_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_priority" scope="col"><tmpl_var name="priority_txt"></th>
-                        <th class="tbl_col_rid" scope="col"><tmpl_var name="rid_txt"></th>
-                        <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
-                        <td class="tbl_col_rid"><select name="search_rid">{tmpl_var name='search_rid'}</select></td>
-                        <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_whitelist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
-                            <td class="tbl_col_rid"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rid"}</a></td>
-                            <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_whitelist_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm b/interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm
deleted file mode 100644
index b4f3c1e2f6..0000000000
--- a/interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_user_quota_stats">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
-                        <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
-                        <th class="" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
-                        <th class="" scope="col" style="text-align:right;"><tmpl_var name="quota_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_domain"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
-                        <td class="tbl_col_system_user"><input type="text" name="search_system_user" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_system_user">&nbsp;</td>
-                        <td class="tbl_col_system_user">&nbsp;</td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons">
-                                <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/user_quota_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button>
-                            </div>
-                        </td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
-                            <td class="tbl_col_name"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
-                            <td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
-                            <td class="tbl_col_limit" style="text-align:right;"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="quota"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    &nbsp;
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mailuser/index.htm b/interface/web/themes/default-304/templates/mailuser/index.htm
deleted file mode 100644
index c320253e16..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/index.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_mailuser">
-
-  <div class="pnl_formsarea">
-    <fieldset class="inlineLabels">
-        <div class="ctrlHolder">
-            <p class="label">{tmpl_var name='email_txt'}</p>
-            <p class="value">{tmpl_var name='email'}</p>
-        </div>
-        <div class="ctrlHolder">
-            <p class="label">{tmpl_var name='login_txt'}</p>
-            <p class="value">{tmpl_var name='login'}</p>
-        </div>
-        <div class="ctrlHolder">
-            <p class="label">{tmpl_var name='server_address_txt'}</p>
-            <p class="value">{tmpl_var name='server_name'}</p>
-        </div>
-        <div class="ctrlHolder">
-            <p class="label">{tmpl_var name='quota_txt'}</p>
-            <p class="value">{tmpl_var name='quota'}</p>
-        </div>
-        <div class="ctrlHolder">
-            <p class="label">{tmpl_var name='cc_txt'}</p>
-            <p class="value">{tmpl_var name='cc'}</p>
-        </div>
-        <div class="buttonHolder buttons">
-            &nbsp;
-        </div>
-    </fieldset>
-  </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm
deleted file mode 100644
index 271fca1035..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_autoresponder">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="autoresponder_subject">{tmpl_var name='autoresponder_subject_txt'}</label>
-                <input type="text" name="autoresponder_subject" id="autoresponder_subject" maxlength='250' value="{tmpl_var name='autoresponder_subject'}" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_text">{tmpl_var name='autoresponder_text_txt'}</label>
-                <textarea name="autoresponder_text" id="autoresponder_text" rows='15' cols='30'>{tmpl_var name='autoresponder_text'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder">{tmpl_var name='autoresponder_active'}</label>
-                <input type="checkbox" value="y" id="autoresponder" name="autoresponder" onclick="AR_ResetDates();" {tmpl_var name='ar_active'} />
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_start_date">{tmpl_var name='autoresponder_start_date_txt'}</label>
-                {tmpl_var name='autoresponder_start_date'}&nbsp;
-                <a href="javascript:AR_SetNow();">{tmpl_var name='now_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <label for="autoresponder_end_date">{tmpl_var name='autoresponder_end_date_txt'}</label>
-                {tmpl_var name='autoresponder_end_date'}
-            </div>
-        </fieldset>
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_autoresponder_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm
deleted file mode 100644
index 089f824301..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_cc">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='email_txt'}</p>
-                <p class="value">{tmpl_var name='email'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="name">{tmpl_var name='cc_txt'}</label>
-                <input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> &nbsp; {tmpl_var name='name_optional_txt'}
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_cc_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm
deleted file mode 100644
index a9113c2f65..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_filter">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
-                <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255"  class="textInput">
-            </div>
-            <div class="ctrlHolder">
-                <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
-                <select id="source" name="source"  class="textInput formLengthHalf">{tmpl_var name='source'}</select>
-                <select id="op" name="op"  class="textInput formLengthHalf">{tmpl_var name='op'}</select>
-                <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255"  class="textInput">
-            </div>
-            <div class="ctrlHolder">
-                <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
-                <select id="action" name="action" class="textInput formLengthHalf">{tmpl_var name='action'}</select>
-                <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255"  class="textInput formLengthHalf">
-            </div>
-            <div class="ctrlHolder">
-                <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
-                <span class="">{tmpl_var name='active'}</span>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-        <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_filter_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mailuser/mail_user_filter_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm
deleted file mode 100644
index b8501e8dde..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mailuser_filter">
-    
-  <div class="pnl_toolsarea">
-    <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-      <div class="buttons">
-        <button class="iconstxt icoAdd" type="button" onClick="loadContent('mailuser/mail_user_filter_edit.php');">
-          <span>{tmpl_var name="add_new_record_txt"}</span>
-        </button>
-      </div>
-    </fieldset>
-  </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                <tr>
-                    <th class="tbl_col_rulename" scope="col"><tmpl_var name="rulename_txt"></th>
-                    <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_rulename"><input type="text" name="search_rulename" value="{tmpl_var name='search_rulename'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                    <td class="tbl_col_rulename"><a href="#" onClick="loadContent('mailuser/mail_user_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rulename"}</a></td>
-                    <td class="tbl_col_buttons">
-                    <div class="buttons icons16">    
-                        <a class="icons16 icoDelete" href="javascript: del_record('mailuser/mail_user_filter_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                    </div>
-                    </td>
-                </tr>
-                </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm
deleted file mode 100644
index ed49c1654b..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_password">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='email_txt'}</p>
-                <p class="value">{tmpl_var name='email'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_password_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm
deleted file mode 100644
index eaa59e9503..0000000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_spamfilter">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='email_txt'}</p>
-                <p class="value">{tmpl_var name='email'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="policy">{tmpl_var name='policy_txt'}</label>
-                <select name="policy" id="policy" class="selectInput">
-                    {tmpl_var name='policy'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_spamfilter_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm
deleted file mode 100644
index 7f227e18af..0000000000
--- a/interface/web/themes/default-304/templates/main.tpl.htm
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-    <head>
-        <title><tmpl_var name="app_title"> <tmpl_var name="app_version"></title>
-        <meta http-equiv="Content-Type" content="text/html; charset=<tmpl_var name="html_content_encoding">"/>
-        <meta http-equiv="X-UA-Compatible" content="IE=8"/>
-        <link href="themes/default/css/central.css" rel="stylesheet" type="text/css"/>
-        <!--[if lte IE 7]>
-                <link href="themes/default/css/patches/central.css" rel="stylesheet" type="text/css" />
-        <![endif]-->
-        <!--[if lte ie 6]>
-          <style type="text/css" media="screen">
-            /*
-            Move these to your IE specific stylesheet if possible
-            */
-            .uniForm,
-            .uniForm fieldset,
-            .uniForm .ctrlHolder,
-            .uniForm .formHint,
-            .uniForm .buttonHolder, 
-            .uniForm .ctrlHolder .multiField,
-            .uniForm .inlineLabel{ zoom:1; }
-                
-            .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
-            .uniForm .blockLabels label, .uniForm .blockLabels .label,
-            .uniForm .inlineLabel span{ padding-bottom: .2em; }
-                
-            .uniForm .inlineLabel input,
-            .uniForm .inlineLabels .inlineLabel input,
-            .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
-          </style>
-        <![endif]-->
-        <!--[if gt ie 6]>
-          <style type="text/css" media="screen">
-            /*
-            Move these to your IE specific stylesheet if possible
-            */
-            .uniForm,
-            .uniForm fieldset,
-            .uniForm .ctrlHolder,
-            .uniForm .formHint,
-            .uniForm .buttonHolder, 
-            .uniForm .ctrlHolder .multiField,
-            .uniForm .inlineLabel{ zoom:1; }
-                
-            .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
-            .uniForm .blockLabels label, .uniForm .blockLabels .label,
-            .uniForm .inlineLabel span{ padding-bottom: .2em; }
-                
-            .uniForm .inlineLabel input,
-            .uniForm .inlineLabels .inlineLabel input,
-            .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
-          </style>
-        <![endif]-->
-        <link href="themes/default/css/screen/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css"/>
-        <link href="themes/default/css/screen/jquery-ui-custom.css" rel="stylesheet" type="text/css"/>
-        <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
-        <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
-        <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
-        <script type="text/javascript" src="js/scrigo.js.php"></script>
-        <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
-        <script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
-        <script type="text/javascript" src="js/jquery.tipsy.js"></script>
-        <script language="JavaScript" type="text/javascript">
-            var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
-            if(!is_chrome && getInternetExplorerVersion() > 8.0) {
-                var style = document.createElement('style');
-                style.innerHTML = '#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}';
-                document.getElementsByTagName("head")[0].appendChild(style);
-            }
-            
-            jQuery(document).ready(function() {
-                loadInitContent();
-                
-                $("#pageForm").submit(function(e){
-                    //Prevent form submit: e.preventDefault() in lists
-                    if ($(".panel #Filter").length > 0) {
-                        e.preventDefault();
-                    }
-                });
-                
-                jQuery('.subsectiontoggle').live("click", function(){
-                    jQuery(this).children().toggleClass('showing').end().next().slideToggle();
-                });
-                
-                jQuery('#globalsearch').ispconfigSearch({
-                    dataSrc: '/dashboard/ajax_get_json.php?type=globalsearch',
-                    resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-                    noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-                    noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-                    searchFieldWatermark: '<tmpl_var name="globalsearch_searchfield_watermark_txt">'
-                });
-                
-                jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
-				
-				tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
-                tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
-                tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
-                tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
-            });
-            
-            
-            jQuery(document).bind("change", function(event) {
-                var elName = event.target.localName;
-                if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
-                    event.preventDefault();
-                    jQuery(".panel #Filter").trigger('click');
-                }
-                if(elName == 'select' || elName == 'input' || elName == 'textarea') {
-                    // set marker that something was changed
-                    pageFormChanged = true;
-                }
-            });
-            
-            jQuery(document).bind("keypress", function(event) {
-                //Use jQuery submit with keypress Enter in panel filterbar
-                if (event.which == '13' && jQuery(".panel #Filter").length > 0) {
-                    event.preventDefault();
-                    jQuery(".panel #Filter").trigger('click');
-                }
-                //Use jQuery submit with keypress Enter in forms
-                if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
-                    event.preventDefault();
-                    jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
-                }
-            });
-        </script>
-    </head>
-    <body>
-        <div id="page_margins">
-            <div id="page">
-                <div id="header">
-                    <div id="topsubnav">
-                        <!-- start: skip link navigation -->
-                        <a class="skip" href="#navigation" title="skip link">Skip to the navigation</a><span class="hideme">.</span>
-                        <a class="skip" href="#content" title="skip link">Skip to the content</a><span class="hideme">.</span>
-                        <!-- end: skip link navigation -->
-                        <tmpl_if name="cpuser">
-                            <span><a href="#logout" onclick="loadContent('login/logout.php');"><tmpl_var format="strtoupper" name="logout_txt"> <tmpl_var format="strtoupper" name="cpuser"></a><!-- | <a href="#" onclick="capp('help')">Help</a> | <a href="#">Imprint</a>--></span>
-                            <tmpl_if name='usertype' op='==' value='normaluser'><input type="text" id="globalsearch" size="25" value="" /></tmpl_if>
-                        </tmpl_if>
-                    </div>
-                    <h1 id="ir-HeaderLogo" class="swap" style="background-image:url('{tmpl_var name='app_logo'}');"><span>ISPConfig 3</span></h1>
-                    <span>hosting control panel</span>
-                </div>
-                <!-- begin: main navigation #nav -->
-                <div id="nav">
-                    <a id="navigation" name="navigation"></a>
-                    <!-- skiplink anchor: navigation -->
-                    <div id="nav_main">
-                        <div id="topNav">&nbsp;</div>
-                    </div>
-                </div>
-                <!-- end: main navigation -->
-                <!-- begin: main content area #main -->
-                <div id="main">
-                    <!-- begin: #col1 - first float column -->
-                    <div id="col1">
-                        <div id="col1_content" class="clearfix">
-                            <div id="sideNav">&nbsp;</div>
-                        </div>
-                    </div>
-                    <!-- end: #col1 -->
-                    <!-- begin: #col3 static column -->
-                    <div id="col3">
-                        <div id="col3_content" class="clearfix">
-                            <a id="content" name="content"></a>
-                            <!-- skiplink anchor: Content -->
-                            <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
-								<input type="text" style="display:none" /><input type="password" style="display:none"/>
-                                <div id="pageContent"><!-- AJAX CONTENT --></div>
-                            </form>
-                        </div>
-                        <div id="ie_clearing">&nbsp;</div>
-                        <!-- End: IE Column Clearing -->
-                    </div>
-                    <!-- end: #col3 -->
-                </div>
-                <!-- end: #main -->
-                <!-- begin: #footer -->
-                <div id="footer">
-                    Powered by <a href="<tmpl_var name="app_link">" target="_blank"><tmpl_var name="app_title"></a>
-                </div><!-- end: #footer -->
-            </div>
-        </div>
-    </body>
-</html>
diff --git a/interface/web/themes/default-304/templates/module.tpl.htm b/interface/web/themes/default-304/templates/module.tpl.htm
deleted file mode 100644
index f8a26defc6..0000000000
--- a/interface/web/themes/default-304/templates/module.tpl.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<tr>
-    <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif">&nbsp;</td>
-    <td rowspan="3" class="mainContent">
-        <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0">
-            <tr>
-                <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td>
-            </tr>
-        </table>
-    </td>
-</tr>
-<tr>
-    <td width="128" align="right" valign="top" bgcolor="#DEE4F2">
-        <table width="128" border="0" cellspacing="0" cellpadding="2">
-            <tr>
-                <td height="10">&nbsp;</td>
-            </tr>
-            <tr>
-                <td align="center">
-                    <tmpl_loop name="nav_left">
-                        <table bgcolor="#F4F6FB" width="115">
-                            <tr>
-                                <td class="navLeftHead"><tmpl_var name="title"></td>
-                            </tr>
-                            <tr>
-                                <td>
-                                    <tmpl_loop name="items">
-                                        <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br>
-                                    </tmpl_loop>
-                                </td>
-                            </tr>
-                        </table>
-                        <br />
-                    </tmpl_loop>
-                </td>   
-            </tr>
-        </table>
-    </td>
-</tr>
-<tr>
-    <td align="left" valign="bottom" bgcolor="#DEE4F2">&nbsp;</td>
-</tr>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/module_tree.tpl.htm b/interface/web/themes/default-304/templates/module_tree.tpl.htm
deleted file mode 100644
index be213819d0..0000000000
--- a/interface/web/themes/default-304/templates/module_tree.tpl.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<tr>
-    <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif">&nbsp;</td>
-    <td rowspan="3" class="mainContent">
-        <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0">
-            <tr>
-                <td width="200"><iframe height="100%" width="100%" frameborder="0" name="navframe" src="{tmpl_var name="navframe_page"}"></iframe></td>
-                <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td>
-            </tr>
-        </table>
-    </td>
-</tr>
-<tr>
-    <td width="128" align="right" valign="top" bgcolor="#DEE4F2">
-        <table width="128" border="0" cellspacing="0" cellpadding="2">
-            <tr>
-                <td height="10">&nbsp;</td>
-            </tr>
-            <tr>
-                <td align="center">
-                    <tmpl_loop name="nav_left">
-                        <table bgcolor="#F4F6FB" width="115">
-                            <tr>
-                                <td class="navLeftHead"><tmpl_var name="title"></td>
-                            </tr>
-                            <tr>
-                                <td>
-                                    <tmpl_loop name="items">
-                                        <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br>
-                                    </tmpl_loop>
-                                </td>
-                            </tr>
-                        </table>
-                        <br />
-                    </tmpl_loop>
-                </td>
-            </tr>
-        </table>
-    </td>
-</tr>
-<tr>
-    <td align="left" valign="bottom" bgcolor="#DEE4F2">&nbsp;</td>
-</tr>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/datalog_list.htm b/interface/web/themes/default-304/templates/monitor/datalog_list.htm
deleted file mode 100644
index 158a5a84a1..0000000000
--- a/interface/web/themes/default-304/templates/monitor/datalog_list.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_datalog">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
-                        <th class="tbl_col_dbtable" scope="col"><tmpl_var name="dbtable_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_tstamp">&nbsp;</td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_action"><select name="search_action">{tmpl_var name='search_action'}</select></td>
-                        <td class="tbl_col_dbtable"><input type="text" name="search_dbtable" value="{tmpl_var name='search_dbtable'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','monitor/datalog_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_tstamp">{tmpl_var name="tstamp"}</td>
-                            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
-                            <td class="tbl_col_action">{tmpl_var name="action"}</td>
-                            <td class="tbl_col_dbtable">{tmpl_var name="dbtable"}</td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <!--<a class="icons16 icoDelete" href="javascript: del_record('monitor/datalog_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a> -->
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/show_data.htm b/interface/web/themes/default-304/templates/monitor/show_data.htm
deleted file mode 100644
index 818208d647..0000000000
--- a/interface/web/themes/default-304/templates/monitor/show_data.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system">
-
-    <div class="pnl_formarea">
-        <fieldset><legend><tmpl_var name="monTransDate"><tmpl_var name="time"></legend>
-            <div class="systemmonitor"><tmpl_var name="output"></div>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/show_log.htm b/interface/web/themes/default-304/templates/monitor/show_log.htm
deleted file mode 100644
index 271d46bf59..0000000000
--- a/interface/web/themes/default-304/templates/monitor/show_log.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_logview">
-
-    <div class="pnl_toolsarea">
-        <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend>
-            <div class="buttons">
-                <div class="ctrlHolder">
-                    <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label>
-                    <select name="refreshinterval" id="refreshinterval" class="selectInput" onChange="loadContentRefresh('monitor/show_log.php?log={tmpl_var name="log_id"}')">
-                        {tmpl_var name='refresh'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-    </div>
-  
-    <div class="pnl_formarea">
-        <fieldset><legend><tmpl_var name="monTransDate"><tmpl_var name="time"></legend>
-            <div class="codeview"><tmpl_var name="log_data"></div>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/show_sys_state.htm b/interface/web/themes/default-304/templates/monitor/show_sys_state.htm
deleted file mode 100644
index 9a5830c19c..0000000000
--- a/interface/web/themes/default-304/templates/monitor/show_sys_state.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_sys_state">
-
-    <div class="pnl_toolsarea">
-        <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend>
-            <div class="buttons">
-                <div class="ctrlHolder">
-                    <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label>
-                    <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')">
-                        {tmpl_var name='refresh'}
-                    </select>
-                </div>
-            </div>
-        </fieldset>
-    </div>
-  
-    <div class="pnl_formarea">
-        <fieldset><legend></legend>
-            <div class="stateview"><tmpl_var name="state_data"></div>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/syslog_list.htm b/interface/web/themes/default-304/templates/monitor/syslog_list.htm
deleted file mode 100644
index e3d18cb318..0000000000
--- a/interface/web/themes/default-304/templates/monitor/syslog_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_syslog">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_loglevel" scope="col"><tmpl_var name="loglevel_txt"></th>
-                        <th class="tbl_col_message" scope="col"><tmpl_var name="message_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_tstamp">&nbsp;</td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_loglevel"><select name="search_loglevel">{tmpl_var name='search_loglevel'}</select></td>
-                        <td class="tbl_col_message"><input type="text" name="search_message" value="{tmpl_var name='search_message'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','monitor/log_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_tstamp">{tmpl_var name="tstamp"}</td>
-                            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
-                            <td class="tbl_col_loglevel">{tmpl_var name="loglevel"}</td>
-                            <td class="tbl_col_message">{tmpl_var name="message"}</td>
-                            <td class="tbl_col_buttons">
-                                <tmpl_if name="loglevel" op="==" value="Error">
-                                    <div class="buttons icons16">
-                                        <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                    </div>
-                                </tmpl_if>
-                                <tmpl_if name="loglevel" op="==" value="Warning">
-                                    <div class="buttons icons16">
-                                        <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                    </div>
-                                </tmpl_if>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                <tr>
-                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sidenav.tpl.htm b/interface/web/themes/default-304/templates/sidenav.tpl.htm
deleted file mode 100644
index a5051cf3a5..0000000000
--- a/interface/web/themes/default-304/templates/sidenav.tpl.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<ul id="submenu">
-    <tmpl_loop name="nav_left">
-        <li class="title">
-        <tmpl_if name="startpage">
-            <a href="#" onClick="loadContent('<tmpl_var name='startpage'>')">
-        </tmpl_if>
-        <tmpl_var name="title">
-            <tmpl_if name="startpage">
-                </a>
-            </tmpl_if>
-        </li>
-            <tmpl_loop name="items">
-                <li <tmpl_if name="html_id"> id='<tmpl_var name="html_id">' </tmpl_if>>
-                    <tmpl_if name="link">
-                        <a href="#" onClick="loadContent('<tmpl_var name='link'>')">
-                    </tmpl_if>
-                    <tmpl_var name="title">
-                    <tmpl_if name="link">
-                        </a>
-                    </tmpl_if>
-                </li>
-            </tmpl_loop>
-    </tmpl_loop>
-</ul>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/aps_install_package.htm b/interface/web/themes/default-304/templates/sites/aps_install_package.htm
deleted file mode 100644
index eeed54f970..0000000000
--- a/interface/web/themes/default-304/templates/sites/aps_install_package.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2>
-    {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'}
-    <span style="float:right">
-        <tmpl_if name='pkg_icon' op='!=' value=''>
-            <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> 
-        </tmpl_if>
-    </span>
-</h2>
-    
-<tmpl_if name='error'>
-    <div id="errorMsg"><h3>ERROR</h3><ol>{tmpl_var name='error'}</ol></div>
-</tmpl_if>
-
-<div class="panel panel_install_package">
-    
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <legend>{tmpl_var name='basic_settings_txt'}</legend>
-            <div class="ctrlHolder">
-                <label for="main_domain">{tmpl_var name='install_location_txt'}</label>
-                <div class="resetButton">http(s)://&nbsp;</div>DOMAIN_LIST_SPACE<div style="float:left;">&nbsp;/&nbsp;</div>
-                <input type="text" name="main_location" id="main_location" value="{tmpl_var name='inp_main_location'}" maxlength="255" class="textInput formLengthHalf" />
-            </div>
-            <tmpl_if name='pkg_requirements_database' op='!=' value=''>
-                <div class="ctrlHolder">
-                    <label for="main_database_password">{tmpl_var name='new_database_password_txt'}</label>
-                    <input type="text" class="textInput" name="main_database_password" id="main_database_password" value="{tmpl_var name='inp_main_database_password'}" size="10" maxlength="255" />
-                </div>
-            </tmpl_if>
-                
-            PKG_SETTINGS_SPACE
-                
-            <legend>{tmpl_var name='license_txt'}</legend>
-            <div class="ctrlHolder">
-                <label for="license">{tmpl_var name='license_txt'}</label>
-                <tmpl_if name='pkg_license_content' op='==' value=''>{tmpl_var name='pkg_license_name'}<br /></tmpl_if>
-                <tmpl_if name='pkg_license_type' op='==' value='url'>
-                    <a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a>
-                    <tmpl_elseif name='pkg_license_content'>
-                        <textarea rows="10" cols="80" id="license_text">{tmpl_var name='pkg_license_content'}</textarea>
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="license">{tmpl_var name='acceptance_txt'}</label>
-                <input type="checkbox" name="license" id="license" <tmpl_if name='inp_license' op='==' value='true'>checked</tmpl_if> />&nbsp;&nbsp;{tmpl_var name='acceptance_text'}
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="install" value="0" />
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_install'}" name="btn_install" onClick="document.pageForm.install.value=1; submitForm('pageForm','sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"><span>{tmpl_var name='btn_install'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel'}" onClick="loadContent('aps/availablepackages_list.php');"><span>{tmpl_var name='btn_cancel'}</span></button>
-        </div>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/aps_instances_list.htm b/interface/web/themes/default-304/templates/sites/aps_instances_list.htm
deleted file mode 100644
index 6f4ab80e87..0000000000
--- a/interface/web/themes/default-304/templates/sites/aps_instances_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2>{tmpl_var name="list_head_txt"}</h2>
-
-<div class="panel panel_list_instances">
-    
-    <div class="pnl_listarea">
-        <fieldset><legend>{tmpl_var name="list_head_txt"}</legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th>
-                        <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th>
-                        <tmpl_if name='is_noclient'>
-                        <th class="tbl_col_customer" scope="col">{tmpl_var name='customer_txt'}</th>
-                        </tmpl_if>
-                        <th class="tbl_col_installlocation" scope="col">{tmpl_var name='install_location_txt'}</th>
-                        <th class="tbl_col_instancestatus" scope="col">{tmpl_var name='status_txt'}</th>
-                        <th class="tbl_col_buttons" scope="col" >&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td>
-                        <tmpl_if name='is_noclient'>
-                        <td class="tbl_col_customer"><input type="text" name="search_customer_name" value="{tmpl_var name='search_customer_name'}" /></td>
-                        </tmpl_if>
-                        <td class="tbl_col_installlocation">&nbsp;</td>
-                        <td class="tbl_col_instancestatus"><select name="search_instance_status" onChange="submitForm('pageForm','sites/aps_installedpackages_list.php');">{tmpl_var name='search_instance_status'}</select></td>
-                        <td class="tbl_col_buttons">
-                        <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_installedpackages_list.php');">
-                            <span>{tmpl_var name='filter_txt'}</span>
-                        </button>
-                        </td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name='records'>
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='package_name'}</a></td>
-                            <td class="tbl_col_version">{tmpl_var name='package_version'}-{tmpl_var name='package_release'}</td>
-                            <tmpl_if name='is_noclient'>
-                                <td class="tbl_col_customer"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='CustomerID'}');">{tmpl_var name='customer_name'}</a></td>
-                            </tmpl_if>
-                            <td class="tbl_col_installlocation"><a href="http://{tmpl_var name='install_location'}" target="_blank">{tmpl_var name='install_location_short'}</a></td>
-                            <td class="tbl_col_instancestatus"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='instance_status'}</span></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16" style="width:60px;">
-                                    <tmpl_if name='delete_possible'><a class="icons16 icoDelete" href="javascript:if(window.confirm('{tmpl_var name='pkg_delete_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=delete_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if>
-                                    <tmpl_if name='reinstall_possible'><a class="icons16 icoEdit" href="javascript:if(window.confirm('{tmpl_var name='pkg_reinstall_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=reinstall_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='reinstall_txt'}</span></a></tmpl_if>
-                                </div>
-                            </td>        
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6">{tmpl_var name='paging'}</td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm b/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm
deleted file mode 100644
index 18a6fc9e96..0000000000
--- a/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm
+++ /dev/null
@@ -1,139 +0,0 @@
-<h2>
-    <tmpl_if name='pkg_icon' op='!=' value=''>
-        <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> 
-    </tmpl_if>
-    {tmpl_var name='pkg_name'}
-</h2>
-<b>{tmpl_var name='pkg_summary'}</b>
-<p>&nbsp;</p>
-
-<div class="pnl_toolsarea">
-    <div class="buttons">
-        <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');">
-            <span>{tmpl_var name='install_package_txt'}</span>
-        </button>
-    </div>
-    <p>&nbsp;</p><p>&nbsp;</p>
-</div>
-
-
-<div class="tabbox_tabs">
-    <input type="hidden" name="next_tab" value="" />
-    <ul>
-        <li<tmpl_if name='next_tab' op='==' value='details'> class="active"</tmpl_if>>
-            <a href="javascript:changeTab('details', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='details_txt'}</a>
-        </li>
-        <tmpl_if name='pkg_screenshots'>
-        <li<tmpl_if name='next_tab' op='==' value='screenshots'> class="active"</tmpl_if>>
-            <a href="javascript:changeTab('screenshots', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='screenshots_txt'}</a>
-        </li></tmpl_if>
-        <tmpl_if name='pkg_changelog'>
-        <li<tmpl_if name='next_tab' op='==' value='changelog'> class="active"</tmpl_if>>
-            <a href="javascript:changeTab('changelog', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='changelog_txt'}</a>
-        </li></tmpl_if>
-        <li<tmpl_if name='next_tab' op='==' value='settings'> class="active"</tmpl_if>>
-            <a href="javascript:changeTab('settings', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='settings_txt'}</a>
-        </li>
-    </ul>
-</div>
-<p>&nbsp;</p>
-
-<div class="panel panel_list_packages">
-    
-    <div class="pnl_listarea">
-        <table class="list">
-            <tbody>
-                <tmpl_if name='next_tab' op='==' value='details'>
-                    <tr class="tbl_row_uneven">
-                        <td width="25%">{tmpl_var name='version_txt'}</td>
-                        <td>{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='category_txt'}</td>
-                        <td>{tmpl_var name='pkg_category'}</td>
-                    </tr>
-                    <tr class="tbl_row_uneven">
-                        <td>{tmpl_var name='description_txt'}</td>
-                        <td>{tmpl_var name='pkg_description'}</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='homepage_txt'}</td>
-                        <td>
-                            <a href="{tmpl_var name='pkg_homepage'}" target="_blank">{tmpl_var name='pkg_homepage'}</a>
-                        </td>
-                    </tr>
-                    <tr class="tbl_row_uneven">
-                        <td>{tmpl_var name='installed_size_txt'}</td>
-                        <td>{tmpl_var name='pkg_installed_size'}</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='supported_languages_txt'}</td>
-                        <td>{tmpl_var name='pkg_languages'}</td>
-                    </tr>
-                    <tr class="tbl_row_uneven">
-                        <td>{tmpl_var name='config_script_txt'}</td>
-                        <td>{tmpl_var name='pkg_config_script'}</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='license_txt'}</td>
-                        <td>
-                            <tmpl_if name='pkg_license_name'>{tmpl_var name='pkg_license_name'}<br /></tmpl_if>
-                            <tmpl_if name='pkg_license_type' op='==' value='url'><a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a>
-                            <tmpl_elseif name='pkg_license_content'>
-                                <textarea rows="10" cols="80">{tmpl_var name='pkg_license_content'}</textarea>
-                            </tmpl_if>
-                        </td>
-                    </tr>
-                <tmpl_elseif name='next_tab' op='==' value='screenshots'>
-                    <tmpl_if name='pkg_screenshots'>
-                        <tr class="tbl_row_even">
-                            <td style="text-align:center;">
-                                <tmpl_loop name='pkg_screenshots'>
-                                    <img src="{tmpl_var name='ScreenPath'}" alt="{tmpl_var name='ScreenDescription'}" /><br />
-                                    <em>{tmpl_var name='ScreenDescription'}</em><br /><br />
-                                </tmpl_loop>
-                            </td>
-                        </tr>
-                    </tmpl_if>
-                <tmpl_elseif name='next_tab' op='==' value='changelog'>
-                    <tmpl_if name='pkg_changelog'>
-                        <tr class="tbl_row_even">
-                            <td>
-                                <ul>
-                                    <tmpl_loop name='pkg_changelog'>
-                                    <li>{tmpl_var name='ChangelogVersion'}</li>
-                                <ul>
-                                    <tmpl_if name='ChangelogDescription'>
-                                    <li>{tmpl_var name='ChangelogDescription'}</li>
-                                    </tmpl_if>
-                                </ul>
-                                    </tmpl_loop>
-                                </ul>
-                            </td>
-                        </tr>
-                    </tmpl_if>
-                <tmpl_elseif name='next_tab' op='==' value='settings'>
-                    <tr class="tbl_row_uneven">
-                        <td width="25%">{tmpl_var name='php_extensions_txt'}</td>
-                        <td>{tmpl_var name='pkg_requirements_php_extensions'}</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='php_settings_txt'}</td>
-                        <td>
-                            <tmpl_loop name='pkg_requirements_php_settings'>{tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}<br /></tmpl_loop>
-                        </td>
-                    </tr>
-                    <tr class="tbl_row_uneven">
-                        <td>{tmpl_var name='supported_php_versions_txt'}</td>
-                        <td>{tmpl_var name='pkg_requirements_supported_php_versions'}</td>
-                    </tr>
-                    <tr class="tbl_row_even">
-                        <td>{tmpl_var name='database_txt'}</td>
-                        <td>{tmpl_var name='pkg_requirements_database'}</a></td>
-                    </tr>
-                </tmpl_if>
-            </tbody>
-        </table>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/aps_packages_list.htm b/interface/web/themes/default-304/templates/sites/aps_packages_list.htm
deleted file mode 100644
index fe99743039..0000000000
--- a/interface/web/themes/default-304/templates/sites/aps_packages_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2>{tmpl_var name="list_head_txt"}</h2>
-
-<div class="panel panel_list_packages">
-    
-    <div class="pnl_listarea">
-        <fieldset><legend>{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})</legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th>
-                        <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th>
-                        <th class="tbl_col_category" scope="col">{tmpl_var name='category_txt'}</th>
-                            <tmpl_if name='is_admin'>
-                                <th class="tbl_col_status" scope="col">{tmpl_var name='status_txt'}</th>
-                            </tmpl_if>
-                        <th class="tbl_col_buttons" scope="col" width="60px;">&nbsp;</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
-                        <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td>
-                        <td class="tbl_col_customerid"><select name="search_category" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_category'}</select></td>
-                            <tmpl_if name='is_admin'>
-                                <td class="tbl_col_status"><select name="search_package_status" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_package_status'}</select></td>
-                            </tmpl_if>
-                        <td class="tbl_col_buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_availablepackages_list.php');"><span>{tmpl_var name='filter_txt'}</span></button></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name='records'>
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='id'}');">{tmpl_var name='name'}</a></td>
-                            <td class="tbl_col_version">{tmpl_var name='version'}-{tmpl_var name='release'}</td>
-                            <td class="tbl_col_category">{tmpl_var name='category'}</td>
-                                <tmpl_if name='is_admin'>
-                                    <td class="tbl_col_status"><a href="javascript:loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=change_status&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='package_status'}</span></a></td>
-                                </tmpl_if>
-                            <td>&nbsp;</td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5">{tmpl_var name='paging'}</td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/cron_edit.htm b/interface/web/themes/default-304/templates/sites/cron_edit.htm
deleted file mode 100644
index 7d47b4e277..0000000000
--- a/interface/web/themes/default-304/templates/sites/cron_edit.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_cron">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Cron Job</legend>
-            <div class="ctrlHolder">
-                <tmpl_if name="edit_disabled">
-                    <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                    <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
-                        {tmpl_var name='parent_domain_id'}
-                    </select>
-                    <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
-                    <tmpl_else>
-                        <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                        <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                            {tmpl_var name='parent_domain_id'}
-                        </select>
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="run_min">{tmpl_var name='run_min_txt'}</label>
-                <input name="run_min" id="run_min" value="{tmpl_var name='run_min'}" size="10" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. *, */3, 10-20</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="run_hour">{tmpl_var name='run_hour_txt'}</label>
-                <input name="run_hour" id="run_hour" value="{tmpl_var name='run_hour'}" size="10" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. *, */2, 0, 10-12</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="run_mday">{tmpl_var name='run_mday_txt'}</label>
-                <input name="run_mday" id="run_mday" value="{tmpl_var name='run_mday'}" size="10" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. *, */4, 1-5</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="run_month">{tmpl_var name='run_month_txt'}</label>
-                <input name="run_month" id="run_month" value="{tmpl_var name='run_month'}" size="10" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. *, 1-6</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="run_wday">{tmpl_var name='run_wday_txt'}</label>
-                <input name="run_wday" id="run_wday" value="{tmpl_var name='run_wday'}" size="10" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. *, 0, 1-5</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="command">{tmpl_var name='command_txt'}</label>
-                <input name="command" id="command" value="{tmpl_var name='command'}" size="30" maxlength="255" type="text" class="textInput" />
-                <p class="formHint">e.g. /var/www/clients/client1/myscript.sh or http://www.mydomain.com/path/script.php</p>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/cron_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/cron_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/cron_list.htm b/interface/web/themes/default-304/templates/sites/cron_list.htm
deleted file mode 100644
index f822b89ebe..0000000000
--- a/interface/web/themes/default-304/templates/sites/cron_list.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_cron">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/cron_edit.php');">
-                    <span>{tmpl_var name="add_new_cron_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_run_min" scope="col"><tmpl_var name="run_min_txt"></th>
-                        <th class="tbl_col_run_hour" scope="col"><tmpl_var name="run_hour_txt"></th>
-                        <th class="tbl_col_run_mday" scope="col"><tmpl_var name="run_mday_txt"></th>
-                        <th class="tbl_col_run_month" scope="col"><tmpl_var name="run_month_txt"></th>
-                        <th class="tbl_col_run_wday" scope="col"><tmpl_var name="run_wday_txt"></th>
-                        <th class="tbl_col_command" scope="col"><tmpl_var name="command_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_run_min"><input type="text" name="search_run_min" size="1" value="{tmpl_var name='search_run_min'}" /></td>
-                        <td class="tbl_col_run_hour"><input type="text" name="search_run_hour" size="1" value="{tmpl_var name='search_run_hour'}" /></td>
-                        <td class="tbl_col_run_mday"><input type="text" name="search_run_mday" size="1" value="{tmpl_var name='search_run_mday'}" /></td>
-                        <td class="tbl_col_run_month"><input type="text" name="search_run_month" size="1" value="{tmpl_var name='search_run_month'}" /></td>
-                        <td class="tbl_col_run_wday"><input type="text" name="search_run_wday" size="1" value="{tmpl_var name='search_run_wday'}" /></td>
-                        <td class="tbl_col_command"><input type="text" name="search_command" value="{tmpl_var name='search_command'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/cron_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_run_min"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_min"}</a></td>
-                            <td class="tbl_col_run_hour"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_hour"}</a></td>
-                            <td class="tbl_col_run_mday"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_mday"}</a></td>
-                            <td class="tbl_col_run_month"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_month"}</a></td>
-                            <td class="tbl_col_run_wday"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_wday"}</a></td>
-                            <td class="tbl_col_commnd"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="command"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/cron_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="10"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_admin_list.htm b/interface/web/themes/default-304/templates/sites/database_admin_list.htm
deleted file mode 100644
index fda3ba70c8..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_admin_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_database_admin">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
-                        <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
-                        <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td>
-                        <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_database_user"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td>
-                        <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_remote_access"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td>
-                            <td class="tbl_col_sys_groupid"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_database_user"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td>
-                            <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">
-                                    <tmpl_if name="dblist_phpmyadmin_link">
-                                        <a class="icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a>
-                                    </tmpl_if>
-                                    <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_edit.htm b/interface/web/themes/default-304/templates/sites/database_edit.htm
deleted file mode 100644
index 4207a789ff..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_edit.htm
+++ /dev/null
@@ -1,113 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_database">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                        <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                    {tmpl_var name='parent_domain_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="type">{tmpl_var name='type_txt'}</label>
-                <select name="type" id="type" class="selectInput formLengthHalf">
-                    {tmpl_var name='type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="database_name">{tmpl_var name='database_name_txt'}</label>
-                <p class="prefix">{tmpl_var name='database_name_prefix'}</p>
-                <tmpl_if name="edit_disabled">
-                    <input name="database_name" id="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" disabled="disabled" />
-                    <input name="database_name" type="hidden" value="{tmpl_var name='database_name'}" />
-                    <tmpl_else>
-                        <input name="database_name" id="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="database_user_id">{tmpl_var name='database_user_txt'}</label>
-                <select name="database_user_id" id="database_user_id" class="selectInput">
-                    {tmpl_var name='database_user_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="database_ro_user_id">{tmpl_var name='database_ro_user_txt'}</label>
-                <select name="database_ro_user_id" id="database_ro_user_id" class="selectInput">
-                    {tmpl_var name='database_ro_user_id'}
-                </select>&nbsp;{tmpl_var name='optional_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <tmpl_if name="edit_disabled">
-                    <label for="database_charset_disabled">{tmpl_var name='database_charset_txt'}</label>
-                    <select name="database_charset_disabled" id="database_charset_disabled" class="selectInput formLengthHalf" disabled="disabled">
-                        {tmpl_var name='database_charset'}
-                    </select>
-                    <input type="hidden" name="database_charset" value="{tmpl_var name='database_charset_value'}" />
-                    <tmpl_else>
-                        <label for="database_charset">{tmpl_var name='database_charset_txt'}</label>
-                        <select name="database_charset" id="database_charset" class="selectInput formLengthHalf">
-                            {tmpl_var name='database_charset'}
-                        </select>
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='remote_access_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='remote_access'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="remote_ips">{tmpl_var name='remote_ips_txt'}</label>
-                <input name="remote_ips" id="remote_ips" value="{tmpl_var name='remote_ips'}" size="60" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/database_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/database_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery('#remote_ips').ispconfigSearch({
-        dataSrc: '/sites/ajax_get_json.php?type=get_ipv4',
-        resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
-        ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
-        noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
-        noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
-        minChars: 0,
-        cssPrefix: 'df-',
-        fillSearchField: true,
-        fillSearchFieldWith: 'fill_text',
-        searchFieldWatermark: '',
-        resultBoxPosition: 'e'
-    });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_list.htm b/interface/web/themes/default-304/templates/sites/database_list.htm
deleted file mode 100644
index 7b49e87044..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_list.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_database">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
-                        <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_database_user"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td>
-                        <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}"/></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_remote_access"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_database_user"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td>
-                            <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <tmpl_if name="dblist_phpmyadmin_link">
-                                        <a class="icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a>
-                                    </tmpl_if>
-                                    <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/database_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_user_admin_list.htm b/interface/web/themes/default-304/templates/sites/database_user_admin_list.htm
deleted file mode 100644
index c1bee67688..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_user_admin_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_database_user_admin">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_database_user"><input type="text" name="search_database_user" value="{tmpl_var name='search_database_user'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_database_user"><a href="#" onClick="loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">
-                                    <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/database_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="2"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_user_edit.htm b/interface/web/themes/default-304/templates/sites/database_user_edit.htm
deleted file mode 100644
index 40e8c96e82..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_user_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_database_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="database_user">{tmpl_var name='database_user_txt'}</label>
-                <p class="prefix">{tmpl_var name='database_user_prefix'}</p>
-                <input name="database_user" id="database_user" value="{tmpl_var name='database_user'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="database_password">{tmpl_var name='database_password_txt'}</label>
-                <input name="database_password" id="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" type="password" class="textInput formLengthHalf" onkeyup="pass_check(this.value);checkPassMatch('database_password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('database_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('database_password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/database_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/database_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_user_list.htm b/interface/web/themes/default-304/templates/sites/database_user_list.htm
deleted file mode 100644
index 0a0ea1a637..0000000000
--- a/interface/web/themes/default-304/templates/sites/database_user_list.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_database">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_database_user"><input type="text" name="search_database_user" value="{tmpl_var name='search_database_user'}"/></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_database_user"><a href="#" onClick="loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/database_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="2"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm b/interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm
deleted file mode 100644
index 175b5fe5d9..0000000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="uid">{tmpl_var name='uid_txt'}</label>
-                <input name="uid" id="uid" value="{tmpl_var name='uid'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="gid">{tmpl_var name='gid_txt'}</label>
-                <input name="gid" id="gid" value="{tmpl_var name='gid'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dir">{tmpl_var name='dir_txt'}</label>
-                <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="quota_files">{tmpl_var name='quota_files_txt'}</label>
-                <input name="quota_files" id="quota_files" value="{tmpl_var name='quota_files'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">{tmpl_var name='quota_files_unity_txt'}</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ul_ratio">{tmpl_var name='ul_ratio_txt'}</label>
-                <input name="ul_ratio" id="ul_ratio" value="{tmpl_var name='ul_ratio'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="dl_ratio">{tmpl_var name='dl_ratio_txt'}</label>
-                <input name="dl_ratio" id="dl_ratio" value="{tmpl_var name='dl_ratio'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ul_bandwidth">{tmpl_var name='ul_bandwidth_txt'}</label>
-                <input name="ul_bandwidth" id="ul_bandwidth" value="{tmpl_var name='ul_bandwidth'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">kb/s</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="dl_bandwidth">{tmpl_var name='dl_bandwidth_txt'}</label>
-                <input name="dl_bandwidth" id="dl_bandwidth" value="{tmpl_var name='dl_bandwidth'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">kb/s</p>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/ftp_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm b/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm
deleted file mode 100644
index 5918c6d571..0000000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="dir">{tmpl_var name='dir_txt'}</label>
-                <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/ftp_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm b/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm
deleted file mode 100644
index cf900015c9..0000000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                    {tmpl_var name='parent_domain_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <p class="prefix">{tmpl_var name='username_prefix'}</p>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
-                <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/ftp_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_list.htm b/interface/web/themes/default-304/templates/sites/ftp_user_list.htm
deleted file mode 100644
index d455e0d4cd..0000000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_ftp_user">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/ftp_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/ftp_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <tmpl_if name="webftp_link">
-                                        <a class="icons16 icoDbAdmin" href="{tmpl_var name='webftp_url'}" target="_blank"><span>{tmpl_var name='admin_txt'}</span></a>
-                                    </tmpl_if>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/ftp_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/shell_user_advanced.htm b/interface/web/themes/default-304/templates/sites/shell_user_advanced.htm
deleted file mode 100644
index bad78c81c6..0000000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_advanced.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_shell_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="puser">{tmpl_var name='puser_txt'}</label>
-                <input name="puser" id="puser" value="{tmpl_var name='puser'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="pgroup">{tmpl_var name='pgroup_txt'}</label>
-                <input name="pgroup" id="pgroup" value="{tmpl_var name='pgroup'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="shell">{tmpl_var name='shell_txt'}</label>
-                <input name="shell" id="shell" value="{tmpl_var name='shell'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dir">{tmpl_var name='dir_txt'}</label>
-                <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/shell_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/shell_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/shell_user_edit.htm b/interface/web/themes/default-304/templates/sites/shell_user_edit.htm
deleted file mode 100644
index 3cb5d38424..0000000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_edit.htm
+++ /dev/null
@@ -1,72 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_shell_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <tmpl_if name="edit_disabled">
-                    <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                    <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
-                        {tmpl_var name='parent_domain_id'}
-                    </select>
-                    <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
-                <tmpl_else>
-                        <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                        <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                            {tmpl_var name='parent_domain_id'}
-                        </select>
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <p class="prefix">{tmpl_var name='username_prefix'} </p>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput formLengthFourth"/>
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="chroot">{tmpl_var name='chroot_txt'}</label>
-                <select name="chroot" id="chroot" class="selectInput formLengthHalf">
-                    {tmpl_var name='chroot'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
-                <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssh_rsa">{tmpl_var name='ssh_rsa_txt'}</label>
-                <textarea name="ssh_rsa" id="ssh_rsa" rows="10" cols="30">{tmpl_var name='ssh_rsa'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/shell_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/shell_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/shell_user_list.htm b/interface/web/themes/default-304/templates/sites/shell_user_list.htm
deleted file mode 100644
index 9087c6669a..0000000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_shell_user">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/shell_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/shell_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/shell_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm b/interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm
deleted file mode 100644
index adb1e35614..0000000000
--- a/interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_user_quota_stats">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                <tr>
-                    <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                    <th class="tbl_col_system_user" scope="col"><tmpl_var name="system_user_txt"></th>
-                    <th class="" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
-                    <th class="" scope="col" style="text-align:right;"><tmpl_var name="soft_txt"></th>
-                    <th class="" scope="col" style="text-align:right;"><tmpl_var name="hard_txt"></th>
-                    <th class="" scope="col" style="text-align:right;"><tmpl_var name="files_txt"></th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                    <td class="tbl_col_system_user"><input type="text" name="search_system_user" value="{tmpl_var name='search_system_user'}" /></td>
-                    <td class="tbl_col_system_user">&nbsp;</td>
-                    <td class="tbl_col_system_user">&nbsp;</td>
-                    <td class="tbl_col_system_user">&nbsp;</td>
-                    <td class="tbl_col_system_user">&nbsp;</td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/user_quota_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_system_user"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="system_user"}</a></td>
-                            <td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
-                            <td class="tbl_col_soft" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
-                            <td class="tbl_col_hard" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
-                            <td class="tbl_col_files" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="files"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    &nbsp;
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm
deleted file mode 100644
index 0ccaa5edf1..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm
+++ /dev/null
@@ -1,125 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <tmpl_if name="domain_option">
-                    <select name="domain" id="domain" class="selectInput">
-                        {tmpl_var name='domain_option'}
-                    </select>
-                    <tmpl_else>
-                        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                    {tmpl_var name='parent_domain_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
-                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
-                    {tmpl_var name='redirect_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
-                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
-                <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
-                    {tmpl_var name='subdomain'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('#parent_domain_id').val();
-    var serverId;
-    getServerId(webId);
-		
-    jQuery('#parent_domain_id').change(function(){
-        webId = $(this).val();
-        getServerId(webId);
-    });
-		
-    function getServerId(webId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-            adjustForm(serverId);
-        });
-    }
-		
-    function adjustForm(serverId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            var selected = jQuery('#redirect_type').val();
-            if(data.servertype == "nginx"){
-                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
-                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-					
-                jQuery("#redirect_type option[value='R']").hide();
-                jQuery('#redirect_type option[value="L"]').hide();
-                jQuery('#redirect_type option[value="R,L"]').hide();
-                jQuery('#redirect_type option[value="R=301,L"]').hide();
-					
-                jQuery('#redirect_type option[value="last"]').show();
-                jQuery('#redirect_type option[value="break"]').show();
-                jQuery('#redirect_type option[value="redirect"]').show();
-                jQuery('#redirect_type option[value="permanent"]').show();
-					
-                jQuery('#redirect_type option[value="last"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="break"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled',false);
-					
-                if(selected != "no" && selected != "" && selected != "last"  && selected != "break"  && selected != "redirect"  && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            } else {
-                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-					
-                jQuery('#redirect_type option[value="last"]').hide();
-                jQuery('#redirect_type option[value="break"]').hide();
-                jQuery('#redirect_type option[value="redirect"]').hide();
-                jQuery('#redirect_type option[value="permanent"]').hide();
-					
-                jQuery('#redirect_type option[value="R"]').show();
-                jQuery('#redirect_type option[value="L"]').show();
-                jQuery('#redirect_type option[value="R,L"]').show();
-                jQuery('#redirect_type option[value="R=301,L"]').show();
-					
-                jQuery('#redirect_type option[value="R"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="L"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false);
-					
-                if(selected != "no" && selected != "" && selected != "R"  && selected != "L"  && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            }
-        });
-    }
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm
deleted file mode 100644
index faab74e191..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_aliasdomain">
-
-    <div class="pnl_listsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_aliasdomain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/web_aliasdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_backup_list.htm b/interface/web/themes/default-304/templates/sites/web_backup_list.htm
deleted file mode 100644
index 8563977096..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_backup_list.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<tmpl_if name="msg">
-    <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-</tmpl_if>
-<tmpl_if name="error">
-    <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-</tmpl_if>
-<h3><tmpl_var name="list_head_txt"></h3>
-
-<div class="panel panel_list_web_backup">
-    
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_date" scope="col"><tmpl_var name="date_txt"></th>
-                        <th class="tbl_col_date" scope="col"><tmpl_var name="backup_type_txt"></th>
-                        <th class="tbl_col_filename" scope="col"><tmpl_var name="filename_txt"></th>
-                        <th class="tbl_col_buttons" scope="col">&nbsp;</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_date">{tmpl_var name="date"}</td>
-                            <td class="tbl_col_date">{tmpl_var name="backup_type"}</td>
-                            <td class="tbl_col_filename">{tmpl_var name="filename"}</td>
-                            <td class="tbl_col_buttons" style="width:300px;">
-                                <div class="buttons" >
-                                    <button class="iconstxt icoRestore" type="button" onClick="confirm_action('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=restore&backup_id={tmpl_var name='backup_id'}','{tmpl_var name='restore_confirm_txt'}');"><span>{tmpl_var name="restore_backup_txt"}</span></button>
-                                    <button class="iconstxt icoDownload" type="button" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=download&backup_id={tmpl_var name='backup_id'}');"><span>{tmpl_var name="download_backup_txt"}</span></button>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm b/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm
deleted file mode 100644
index f363e44c70..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_domain_admin">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_domain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_domain_id"><input type="text" name="search_domain_id" size="4" value="{tmpl_var name='search_domain_id'}" /></td>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_domain_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_sys_groupid"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('sites/web_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_domain_advanced.htm
deleted file mode 100644
index 87107400af..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_advanced.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
-            <div class="ctrlHolder">
-                <label for="system_user">{tmpl_var name='system_user_txt'}</label>
-                <label for="system_user">{tmpl_var name='system_user'}</label>
-                <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="system_group">{tmpl_var name='system_group_txt'}</label>
-                <label for="system_group">{tmpl_var name='system_group'}</label>
-                <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
-                <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="phpfpm">
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='php_fpm_use_socket'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm">{tmpl_var name='pm_txt'}</label>
-                    <select name="pm" id="pm" class="selectInput">
-                        {tmpl_var name='pm'}
-                    </select>
-                </div>
-                <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
-                    {tmpl_var name='pm_ondemand_hint_txt'}
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
-                    <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
-                    <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
-                    <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
-                    <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_ondemand">
-                    <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
-                    <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />&nbsp;s
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
-                    <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
-                <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput"  style="width:400px;" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
-                <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
-                <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
-                <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('input[name="id"]').val();
-    var serverId;
-    getServerId();
-    adjustForm();
-		
-    var pm = jQuery('#pm').val();
-    pmMode(pm);
-    jQuery('#pm').change(function(){
-        pm = jQuery(this).val();
-        pmMode(pm);
-    });
-		
-    function pmMode(pm){
-        switch(pm){
-            case "static":
-                jQuery('.pm_dynamic').add('.pm_ondemand').hide();
-                jQuery('.pm_static').show();
-                break;
-            case "dynamic":
-                jQuery('.pm_static').add('.pm_ondemand').hide();
-                jQuery('.pm_dynamic').show();
-                break;
-            case "ondemand":
-                jQuery('.pm_static').add('.pm_dynamic').hide();
-                jQuery('.pm_ondemand').show();
-                break;
-        }
-    }
-		
-    function getServerId(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-        });
-    }
-		
-    function adjustForm(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            if(data.servertype == "nginx"){
-                jQuery('.nginx').show();
-                jQuery('.apache').hide();
-            } else {
-                jQuery('.nginx').hide();
-                jQuery('.apache').show();
-            }
-        });
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
-            if(data.phptype == "php-fpm"){
-                jQuery('.phpfpm').show();
-            } else {
-                jQuery('.phpfpm').hide();
-            }
-        });
-    }
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_backup.htm b/interface/web/themes/default-304/templates/sites/web_domain_backup.htm
deleted file mode 100644
index c46d4e2d4e..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_backup.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Backup</legend>
-            <div class="ctrlHolder">
-                <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
-                <select name="backup_interval" id="backup_interval" class="selectInput">
-                    {tmpl_var name='backup_interval'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
-                <select name="backup_copies" id="backup_copies" class="selectInput">
-                    {tmpl_var name='backup_copies'}
-                </select>
-            </div>
-        </fieldset>
-
-        {tmpl_var name='backup_records'}
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_edit.htm b/interface/web/themes/default-304/templates/sites/web_domain_edit.htm
deleted file mode 100644
index c2d9d21ea5..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_edit.htm
+++ /dev/null
@@ -1,249 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                        <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-                <tmpl_else>
-                    <input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-                <select name="ip_address" id="ip_address" class="selectInput formLengthIPv4">
-                    {tmpl_var name='ip_address'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ipv6_address">{tmpl_var name='ipv6_address_txt'}</label>
-                <select name="ipv6_address" id="ipv6_address" class="selectInput formLengthIPv4">
-                    {tmpl_var name='ipv6_address'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='domain_txt'}</label>
-                <tmpl_if name="domain_option">
-                    <select name="domain" id="domain" class="selectInput">
-                        {tmpl_var name='domain_option'}
-                    </select>
-                    <tmpl_else>
-                        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
-                <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
-                <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB <tmpl_var name='traffic_quota_exceeded_txt'>
-            </div>
-            <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='cgi_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='cgi'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ssi_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ssi'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='perl_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='perl'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='ruby_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ruby'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='python_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='python'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='suexec_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='suexec'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='errordocs_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='errordocs'}
-                </div>
-            </div></tmpl_if>
-
-            <div class="ctrlHolder">
-                <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
-                <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
-                    {tmpl_var name='subdomain'}
-                </select>
-            </div>
-            <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ssl_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ssl'}
-                </div>
-            </div></tmpl_if>
-            <div class="ctrlHolder">
-                <label for="php">{tmpl_var name='php_txt'}</label>
-                <select name="php" id="php" class="selectInput formLengthHalf">
-                    {tmpl_var name='php'}
-                </select>
-            </div>
-            <div class="ctrlHolder fastcgi_php_version">
-                <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
-                <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
-                    {tmpl_var name='fastcgi_php_version'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var serverId;
-    var clientGroupId = jQuery('#client_group_id').val();
-    var serverIdDisabled = jQuery('#server_id_disabled').val();
-    if(serverIdDisabled > 0){
-        serverId = serverIdDisabled;
-    } else {
-        serverId = jQuery('#server_id').val();
-        jQuery('#server_id').change(function(){
-            serverId = $(this).val();
-            adjustForm();
-            reloadWebIP();
-            reloadFastcgiPHPVersions();
-        });
-    }
-    adjustForm();
-    reloadFastcgiPHPVersions();
-		
-    jQuery('#client_group_id').change(function(){
-        clientGroupId = $(this).val();
-        reloadWebIP();
-    });
-		
-    if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
-        jQuery('.fastcgi_php_version:hidden').show();
-    } else {
-        jQuery('.fastcgi_php_version:visible').hide();
-    }
-    jQuery('#php').change(function(){
-        reloadFastcgiPHPVersions();
-        if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
-            jQuery('.fastcgi_php_version:hidden').show();
-        } else {
-            jQuery('.fastcgi_php_version:visible').hide();
-        }
-    });
-		
-    function adjustForm(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            if(data.servertype == "nginx"){
-                var selected = jQuery('#php').val();
-                jQuery('.apache').hide();
-                jQuery('.apache').hide();
-                jQuery('#php option[value="fast-cgi"]').hide();
-                jQuery('#php option[value="cgi"]').hide();
-                jQuery('#php option[value="mod"]').hide();
-                jQuery('#php option[value="suphp"]').hide();
-                if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
-            } else {
-                jQuery('.apache').show();
-                jQuery('.apache').show();
-                jQuery('#php option[value="fast-cgi"]').show();
-                jQuery('#php option[value="cgi"]').show();
-                jQuery('#php option[value="mod"]').show();
-                jQuery('#php option[value="suphp"]').show();
-            }
-        });
-    }
-		
-    function reloadWebIP() {
-        loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
-        loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
-    }
-		
-    function reloadFastcgiPHPVersions() {
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
-            var options = '<option value="">Default</option>';
-            var phpfastcgiselected = '';
-            $.each(data, function(key, val) {
-                if($('#fastcgi_php_version').val() == key){
-                    phpfastcgiselected = ' selected="selected"';
-                } else {
-                    phpfastcgiselected = '';
-                }
-                options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
-            });
-            $('#fastcgi_php_version').html(options);
-        });
-    }
-    
-    <tmpl_if name="readonly_tab">
-        jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
-        jQuery('div.tabbox_tabs').find('a').click(function() {
-               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
-        });
-        jQuery('#dom-edit-submit').click(function() {
-               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
-               submitForm('pageForm','sites/web_domain_edit.php');
-        });
-    <tmpl_else>
-        jQuery('#dom-edit-submit').click(function() {
-            submitForm('pageForm','sites/web_domain_edit.php');
-        });
-    </tmpl_if>
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_list.htm b/interface/web/themes/default-304/templates/sites/web_domain_list.htm
deleted file mode 100644
index 4ce5d5ddd4..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_domain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_domain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                <tr>
-                    <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
-                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                    <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                </tr>
-                <tr>
-                    <td class="tbl_col_domain_id"><input type="text" size="5" name="search_domain_id" value="{tmpl_var name='search_domain_id'}" /></td>
-                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                    <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                    <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_domain_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('sites/web_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_domain_redirect.htm
deleted file mode 100644
index 66a17034c9..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_redirect.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
-                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
-                    {tmpl_var name='redirect_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
-                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
-                <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
-                    {tmpl_var name='seo_redirect'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('input[name="id"]').val();
-    var serverId;
-    getServerId(webId);
-		
-    function getServerId(webId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-            adjustForm(serverId);
-        });
-    }
-		
-    function adjustForm(serverId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            var selected = jQuery('#redirect_type').val();
-            if(data.servertype == "nginx"){
-                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
-                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
-                jQuery('#redirect_type option[value="R"]').hide();
-                jQuery('#redirect_type option[value="L"]').hide();
-                jQuery('#redirect_type option[value="R,L"]').hide();
-                jQuery('#redirect_type option[value="R=301,L"]').hide();
-                if(selected != "no" && selected != "" && selected != "last"  && selected != "break"  && selected != "redirect"  && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            } else {
-                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-					
-                jQuery('#redirect_type option[value="last"]').hide();
-                jQuery('#redirect_type option[value="break"]').hide();
-                jQuery('#redirect_type option[value="redirect"]').hide();
-                jQuery('#redirect_type option[value="permanent"]').hide();
-                if(selected != "no" && selected != "" && selected != "R"  && selected != "L"  && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            }
-        });
-    }
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm
deleted file mode 100644
index 4c27bb7729..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
-                <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
-                <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
-                <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
-                <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
-                <select name="ssl_country" id="ssl_country" class="selectInput flags">
-                    {tmpl_var name='ssl_country'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
-                <select name="ssl_domain" id="ssl_domain" class="selectInput">
-                    {tmpl_var name='ssl_domain'}
-                </select>
-            </div>
-			<div class="ctrlHolder">
-                <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
-                <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
-                <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
-                <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
-                <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
-                <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
-                    {tmpl_var name='ssl_action'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_stats.htm b/interface/web/themes/default-304/templates/sites/web_domain_stats.htm
deleted file mode 100644
index 26eee94772..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
-                <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('stats_password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
-                <select name="stats_type" id="stats_type" class="selectInput" >
-                    {tmpl_var name='stats_type'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_edit.htm b/interface/web/themes/default-304/templates/sites/web_folder_edit.htm
deleted file mode 100644
index 4165ab70b1..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_folder">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Folder</legend>
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                    {tmpl_var name='parent_domain_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="path">{tmpl_var name='path_txt'}</label>
-                <input name="path" id="path" value="{tmpl_var name='path'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_folder_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_folder_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_list.htm b/interface/web/themes/default-304/templates/sites/web_folder_list.htm
deleted file mode 100644
index 3dcb9ee0cb..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_folder">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_folder_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_path" scope="col"><tmpl_var name="path_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_path"><input type="text" name="search_path" value="{tmpl_var name='search_path'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_folder_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                        <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                        <td class="tbl_col_path"><a href="#" onClick="loadContent('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="path"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('sites/web_folder_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm b/interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm
deleted file mode 100644
index 63376d8ed8..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_folder_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Folder</legend>
-            <div class="ctrlHolder">
-                <label for="web_folder_id">{tmpl_var name='web_folder_id_txt'}</label>
-                <select name="web_folder_id" id="web_folder_id" class="selectInput">
-                    {tmpl_var name='web_folder_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_folder_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_folder_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm b/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm
deleted file mode 100644
index 2df924f1c9..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_folder_user">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_folder_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_web_folder_id" scope="col"><tmpl_var name="web_folder_id_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/web_folder_user_list.php');">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_web_folder_id"><select name="search_web_folder_id" onChange="submitForm('pageForm','sites/web_folder_user_list.php');">{tmpl_var name='search_web_folder_id'}</select></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_folder_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                        <td class="tbl_col_web_folder_id"><a href="#" onClick="loadContent('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="web_folder_id"}</a></td>
-                        <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                                <a class="icons16 icoDelete" href="javascript: del_record('sites/web_folder_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="4"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm b/interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm
deleted file mode 100644
index d51e0e2b81..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_sites_stats">
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_web_traffic_this_month" scope="col"><tmpl_var name="this_month_txt"></th>
-                        <th class="tbl_col_web_traffic_last_month" scope="col"><tmpl_var name="last_month_txt"></th>
-                        <th class="tbl_col_web_traffic_this_year" scope="col"><tmpl_var name="this_year_txt"></th>
-                        <th class="tbl_col_web_traffic_last_year" scope="col"><tmpl_var name="last_year_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_this_month"></td>
-                        <td class="tbl_col_last_month"></td>
-                        <td class="tbl_col_this_year"></td>
-                        <td class="tbl_col_last_year"></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_sites_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                <tmpl_loop name="records">
-                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                        <td class="tbl_col_this_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"} MB</a></td>
-                        <td class="tbl_col_last_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"} MB</a></td>
-                        <td class="tbl_col_this_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"} MB</a></td>
-                        <td class="tbl_col_last_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"} MB</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                            </div>
-                        </td>
-                    </tr>
-                </tmpl_loop>
-				<tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                        <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_txt"}</a></td>
-                        <td class="tbl_col_this_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_month"} MB</a></td>
-                        <td class="tbl_col_last_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_month"} MB</a></td>
-                        <td class="tbl_col_this_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_year"} MB</a></td>
-                        <td class="tbl_col_last_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_year"} MB</a></td>
-                        <td class="tbl_col_buttons">
-                            <div class="buttons icons16">    
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm
deleted file mode 100644
index a8b0fe9bd0..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm
+++ /dev/null
@@ -1,112 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_subdomain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='host_txt'}</label>
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
-                <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
-                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
-                    {tmpl_var name='redirect_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
-                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    //var webId = jQuery('input[name="id"]').val();
-    var webId = jQuery('#parent_domain_id').val();
-    var serverId;
-    getServerId(webId);
-    
-    jQuery('#parent_domain_id').change(function(){
-        webId = $(this).val();
-        getServerId(webId);
-    });
-    
-    function getServerId(webId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-            adjustForm(serverId);
-        });
-    }
-    
-    function adjustForm(serverId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            var selected = jQuery('#redirect_type').val();
-            if(data.servertype == "nginx"){
-                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
-                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-                
-                jQuery("#redirect_type option[value='R']").hide();
-                jQuery('#redirect_type option[value="L"]').hide();
-                jQuery('#redirect_type option[value="R,L"]').hide();
-                jQuery('#redirect_type option[value="R=301,L"]').hide();
-                
-                jQuery('#redirect_type option[value="last"]').show();
-                jQuery('#redirect_type option[value="break"]').show();
-                jQuery('#redirect_type option[value="redirect"]').show();
-                jQuery('#redirect_type option[value="permanent"]').show();
-                
-                jQuery('#redirect_type option[value="last"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="break"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled',false);
-                
-                if(selected != "no" && selected != "" && selected != "last"  && selected != "break"  && selected != "redirect"  && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            } else {
-                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-                
-                jQuery('#redirect_type option[value="last"]').hide();
-                jQuery('#redirect_type option[value="break"]').hide();
-                jQuery('#redirect_type option[value="redirect"]').hide();
-                jQuery('#redirect_type option[value="permanent"]').hide();
-                
-                jQuery('#redirect_type option[value="R"]').show();
-                jQuery('#redirect_type option[value="L"]').show();
-                jQuery('#redirect_type option[value="R,L"]').show();
-                jQuery('#redirect_type option[value="R=301,L"]').show();
-                
-                jQuery('#redirect_type option[value="R"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="L"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled',false);
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false);
-                
-                if(selected != "no" && selected != "" && selected != "R"  && selected != "L"  && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            }
-        });
-    }
-    
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm
deleted file mode 100644
index 237cd85689..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_subdomain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_subdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/web_subdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm
deleted file mode 100644
index 87107400af..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
-            <div class="ctrlHolder">
-                <label for="system_user">{tmpl_var name='system_user_txt'}</label>
-                <label for="system_user">{tmpl_var name='system_user'}</label>
-                <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="system_group">{tmpl_var name='system_group_txt'}</label>
-                <label for="system_group">{tmpl_var name='system_group'}</label>
-                <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
-                <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="phpfpm">
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
-                    <div class="multiField">
-                        {tmpl_var name='php_fpm_use_socket'}
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm">{tmpl_var name='pm_txt'}</label>
-                    <select name="pm" id="pm" class="selectInput">
-                        {tmpl_var name='pm'}
-                    </select>
-                </div>
-                <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
-                    {tmpl_var name='pm_ondemand_hint_txt'}
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
-                    <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
-                    <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
-                    <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_dynamic">
-                    <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
-                    <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
-                </div>
-                <div class="ctrlHolder pm_ondemand">
-                    <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
-                    <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />&nbsp;s
-                </div>
-                <div class="ctrlHolder">
-                    <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
-                    <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
-                <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput"  style="width:400px;" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
-                <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
-            </div>
-            <div class="ctrlHolder apache">
-                <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
-                <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
-            </div>
-            <div class="ctrlHolder nginx">
-                <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
-                <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('input[name="id"]').val();
-    var serverId;
-    getServerId();
-    adjustForm();
-		
-    var pm = jQuery('#pm').val();
-    pmMode(pm);
-    jQuery('#pm').change(function(){
-        pm = jQuery(this).val();
-        pmMode(pm);
-    });
-		
-    function pmMode(pm){
-        switch(pm){
-            case "static":
-                jQuery('.pm_dynamic').add('.pm_ondemand').hide();
-                jQuery('.pm_static').show();
-                break;
-            case "dynamic":
-                jQuery('.pm_static').add('.pm_ondemand').hide();
-                jQuery('.pm_dynamic').show();
-                break;
-            case "ondemand":
-                jQuery('.pm_static').add('.pm_dynamic').hide();
-                jQuery('.pm_ondemand').show();
-                break;
-        }
-    }
-		
-    function getServerId(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-        });
-    }
-		
-    function adjustForm(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            if(data.servertype == "nginx"){
-                jQuery('.nginx').show();
-                jQuery('.apache').hide();
-            } else {
-                jQuery('.nginx').hide();
-                jQuery('.apache').show();
-            }
-        });
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
-            if(data.phptype == "php-fpm"){
-                jQuery('.phpfpm').show();
-            } else {
-                jQuery('.phpfpm').hide();
-            }
-        });
-    }
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm
deleted file mode 100644
index c46d4e2d4e..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Backup</legend>
-            <div class="ctrlHolder">
-                <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
-                <select name="backup_interval" id="backup_interval" class="selectInput">
-                    {tmpl_var name='backup_interval'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
-                <select name="backup_copies" id="backup_copies" class="selectInput">
-                    {tmpl_var name='backup_copies'}
-                </select>
-            </div>
-        </fieldset>
-
-        {tmpl_var name='backup_records'}
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm
deleted file mode 100644
index 159830c685..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm
+++ /dev/null
@@ -1,208 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
-            <div class="ctrlHolder">
-                <label for="domain">{tmpl_var name='host_txt'}</label>
-                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
-                <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
-                <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
-            </div>
-            <div class="ctrlHolder">
-                <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
-                <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
-                <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB <tmpl_var name='traffic_quota_exceeded_txt'>
-            </div>
-            <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='cgi_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='cgi'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ssi_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ssi'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='perl_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='perl'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='ruby_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ruby'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='python_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='python'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
-                <p class="label">{tmpl_var name='suexec_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='suexec'}
-                </div>
-            </div></tmpl_if>
-            <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='errordocs_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='errordocs'}
-                </div>
-            </div></tmpl_if>
-
-            <div class="ctrlHolder">
-                <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
-                <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
-                    {tmpl_var name='subdomain'}
-                </select>
-            </div>
-            <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ssl_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='ssl'}
-                </div>
-            </div></tmpl_if>
-            <div class="ctrlHolder">
-                <label for="php">{tmpl_var name='php_txt'}</label>
-                <select name="php" id="php" class="selectInput formLengthHalf">
-                    {tmpl_var name='php'}
-                </select>
-            </div>
-            <div class="ctrlHolder fastcgi_php_version">
-                <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
-                <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
-                    {tmpl_var name='fastcgi_php_version'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var serverId;
-    var clientGroupId = jQuery('#client_group_id').val();
-    var serverIdDisabled = jQuery('#server_id_disabled').val();
-    if(serverIdDisabled > 0){
-        serverId = serverIdDisabled;
-    } else {
-        serverId = jQuery('#server_id').val();
-        jQuery('#server_id').change(function(){
-            serverId = $(this).val();
-            adjustForm();
-            reloadWebIP();
-            reloadFastcgiPHPVersions();
-        });
-    }
-    adjustForm();
-    reloadFastcgiPHPVersions();
-		
-    jQuery('#client_group_id').change(function(){
-        clientGroupId = $(this).val();
-        reloadWebIP();
-    });
-		
-    if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
-        jQuery('.fastcgi_php_version:hidden').show();
-    } else {
-        jQuery('.fastcgi_php_version:visible').hide();
-    }
-    jQuery('#php').change(function(){
-        reloadFastcgiPHPVersions();
-        if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
-            jQuery('.fastcgi_php_version:hidden').show();
-        } else {
-            jQuery('.fastcgi_php_version:visible').hide();
-        }
-    });
-		
-    function adjustForm(){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            if(data.servertype == "nginx"){
-                var selected = jQuery('#php').val();
-                jQuery('.apache').hide();
-                jQuery('.apache').hide();
-                jQuery('#php option[value="fast-cgi"]').hide();
-                jQuery('#php option[value="cgi"]').hide();
-                jQuery('#php option[value="mod"]').hide();
-                jQuery('#php option[value="suphp"]').hide();
-                if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
-            } else {
-                jQuery('.apache').show();
-                jQuery('.apache').show();
-                jQuery('#php option[value="fast-cgi"]').show();
-                jQuery('#php option[value="cgi"]').show();
-                jQuery('#php option[value="mod"]').show();
-                jQuery('#php option[value="suphp"]').show();
-            }
-        });
-    }
-		
-    function reloadWebIP() {
-        loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
-        loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
-    }
-		
-    function reloadFastcgiPHPVersions() {
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
-            var options = '<option value="">Default</option>';
-            var phpfastcgiselected = '';
-            $.each(data, function(key, val) {
-                if($('#fastcgi_php_version').val() == key){
-                    phpfastcgiselected = ' selected="selected"';
-                } else {
-                    phpfastcgiselected = '';
-                }
-                options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
-            });
-            $('#fastcgi_php_version').html(options);
-        });
-    }
-    
-    <tmpl_if name="readonly_tab">
-        jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
-        jQuery('div.tabbox_tabs').find('a').click(function() {
-               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
-        });
-        jQuery('#dom-edit-submit').click(function() {
-               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
-               submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
-        });
-    <tmpl_else>
-        jQuery('#dom-edit-submit').click(function() {
-            submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
-        });
-    </tmpl_if>
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm
deleted file mode 100644
index f216988998..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_vhost_subdomain_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/web_vhost_subdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-
-                <tfoot>
-                    <tr>
-                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm
deleted file mode 100644
index 66a17034c9..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
-                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
-                    {tmpl_var name='redirect_type'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
-                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
-                <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
-                    {tmpl_var name='seo_redirect'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
-    var webId = jQuery('input[name="id"]').val();
-    var serverId;
-    getServerId(webId);
-		
-    function getServerId(webId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
-            serverId = data.serverid;
-            adjustForm(serverId);
-        });
-    }
-		
-    function adjustForm(serverId){
-        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
-            var selected = jQuery('#redirect_type').val();
-            if(data.servertype == "nginx"){
-                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
-                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
-                jQuery('#redirect_type option[value="R"]').hide();
-                jQuery('#redirect_type option[value="L"]').hide();
-                jQuery('#redirect_type option[value="R,L"]').hide();
-                jQuery('#redirect_type option[value="R=301,L"]').hide();
-                if(selected != "no" && selected != "" && selected != "last"  && selected != "break"  && selected != "redirect"  && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            } else {
-                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
-                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-					
-                jQuery('#redirect_type option[value="last"]').hide();
-                jQuery('#redirect_type option[value="break"]').hide();
-                jQuery('#redirect_type option[value="redirect"]').hide();
-                jQuery('#redirect_type option[value="permanent"]').hide();
-                if(selected != "no" && selected != "" && selected != "R"  && selected != "L"  && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
-            }
-        });
-    }
-			
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm
deleted file mode 100644
index 4c27bb7729..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
-                <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
-                <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
-                <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
-                <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
-                <select name="ssl_country" id="ssl_country" class="selectInput flags">
-                    {tmpl_var name='ssl_country'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
-                <select name="ssl_domain" id="ssl_domain" class="selectInput">
-                    {tmpl_var name='ssl_domain'}
-                </select>
-            </div>
-			<div class="ctrlHolder">
-                <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
-                <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
-                <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
-                <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
-                <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
-                <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
-                    {tmpl_var name='ssl_action'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm
deleted file mode 100644
index 26eee94772..0000000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
-                <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('stats_password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
-                <select name="stats_type" id="stats_type" class="selectInput" >
-                    {tmpl_var name='stats_type'}
-                </select>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm b/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm
deleted file mode 100644
index 8dd719dca1..0000000000
--- a/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_webdav_user">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <tmpl_if name="edit_disabled">
-                    <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                    <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
-                        {tmpl_var name='parent_domain_id'}
-                    </select>
-                    <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
-                    <tmpl_else>
-                        <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
-                        <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
-                            {tmpl_var name='parent_domain_id'}
-                        </select>
-                </tmpl_if>
-            </div>
-            <div class="ctrlHolder">
-                <label for="username">{tmpl_var name='username_txt'}</label>
-                <p class="prefix">{tmpl_var name='username_prefix'}</p>
-                <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput formLengthFourth" <tmpl_if name="edit_disabled">disabled="disabled"</tmpl_if>/>
-            </div>
-            <div class="ctrlHolder">
-                <label for="password">{tmpl_var name='password_txt'}</label>
-                <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('password','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="dir">{tmpl_var name='dir_txt'}</label>
-                <p class="prefix">webdav/</p>
-                <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" <tmpl_if name="edit_disabled">disabled="disabled"</tmpl_if>/>
-            </div>
-
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/webdav_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/webdav_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/webdav_user_list.htm b/interface/web/themes/default-304/templates/sites/webdav_user_list.htm
deleted file mode 100644
index ee2b45df80..0000000000
--- a/interface/web/themes/default-304/templates/sites/webdav_user_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_webdav_user">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/webdav_user_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
-                        <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
-                        <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/webdav_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
-                            <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/webdav_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tabbed_form.tpl.htm b/interface/web/themes/default-304/templates/tabbed_form.tpl.htm
deleted file mode 100644
index 2890e1b17a..0000000000
--- a/interface/web/themes/default-304/templates/tabbed_form.tpl.htm
+++ /dev/null
@@ -1,27 +0,0 @@
-<tmpl_if name="form_hint">
-    <h2><tmpl_var name="form_hint"></h2>
-</tmpl_if>
-<div class="tabbox_tabs">
-    <ul>
-        <tmpl_loop name="formTab">
-            <tmpl_if name="active">
-                <li class="active"><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
-            <tmpl_else>
-                <li><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
-            </tmpl_if>
-        </tmpl_loop>
-    </ul>
-</div>
-<div id="tabbox_content">
-    <tmpl_if name="msg">
-        <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-    </tmpl_if>
-    <tmpl_if name="error">
-        <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-    </tmpl_if>
-    
-    <tmpl_dyninclude name="content_tpl">
-</div>
-
-<input type="hidden" name="next_tab" value="">
-<input type="hidden" name="phpsessid" value="{tmpl_var name='phpsessid'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm b/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm
deleted file mode 100644
index b4fad7e6f2..0000000000
--- a/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2>Import DNS recods from Tupa PowerDNS controlpanel</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>PowerDNS Tupa import</legend>
-            <div class="ctrlHolder">
-                <p class="label">Tupa database hostname</p>
-                <div class="multiField">
-                    <input id="dbhost" type="text" value="{tmpl_var name='dbhost'}" name="dbhost" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Tupa database name</p>
-                <div class="multiField">
-                    <input id="dbname" type="text" value="{tmpl_var name='dbname'}" name="dbname" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Tupa database user</p>
-                <div class="multiField">
-                    <input id="dbuser" type="text" value="{tmpl_var name='dbuser'}" name="dbuser" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Tupa database password</p>
-                <div class="multiField">
-                    <input id="dbpassword" type="text" value="{tmpl_var name='dbpassword'}" name="dbpassword" />
-                </div>
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">Import DNS Records</p>
-                <div class="multiField">
-                    <input id="start" type="checkbox" value="1" name="start" checked/>
-                </div>
-            </div>
-        </fieldset>
-
-        <tmpl_if name="msg">
-            <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-        <tmpl_if name="error">
-            <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-        </tmpl_if>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/dns_import_tupa.php');"><span>Start</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>Cancel</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/import_ispconfig.htm b/interface/web/themes/default-304/templates/tools/import_ispconfig.htm
deleted file mode 100644
index 7d7b4c17bc..0000000000
--- a/interface/web/themes/default-304/templates/tools/import_ispconfig.htm
+++ /dev/null
@@ -1,103 +0,0 @@
-<h2>{tmpl_var name="head_txt"}</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend>
-            <div class="ctrlHolder">
-                <p class="label">Remote API URL</p>
-                <div class="multiField">
-                    <input id="remote_server" type="text" value="{tmpl_var name='remote_server'}" name="remote_server" /> (e.g. https://www.example.com:8080/remote/ )
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Remote User</p>
-                <div class="multiField">
-                    <input id="remote_user" type="text" value="{tmpl_var name='remote_user'}" name="remote_user" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Remote password</p>
-                <div class="multiField">
-                    <input id="remote_password" type="text" value="{tmpl_var name='remote_password'}" name="remote_password" />
-                </div>
-            </div>
-        </fieldset>
-    </div>
-    <tmpl_if name="connected">
-        <div class="pnl_formsarea">
-            <fieldset class="inlineLabels"><legend>{tmpl_var name="legend2_txt"}</legend>
-                <div class="ctrlHolder">
-                    <label for="mail_domain">{tmpl_var name='mail_domain_txt'}</label>
-                    <select name="mail_domain" id="mail_domain" class="selectInput">
-                        {tmpl_var name='mail_domain'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_mailbox_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_mailbox" type="checkbox" value="1" name="import_mailbox" checked="checked" />
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_user_filter_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_user_filter" type="checkbox" value="1" name="import_user_filter" checked="checked" />
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_spamfilter_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_spamfilter" type="checkbox" value="1" name="import_spamfilter" checked="checked" />
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_alias_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_alias" type="checkbox" value="1" name="import_alias" checked="checked" />
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_forward_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_forward" type="checkbox" value="1" name="import_forward" checked="checked" />
-                    </div>
-                </div>
-                <div class="ctrlHolder">
-                    <p class="label">{tmpl_var name="import_aliasdomain_txt"}</p>
-                    <div class="multiField">
-                        <input id="import_aliasdomain" type="checkbox" value="1" name="import_aliasdomain" checked="checked" />
-                    </div>
-                </div>
-            </fieldset>
-        </div>
-    </tmpl_if>
-	 
-    <tmpl_if name="msg">
-        <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-    </tmpl_if>
-    <tmpl_if name="error">
-        <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-    </tmpl_if>
-	
-    <input type="hidden" name="remote_session_id" value="{tmpl_var name='remote_session_id'}">
-    <input type="hidden" name="connected" value="{tmpl_var name='connected'}">
-    <tmpl_if name="connected">
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_ispconfig.php');"><span>{tmpl_var name="btn_start_txt"}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button>
-        </div>
-    <tmpl_else>
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_ispconfig.php');"><span>{tmpl_var name="btn_connect_txt"}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button>
-        </div>
-    </tmpl_if>
-  </div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/import_plesk.htm b/interface/web/themes/default-304/templates/tools/import_plesk.htm
deleted file mode 100644
index f72096c700..0000000000
--- a/interface/web/themes/default-304/templates/tools/import_plesk.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2>Import plesk panel data</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Plesk data import</legend>
-            <div class="ctrlHolder">
-                <p class="label">Plesk database hostname</p>
-                <div class="multiField">
-                    <input id="dbhost" type="text" value="{tmpl_var name='dbhost'}" name="dbhost" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Plesk database name</p>
-                <div class="multiField">
-                    <input id="dbname" type="text" value="{tmpl_var name='dbname'}" name="dbname" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Plesk database user</p>
-                <div class="multiField">
-                    <input id="dbuser" type="text" value="{tmpl_var name='dbuser'}" name="dbuser" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Plesk database password</p>
-                <div class="multiField">
-                    <input id="dbpassword" type="text" value="{tmpl_var name='dbpassword'}" name="dbpassword" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Web content backup file (on this server, optional)</p>
-                <div class="multiField">
-                    <input id="webcontent" type="text" value="{tmpl_var name='webcontent'}" name="webcontent" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Maildir content backup file (on this server, optional)</p>
-                <div class="multiField">
-                    <input id="mailcontent" type="text" value="{tmpl_var name='mailcontent'}" name="mailcontent" />
-                </div>
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">Import all data (that can be imported)</p>
-                <div class="multiField">
-                    <input id="start" type="checkbox" value="1" name="start" checked/>
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">Import database contents (make sure the database user has the rights to do so)</p>
-                <div class="multiField">
-                    <input id="dbdata" type="checkbox" value="1" name="dbdata" checked/>
-                </div>
-            </div>
-        </fieldset>
-
-        <tmpl_if name="msg">
-            <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-        <tmpl_if name="error">
-            <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-        </tmpl_if>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_plesk.php');"><span>Start</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>Cancel</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/index.htm b/interface/web/themes/default-304/templates/tools/index.htm
deleted file mode 100644
index e1a0acbba8..0000000000
--- a/interface/web/themes/default-304/templates/tools/index.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <h2 class="frmTextHead"></h2><p>ispconfig_tools_note</p>
-            
-            TEST
-        </fieldset>
-        
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            &nbsp;
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/interface_settings.htm b/interface/web/themes/default-304/templates/tools/interface_settings.htm
deleted file mode 100644
index 640f187cd2..0000000000
--- a/interface/web/themes/default-304/templates/tools/interface_settings.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <!-- TODO: If user theme change is activated -->
-            <div class="ctrlHolder">
-                <label for="app_theme">{tmpl_var name='app_theme_txt'}</label>
-                <select name="app_theme" id="app_theme" class="selectInput formLengthHalf">
-                    {tmpl_var name='app_theme'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
-                <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
-                    {tmpl_var name='startmodule'}
-                </select>
-            </div>
-        </fieldset>
-        
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','tools/interface_settings.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/resync.htm b/interface/web/themes/default-304/templates/tools/resync.htm
deleted file mode 100644
index c7611b8049..0000000000
--- a/interface/web/themes/default-304/templates/tools/resync.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<h2>{tmpl_var name="head_txt"}</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_sites_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_sites" type="checkbox" value="1" name="resync_sites" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_ftp_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_ftp" type="checkbox" value="1" name="resync_ftp" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_shell_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_shell" type="checkbox" value="1" name="resync_shell" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_cron_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_cron" type="checkbox" value="1" name="resync_cron" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_db_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_db" type="checkbox" value="1" name="resync_db" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_mailbox_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_dns_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_dns" type="checkbox" value="1" name="resync_dns" />
-                </div>
-            </div>
-        </fieldset>
-
-        <tmpl_if name="msg">
-            <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-        <tmpl_if name="error">
-            <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-        </tmpl_if>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/resync.php');"><span>{tmpl_var name="btn_start_txt"}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button>
-        </div>
-    </div>
-  
-</div>
diff --git a/interface/web/themes/default-304/templates/tools/tpl_default.htm b/interface/web/themes/default-304/templates/tools/tpl_default.htm
deleted file mode 100644
index 233b3e9909..0000000000
--- a/interface/web/themes/default-304/templates/tools/tpl_default.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_tools_tpl">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
-                <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
-                    {tmpl_var name='startmodule'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="language">{tmpl_var name='language_txt'}</label>
-                <select name="language" id="language" class="selectInput flags">
-                    {tmpl_var name='language'}
-                </select>
-            </div>
-            <!-- TODO: If user theme change is activated -->
-            <div class="ctrlHolder">
-                <label for="app_theme">{tmpl_var name='app_theme_txt'}</label>
-                <select name="app_theme" id="app_theme" class="selectInput formLengthHalf">
-                    {tmpl_var name='app_theme'}
-                </select>
-            </div>
-        </fieldset>
-        
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','tools/tpl_default.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/user_settings.htm b/interface/web/themes/default-304/templates/tools/user_settings.htm
deleted file mode 100644
index 6155093aa3..0000000000
--- a/interface/web/themes/default-304/templates/tools/user_settings.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_usersettings">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels">
-            <div class="ctrlHolder">
-                <label for="passwort">{tmpl_var name='passwort_txt'}</label>
-                <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('passwort','repeat_password');"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('passwort','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='password_strength_txt'}</p>
-                <div id="passBar"></div>
-                <p class="formHint"><span id="passText">&nbsp;</span></p>
-            </div>
-            <div class="ctrlHolder">
-                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
-                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('passwort','repeat_password');" />
-            </div>
-            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
-            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
-            <div class="ctrlHolder">
-                <label for="language">{tmpl_var name='language_txt'}</label>
-                <select name="language" id="language" class="selectInput flags">
-                    {tmpl_var name='language'}
-                </select>
-            </div>
-        </fieldset>
-        
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','tools/user_settings.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/topnav.tpl.htm b/interface/web/themes/default-304/templates/topnav.tpl.htm
deleted file mode 100644
index 4c681960c0..0000000000
--- a/interface/web/themes/default-304/templates/topnav.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<ul id="topmenu">
-    <tmpl_loop name="nav_top">
-        <tmpl_if name="active">
-            <li id="topNav_current"><a href="#" class="topnav topnav-<tmpl_var name='module'>"><span><tmpl_var name="title"></span></a></li>
-        <tmpl_else>
-            <li><a href="#" onClick="capp('<tmpl_var name='module'>')" class="topnav topnav-<tmpl_var name='module'>"><span><tmpl_var name="title"></span></a></li>
-        </tmpl_if>
-    </tmpl_loop>
-</ul>
diff --git a/interface/web/themes/default-304/templates/vm/openvz_action.htm b/interface/web/themes/default-304/templates/vm/openvz_action.htm
deleted file mode 100644
index 057c851dc3..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_action.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name="head_txt"} {tmpl_var name='veid'}</legend>
-            
-            <tmpl_if name="msg">
-                <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-            </tmpl_if>
-            <tmpl_if name="error">
-                <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-            </tmpl_if>
-                
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='start_txt'}</p>
-                <div class="multiField">
-                    <input id="action" type="radio" value="start" name="action" {tmpl_var name='start_option_enabled'}/>
-                </div>
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='stop_txt'}</p>
-                <div class="multiField">
-                    <input id="action" type="radio" value="stop" name="action" {tmpl_var name='stop_option_enabled'}/>
-                </div>
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='restart_txt'}</p>
-                <div class="multiField">
-                    <input id="action" type="radio" value="restart" name="action" {tmpl_var name='restart_option_enabled'}/>
-                </div>
-            </div>
-                
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='ostemplate_txt'}</p>
-                <div class="multiField">
-                    <input style="float:left; margin-right:10px;" id="action" type="radio" value="ostemplate" name="action" {tmpl_var name='ostemplate_option_enabled'}/>
-                           <input name="ostemplate_name" size="30" maxlength="255" type="text" class="textInput" value="{tmpl_var name='ostemplate_name'}" onclick="$('[name=action]').filter('[value=ostemplate]').attr('checked','checked');" /> &nbsp;{tmpl_var name='ostemplate_desc_txt'}
-                </div>
-            </div>
-        </fieldset>     
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_action.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_vm_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm
deleted file mode 100644
index 8b8f34b62b..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_ip">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>IP address</legend>
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-                <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="15" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="vm_id">{tmpl_var name='vm_id_txt'}</label>
-                <select name="vm_id" id="vm_id" class="selectInput" disabled="disabled">
-                    {tmpl_var name='vm_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='reserved_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='reserved'}
-                </div>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_ip_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_ip_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    var vm_id = jQuery('#vm_id').val();
-    jQuery('#vm_id').attr({name: 'vm_id_disabled', id: 'vm_id_disabled'});
-    jQuery('#vm_id_disabled').after('<input type="hidden" name="vm_id" value="'+vm_id+'">');
-    
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm b/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm
deleted file mode 100644
index 886d4b9e84..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_ip">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_ip_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_vm_id" scope="col"><tmpl_var name="vm_id_txt"></th>
-                        <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
-                        <th class="tbl_col_reserved" scope="col"><tmpl_var name="reserved_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_vm_id"><select name="search_vm_id">{tmpl_var name='search_vm_id'}</select></td>
-                        <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" value="{tmpl_var name='search_ip_address'}" /></td>
-                        <td class="tbl_col_reserved"><select name="search_reserved">{tmpl_var name='search_reserved'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_ip_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_vm_id"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="vm_id"}</a></td>
-                            <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
-                            <td class="tbl_col_reserved"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="reserved"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_ip_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm
deleted file mode 100644
index 6f08d15064..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_ostemplate">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Domain</legend>
-            <div class="ctrlHolder">
-                <label for="template_name">{tmpl_var name='template_name_txt'}</label>
-                <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="template_file">{tmpl_var name='template_file_txt'}</label>
-                <input name="template_file" id="template_file" value="{tmpl_var name='template_file'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                <select name="server_id" id="server_id" class="selectInput">
-                    {tmpl_var name='server_id'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='allservers_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='allservers'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="description">{tmpl_var name='description_txt'}</label>
-                <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_ostemplate_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_ostemplate_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm b/interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm
deleted file mode 100644
index c15277422a..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_ostemplate">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_ostemplate_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_ostemplate_id" scope="col"><tmpl_var name="ostemplate_id_txt"></th>
-                        <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_allservers" scope="col"><tmpl_var name="allservers_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_ostemplate_id"><input type="text" name="search_ostemplate_id" value="{tmpl_var name='search_ostemplate_id'}" style="width:30px;" /></td>
-                        <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_allservers"><select name="search_allservers">{tmpl_var name='search_allservers'}</select></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_ostemplate_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_ostemplate_id"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ostemplate_id"}</a></td>
-                            <td class="tbl_col_template_name"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_allservers"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="allservers"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_ostemplate_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm
deleted file mode 100644
index 6741ce9ab3..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm
+++ /dev/null
@@ -1,110 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_template">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Advanced</legend>
-            <div class="ctrlHolder">
-                <label for="numproc">{tmpl_var name='numproc_txt'}</label>
-                <input name="numproc" id="numproc" value="{tmpl_var name='numproc'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numtcpsock">{tmpl_var name='numtcpsock_txt'}</label>
-                <input name="numtcpsock" id="numtcpsock" value="{tmpl_var name='numtcpsock'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numothersock">{tmpl_var name='numothersock_txt'}</label>
-                <input name="numothersock" id="numothersock" value="{tmpl_var name='numothersock'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="vmguarpages">{tmpl_var name='vmguarpages_txt'}</label>
-                <input name="vmguarpages" id="vmguarpages" value="{tmpl_var name='vmguarpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="kmemsize">{tmpl_var name='kmemsize_txt'}</label>
-                <input name="kmemsize" id="kmemsize" value="{tmpl_var name='kmemsize'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="tcpsndbuf">{tmpl_var name='tcpsndbuf_txt'}</label>
-                <input name="tcpsndbuf" id="tcpsndbuf" value="{tmpl_var name='tcpsndbuf'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="tcprcvbuf">{tmpl_var name='tcprcvbuf_txt'}</label>
-                <input name="tcprcvbuf" id="tcprcvbuf" value="{tmpl_var name='tcprcvbuf'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="othersockbuf">{tmpl_var name='othersockbuf_txt'}</label>
-                <input name="othersockbuf" id="othersockbuf" value="{tmpl_var name='othersockbuf'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dgramrcvbuf">{tmpl_var name='dgramrcvbuf_txt'}</label>
-                <input name="dgramrcvbuf" id="dgramrcvbuf" value="{tmpl_var name='dgramrcvbuf'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="oomguarpages">{tmpl_var name='oomguarpages_txt'}</label>
-                <input name="oomguarpages" id="oomguarpages" value="{tmpl_var name='oomguarpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="privvmpages">{tmpl_var name='privvmpages_txt'}</label>
-                <input name="privvmpages" id="privvmpages" value="{tmpl_var name='privvmpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="lockedpages">{tmpl_var name='lockedpages_txt'}</label>
-                <input name="lockedpages" id="lockedpages" value="{tmpl_var name='lockedpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="shmpages">{tmpl_var name='shmpages_txt'}</label>
-                <input name="shmpages" id="shmpages" value="{tmpl_var name='shmpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="physpages">{tmpl_var name='physpages_txt'}</label>
-                <input name="physpages" id="physpages" value="{tmpl_var name='physpages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numfile">{tmpl_var name='numfile_txt'}</label>
-                <input name="numfile" id="numfile" value="{tmpl_var name='numfile'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="avnumproc">{tmpl_var name='avnumproc_txt'}</label>
-                <input name="avnumproc" id="avnumproc" value="{tmpl_var name='avnumproc'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numflock">{tmpl_var name='numflock_txt'}</label>
-                <input name="numflock" id="numflock" value="{tmpl_var name='numflock'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numpty">{tmpl_var name='numpty_txt'}</label>
-                <input name="numpty" id="numpty" value="{tmpl_var name='numpty'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numsiginfo">{tmpl_var name='numsiginfo_txt'}</label>
-                <input name="numsiginfo" id="numsiginfo" value="{tmpl_var name='numsiginfo'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="dcachesize">{tmpl_var name='dcachesize_txt'}</label>
-                <input name="dcachesize" id="dcachesize" value="{tmpl_var name='dcachesize'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="numiptent">{tmpl_var name='numiptent_txt'}</label>
-                <input name="numiptent" id="numiptent" value="{tmpl_var name='numiptent'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="swappages">{tmpl_var name='swappages_txt'}</label>
-                <input name="swappages" id="swappages" value="{tmpl_var name='swappages'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="capability">{tmpl_var name='capability_txt'}</label>
-                <input name="capability" id="capability" value="{tmpl_var name='capability'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_template_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_template_edit.htm
deleted file mode 100644
index ce356afeec..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_edit.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_template">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Template</legend>
-            <div class="ctrlHolder">
-                <label for="template_name">{tmpl_var name='template_name_txt'}</label>
-                <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="diskspace">{tmpl_var name='diskspace_txt'}</label>
-                <input name="diskspace" id="diskspace" value="{tmpl_var name='diskspace'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;GB
-            </div>
-            <div class="ctrlHolder">
-                <label for="ram">{tmpl_var name='ram_txt'}</label>
-                <input name="ram" id="ram" value="{tmpl_var name='ram'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="ram_burst">{tmpl_var name='ram_burst_txt'}</label>
-                <input name="ram_burst" id="ram_burst" value="{tmpl_var name='ram_burst'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_units">{tmpl_var name='cpu_units_txt'}</label>
-                <input name="cpu_units" id="cpu_units" value="{tmpl_var name='cpu_units'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(8 - 500000)
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_num">{tmpl_var name='cpu_num_txt'}</label>
-                <input name="cpu_num" id="cpu_num" value="{tmpl_var name='cpu_num'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(1 - 64)
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_limit">{tmpl_var name='cpu_limit_txt'}</label>
-                <input name="cpu_limit" id="cpu_limit" value="{tmpl_var name='cpu_limit'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(10 - 6400)
-            </div>
-            <div class="ctrlHolder">
-                <label for="io_priority">{tmpl_var name='io_priority_txt'}</label>
-                <input name="io_priority" id="io_priority" value="{tmpl_var name='io_priority'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(0 - 7)
-            </div>
-            <div class="ctrlHolder">
-                <label for="hostname">{tmpl_var name='hostname_txt'}</label>
-                <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='create_dns_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='create_dns'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="nameserver">{tmpl_var name='nameserver_txt'}</label>
-                <input name="nameserver" id="nameserver" value="{tmpl_var name='nameserver'}" size="30" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='nameserver_desc_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="description">{tmpl_var name='description_txt'}</label>
-                <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_template_list.htm b/interface/web/themes/default-304/templates/vm/openvz_template_list.htm
deleted file mode 100644
index 78f102bf79..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_template">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_template_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('vm/openvz_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_template_name"><a href="#" onClick="loadContent('vm/openvz_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_template_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-    
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm
deleted file mode 100644
index a0bf42d3e4..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_vm">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Advanced</legend>
-            <div class="ctrlHolder">
-                <label for="veid">{tmpl_var name='veid_txt'}</label>
-                <input name="veid" id="veid" value="{tmpl_var name='veid'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='create_dns_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='create_dns'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="diskspace">{tmpl_var name='diskspace_txt'}</label>
-                <input name="diskspace" id="diskspace" value="{tmpl_var name='diskspace'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;GB
-            </div>
-            <div class="ctrlHolder">
-                <label for="ram">{tmpl_var name='ram_txt'}</label>
-                <input name="ram" id="ram" value="{tmpl_var name='ram'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="ram_burst">{tmpl_var name='ram_burst_txt'}</label>
-                <input name="ram_burst" id="ram_burst" value="{tmpl_var name='ram_burst'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> &nbsp;MB
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_units">{tmpl_var name='cpu_units_txt'}</label>
-                <input name="cpu_units" id="cpu_units" value="{tmpl_var name='cpu_units'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(8 - 500000)
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_num">{tmpl_var name='cpu_num_txt'}</label>
-                <input name="cpu_num" id="cpu_num" value="{tmpl_var name='cpu_num'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(1 - 64)
-            </div>
-            <div class="ctrlHolder">
-                <label for="cpu_limit">{tmpl_var name='cpu_limit_txt'}</label>
-                <input name="cpu_limit" id="cpu_limit" value="{tmpl_var name='cpu_limit'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(10 - 6400)
-            </div>
-            <div class="ctrlHolder">
-                <label for="io_priority">{tmpl_var name='io_priority_txt'}</label>
-                <input name="io_priority" id="io_priority" value="{tmpl_var name='io_priority'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />&nbsp;(0 - 7)
-            </div>
-            <div class="ctrlHolder">
-                <label for="nameserver">{tmpl_var name='nameserver_txt'}</label>
-                <input name="nameserver" id="nameserver" value="{tmpl_var name='nameserver'}" size="30" maxlength="255" type="text" class="textInput" />&nbsp;{tmpl_var name='nameserver_desc_txt'}
-            </div>
-            <div class="ctrlHolder">
-                <label for="capability">{tmpl_var name='capability_txt'}</label>
-                <input name="capability" id="capability" value="{tmpl_var name='capability'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-        </fieldset>
-            
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-            
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_vm_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_vm_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm
deleted file mode 100644
index 402bad398c..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm
+++ /dev/null
@@ -1,107 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_vm">
-
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>Settings</legend>
-            <tmpl_if name="is_admin">
-                <div class="ctrlHolder">
-                    <tmpl_if name="edit_disabled">
-                        <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
-                        <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
-                            {tmpl_var name='server_id'}
-                        </select>
-                        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
-                    <tmpl_else>
-                            <label for="server_id">{tmpl_var name='server_id_txt'}</label>
-                            <select name="server_id" id="server_id" class="selectInput" onChange="loadOptionInto('ip_address','vm/ajax_get_ip.php?server_id='+document.getElementById('server_id').value)">
-                                {tmpl_var name='server_id'}
-                            </select>
-                    </tmpl_if>
-                </div>
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="is_reseller">
-                <div class="ctrlHolder">
-                    <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
-                    <select name="client_group_id" id="client_group_id" class="selectInput">
-                        {tmpl_var name='client_group_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <tmpl_if name="edit_disabled">
-                <div class="ctrlHolder">
-                    <label for="ostemplate_id_disabled">{tmpl_var name='ostemplate_id_txt'}</label>
-                    <select name="ostemplate_id_disabled" id="ostemplate_id_disabled" class="selectInput" disabled="disabled">
-                        {tmpl_var name='ostemplate_id'}
-                    </select>
-                </div>
-                <input type="hidden" name="ostemplate_id" value="{tmpl_var name='ostemplate_id_value'}">
-            <tmpl_else>
-                <div class="ctrlHolder">
-                    <label for="ostemplate_id">{tmpl_var name='ostemplate_id_txt'}</label>
-                    <select name="ostemplate_id" id="ostemplate_id" class="selectInput">
-                        {tmpl_var name='ostemplate_id'}
-                    </select>
-                </div>
-            </tmpl_if>
-            <div class="ctrlHolder">
-                <label for="template_id">{tmpl_var name='template_id_txt'}</label>
-                <select name="template_id" id="template_id" class="selectInput">
-                    {tmpl_var name='template_id_select'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-                <select name="ip_address" id="ip_address" class="selectInput">
-                    {tmpl_var name='ip_address'}
-                </select>
-            </div>
-            <div class="ctrlHolder">
-                <label for="hostname">{tmpl_var name='hostname_txt'}</label>
-                <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="vm_password">{tmpl_var name='vm_password_txt'}</label>
-                <input name="vm_password" id="vm_password" value="{tmpl_var name='vm_password'}" size="30" maxlength="255" type="text" class="textInput" />
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='start_boot_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='start_boot'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name='active_txt'}</p>
-                <div class="multiField">
-                    {tmpl_var name='active'}
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <label for="active_until_date">{tmpl_var name='active_until_date_txt'}</label>
-                <input name="active_until_date" id="active_until_date" value="{tmpl_var name='active_until_date'}" size="30" maxlength="255" type="text" class="textInput formLengthDate" />
-            </div>
-            <div class="ctrlHolder">
-                <label for="description">{tmpl_var name='description_txt'}</label>
-                <textarea name="description" id="description" rows='5' cols='30' style='height:60px;'>{tmpl_var name='description'}</textarea>
-            </div>
-        </fieldset>
-
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','vm/openvz_vm_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('vm/openvz_vm_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-        </div>
-    </div>
-  
-</div>
-<script language="JavaScript" type="text/javascript">
-    jQuery( "#active_until_date" ).datepicker({ dateFormat: '<tmpl_var name="date_format">', changeMonth: true, changeYear: true, yearRange: '-100:+100', dayNamesMin: ['<tmpl_var name="daynamesmin_su">','<tmpl_var name="daynamesmin_mo">','<tmpl_var name="daynamesmin_tu">','<tmpl_var name="daynamesmin_we">','<tmpl_var name="daynamesmin_th">','<tmpl_var name="daynamesmin_fr">','<tmpl_var name="daynamesmin_sa">'], dayNames: ['<tmpl_var name="daynames_sunday">','<tmpl_var name="daynames_monday">','<tmpl_var name="daynames_tuesday">','<tmpl_var name="daynames_wednesday">','<tmpl_var name="daynames_thursday">','<tmpl_var name="daynames_friday">','<tmpl_var name="daynames_saturday">'], monthNamesShort: ['<tmpl_var name="monthnamesshort_jan">','<tmpl_var name="monthnamesshort_feb">','<tmpl_var name="monthnamesshort_mar">','<tmpl_var name="monthnamesshort_apr">','<tmpl_var name="monthnamesshort_may">','<tmpl_var name="monthnamesshort_jun">','<tmpl_var name="monthnamesshort_jul">','<tmpl_var name="monthnamesshort_aug">','<tmpl_var name="monthnamesshort_sep">','<tmpl_var name="monthnamesshort_oct">','<tmpl_var name="monthnamesshort_nov">','<tmpl_var name="monthnamesshort_dec">'], nextText: '<tmpl_var name="datepicker_nextText">', prevText: '<tmpl_var name="datepicker_prevText">', firstDay: 1 });	
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm
deleted file mode 100644
index ad0245617e..0000000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_vm">
-
-    <div class="pnl_toolsarea">
-        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
-            <div class="buttons">
-                <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_vm_edit.php');">
-                    <span>{tmpl_var name="add_new_record_txt"}</span>
-                </button>
-            </div>
-        </fieldset>
-    </div>
-
-    <div class="pnl_listarea">
-        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
-            <table class="list">
-                <thead>
-                    <tr>
-                        <th class="tbl_col_veid" scope="col"><tmpl_var name="veid_txt"></th>
-                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
-                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
-                        <th class="tbl_col_ostemplate_id" scope="col"><tmpl_var name="ostemplate_id_txt"></th>
-                        <th class="tbl_col_template_id" scope="col"><tmpl_var name="template_id_txt"></th>
-                        <th class="tbl_col_hostname" scope="col"><tmpl_var name="hostname_txt"></th>
-                        <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
-                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
-                    </tr>
-                    <tr>
-                        <td class="tbl_col_veid"><input type="text" name="search_veid" style="width:40px;" value="{tmpl_var name='search_veid'}" /></td>
-                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
-                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
-                        <td class="tbl_col_ostemplate_id"><select name="search_ostemplate_id">{tmpl_var name='search_ostemplate_id'}</select></td>
-                        <td class="tbl_col_template_id"><select name="search_template_id">{tmpl_var name='search_template_id'}</select></td>
-                        <td class="tbl_col_hostname"><input type="text" name="search_hostname" value="{tmpl_var name='search_hostname'}" /></td>
-                        <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" style="width:80px;" value="{tmpl_var name='search_ip_address'}" /></td>
-                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_vm_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tmpl_loop name="records">
-                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
-                            <td class="tbl_col_veid"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="veid"}</a></td>
-                            <td class="tbl_col_active"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
-                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
-                            <td class="tbl_col_ostemplate_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ostemplate_id"}</a></td>
-                            <td class="tbl_col_template_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_id"}</a></td>
-                            <td class="tbl_col_hostname"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hostname"}</a></td>
-                            <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
-                            <td class="tbl_col_buttons">
-                                <div class="buttons icons16">    
-                                    <a class="icons16 icoAction" href="javascript: loadContent('vm/openvz_action.php?id={tmpl_var name='id'}');"><span>Action</span></a>
-                                    <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_vm_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                                </div>
-                            </td>
-                        </tr>
-                    </tmpl_loop>
-                </tbody>
-                <tfoot>
-                    <tr>
-                        <td class="tbl_footer tbl_paging" colspan="8"><tmpl_var name="paging"></td>
-                    </tr>
-                </tfoot>
-            </table>
-        </fieldset>
-    </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/!important.txt b/interface/web/themes/default-304/yaml/!important.txt
deleted file mode 100644
index ce2cc2df1b..0000000000
--- a/interface/web/themes/default-304/yaml/!important.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-DON'T EDIT ANYTHING INSIDE THIS DIRECTORY!
-
-This theme is based on YAML V3.0.6, Build: 080609 (http://www.yaml.de/)
-CSS-Styles can be changed in the /themes/default/css/ directory
diff --git a/interface/web/themes/default-304/yaml/core/base.css b/interface/web/themes/default-304/yaml/core/base.css
deleted file mode 100644
index bc24d1550e..0000000000
--- a/interface/web/themes/default-304/yaml/core/base.css
+++ /dev/null
@@ -1,229 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet
- * (de) YAML Basis-Stylesheet
- *
- * Don't make any changes in this file!
- * Your changes should be placed in any css-file in your own stylesheet folder.
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section browser reset
-  * @see     http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
-  */
-
-  /* (en) Global reset of paddings and margins for all HTML elements */
-  /* (de) Globales Zurücksetzen der Innen- und Außenabstände für alle HTML-Elemente */
-  * { margin:0; padding: 0; }
-
-  /* (en) Correction: margin/padding reset caused too small select boxes. */
-  /* (de) Korrektur: Das Zurücksetzen der Abstände verursacht zu kleine Selectboxen. */
-  option { padding-left: 0.4em; }
-
- /**
-  * (en) Global fix of the Italics bugs in IE 5.x and IE 6
-  * (de) Globale Korrektur des Italics Bugs des IE 5.x und IE 6
-  *
-  * @bugfix
-  * @affected   IE 5.x/Win, IE6
-  * @css-for    IE 5.x/Win, IE6
-  * @valid      yes
-  */
-  * html body * { overflow:visible; }
-  * html iframe, * html frame { overflow:auto; }
-  * html frameset { overflow:hidden; }
-
-  /* (en) Forcing vertical scrollbars in Netscape, Firefox and Safari browsers */
-  /* (de) Erzwingen vertikaler Scrollbalken in Netscape, Firefox und Safari Browsern */
-  html { height: 100%; margin-bottom: 1px; }
-  body {
-    /* (en) Fix for rounding errors when scaling font sizes in older versions of Opera browser */
-    /* (de) Beseitigung von Rundungsfehler beim Skalieren von Schriftgrößen in älteren Opera Versionen */
-    font-size: 100.01%;
-
-    /* (en) Standard values for colors and text alignment */
-    /* (de) Vorgabe der Standardfarben und Textausrichtung */
-    color: #000;
-    background: #fff;
-    text-align: left;
-  }
-
-  /* (en) Clear borders for <fieldset> and <img> elements */
-  /* (de) Rahmen für <fieldset> und <img> Elemente löschen */
-  fieldset, img { border: 0 solid; }
-
-  /* (en) new standard values for lists, blockquote and cite */
-  /* (de) Neue Standardwerte für Listen & Zitate */
-  ul, ol, dl { margin: 0 0 1em 1em }
-  li { margin-left: 1.5em; line-height: 1.5em; }
-
-  dt { font-weight: bold; }
-  dd { margin: 0 0 1em 2em; }
-
-  blockquote { margin: 0 0 1em 1.5em; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section base layout | Basis Layout
-  * @see     http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
-  *
-  * |-------------------------------|
-  * | #header                       |
-  * |-------------------------------|
-  * | #col1   | #col3     | #col2   |
-  * | 200 px  | flexible  | 200px   |
-  * |-------------------------------|
-  * | #footer                       |
-  * |-------------------------------|
-  */
-
-  #header { position:relative; }
-
-  /* (en) Text Alignment for #topnav content */
-  /* (de) Textausrichtung für #topnav Inhalte */
-  #topnav { text-align: right; } 
-
-  /* (en) Absolute positioning only within #header */
-  /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
-  #header #topnav {
-    position:absolute;
-    top: 10px;
-    right: 10px;
-  }
-
-  /* (en) Backup for correct positioning */
-  /* (de) Absicherung korrekte Positionierung */
-  #header, #nav, #main, #footer { clear:both; }
-
-  /* (en/de) Standard: 200 Pixel */
-  #col1 { float: left; width: 200px }
-  /* (en/de) Standard: 200 Pixel */
-  #col2 { float:right; width: 200px }
-  /* (en) Standard: center column with flexible width */
-  /* (de) Standard: Flexible mittlere Spalte */
-  #col3 { width:auto; margin: 0 200px }
-
-  /* (en) Preparation for absolute positioning within content columns */
-  /* (de) Vorbereitung für absolute Positionierungen innerhalb der Inhaltsspalten */
-  #col1_content, #col2_content, #col3_content { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section generic classes for layout switching | Generische Klassen zur Layoutumschaltung
-  * @see     http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
-  *
-  * .hidecol1 -> 2-column-layout (using #col2 and #col3)
-  * .hidecol2 -> 2-column-layout (using #col1 and #col3)
-  * .hideboth -> single-column-layout (using #col3)
-  */
-
-  .hideboth #col3 { margin-left: 0; margin-right: 0; }
-  .hidecol1 #col3 { margin-left: 0; margin-right: 200px; }
-  .hidecol2 #col3 { margin-left: 200px; margin-right: 0; }
-
-  .hideboth #col1, .hideboth #col2, .hidecol1 #col1, .hidecol2 #col2 { display:none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section clearing methods
-  * @see     http://yaml.de/en/documentation/basics/general.html
-  */
-
-  /* (en) clearfix method for clearing floats */
-  /* (de) Clearfix-Methode zum Clearen der Float-Umgebungen */
-   .clearfix:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden;
-  }
-
-  /* (en) essential for Safari browser !! */
-  /* (de) Diese Angabe benötigt der Safari-Browser zwingend !! */
-  .clearfix { display: block; }
-
-  /* (en) overflow method for clearing floats */
-  /* (de) Overflow-Methode zum Clearen der Float-Umgebungen */
-  .floatbox { overflow:hidden; }
-
-  /* (en) IE-Clearing: Only used in Internet Explorer, switched on in iehacks.css */
-  /* (de) IE-Clearing: Benötigt nur der Internet Explorer und über iehacks.css zugeschaltet */
-  #ie_clearing { display: none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section subtemplates
-  * @see     http://www.yaml.de/en/documentation/practice/subtemplates.html
-  */
-
-  .subcolumns { width: 100%; overflow:hidden; }
-
-  /* (en) alternative class for optional support of old Mozilla/Netscape browers */
-  /* (de) Alternative Klasse zur optionalen Unterstützung alter Mozilla/Netscape-Brower */
-  .subcolumns_oldgecko { width: 100%; float:left; }
-
-  .c50l, .c25l, .c33l, .c38l, .c66l, .c75l, .c62l {float: left; }
-  .c50r, .c25r, .c33r, .c38r, .c66r, .c75r, .c62r {float: right; margin-left: -5px; }
-
-  .c25l, .c25r { width: 25%; }
-  .c33l, .c33r { width: 33.333%; }
-  .c50l, .c50r { width: 50%; }
-  .c66l, .c66r { width: 66.666%; }
-  .c75l, .c75r { width: 75%; }
-  .c38l, .c38r { width: 38.2%; }
-  .c62l, .c62r { width: 61.8%; }
-
-  .subc  { padding: 0 0.5em; }
-  .subcl { padding: 0 1em 0 0; }
-  .subcr { padding: 0 0 0 1em; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * @section hidden elements | Versteckte Elemente
-  * @see     http://www.yaml.de/en/documentation/basics/skip-links.html
-  *
-  * (en) skip links and hidden content
-  * (de) Skip-Links und versteckte Inhalte
-  */
-
-  /* (en) classes for invisible elements in the base layout */
-  /* (de) Klassen für unsichtbare Elemente im Basislayout */
-  .skip, .hideme, .print {
-    position: absolute;
-    top: -1000em;
-    left: -1000em;
-    height: 1px;
-    width: 1px;
-  }
-
-  /* (en) make skip links visible when using tab navigation */
-  /* (de) Skip-Links für Tab-Navigation sichtbar schalten */
-  .skip:focus, .skip:active {
-    position: static;
-    top: 0;
-    left: 0;
-    height: auto;
-    width: auto;
-  }
-}
diff --git a/interface/web/themes/default-304/yaml/core/iehacks.css b/interface/web/themes/default-304/yaml/core/iehacks.css
deleted file mode 100644
index 41c3ee4202..0000000000
--- a/interface/web/themes/default-304/yaml/core/iehacks.css
+++ /dev/null
@@ -1,310 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs
- * (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win
- *
- * Don't make any changes in this file!
- * Your changes should be added to a separate patch-file.
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
-  /**
-   * (en) Debugging: When you see a green background, IE is getting this stylesheet
-   * (de) Fehlersuche: Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde
-   *
-   * @debug
-   * @app-yaml-default disabled
-   */
-
-  /* body { background: #0f0; background-image: none; }  */
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Forcing vertical scrollbars is not needed in IE (only for Firefox/Netscape/Safari)
-   * (de) Erzwingen vertikaler Scrollbalken im IE nicht benötigt (nur im Firefox/Netscape/Safari)
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-
-  html { height: auto; margin-bottom:0; }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements
-   * (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      no
-   */
-
-  * html textarea { overflow:scroll; overflow-x: hidden; }
-  * html input { overflow: hidden; }
-  
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Stability fixes with 'position:relative' 
-   * (de) Stabilitätsverbesserungen durch 'position:relative'
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-
-  body { position:relative; }  /* Essential in IE7 for correct layout scaling ... */
-  * html body { position:static; }  /* ... but not for IE5.x and IE6 */
-  #main { position: relative; } /* helpful for several problems in older IE versions*/
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Clearfix Method for containing floats in IE
-   * (de) Clearfix-Anpassung für diverse IE-Versionen
-   *
-   * @workaround
-   * @see        http://www.456bereastreet.com/archive/200603/new_clearing_method_needed_for_ie7/#comment28
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-
-
-  .clearfix { display: inline-block; }  /* ... especial for IE7 */
-  .clearfix { display: block; }      /* ... für IE5,IE6,IE7 */
-  * html .clearfix { height: 1%; }   /* ... für IE5 + IE6/Win | hasLayout aktivieren */
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Adjustment of .floatbox class for IE
-   * (de) Anpassung der .floatbox-Klasse für IE
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-
-  * html .floatbox { width:100%; }
-  
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Special class for oversized content element
-   * (de) Spezielle Klasse für übergroße Inhaltselemente
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-  
-  .slidebox {
-    position:relative;
-    margin-right: -1000px;
-    height: 1%;
-  }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en): Bugfix for partially displayed column separators
-   * (de): Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-
-  * html #col1,
-  * html #col2, 
-  * html #col3 { position:relative; } 
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Preventing several css bugs by forcing "hasLayout"
-   * (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout"
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      no
-   */
-   
-  body { height: 1%; }
-  #page_margins, #page, #header, #nav, #main, #footer { zoom:1; }             /* IE6 & IE7    */
-  #page_margins, #page { height: 1%; }                                        /* IE 5.x       */
-  * html #header, * html #nav, * html #main, * html #footer { width: 100%; }  /* IE 5.x & IE6 */
-  * html #header, * html #nav, * html #main, * html #footer { wid\th: auto; } /* IE 6         */
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * Disappearing List-Background Bug
-   * @see        http://www.positioniseverything.net/explorer/ie-listbug.html
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-  * html ul, * html ol, * html dl { position: relative; }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * List-Numbering Bug
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-  body ol li { display:list-item; }
-  
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear
-   *      Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the
-   *      longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed
-   *      in YAML.
-   *
-   * (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear
-   *      Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout
-   *      wenn gleichzeitig die rechte Spalte die kürzeste und die rechte die Längste ist. Im IE6 und IE7 lässt
-   *      sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen.
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6, IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      no
-   */
-
-  #ie_clearing {
-    /* (en) Only a small help for debugging */
-    /* (de) Nur eine kleine Hilfe zur Fehlersuche */
-    position:static;
-
-    /* (en) Make container visible in IE */
-    /* (de) Container sichtbar machen im IE */
-    display:block;
-
-    /* (en) No fix possible in IE5.x, normal clearing used instead */
-    /* (de) Kein Fix im IE5.x möglich, daher normales Clearing */
-    \clear:both;
-
-    /* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/
-    /* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */
-    width: 100%;
-    font-size:0px;
-    margin: -2px 0 -1em 1px;
-  }
-
-  * html #ie_clearing { margin: -2px 0 -1em 0; }
-  #col3_content {margin-bottom:-2px; }
-
-  /* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */
-  /* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */
-  html { margin-right: 1px; }
-  * html { margin-right: 0 }
-
-
-  /* (en) Bugfix: Essential for IE7 */
-  /* (de) Bugfix: Notwendig im IE7 */
-  #col3 { position:relative; z-index: -1; }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * IE/Win Guillotine Bug
-   * @see        http://www.positioniseverything.net/explorer/guillotine.html
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-
-  * html body a, * html body a:hover { background-color: transparent; }
-
-}
-
-@media screen, projection
-{
-  /**
-   * (en) IE-Adjustments for content columns and subtemplates
-   * (de) IE-Anpassung für Spaltencontainer und Subtemplates
-   *
-   * Doubled Float-Margin Bug
-   * @see        http://positioniseverything.net/explorer/doubled-margin.html
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-
-  #col1,  #col2 { display:inline; }
-
-  .c50l, .c25l, .c33l, .c38l, .c66l, .c75l, .c62l,
-  .c50r, .c25r, .c33r, .c38r, .c66r, .c75r, .c62r { display:inline; }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * Internet Explorer and the Expanding Box Problem
-   * @see http://www.positioniseverything.net/explorer/expandingboxbug.html
-   *
-   * @workaround
-   * @affected   IE 5.x/Win, IE6
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      yes
-   */
-
-  * html #col1_content, 
-  * html #col2_content, 
-  * html #col3_content { word-wrap: break-word; }
-
-  * html .subcolumns .subc,
-  * html .subcolumns .subcl,
-  * html .subcolumns .subcr { word-wrap: break-word; overflow:hidden; }
-}
-
-@media print
-{
-  /**
-   * (en) Avoid unneeded page breaks of #col3 content in print layout.
-   * (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte #col3.
-   *
-   * @bugfix
-   * @affected   IE7
-   * @css-for    IE 5.x/Win, IE6, IE7
-   * @valid      yes
-   */
-
-  #col3 { height: 1%; }
-}
diff --git a/interface/web/themes/default-304/yaml/core/print_base.css b/interface/web/themes/default-304/yaml/core/print_base.css
deleted file mode 100644
index 4418795dc4..0000000000
--- a/interface/web/themes/default-304/yaml/core/print_base.css
+++ /dev/null
@@ -1,120 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet - print layout
- * (de) YAML Core-Stylesheet - Druck Layout
- *
- * Don't make any changes in this file!
- * Your changes should be added to 'print_xyz_draft.css' drafts from 'yaml/print/' folder.
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media print
-{
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * @section layout preparation
-   * @see     http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
-   */
-
-  /* (en) Preparing base layout for print */
-  /* (de) Basislayout für Druck aufbereiten */
-  body, #page_margins, #page, #main { margin:0; padding: 0; border: 0; }
-  #page_margins, #page { width: 100% !important; min-width:0; max-width: none; }
-  #header { height: auto; }
-
-  /* (en) Hide unneeded container of the screenlayout in print layout */
-  /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */
-  #topnav, #nav, #search, #footer { display: none; }
-
-  /* (en) Linearising subtemplates */
-  /* (de) Linearisierung der Subtemplates */
-  .c25l, .c33l, .c38l, .c50l, .c62l, .c66l, .c75l,
-  .c25r, .c33r, .c38r, .c50r, .c62r, .c66r, .c75r {
-    width: 100%; margin:0; float:none; overflow:visible; display:table;
-  }
-  .subc, .subcl, .subcr  { margin: 0; padding: 0; }
-
-  /* (en) make .print class visible */
-  /* (de) .print-Klasse sichtbar schalten */
-  .print { position: static; top: 0; left: 0; height: auto; width: auto; }
-  
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * @section content preparation
-   * @see     http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
-   */
-
-  /* (en) Change font to serif */
-  /* (de) Zeichensatz auf Serifen umstellen */
-  body * { font-family: "Times New Roman", Times, serif; }
-  code, pre { font-family:"Courier New", Courier, mono; }
-  body { font-size: 12pt; }
-
-  /* (en) Avoid page breaks right after headings */
-  /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */
-  h1,h2,h3,h4,h5,h6 { page-break-after:avoid; }
-
-  /* (en) Format acronyms and abbreviations for print*/
-  /* (de) Auszeichnung von Abkürzungen */
-  abbr[title]:after, 
-  acronym[title]:after { content: '(' attr(title) ')'; }
-
-  /* (en) Disable background graphics of links  */
-  /* (de) Abschalten evlt. vorhandener Hintergrundgrafiken zur Linkkennzeichnung */
-  #page a[href^="http:"], 
-  #page a[href^="https:"] { padding-left: 0; background-image: none; }
-
-  /* (en) Enable URL output in print layout */
-  /* (de) Sichtbare Auszeichnung der URLs von Links */
-  a[href]:after {
-    content:" <URL: "attr(href)">";
-    color:#444;
-    background:inherit;
-    font-style:italic;
-  }
-
-  /* (en) Preparation for optional column labels */
-  /* (de) Vorbereitung für optionale Spaltenauszeichnung */
-  #col1_content:before, #col2_content:before, #col3_content:before {
-    content: "";
-    color:#888;
-    background:inherit;
-    display:block;
-    font-weight:bold;
-    font-size:1.5em;
-  }
-
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * @section browser fixes for print layouts
-   * @see     http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
-   */
-
-  /**
-   * (en) overflow:hidden Bug in print layouts
-   * (de) overflow:hidden Bug in Drucklayouts
-   *
-   * @bugfix
-   * @since     3.0
-   * @affected  FF2.0, IE7
-   * @css-for   all browsers
-   * @valid     yes
-   */
-  
-  .floatbox,
-  .subcolumns, 
-  .subcolums_oldgecko { overflow:visible; display: table; }
-}
diff --git a/interface/web/themes/default-304/yaml/core/slim_base.css b/interface/web/themes/default-304/yaml/core/slim_base.css
deleted file mode 100644
index 75596ca9fe..0000000000
--- a/interface/web/themes/default-304/yaml/core/slim_base.css
+++ /dev/null
@@ -1,50 +0,0 @@
-@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media all {
-*{margin:0;padding:0}
-option{padding-left:.4em}
-* html body *{overflow:visible}
-* html iframe,* html frame{overflow:auto}
-* html frameset{overflow:hidden}
-html{height:100%;margin-bottom:1px}
-body{font-size:100.01%;color:#000;background:#fff;text-align:left}
-fieldset,img{border:0 solid}
-ul,ol,dl{margin:0 0 1em 1em}
-li{margin-left:1.5em;line-height:1.5em}
-dt{font-weight:700}
-dd{margin:0 0 1em 2em}
-blockquote{margin:0 0 1em 1.5em}
-#header{position:relative}
-#topnav{text-align:right}
-#header #topnav{position:absolute;top:10px;right:10px}
-#header,#nav,#main,#footer{clear:both}
-#col1{float:left;width:200px}
-#col2{float:right;width:200px}
-#col3{width:auto;margin:0 200px}
-#col1_content,#col2_content,#col3_content{position:relative}
-.hideboth #col3{margin-left:0;margin-right:0}
-.hidecol1 #col3{margin-left:0;margin-right:200px}
-.hidecol2 #col3{margin-left:200px;margin-right:0}
-.hideboth #col1,.hideboth #col2,.hidecol1 #col1,.hidecol2 #col2{display:none}
-.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}
-.clearfix{display:block}
-.floatbox{overflow:hidden}
-#ie_clearing{display:none}
-.subcolumns{width:100%;overflow:hidden}
-.subcolumns_oldgecko{width:100%;float:left}
-.c50l,.c25l,.c33l,.c38l,.c66l,.c75l,.c62l{float:left}
-.c50r,.c25r,.c33r,.c38r,.c66r,.c75r,.c62r{float:right;margin-left:-5px}
-.c25l,.c25r{width:25%}
-.c33l,.c33r{width:33.333%}
-.c50l,.c50r{width:50%}
-.c66l,.c66r{width:66.666%}
-.c75l,.c75r{width:75%}
-.c38l,.c38r{width:38.2%}
-.c62l,.c62r{width:61.8%}
-.subc{padding:0 .5em}
-.subcl{padding:0 1em 0 0}
-.subcr{padding:0 0 0 1em}
-.skip,.hideme,.print{position:absolute;top:-1000em;left:-1000em;height:1px;width:1px}
-.skip:focus,.skip:active{position:static;top:0;left:0;height:auto;width:auto}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/core/slim_iehacks.css b/interface/web/themes/default-304/yaml/core/slim_iehacks.css
deleted file mode 100644
index a201c14796..0000000000
--- a/interface/web/themes/default-304/yaml/core/slim_iehacks.css
+++ /dev/null
@@ -1,36 +0,0 @@
-@charset UTF-8;
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media all {
-html{height:auto;margin-bottom:0;margin-right:1px}
-* html textarea{overflow:scroll;overflow-x:hidden}
-* html input{overflow:hidden}
-body{position:relative;height:1%}
-* html body{position:static}
-#main{position:relative}
-.clearfix{display:inline-block}
-.clearfix{display:block}
-* html .clearfix{height:1%}
-* html .floatbox{width:100%}
-.slidebox{position:relative;margin-right:-1000px;height:1%}
-* html #col1,* html #col2,* html #col3{position:relative}
-#page_margins,#page,#header,#nav,#main,#footer{zoom:1}
-#page_margins,#page{height:1%}
-* html #header,* html #nav,* html #main,* html #footer{width:100%;wid\th:auto}
-* html ul,* html ol,* html dl{position:relative}
-body ol li{display:list-item}
-#ie_clearing{position:static;display:block;\clear:both;width:100%;font-size:0;margin:-2px 0 -1em 1px}
-* html #ie_clearing{margin:-2px 0 -1em}
-#col3_content{margin-bottom:-2px}
-* html{margin-right:0}
-#col3{position:relative;z-index:-1}
-* html body a,* html body a:hover{background-color:transparent}
-}
-@media screen,projection {
-#col1,#col2,.c50l,.c25l,.c33l,.c38l,.c66l,.c75l,.c62l,.c50r,.c25r,.c33r,.c38r,.c66r,.c75r,.c62r{display:inline}
-* html #col1_content,* html #col2_content,* html #col3_content{word-wrap:break-word}
-* html .subcolumns .subc,* html .subcolumns .subcl,* html .subcolumns .subcr{word-wrap:break-word;overflow:hidden}
-}
-@media print {
-#col3{height:1%}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/core/slim_print_base.css b/interface/web/themes/default-304/yaml/core/slim_print_base.css
deleted file mode 100644
index f371b158c3..0000000000
--- a/interface/web/themes/default-304/yaml/core/slim_print_base.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media print {
-body,#page_margins,#page,#main{border:0;margin:0;padding:0}
-#page_margins,#page{width:100%!important;min-width:0;max-width:none}
-#header{height:auto}
-#topnav,#nav,#search,#footer{display:none}
-.c25l,.c33l,.c38l,.c50l,.c62l,.c66l,.c75l,.c25r,.c33r,.c38r,.c50r,.c62r,.c66r,.c75r{width:100%;float:none;overflow:visible;display:table;margin:0}
-.subc,.subcl,.subcr{margin:0;padding:0}
-.print{position:static;top:0;left:0;height:auto;width:auto}
-body *{font-family:"Times New Roman", Times, serif}
-code,pre{font-family:"Courier New", Courier, mono}
-body{font-size:12pt}
-h1,h2,h3,h4,h5,h6{page-break-after:avoid}
-abbr[title]:after,acronym[title]:after{content:'(' attr(title) ')'}
-#page a[href^="http:"],#page a[href^="https:"]{padding-left:0;background-image:none}
-a[href]:after{content:" <URL: "attr(href)">";color:#444;background:inherit;font-style:italic}
-#col1_content:before,#col2_content:before,#col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}
-.floatbox,.subcolumns,.subcolums_oldgecko{overflow:visible;display:table}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/debug/debug.css b/interface/web/themes/default-304/yaml/debug/debug.css
deleted file mode 100644
index f0a1304f77..0000000000
--- a/interface/web/themes/default-304/yaml/debug/debug.css
+++ /dev/null
@@ -1,157 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML debugging stylesheet
- * (de) YAML Stylesheet zur Fehlersuche
- *
- * Don't make any changes in this file!
- * Your changes should be placed in any css-file in your own stylesheet folder.
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 43 $
- * @lastmodified    $Date: 2007-06-11 16:09:28 +0200 (Mo, 11 Jun 2007) $
- */
-
-@media all
-{
-  /*------------------------------------------------------------------------------------------------------*/
-
-  /**
-   * @section layout preparation for debugging
-   * @see http://www.yaml.de/en/documentation/practice/drafting-and-debugging.html
-   */
-
-  /* Adding debugging background */
-  body { background: transparent url(images/grid_pattern.png) top left no-repeat !important; }
-
-  /* CSS-Warning, if core stylesheet 'iehacks.css' is missing in the layout */
-  *:first-child+html #ie_clearing { display:block; }
-  * html #ie_clearing { display:block; }
-
-  #ie_clearing {
-    width: 500px;
-    font-size: 25px;
-    position:absolute;
-    top: -2px;
-    left:0px;
-    background: url("images/warning_iehacks.gif") top left no-repeat;
-  }
-
-  /**
-   * @section pixel grid
-   */
-
-  .bg_grid {
-    background-image:url(images/grid_pattern.png) !important;
-    background-repeat:no-repeat;
-    background-position:top left !important;
-  }
-
-  /**
-   * @section transparency
-   */
-
-  .transOFF { -moz-opacity: 1.0; opacity: 1.0; filter: alpha(Opacity=100);}
-  .trans50,
-  .transON { -moz-opacity: 0.5; opacity: 0.5; filter: alpha(Opacity=50);}
-  .trans25 { -moz-opacity: 0.25; opacity: 0.25; filter: alpha(Opacity=25);}
-  .trans75 { -moz-opacity: 0.75; opacity: 0.75; filter: alpha(Opacity=75);}
-
-  /**
-   * @section colors
-   */
-
-  .bg_red { background-color: #f00 !important;}
-  .bg_blue { background-color: #00f !important;}
-  .bg_green { background-color: #0f0 !important;}
-  
-  /**
-   * @visualize semantic structure
-   * 
-   * Many thanks to Tomas Caspers for some ideas
-   */
-   
-  div[id] { padding: 0 !important; margin: 2px; border: 1px #000 solid !important; }
-  div[id]:before {
-	display:block;
-	color: #fff;
-	background:	#800;
-	padding: 2px;
-	font: bold .8em "Lucida console", monospace;
-	content: "[div #"attr(id)"]";
-  }
-
-  div[class="floatbox"] { background: #f4f4f4; }
-  div[class="floatbox"]:before {
-	display:block;
-	color: #fff;
-	background:	#66a;
-	padding: 2px;
-	font: bold .8em "Lucida console", monospace;
-	content: "[div ."attr(class)"]";
-  }
-
-  div[class="subcolumns"] { background: #f8f8f8; }
-  div[class="subcolumns"]:before {
-	display:block;
-	color: #fff;
-	background:	#444;
-	padding: 2px;
-	font: bold .8em "Lucida console", monospace;
-	content: "[div ."attr(class)"]";
-  }
-
-  div[class="subcolumns"] > div:before {
-	display:block;
-	color: #fff;
-	background:	#080;
-	padding: 2px;
-	font: bold .8em "Lucida console", monospace;
-	content: "[div ."attr(class)"]";
-  }
-
-  div[class="subc"], div[class="subcl"], div[class="subcr"] { background: #eee; }
-  div[class="subc"]:before, div[class="subcl"]:before, div[class="subcr"]:before {
-	display:block;
-	color: #fff;
-	background: #6a6;
-	padding: 2px;
-	font: bold .8em "Lucida console", monospace;
-	content: "[div ."attr(class)"]";
-  }
-
-  h1:before	{ content: "[h1] "; }
-  h2:before	{ content: "[h2] "; }
-  h3:before	{ content: "[h3] "; }
-  h4:before	{ content: "[h4] "; }
-  h5:before	{ content: "[h5] "; }
-  h6:before	{ content: "[h6] "; }
-  
-  a:hover:before { content:	" ( href='" attr(href) "' ) "; }
-  a:hover:after { content: " [ title='"attr(title)"' ] "; }
-
-  img:after	{ content:" ( alt='" attr(alt)"' ) "; }
-  
-  address, blockquote, dl, fieldset, form, h1, h2, h3, h4, ol, p, pre, ul	{
-	border:	1px dotted #888;
-	margin: 2px;
-	padding: 2px;
-	display: block;
-  }
-
-  /**
-   * @visualize inline elements
-   * 
-   * Many thanks to Tomas Caspers for some ideas
-   */
-
-  abbr, acronym	{ background: #d9eaff; }
-  q, cite, dfn, kbd	{ background: #ffe3f6; }
-  /* :lang(de), :lang(en), :lang(fr), :lang(es) { background: #d9efaa !important; } */
-}
diff --git a/interface/web/themes/default-304/yaml/debug/images/grid_pattern.png b/interface/web/themes/default-304/yaml/debug/images/grid_pattern.png
deleted file mode 100644
index 55e65e477c61a692d8d9c9cafd4cd986097897db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 29833
zcmeFZ2UL??ur?ZuV!?m~Y!R>_f&z+w(osYN1QZCpBi#T}q(cxv1r<e#^xk_5y{e!f
zod70O0cp}pXi5GZ!20Pq=UeALcinaGSuCS~dGo$|@0oe#nP=w7Eg5mxt|Pl35C}}-
z#x*$zWa}0PWQ*nw@Cu3QIj;cz+G%k^#R>wU+E4yN0SOL01cB_5H5L`Ub<4=y+T6;>
z+~SyosOT{ZOLGI`yZR7_9X3qfP(gn5fFQnS{;Jetl%JHj9Nms%a#y`kv@cJy9^bh~
z^6~MgPjt5{_lk*ag};w{41N9_^_1@Rx!qp7I=2rVkAChR^Vq9)wcjzuw7mrXrJk7A
zAvByi7nakwy<*4ifEyQYbE9@AU1iwY=U(%+x_^*e#BJ9p3&@@wId_g*5l&J-mRtk`
z&Yq~)UIwACYo*!&sgMq-IDhmJiDv9-kU9nGAw`At%ga(bP_z&chv!%0AtKi)P+_l6
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

diff --git a/interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif b/interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif
deleted file mode 100644
index b7cc86d71acd3e87dff0489e0d0423f12f5a5c8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2912
zcmaiy`9IWq1I0hz8OGSh+7Oy7(~KfXNYuzSR6@y+eQPLPMYdEkjEsq_+1Ihm5{YcN
zViFm}MN~><NR~X}TDt1SJoi5T!1Mm)oFC5Xb<PjR&feDau-`g_0X_1-oB(1dpqU5s
z41g>OOs@b93>Xyv4_^=x4tj>c2`50$05uOmUO7M_!HN+4gHZTC`Pcp*cK;B80FVd!
z{>}Z{2}FhE+IIs(O3B;@mliw2_YFmcO~yP}j$an?%EO8KRMYuYSNqReXk_x?$E%N4
zj_S_nzP?=HrDt+p{raH4!8`8J)=^TlnudPYQbc@7$=q_+4azNY+{J|3w43y3#?{2s
z<hysMDVdSk={Xtqii=7M%L|zKRaxGY(^om+_hahf>)F{2ZcR=tE|1!|zt=u_(Dm?X
zV@Gf2a~{9@MNi)!{X;KD28Un2dNcO+{ksp%&pr)&Y@Pf(AQ+t+Uzk{&emwhS{?D&#
z|JnG~_G4yw_1F6LcQ8G{k}c&$A(wT`*$;PHQBh1{F|mQ!dk1|m^aH=4vM(KD#Za?v
ztm@Ckoe^?9`x|v$lJo;!6x%<l87wl5`1+wg`}6%$LZXDaLlb+XlDPlw%d95OD9fqR
zp+q-gK#@y&6#DT+^WvbDZwEvDL`$tZm+=SJ>t##b#J#9)7ex$40@m&fLy}NBR3IiV
zHe9`kp?X2LwUD+bX!&E$ol4a3iM-`rgcR10jBzH+;u4?}V@C)ploS|xS;Uveq>S!V
zVIx9fnUn7omZ!hb^J)Z{T_&2F9V14){gDbyGTR3Z*}qA<Fmz8plCa2V#DCgIr9A%L
zuA=U24j@8+E=!3(@uIxA23V$I6sPh-zknRuI^XA5_ZCuw%}R<@)&bNYNi}q@5VrJW
zuGD%70=uZr1WK8sg2!16JDBHYrni##LqED!Tp$n;8=LuPx7XXq(@w=fQ2<F9gi~PK
zHX>O`+F|_4i({g$nxPuDSAc)x)98_S)e_A-YZ*cYfLzfvJ|f~Sf2za_bV$6LXU8_m
zZmwBku<6qIv8r&CfCwVlN(2CjhAZ2^rH9d?@nYJ!)if(zUo?PlZgLfhsu|!CLW%-l
zA~@qO6-h0@zA(U>-E~hy#(?7mk=|555ZQspRESl@LoztRRH=wQN|&}cDB%H<w3hJT
zNFE>N71hd72<&#pKwf3Lt|~~PF?F@5&yJgo6u}3$WZ}i%5_H2vMr_~D*8sExrg646
zhE;ssLA>nYgg?H7mHQ_dfL>K!9_){wZXACXm&dhj@}d_t8ads$byaU~?0ni<u&QcP
zxf$wFR{>w&%V7)kFZflieVw0dIT;*C?|W=1ASBEj;(aMWJ^T@L_gd_GZ2sAO2Eo=r
z8ZnQ07L*@{LsF)cZ`~-VzYOE01ZYe6SLmlM?5{!&;g(a2JMazRy19X+I+Nx&8!V1D
zhG4TmQ6@G<^NG(It_g^a>F}V)z5JRt5iMR{p)0J=*;lRtQiF1;jlB&6I@i#g6s&;J
zRI-|=7KIRzOBY2D=MEHQN%h?LY`vmXz9CFQb*MPcMSQ0JoWn4Q(KjGvUbOX!*A5%V
z##XhR?*D4g#0N?8%1eTKTFAX+?%gzwMSSpTm=|^Onrg&3N_#8HRJBb)DfjbK=zmL3
zmXdw3L*ri;5AQPnXxd!|CI?$%cWf~J95e}l$mwz?l}d=8sUt<QHyzh?HVhC)J#fHh
zR-qcMjXV};sKU@79axgC(XWbg^<fh#MED$kF;7_$DS{6CaGmClqHMU)HKrvV6LXtG
zYJQ^tHBtMc@PV%Z*1Ed;N{zX(k<%9drwk0}xrpIhN9ehfAEZ#4Ae*>?=IOwz`kmMD
z)6Wx>sWlB82;o~we{M$+GVlcV0p<`GH>%B5;X#|uLokGZGH7EBit+vpf@eGA203Jh
z?#f$eL7TaJ<F(?c9IB>LwVJcFr6N@}Kxz!V^aX#c0Du0UlXQH(cR6I~vm|RZp!8)4
z(nL8S-A{g|b#$0dVA-Rtt{R#jNeiaQ@x3E~wvLM}AWI$rK;)g3PZZHUZ{SNFv#slp
zC(ZopZbBhHp!A1!X7ph*%9Q-UGQXA-JGpi2ID6etk8BOi+yRsGt0p=d;!yX#^vAF_
z8kSU<yx1RsJEquLZ6nno>z78$jmNnDxqW2;a7`uEVY?$EqDLjlCBLEG8wJlck}sLb
z$HI8nXOY6Q&M*dY4eNh+Jj3o(={|W_y)wseW1%$vJnr%vrOpLBK0+#uQ?G2=(UZe+
zeKP%4D`Jjl$E54eaK`U*%Pm(#Palwq@x-5qt=RQWG0&k8nWk&2yR?CduUm5mIp4=-
zEo2gEsey`SP3M}7Z{J)ziJN`E%JDSl)eI?gpN))k(Tl9rFF10_<g~RYa=O->_C+o>
zI6^1&;UO<6BmpqT8dP<`L50E#zNn0vo*ATZSclBF<Hjc9dKfp(bZxuwI`68?nf#iP
zY}Qx+rSGU>1|Si_{E8;r9jz_kL<KdS^XF9=^t-`@vUk@j*{^7vAlXN93~Uy5&DSAX
zc>M1XuVICU^qd0_Z%JRTUZVWngSp>%Vd_*0`w46If__Vtg3`4rZJz>Vr(9}b{oNSz
z>cM13Iw$`g+w4h7RaU3=GqvIHp5|nAWV|%Gl+@fx9MO{~F7VK74ZXg*<??*KT*~~7
zEi1P>B%P=7{hq;yXzV8jxl_=un$L9~|D~4u++4!DsA^{>pT@Up&q?jiF=|tPamGvj
zmFxG}9P5-~+(C_wA&y3^mV)kR)Cnx_oL!H}NKW4i&-<Ri@<szPl7jxAeT7tIQrRyH
zL(QjqQ|H-LT3Z<xAkFDiI`3kI>6w)4OYVe~_ilNDYs8yjFhU^=;|WrYyuQu|Pxgjp
zyRN94zWU|CgS58<Q*|cKoX*Hn=3NaDMvUy5M58_D4;q_oIfU(m&+559TCk6hERO$?
z>AGgs#WX9BNTu%1=WaahT#9?%d?PI(LCmsqtUog7^8Et~dzwZ)uX>+qd|`vID^K&z
zG4=LPp}f~}*H2t~Zu{!8Pf~$anf>(-J<iy@uM3z1aa4kzdGS)4O(_hGy>%9x<da^P
z!iak&ab~Azx4m}91-%uRJt+=bWG*DZ=BIYA=eJ3_QKZU3uHXz+avde|??zp*K+YG!
z2a)A{>b|F_0fsYYRpk&#A?ap~Mq8J*O-g?o9F?AnE+Ly}i|*2=WypM+68hsY$Z1wl
z<$}j8&j))p&}^<vdsDqm7S`*E^!TwOTpE7$+98-@)O+(-wulINqFt$HN3vR4Q6!Qx
zaGzv>AG9$t1s!%*Cu%gCi}aY5rhZk+x1t*ntmYU7PAc+dJ^hp3>ZZk%`h>~>bD~jw
z?420y{+|=yJNLWTGB8KA;yC8BaO1d4BTUJ*Ux%$rJts+N+l(b<zhEJs*P3Hvp!$8w
z!*M;%eXWOi;AzB&Rl+YO-EPy<@7{%q`rObUF&sc<o%qzYGc#}!@5t=j>^r@^Y84bX
zd%ElA+o5ePnz^---t}v4@?^v-;r8ZG*JhqS<HULwO86GJZ9@47h!hx!f{dX^kj2IM
z6v=V%3MUD~JVg;ntwd3jHpO?CQk8L3>2WF=nV`m|YHU(M2`C&HB|0LzcT-jmjoNRD
z(#=oUM@-ZwCmPTb4M~Xy#}myr6HUk{S-C_>OPY)y&5E69!=~BsY4-DpmPp!RWYQU2
z(h+nLiIn6XlLTEs{WHNQ2H}T81dtFxWYG(4q9HK}{_{zfiINx5$-g0QM~vSNCnX2c
xlY`mGWPWn!eDbCI<Y-fRB#|CPqSIsO3>-a$PruWae0!drg-l5!A$9|B<i7@?9Pa=C

diff --git a/interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif b/interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif
deleted file mode 100644
index 80a4ea30c82acbcb024ccd89835d12f27a787ab3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2842
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

diff --git a/interface/web/themes/default-304/yaml/navigation/nav_vlist.css b/interface/web/themes/default-304/yaml/navigation/nav_vlist.css
deleted file mode 100644
index 7f1a5b9335..0000000000
--- a/interface/web/themes/default-304/yaml/navigation/nav_vlist.css
+++ /dev/null
@@ -1,109 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Vertical list navigation "vlist"
- * (de) Vertikale Navigationsliste "vlist"
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
-  #submenu {
-    width: 100%;
-    overflow: hidden;
-    margin: 2.4em 0 1.5em 0;
-    list-style-type: none;
-    border-top: 2px #ddd solid;
-    border-bottom: 2px #ddd solid;
-  }
-
-  #submenu ul { list-style-type: none; margin:0; padding: 0; }
-  #submenu li { float:left; width: 100%; margin:0; padding: 0; }
-
-  #submenu a,
-  #submenu strong {
-    display:block;
-    width: 90%;
-    padding: 3px 0px 3px 10%;
-    text-decoration: none;
-    background-color:#fff;
-    color: #444;
-    border-bottom: 1px #eee solid;
-  }
-
-  /* Menu Title */
-  #submenu li#title {
-    width: 90%;
-    padding: 3px 0px 3px 10%;
-    font-weight: bold;
-    color: #444;
-    background-color: #fff;
-    border-bottom: 4px #888 solid;
-  }
-
-  #submenu li span {
-    display:block;
-    width: 90%;
-    padding: 3px 0px 3px 10%;
-    font-weight: bold;
-    border-bottom: 1px #ddd solid;
-  }
-
-  /* Level 1 */
-  #submenu li#active,
-  #submenu li strong {
-    width: 90%;
-    padding: 3px 0px 3px 10%;
-    font-weight: bold;
-    color: #fff;
-    background-color:#aab;
-    border-bottom: 1px #eee solid;
-  }
-
-  #submenu li a { width: 90%; padding-left: 10%; background-color:#fff; color: #444; }
-  #submenu li a:focus,
-  #submenu li a:hover,
-  #submenu li a:active { background-color:#f63; color: #fff; }
-
-  /* Level 2 */
-  #submenu li ul li a,
-  #submenu li ul li#active,
-  #submenu li ul li strong,
-  #submenu li ul li span { width: 80%; padding-left: 20%; }
-
-  #submenu li ul li a { background-color:#f8f8f8; color: #666; }
-  #submenu li ul li a:focus,
-  #submenu li ul li a:hover,
-  #submenu li ul li a:active { background-color:#f63; color: #fff; }
-
-  /* Level 3 */
-  #submenu li ul li ul li a,
-  #submenu li ul li ul li#active,
-  #submenu li ul li ul li strong,
-  #submenu li ul li ul li span { width: 70%; padding-left: 30%; }
-
-  #submenu li ul li ul li a { background-color:#fcfcfc; color: #888; }
-  #submenu li ul li ul li a:focus,
-  #submenu li ul li ul li a:hover,
-  #submenu li ul li ul li a:active { background-color:#f63; color: #fff; }
-
-  /* Level 4 */
-  #submenu li ul li ul li ul li a,
-  #submenu li ul li ul li ul li#active,
-  #submenu li ul li ul li ul li strong,
-  #submenu li ul li ul li ul li span { width: 60%; padding-left: 40%; }
-
-  #submenu li ul li ul li ul li a { background-color:#ffffff; color: #aaa; }
-  #submenu li ul li ul li ul li a:focus,
-  #submenu li ul li ul li ul li a:hover,
-  #submenu li ul li ul li ul li a:active { background-color:#f63; color: #fff; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css b/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css
deleted file mode 100644
index 4490d7f1fb..0000000000
--- a/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css
+++ /dev/null
@@ -1,29 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Example of a patch stylesheet for the Internet Explorer
- * (de) Beispiel für ein Anpassungs-Stylesheet für den Internet Explorer
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* Layout independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
-@import url(/yaml/core/iehacks.css);
-
-/* Box model adjustments for vlist navigation | Box-Modell-Anpassungen für vlist-Navigation */
-/* @import url(/yaml/patches/patch_nav_vlist.css); */
-
-/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
-@media screen, projection
-{
-  /* add your adjustments here | Fügen Sie Ihre Anpassungen hier ein */
-
-}
diff --git a/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css b/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css
deleted file mode 100644
index cbf29487f9..0000000000
--- a/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css
+++ /dev/null
@@ -1,61 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) IE adjustment stylesheet for YAML vlist navigation
- *      Import this file within the IE-patch-file if needed in your layout
- *
- * (de) IE Anpassungs-Stylesheet für YAML vlist-Navigation
- *      Einbindung ins Layout erfolgt über den Import innerhalb des IE-Anspassungs-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
-  /**
-   * Box Model Bug
-   * (en) Adjustment of width values for list elements of the menu in IE 5.x/Win.
-   *      Note: If IE6 is running in quirks mode, it also needs 100% values!
-   *
-   * (de) Korrektur der Breitenangaben der Listenelemente des Submenüs im IE 5.x/Win.
-   *      Hinweis: Befindet sich der IE6 im Quirks Mode, so benötigt er ebenfalls 100%-Werte !
-   *
-   * @bugfix
-   * @affected   IE 5.x/Win (IE6 in Quirks-Mode)
-   * @css-for    IE 5.x/Win, IE6
-   * @valid      no
-   */
-
-  /* level 1 */
-  * html #submenu li a,
-  * html #submenu li strong,
-  * html #submenu li span,
-  * html #submenu li#title,
-  * html #submenu li#active { width: 100%; w\idth: 90%; }
-
-  /* level 2 */
-  * html #submenu li ul li a,
-  * html #submenu li ul li strong,
-  * html #submenu li ul li span,
-  * html #submenu li ul li#active { width: 100%; w\idth: 80%; }
-
-  /* level 3 */
-  * html #submenu li ul li ul li a,
-  * html #submenu li ul li ul li strong,
-  * html #submenu li ul li ul li span,
-  * html #submenu li ul li ul li#active { width: 100%; w\idth: 70%; }
-
-  /* level 4 */
-  * html #submenu li ul li ul li ul li a,
-  * html #submenu li ul li ul li ul li strong,
-  * html #submenu li ul li ul li ul li span,
-  * html #submenu li ul li ul li ul li#active { width: 100%; w\idth: 60%; }
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_003_draft.css b/interface/web/themes/default-304/yaml/print/print_003_draft.css
deleted file mode 100644
index 0363b4ee82..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_003_draft.css
+++ /dev/null
@@ -1,32 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - 0
-** #col3 - x
-*/
-
-@media print
-{
-  #col1 { display:none; }
-  #col2 { display:none; }
-  
-  #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_020_draft.css b/interface/web/themes/default-304/yaml/print/print_020_draft.css
deleted file mode 100644
index 2ded4f1143..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_020_draft.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - x
-** #col3 - 0
-*/
-@media print
-{
-  #col1 { display:none; }
-  #col3 { display:none; }
-
-  #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_023_draft.css b/interface/web/themes/default-304/yaml/print/print_023_draft.css
deleted file mode 100644
index e005a588ae..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_023_draft.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - x
-** #col3 - x
-*/
-
-@media print
-{
-  #col1 { display:none; }
-
-  #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col2_content { page-break-after:always; }
-
-  #col3, #col3_content {width: 100%; margin:0; padding: 0; border:0; }
-
-  /* Optional Column Labels | Optionale Spaltenauszeichnung
-  #col2_content:before { content:" [ left | middle | right column ]"; }
-  #col3_content:before { content:" [ left | middle | right column ]"; }
-  */
-}
-
diff --git a/interface/web/themes/default-304/yaml/print/print_100_draft.css b/interface/web/themes/default-304/yaml/print/print_100_draft.css
deleted file mode 100644
index 2a6c71b197..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_100_draft.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - 0
-*/
-@media print
-{
-  #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-
-  #col2 { display:none; }
-  #col3 { display:none; }
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_103_draft.css b/interface/web/themes/default-304/yaml/print/print_103_draft.css
deleted file mode 100644
index a436374703..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_103_draft.css
+++ /dev/null
@@ -1,38 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - x
-*/
-@media print
-{
-  #col1, #col1_content {float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col1_content {page-break-after:always; }
-
-  #col2 { display:none; }
-
-  #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-
-  /* Optional Column Labels | Optionale Spaltenauszeichnung
-  #col1_content:before { content:" [ left | middle | right column ]"; }
-  #col3_content:before { content:" [ left | middle | right column ]"; }
-  */
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_120_draft.css b/interface/web/themes/default-304/yaml/print/print_120_draft.css
deleted file mode 100644
index 50ee571497..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_120_draft.css
+++ /dev/null
@@ -1,39 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - x
-** #col3 - 0
-*/
-@media print
-{
-  #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col1_content { page-break-after:always; }
-
-  #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col2_content { page-break-after:always; }
-
-  #col3 { display:none; }
-
-  /* Optional Column Labels | Optionale Spaltenauszeichnung
-  #col1_content:before { content:" [ left | middle | right column ]"; }
-  #col2_content:before { content:" [ left | middle | right column ]"; }
-  */
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_123_draft.css b/interface/web/themes/default-304/yaml/print/print_123_draft.css
deleted file mode 100644
index 42a7de1d5a..0000000000
--- a/interface/web/themes/default-304/yaml/print/print_123_draft.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - x
-** #col3 - x
-*/
-@media print
-{
-  #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col1_content { page-break-after:always; }
-
-  #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-  #col2_content { page-break-after:always; }
-
-  #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-
-  /* Optional Column Labels | Optionale Spaltenauszeichnung
-  #col1_content:before { content:" [ left | middle | right column ]"; }
-  #col2_content:before { content:" [ left | middle | right column ]"; }
-  #col3_content:before { content:" [ left | middle | right column ]"; }
-  */
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/screen/basemod_draft.css b/interface/web/themes/default-304/yaml/screen/basemod_draft.css
deleted file mode 100644
index 6d33ff8dda..0000000000
--- a/interface/web/themes/default-304/yaml/screen/basemod_draft.css
+++ /dev/null
@@ -1,70 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Template for designing a screen layout
- * (de) Gestaltungsvorlage für die Erstellung eines Screenlayouts
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * Design of the Basic Layout | Gestaltung des YAML Basis-Layouts
-  *
-  * @section layout-basics
-  */
-
-  /* Page margins and background | Randbereiche & Seitenhintergrund */
-  body {  }
-
-  /* Layout: Width, Background, Border | Layout: Breite, Hintergrund, Rahmen */
-  #page_margins {  }
-  #page{  }
-
-  /* Design of the Main Layout Elements | Gestaltung der Hauptelemente des Layouts */
-  #header {  }
-  #topnav {  }
-
-  #main {  }
-
-  #footer {  }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * Formatting of the Content Area | Formatierung der Inhaltsbereichs
-  *
-  * @section layout-main
-  */
-
-  #col1 {  }
-  #col1_content {  }
-
-  #col2 {  }
-  #col2_content {  }
-
-  #col3 {  }
-  #col3_content {  }
-
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
-  * Design of Additional Layout Elements | Gestaltung weiterer Layoutelemente
-  *
-  * @section layout-misc
-  */
-
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/screen/content_default.css b/interface/web/themes/default-304/yaml/screen/content_default.css
deleted file mode 100644
index 1852ac1169..0000000000
--- a/interface/web/themes/default-304/yaml/screen/content_default.css
+++ /dev/null
@@ -1,170 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of standard content elements
- * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
- *
- * @copyright       Copyright 2005-2008, Dirk Jesse
- * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link            http://www.yaml.de
- * @package         yaml
- * @version         3.0.6
- * @revision        $Revision: 202 $
- * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
-  /**
-   * Fonts
-   * (en) font-family and font-size selection for headings and standard text elements
-   * (de) Zeichensatz und Schriftgrößen für Überschriften und übliche Text-Elemente
-   *
-   * @section content-fonts
-   */
-
-  /* (en) reset font size for all elements to standard (16 Pixel) */
-  /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
-  html * { font-size: 100.01%; }
-
-  /* (en) reset monospaced elements to font size 16px in Gecko browsers */
-  /* (de) Schriftgröße von monospaced Elemente auf 16 Pixel setzen */
-  textarea, pre, tt, code {
-	font-family:"Courier New", Courier, monospace;  	
-  }
-
-  /* (en) base layout gets standard font size 12px */
-  /* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
-  body {
-    font-family: 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;
-    font-size: 75.00%; 
-  }
-
-  h1,h2,h3,h4,h5,h6 { font-weight:bold; margin: 0 0 0.25em 0; }
-  h1 { font-size: 200% }                        /* 24px */
-  h2 { font-size: 166.67% }                     /* 20px */
-  h3 { font-size: 150% }                        /* 18px */
-  h4 { font-size: 133.33% }                     /* 16px */
-  h5 { font-size: 116.67% }                     /* 14px */
-  h6 { font-size: 116.67%; font-style:italic; } /* 14px */
-
-  p { line-height: 1.5em; margin: 0 0 1em 0; }
-
-  /* ### Lists | Listen  #### */
-
-  ul, ol, dl { line-height: 1.5em; margin: 0 0 1em 1em; }
-  li { margin-left: 1.5em; line-height: 1.5em; }
-
-  dt { font-weight: bold; }
-  dd { margin: 0 0 1em 2em; }
-
-  /* ### text formatting | Textauszeichnung ### */
-
-  cite, blockquote { font-style:italic; }
-  blockquote { margin: 0 0 1em 1.5em; }
-
-  strong,b { font-weight: bold; }
-  em,i { font-style:italic; }
-
-  pre, code { font-family: monospace; font-size: 1.1em; }
-
-  acronym, abbr {
-    letter-spacing: .07em;
-    border-bottom: .1em dashed #c00;
-    cursor: help;
-  }
-
-  /**
-   * Generic Content Classes
-   * (en) standard classes for positioning and highlighting
-   * (de) Standardklassen zur Positionierung und Hervorhebung
-   *
-   * @section content-generic-classes
-   */
-
-  .note { background: #dfd; padding: 1em; border-top: 1px #bdb dotted; border-bottom: 1px #bdb dotted; }
-  .important { background: #ffd; padding: 1em; border-top: 1px #ddb dotted; border-bottom: 1px #ddb dotted; }
-  .warning { background: #fdd; padding: 1em; border-top: 1px #dbb dotted; border-bottom: 1px #dbb dotted; }
-
-  .float_left { float: left; display:inline; margin-right: 1em; margin-bottom: 0.15em; }
-  .float_right { float: right; display:inline; margin-left: 1em; margin-bottom: 0.15em; }
-  .center { text-align:center; margin: 0.5em auto; }
-
-  /**
-   * External Links
-   *
-   * (en) Formatting of hyperlinks
-   * (de) Gestaltung von Hyperlinks
-   *
-   */
-
-  a { color: #900; text-decoration:none; }
-  a:focus,
-  a:hover,
-  a:active { background-color: #fee; text-decoration:underline; }
-  
-  #topnav a { color: #aac; font-weight: bold; background:transparent; text-decoration:none; }
-  #topnav a:focus,
-  #topnav a:hover,
-  #topnav a:active{ text-decoration:underline; background-color: transparent; }
-  
-  #footer a { color: #aac; background:transparent; font-weight: bold; }
-  #footer a:focus,
-  #footer a:hover,
-  #footer a:active { color: #fff; background-color: transparent; text-decoration:underline; }
-
-  /**
-   * (en) Emphasizing external Hyperlinks via CSS
-   * (de) Hervorhebung externer Hyperlinks mit CSS
-   *
-   * @section             content-external-links
-   * @app-yaml-default    disabled
-   */
-
-  /*
-  #main a[href^="http://www.my-domain.com"],
-  #main a[href^="https://www.my-domain.com"]
-  {
-    padding-left: 12px;
-    background-image: url('your_image.gif');
-    background-repeat: no-repeat;
-    background-position: 0 0.45em;
-  }
-  */
-
-  /**
-   * Tables | Tabellen
-   * (en) Generic classes for table-width and design definition
-   * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
-   *
-   * @section content-tables
-   */
-
-  table { width: auto; border-collapse:collapse; margin-bottom: 0.5em; }
-  table.full { width: 100%; }
-  table.fixed { table-layout:fixed; }
-
-  th,td { padding: 0.5em; }
-  thead th { background: #444; color: #fff; }
-  tbody th { background: #ccc; color: #333; }
-  tbody th.sub { background: #ddd; color: #333; }
-
-  /**
-   * Miscellaneous | Sonstiges
-   *
-   * @section content-misc
-   */
-
-  hr {
-    color: #fff;
-    background:transparent;
-    margin: 0 0 0.5em 0;
-    padding: 0 0 0.5em 0;
-    border:0;
-    border-bottom: 1px #000 solid;
-  }
-}
-
-- 
GitLab


From 94b44c61a92adcc52feed671f24a09f1f564cc3a Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 17:06:16 +0200
Subject: [PATCH 077/158] Improved checks in openvz plugin and DB library.

---
 interface/lib/classes/db_mysql.inc.php        | 47 +++++++++++--
 .../lib/plugins/vm_openvz_plugin.inc.php      | 66 +++++++++----------
 2 files changed, 73 insertions(+), 40 deletions(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 12b3b4260b..13a8633a83 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -262,12 +262,18 @@ class db extends mysqli
 	public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new, $force_update = false) {
 		global $app, $conf;
 
-		// Insert backticks only for incomplete table names.
-		if(stristr($db_table, '.')) {
-			$escape = '';
+		// Check fields
+		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
+		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$primary_field)) $app->error('Invalid primary field '.$primary_field.' in table '.$db_table);
+		
+		if(strpos($db_table, '.') !== false) {
+			$db_table = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $db_table);
 		} else {
-			$escape = '`';
+			$db_table = '`' . $db_table . '`';
 		}
+		
+		$primary_field = $this->quote($primary_field);
+		$primary_id = intval($primary_id);
 
 		if($force_update == true) {
 			//* We force a update even if no record has changed
@@ -307,7 +313,16 @@ class db extends mysqli
 	public function datalogInsert($tablename, $insert_data, $index_field) {
 		global $app;
 		
-		$tablename = $this->quote($tablename);
+		// Check fields
+		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		
+		if(strpos($tablename, '.') !== false) {
+			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+		} else {
+			$tablename = '`' . $tablename . '`';
+		}
+		
 		$index_field = $this->quote($index_field);
 
 		if(is_array($insert_data)) {
@@ -337,7 +352,16 @@ class db extends mysqli
 	public function datalogUpdate($tablename, $update_data, $index_field, $index_value, $force_update = false) {
 		global $app;
 		
-		$tablename = $this->quote($tablename);
+		// Check fields
+		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		
+		if(strpos($tablename, '.') !== false) {
+			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+		} else {
+			$tablename = '`' . $tablename . '`';
+		}
+		
 		$index_field = $this->quote($index_field);
 		$index_value = $this->quote($index_value);
 
@@ -364,7 +388,16 @@ class db extends mysqli
 	public function datalogDelete($tablename, $index_field, $index_value) {
 		global $app;
 		
-		$tablename = $this->quote($tablename);
+		// Check fields
+		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		
+		if(strpos($tablename, '.') !== false) {
+			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+		} else {
+			$tablename = '`' . $tablename . '`';
+		}
+		
 		$index_field = $this->quote($index_field);
 		$index_value = $this->quote($index_value);
 
diff --git a/interface/lib/plugins/vm_openvz_plugin.inc.php b/interface/lib/plugins/vm_openvz_plugin.inc.php
index 98b0f9f422..94ccf350f0 100644
--- a/interface/lib/plugins/vm_openvz_plugin.inc.php
+++ b/interface/lib/plugins/vm_openvz_plugin.inc.php
@@ -33,7 +33,7 @@ class vm_openvz_plugin {
 	function openvz_vm_insert($event_name, $page_form) {
 		global $app, $conf;
 
-		$this->id = $page_form->id;
+		$this->id = $app->functions->intval($page_form->id);
 		$this->dataRecord = $page_form->dataRecord;
 		$this->oldDataRecord = $page_form->oldDataRecord;
 
@@ -58,7 +58,7 @@ class vm_openvz_plugin {
 		$this->applyTemplate();
 
 		// Set the IP address
-		$app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$this->dataRecord['ip_address']."'");
+		$app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."'");
 
 		// Create the OpenVZ config file and store it in config field
 		$this->makeOpenVZConfig();
@@ -74,7 +74,7 @@ class vm_openvz_plugin {
 	function openvz_vm_update($event_name, $page_form) {
 		global $app, $conf;
 
-		$this->id = $page_form->id;
+		$this->id = $app->functions->intval($page_form->id);
 		$this->dataRecord = $page_form->dataRecord;
 		$this->oldDataRecord = $page_form->oldDataRecord;
 
@@ -94,7 +94,7 @@ class vm_openvz_plugin {
 		}
 
 		// Set the IP address
-		if(isset($this->dataRecord['ip_address'])) $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$this->dataRecord['ip_address']."'");
+		if(isset($this->dataRecord['ip_address'])) $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."'");
 
 		// Create the OpenVZ config file and store it in config field
 		$this->makeOpenVZConfig();
@@ -111,7 +111,7 @@ class vm_openvz_plugin {
 		global $app, $conf;
 
 		//* Free the IP address
-		$tmp = $app->db->queryOneRecord("SELECT ip_address_id FROM openvz_ip WHERE vm_id = ".$page_form->id);
+		$tmp = $app->db->queryOneRecord("SELECT ip_address_id FROM openvz_ip WHERE vm_id = ".$app->functions->intval($page_form->id));
 		$app->db->datalogUpdate('openvz_ip', 'vm_id = 0', 'ip_address_id', $tmp['ip_address_id']);
 		unset($tmp);
 
@@ -120,20 +120,20 @@ class vm_openvz_plugin {
 	private function applyTemplate() {
 		global $app, $conf;
 
-		$tpl = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$this->dataRecord["template_id"]);
+		$tpl = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$app->functions->intval($this->dataRecord["template_id"]));
 
 		$sql = "UPDATE openvz_vm SET ";
-		$sql .= "diskspace = '".$tpl['diskspace']."', ";
-		$sql .= "ram = '".$tpl['ram']."', ";
-		$sql .= "ram_burst = '".$tpl['ram_burst']."', ";
-		$sql .= "cpu_units = '".$tpl['cpu_units']."', ";
-		$sql .= "cpu_num = '".$tpl['cpu_num']."', ";
-		$sql .= "cpu_limit = '".$tpl['cpu_limit']."', ";
-		$sql .= "io_priority = '".$tpl['io_priority']."', ";
-		$sql .= "nameserver = '".$tpl['nameserver']."', ";
-		$sql .= "create_dns = '".$tpl['create_dns']."', ";
-		$sql .= "capability = '".$tpl['capability']."' ";
-		$sql .= "WHERE vm_id = ".$this->id;
+		$sql .= "diskspace = '".$app->db->quote($tpl['diskspace'])."', ";
+		$sql .= "ram = '".$app->db->quote($tpl['ram'])."', ";
+		$sql .= "ram_burst = '".$app->db->quote($tpl['ram_burst'])."', ";
+		$sql .= "cpu_units = '".$app->db->quote($tpl['cpu_units'])."', ";
+		$sql .= "cpu_num = '".$app->db->quote($tpl['cpu_num'])."', ";
+		$sql .= "cpu_limit = '".$app->db->quote($tpl['cpu_limit'])."', ";
+		$sql .= "io_priority = '".$app->db->quote($tpl['io_priority'])."', ";
+		$sql .= "nameserver = '".$app->db->quote($tpl['nameserver'])."', ";
+		$sql .= "create_dns = '".$app->db->quote($tpl['create_dns'])."', ";
+		$sql .= "capability = '".$app->db->quote($tpl['capability'])."' ";
+		$sql .= "WHERE vm_id = ".$app->functions->intval($this->id);
 		$app->db->query($sql);
 
 	}
@@ -141,8 +141,8 @@ class vm_openvz_plugin {
 	private function makeOpenVZConfig() {
 		global $app, $conf;
 
-		$vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$this->id);
-		$vm_template = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$vm['template_id']);
+		$vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$app->functions->intval($this->id));
+		$vm_template = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$app->functions->intval($vm['template_id']));
 		$burst_ram = $vm['ram_burst']*256;
 		$guar_ram = $vm['ram']*256;
 
@@ -194,12 +194,12 @@ class vm_openvz_plugin {
 		$tpl->setVar('nameserver', $vm['nameserver']);
 		$tpl->setVar('capability', $vm['capability']);
 
-		$tmp = $app->db->queryOneRecord("SELECT template_file FROM openvz_ostemplate WHERE ostemplate_id = ".$vm['ostemplate_id']);
+		$tmp = $app->db->queryOneRecord("SELECT template_file FROM openvz_ostemplate WHERE ostemplate_id = ".$app->functions->intval($vm['ostemplate_id']));
 		$tpl->setVar('ostemplate', $tmp['template_file']);
 		unset($tmp);
 
 		$openvz_config = $app->db->quote($tpl->grab());
-		$app->db->query("UPDATE openvz_vm SET config = '".$openvz_config."' WHERE vm_id = ".$this->id);
+		$app->db->query("UPDATE openvz_vm SET config = '".$openvz_config."' WHERE vm_id = ".$app->functions->intval($this->id));
 
 		unset($tpl);
 
@@ -208,33 +208,33 @@ class vm_openvz_plugin {
 	private function createDNS() {
 		global $app, $conf;
 
-		$vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$this->id);
+		$vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$app->functions->intval($this->id));
 
 		if($vm['create_dns'] != 'y') return;
 
 		$full_hostname = str_replace('{VEID}', $vm['veid'], $vm['hostname']);
 		$hostname_parts = explode('.', $full_hostname);
-		$hostname = $hostname_parts[0];
+		$hostname = $app->db->quote($hostname_parts[0]);
 		unset($hostname_parts[0]);
-		$zone = implode('.', $hostname_parts);
+		$zone = $app->db->quote((implode('.', $hostname_parts));
 		unset($hostname_parts);
 
 		// Find the dns zone
-		$zone_rec = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE origin = '$zone.'");
-		$rr_rec = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = '".$zone_rec['id']."' AND name = '$hostname'");
+		$zone_rec = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE origin = '".$app->db->quote($zone).".'");
+		$rr_rec = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = '".$app->functions->intval($zone_rec['id'])."' AND name = '".$app->db->quote($hostname)."'");
 
 		if($zone_rec['id'] > 0) {
-			$ip_address = $vm['ip_address'];
-			$sys_userid = $zone_rec['sys_userid'];
-			$sys_groupid = $zone_rec['sys_groupid'];
-			$server_id = $zone_rec['server_id'];
-			$dns_soa_id = $zone_rec['id'];
+			$ip_address = $app->db->quote($vm['ip_address']);
+			$sys_userid = $app->functions->intval($zone_rec['sys_userid']);
+			$sys_groupid = $app->functions->intval($zone_rec['sys_groupid']);
+			$server_id = $app->functions->intval($zone_rec['server_id']);
+			$dns_soa_id = $app->functions->intval($zone_rec['id']);
 
 			if($rr_rec['id'] > 0) {
 				$app->uses('validate_dns');
-				$app->db->datalogUpdate('dns_rr', "data = '$ip_address'", 'id', $rr_rec['id']);
+				$app->db->datalogUpdate('dns_rr', "data = '$ip_address'", 'id', $app->functions->intval($rr_rec['id']));
 				$serial = $app->validate_dns->increase_serial($zone_rec['serial']);
-				$app->db->datalogUpdate('dns_soa', "serial = '$serial'", 'id', $zone_rec['id']);
+				$app->db->datalogUpdate('dns_soa', "serial = '$serial'", 'id', $app->functions->intval($zone_rec['id']));
 			} else {
 				$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
 				('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$hostname', 'A', '$ip_address', '0', '3600', 'Y')";
-- 
GitLab


From 3ee67a99739154fa5fab3a041edabc14415d4e70 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 17:49:30 +0200
Subject: [PATCH 078/158] Added additional username check in form files.

---
 interface/web/sites/form/shell_user.tform.php  |  7 +++++++
 interface/web/sites/form/web_domain.tform.php  | 14 ++++++++++++++
 interface/web/sites/lib/lang/en_shell_user.lng |  1 +
 interface/web/sites/lib/lang/en_web_domain.lng |  1 +
 4 files changed, 23 insertions(+)

diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index 062ed6e0b0..8ad815998c 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -93,6 +93,13 @@ $form["tabs"]['shell'] = array (
 				1 => array ( 'type' => 'REGEX',
 					'regex' => '/^[\w\.\-]{0,32}$/',
 					'errmsg'=> 'username_error_regex'),
+				2 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => true,
+							'errmsg' => 'invalid_username_txt'
+						),
 			),
 			'default' => '',
 			'value'  => '',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 651b64355a..04b0e1290a 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -582,6 +582,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 				'formtype' => 'TEXT',
 				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
 						'errmsg'=> 'sysuser_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default' => '',
 				'value'  => '',
@@ -593,6 +600,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 				'formtype' => 'TEXT',
 				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
 						'errmsg'=> 'sysgroup_error_empty'),
+						1 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_systemuser',
+							'function' => 'check_sysuser',
+							'check_names' => true,
+							'errmsg' => 'invalid_system_user_or_group_txt'
+						),
 				),
 				'default' => '',
 				'value'  => '',
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index 2ae9b4e6a1..c3f21d52d7 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -31,4 +31,5 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
 ?>
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 8c8f90eb0f..0478e9972c 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
\ No newline at end of file
-- 
GitLab


From 19b5e01da02aa2115ee802cf2e43a7f3e58f4eac Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 19:28:03 +0200
Subject: [PATCH 079/158] Added function "is_superadmin" in auth library and
 improved other functions.

---
 interface/lib/classes/auth.inc.php | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 070662fda8..5be11cb7b4 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -44,6 +44,14 @@ class auth {
 			return false;
 		}
 	}
+	
+	public function is_superadmin() {
+		if($_SESSION['s']['user']['typ'] == 'admin' && $_SESSION['s']['user']['userid'] === 1) {
+			return true;
+		} else {
+			return false;
+		}
+	}
 
 	public function has_clients($userid) {
 		global $app, $conf;
@@ -83,6 +91,7 @@ class auth {
 		global $app;
 		
 		$userid = $app->functions->intval($userid);
+		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$limitname)) $app->error('Invalid limit name '.$limitname);
 		
 		// simple query cache
 		if($this->client_limits===null)
@@ -120,7 +129,8 @@ class auth {
 
 	public function check_module_permissions($module) {
 		// Check if the current user has the permissions to access this module
-		if(!stristr($_SESSION["s"]["user"]["modules"], $module)) {
+		$user_modules = explode(',',$_SESSION["s"]["user"]["modules"]);
+		if(!in_array($module,$user_modules)) {
 			// echo "LOGIN_REDIRECT:/index.php";
 			header("Location: /index.php");
 			exit;
-- 
GitLab


From cd48c7ce11e4ca3b2094d6a1fd51dca3e07b6905 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 19:28:36 +0200
Subject: [PATCH 080/158] Added missing underscores in table name validation
 functions.

---
 interface/lib/classes/db_mysql.inc.php | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 13a8633a83..ccf4a84ca3 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -263,8 +263,8 @@ class db extends mysqli
 		global $app, $conf;
 
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
-		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$primary_field)) $app->error('Invalid primary field '.$primary_field.' in table '.$db_table);
+		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
+		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$primary_field)) $app->error('Invalid primary field '.$primary_field.' in table '.$db_table);
 		
 		if(strpos($db_table, '.') !== false) {
 			$db_table = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $db_table);
@@ -314,8 +314,8 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
-		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
 			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
@@ -353,8 +353,8 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
-		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
 			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
@@ -389,8 +389,8 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
-		if(!preg_match('/^[a-zA-Z0-9\-]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
 			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
-- 
GitLab


From 93b75676ecc55ff703f920e3b6357dde4b1b884a Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 19:28:59 +0200
Subject: [PATCH 081/158] Added User validation in shell and web tform files.

---
 interface/web/sites/form/shell_user.tform.php | 2 +-
 interface/web/sites/form/web_domain.tform.php | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index 8ad815998c..db4efe34e9 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -97,7 +97,7 @@ $form["tabs"]['shell'] = array (
 							'type' => 'CUSTOM',
 							'class' => 'validate_systemuser',
 							'function' => 'check_sysuser',
-							'check_names' => true,
+							'check_names' => false,
 							'errmsg' => 'invalid_username_txt'
 						),
 			),
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 04b0e1290a..f270de30f7 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -603,7 +603,7 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 						1 => array(
 							'type' => 'CUSTOM',
 							'class' => 'validate_systemuser',
-							'function' => 'check_sysuser',
+							'function' => 'check_sysgroup',
 							'check_names' => true,
 							'errmsg' => 'invalid_system_user_or_group_txt'
 						),
-- 
GitLab


From 308c18aaadb730acf2e07363dd9d3783c94b72b2 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 19:53:03 +0200
Subject: [PATCH 082/158] Fixed syntax error.

---
 interface/lib/plugins/vm_openvz_plugin.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/plugins/vm_openvz_plugin.inc.php b/interface/lib/plugins/vm_openvz_plugin.inc.php
index 94ccf350f0..fd44205562 100644
--- a/interface/lib/plugins/vm_openvz_plugin.inc.php
+++ b/interface/lib/plugins/vm_openvz_plugin.inc.php
@@ -216,7 +216,7 @@ class vm_openvz_plugin {
 		$hostname_parts = explode('.', $full_hostname);
 		$hostname = $app->db->quote($hostname_parts[0]);
 		unset($hostname_parts[0]);
-		$zone = $app->db->quote((implode('.', $hostname_parts));
+		$zone = $app->db->quote((implode('.', $hostname_parts)));
 		unset($hostname_parts);
 
 		// Find the dns zone
-- 
GitLab


From 14ee7385443613d71f8d3824ae6efbd8340f087c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 08:01:47 +0200
Subject: [PATCH 083/158] Fixed: FS#3609 - When create a sieve filter (ex.
 autoresponder) insert null in file.

---
 server/plugins-available/maildeliver_plugin.inc.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index e3799d716e..c8fc0694b2 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -130,6 +130,7 @@ class maildeliver_plugin {
 			$tpl->setLoop('ccloop', $tmp_addresses_arr);
 
 			// Custom filters
+			if($data["new"]["custom_mailfilter"] == 'NULL') $data["new"]["custom_mailfilter"] = '';
 			$tpl->setVar('custom_mailfilter', $data["new"]["custom_mailfilter"]);
 
 			// Move junk
-- 
GitLab


From 4f1e6a27ed7712eceade6f17f66c54dc87db5ea9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 08:39:50 +0200
Subject: [PATCH 084/158] FS#3601 - Stop creating .htaccess files for NginX
 sites

---
 server/plugins-available/nginx_plugin.inc.php | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index b0e18c79a2..3478fc7498 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -643,9 +643,9 @@ class nginx_plugin {
 				if(is_file($conf['rootpath'] . '/conf-custom/index/robots.txt')) {
 					exec('cp ' . $conf['rootpath'] . '/conf-custom/index/robots.txt '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
 				}
-				if(is_file($conf['rootpath'] . '/conf-custom/index/.htaccess')) {
-					exec('cp ' . $conf['rootpath'] . '/conf-custom/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
-				}
+				//if(is_file($conf['rootpath'] . '/conf-custom/index/.htaccess')) {
+				//	exec('cp ' . $conf['rootpath'] . '/conf-custom/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
+				//}
 			}
 			else {
 				if (file_exists($conf['rootpath'] . '/conf-custom/index/standard_index.html')) {
@@ -655,7 +655,7 @@ class nginx_plugin {
 					exec('cp ' . $conf['rootpath'] . '/conf/index/standard_index.html_'.substr(escapeshellcmd($conf['language']), 0, 2).' '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/index.html');
 					if(is_file($conf['rootpath'] . '/conf/index/favicon.ico')) exec('cp ' . $conf['rootpath'] . '/conf/index/favicon.ico '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
 					if(is_file($conf['rootpath'] . '/conf/index/robots.txt')) exec('cp ' . $conf['rootpath'] . '/conf/index/robots.txt '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
-					if(is_file($conf['rootpath'] . '/conf/index/.htaccess')) exec('cp ' . $conf['rootpath'] . '/conf/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
+					//if(is_file($conf['rootpath'] . '/conf/index/.htaccess')) exec('cp ' . $conf['rootpath'] . '/conf/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
 				}
 			}
 			exec('chmod -R a+r '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
-- 
GitLab


From 12c2a9e2ae60ffc9075111bab7fc76fa36c79437 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 09:09:21 +0200
Subject: [PATCH 085/158] Fixes: FS#3610 - The optional wrning message on form
 tab change is not showing up when activated

---
 interface/web/themes/default/templates/main.tpl.htm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index 3339d9f3bd..e331e441b8 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -48,8 +48,8 @@
                 
                 jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
                 
-                tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
-                tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+                tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled">';
+                tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled">';
                 tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
                 tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
 				
-- 
GitLab


From a5e225d6a00fa21f3fb3a77b43b318701377f0e3 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 09:23:09 +0200
Subject: [PATCH 086/158] Fixes: FS#3073 - Changes on Tab change possibly bug

---
 interface/web/js/scrigo.js.php | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index 85a321c551..229c721be3 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -438,6 +438,8 @@ function loadMenus() {
 }
 
 function changeTab(tab,target,force) {
+	if(requestsRunning > 0) return false;
+	
 	//document.forms[0].next_tab.value = tab;
 	document.pageForm.next_tab.value = tab;
 
-- 
GitLab


From bfc771477f5a60509bf6318d6ee2a30e14412906 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 09:44:12 +0200
Subject: [PATCH 087/158] Fixes: FS#3364 - client_add does not check that
 reseller is actually reseller additionally fixes this for client_update

---
 interface/lib/classes/remoting.inc.php | 42 +++++++++++++++++++++++---
 1 file changed, 37 insertions(+), 5 deletions(-)

diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 3fe307deb2..0ccfd65478 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -1415,13 +1415,30 @@ class remoting {
 
 	public function client_add($session_id, $reseller_id, $params)
 	{
+		global $app;
+		
 		if (!$this->checkPerm($session_id, 'client_add'))
 		{
 			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
 		if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
-		$affected_rows = $this->klientadd('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $params);
+		
+		if($params['parent_client_id']) {
+			// check if this one is reseller
+			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($client_id));
+			if($check['limit_client'] == 0) {
+				$this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
+				return false;
+			}
+			
+			if(isset($params['limit_client']) && $params['limit_client'] != 0) {
+				$this->server->fault('Invalid reseller', 'Reseller cannot be client of another reseller.');
+				return false;
+			}
+		}
+		
+		$affected_rows = $this->klientadd('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $params);
 		return $affected_rows;
 
 	}
@@ -1437,9 +1454,25 @@ class remoting {
 		}
 
 		$app->uses('remoting_lib');
-		$app->remoting_lib->loadFormDef('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php');
+		$app->remoting_lib->loadFormDef('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php');
 		$old_rec = $app->remoting_lib->getDataRecord($client_id);
 
+		if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
+
+		if($params['parent_client_id']) {
+			// check if this one is reseller
+			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($client_id));
+			if($check['limit_client'] == 0) {
+				$this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
+				return false;
+			}
+			
+			if(isset($params['limit_client']) && $params['limit_client'] != 0) {
+				$this->server->fault('Invalid reseller', 'Reseller cannot be client of another reseller.');
+				return false;
+			}
+		}
+
 		// we need the previuos templates assigned here
 		$this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $client_id);
 		if(!is_array($this->oldTemplatesAssigned) || count($this->oldTemplatesAssigned) < 1) {
@@ -1462,8 +1495,7 @@ class remoting {
 		}
 
 
-		if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
-		$affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($reseller_id ? 'reseller' : 'client') . ':on_after_update');
+		$affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($params['parent_client_id'] ? 'reseller' : 'client') . ':on_after_update');
 
 		$app->remoting_lib->ispconfig_sysuser_update($params, $client_id);
 
@@ -3195,7 +3227,7 @@ class remoting {
 		$this->id = $insert_id;
 		$this->dataRecord = $params;
 
-		$app->plugin->raiseEvent('client:' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . ':on_after_insert', $this);
+		$app->plugin->raiseEvent('client:' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . ':on_after_insert', $this);
 
 		/*
 		if($app->db->errorMessage != '') {
-- 
GitLab


From c653844975fb13bf7aaf2cc0dc96c8c70906394e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 09:46:18 +0200
Subject: [PATCH 088/158] Fixed: FS#3564 - shell users accounts are not
 removed.

---
 server/plugins-available/shelluser_base_plugin.inc.php    | 2 +-
 server/plugins-available/shelluser_jailkit_plugin.inc.php | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index e331624133..67cbee02c5 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -231,7 +231,7 @@ class shelluser_base_plugin {
 			if($userid > $this->min_uid) {
 				// We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
 				if ($data['old']['chroot'] != "jailkit") {
-					$command = 'userdel -f';
+					$command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
 					$command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
 					exec($command);
 					$app->log("Deleted shelluser: ".$data['old']['username'], LOGLEVEL_DEBUG);
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index 9cf6fc89da..f0fb2799ea 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -226,7 +226,7 @@ class shelluser_jailkit_plugin {
 			$app->system->web_folder_protection($web['document_root'], false);
 
 			if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) {
-				$command = 'userdel -f';
+				$command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
 				$command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
 				exec($command);
 				$app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome, LOGLEVEL_DEBUG);
-- 
GitLab


From d22542170f179c6de7d5f1c3b1bc48c7678ec797 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 09:57:46 +0200
Subject: [PATCH 089/158] FS#3614 - Check mailman on Ubuntu 14.04

---
 install/lib/installer_base.lib.php              | 2 +-
 server/plugins-available/mailman_plugin.inc.php | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index cc22d9e02d..9bf84b6e1f 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -646,7 +646,7 @@ class installer_base {
 				copy('tpl/mailman-virtual_to_transport.sh', $full_file_name);
 			}
 			chgrp($full_file_name, 'list');
-			chmod($full_file_name, 0750);
+			chmod($full_file_name, 0755);
 		}
 
 		//* Create aliasaes
diff --git a/server/plugins-available/mailman_plugin.inc.php b/server/plugins-available/mailman_plugin.inc.php
index e2bd36a8d6..acf4eb9363 100644
--- a/server/plugins-available/mailman_plugin.inc.php
+++ b/server/plugins-available/mailman_plugin.inc.php
@@ -75,6 +75,7 @@ class mailman_plugin {
 
 		exec("nohup /usr/lib/mailman/bin/newlist -u ".escapeshellcmd($data["new"]["domain"])." -e ".escapeshellcmd($data["new"]["domain"])." ".escapeshellcmd($data["new"]["listname"])." ".escapeshellcmd($data["new"]["email"])." ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
 		if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+		if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
 		exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
 
 		$app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
@@ -84,12 +85,17 @@ class mailman_plugin {
 	// The purpose of this plugin is to rewrite the main.cf file
 	function update($event_name, $data) {
 		global $app, $conf;
+		
+		$this->update_config();
 
 		if($data["new"]["password"] != $data["old"]["password"] && $data["new"]["password"] != '') {
 			exec("nohup /usr/lib/mailman/bin/change_pw -l ".escapeshellcmd($data["new"]["listname"])." -p ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
 			exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
 			$app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
 		}
+		
+		if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+		if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
 	}
 
 	function delete($event_name, $data) {
@@ -100,6 +106,9 @@ class mailman_plugin {
 		exec("nohup /usr/lib/mailman/bin/rmlist -a ".escapeshellcmd($data["old"]["listname"])." >/dev/null 2>&1 &");
 
 		exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
+		
+		if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+		if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
 
 	}
 
-- 
GitLab


From 7272e49c868f30d434965a59b1dc209925aec1b2 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 09:58:25 +0200
Subject: [PATCH 090/158] Improved database library.

---
 interface/lib/classes/db_mysql.inc.php | 40 +++++++++++---------------
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index ccf4a84ca3..56d43f879b 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -263,15 +263,9 @@ class db extends mysqli
 		global $app, $conf;
 
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
+		if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
 		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$primary_field)) $app->error('Invalid primary field '.$primary_field.' in table '.$db_table);
 		
-		if(strpos($db_table, '.') !== false) {
-			$db_table = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $db_table);
-		} else {
-			$db_table = '`' . $db_table . '`';
-		}
-		
 		$primary_field = $this->quote($primary_field);
 		$primary_id = intval($primary_id);
 
@@ -314,13 +308,13 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
 		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
-			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+			$tablename_escaped = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
 		} else {
-			$tablename = '`' . $tablename . '`';
+			$tablename_escaped = '`' . $tablename . '`';
 		}
 		
 		$index_field = $this->quote($index_field);
@@ -340,9 +334,9 @@ class db extends mysqli
 		}
 
 		$old_rec = array();
-		$this->query("INSERT INTO $tablename $insert_data_str");
+		$this->query("INSERT INTO $tablename_escaped $insert_data_str");
 		$index_value = $this->insertID();
-		$new_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
+		$new_rec = $this->queryOneRecord("SELECT * FROM $tablename_escaped WHERE $index_field = '$index_value'");
 		$this->datalogSave($tablename, 'INSERT', $index_field, $index_value, $old_rec, $new_rec);
 
 		return $index_value;
@@ -353,19 +347,19 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
 		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
-			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+			$tablename_escaped = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
 		} else {
-			$tablename = '`' . $tablename . '`';
+			$tablename_escaped = '`' . $tablename . '`';
 		}
 		
 		$index_field = $this->quote($index_field);
 		$index_value = $this->quote($index_value);
 
-		$old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
+		$old_rec = $this->queryOneRecord("SELECT * FROM $tablename_escaped WHERE $index_field = '$index_value'");
 
 		if(is_array($update_data)) {
 			$update_data_str = '';
@@ -377,8 +371,8 @@ class db extends mysqli
 			$update_data_str = $update_data;
 		}
 
-		$this->query("UPDATE $tablename SET $update_data_str WHERE $index_field = '$index_value'");
-		$new_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
+		$this->query("UPDATE $tablename_escaped SET $update_data_str WHERE $index_field = '$index_value'");
+		$new_rec = $this->queryOneRecord("SELECT * FROM $tablename_escaped WHERE $index_field = '$index_value'");
 		$this->datalogSave($tablename, 'UPDATE', $index_field, $index_value, $old_rec, $new_rec, $force_update);
 
 		return true;
@@ -389,20 +383,20 @@ class db extends mysqli
 		global $app;
 		
 		// Check fields
-		if(!preg_match('/^[a-zA-Z0-9\.\-\_]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+		if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
 		if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
 		
 		if(strpos($tablename, '.') !== false) {
-			$tablename = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
+			$tablename_escaped = preg_replace('/^(.+)\.(.+)$/', '`$1`.`$2`', $tablename);
 		} else {
-			$tablename = '`' . $tablename . '`';
+			$tablename_escaped = '`' . $tablename . '`';
 		}
 		
 		$index_field = $this->quote($index_field);
 		$index_value = $this->quote($index_value);
 
-		$old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
-		$this->query("DELETE FROM $tablename WHERE $index_field = '$index_value'");
+		$old_rec = $this->queryOneRecord("SELECT * FROM $tablename_escaped WHERE $index_field = '$index_value'");
+		$this->query("DELETE FROM $tablename_escaped WHERE $index_field = '$index_value'");
 		$new_rec = array();
 		$this->datalogSave($tablename, 'DELETE', $index_field, $index_value, $old_rec, $new_rec);
 
-- 
GitLab


From f227fb72b50e8580cd5ec1f539ec5749de6dd48c Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 10:31:42 +0200
Subject: [PATCH 091/158] Support passwords in login that are crypted with
 crypt-SHA256

---
 interface/web/login/index.php | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 951dbaf29c..8043280cef 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -197,6 +197,13 @@ class login_index {
 									//* The password is crypt-md5 encrypted
 									$salt = '$1$'.substr($saved_password, 3, 8).'$';
 
+									if(crypt(stripslashes($passwort), $salt) != $saved_password) {
+										$user = false;
+									}
+								} elseif(substr($saved_password, 0, 3) == '$5$') {
+									//* The password is crypt-md5 encrypted
+									$salt = '$5$'.substr($saved_password, 3, 16).'$';
+
 									if(crypt(stripslashes($passwort), $salt) != $saved_password) {
 										$user = false;
 									}
-- 
GitLab


From 0e73fca2a24ffa6f1ec182563f22b73a387a59bb Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 10:49:02 +0200
Subject: [PATCH 092/158] - typo in comment

---
 interface/web/login/index.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 8043280cef..48d3af652b 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -201,7 +201,7 @@ class login_index {
 										$user = false;
 									}
 								} elseif(substr($saved_password, 0, 3) == '$5$') {
-									//* The password is crypt-md5 encrypted
+									//* The password is crypt-sha256 encrypted
 									$salt = '$5$'.substr($saved_password, 3, 16).'$';
 
 									if(crypt(stripslashes($passwort), $salt) != $saved_password) {
-- 
GitLab


From fa029ba07e16cf79f2adc8e049c0d981ec61d18e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 12:46:15 +0200
Subject: [PATCH 093/158] Added security directory.

---
 install/dist/lib/fedora.lib.php    | 14 +++++++--
 install/dist/lib/gentoo.lib.php    | 12 +++++++-
 install/dist/lib/opensuse.lib.php  | 12 +++++++-
 install/lib/installer_base.lib.php | 12 +++++++-
 security/check.php                 | 47 ++++++++++++++++++++++++++++++
 security/data/empty.dir            |  0
 server/server.sh                   |  3 ++
 7 files changed, 95 insertions(+), 5 deletions(-)
 create mode 100644 security/check.php
 create mode 100644 security/data/empty.dir

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index d6d975a150..e01a739d63 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -958,13 +958,13 @@ class installer_dist extends installer_base {
 			$this->db->query($sql);
 		}
 
-		/// chown install dir to root and chmod 755
+		// chown install dir to root and chmod 755
 		$command = 'chown root:root '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		$command = 'chmod 755 '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* Chmod the files and directoreies in the install dir
+		//* Chmod the files and directories in the install dir
 		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
@@ -975,6 +975,16 @@ class installer_dist extends installer_base {
 		//* chown the server files to the root user and group
 		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security directory and security_settings.ini to root:ispconfig
+		$command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 26474c51fc..fb6b13853a 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -856,7 +856,7 @@ class installer extends installer_base
 		$command = 'chmod 755 '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* Chmod the files and directoreies in the install dir
+		//* Chmod the files and directories in the install dir
 		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
@@ -867,6 +867,16 @@ class installer extends installer_base
 		//* chown the server files to the root user and group
 		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security directory and security_settings.ini to root:ispconfig
+		$command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index dad3a6a3cb..c76833169a 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -1034,7 +1034,7 @@ class installer_dist extends installer_base {
 		$command = 'chmod 755 '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* Chmod the files and directoreies in the install dir
+		//* Chmod the files and directories in the install dir
 		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
@@ -1045,6 +1045,16 @@ class installer_dist extends installer_base {
 		//* chown the server files to the root user and group
 		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security directory and security_settings.ini to root:ispconfig
+		$command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 9bf84b6e1f..19e1f032fd 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1891,7 +1891,7 @@ class installer_base {
 		$command = 'chmod 755 '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-		//* Chmod the files and directoreies in the install dir
+		//* Chmod the files and directories in the install dir
 		$command = 'chmod -R 750 '.$install_dir.'/*';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
@@ -1902,6 +1902,16 @@ class installer_base {
 		//* chown the server files to the root user and group
 		$command = 'chown -R root:root '.$install_dir.'/server';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security files to the root user and group
+		$command = 'chown -R root:root '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* chown the security directory and security_settings.ini to root:ispconfig
+		$command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/security/check.php b/security/check.php
new file mode 100644
index 0000000000..d6518a1c52
--- /dev/null
+++ b/security/check.php
@@ -0,0 +1,47 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, ISPConfig UG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"]));
+require SCRIPT_PATH."/lib/config.inc.php";
+require SCRIPT_PATH."/lib/app.inc.php";
+
+set_time_limit(0);
+ini_set('error_reporting', E_ALL & ~E_NOTICE);
+
+// make sure server_id is always an int
+$conf['server_id'] = intval($conf['server_id']);
+
+
+// Load required base-classes
+$app->uses('ini_parser,file,services,getconf,system');
+
+
+
+?>
\ No newline at end of file
diff --git a/security/data/empty.dir b/security/data/empty.dir
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/server/server.sh b/server/server.sh
index 75253e7890..88c30e7445 100755
--- a/server/server.sh
+++ b/server/server.sh
@@ -13,5 +13,8 @@ if [ -f /usr/local/ispconfig/server/lib/php.ini ]; then
         fi
 fi
 
+cd /usr/local/ispconfig/security
+/usr/bin/php -q /usr/local/ispconfig/security/check.php
+
 cd /usr/local/ispconfig/server
 /usr/bin/php -q /usr/local/ispconfig/server/server.php
-- 
GitLab


From 77edf6ef46c41285e3c29423c0d28e461c52eaa8 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 17:03:18 +0200
Subject: [PATCH 094/158] - added script to create additional htaccess for
 ispconfig interface

---
 server/scripts/ispconfig_htaccess.php | 75 +++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 server/scripts/ispconfig_htaccess.php

diff --git a/server/scripts/ispconfig_htaccess.php b/server/scripts/ispconfig_htaccess.php
new file mode 100644
index 0000000000..568ec50f5a
--- /dev/null
+++ b/server/scripts/ispconfig_htaccess.php
@@ -0,0 +1,75 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+$path = realpath(dirname(__FILE__)) . '/..';
+$iface_path = realpath(dirname(__FILE__)) . '/../../interface/web';
+
+require $path . '/lib/mysql_clientdb.conf';
+
+if(isset($argv[1])) $dbname = $argv[1];
+else $dbname = 'dbispconfig';
+if(!preg_match('/^[a-zA-Z0-9]+$/', $dbname)) die("Invalid database name\n");
+
+$link = mysqli_init();
+$con = mysqli_real_connect($link, $clientdb_host, $clientdb_user, $clientdb_password, $dbname);
+if(!$con) die('DB CON ERROR' . "\n");
+
+$qry = "SELECT username, passwort FROM sys_user WHERE active = '1'";
+$result = mysqli_query($link, $qry);
+if(!$result) die('Could not read users' . "\n");
+
+$cont = '';
+while($row = mysqli_fetch_assoc($result)) {
+	$cont .= $row['username'] . ':' . $row['passwort'] . "\n";
+}
+mysqli_free_result($result);
+mysqli_close($link);
+
+if($cont == '') die('No users found' . "\n");
+
+if(file_exists($iface_path . '/.htpasswd')) rename($iface_path . '/.htpasswd', $iface_path . '/.htpasswd.old');
+file_put_contents($iface_path . '/.htpasswd', $cont);
+chmod($iface_path . '/.htpasswd', 0644);
+
+$cont = 'AuthType Basic
+AuthName "Login"
+AuthUserFile ' . $iface_path . '/.htpasswd
+require valid-user';
+
+if(file_exists($iface_path . '/.htaccess')) rename($iface_path . '/.htaccess', $iface_path . '/.htaccess.old');
+file_put_contents($iface_path . '/.htaccess', $cont);
+chmod($iface_path . '/.htaccess', 0644);
+unset($cont);
+
+print 'Data written. Please check, if everything is working correctly.' . "\n";
+exit;
+
+?>
-- 
GitLab


From 9edea9976bd605071e0694a90d704266c0b7e0f9 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 17:30:03 +0200
Subject: [PATCH 095/158] - Added warning in the interface when a path for a
 shelluser is set that is outside of the website docroot. - Added security
 settings feature to allow the root user of a server to control most aspects
 of whet the admin user of the controlpanel is allowed to do in system
 settings. This is especially useful for managed severs where the ispconfig
 admin user and the root user of the server are different persons.

---
 interface/lib/classes/auth.inc.php            | 18 +++++-
 interface/lib/classes/getconf.inc.php         |  9 +++
 .../lib/classes/validate_systemuser.inc.php   | 56 +++++++++++++++++++
 interface/lib/lang/ar.lng                     |  2 +
 interface/lib/lang/bg.lng                     |  2 +
 interface/lib/lang/br.lng                     |  2 +
 interface/lib/lang/cz.lng                     |  2 +
 interface/lib/lang/de.lng                     |  2 +
 interface/lib/lang/el.lng                     |  2 +
 interface/lib/lang/en.lng                     |  6 +-
 interface/lib/lang/es.lng                     |  2 +
 interface/lib/lang/fi.lng                     |  2 +
 interface/lib/lang/fr.lng                     |  2 +
 interface/lib/lang/hr.lng                     |  4 +-
 interface/lib/lang/hu.lng                     |  4 +-
 interface/lib/lang/id.lng                     |  4 +-
 interface/lib/lang/it.lng                     |  4 +-
 interface/lib/lang/ja.lng                     |  4 +-
 interface/lib/lang/nl.lng                     |  4 +-
 interface/lib/lang/pl.lng                     |  4 +-
 interface/lib/lang/pt.lng                     |  4 +-
 interface/lib/lang/ro.lng                     |  4 +-
 interface/lib/lang/ru.lng                     |  4 +-
 interface/lib/lang/se.lng                     |  4 +-
 interface/lib/lang/sk.lng                     |  4 +-
 interface/lib/lang/tr.lng                     |  4 +-
 interface/web/admin/firewall_del.php          |  1 +
 interface/web/admin/firewall_edit.php         |  1 +
 interface/web/admin/groups_del.php            |  1 +
 interface/web/admin/groups_edit.php           |  1 +
 interface/web/admin/iptables_del.php          |  1 +
 interface/web/admin/iptables_edit.php         |  1 +
 interface/web/admin/iptables_list.php         |  2 +
 interface/web/admin/language_add.php          |  1 +
 interface/web/admin/language_complete.php     |  1 +
 interface/web/admin/language_edit.php         |  1 +
 interface/web/admin/language_export.php       |  1 +
 interface/web/admin/language_import.php       |  1 +
 .../web/admin/remote_action_osupdate.php      |  1 +
 interface/web/admin/remote_user_del.php       |  1 +
 interface/web/admin/remote_user_edit.php      |  3 +
 interface/web/admin/server_config_del.php     |  1 +
 interface/web/admin/server_config_edit.php    |  2 +
 interface/web/admin/server_del.php            |  1 +
 interface/web/admin/server_edit.php           |  1 +
 interface/web/admin/server_ip_del.php         |  1 +
 interface/web/admin/server_ip_edit.php        |  1 +
 interface/web/admin/server_php_del.php        |  1 +
 interface/web/admin/server_php_edit.php       |  1 +
 interface/web/admin/software_package_del.php  |  1 +
 interface/web/admin/software_package_edit.php |  1 +
 .../web/admin/software_package_install.php    |  1 +
 interface/web/admin/software_repo_del.php     |  1 +
 interface/web/admin/software_repo_edit.php    |  1 +
 interface/web/admin/software_update_list.php  |  1 +
 interface/web/admin/system_config_edit.php    |  1 +
 interface/web/admin/tpl_default.php           |  1 +
 interface/web/admin/users_del.php             |  1 +
 interface/web/admin/users_edit.php            | 13 +++++
 interface/web/remote/index.php                |  6 +-
 interface/web/sites/form/shell_user.tform.php |  4 ++
 .../web/sites/lib/lang/en_shell_user.lng      |  1 +
 interface/web/tools/user_settings.php         |  4 ++
 security/security_settings.ini                | 25 +++++++++
 server/lib/classes/getconf.inc.php            |  9 +++
 .../shelluser_base_plugin.inc.php             | 30 ++++++++--
 .../shelluser_jailkit_plugin.inc.php          | 31 ++++++++--
 67 files changed, 289 insertions(+), 29 deletions(-)
 create mode 100644 security/security_settings.ini

diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 5be11cb7b4..70c1722aed 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -46,7 +46,7 @@ class auth {
 	}
 	
 	public function is_superadmin() {
-		if($_SESSION['s']['user']['typ'] == 'admin' && $_SESSION['s']['user']['userid'] === 1) {
+		if($_SESSION['s']['user']['typ'] == 'admin' && $_SESSION['s']['user']['userid'] == 1) {
 			return true;
 		} else {
 			return false;
@@ -136,6 +136,22 @@ class auth {
 			exit;
 		}
 	}
+	
+	public function check_security_permissions($permission) {
+		
+		global $app;
+		
+		$app->uses('getconf');
+		$security_config = $app->getconf->get_security_config('permissions');
+
+		$security_check = false;
+		if($security_config[$permission] == 'yes') $security_check = true;
+		if($security_config[$permission] == 'superadmin' && $app->auth->is_superadmin()) $security_check = true;
+		if($security_check !== true) {
+			$app->error($app->lng('security_check1_txt').' '.$permission.' '.$app->lng('security_check2_txt'));
+		}
+		
+	}
 
 	public function get_random_password($length = 8) {
 		$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index 45fefa601b..7a29dbf425 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -54,6 +54,15 @@ class getconf {
 		}
 		return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
 	}
+	
+	public function get_security_config($section = '') {
+		global $app;
+
+		$app->uses('ini_parser');
+		$security_config = $app->ini_parser->parse_ini_string(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+
+		return ($section == '') ? $security_config : $security_config[$section];
+	}
 
 }
 
diff --git a/interface/lib/classes/validate_systemuser.inc.php b/interface/lib/classes/validate_systemuser.inc.php
index f1bbd2bb39..6df3a4589c 100644
--- a/interface/lib/classes/validate_systemuser.inc.php
+++ b/interface/lib/classes/validate_systemuser.inc.php
@@ -58,7 +58,63 @@ class validate_systemuser {
 		}
 	}
 
+	/*
+		Validator function to check if a given dir is ok.
+	*/
+	function shelluser_dir($field_name, $field_value, $validator) {
+		global $app;
+
+		if($app->tform->primary_id == 0) {
+			$errmsg = $validator['errmsg'];
+			if(isset($app->tform->wordbook[$errmsg])) {
+				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			} else {
+				return $errmsg."<br>\r\n";
+			}
+		}
+
+
+		$shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($app->tform->primary_id)."'");
+		if(!is_array($shell_data) || $shell_data["parent_domain_id"] < 1) {
+			$errmsg = $validator['errmsg'];
+			if(isset($app->tform->wordbook[$errmsg])) {
+				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			} else {
+				return $errmsg."<br>\r\n";
+			}
+		}
 
+		$domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($shell_data["parent_domain_id"])."'");
+		if(!is_array($domain_data) || $domain_data["domain_id"] < 1) {
+			$errmsg = $validator['errmsg'];
+			if(isset($app->tform->wordbook[$errmsg])) {
+				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			} else {
+				return $errmsg."<br>\r\n";
+			}
+		}
+
+		$doc_root = $domain_data["document_root"];
+		$is_ok = false;
+		if($doc_root == $field_value) $is_ok = true;
+
+		$doc_root .= "/";
+		if(substr($field_value, 0, strlen($doc_root)) == $doc_root) $is_ok = true;
+
+		if(stristr($field_value, '..') or stristr($field_value, './') or stristr($field_value, '/.')) $is_ok = false;
+
+		//* Final check if docroot path of website is >= 5 chars
+		if(strlen($doc_root) < 5) $is_ok = false;
+
+		if($is_ok == false) {
+			$errmsg = $validator['errmsg'];
+			if(isset($app->tform->wordbook[$errmsg])) {
+				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			} else {
+				return $errmsg."<br>\r\n";
+			}
+		}
+	}
 
 
 }
diff --git a/interface/lib/lang/ar.lng b/interface/lib/lang/ar.lng
index 2bef4b0d64..ed4bb29c04 100644
--- a/interface/lib/lang/ar.lng
+++ b/interface/lib/lang/ar.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/bg.lng b/interface/lib/lang/bg.lng
index 09b399ad5e..04380173ae 100644
--- a/interface/lib/lang/bg.lng
+++ b/interface/lib/lang/bg.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/br.lng b/interface/lib/lang/br.lng
index 7007f7dec6..275be4d1bd 100644
--- a/interface/lib/lang/br.lng
+++ b/interface/lib/lang/br.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng
index a48a835bb4..27fa49431b 100644
--- a/interface/lib/lang/cz.lng
+++ b/interface/lib/lang/cz.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Silná';
 $wb['strength_5'] = 'Velmi silná';
 $wb['weak_password_txt'] = 'Zvolené heslo neodpovídá požadavkům zásad pro tvorbu hesel. Heslo musí být alespoň {chars} znaků dlouhé a mající sílu \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'Zvolené heslo neodpovídá požadavkům zásad pro tvorbu hesel. Heslo musí být alespoň {chars} znaků dlouhé.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng
index dfd1c9b77d..735b1da09c 100644
--- a/interface/lib/lang/de.lng
+++ b/interface/lib/lang/de.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Stark';
 $wb['strength_5'] = 'Sehr stark';
 $wb['weak_password_txt'] = 'Das gewählte Passwort erfüllt die Sicherheitsanforderungen nicht. Es muss mindestens {chars} Zeichen lang sein und die Stärke \\"{strength}\\" besitzen.';
 $wb['weak_password_length_txt'] = 'Das gewählte Passwort erfüllt die Sicherheitsanforderungen nicht. Es muss mindestens {chars} Zeichen lang sein.';
+$wb['security_check1_txt'] = 'Sicherheitsüberprüfung für:';
+$wb['security_check2_txt'] = 'fehlgeschlagen.';
 ?>
diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng
index 20f26a448d..d8a2715909 100644
--- a/interface/lib/lang/el.lng
+++ b/interface/lib/lang/el.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng
index ec309d9f85..c89c97a7cc 100644
--- a/interface/lib/lang/en.lng
+++ b/interface/lib/lang/en.lng
@@ -131,7 +131,6 @@ $wb['datalog_status_d_web_folder'] = 'Delete folder protection';
 $wb['datalog_status_i_web_folder_user'] = 'Create folder protection user';
 $wb['datalog_status_u_web_folder_user'] = 'Update folder protection user';
 $wb['datalog_status_d_web_folder_user'] = 'Delete folder protection user';
-
 $wb['login_as_txt'] = 'Log in as';
 $wb["no_domain_perm"] = 'You have no permission for this domain.';
 $wb["no_destination_perm"] = 'You have no permission for this destination.';
@@ -149,5 +148,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng
index 63b62451be..ae21baf04e 100644
--- a/interface/lib/lang/es.lng
+++ b/interface/lib/lang/es.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/fi.lng b/interface/lib/lang/fi.lng
index 3cdfa12d8d..059c9b2deb 100755
--- a/interface/lib/lang/fi.lng
+++ b/interface/lib/lang/fi.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng
index 613f2a3428..c59aac41a1 100644
--- a/interface/lib/lang/fr.lng
+++ b/interface/lib/lang/fr.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
 ?>
diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng
index 26a98bfc14..634a396488 100644
--- a/interface/lib/lang/hr.lng
+++ b/interface/lib/lang/hr.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng
index ce9a102599..9aa46b4882 100644
--- a/interface/lib/lang/hu.lng
+++ b/interface/lib/lang/hu.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng
index a781fb597a..bc0a5f9504 100644
--- a/interface/lib/lang/id.lng
+++ b/interface/lib/lang/id.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng
index 8b2b810c3a..1f46893fe5 100644
--- a/interface/lib/lang/it.lng
+++ b/interface/lib/lang/it.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng
index 04fef3d96f..41cd638f89 100644
--- a/interface/lib/lang/ja.lng
+++ b/interface/lib/lang/ja.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng
index 458b53fa3e..b359dee1c5 100644
--- a/interface/lib/lang/nl.lng
+++ b/interface/lib/lang/nl.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng
index 87973f64b1..058680c471 100644
--- a/interface/lib/lang/pl.lng
+++ b/interface/lib/lang/pl.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng
index 84cd748af3..48beea8dd3 100644
--- a/interface/lib/lang/pt.lng
+++ b/interface/lib/lang/pt.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng
index 6431e11803..c5234fb838 100644
--- a/interface/lib/lang/ro.lng
+++ b/interface/lib/lang/ro.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng
index 566f8d83a1..7fb0ac863f 100644
--- a/interface/lib/lang/ru.lng
+++ b/interface/lib/lang/ru.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng
index 41a972f5ca..a7813bc0b0 100644
--- a/interface/lib/lang/se.lng
+++ b/interface/lib/lang/se.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Starkt';
 $wb['strength_5'] = 'Väldigt starkt';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng
index 4abcf0ca9e..63a16ce29e 100644
--- a/interface/lib/lang/sk.lng
+++ b/interface/lib/lang/sk.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng
index 0257a68b8b..e7d9e037fd 100644
--- a/interface/lib/lang/tr.lng
+++ b/interface/lib/lang/tr.lng
@@ -147,4 +147,6 @@ $wb['strength_4'] = 'Strong';
 $wb['strength_5'] = 'Very Strong';
 $wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/web/admin/firewall_del.php b/interface/web/admin/firewall_del.php
index c4ea5605c7..3fc23fe708 100644
--- a/interface/web/admin/firewall_del.php
+++ b/interface/web/admin/firewall_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_firewall_config');
 
 $app->uses("tform_actions");
 $app->tform_actions->onDelete();
diff --git a/interface/web/admin/firewall_edit.php b/interface/web/admin/firewall_edit.php
index d0c35db8e8..6c29f766d1 100644
--- a/interface/web/admin/firewall_edit.php
+++ b/interface/web/admin/firewall_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_firewall_config');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/groups_del.php b/interface/web/admin/groups_del.php
index 57b47d9f48..42eed9507b 100644
--- a/interface/web/admin/groups_del.php
+++ b/interface/web/admin/groups_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_cpuser_group');
 
 $app->uses("tform_actions");
 $app->tform_actions->onDelete();
diff --git a/interface/web/admin/groups_edit.php b/interface/web/admin/groups_edit.php
index 5ecf75fdf5..0000003616 100644
--- a/interface/web/admin/groups_edit.php
+++ b/interface/web/admin/groups_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_cpuser_group');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/iptables_del.php b/interface/web/admin/iptables_del.php
index 2497768c19..55371d6cb4 100644
--- a/interface/web/admin/iptables_del.php
+++ b/interface/web/admin/iptables_del.php
@@ -1,4 +1,5 @@
 <?php
+die('unused');
 /*
 Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
 All rights reserved.
diff --git a/interface/web/admin/iptables_edit.php b/interface/web/admin/iptables_edit.php
index 61d1ee3310..77c2ae7e57 100644
--- a/interface/web/admin/iptables_edit.php
+++ b/interface/web/admin/iptables_edit.php
@@ -1,4 +1,5 @@
 <?php
+die('unused');
 /*
 Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
 All rights reserved.
diff --git a/interface/web/admin/iptables_list.php b/interface/web/admin/iptables_list.php
index 8110460c1c..06141b669b 100644
--- a/interface/web/admin/iptables_list.php
+++ b/interface/web/admin/iptables_list.php
@@ -1,4 +1,6 @@
 <?php
+
+die('unused');
 /*
 Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
 All rights reserved.
diff --git a/interface/web/admin/language_add.php b/interface/web/admin/language_add.php
index 3444179a2a..8c488c34c9 100644
--- a/interface/web/admin/language_add.php
+++ b/interface/web/admin/language_add.php
@@ -32,6 +32,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/language_complete.php b/interface/web/admin/language_complete.php
index 67cfb86ed2..d8f4bbda86 100644
--- a/interface/web/admin/language_complete.php
+++ b/interface/web/admin/language_complete.php
@@ -32,6 +32,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 //* This is only allowed for administrators
diff --git a/interface/web/admin/language_edit.php b/interface/web/admin/language_edit.php
index 8199244921..7d83b9bb74 100644
--- a/interface/web/admin/language_edit.php
+++ b/interface/web/admin/language_edit.php
@@ -32,6 +32,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/language_export.php b/interface/web/admin/language_export.php
index a4c75f3df8..44bc787bd3 100644
--- a/interface/web/admin/language_export.php
+++ b/interface/web/admin/language_export.php
@@ -32,6 +32,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/language_import.php b/interface/web/admin/language_import.php
index 1dfaa18468..d53575ba26 100644
--- a/interface/web/admin/language_import.php
+++ b/interface/web/admin/language_import.php
@@ -112,6 +112,7 @@ function validate_line($line) {
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/remote_action_osupdate.php b/interface/web/admin/remote_action_osupdate.php
index 4000d7f262..61c6c23823 100644
--- a/interface/web/admin/remote_action_osupdate.php
+++ b/interface/web/admin/remote_action_osupdate.php
@@ -32,6 +32,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_osupdate');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/remote_user_del.php b/interface/web/admin/remote_user_del.php
index e3a3832724..b23336cab3 100644
--- a/interface/web/admin/remote_user_del.php
+++ b/interface/web/admin/remote_user_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_remote_users');
 
 $app->uses('tpl,tform');
 $app->load('tform_actions');
diff --git a/interface/web/admin/remote_user_edit.php b/interface/web/admin/remote_user_edit.php
index 962aa57522..efc4f72a38 100644
--- a/interface/web/admin/remote_user_edit.php
+++ b/interface/web/admin/remote_user_edit.php
@@ -13,6 +13,9 @@ if(!stristr($_SESSION['s']['user']['modules'], 'admin')) {
 	die;
 }
 
+$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_remote_users');
+
 // Disable this function in demo mode
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
diff --git a/interface/web/admin/server_config_del.php b/interface/web/admin/server_config_del.php
index c50ca140f3..3a332edd12 100644
--- a/interface/web/admin/server_config_del.php
+++ b/interface/web/admin/server_config_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_config');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 $app->uses("tform_actions");
diff --git a/interface/web/admin/server_config_edit.php b/interface/web/admin/server_config_edit.php
index a47118114b..e561b00ac5 100644
--- a/interface/web/admin/server_config_edit.php
+++ b/interface/web/admin/server_config_edit.php
@@ -43,6 +43,8 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_config');
+
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_del.php b/interface/web/admin/server_del.php
index c39b73238f..f90bfa7f86 100644
--- a/interface/web/admin/server_del.php
+++ b/interface/web/admin/server_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_services');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 $app->uses("tform_actions");
diff --git a/interface/web/admin/server_edit.php b/interface/web/admin/server_edit.php
index caf79ef0b5..0adf313181 100644
--- a/interface/web/admin/server_edit.php
+++ b/interface/web/admin/server_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_services');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_ip_del.php b/interface/web/admin/server_ip_del.php
index e1df934837..61252c31c0 100644
--- a/interface/web/admin/server_ip_del.php
+++ b/interface/web/admin/server_ip_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_ip');
 
 $app->uses("tform_actions");
 $app->tform_actions->onDelete();
diff --git a/interface/web/admin/server_ip_edit.php b/interface/web/admin/server_ip_edit.php
index c3bf380f85..c20f752b86 100644
--- a/interface/web/admin/server_ip_edit.php
+++ b/interface/web/admin/server_ip_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_ip');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_php_del.php b/interface/web/admin/server_php_del.php
index d9c7baf2da..6848eea8d4 100644
--- a/interface/web/admin/server_php_del.php
+++ b/interface/web/admin/server_php_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_php');
 
 $app->uses("tform_actions");
 $app->tform_actions->onDelete();
diff --git a/interface/web/admin/server_php_edit.php b/interface/web/admin/server_php_edit.php
index ff65c70070..f60ae997a0 100644
--- a/interface/web/admin/server_php_edit.php
+++ b/interface/web/admin/server_php_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_php');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/software_package_del.php b/interface/web/admin/software_package_del.php
index ff9ab6e5b7..31aeb1c09b 100644
--- a/interface/web/admin/software_package_del.php
+++ b/interface/web/admin/software_package_del.php
@@ -33,6 +33,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 $software_update_inst_id = $app->functions->intval($_GET['software_update_inst_id']);
diff --git a/interface/web/admin/software_package_edit.php b/interface/web/admin/software_package_edit.php
index 038f377e72..65555d3a35 100644
--- a/interface/web/admin/software_package_edit.php
+++ b/interface/web/admin/software_package_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 // Loading classes
diff --git a/interface/web/admin/software_package_install.php b/interface/web/admin/software_package_install.php
index e45f47ac07..0fd58816a0 100644
--- a/interface/web/admin/software_package_install.php
+++ b/interface/web/admin/software_package_install.php
@@ -33,6 +33,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/software_repo_del.php b/interface/web/admin/software_repo_del.php
index b8effc1d57..630993717c 100644
--- a/interface/web/admin/software_repo_del.php
+++ b/interface/web/admin/software_repo_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_repo');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 $app->uses("tform_actions");
diff --git a/interface/web/admin/software_repo_edit.php b/interface/web/admin/software_repo_edit.php
index 2a6a4f4228..6d52da2b56 100644
--- a/interface/web/admin/software_repo_edit.php
+++ b/interface/web/admin/software_repo_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_repo');
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 // Loading classes
diff --git a/interface/web/admin/software_update_list.php b/interface/web/admin/software_update_list.php
index a709e0cff4..8bc8b79a41 100644
--- a/interface/web/admin/software_update_list.php
+++ b/interface/web/admin/software_update_list.php
@@ -33,6 +33,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 3c54fc2095..7d872fa456 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -43,6 +43,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_system_config');
 
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/tpl_default.php b/interface/web/admin/tpl_default.php
index b9477f1e39..57395cfb28 100644
--- a/interface/web/admin/tpl_default.php
+++ b/interface/web/admin/tpl_default.php
@@ -1,4 +1,5 @@
 <?php
+die('unused');
 /*
 Copyright (c) 2007, Till Brehm, projektfarm Gmbh
 All rights reserved.
diff --git a/interface/web/admin/users_del.php b/interface/web/admin/users_del.php
index 299eed2755..ce413b60f4 100644
--- a/interface/web/admin/users_del.php
+++ b/interface/web/admin/users_del.php
@@ -44,6 +44,7 @@ require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_del_cpuser');
 if($conf['demo_mode'] == true && $_REQUEST['id'] <= 3) $app->error('This function is disabled in demo mode.');
 
 $app->uses("tform_actions");
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index 2b1be7f0fc..a405db4aed 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -52,16 +52,29 @@ class page_action extends tform_actions {
 
 	function onBeforeInsert() {
 		global $app, $conf;
+		
+		//* Security settings check
+		if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin') {
+			$app->auth->check_security_permissions('admin_allow_new_admin');
+		}
 
 		if(!in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
 			$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
 		}
+		
+		
+		
 	}
 
 	function onBeforeUpdate() {
 		global $app, $conf;
 
 		if($conf['demo_mode'] == true && $_REQUEST['id'] <= 3) $app->error('This function is disabled in demo mode.');
+		
+		//* Security settings check
+		if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin') {
+			$app->auth->check_security_permissions('admin_allow_new_admin');
+		}
 
 		if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
 			$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
diff --git a/interface/web/remote/index.php b/interface/web/remote/index.php
index d60a1c95b5..c7ad8a9011 100644
--- a/interface/web/remote/index.php
+++ b/interface/web/remote/index.php
@@ -6,7 +6,11 @@ require_once '../../lib/app.inc.php';
 
 if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
-$app->load('remoting');
+$app->load('remoting,getconf');
+
+$security_config = $app->getconf->get_security_config('permissions');
+if($security_config['remote_api_allowed'] != 'yes') die('Remote API is disabled in security settings.');
+
 
 $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
 $server->setClass('remoting');
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index db4efe34e9..4268fc08ec 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -237,6 +237,10 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 										1 => array ( 	'type' => 'REGEX',
 															'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
 															'errmsg'=> 'directory_error_regex'),
+										2 => array (    'type'  => 'CUSTOM',
+														'class' => 'validate_systemuser',
+														'function' => 'shelluser_dir',
+														'errmsg' => 'directory_error_notinweb'),
 				),
 				'default' => '',
 				'value'  => '',
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index c3f21d52d7..66d33678fb 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -32,4 +32,5 @@ $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
 $wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/tools/user_settings.php b/interface/web/tools/user_settings.php
index 95018ac07c..7065888dd7 100644
--- a/interface/web/tools/user_settings.php
+++ b/interface/web/tools/user_settings.php
@@ -44,6 +44,10 @@ require_once '../../lib/app.inc.php';
 //* Check permissions for module
 $app->auth->check_module_permissions('tools');
 
+if($_SESSION['s']['user']['typ'] == 'admin') {
+	$app->auth->check_security_permissions('admin_allow_new_admin');
+}
+
 // Loading classes
 $app->uses('tpl,tform,tform_actions');
 $app->load('tform_actions');
diff --git a/security/security_settings.ini b/security/security_settings.ini
new file mode 100644
index 0000000000..0ea46f2d96
--- /dev/null
+++ b/security/security_settings.ini
@@ -0,0 +1,25 @@
+[permissions]
+allow_shell_user=yes
+admin_allow_server_config=superadmin
+admin_allow_server_services=superadmin
+admin_allow_server_ip=superadmin
+admin_allow_remote_users=superadmin
+admin_allow_system_config=superadmin
+admin_allow_server_php=superadmin
+admin_allow_langedit=superadmin
+admin_allow_new_admin=superadmin
+admin_allow_del_cpuser=superadmin
+admin_allow_cpuser_group=superadmin
+admin_allow_firewall_config=superadmin
+admin_allow_osupdate=superadmin
+admin_allow_software_packages=superadmin
+admin_allow_software_repo=superadmin
+remote_api_allowed=yes
+
+[systemcheck]
+security_admin_email=root@localhost
+warn_new_admin=yes
+warn_passwd_change=no
+warn_shadow_change=no
+check_groups_in_passwd=yes
+check_ispconfig_md5=yes
\ No newline at end of file
diff --git a/server/lib/classes/getconf.inc.php b/server/lib/classes/getconf.inc.php
index c5ca6c696a..768ea2cabd 100644
--- a/server/lib/classes/getconf.inc.php
+++ b/server/lib/classes/getconf.inc.php
@@ -59,6 +59,15 @@ class getconf {
 		}
 		return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
 	}
+	
+	public function get_security_config($section = '') {
+		global $app;
+
+		$app->uses('ini_parser');
+		$security_config = $app->ini_parser->parse_ini_string(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+
+		return ($section == '') ? $security_config : $security_config[$section];
+	}
 
 }
 
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 67cbee02c5..3cb9d36ca5 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -58,19 +58,25 @@ class shelluser_base_plugin {
 		/*
 		Register for the events
 		*/
-
+		
 		$app->plugins->registerEvent('shell_user_insert', $this->plugin_name, 'insert');
 		$app->plugins->registerEvent('shell_user_update', $this->plugin_name, 'update');
 		$app->plugins->registerEvent('shell_user_delete', $this->plugin_name, 'delete');
-
+		
 
 	}
 
 
 	function insert($event_name, $data) {
 		global $app, $conf;
-
-		$app->uses('system');
+		
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
 
 		//* Check if the resulting path is inside the docroot
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id']));
@@ -144,7 +150,13 @@ class shelluser_base_plugin {
 	function update($event_name, $data) {
 		global $app, $conf;
 
-		$app->uses('system');
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
 
 		//* Check if the resulting path is inside the docroot
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id']));
@@ -223,7 +235,13 @@ class shelluser_base_plugin {
 	function delete($event_name, $data) {
 		global $app, $conf;
 
-		$app->uses('system');
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
 
 		if($app->system->is_user($data['old']['username'])) {
 			// Get the UID of the user
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index f0fb2799ea..cb222fdc47 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -59,11 +59,11 @@ class shelluser_jailkit_plugin {
 		/*
 		Register for the events
 		*/
-
+		
 		$app->plugins->registerEvent('shell_user_insert', $this->plugin_name, 'insert');
 		$app->plugins->registerEvent('shell_user_update', $this->plugin_name, 'update');
 		$app->plugins->registerEvent('shell_user_delete', $this->plugin_name, 'delete');
-
+		
 
 	}
 
@@ -71,7 +71,15 @@ class shelluser_jailkit_plugin {
 	function insert($event_name, $data) {
 		global $app, $conf;
 
-		$app->uses('system');
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
+		
+		
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
 
 		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
@@ -143,7 +151,14 @@ class shelluser_jailkit_plugin {
 	function update($event_name, $data) {
 		global $app, $conf;
 
-		$app->uses('system');
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
+		
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
 
 		if(!$app->system->is_allowed_user($data['new']['username'], false, false)
@@ -209,7 +224,13 @@ class shelluser_jailkit_plugin {
 	function delete($event_name, $data) {
 		global $app, $conf;
 
-		$app->uses('system');
+		$app->uses('system,getconf');
+		
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['allow_shell_user'] != 'yes') {
+			$app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+			return false;
+		}
 
 		$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['old']['parent_domain_id']);
 
-- 
GitLab


From 1ed92e187ae2dfb51f5f2d62c290a85f93b6dc21 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 19:54:00 +0200
Subject: [PATCH 096/158] - Added security check script. - Create md5 sums of
 all files at install and update.

---
 install/install.php                |   5 ++
 install/update.php                 |   5 ++
 interface/web/admin/users_edit.php |   2 +-
 security/check.php                 | 113 ++++++++++++++++++++++++++++-
 security/security_settings.ini     |   4 +-
 server/server.sh                   |   6 +-
 6 files changed, 126 insertions(+), 9 deletions(-)

diff --git a/install/install.php b/install/install.php
index 108ed05b2e..49c2720403 100644
--- a/install/install.php
+++ b/install/install.php
@@ -679,6 +679,11 @@ if($install_mode == 'standard') {
 
 } //* << $install_mode / 'Standard' or Genius
 
+//* Create md5 filelist
+$md5_filename = '/usr/local/ispconfig/security/data/file_checksums_'.date('Y-m-d_h-i').'.md5';
+exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename);
+chmod($md5_filename,0700);
+
 
 echo "Installation completed.\n";
 
diff --git a/install/update.php b/install/update.php
index eec69bad3b..803e47d435 100644
--- a/install/update.php
+++ b/install/update.php
@@ -497,6 +497,11 @@ if($reconfigure_services_answer == 'yes') {
 	}
 }
 
+//* Create md5 filelist
+$md5_filename = '/usr/local/ispconfig/security/data/file_checksums_'.date('Y-m-d_h-i').'.md5';
+exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename);
+chmod($md5_filename,0700);
+
 echo "Update finished.\n";
 
 ?>
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index a405db4aed..0a14ca5e1e 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -70,7 +70,7 @@ class page_action extends tform_actions {
 		global $app, $conf;
 
 		if($conf['demo_mode'] == true && $_REQUEST['id'] <= 3) $app->error('This function is disabled in demo mode.');
-		
+
 		//* Security settings check
 		if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin') {
 			$app->auth->check_security_permissions('admin_allow_new_admin');
diff --git a/security/check.php b/security/check.php
index d6518a1c52..dc930c5b79 100644
--- a/security/check.php
+++ b/security/check.php
@@ -28,9 +28,8 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"]));
-require SCRIPT_PATH."/lib/config.inc.php";
-require SCRIPT_PATH."/lib/app.inc.php";
+require "/usr/local/ispconfig/server/lib/config.inc.php";
+require "/usr/local/ispconfig/server/lib/app.inc.php";
 
 set_time_limit(0);
 ini_set('error_reporting', E_ALL & ~E_NOTICE);
@@ -41,6 +40,114 @@ $conf['server_id'] = intval($conf['server_id']);
 
 // Load required base-classes
 $app->uses('ini_parser,file,services,getconf,system');
+
+// get security config
+$security_config = $app->getconf->get_security_config('systemcheck');
+
+$alert = '';
+$data_dir = '/usr/local/ispconfig/security/data';
+
+
+// Check if a new ispconfig user has been added
+if($security_config['warn_new_admin'] == 'yes') {
+	$data_file = $data_dir.'/admincount';
+	//get number of admins
+	$tmp = $app->db->queryOneRecord("SELECT count(userid) AS number FROM sys_user WHERE typ = 'admin'");
+	$admin_user_count_new = intval($tmp['number']);
+	
+	if(is_file($data_file)) {
+		$admin_user_count_old = intval(file_get_contents($data_file));
+		if($admin_user_count_new != $admin_user_count_old) {
+			$alert .= "The number of ISPConfig administrator users has changed. Old: $admin_user_count_old New: $admin_user_count_new \n";
+			file_put_contents($data_file,$admin_user_count_new);
+		}
+	} else {
+		// first run, so we save the current count
+		file_put_contents($data_file,$admin_user_count_new);
+		chmod($data_file,0700);
+	}
+}
+
+// Check if /etc/passwd file has been changed
+if($security_config['warn_passwd_change'] == 'yes') {
+	$data_file = $data_dir.'/passwd.md5';
+	$md5sum_new = md5_file('/etc/passwd');
+	
+	if(is_file($data_file)) {
+		$md5sum_old = trim(file_get_contents($data_file));
+		if($md5sum_new != $md5sum_old) {
+			$alert .= "The file /etc/passwd has been changed.\n";
+			file_put_contents($data_file,$md5sum_new);
+		}
+	} else {
+		file_put_contents($data_file,$md5sum_new);
+		chmod($data_file,0700);
+	}
+}
+
+// Check if /etc/shadow file has been changed
+if($security_config['warn_shadow_change'] == 'yes') {
+	$data_file = $data_dir.'/shadow.md5';
+	$md5sum_new = md5_file('/etc/shadow');
+	
+	if(is_file($data_file)) {
+		$md5sum_old = trim(file_get_contents($data_file));
+		if($md5sum_new != $md5sum_old) {
+			$alert .= "The file /etc/shadow has been changed.\n";
+			file_put_contents($data_file,$md5sum_new);
+		}
+	} else {
+		file_put_contents($data_file,$md5sum_new);
+		chmod($data_file,0700);
+	}
+}
+
+// Check if /etc/group file has been changed
+if($security_config['warn_group_change'] == 'yes') {
+	$data_file = $data_dir.'/group.md5';
+	$md5sum_new = md5_file('/etc/group');
+	
+	if(is_file($data_file)) {
+		$md5sum_old = trim(file_get_contents($data_file));
+		if($md5sum_new != $md5sum_old) {
+			$alert .= "The file /etc/group has been changed.\n";
+			file_put_contents($data_file,$md5sum_new);
+		}
+	} else {
+		file_put_contents($data_file,$md5sum_new);
+		chmod($data_file,0700);
+	}
+}
+
+
+if($alert != '') {
+	$admin_email = $security_config['security_admin_email'];
+	$admin_email_subject = $security_config['security_admin_email_subject'];
+	mail($admin_email, $admin_email_subject, $alert);
+	//$app->log(str_replace("\n"," -- ",$alert),1);
+	echo str_replace("\n"," -- ",$alert)."\n";
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/security/security_settings.ini b/security/security_settings.ini
index 0ea46f2d96..4dfe001624 100644
--- a/security/security_settings.ini
+++ b/security/security_settings.ini
@@ -18,8 +18,8 @@ remote_api_allowed=yes
 
 [systemcheck]
 security_admin_email=root@localhost
+security_admin_email_subject=Security alert from server
 warn_new_admin=yes
 warn_passwd_change=no
 warn_shadow_change=no
-check_groups_in_passwd=yes
-check_ispconfig_md5=yes
\ No newline at end of file
+warn_group_change=no
\ No newline at end of file
diff --git a/server/server.sh b/server/server.sh
index 88c30e7445..522e0d5f74 100755
--- a/server/server.sh
+++ b/server/server.sh
@@ -13,8 +13,8 @@ if [ -f /usr/local/ispconfig/server/lib/php.ini ]; then
         fi
 fi
 
-cd /usr/local/ispconfig/security
-/usr/bin/php -q /usr/local/ispconfig/security/check.php
-
 cd /usr/local/ispconfig/server
 /usr/bin/php -q /usr/local/ispconfig/server/server.php
+
+cd /usr/local/ispconfig/security
+/usr/bin/php -q /usr/local/ispconfig/security/check.php
-- 
GitLab


From 892d732fb407872a62548dbc2f8eae7430ae74ce Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Aug 2014 20:02:17 +0200
Subject: [PATCH 097/158] - added function to delete shell user home directory

---
 .../shelluser_base_plugin.inc.php             | 44 +++++++++++++++++--
 1 file changed, 40 insertions(+), 4 deletions(-)

diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 3cb9d36ca5..a6dbfcf68a 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -98,12 +98,17 @@ class shelluser_base_plugin {
 
 		if($app->system->is_user($data['new']['puser'])) {
 
-			//* Remove webfolder protection
-			$app->system->web_folder_protection($web['document_root'], false);
-
 			// Get the UID of the parent user
 			$uid = intval($app->system->getuid($data['new']['puser']));
 			if($uid > $this->min_uid) {
+				//* Remove webfolder protection
+				$app->system->web_folder_protection($web['document_root'], false);
+
+				if(!is_dir($data['new']['dir'])){
+					$app->file->mkdirs(escapeshellcmd($data['new']['dir']), '0700');
+					$app->system->chown(escapeshellcmd($data['new']['dir']),escapeshellcmd($data['new']['username']));
+					$app->system->chgrp(escapeshellcmd($data['new']['dir']),escapeshellcmd($data['new']['pgroup']));
+				}
 				$command = 'useradd';
 				$command .= ' -d '.escapeshellcmd($data['new']['dir']);
 				$command .= ' -g '.escapeshellcmd($data['new']['pgroup']);
@@ -138,7 +143,6 @@ class shelluser_base_plugin {
 
 				//* Add webfolder protection again
 				$app->system->web_folder_protection($web['document_root'], true);
-
 			} else {
 				$app->log("UID = $uid for shelluser:".$data['new']['username']." not allowed.", LOGLEVEL_ERROR);
 			}
@@ -247,6 +251,38 @@ class shelluser_base_plugin {
 			// Get the UID of the user
 			$userid = intval($app->system->getuid($data['old']['username']));
 			if($userid > $this->min_uid) {
+				// check if we have to delete the dir
+				$check = $app->db->queryOneRecord('SELECT shell_user_id FROM `shell_user` WHERE `dir` = \'' . $app->db->quote($data['old']['dir']) . '\'');
+				if(!$check && is_dir($data['old']['dir'])) {
+					// delete dir
+					$homedir = $data['old']['dir'];
+					if(substr($homedir, -1) !== '/') $homedir .= '/';
+					$files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
+					$dirs = array('.ssh');
+					foreach($files as $delfile) {
+						if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
+					}
+					foreach($dirs as $deldir) {
+						if(is_dir($homedir . $deldir) && fileowner($homedir . $deldir) == $userid) exec('rm -rf ' . escapeshellarg($homedir . $deldir));
+					}
+					$empty = true;
+					$dirres = opendir($homedir);
+					if($dirres) {
+						while(($entry = readdir($dirres)) !== false) {
+							if($entry != '.' && $entry != '..') {
+								$empty = false;
+								break;
+							}
+						}
+						closedir($dirres);
+					}
+					if($empty == true) {
+						rmdir($homedir);
+					}
+					unset($files);
+					unset($dirs);
+				}
+				
 				// We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
 				if ($data['old']['chroot'] != "jailkit") {
 					$command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
-- 
GitLab


From b51c22aecea55a2edb0e5fa712b297465a444b28 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 20:06:39 +0200
Subject: [PATCH 098/158] Fixed: FS#3624 - SSL cert for postfix not created on
 OpenSuSE Linux during install

---
 install/dist/lib/fedora.lib.php   | 2 +-
 install/dist/lib/gentoo.lib.php   | 3 ++-
 install/dist/lib/opensuse.lib.php | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index e01a739d63..5e28b8f3a7 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -114,7 +114,7 @@ class installer_dist extends installer_base {
 
 	function configure_postfix($options = '')
 	{
-		global $conf;
+		global $conf,$autoinstall;
 		$cf = $conf['postfix'];
 		$config_dir = $cf['config_dir'];
 
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index fb6b13853a..72b34dcf3d 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -49,7 +49,7 @@ class installer extends installer_base
 
 	public function configure_postfix($options = '')
 	{
-		global $conf;
+		global $conf,$autoinstall;
 
 		$cf = $conf['postfix'];
 		$config_dir = $cf['config_dir'];
@@ -126,6 +126,7 @@ class installer extends installer_base
 				$command = 'cd '.$config_dir.'; '
 					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
 			}
+			exec($command);
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index c76833169a..c00903ee4a 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -130,7 +130,7 @@ class installer_dist extends installer_base {
 
 	function configure_postfix($options = '')
 	{
-		global $conf;
+		global $conf,$autoinstall;
 		$cf = $conf['postfix'];
 		$config_dir = $cf['config_dir'];
 
@@ -264,6 +264,7 @@ class installer_dist extends installer_base {
 				$command = 'cd '.$config_dir.'; '
 					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
 			}
+			exec($command);
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
-- 
GitLab


From 7c27524f673112971d6f425ddc8ee03041282720 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 20:25:15 +0200
Subject: [PATCH 099/158] Added readme file.

---
 security/README.txt | 96 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 security/README.txt

diff --git a/security/README.txt b/security/README.txt
new file mode 100644
index 0000000000..c73231237c
--- /dev/null
+++ b/security/README.txt
@@ -0,0 +1,96 @@
+
+Description for security_settings.ini values.
+
+The option "superadmin" means that a setting is only available to the admin user with userid 1 in the interface. 
+If there are other amdins, then they cant access this setting.
+
+-----------------------------------------------------------
+Setting:     allow_shell_user
+Options:     yes/no
+Description: Disables the shell user plugins in ispconfig
+
+Setting:     admin_allow_server_config
+Options:     yes/no/superadmin
+Description: Disables System > Server config
+
+Setting:     admin_allow_server_services
+Options:     yes/no/superadmin
+Description: Disables System > Server services
+
+Setting:     admin_allow_server_ip
+Options:     yes/no/superadmin
+Description: Disables System > Server IP
+
+Setting:     admin_allow_remote_users
+Options:     yes/no/superadmin
+Description: Disables System > Remote Users
+
+Setting:     admin_allow_system_config
+Options:     yes/no/superadmin
+Description: Disables System > Interface > Main Config
+
+Setting:     admin_allow_server_php
+Options:     yes/no/superadmin
+Description: Disables System > Additional PHP versions
+
+Setting:     admin_allow_langedit
+Options:     yes/no/superadmin
+Description: Disables System > Language editor functions
+
+Setting:     admin_allow_new_admin
+Options:     yes/no/superadmin
+Description: Disables the ability to add new admin users trough the interface
+
+Setting:     admin_allow_del_cpuser
+Options:     yes/no/superadmin
+Description: Disables the ability to delete CP users
+
+Setting:     admin_allow_cpuser_group
+Options:     yes/no/superadmin
+Description: Disables cp user group editing
+
+Setting:     admin_allow_firewall_config
+Options:     yes/no/superadmin
+Description: Disables System > Firewall
+
+Setting:     admin_allow_osupdate
+Options:     yes/no/superadmin
+Description: Disables System > OS update
+
+Setting:     admin_allow_software_packages
+Options:     yes/no/superadmin
+Description: Disables System > Apps & Addons > Packages and Update
+
+Setting:     admin_allow_software_repo
+Options:     yes/no/superadmin
+Description: Disables System > Apps & Addons > Repo
+
+Setting:     remote_api_allowed
+Options:     yes/no
+Description: Disables the remote API
+
+Setting:     security_admin_email
+Options:     email address
+Description: Email address of the security admin
+
+Setting:     security_admin_email_subject
+Options:     Text
+Description: Subject of the notification email
+
+Setting:     warn_new_admin
+Options:     yes/no
+Description: Warn by email when a new admin user in ISPConfig has been added.
+
+Setting:     warn_passwd_change
+Options:     yes/no
+Description: Warn by email when /etc/passwd has been changed.
+
+Setting:     warn_shadow_change
+Options:     yes/no
+Description: Warn by email when /etc/shadow has been changed.
+
+Setting:     warn_group_change
+Options:     yes/no
+Description: Warn by email when /etc/group has been changed.
+
+
-- 
GitLab


From a13af29287c5f3c72f21d104651ece92b4a9e52e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 21:06:14 +0200
Subject: [PATCH 100/158] Added copy commands for security directory to
 installer.

---
 install/dist/lib/fedora.lib.php    | 4 ++++
 install/dist/lib/gentoo.lib.php    | 4 ++++
 install/dist/lib/opensuse.lib.php  | 4 ++++
 install/lib/installer_base.lib.php | 4 ++++
 4 files changed, 16 insertions(+)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 5e28b8f3a7..49403dec04 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -832,6 +832,10 @@ class installer_dist extends installer_base {
 		//* copy the ISPConfig server part
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* copy the ISPConfig security part
+		$command = 'cp -rf ../security '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 72b34dcf3d..9e398d1a4c 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -748,6 +748,10 @@ class installer extends installer_base
 		//* copy the ISPConfig server part
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* copy the ISPConfig security part
+		$command = 'cp -rf ../security '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 
 		//* Create the config file for ISPConfig interface
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index c00903ee4a..c44bf8b6f4 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -904,6 +904,10 @@ class installer_dist extends installer_base {
 		//* copy the ISPConfig server part
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* copy the ISPConfig security part
+		$command = 'cp -rf ../security '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 19e1f032fd..125ebe1a70 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1744,6 +1744,10 @@ class installer_base {
 		//* copy the ISPConfig server part
 		$command = 'cp -rf ../server '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* copy the ISPConfig security part
+		$command = 'cp -rf ../security '.$install_dir;
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
-- 
GitLab


From a7e4ec0ce669549c826cdbb8add5c7d50469a772 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 21:58:40 +0200
Subject: [PATCH 101/158] Added new directory delete procedure in jailkit
 plugin.

---
 .../shelluser_base_plugin.inc.php             |  7 +++
 .../shelluser_jailkit_plugin.inc.php          | 46 +++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index a6dbfcf68a..651ccc9970 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -254,6 +254,11 @@ class shelluser_base_plugin {
 				// check if we have to delete the dir
 				$check = $app->db->queryOneRecord('SELECT shell_user_id FROM `shell_user` WHERE `dir` = \'' . $app->db->quote($data['old']['dir']) . '\'');
 				if(!$check && is_dir($data['old']['dir'])) {
+					
+					$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['old']['parent_domain_id']));
+					
+					$app->system->web_folder_protection($web['document_root'], false);
+					
 					// delete dir
 					$homedir = $data['old']['dir'];
 					if(substr($homedir, -1) !== '/') $homedir .= '/';
@@ -281,6 +286,8 @@ class shelluser_base_plugin {
 					}
 					unset($files);
 					unset($dirs);
+					
+					$app->system->web_folder_protection($web['document_root'], true);
 				}
 				
 				// We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index cb222fdc47..a391835790 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -247,9 +247,13 @@ class shelluser_jailkit_plugin {
 			$app->system->web_folder_protection($web['document_root'], false);
 
 			if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) {
+				$userid = intval($app->system->getuid($data['old']['username']));
 				$command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
 				$command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
 				exec($command);
+				
+				$this->_delete_homedir($data['old']['dir'].$jailkit_chroot_userhome,$userid,$data['old']['parent_domain_id']);
+				
 				$app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome, LOGLEVEL_DEBUG);
 			}
 
@@ -523,6 +527,48 @@ class shelluser_jailkit_plugin {
 		exec("chmod 600 '$sshkeys'");
 
 	}
+	
+	private function _delete_homedir($homedir,$userid,$parent_domain_id) {
+		global $app, $conf;
+		
+		// check if we have to delete the dir
+				$check = $app->db->queryOneRecord('SELECT shell_user_id FROM `shell_user` WHERE `dir` = \'' . $app->db->quote($homedir) . '\'');
+				
+				if(!$check && is_dir($homedir)) {
+					$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($parent_domain_id));
+					$app->system->web_folder_protection($web['document_root'], false);
+					
+					// delete dir
+					if(substr($homedir, -1) !== '/') $homedir .= '/';
+					$files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
+					$dirs = array('.ssh');
+					foreach($files as $delfile) {
+						if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
+					}
+					foreach($dirs as $deldir) {
+						if(is_dir($homedir . $deldir) && fileowner($homedir . $deldir) == $userid) exec('rm -rf ' . escapeshellarg($homedir . $deldir));
+					}
+					$empty = true;
+					$dirres = opendir($homedir);
+					if($dirres) {
+						while(($entry = readdir($dirres)) !== false) {
+							if($entry != '.' && $entry != '..') {
+								$empty = false;
+								break;
+							}
+						}
+						closedir($dirres);
+					}
+					if($empty == true) {
+						rmdir($homedir);
+					}
+					unset($files);
+					unset($dirs);
+					
+					$app->system->web_folder_protection($web['document_root'], true);
+				}
+	
+	}
 
 } // end class
 
-- 
GitLab


From 68fccf6d5e610c8ee078826bd9a759cafc9bf788 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 22:20:01 +0200
Subject: [PATCH 102/158] Added new temp directory for the interface as the
 server temp directory is not accessible anymore.

---
 install/tpl/apache_ispconfig_fcgi_starter.master | 2 +-
 interface/temp/empty.dir                         | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100644 interface/temp/empty.dir

diff --git a/install/tpl/apache_ispconfig_fcgi_starter.master b/install/tpl/apache_ispconfig_fcgi_starter.master
index cc6ec2d09c..240fcccd68 100644
--- a/install/tpl/apache_ispconfig_fcgi_starter.master
+++ b/install/tpl/apache_ispconfig_fcgi_starter.master
@@ -3,4 +3,4 @@ PHPRC={fastcgi_phpini_path}
 export PHPRC
 export PHP_FCGI_MAX_REQUESTS=5000
 export PHP_FCGI_CHILDREN=1
-exec {fastcgi_bin} -d magic_quotes_gpc=off -d session.save_path=/usr/local/ispconfig/server/temp
\ No newline at end of file
+exec {fastcgi_bin} -d magic_quotes_gpc=off -d session.save_path=/usr/local/ispconfig/interface/temp
\ No newline at end of file
diff --git a/interface/temp/empty.dir b/interface/temp/empty.dir
new file mode 100644
index 0000000000..e69de29bb2
-- 
GitLab


From 56fda89e367aafed045375021b92ff7b3f0028a1 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 22:21:31 +0200
Subject: [PATCH 103/158] Updated temp path for php-fpm.

---
 install/tpl/php_fpm_pool.conf.master | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master
index 9cde75ab60..9ff7ebc942 100644
--- a/install/tpl/php_fpm_pool.conf.master
+++ b/install/tpl/php_fpm_pool.conf.master
@@ -17,5 +17,5 @@ pm.max_spare_servers = 5
 chdir = /
 
 ; php_admin_value[open_basedir] = /usr/local/ispconfig/interface:/usr/share
-php_admin_value[session.save_path] = /usr/local/ispconfig/server/temp
+php_admin_value[session.save_path] = /usr/local/ispconfig/interface/temp
 php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
-- 
GitLab


From 8a3cd2369d830d7d1ad9edd437908b6a741d9f2c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 22:40:51 +0200
Subject: [PATCH 104/158] - Updated czech translation - Merged language files

---
 interface/lib/lang/hr.lng                      |  2 +-
 interface/lib/lang/hu.lng                      |  2 +-
 interface/lib/lang/id.lng                      |  2 +-
 interface/lib/lang/it.lng                      |  2 +-
 interface/lib/lang/ja.lng                      |  2 +-
 interface/lib/lang/nl.lng                      |  2 +-
 interface/lib/lang/pl.lng                      |  2 +-
 interface/lib/lang/pt.lng                      |  2 +-
 interface/lib/lang/ro.lng                      |  2 +-
 interface/lib/lang/ru.lng                      |  2 +-
 interface/lib/lang/se.lng                      |  4 ++--
 interface/lib/lang/sk.lng                      |  2 +-
 interface/lib/lang/tr.lng                      |  2 +-
 interface/web/admin/lib/lang/cz.lng            |  2 +-
 .../web/admin/lib/lang/cz_package_install.lng  |  2 +-
 .../web/admin/lib/lang/cz_remote_action.lng    |  4 ++--
 .../web/admin/lib/lang/cz_server_config.lng    |  4 ++--
 .../web/admin/lib/lang/cz_software_repo.lng    |  4 ++--
 .../admin/lib/lang/cz_software_repo_list.lng   |  4 ++--
 .../web/admin/lib/lang/cz_system_config.lng    |  2 +-
 .../web/admin/lib/lang/se_system_config.lng    |  2 +-
 interface/web/client/lib/lang/se_client.lng    |  2 +-
 .../dns/lib/lang/ar_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/ar_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/bg_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/bg_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/br_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/br_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/cz_dns_slave_admin_list.lng   | 16 ++++++++--------
 .../web/dns/lib/lang/cz_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/el_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/el_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/es_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/es_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/fi_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/fi_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/fr_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/fr_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/hr_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/hr_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/hu_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/hu_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/id_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/id_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/it_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/it_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/ja_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/ja_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/nl_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/nl_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/pl_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/pl_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/pt_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/pt_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/ro_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/ro_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/ru_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/ru_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/se_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/se_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/sk_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/sk_dns_soa_admin_list.lng | 18 +++++++++---------
 .../dns/lib/lang/tr_dns_slave_admin_list.lng   | 14 +++++++-------
 .../web/dns/lib/lang/tr_dns_soa_admin_list.lng | 18 +++++++++---------
 interface/web/login/lib/lang/se_login_as.lng   |  6 +++---
 interface/web/mail/lib/lang/cz.lng             |  4 ++--
 interface/web/mail/lib/lang/cz_mail_user.lng   |  2 +-
 .../mail/lib/lang/cz_mail_whitelist_list.lng   |  2 +-
 .../lib/lang/cz_spamfilter_whitelist_list.lng  |  2 +-
 interface/web/mail/lib/lang/se_mail_get.lng    |  2 +-
 interface/web/sites/lib/lang/ar_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/ar_web_domain.lng |  1 +
 interface/web/sites/lib/lang/bg_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/bg_web_domain.lng |  1 +
 interface/web/sites/lib/lang/br_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/br_web_domain.lng |  1 +
 interface/web/sites/lib/lang/cz_ftp_user.lng   |  6 +++---
 interface/web/sites/lib/lang/cz_shell_user.lng |  6 ++++--
 .../web/sites/lib/lang/cz_web_aliasdomain.lng  |  4 ++--
 interface/web/sites/lib/lang/cz_web_domain.lng |  1 +
 .../web/sites/lib/lang/cz_web_folder_list.lng  |  2 +-
 .../sites/lib/lang/cz_web_folder_user_list.lng |  2 +-
 .../sites/lib/lang/cz_web_vhost_subdomain.lng  |  2 +-
 .../web/sites/lib/lang/cz_webdav_user.lng      | 14 +++++++-------
 interface/web/sites/lib/lang/de_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/de_web_domain.lng |  1 +
 interface/web/sites/lib/lang/el_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/el_web_domain.lng |  1 +
 interface/web/sites/lib/lang/es_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/es_web_domain.lng |  1 +
 interface/web/sites/lib/lang/fi_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/fi_web_domain.lng |  1 +
 interface/web/sites/lib/lang/fr_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/fr_web_domain.lng |  1 +
 interface/web/sites/lib/lang/hr_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/hr_web_domain.lng |  1 +
 interface/web/sites/lib/lang/hu_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/hu_web_domain.lng |  1 +
 interface/web/sites/lib/lang/id_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/id_web_domain.lng |  1 +
 interface/web/sites/lib/lang/it_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/it_web_domain.lng |  1 +
 interface/web/sites/lib/lang/ja_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/ja_web_domain.lng |  1 +
 interface/web/sites/lib/lang/nl_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/nl_web_domain.lng |  1 +
 interface/web/sites/lib/lang/pl_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/pl_web_domain.lng |  1 +
 interface/web/sites/lib/lang/pt_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/pt_web_domain.lng |  1 +
 interface/web/sites/lib/lang/ro_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/ro_web_domain.lng |  1 +
 interface/web/sites/lib/lang/ru_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/ru_web_domain.lng |  1 +
 interface/web/sites/lib/lang/se.lng            |  2 +-
 interface/web/sites/lib/lang/se_aps.lng        | 16 ++++++++--------
 interface/web/sites/lib/lang/se_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/se_web_domain.lng |  1 +
 .../web/sites/lib/lang/se_web_subdomain.lng    |  2 +-
 interface/web/sites/lib/lang/sk_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/sk_web_domain.lng |  1 +
 interface/web/sites/lib/lang/tr_shell_user.lng |  2 ++
 interface/web/sites/lib/lang/tr_web_domain.lng |  1 +
 123 files changed, 466 insertions(+), 400 deletions(-)

diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng
index 634a396488..02ba8b1f66 100644
--- a/interface/lib/lang/hr.lng
+++ b/interface/lib/lang/hr.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng
index 9aa46b4882..f45820ae35 100644
--- a/interface/lib/lang/hu.lng
+++ b/interface/lib/lang/hu.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng
index bc0a5f9504..c5759c4ee2 100644
--- a/interface/lib/lang/id.lng
+++ b/interface/lib/lang/id.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng
index 1f46893fe5..f6c5c2d34a 100644
--- a/interface/lib/lang/it.lng
+++ b/interface/lib/lang/it.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng
index 41cd638f89..0781f39a94 100644
--- a/interface/lib/lang/ja.lng
+++ b/interface/lib/lang/ja.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng
index b359dee1c5..1fe07082d6 100644
--- a/interface/lib/lang/nl.lng
+++ b/interface/lib/lang/nl.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng
index 058680c471..559302eb29 100644
--- a/interface/lib/lang/pl.lng
+++ b/interface/lib/lang/pl.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng
index 48beea8dd3..14e6d16d48 100644
--- a/interface/lib/lang/pt.lng
+++ b/interface/lib/lang/pt.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng
index c5234fb838..7ae78ba6c4 100644
--- a/interface/lib/lang/ro.lng
+++ b/interface/lib/lang/ro.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng
index 7fb0ac863f..3fafcc570a 100644
--- a/interface/lib/lang/ru.lng
+++ b/interface/lib/lang/ru.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng
index a7813bc0b0..535e04c623 100644
--- a/interface/lib/lang/se.lng
+++ b/interface/lib/lang/se.lng
@@ -145,8 +145,8 @@ $wb['strength_2'] = 'Sådär';
 $wb['strength_3'] = 'Bra';
 $wb['strength_4'] = 'Starkt';
 $wb['strength_5'] = 'Väldigt starkt';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng
index 63a16ce29e..5cd95401f3 100644
--- a/interface/lib/lang/sk.lng
+++ b/interface/lib/lang/sk.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng
index e7d9e037fd..72c2324b47 100644
--- a/interface/lib/lang/tr.lng
+++ b/interface/lib/lang/tr.lng
@@ -149,4 +149,4 @@ $wb['weak_password_txt'] = 'The chosen password does not match the security guid
 $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
 $wb['security_check1_txt'] = 'Check for security permission:';
 $wb['security_check2_txt'] = 'failed.';
-?>
\ No newline at end of file
+?>
diff --git a/interface/web/admin/lib/lang/cz.lng b/interface/web/admin/lib/lang/cz.lng
index bc1c9bb83f..9916f929a3 100644
--- a/interface/web/admin/lib/lang/cz.lng
+++ b/interface/web/admin/lib/lang/cz.lng
@@ -34,7 +34,7 @@ $wb['Interface Config'] = 'Hlavní konfigurace';
 $wb['Domains'] = 'Domény';
 $wb['Misc'] = 'Různé';
 $wb['Software'] = 'Software';
-$wb['Repositories'] = 'Repozitáře';
+$wb['Repositories'] = 'Zdroje repozitářů';
 $wb['Packages'] = 'Balíčky';
 $wb['Updates'] = 'Aktualizace';
 $wb['Language Editor'] = 'Jazykový editor';
diff --git a/interface/web/admin/lib/lang/cz_package_install.lng b/interface/web/admin/lib/lang/cz_package_install.lng
index 64a190d9a1..2bdc9df315 100644
--- a/interface/web/admin/lib/lang/cz_package_install.lng
+++ b/interface/web/admin/lib/lang/cz_package_install.lng
@@ -1,5 +1,5 @@
 <?php
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
 $wb['repo_url_txt'] = 'URL';
 $wb['repo_username_txt'] = 'Uživatel (volitelné)';
 $wb['repo_password_txt'] = 'Heslo (volitelné)';
diff --git a/interface/web/admin/lib/lang/cz_remote_action.lng b/interface/web/admin/lib/lang/cz_remote_action.lng
index e1908e2d04..68da1c065d 100644
--- a/interface/web/admin/lib/lang/cz_remote_action.lng
+++ b/interface/web/admin/lib/lang/cz_remote_action.lng
@@ -2,9 +2,9 @@
 $wb['select_server_txt'] = 'Zvolit server';
 $wb['btn_do_txt'] = 'Provést akci';
 $wb['do_osupdate_caption'] = 'Aktualizace operačního systému na vzdáleném serveru.';
-$wb['do_osupdate_desc'] = 'Tato akce provede \\"aptitude -y\\" aktualizaci na vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
+$wb['do_osupdate_desc'] = 'Tato akce provede \"aptitude -y\" aktualizaci na vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
 $wb['do_ispcupdate_caption'] = 'Provedení ISPConfig 3 - aktualizace na vzdáleném serveru';
-$wb['do_ispcupdate_desc'] = 'Tato akce provede \\"ISPConfig 3\\" aktualizaci na vašem vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
+$wb['do_ispcupdate_desc'] = 'Tato akce provede \"ISPConfig 3\" aktualizaci na vašem vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
 $wb['action_scheduled'] = 'Akce je naplánována na provedení';
 $wb['select_all_server'] = 'VÅ¡echny servery';
 $wb['ispconfig_update_title'] = 'ISPConfig pokyny k aktualizaci';
diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng
index c2db3bab0f..306f29e916 100644
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -145,10 +145,10 @@ $wb['php_fpm_socket_dir_error_empty'] = 'PHP-FPM adresář pro socket je prázdn
 $wb['try_rescue_txt'] = 'Povolit monitorování služeb a restartovat při selhání';
 $wb['do_not_try_rescue_mysql_txt'] = 'Zakázat MySQL monitorování';
 $wb['do_not_try_rescue_mail_txt'] = 'Zakázat E-mail monitorování';
-$wb['rescue_description_txt'] = '<b>Informace:</b> Pokud chcete např. vypnout MySQL monitorování zatrhněte políčko \\"Zakázat MySQL monitorování\\" změna se provede do 2-3 minut.<br>Pokud nepočkáte 2-3 minuty, monitorování restartuje mysql!!';
+$wb['rescue_description_txt'] = '<b>Informace:</b> Pokud chcete např. vypnout MySQL monitorování zatrhněte políčko \"Zakázat MySQL monitorování\" změna se provede do 2-3 minut.<br>Pokud nepočkáte 2-3 minuty, monitorování restartuje mysql!!';
 $wb['enable_sni_txt'] = 'Aktivovat SNI (Server Name Indication)';
 $wb['do_not_try_rescue_httpd_txt'] = 'Zakázat HTTPD monitorování';
-$wb['set_folder_permissions_on_update_txt'] = 'Set folder permissions on update';
+$wb['set_folder_permissions_on_update_txt'] = 'Nastavení oprávnění složky při aktualizaci';
 $wb['add_web_users_to_sshusers_group_txt'] = 'Add web users to -sshusers- group';
 $wb['connect_userid_to_webid_txt'] = 'Connect Linux userid to webid';
 $wb['connect_userid_to_webid_start_txt'] = 'Start ID for userid/webid connect';
diff --git a/interface/web/admin/lib/lang/cz_software_repo.lng b/interface/web/admin/lib/lang/cz_software_repo.lng
index 6e200d8d12..bd7bc9d0f2 100644
--- a/interface/web/admin/lib/lang/cz_software_repo.lng
+++ b/interface/web/admin/lib/lang/cz_software_repo.lng
@@ -1,8 +1,8 @@
 <?php
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
 $wb['repo_url_txt'] = 'URL';
 $wb['repo_username_txt'] = 'Uživatel (volitelné)';
 $wb['repo_password_txt'] = 'Heslo (volitelné)';
 $wb['active_txt'] = 'Aktivní';
-$wb['Software Repository which may contain addons or updates'] = 'Software Repository which may contain addons or updates';
+$wb['Software Repository which may contain addons or updates'] = 'Softwarové zdroje, které mohou obsahovat addony nebo aktualizace';
 ?>
diff --git a/interface/web/admin/lib/lang/cz_software_repo_list.lng b/interface/web/admin/lib/lang/cz_software_repo_list.lng
index 5c82d4c41f..ca04f41dcf 100644
--- a/interface/web/admin/lib/lang/cz_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/cz_software_repo_list.lng
@@ -1,6 +1,6 @@
 <?php
-$wb['list_head_txt'] = 'Repozitář';
+$wb['list_head_txt'] = 'Zdroje repozitářů';
 $wb['active_txt'] = 'Aktivní';
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
 $wb['repo_url_txt'] = 'URL';
 ?>
diff --git a/interface/web/admin/lib/lang/cz_system_config.lng b/interface/web/admin/lib/lang/cz_system_config.lng
index 31e8ce0563..a7cd502a61 100644
--- a/interface/web/admin/lib/lang/cz_system_config.lng
+++ b/interface/web/admin/lib/lang/cz_system_config.lng
@@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'Zákaznické číslo šablony obs
 $wb['customer_no_start_txt'] = 'Zákaznické číslo - počáteční hodnota';
 $wb['customer_no_counter_txt'] = 'Zákaznické číslo -  čítač';
 $wb['session_timeout_txt'] = 'Časový limit relace (minuty)';
-$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
+$wb['session_allow_endless_txt'] = 'Povolit - zůstat přihlášen';
 $wb['No'] = 'Ne';
 $wb['min_password_length_txt'] = 'Minimální délka hesla';
 $wb['min_password_strength_txt'] = 'Minimální síla hesla';
diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng
index 7e9618102f..7d30a9b01d 100644
--- a/interface/web/admin/lib/lang/se_system_config.lng
+++ b/interface/web/admin/lib/lang/se_system_config.lng
@@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'Kundnummermallen innehåller otil
 $wb['customer_no_start_txt'] = 'Kundnummer startvärde';
 $wb['customer_no_counter_txt'] = 'Kundnummer räknare';
 $wb['session_timeout_txt'] = 'Session timeout (minuter)';
-$wb['session_allow_endless_txt'] = 'Aktivera \"håll mig inloggad\"';
+$wb['session_allow_endless_txt'] = 'Aktivera \\"håll mig inloggad\\"';
 $wb['No'] = 'Nej';
 $wb['min_password_length_txt'] = 'Minsta lösenordslängd';
 $wb['min_password_strength_txt'] = 'Minsta lösenordsstyrka';
diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng
index f6336149ce..7f9a797b31 100644
--- a/interface/web/client/lib/lang/se_client.lng
+++ b/interface/web/client/lib/lang/se_client.lng
@@ -139,7 +139,7 @@ $wb['email_error_isemail'] = 'Vänligen ange en giltig epostadress';
 $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
 $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
 $wb['paypal_email_txt'] = 'PayPal epostadress';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
 $wb['aps_limits_txt'] = 'APS Installer Limits';
 $wb['limit_aps_txt'] = 'Max. number of APS instances';
 $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
diff --git a/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
index 43f67783ce..eb00f29ca9 100644
--- a/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
-$wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'Sekundární DNS-Zóny';
+$wb['active_txt'] = 'Aktivní';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zóna';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Přidat novou Sekundarní DNS-Zónu';
+$wb['eg_domain_tld'] = 'napÅ™. domena.cz';
+$wb['sys_groupid_txt'] = 'Klient';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
index 44cec900b9..4a87f66462 100644
--- a/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zóny';
+$wb['active_txt'] = 'Aktivní';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zóna';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'E-mail';
+$wb['add_new_record_wizard_txt'] = 'Přidat novou DNS zónu pomocí průvodce';
+$wb['add_new_record_txt'] = 'Přidat novou DNS zónu manuálně';
+$wb['sys_groupid_txt'] = 'Klient';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
index 43f67783ce..59d84877c6 100644
--- a/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
@@ -1,10 +1,10 @@
 <?php
-$wb["list_head_txt"] = 'Secondary DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
 $wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
index 44cec900b9..183d1a8349 100644
--- a/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
@@ -1,11 +1,11 @@
 <?php
-$wb["list_head_txt"] = 'DNS-Zones';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["origin_txt"] = 'Zone';
-$wb["ns_txt"] = 'NS';
-$wb["mbox_txt"] = 'Email';
-$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
-$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
-$wb["sys_groupid_txt"] = 'Client';
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
 ?>
diff --git a/interface/web/login/lib/lang/se_login_as.lng b/interface/web/login/lib/lang/se_login_as.lng
index fea3abca03..2fdd7f0753 100644
--- a/interface/web/login/lib/lang/se_login_as.lng
+++ b/interface/web/login/lib/lang/se_login_as.lng
@@ -1,11 +1,11 @@
 <?php
 $wb['login_1_txt'] = 'Vill du loggga in som användare';
-$wb['login_2_txt'] = 'If you do so, you can \"go back\" by clicking at logout.';
+$wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.';
 $wb['btn_yes_txt'] = 'Ja, logga in som kund';
 $wb['btn_back_txt'] = 'Nej, tillbaka till listan';
 $wb['udp_port_help_txt'] = 'Avdelade med kommatecken';
 $wb['active_txt'] = 'Aktiv';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \":\" and \",\".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \":\" and \",\".';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
 ?>
diff --git a/interface/web/mail/lib/lang/cz.lng b/interface/web/mail/lib/lang/cz.lng
index 16dd2667d8..a0c670ee85 100644
--- a/interface/web/mail/lib/lang/cz.lng
+++ b/interface/web/mail/lib/lang/cz.lng
@@ -1,6 +1,6 @@
 <?php
 $wb['Email Alias'] = 'E-mailové aliasy';
-$wb['Email Blacklist'] = 'Email černá listina';
+$wb['Email Blacklist'] = 'E-mailová černá listina';
 $wb['Blacklist'] = 'Černá listina';
 $wb['Mail Content Filter'] = 'Obsahový filtr';
 $wb['Filter'] = 'Filtr';
@@ -17,7 +17,7 @@ $wb['Autoresponder'] = 'Automatická odpověď';
 $wb['Mail Filter'] = 'E-mailové filtry';
 $wb['Custom Rules'] = 'Vlastní pravidla';
 $wb['Email filter'] = 'E-mailový filtr';
-$wb['Email Whitelist'] = 'E-mail bílá listina';
+$wb['Email Whitelist'] = 'E-mailová bílá listina';
 $wb['Whitelist'] = 'Bílá listina';
 $wb['Spamfilter blacklist'] = 'Spamový filtr černá listina';
 $wb['Spamfilter Config'] = 'Konfigurace spamfiltru';
diff --git a/interface/web/mail/lib/lang/cz_mail_user.lng b/interface/web/mail/lib/lang/cz_mail_user.lng
index 259727ea2c..9095c8d7c9 100644
--- a/interface/web/mail/lib/lang/cz_mail_user.lng
+++ b/interface/web/mail/lib/lang/cz_mail_user.lng
@@ -49,5 +49,5 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodují.';
 $wb['password_match_txt'] = 'Hesla se shodují.';
 $wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.';
 $wb['cc_note_txt'] = '(Při přeposílání na více e-mailových adres, oddělte čárkami.)';
-$wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
+$wb['disablesmtp_txt'] = 'Zakázat SMTP (pouze odesílání)';
 ?>
diff --git a/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng b/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng
index 7fae368999..8bd58bfcc7 100644
--- a/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng
@@ -1,5 +1,5 @@
 <?php
-$wb['list_head_txt'] = 'Email bílá listina';
+$wb['list_head_txt'] = 'E-mailová bílá listina';
 $wb['active_txt'] = 'Aktivní';
 $wb['server_id_txt'] = 'Server';
 $wb['source_txt'] = 'Adresy na bílé listině';
diff --git a/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng
index ad13897004..1b95524e18 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng
@@ -4,6 +4,6 @@ $wb['active_txt'] = 'Aktivní';
 $wb['server_id_txt'] = 'Server';
 $wb['priority_txt'] = 'Priorita';
 $wb['rid_txt'] = 'Uživatel';
-$wb['email_txt'] = 'Emaily na bílé listině';
+$wb['email_txt'] = 'E-maily na bílé listině';
 $wb['add_new_record_txt'] = 'Přidat záznam na bílou listinu';
 ?>
diff --git a/interface/web/mail/lib/lang/se_mail_get.lng b/interface/web/mail/lib/lang/se_mail_get.lng
index db4440210e..9ed9710055 100644
--- a/interface/web/mail/lib/lang/se_mail_get.lng
+++ b/interface/web/mail/lib/lang/se_mail_get.lng
@@ -14,6 +14,6 @@ $wb['source_password_error_isempty'] = 'Lösenord är tomt.';
 $wb['destination_error_isemail'] = 'Ingen destination vald.';
 $wb['source_server_error_regex'] = 'POP3-/Imapserver är inte ett giltigt domännamn.';
 $wb['source_read_all_txt'] = 'Hämta all epost (även läst epost)';
-$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \"Delete emails after retrieval\" = no together with \"Retrieve all emails\" = yes';
+$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \\"Delete emails after retrieval\\" = no together with \\"Retrieve all emails\\" = yes';
 $wb['source_delete_note_txt'] = 'Vänligen kontrollera först om eposthämtning fungerar innan du aktiverar detta val..';
 ?>
diff --git a/interface/web/sites/lib/lang/ar_shell_user.lng b/interface/web/sites/lib/lang/ar_shell_user.lng
index 8095f4becc..0b274d33aa 100644
--- a/interface/web/sites/lib/lang/ar_shell_user.lng
+++ b/interface/web/sites/lib/lang/ar_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain.lng b/interface/web/sites/lib/lang/ar_web_domain.lng
index 99de4717bd..539d3b7124 100644
--- a/interface/web/sites/lib/lang/ar_web_domain.lng
+++ b/interface/web/sites/lib/lang/ar_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_shell_user.lng b/interface/web/sites/lib/lang/bg_shell_user.lng
index 15709147fa..1cf3c0d08b 100644
--- a/interface/web/sites/lib/lang/bg_shell_user.lng
+++ b/interface/web/sites/lib/lang/bg_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_web_domain.lng b/interface/web/sites/lib/lang/bg_web_domain.lng
index c9a0e84b2f..3af58cd1fa 100644
--- a/interface/web/sites/lib/lang/bg_web_domain.lng
+++ b/interface/web/sites/lib/lang/bg_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/br_shell_user.lng b/interface/web/sites/lib/lang/br_shell_user.lng
index 69e0f6e287..da57fb9206 100644
--- a/interface/web/sites/lib/lang/br_shell_user.lng
+++ b/interface/web/sites/lib/lang/br_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/br_web_domain.lng b/interface/web/sites/lib/lang/br_web_domain.lng
index 48cfb51be4..8b4484eb71 100644
--- a/interface/web/sites/lib/lang/br_web_domain.lng
+++ b/interface/web/sites/lib/lang/br_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_ftp_user.lng b/interface/web/sites/lib/lang/cz_ftp_user.lng
index b580e08f55..7d30e53ba9 100644
--- a/interface/web/sites/lib/lang/cz_ftp_user.lng
+++ b/interface/web/sites/lib/lang/cz_ftp_user.lng
@@ -24,13 +24,13 @@ $wb['uid_error_empty'] = 'GID je prázdné.';
 $wb['directory_error_empty'] = 'Adresář je prázdný.';
 $wb['directory_error_notinweb'] = 'Adresář není uvnitř webového kořenového adresáře.';
 $wb['parent_domain_id_error_empty'] = 'Nevybrána žádná webová stránka.';
-$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
+$wb['quota_size_error_regex'] = 'Kvóta: zadejte -1 je bez omezení nebo číslo > 0 ';
 $wb['dir_dot_error'] = 'No .. in path allowed.';
 $wb['dir_slashdot_error'] = 'No ./ in path allowed.';
 $wb['generate_password_txt'] = 'Generovat heslo';
 $wb['repeat_password_txt'] = 'Opakujte heslo';
 $wb['password_mismatch_txt'] = 'Hesla se neshodují.';
 $wb['password_match_txt'] = 'Hesla se shodují.';
-$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
-$wb['directory_error_regex'] = 'Invalid directory';
+$wb['invalid_system_user_or_group_txt'] = 'Neplatný systémový uživatel nebo skupina';
+$wb['directory_error_regex'] = 'Neplatný adresář';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_shell_user.lng b/interface/web/sites/lib/lang/cz_shell_user.lng
index fc933da057..eb66108057 100644
--- a/interface/web/sites/lib/lang/cz_shell_user.lng
+++ b/interface/web/sites/lib/lang/cz_shell_user.lng
@@ -28,7 +28,9 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodují.';
 $wb['password_match_txt'] = 'Hesla se shodují.';
 $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
 $wb['username_not_allowed_txt'] = 'The username is not allowed.';
-$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
-$wb['directory_error_regex'] = 'Invalid directory';
+$wb['invalid_system_user_or_group_txt'] = 'Neplatný systémový uživatel nebo skupina';
+$wb['directory_error_regex'] = 'Neplatný adresář';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_aliasdomain.lng b/interface/web/sites/lib/lang/cz_web_aliasdomain.lng
index 3fd0e9280c..1b9fc20c3a 100644
--- a/interface/web/sites/lib/lang/cz_web_aliasdomain.lng
+++ b/interface/web/sites/lib/lang/cz_web_aliasdomain.lng
@@ -35,7 +35,7 @@ $wb['subdomain_txt'] = 'Automatická subdoména';
 $wb['ssl_txt'] = 'SSL';
 $wb['suexec_txt'] = 'SuEXEC';
 $wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
+$wb['client_txt'] = 'Klient';
 $wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
 $wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
 $wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
@@ -52,7 +52,7 @@ $wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
 $wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
 $wb['error_ssl_country_empty'] = 'SSL Country is empty.';
 $wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
+$wb['client_group_id_txt'] = 'Klient';
 $wb['stats_password_txt'] = 'Set Webstatistics password';
 $wb['allow_override_txt'] = 'Apache AllowOverride';
 $wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_domain.lng
index ddcac2e68b..99c9e10540 100644
--- a/interface/web/sites/lib/lang/cz_web_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Vyloučené adresáře';
 $wb['backup_excludes_note_txt'] = '(Oddělte více adresářů čárkami. Vzor: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'Vyloučené adresáře obsahují neplatné znaky.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Neplatné nastavení php.ini';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_folder_list.lng b/interface/web/sites/lib/lang/cz_web_folder_list.lng
index c7fa12cb24..d7c39c0308 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_list.lng
@@ -4,5 +4,5 @@ $wb['active_txt'] = 'Aktivní';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webové stránky';
 $wb['path_txt'] = 'Cesta';
-$wb['add_new_record_txt'] = 'Add new Folder';
+$wb['add_new_record_txt'] = 'Přidat novou složku';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
index c0059b2344..1f09657560 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
@@ -3,5 +3,5 @@ $wb['list_head_txt'] = 'Složka (adresář) uživatele';
 $wb['active_txt'] = 'Aktivní';
 $wb['web_folder_id_txt'] = 'Složka';
 $wb['username_txt'] = 'Uživatelské jméno';
-$wb['add_new_record_txt'] = 'Add new Folder User';
+$wb['add_new_record_txt'] = 'Přidat nového uživatele složky';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng
index 1eba50f336..9401e97198 100644
--- a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng
+++ b/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng
@@ -1,6 +1,6 @@
 <?php
 $wb['parent_domain_id_txt'] = 'Rodičovské webové stránky';
-$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_txt'] = 'Webová složka';
 $wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
 $wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
 $wb['backup_interval_txt'] = 'Interval zálohování';
diff --git a/interface/web/sites/lib/lang/cz_webdav_user.lng b/interface/web/sites/lib/lang/cz_webdav_user.lng
index 3e89a1e625..659cf3e8cc 100644
--- a/interface/web/sites/lib/lang/cz_webdav_user.lng
+++ b/interface/web/sites/lib/lang/cz_webdav_user.lng
@@ -1,17 +1,17 @@
 <?php
-$wb['dir_txt'] = 'Directory';
+$wb['dir_txt'] = 'Webdav adresář';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Webové stránky';
 $wb['username_txt'] = 'Uživatelské jméno';
 $wb['password_txt'] = 'Heslo';
 $wb['password_strength_txt'] = 'Síla hesla';
 $wb['active_txt'] = 'Aktivní';
-$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
-$wb['username_error_empty'] = 'Username is empty.';
-$wb['username_error_unique'] = 'The username must be unique.';
-$wb['username_error_regex'] = 'The username contains characters that are not allowed.';
-$wb['directory_error_empty'] = 'Directory empty.';
-$wb['parent_domain_id_error_empty'] = 'No website selected.';
+$wb['limit_webdav_user_txt'] = 'Byl dosažen max. počet WebDAV uživatelů pro váš účet.';
+$wb['username_error_empty'] = 'Uživatelské jméno je prázdné.';
+$wb['username_error_unique'] = 'Uživatelské jméno musí být unikátní.';
+$wb['username_error_regex'] = 'Uživatelské jméno obsahuje znaky, které nejsou povoleny.';
+$wb['directory_error_empty'] = 'Webdav adresář je prázdný.';
+$wb['parent_domain_id_error_empty'] = 'Není vybrán žádný web.';
 $wb['dir_dot_error'] = 'No .. in path allowed.';
 $wb['dir_slashdot_error'] = 'No ./ in path allowed.';
 $wb['generate_password_txt'] = 'Generovat heslo';
diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng
index 3c4cc2d85a..6a7ee20edc 100644
--- a/interface/web/sites/lib/lang/de_shell_user.lng
+++ b/interface/web/sites/lib/lang/de_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'Der Benutzername ist nicht erlaubt.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index 0e6430546f..c005f90c2c 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse';
 $wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Unzulässige php.ini-Einstellungen';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/el_shell_user.lng b/interface/web/sites/lib/lang/el_shell_user.lng
index 2ced9c23db..a2868ef4d9 100644
--- a/interface/web/sites/lib/lang/el_shell_user.lng
+++ b/interface/web/sites/lib/lang/el_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/el_web_domain.lng b/interface/web/sites/lib/lang/el_web_domain.lng
index f073530ca6..bc9a8359ba 100644
--- a/interface/web/sites/lib/lang/el_web_domain.lng
+++ b/interface/web/sites/lib/lang/el_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/es_shell_user.lng b/interface/web/sites/lib/lang/es_shell_user.lng
index 46c39cc6ad..59a27d355c 100644
--- a/interface/web/sites/lib/lang/es_shell_user.lng
+++ b/interface/web/sites/lib/lang/es_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/es_web_domain.lng b/interface/web/sites/lib/lang/es_web_domain.lng
index bfcfc8bce1..f56e895dca 100644
--- a/interface/web/sites/lib/lang/es_web_domain.lng
+++ b/interface/web/sites/lib/lang/es_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_shell_user.lng b/interface/web/sites/lib/lang/fi_shell_user.lng
index 116e8c8d86..83c8e89a56 100755
--- a/interface/web/sites/lib/lang/fi_shell_user.lng
+++ b/interface/web/sites/lib/lang/fi_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_web_domain.lng b/interface/web/sites/lib/lang/fi_web_domain.lng
index 2a4cfd48e0..e5323b21cc 100755
--- a/interface/web/sites/lib/lang/fi_web_domain.lng
+++ b/interface/web/sites/lib/lang/fi_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_shell_user.lng b/interface/web/sites/lib/lang/fr_shell_user.lng
index 2e518d70b7..940a78070f 100644
--- a/interface/web/sites/lib/lang/fr_shell_user.lng
+++ b/interface/web/sites/lib/lang/fr_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'Le nom d\'utilisateur est interdit.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_web_domain.lng b/interface/web/sites/lib/lang/fr_web_domain.lng
index 527843912f..00c2dcf151 100644
--- a/interface/web/sites/lib/lang/fr_web_domain.lng
+++ b/interface/web/sites/lib/lang/fr_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_shell_user.lng b/interface/web/sites/lib/lang/hr_shell_user.lng
index d081fd76f4..93a6455083 100644
--- a/interface/web/sites/lib/lang/hr_shell_user.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_domain.lng
index b4848e0613..51fcb92d66 100644
--- a/interface/web/sites/lib/lang/hr_web_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_shell_user.lng b/interface/web/sites/lib/lang/hu_shell_user.lng
index 8eaa537b58..a0617d43bc 100644
--- a/interface/web/sites/lib/lang/hu_shell_user.lng
+++ b/interface/web/sites/lib/lang/hu_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_web_domain.lng b/interface/web/sites/lib/lang/hu_web_domain.lng
index 4a17994b1a..e160449c01 100644
--- a/interface/web/sites/lib/lang/hu_web_domain.lng
+++ b/interface/web/sites/lib/lang/hu_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/id_shell_user.lng b/interface/web/sites/lib/lang/id_shell_user.lng
index 83153c14e5..4be2d11768 100644
--- a/interface/web/sites/lib/lang/id_shell_user.lng
+++ b/interface/web/sites/lib/lang/id_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_domain.lng
index e568e5a7ae..ef3423ee36 100644
--- a/interface/web/sites/lib/lang/id_web_domain.lng
+++ b/interface/web/sites/lib/lang/id_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/it_shell_user.lng b/interface/web/sites/lib/lang/it_shell_user.lng
index 8095f4becc..0b274d33aa 100644
--- a/interface/web/sites/lib/lang/it_shell_user.lng
+++ b/interface/web/sites/lib/lang/it_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/it_web_domain.lng b/interface/web/sites/lib/lang/it_web_domain.lng
index 019f68793a..c946023d5e 100644
--- a/interface/web/sites/lib/lang/it_web_domain.lng
+++ b/interface/web/sites/lib/lang/it_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_shell_user.lng b/interface/web/sites/lib/lang/ja_shell_user.lng
index 2ce5ad345e..79a8e5ca05 100644
--- a/interface/web/sites/lib/lang/ja_shell_user.lng
+++ b/interface/web/sites/lib/lang/ja_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_web_domain.lng b/interface/web/sites/lib/lang/ja_web_domain.lng
index 90a8738ab5..d32a9d19b3 100644
--- a/interface/web/sites/lib/lang/ja_web_domain.lng
+++ b/interface/web/sites/lib/lang/ja_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_shell_user.lng b/interface/web/sites/lib/lang/nl_shell_user.lng
index 9a4ae63ed1..ce3458ddc4 100644
--- a/interface/web/sites/lib/lang/nl_shell_user.lng
+++ b/interface/web/sites/lib/lang/nl_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_domain.lng
index c736386667..1efbbc6e3f 100644
--- a/interface/web/sites/lib/lang/nl_web_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_shell_user.lng b/interface/web/sites/lib/lang/pl_shell_user.lng
index 19674e3bd7..aad0cf26f4 100644
--- a/interface/web/sites/lib/lang/pl_shell_user.lng
+++ b/interface/web/sites/lib/lang/pl_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_web_domain.lng b/interface/web/sites/lib/lang/pl_web_domain.lng
index a60fdd5b2d..ed288131e7 100644
--- a/interface/web/sites/lib/lang/pl_web_domain.lng
+++ b/interface/web/sites/lib/lang/pl_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_shell_user.lng b/interface/web/sites/lib/lang/pt_shell_user.lng
index 4564bbc5a8..a3ee41e938 100644
--- a/interface/web/sites/lib/lang/pt_shell_user.lng
+++ b/interface/web/sites/lib/lang/pt_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_domain.lng
index adabe2fb07..3d197794e9 100644
--- a/interface/web/sites/lib/lang/pt_web_domain.lng
+++ b/interface/web/sites/lib/lang/pt_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_shell_user.lng b/interface/web/sites/lib/lang/ro_shell_user.lng
index 912b6b2b0c..8757337039 100644
--- a/interface/web/sites/lib/lang/ro_shell_user.lng
+++ b/interface/web/sites/lib/lang/ro_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_web_domain.lng b/interface/web/sites/lib/lang/ro_web_domain.lng
index 1f124bae47..e568b8cf4a 100644
--- a/interface/web/sites/lib/lang/ro_web_domain.lng
+++ b/interface/web/sites/lib/lang/ro_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_shell_user.lng b/interface/web/sites/lib/lang/ru_shell_user.lng
index f3b788f14e..0a6282bae1 100644
--- a/interface/web/sites/lib/lang/ru_shell_user.lng
+++ b/interface/web/sites/lib/lang/ru_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_web_domain.lng b/interface/web/sites/lib/lang/ru_web_domain.lng
index aaf219b1a9..c192656924 100644
--- a/interface/web/sites/lib/lang/ru_web_domain.lng
+++ b/interface/web/sites/lib/lang/ru_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/se.lng b/interface/web/sites/lib/lang/se.lng
index a63670545c..6b44cdcf7c 100644
--- a/interface/web/sites/lib/lang/se.lng
+++ b/interface/web/sites/lib/lang/se.lng
@@ -31,5 +31,5 @@ $wb['Available packages'] = 'Tillgängliga paket';
 $wb['Installed packages'] = 'Installerade paket';
 $wb['Update Packagelist'] = 'Uppdatera paketlista';
 $wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)';
-$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
+$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
 ?>
diff --git a/interface/web/sites/lib/lang/se_aps.lng b/interface/web/sites/lib/lang/se_aps.lng
index 1fe86175d3..1a21cd0fd2 100644
--- a/interface/web/sites/lib/lang/se_aps.lng
+++ b/interface/web/sites/lib/lang/se_aps.lng
@@ -38,14 +38,14 @@ $wb['error_inv_main_location'] = 'The given install location folder is invalid.'
 $wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.';
 $wb['error_no_database_pw'] = 'You have provided no valid database password.';
 $wb['error_short_database_pw'] = 'Please choose a longer database password.';
-$wb['error_no_value_for'] = 'The field \"%s\" must not be empty.';
-$wb['error_short_value_for'] = 'The field \"%s\" requires a longer input value.';
-$wb['error_long_value_for'] = 'The field \"%s\" requires a shorter input value.';
-$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \"%s\".';
-$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \"%s\".';
-$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \"%s\".';
-$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \"%s\".';
-$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \"%s\".';
+$wb['error_no_value_for'] = 'The field \\"%s\\" must not be empty.';
+$wb['error_short_value_for'] = 'The field \\"%s\\" requires a longer input value.';
+$wb['error_long_value_for'] = 'The field \\"%s\\" requires a shorter input value.';
+$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \\"%s\\".';
+$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \\"%s\\".';
+$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \\"%s\\".';
+$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \\"%s\\".';
+$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \\"%s\\".';
 $wb['error_used_location'] = 'The installation path already contains a package installation.';
 $wb['installation_task_txt'] = 'Installation planerad';
 $wb['installation_error_txt'] = 'Installationsfel';
diff --git a/interface/web/sites/lib/lang/se_shell_user.lng b/interface/web/sites/lib/lang/se_shell_user.lng
index 8095f4becc..0b274d33aa 100644
--- a/interface/web/sites/lib/lang/se_shell_user.lng
+++ b/interface/web/sites/lib/lang/se_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng
index 2b9a05647c..5156df19f8 100644
--- a/interface/web/sites/lib/lang/se_web_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/se_web_subdomain.lng b/interface/web/sites/lib/lang/se_web_subdomain.lng
index 856d3c20a0..b542b998d9 100644
--- a/interface/web/sites/lib/lang/se_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/se_web_subdomain.lng
@@ -42,5 +42,5 @@ $wb['no_flag_txt'] = 'Ingan flagga';
 $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
 $wb['proxy_directives_txt'] = 'Proxy Directives';
 $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
+$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_shell_user.lng b/interface/web/sites/lib/lang/sk_shell_user.lng
index 8b94d0d01c..4307afad5a 100644
--- a/interface/web/sites/lib/lang/sk_shell_user.lng
+++ b/interface/web/sites/lib/lang/sk_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_web_domain.lng b/interface/web/sites/lib/lang/sk_web_domain.lng
index f372e6bed8..5497f9f5df 100644
--- a/interface/web/sites/lib/lang/sk_web_domain.lng
+++ b/interface/web/sites/lib/lang/sk_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_shell_user.lng b/interface/web/sites/lib/lang/tr_shell_user.lng
index 0c932c1a4a..20abb0bba9 100644
--- a/interface/web/sites/lib/lang/tr_shell_user.lng
+++ b/interface/web/sites/lib/lang/tr_shell_user.lng
@@ -31,4 +31,6 @@ $wb['username_not_allowed_txt'] = 'The username is not allowed.';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 $wb['directory_error_regex'] = 'Invalid directory';
 $wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_web_domain.lng b/interface/web/sites/lib/lang/tr_web_domain.lng
index 83edeed11d..59dc02aa8c 100644
--- a/interface/web/sites/lib/lang/tr_web_domain.lng
+++ b/interface/web/sites/lib/lang/tr_web_domain.lng
@@ -127,4 +127,5 @@ $wb['backup_excludes_txt'] = 'Excluded Directories';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
 ?>
-- 
GitLab


From e14a82779bd6451ea33f1c25a293743a38161caf Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 22:41:45 +0200
Subject: [PATCH 105/158] - Search in relative path for security settings if
 they were not found in the default location.

---
 interface/lib/classes/getconf.inc.php | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index 7a29dbf425..5cc223ae79 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -59,7 +59,9 @@ class getconf {
 		global $app;
 
 		$app->uses('ini_parser');
-		$security_config = $app->ini_parser->parse_ini_string(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+		$security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
+		if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
+		$security_config = $app->ini_parser->parse_ini_string(file_get_contents($security_config_path));
 
 		return ($section == '') ? $security_config : $security_config[$section];
 	}
-- 
GitLab


From e020f74511f7aa822c8b3a174529e710dbb91387 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 22:44:30 +0200
Subject: [PATCH 106/158] Updated version to 3.0.5.4p3

---
 install/sql/ispconfig3.sql                  | 2 +-
 install/tpl/config.inc.php.master           | 2 +-
 interface/lib/config.inc.php                | 2 +-
 interface/web/themes/blue/ispconfig_version | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index ab5f795cd2..46b8025d4d 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -2292,7 +2292,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p2');
+INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p3');
 INSERT INTO sys_config VALUES ('interface','session_timeout','0');
 
 SET FOREIGN_KEY_CHECKS = 1;
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index 6f40a1cda0..bae2adb932 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p2');
+define('ISPC_APP_VERSION', '3.0.5.4p3');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php
index 179acc9325..b6ee79e920 100644
--- a/interface/lib/config.inc.php
+++ b/interface/lib/config.inc.php
@@ -44,7 +44,7 @@ $revision = str_replace(array('Revision:', '$', ' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p2');
+define('ISPC_APP_VERSION', '3.0.5.4p3');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/web/themes/blue/ispconfig_version b/interface/web/themes/blue/ispconfig_version
index 0b23ab9c7a..000d1abcef 100644
--- a/interface/web/themes/blue/ispconfig_version
+++ b/interface/web/themes/blue/ispconfig_version
@@ -1 +1 @@
-3.0.5.4p2
+3.0.5.4p3
-- 
GitLab


From 36633e70259d9f56f74a45075d30bd38f164096f Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 14 Aug 2014 23:18:14 +0200
Subject: [PATCH 107/158] Changed .htpasswd path in ispconfig_htaccess.php
 script.

---
 server/scripts/ispconfig_htaccess.php | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/server/scripts/ispconfig_htaccess.php b/server/scripts/ispconfig_htaccess.php
index 568ec50f5a..b72e7918fb 100644
--- a/server/scripts/ispconfig_htaccess.php
+++ b/server/scripts/ispconfig_htaccess.php
@@ -29,8 +29,9 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 
-$path = realpath(dirname(__FILE__)) . '/..';
-$iface_path = realpath(dirname(__FILE__)) . '/../../interface/web';
+$path = realpath(dirname(__FILE__) . '/..');
+$iface_path = realpath(dirname(__FILE__) . '/../../interface/web');
+$iface_base_path = realpath(dirname(__FILE__) . '/../../interface');
 
 require $path . '/lib/mysql_clientdb.conf';
 
@@ -55,13 +56,13 @@ mysqli_close($link);
 
 if($cont == '') die('No users found' . "\n");
 
-if(file_exists($iface_path . '/.htpasswd')) rename($iface_path . '/.htpasswd', $iface_path . '/.htpasswd.old');
-file_put_contents($iface_path . '/.htpasswd', $cont);
-chmod($iface_path . '/.htpasswd', 0644);
+if(file_exists($iface_base_path . '/.htpasswd')) rename($iface_base_path . '/.htpasswd', $iface_base_path . '/.htpasswd.old');
+file_put_contents($iface_base_path . '/.htpasswd', $cont);
+chmod($iface_base_path . '/.htpasswd', 0644);
 
 $cont = 'AuthType Basic
 AuthName "Login"
-AuthUserFile ' . $iface_path . '/.htpasswd
+AuthUserFile ' . $iface_base_path . '/.htpasswd
 require valid-user';
 
 if(file_exists($iface_path . '/.htaccess')) rename($iface_path . '/.htaccess', $iface_path . '/.htaccess.old');
-- 
GitLab


From 65a0b9c10da329a4c9df4f00fb7e26ce04a3c203 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 15 Aug 2014 00:11:11 +0200
Subject: [PATCH 108/158] Added .cache dir to removed directories list of shell
 users.

---
 server/plugins-available/shelluser_base_plugin.inc.php    | 2 +-
 server/plugins-available/shelluser_jailkit_plugin.inc.php | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 651ccc9970..e19796cfca 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -263,7 +263,7 @@ class shelluser_base_plugin {
 					$homedir = $data['old']['dir'];
 					if(substr($homedir, -1) !== '/') $homedir .= '/';
 					$files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
-					$dirs = array('.ssh');
+					$dirs = array('.ssh', '.cache');
 					foreach($files as $delfile) {
 						if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
 					}
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index a391835790..3c8e2948a1 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -541,7 +541,7 @@ class shelluser_jailkit_plugin {
 					// delete dir
 					if(substr($homedir, -1) !== '/') $homedir .= '/';
 					$files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
-					$dirs = array('.ssh');
+					$dirs = array('.ssh', '.cache');
 					foreach($files as $delfile) {
 						if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
 					}
-- 
GitLab


From 90b13a1767098edf70c9c4c96e37ca5957400c83 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 15 Aug 2014 09:40:51 +0200
Subject: [PATCH 109/158] - removed unneeded session_start to avoid session
 files being created

---
 interface/web/js/scrigo.js.php | 1 -
 1 file changed, 1 deletion(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index 229c721be3..18c0885d92 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -1,5 +1,4 @@
 <?php
-session_start();
 include '../../lib/config.inc.php';
 header('Content-Type: text/javascript; charset=utf-8'); // the config file sets the content type header so we have to override it here!
 require_once '../../lib/app.inc.php';
-- 
GitLab


From b54d416889c8497bf53c13e7dbe57c11fad25493 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 21 Aug 2014 10:31:59 +0200
Subject: [PATCH 110/158] FS#3634 - Add option to disable statistics for a
 website

---
 interface/web/sites/form/web_domain.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index f270de30f7..efaea89cf4 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -496,7 +496,7 @@ $form["tabs"]['stats'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
 			'default' => 'webalizer',
-			'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
+			'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None')
 		),
 		//#################################
 		// ENDE Datatable fields
-- 
GitLab


From e23c47d06adda746c330be387f042319f0d7e4dc Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 21 Aug 2014 10:35:59 +0200
Subject: [PATCH 111/158] FS#3635 - Adding Shell Users with remote API is
 broken in 3.0.5.4p3 FS#3632 - Adding websites with remote API is broken in
 3.0.5.4p3 release. Missed to commit one file for: FS#3634 - Add option to
 disable statistics for a website

---
 .../lib/classes/validate_ftpuser.inc.php      | 28 ++++++----
 .../lib/classes/validate_systemuser.inc.php   | 52 ++++++++++++++-----
 interface/web/sites/form/ftp_user.tform.php   |  4 ++
 .../sites/form/web_vhost_subdomain.tform.php  |  2 +-
 .../examples/sites_ftp_user_add.php           |  6 +--
 .../examples/sites_ftp_user_update.php        |  2 +-
 .../examples/sites_shell_user_add.php         | 10 ++--
 .../examples/sites_shell_user_update.php      |  2 +-
 8 files changed, 73 insertions(+), 33 deletions(-)

diff --git a/interface/lib/classes/validate_ftpuser.inc.php b/interface/lib/classes/validate_ftpuser.inc.php
index 64ca12f227..8e0663ecae 100644
--- a/interface/lib/classes/validate_ftpuser.inc.php
+++ b/interface/lib/classes/validate_ftpuser.inc.php
@@ -36,7 +36,10 @@ class validate_ftpuser {
 	function ftp_dir($field_name, $field_value, $validator) {
 		global $app;
 
-		if($app->tform->primary_id == 0) {
+		$primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id;
+		$primary_id = $app->functions->intval($primary_id);
+		
+		if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) {
 			$errmsg = $validator['errmsg'];
 			if(isset($app->tform->wordbook[$errmsg])) {
 				return $app->tform->wordbook[$errmsg]."<br>\r\n";
@@ -45,18 +48,25 @@ class validate_ftpuser {
 			}
 		}
 
-
-		$ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($app->tform->primary_id)."'");
-		if(!is_array($ftp_data) || $ftp_data["parent_domain_id"] < 1) {
-			$errmsg = $validator['errmsg'];
-			if(isset($app->tform->wordbook[$errmsg])) {
-				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+		if($primary_id > 0) {
+			//* get parent_domain_id from website
+			$ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($primary_id)."'");
+			if(!is_array($ftp_data) || $ftp_data["parent_domain_id"] < 1) {
+				$errmsg = $validator['errmsg'];
+				if(isset($app->tform->wordbook[$errmsg])) {
+					return $app->tform->wordbook[$errmsg]."<br>\r\n";
+				} else {
+					return $errmsg."<br>\r\n";
+				}
 			} else {
-				return $errmsg."<br>\r\n";
+				$parent_domain_id = $ftp_data["parent_domain_id"];
 			}
+		} else {
+			//* get parent_domain_id from dataRecord when we have a insert operation trough remote API
+			$parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']);
 		}
 
-		$domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($ftp_data["parent_domain_id"])."'");
+		$domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'");
 		if(!is_array($domain_data) || $domain_data["domain_id"] < 1) {
 			$errmsg = $validator['errmsg'];
 			if(isset($app->tform->wordbook[$errmsg])) {
diff --git a/interface/lib/classes/validate_systemuser.inc.php b/interface/lib/classes/validate_systemuser.inc.php
index 6df3a4589c..2cab1cf444 100644
--- a/interface/lib/classes/validate_systemuser.inc.php
+++ b/interface/lib/classes/validate_systemuser.inc.php
@@ -29,6 +29,16 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 class validate_systemuser {
+	
+	function get_error($errmsg) {
+		global $app;
+
+		if(isset($app->tform->wordbook[$errmsg])) {
+			return $app->tform->wordbook[$errmsg]."<br>\r\n";
+		} else {
+			return $errmsg."<br>\r\n";
+		}
+	}
 
 	/*
 		Validator function to check if a given user is ok.
@@ -36,11 +46,15 @@ class validate_systemuser {
 	function check_sysuser($field_name, $field_value, $validator) {
 		global $app;
 		
+		//* Skip Test if we have the placeholder input of the remote APi for the web_domain system_user field here.
+		if($field_name == 'system_user' && $field_value == '-') return '';
+		
+		//* Check the input
 		$errmsg = $validator['errmsg'];
 		$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
 
 		if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) {
-			return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			return $this->get_error($errmsg);
 		}
 	}
 	
@@ -50,11 +64,14 @@ class validate_systemuser {
 	function check_sysgroup($field_name, $field_value, $validator) {
 		global $app;
 		
+		//* Skip Test if we have the placeholder input of the remote APi for the web_domain system_group field here.
+		if($field_name == 'system_group' && $field_value == '-') return '';
+		
 		$errmsg = $validator['errmsg'];
 		$check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
 
 		if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) {
-			return $app->tform->wordbook[$errmsg]."<br>\r\n";
+			return $this->get_error($errmsg);
 		}
 	}
 
@@ -63,8 +80,11 @@ class validate_systemuser {
 	*/
 	function shelluser_dir($field_name, $field_value, $validator) {
 		global $app;
-
-		if($app->tform->primary_id == 0) {
+		
+		$primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id;
+		$primary_id = $app->functions->intval($primary_id);
+		
+		if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) {
 			$errmsg = $validator['errmsg'];
 			if(isset($app->tform->wordbook[$errmsg])) {
 				return $app->tform->wordbook[$errmsg]."<br>\r\n";
@@ -73,18 +93,25 @@ class validate_systemuser {
 			}
 		}
 
-
-		$shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($app->tform->primary_id)."'");
-		if(!is_array($shell_data) || $shell_data["parent_domain_id"] < 1) {
-			$errmsg = $validator['errmsg'];
-			if(isset($app->tform->wordbook[$errmsg])) {
-				return $app->tform->wordbook[$errmsg]."<br>\r\n";
+		if($primary_id > 0) {
+			//* get parent_domain_id from website
+			$shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($primary_id)."'");
+			if(!is_array($shell_data) || $shell_data["parent_domain_id"] < 1) {
+				$errmsg = $validator['errmsg'];
+				if(isset($app->tform->wordbook[$errmsg])) {
+					return $app->tform->wordbook[$errmsg]."<br>\r\n";
+				} else {
+					return $errmsg."<br>\r\n";
+				}
 			} else {
-				return $errmsg."<br>\r\n";
+				$parent_domain_id = $shell_data["parent_domain_id"];
 			}
+		} else {
+			//* get parent_domain_id from dataRecord when we have a insert operation trough remote API
+			$parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']);
 		}
 
-		$domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($shell_data["parent_domain_id"])."'");
+		$domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'");
 		if(!is_array($domain_data) || $domain_data["domain_id"] < 1) {
 			$errmsg = $validator['errmsg'];
 			if(isset($app->tform->wordbook[$errmsg])) {
@@ -116,5 +143,4 @@ class validate_systemuser {
 		}
 	}
 
-
 }
diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index ef11b6058a..e96e63d16b 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -205,6 +205,10 @@ if($app->auth->is_admin()) {
 											1 => array ( 	'type' => 'REGEX',
 															'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
 															'errmsg'=> 'directory_error_regex'),
+											2 => array (    'type'  => 'CUSTOM',
+														'class' => 'validate_ftpuser',
+														'function' => 'ftp_dir',
+														'errmsg' => 'directory_error_notinweb'),
 				),
 				'default'   => '',
 				'value'     => '',
diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php
index e4ca6a2fd0..3aa2276fc5 100644
--- a/interface/web/sites/form/web_vhost_subdomain.tform.php
+++ b/interface/web/sites/form/web_vhost_subdomain.tform.php
@@ -486,7 +486,7 @@ $form["tabs"]['stats'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
 			'default' => 'webalizer',
-			'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
+			'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None')
 		),
 		//#################################
 		// ENDE Datatable fields
diff --git a/remoting_client/examples/sites_ftp_user_add.php b/remoting_client/examples/sites_ftp_user_add.php
index b8d499b2ff..6e48d80bab 100644
--- a/remoting_client/examples/sites_ftp_user_add.php
+++ b/remoting_client/examples/sites_ftp_user_add.php
@@ -20,13 +20,13 @@ try {
 	$params = array(
 		'server_id' => 1,
 		'parent_domain_id' => 1,
-		'username' => 'threep',
-		'password' => 'wood',
+		'username' => 'tom',
+		'password' => 'secret',
 		'quota_size' => 10000,
 		'active' => 'y',
 		'uid' => '5000',
 		'gid' => '5000',
-		'dir' => 'maybe',
+		'dir' => '/var/www/clients/client0/web1',
 		'quota_files' => -1,
 		'ul_ratio' => -1,
 		'dl_ratio' => -1,
diff --git a/remoting_client/examples/sites_ftp_user_update.php b/remoting_client/examples/sites_ftp_user_update.php
index d09b416701..1f36953575 100644
--- a/remoting_client/examples/sites_ftp_user_update.php
+++ b/remoting_client/examples/sites_ftp_user_update.php
@@ -15,7 +15,7 @@ try {
 	}
 
 	//* Parameters
-	$client_id = 1;
+	$client_id = 0;
 	$ftp_user_id = 1;
 
 
diff --git a/remoting_client/examples/sites_shell_user_add.php b/remoting_client/examples/sites_shell_user_add.php
index 84d4012f0e..c3f875bf01 100644
--- a/remoting_client/examples/sites_shell_user_add.php
+++ b/remoting_client/examples/sites_shell_user_add.php
@@ -20,14 +20,14 @@ try {
 	$params = array(
 		'server_id' => 1,
 		'parent_domain_id' => 1,
-		'username' => 'threep2',
-		'password' => 'wood',
+		'username' => 'tom',
+		'password' => 'test',
 		'quota_size' => 10000,
 		'active' => 'y',
-		'puser' => 'null',
-		'pgroup' => 'null',
+		'puser' => 'web1',
+		'pgroup' => 'client0',
 		'shell' => '/bin/bash',
-		'dir' => 'maybe',
+		'dir' => '/var/www/clients/client0/web1',
 		'chroot' => ''
 	);
 
diff --git a/remoting_client/examples/sites_shell_user_update.php b/remoting_client/examples/sites_shell_user_update.php
index 73b90138f6..a60262d20a 100644
--- a/remoting_client/examples/sites_shell_user_update.php
+++ b/remoting_client/examples/sites_shell_user_update.php
@@ -15,7 +15,7 @@ try {
 	}
 
 	//* Parameters
-	$client_id = 3;
+	$client_id = 0;
 	$shell_user_id = 1;
 
 
-- 
GitLab


From fb6c56e0236932606670b6baf4f1affd6318aea7 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 21 Aug 2014 12:47:22 +0200
Subject: [PATCH 112/158] Added code to installer to apply updates to the
 security_settings.ini

---
 install/dist/lib/fedora.lib.php    | 21 +++++++++++++++++++++
 install/dist/lib/gentoo.lib.php    | 21 +++++++++++++++++++++
 install/dist/lib/opensuse.lib.php  | 21 +++++++++++++++++++++
 install/lib/installer_base.lib.php | 21 +++++++++++++++++++++
 4 files changed, 84 insertions(+)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 49403dec04..a7179ef8e7 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -833,9 +833,30 @@ class installer_dist extends installer_base {
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
+		//* Make a backup of the security settings
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+		
 		//* copy the ISPConfig security part
 		$command = 'cp -rf ../security '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* Apply changed security_settings.ini values to new security_settings.ini file
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+			$security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+			$security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+			if(is_array($security_settings_new) && is_array($security_settings_old)) {
+				foreach($security_settings_new as $section => $sval) {
+					if(is_array($sval)) {
+						foreach($sval as $key => $val) {
+							if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+								$security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+							}
+						}
+					}
+				}
+				file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+			}
+		}
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 9e398d1a4c..153a4e0197 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -749,9 +749,30 @@ class installer extends installer_base
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
+		//* Make a backup of the security settings
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+		
 		//* copy the ISPConfig security part
 		$command = 'cp -rf ../security '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* Apply changed security_settings.ini values to new security_settings.ini file
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+			$security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+			$security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+			if(is_array($security_settings_new) && is_array($security_settings_old)) {
+				foreach($security_settings_new as $section => $sval) {
+					if(is_array($sval)) {
+						foreach($sval as $key => $val) {
+							if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+								$security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+							}
+						}
+					}
+				}
+				file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+			}
+		}
 
 
 		//* Create the config file for ISPConfig interface
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index c44bf8b6f4..935b816086 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -905,9 +905,30 @@ class installer_dist extends installer_base {
 		$command = "cp -rf ../server $install_dir";
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
+		//* Make a backup of the security settings
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+		
 		//* copy the ISPConfig security part
 		$command = 'cp -rf ../security '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* Apply changed security_settings.ini values to new security_settings.ini file
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+			$security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+			$security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+			if(is_array($security_settings_new) && is_array($security_settings_old)) {
+				foreach($security_settings_new as $section => $sval) {
+					if(is_array($sval)) {
+						foreach($sval as $key => $val) {
+							if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+								$security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+							}
+						}
+					}
+				}
+				file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+			}
+		}
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 125ebe1a70..538f21e76f 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1745,9 +1745,30 @@ class installer_base {
 		$command = 'cp -rf ../server '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
+		//* Make a backup of the security settings
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+		
 		//* copy the ISPConfig security part
 		$command = 'cp -rf ../security '.$install_dir;
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		
+		//* Apply changed security_settings.ini values to new security_settings.ini file
+		if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+			$security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+			$security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+			if(is_array($security_settings_new) && is_array($security_settings_old)) {
+				foreach($security_settings_new as $section => $sval) {
+					if(is_array($sval)) {
+						foreach($sval as $key => $val) {
+							if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+								$security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+							}
+						}
+					}
+				}
+				file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+			}
+		}
 
 		//* Create a symlink, so ISPConfig is accessible via web
 		// Replaced by a separate vhost definition for port 8080
-- 
GitLab


From d96e29ee1a7569aa25197ade01f35522af1570d2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 22 Aug 2014 08:51:43 +0200
Subject: [PATCH 113/158] - added alias- and subdomains to ssl domain select

---
 interface/web/sites/web_domain_edit.php | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 1208e48a1e..b15222c193 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -406,8 +406,15 @@ class page_action extends tform_actions {
 		}
 
 		$ssl_domain_select = '';
-		$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
-		$ssl_domains = array($tmp["domain"], 'www.'.$tmp["domain"], '*.'.$tmp["domain"]);
+		$ssl_domains = array();
+		$tmpd = $app->db->queryAllRecords("SELECT domain, type FROM web_domain WHERE domain_id = ".$this->id." OR parent_domain_id = ".$this->id);
+		foreach($tmpd as $tmp) {
+			if($tmp['type'] == 'subdomain' || $tmp['type'] == 'vhostsubdomain']) {
+				$ssl_domains[] = $tmp["domain"];
+			} else {
+				$ssl_domains = array_merge($ssl_domains, array($tmp["domain"],'www.'.$tmp["domain"],'*.'.$tmp["domain"]));
+			}
+		}
 		if(is_array($ssl_domains)) {
 			foreach( $ssl_domains as $ssl_domain) {
 				$selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
-- 
GitLab


From 90923d227d949b59138a5a755ed16c2e87e78b70 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 22 Aug 2014 08:59:49 +0200
Subject: [PATCH 114/158] - fixed typo in previous commit

---
 interface/web/sites/web_domain_edit.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index b15222c193..a757700ba9 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -409,7 +409,7 @@ class page_action extends tform_actions {
 		$ssl_domains = array();
 		$tmpd = $app->db->queryAllRecords("SELECT domain, type FROM web_domain WHERE domain_id = ".$this->id." OR parent_domain_id = ".$this->id);
 		foreach($tmpd as $tmp) {
-			if($tmp['type'] == 'subdomain' || $tmp['type'] == 'vhostsubdomain']) {
+			if($tmp['type'] == 'subdomain' || $tmp['type'] == 'vhostsubdomain') {
 				$ssl_domains[] = $tmp["domain"];
 			} else {
 				$ssl_domains = array_merge($ssl_domains, array($tmp["domain"],'www.'.$tmp["domain"],'*.'.$tmp["domain"]));
-- 
GitLab


From cb1221013251b4e9cba8e129edc6b8dbd8fd5145 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 15:33:09 +0200
Subject: [PATCH 115/158] FS#3640 - Add Intrusion Detection System

---
 install/dist/lib/fedora.lib.php               |   6 +
 install/dist/lib/gentoo.lib.php               |   6 +
 install/dist/lib/opensuse.lib.php             |   6 +
 install/lib/installer_base.lib.php            |   6 +
 interface/lib/app.inc.php                     |  13 +-
 interface/lib/classes/IDS/.htaccess           |   5 +
 .../lib/classes/IDS/Caching/ApcCache.php      | 144 +++
 .../lib/classes/IDS/Caching/CacheFactory.php  |  85 ++
 .../classes/IDS/Caching/CacheInterface.php    |  64 ++
 .../lib/classes/IDS/Caching/DatabaseCache.php | 277 ++++++
 .../lib/classes/IDS/Caching/FileCache.php     | 189 ++++
 .../classes/IDS/Caching/MemcachedCache.php    | 181 ++++
 .../lib/classes/IDS/Caching/SessionCache.php  | 136 +++
 interface/lib/classes/IDS/Config.ini.php      |  59 ++
 .../lib/classes/IDS/Config/Config.ini.php     |  91 ++
 interface/lib/classes/IDS/Converter.php       | 779 +++++++++++++++
 interface/lib/classes/IDS/Event.php           | 221 +++++
 interface/lib/classes/IDS/Filter.php          | 175 ++++
 interface/lib/classes/IDS/Filter/Storage.php  | 401 ++++++++
 interface/lib/classes/IDS/Init.php            | 174 ++++
 interface/lib/classes/IDS/Monitor.php         | 566 +++++++++++
 interface/lib/classes/IDS/Report.php          | 339 +++++++
 interface/lib/classes/IDS/Version.php         |  49 +
 interface/lib/classes/IDS/default_filter.json | 933 ++++++++++++++++++
 interface/lib/classes/IDS/default_filter.xml  | 787 +++++++++++++++
 interface/lib/classes/IDS/license.txt         |  18 +
 interface/lib/classes/db_mysql.inc.php        |  47 +
 interface/lib/classes/getconf.inc.php         |  18 +-
 interface/lib/classes/ids.inc.php             | 149 +++
 security/apache_directives.blacklist          |   3 +
 security/ids.htmlfield                        |   5 +
 security/ids.whitelist                        |  45 +
 security/security_settings.ini                |   9 +
 33 files changed, 5979 insertions(+), 7 deletions(-)
 create mode 100644 interface/lib/classes/IDS/.htaccess
 create mode 100644 interface/lib/classes/IDS/Caching/ApcCache.php
 create mode 100644 interface/lib/classes/IDS/Caching/CacheFactory.php
 create mode 100644 interface/lib/classes/IDS/Caching/CacheInterface.php
 create mode 100644 interface/lib/classes/IDS/Caching/DatabaseCache.php
 create mode 100644 interface/lib/classes/IDS/Caching/FileCache.php
 create mode 100644 interface/lib/classes/IDS/Caching/MemcachedCache.php
 create mode 100644 interface/lib/classes/IDS/Caching/SessionCache.php
 create mode 100644 interface/lib/classes/IDS/Config.ini.php
 create mode 100644 interface/lib/classes/IDS/Config/Config.ini.php
 create mode 100644 interface/lib/classes/IDS/Converter.php
 create mode 100644 interface/lib/classes/IDS/Event.php
 create mode 100644 interface/lib/classes/IDS/Filter.php
 create mode 100644 interface/lib/classes/IDS/Filter/Storage.php
 create mode 100644 interface/lib/classes/IDS/Init.php
 create mode 100644 interface/lib/classes/IDS/Monitor.php
 create mode 100644 interface/lib/classes/IDS/Report.php
 create mode 100644 interface/lib/classes/IDS/Version.php
 create mode 100644 interface/lib/classes/IDS/default_filter.json
 create mode 100644 interface/lib/classes/IDS/default_filter.xml
 create mode 100644 interface/lib/classes/IDS/license.txt
 create mode 100644 interface/lib/classes/ids.inc.php
 create mode 100644 security/apache_directives.blacklist
 create mode 100644 security/ids.htmlfield
 create mode 100644 security/ids.whitelist

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index a7179ef8e7..7dd7d9b04a 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -1010,6 +1010,12 @@ class installer_dist extends installer_base {
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		$command = 'chown root:ispconfig '.$install_dir.'/security';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 153a4e0197..005a2fc2ee 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -903,6 +903,12 @@ class installer extends installer_base
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		$command = 'chown root:ispconfig '.$install_dir.'/security';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 935b816086..ea13cd2598 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -1081,6 +1081,12 @@ class installer_dist extends installer_base {
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		$command = 'chown root:ispconfig '.$install_dir.'/security';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 538f21e76f..a30a7ec02a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1937,6 +1937,12 @@ class installer_base {
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		$command = 'chown root:ispconfig '.$install_dir.'/security';
 		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		$command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
+		caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
 		//* Make the global language file directory group writable
 		exec("chmod -R 770 $install_dir/interface/lib/lang");
diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index 8832f45e1c..615e39087b 100755
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -48,6 +48,7 @@ class app {
 	private $_wb;
 	private $_loaded_classes = array();
 	private $_conf;
+	private $_security_config;
 	
 	public $loaded_plugins = array();
 
@@ -109,7 +110,8 @@ class app {
 		}
 
 		$this->uses('functions'); // we need this before all others!
-		$this->uses('auth,plugin');
+		$this->uses('auth,plugin,ini_parser,getconf');
+		
 	}
 
 	public function __get($prop) {
@@ -327,4 +329,13 @@ class app {
 //* possible future =  new app($conf);
 $app = new app();
 
+// load and enable PHP Intrusion Detection System (PHPIDS)
+$ids_security_config = $app->getconf->get_security_config('ids');
+		
+if(is_dir(ISPC_CLASS_PATH.'/IDS') && $ids_security_config['ids_enabled'] == 'yes') {
+	$app->uses('ids');
+	$app->ids->start();
+}
+unset($ids_security_config);
+
 ?>
diff --git a/interface/lib/classes/IDS/.htaccess b/interface/lib/classes/IDS/.htaccess
new file mode 100644
index 0000000000..878d02ab1a
--- /dev/null
+++ b/interface/lib/classes/IDS/.htaccess
@@ -0,0 +1,5 @@
+# in case PHPIDS is placed in the web-root
+deny from all
+
+# silence is golden
+php_flag display_errors off
\ No newline at end of file
diff --git a/interface/lib/classes/IDS/Caching/ApcCache.php b/interface/lib/classes/IDS/Caching/ApcCache.php
new file mode 100644
index 0000000000..e82cc88c5f
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/ApcCache.php
@@ -0,0 +1,144 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+
+namespace IDS\Caching;
+
+/**
+ * APC caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via memcached.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Yves Berkholz <godzilla80@gmx.net>
+ * @copyright 2007-2009 The PHPIDS Groupoup
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.6.5
+ */
+class ApcCache implements CacheInterface
+{
+    /**
+     * Caching type
+     *
+     * @var string
+     */
+    private $type = null;
+
+    /**
+     * Cache configuration
+     *
+     * @var array
+     */
+    private $config = null;
+
+    /**
+     * Flag if the filter storage has been found in memcached
+     *
+     * @var boolean
+     */
+    private $isCached = false;
+
+    /**
+     * Holds an instance of this class
+     *
+     * @var object
+     */
+    private static $cachingInstance = null;
+
+    /**
+     * Constructor
+     *
+     * @param string $type caching type
+     * @param array  $init the IDS_Init object
+     *
+     * @return void
+     */
+    public function __construct($type, $init)
+    {
+        $this->type   = $type;
+        $this->config = $init->config['Caching'];
+    }
+
+    /**
+     * Returns an instance of this class
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return object $this
+     */
+    public static function getInstance($type, $init)
+    {
+        if (!self::$cachingInstance) {
+            self::$cachingInstance = new ApcCache($type, $init);
+        }
+
+        return self::$cachingInstance;
+    }
+
+    /**
+     * Writes cache data
+     *
+     * @param array $data the caching data
+     *
+     * @return object $this
+     */
+    public function setCache(array $data)
+    {
+        if (!$this->isCached) {
+            apc_store(
+                $this->config['key_prefix'] . '.storage',
+                $data,
+                $this->config['expiration_time']
+            );
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the cached data
+     *
+     * Note that this method returns false if either type or file cache is
+     * not set
+     *
+     * @return mixed cache data or false
+     */
+    public function getCache()
+    {
+        $data = apc_fetch($this->config['key_prefix'] . '.storage');
+        $this->isCached = !empty($data);
+
+        return $data;
+    }
+}
diff --git a/interface/lib/classes/IDS/Caching/CacheFactory.php b/interface/lib/classes/IDS/Caching/CacheFactory.php
new file mode 100644
index 0000000000..c358332550
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/CacheFactory.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * Caching factory
+ *
+ * This class is used as a factory to load the correct concrete caching
+ * implementation.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class CacheFactory
+{
+    /**
+     * Factory method
+     *
+     * @param object $init the IDS_Init object
+     * @param string $type the caching type
+     *
+     * @return object the caching facility
+     */
+    public static function factory($init, $type)
+    {
+        $object  = false;
+        $wrapper = preg_replace(
+            '/\W+/m',
+            null,
+            ucfirst($init->config['Caching']['caching'])
+        );
+        $class   = '\\IDS\\Caching\\' . $wrapper . 'Cache';
+        $path    = dirname(__FILE__) . DIRECTORY_SEPARATOR . $wrapper . 'Cache.php';
+
+        if (file_exists($path)) {
+            include_once $path;
+
+            if (class_exists($class)) {
+                $object = call_user_func(
+                    array('' . $class, 'getInstance'),
+                    $type,
+                    $init
+                );
+            }
+        }
+
+        return $object;
+    }
+}
diff --git a/interface/lib/classes/IDS/Caching/CacheInterface.php b/interface/lib/classes/IDS/Caching/CacheInterface.php
new file mode 100644
index 0000000000..c1a6a60920
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/CacheInterface.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * Caching wrapper interface
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @since     Version 0.4
+ * @link      http://php-ids.org/
+ */
+interface CacheInterface
+{
+    /**
+     * Interface method
+     *
+     * @param array $data the cache data
+     *
+     * @return void
+     */
+    public function setCache(array $data);
+
+    /**
+     * Interface method
+     *
+     * @return void
+     */
+    public function getCache();
+}
diff --git a/interface/lib/classes/IDS/Caching/DatabaseCache.php b/interface/lib/classes/IDS/Caching/DatabaseCache.php
new file mode 100644
index 0000000000..09c77a87d2
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/DatabaseCache.php
@@ -0,0 +1,277 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ *
+ */
+
+/**
+ * Database caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via a database.
+ *
+ * Needed SQL:
+ *
+
+#create the database
+
+CREATE DATABASE IF NOT EXISTS `phpids` DEFAULT CHARACTER
+SET utf8 COLLATE utf8_general_ci;
+DROP TABLE IF EXISTS `cache`;
+
+#now select the created datbase and create the table
+
+CREATE TABLE `cache` (
+`type` VARCHAR( 32 ) NOT null ,
+`data` TEXT NOT null ,
+`created` DATETIME NOT null ,
+`modified` DATETIME NOT null
+) ENGINE = MYISAM ;
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupup
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class DatabaseCache implements CacheInterface
+{
+
+    /**
+     * Caching type
+     *
+     * @var string
+     */
+    private $type = null;
+
+    /**
+     * Cache configuration
+     *
+     * @var array
+     */
+    private $config = null;
+
+    /**
+     * DBH
+     *
+     * @var object
+     */
+    private $handle = null;
+
+    /**
+     * Holds an instance of this class
+     *
+     * @var object
+     */
+    private static $cachingInstance = null;
+
+    /**
+     * Constructor
+     *
+     * Connects to database.
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return void
+     */
+    public function __construct($type, $init)
+    {
+        $this->type   = $type;
+        $this->config = $init->config['Caching'];
+        $this->handle = $this->connect();
+    }
+
+    /**
+     * Returns an instance of this class
+     *
+     * @static
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return object $this
+     */
+    public static function getInstance($type, $init)
+    {
+
+        if (!self::$cachingInstance) {
+            self::$cachingInstance = new DatabaseCache($type, $init);
+        }
+
+        return self::$cachingInstance;
+    }
+
+    /**
+     * Writes cache data into the database
+     *
+     * @param array $data the caching data
+     *
+     * @throws PDOException if a db error occurred
+     * @return object       $this
+     */
+    public function setCache(array $data)
+    {
+        $handle = $this->handle;
+
+        $rows = $handle->query('SELECT created FROM `' . $this->config['table'].'`');
+
+        if (!$rows || $rows->rowCount() === 0) {
+
+            $this->write($handle, $data);
+        } else {
+
+            foreach ($rows as $row) {
+
+                if ((time()-strtotime($row['created'])) >
+                    $this->config['expiration_time']) {
+
+                    $this->write($handle, $data);
+                }
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the cached data
+     *
+     * Note that this method returns false if either type or file cache is
+     * not set
+     *
+     * @throws PDOException if a db error occurred
+     * @return mixed        cache data or false
+     */
+    public function getCache()
+    {
+        try {
+            $handle = $this->handle;
+            $result = $handle->prepare(
+                'SELECT * FROM `' .
+                $this->config['table'] .
+                '` where type=?'
+            );
+            $result->execute(array($this->type));
+
+            foreach ($result as $row) {
+                return unserialize($row['data']);
+            }
+
+        } catch (\PDOException $e) {
+            throw new \PDOException('PDOException: ' . $e->getMessage());
+        }
+
+        return false;
+    }
+
+    /**
+     * Connect to database and return a handle
+     *
+     * @return object       PDO
+     * @throws Exception    if connection parameters are faulty
+     * @throws PDOException if a db error occurred
+     */
+    private function connect()
+    {
+        // validate connection parameters
+        if (!$this->config['wrapper']
+            || !$this->config['user']
+                || !$this->config['password']
+                    || !$this->config['table']) {
+
+            throw new \Exception('Insufficient connection parameters');
+        }
+
+        // try to connect
+        try {
+            $handle = new \PDO(
+                $this->config['wrapper'],
+                $this->config['user'],
+                $this->config['password']
+            );
+            $handle->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
+
+        } catch (\PDOException $e) {
+            throw new \PDOException('PDOException: ' . $e->getMessage());
+        }
+
+        return $handle;
+    }
+
+    /**
+     * Write the cache data to the table
+     *
+     * @param object $handle the database handle
+     * @param array  $data   the caching data
+     *
+     * @return object       PDO
+     * @throws PDOException if a db error occurred
+     */
+    private function write($handle, $data)
+    {
+        try {
+            $handle->query('TRUNCATE ' . $this->config['table'].'');
+            $statement = $handle->prepare(
+                'INSERT INTO `' .
+                $this->config['table'].'` (
+                    type,
+                    data,
+                    created,
+                    modified
+                )
+                VALUES (
+                    :type,
+                    :data,
+                    now(),
+                    now()
+                )'
+            );
+
+            $statement->bindValue(
+                'type',
+                $handle->quote($this->type)
+            );
+            $statement->bindValue('data', serialize($data));
+
+            if (!$statement->execute()) {
+                throw new \PDOException($statement->errorCode());
+            }
+        } catch (\PDOException $e) {
+            throw new \PDOException('PDOException: ' . $e->getMessage());
+        }
+    }
+}
diff --git a/interface/lib/classes/IDS/Caching/FileCache.php b/interface/lib/classes/IDS/Caching/FileCache.php
new file mode 100644
index 0000000000..71f01c7dc8
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/FileCache.php
@@ -0,0 +1,189 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+use IDS\Init;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via a static flatfile.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class FileCache implements CacheInterface
+{
+    /**
+     * Caching type
+     *
+     * @var string
+     */
+    private $type;
+
+    /**
+     * Cache configuration
+     *
+     * @var array
+     */
+    private $config;
+
+    /**
+     * Path to cache file
+     *
+     * @var string
+     */
+    private $path;
+
+    /**
+     * Holds an instance of this class
+     *
+     * @var object
+     */
+    private static $cachingInstance;
+
+    /**
+     * Constructor
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     * @throws \Exception
+     *
+     * @return void
+     */
+    public function __construct($type, Init $init)
+    {
+        $this->type   = $type;
+        $this->config = $init->config['Caching'];
+        $this->path   = $init->getBasePath() . $this->config['path'];
+
+        if (file_exists($this->path) && !is_writable($this->path)) {
+            throw new \Exception(
+                'Make sure all files in ' .
+                htmlspecialchars($this->path, ENT_QUOTES, 'UTF-8') .
+                'are writeable!'
+            );
+        }
+    }
+
+    /**
+     * Returns an instance of this class
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return object $this
+     */
+    public static function getInstance($type, $init)
+    {
+        if (!self::$cachingInstance) {
+            self::$cachingInstance = new FileCache($type, $init);
+        }
+
+        return self::$cachingInstance;
+    }
+
+    /**
+     * Writes cache data into the file
+     *
+     * @param array $data the cache data
+     *
+     * @throws Exception if cache file couldn't be created
+     * @return object    $this
+     */
+    public function setCache(array $data)
+    {
+        if (!is_writable(preg_replace('/[\/][^\/]+\.[^\/]++$/', null, $this->path))) {
+            throw new \Exception(
+                'Temp directory ' .
+                htmlspecialchars($this->path, ENT_QUOTES, 'UTF-8') .
+                ' seems not writable'
+            );
+        }
+
+        if (!$this->isValidFile($this->path)) {
+            $handle = @fopen($this->path, 'w+');
+
+            if (!$handle) {
+                throw new \Exception("Cache file couldn't be created");
+            }
+
+            $serialized = @serialize($data);
+            if (!$serialized) {
+                throw new \Exception("Cache data couldn't be serialized");
+            }
+
+            fwrite($handle, $serialized);
+            fclose($handle);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the cached data
+     *
+     * Note that this method returns false if either type or file cache is
+     * not set
+     *
+     * @return mixed cache data or false
+     */
+    public function getCache()
+    {
+        // make sure filters are parsed again if cache expired
+        if (!$this->isValidFile($this->path)) {
+            return false;
+        }
+
+        $data = unserialize(file_get_contents($this->path));
+
+        return $data;
+    }
+
+    /**
+     * Returns true if the cache file is still valid
+     *
+     * @param  string $file
+     * @return bool
+     */
+    private function isValidFile($file)
+    {
+        return file_exists($file) && time() - filectime($file) <= $this->config['expiration_time'];
+    }
+}
diff --git a/interface/lib/classes/IDS/Caching/MemcachedCache.php b/interface/lib/classes/IDS/Caching/MemcachedCache.php
new file mode 100644
index 0000000000..b3dd5b72d7
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/MemcachedCache.php
@@ -0,0 +1,181 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via memcached.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupoup
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class MemcachedCache implements CacheInterface
+{
+    /**
+     * Caching type
+     *
+     * @var string
+     */
+    private $type = null;
+
+    /**
+     * Cache configuration
+     *
+     * @var array
+     */
+    private $config = null;
+
+    /**
+     * Flag if the filter storage has been found in memcached
+     *
+     * @var boolean
+     */
+    private $isCached = false;
+
+    /**
+     * Memcache object
+     *
+     * @var object
+     */
+    private $memcache = null;
+
+    /**
+     * Holds an instance of this class
+     *
+     * @var object
+     */
+    private static $cachingInstance = null;
+
+    /**
+     * Constructor
+     *
+     * @param string $type caching type
+     * @param array  $init the IDS_Init object
+     *
+     * @return void
+     */
+    public function __construct($type, $init)
+    {
+
+        $this->type   = $type;
+        $this->config = $init->config['Caching'];
+
+        $this->connect();
+    }
+
+    /**
+     * Returns an instance of this class
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return object $this
+     */
+    public static function getInstance($type, $init)
+    {
+        if (!self::$cachingInstance) {
+            self::$cachingInstance = new MemcachedCache($type, $init);
+        }
+
+        return self::$cachingInstance;
+    }
+
+    /**
+     * Writes cache data
+     *
+     * @param array $data the caching data
+     *
+     * @return object $this
+     */
+    public function setCache(array $data)
+    {
+        if (!$this->isCached) {
+            $this->memcache->set(
+                $this->config['key_prefix'] . '.storage',
+                $data,
+                false,
+                $this->config['expiration_time']
+            );
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the cached data
+     *
+     * Note that this method returns false if either type or file cache is
+     * not set
+     *
+     * @return mixed cache data or false
+     */
+    public function getCache()
+    {
+        $data = $this->memcache->get(
+            $this->config['key_prefix'] .
+            '.storage'
+        );
+        $this->isCached = !empty($data);
+
+        return $data;
+    }
+
+    /**
+     * Connect to the memcached server
+     *
+     * @throws Exception if connection parameters are insufficient
+     * @return void
+     */
+    private function connect()
+    {
+
+        if ($this->config['host'] && $this->config['port']) {
+            // establish the memcache connection
+            $this->memcache = new \Memcache;
+            $this->memcache->pconnect(
+                $this->config['host'],
+                $this->config['port']
+            );
+
+        } else {
+            throw new \Exception('Insufficient connection parameters');
+        }
+    }
+}
diff --git a/interface/lib/classes/IDS/Caching/SessionCache.php b/interface/lib/classes/IDS/Caching/SessionCache.php
new file mode 100644
index 0000000000..7168a63ce7
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/SessionCache.php
@@ -0,0 +1,136 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+
+namespace IDS\Caching;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via session.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class SessionCache implements CacheInterface
+{
+    /**
+     * Caching type
+     *
+     * @var string
+     */
+    private $type = null;
+
+    /**
+     * Cache configuration
+     *
+     * @var array
+     */
+    private $config = null;
+
+    /**
+     * Holds an instance of this class
+     *
+     * @var object
+     */
+    private static $cachingInstance = null;
+
+    /**
+     * Constructor
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return void
+     */
+    public function __construct($type, $init)
+    {
+        $this->type   = $type;
+        $this->config = $init->config['Caching'];
+    }
+
+    /**
+     * Returns an instance of this class
+     *
+     * @param string $type caching type
+     * @param object $init the IDS_Init object
+     *
+     * @return object $this
+     */
+    public static function getInstance($type, $init)
+    {
+
+        if (!self::$cachingInstance) {
+            self::$cachingInstance = new SessionCache($type, $init);
+        }
+
+        return self::$cachingInstance;
+    }
+
+    /**
+     * Writes cache data into the session
+     *
+     * @param array $data the caching data
+     *
+     * @return object $this
+     */
+    public function setCache(array $data)
+    {
+
+        $_SESSION['PHPIDS'][$this->type] = $data;
+
+        return $this;
+    }
+
+    /**
+     * Returns the cached data
+     *
+     * Note that this method returns false if either type or file cache is not set
+     *
+     * @return mixed cache data or false
+     */
+    public function getCache()
+    {
+
+        if ($this->type && $_SESSION['PHPIDS'][$this->type]) {
+            return $_SESSION['PHPIDS'][$this->type];
+        }
+
+        return false;
+    }
+}
diff --git a/interface/lib/classes/IDS/Config.ini.php b/interface/lib/classes/IDS/Config.ini.php
new file mode 100644
index 0000000000..f87ccc8d67
--- /dev/null
+++ b/interface/lib/classes/IDS/Config.ini.php
@@ -0,0 +1,59 @@
+; <?php die(); ?>
+
+; PHPIDS Config.ini
+
+; General configuration settings
+
+[General]
+
+    ; basic settings - customize to make the PHPIDS work at all
+    filter_type     = xml
+
+    base_path       = /full/path/to/IDS/
+    use_base_path   = false
+
+    filter_path     = default_filter.xml
+    tmp_path        = tmp
+    scan_keys       = false
+
+    ; in case you want to use a different HTMLPurifier source, specify it here
+    ; By default, those files are used that are being shipped with PHPIDS
+    HTML_Purifier_Cache = vendors/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer
+
+    ; define which fields contain html and need preparation before
+    ; hitting the PHPIDS rules (new in PHPIDS 0.5)
+    ;html[]          = POST.__wysiwyg
+
+    ; define which fields contain JSON data and should be treated as such
+    ; for fewer false positives (new in PHPIDS 0.5.3)
+    ;json[]          = POST.__jsondata
+
+    ; define which fields shouldn't be monitored (a[b]=c should be referenced via a.b)
+    exceptions[]    = GET.__utmz
+    exceptions[]    = GET.__utmc
+	exceptions[]    = POST.maildir_path
+
+    ; you can use regular expressions for wildcard exceptions - example: /.*foo/i
+
+[Caching]
+
+    ; caching:      session|file|database|memcached|apc|none
+    caching         = file
+    expiration_time = 600
+
+    ; file cache
+    path            = tmp/default_filter.cache
+
+    ; database cache
+    wrapper         = "mysql:host=localhost;port=3306;dbname=phpids"
+    user            = phpids_user
+    password        = 123456
+    table           = cache
+
+    ; memcached
+    ;host           = localhost
+    ;port           = 11211
+    ;key_prefix     = PHPIDS
+
+    ; apc
+    ;key_prefix     = PHPIDS
diff --git a/interface/lib/classes/IDS/Config/Config.ini.php b/interface/lib/classes/IDS/Config/Config.ini.php
new file mode 100644
index 0000000000..080055298d
--- /dev/null
+++ b/interface/lib/classes/IDS/Config/Config.ini.php
@@ -0,0 +1,91 @@
+; <?php die(); ?>
+
+; PHPIDS Config.ini
+
+; General configuration settings
+
+[General]
+
+    ; basic settings - customize to make the PHPIDS work at all
+    filter_type     = xml
+
+    base_path       = /full/path/to/IDS/
+    use_base_path   = false
+
+    filter_path     = default_filter.xml
+    tmp_path        = tmp
+    scan_keys       = false
+
+    ; in case you want to use a different HTMLPurifier source, specify it here
+    ; By default, those files are used that are being shipped with PHPIDS
+    HTML_Purifier_Cache = vendors/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer
+
+    ; define which fields contain html and need preparation before
+    ; hitting the PHPIDS rules (new in PHPIDS 0.5)
+    ;html[]          = POST.__wysiwyg
+	;html[]			 = POST.records
+	;html[]			 = REQUEST.records
+
+    ; define which fields contain JSON data and should be treated as such
+    ; for fewer false positives (new in PHPIDS 0.5.3)
+    ;json[]          = POST.__jsondata
+
+    ; define which fields shouldn't be monitored (a[b]=c should be referenced via a.b)
+    ; exceptions[]    = GET.__utmz
+    ; exceptions[]    = GET.__utmc
+	; exceptions[]    = POST.maildir_path
+	; exceptions[]	= REQUEST.maildir_path
+	; exceptions[]    = REQUEST.website_path
+	; exceptions[]    = REQUEST.website_symlinks
+	; exceptions[]    = REQUEST.vhost_conf_dir
+	; exceptions[]    = REQUEST.vhost_conf_enabled_dir
+	; exceptions[]    = REQUEST.nginx_vhost_conf_dir
+	; exceptions[]    = REQUEST.nginx_vhost_conf_enabled_dir
+	; exceptions[]    = REQUEST.php_open_basedir
+	; exceptions[]    = REQUEST.awstats_pl
+	; exceptions[]    = POST.website_path
+	; exceptions[]    = POST.website_symlinks
+	; exceptions[]    = POST.vhost_conf_dir
+	; exceptions[]    = POST.vhost_conf_enabled_dir
+	; exceptions[]    = POST.nginx_vhost_conf_dir
+	; exceptions[]    = POST.nginx_vhost_conf_enabled_dir
+	; exceptions[]    = POST.php_open_basedir
+	; exceptions[]    = POST.awstats_pl
+	; exceptions[]    = REQUEST.fastcgi_starter_path
+	; exceptions[]    = REQUEST.fastcgi_bin
+	; exceptions[]    = POST.fastcgi_starter_path
+	; exceptions[]    = POST.fastcgi_bin
+	; exceptions[]    = REQUEST.jailkit_chroot_home
+	; exceptions[]    = POST.jailkit_chroot_home
+	; exceptions[]    = REQUEST.phpmyadmin_url
+	; exceptions[]    = REQUEST.phpmyadmin_url
+	; exceptions[]    = REQUEST.records.weak_password_txt
+	; exceptions[]    = POST.records.weak_password_txt
+	
+	
+
+    ; you can use regular expressions for wildcard exceptions - example: /.*foo/i
+
+[Caching]
+
+    ; caching:      session|file|database|memcached|apc|none
+    caching         = file
+    expiration_time = 600
+
+    ; file cache
+    path            = tmp/default_filter.cache
+
+    ; database cache
+    wrapper         = "mysql:host=localhost;port=3306;dbname=phpids"
+    user            = phpids_user
+    password        = 123456
+    table           = cache
+
+    ; memcached
+    ;host           = localhost
+    ;port           = 11211
+    ;key_prefix     = PHPIDS
+
+    ; apc
+    ;key_prefix     = PHPIDS
+
diff --git a/interface/lib/classes/IDS/Converter.php b/interface/lib/classes/IDS/Converter.php
new file mode 100644
index 0000000000..770d1ccc9c
--- /dev/null
+++ b/interface/lib/classes/IDS/Converter.php
@@ -0,0 +1,779 @@
+<?php
+
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+
+/**
+ * PHPIDS specific utility class to convert charsets manually
+ *
+ * Note that if you make use of IDS_Converter::runAll(), existing class
+ * methods will be executed in the same order as they are implemented in the
+ * class tree!
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+
+namespace IDS;
+
+class Converter
+{
+    /**
+     * Runs all converter functions
+     *
+     * Note that if you make use of IDS_Converter::runAll(), existing class
+     * methods will be executed in the same order as they are implemented in the
+     * class tree!
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function runAll($value)
+    {
+        foreach (get_class_methods(__CLASS__) as $method) {
+            if (strpos($method, 'run') !== 0) {
+                $value = self::$method($value);
+            }
+        }
+
+        return $value;
+    }
+
+    /**
+     * Check for comments and erases them if available
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromCommented($value)
+    {
+        // check for existing comments
+        if (preg_match('/(?:\<!-|-->|\/\*|\*\/|\/\/\W*\w+\s*$)|(?:--[^-]*-)/ms', $value)) {
+
+            $pattern = array(
+                '/(?:(?:<!)(?:(?:--(?:[^-]*(?:-[^-]+)*)--\s*)*)(?:>))/ms',
+                '/(?:(?:\/\*\/*[^\/\*]*)+\*\/)/ms',
+                '/(?:--[^-]*-)/ms'
+            );
+
+            $converted = preg_replace($pattern, ';', $value);
+            $value    .= "\n" . $converted;
+        }
+
+        //make sure inline comments are detected and converted correctly
+        $value = preg_replace('/(<\w+)\/+(\w+=?)/m', '$1/$2', $value);
+        $value = preg_replace('/[^\\\:]\/\/(.*)$/m', '/**/$1', $value);
+        $value = preg_replace('/([^\-&])#.*[\r\n\v\f]/m', '$1', $value);
+        $value = preg_replace('/([^&\-])#.*\n/m', '$1 ', $value);
+        $value = preg_replace('/^#.*\n/m', ' ', $value);
+
+        return $value;
+    }
+
+    /**
+     * Strip newlines
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromWhiteSpace($value)
+    {
+        //check for inline linebreaks
+        $search = array('\r', '\n', '\f', '\t', '\v');
+        $value  = str_replace($search, ';', $value);
+
+        // replace replacement characters regular spaces
+        $value = str_replace('�', ' ', $value);
+
+        //convert real linebreaks
+        return preg_replace('/(?:\n|\r|\v)/m', '  ', $value);
+    }
+
+    /**
+     * Checks for common charcode pattern and decodes them
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromJSCharcode($value)
+    {
+        $matches = array();
+
+        // check if value matches typical charCode pattern
+        if (preg_match_all('/(?:[\d+-=\/\* ]+(?:\s?,\s?[\d+-=\/\* ]+)){4,}/ms', $value, $matches)) {
+            $converted = '';
+            $string    = implode(',', $matches[0]);
+            $string    = preg_replace('/\s/', '', $string);
+            $string    = preg_replace('/\w+=/', '', $string);
+            $charcode  = explode(',', $string);
+
+            foreach ($charcode as $char) {
+                $char = preg_replace('/\W0/s', '', $char);
+
+                if (preg_match_all('/\d*[+-\/\* ]\d+/', $char, $matches)) {
+                    $match = preg_split('/(\W?\d+)/', implode('', $matches[0]), null, PREG_SPLIT_DELIM_CAPTURE);
+
+                    if (array_sum($match) >= 20 && array_sum($match) <= 127) {
+                        $converted .= chr(array_sum($match));
+                    }
+
+                } elseif (!empty($char) && $char >= 20 && $char <= 127) {
+                    $converted .= chr($char);
+                }
+            }
+
+            $value .= "\n" . $converted;
+        }
+
+        // check for octal charcode pattern
+        if (preg_match_all('/(?:(?:[\\\]+\d+[ \t]*){8,})/ims', $value, $matches)) {
+            $converted = '';
+            $charcode  = explode('\\', preg_replace('/\s/', '', implode(',', $matches[0])));
+
+            foreach (array_map('octdec', array_filter($charcode)) as $char) {
+                if (20 <= $char && $char <= 127) {
+                    $converted .= chr($char);
+                }
+            }
+            $value .= "\n" . $converted;
+        }
+
+        // check for hexadecimal charcode pattern
+        if (preg_match_all('/(?:(?:[\\\]+\w+\s*){8,})/ims', $value, $matches)) {
+            $converted = '';
+            $charcode  = explode('\\', preg_replace('/[ux]/', '', implode(',', $matches[0])));
+
+            foreach (array_map('hexdec', array_filter($charcode)) as $char) {
+                if (20 <= $char && $char <= 127) {
+                    $converted .= chr($char);
+                }
+            }
+            $value .= "\n" . $converted;
+        }
+
+        return $value;
+    }
+
+    /**
+     * Eliminate JS regex modifiers
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertJSRegexModifiers($value)
+    {
+        return preg_replace('/\/[gim]+/', '/', $value);
+    }
+
+    /**
+     * Converts from hex/dec entities
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertEntities($value)
+    {
+        $converted = null;
+
+        //deal with double encoded payload
+        $value = preg_replace('/&amp;/', '&', $value);
+
+        if (preg_match('/&#x?[\w]+/ms', $value)) {
+            $converted = preg_replace('/(&#x?[\w]{2}\d?);?/ms', '$1;', $value);
+            $converted = html_entity_decode($converted, ENT_QUOTES, 'UTF-8');
+            $value    .= "\n" . str_replace(';;', ';', $converted);
+        }
+
+        // normalize obfuscated protocol handlers
+        $value = preg_replace(
+            '/(?:j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:)|(d\s*a\s*t\s*a\s*:)/ms',
+            'javascript:',
+            $value
+        );
+
+        return $value;
+    }
+
+    /**
+     * Normalize quotes
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertQuotes($value)
+    {
+        // normalize different quotes to "
+        $pattern = array('\'', '`', '´', '’', '‘');
+        $value   = str_replace($pattern, '"', $value);
+
+        //make sure harmless quoted strings don't generate false alerts
+        $value = preg_replace('/^"([^"=\\!><~]+)"$/', '$1', $value);
+
+        return $value;
+    }
+
+    /**
+     * Converts SQLHEX to plain text
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromSQLHex($value)
+    {
+        $matches = array();
+        if (preg_match_all('/(?:(?:\A|[^\d])0x[a-f\d]{3,}[a-f\d]*)+/im', $value, $matches)) {
+            foreach ($matches[0] as $match) {
+                $converted = '';
+                foreach (str_split($match, 2) as $hex_index) {
+                    if (preg_match('/[a-f\d]{2,3}/i', $hex_index)) {
+                        $converted .= chr(hexdec($hex_index));
+                    }
+                }
+                $value = str_replace($match, $converted, $value);
+            }
+        }
+        // take care of hex encoded ctrl chars
+        $value = preg_replace('/0x\d+/m', ' 1 ', $value);
+
+        return $value;
+    }
+
+    /**
+     * Converts basic SQL keywords and obfuscations
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromSQLKeywords($value)
+    {
+        $pattern = array(
+            '/(?:is\s+null)|(like\s+null)|' .
+            '(?:(?:^|\W)in[+\s]*\([\s\d"]+[^()]*\))/ims'
+        );
+        $value   = preg_replace($pattern, '"=0', $value);
+
+        $value   = preg_replace('/[^\w\)]+\s*like\s*[^\w\s]+/ims', '1" OR "1"', $value);
+        $value   = preg_replace('/null([,"\s])/ims', '0$1', $value);
+        $value   = preg_replace('/\d+\./ims', ' 1', $value);
+        $value   = preg_replace('/,null/ims', ',0', $value);
+        $value   = preg_replace('/(?:between)/ims', 'or', $value);
+        $value   = preg_replace('/(?:and\s+\d+\.?\d*)/ims', '', $value);
+        $value   = preg_replace('/(?:\s+and\s+)/ims', ' or ', $value);
+
+        $pattern = array(
+            '/(?:not\s+between)|(?:is\s+not)|(?:not\s+in)|' .
+            '(?:xor|<>|rlike(?:\s+binary)?)|' .
+            '(?:regexp\s+binary)|' .
+            '(?:sounds\s+like)/ims'
+        );
+        $value   = preg_replace($pattern, '!', $value);
+        $value   = preg_replace('/"\s+\d/', '"', $value);
+        $value   = preg_replace('/(\W)div(\W)/ims', '$1 OR $2', $value);
+        $value   = preg_replace('/\/(?:\d+|null)/', null, $value);
+
+        return $value;
+    }
+
+    /**
+     * Detects nullbytes and controls chars via ord()
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromControlChars($value)
+    {
+        // critical ctrl values
+        $search = array(
+            chr(0), chr(1), chr(2), chr(3), chr(4), chr(5),
+            chr(6), chr(7), chr(8), chr(11), chr(12), chr(14),
+            chr(15), chr(16), chr(17), chr(18), chr(19), chr(24),
+            chr(25), chr(192), chr(193), chr(238), chr(255), '\\0'
+        );
+
+        $value = str_replace($search, '%00', $value);
+
+        //take care for malicious unicode characters
+        $value = urldecode(
+            preg_replace(
+                '/(?:%E(?:2|3)%8(?:0|1)%(?:A|8|9)\w|%EF%BB%BF|%EF%BF%BD)|(?:&#(?:65|8)\d{3};?)/i',
+                null,
+                urlencode($value)
+            )
+        );
+        $value = urlencode($value);
+        $value = preg_replace('/(?:%F0%80%BE)/i', '>', $value);
+        $value = preg_replace('/(?:%F0%80%BC)/i', '<', $value);
+        $value = preg_replace('/(?:%F0%80%A2)/i', '"', $value);
+        $value = preg_replace('/(?:%F0%80%A7)/i', '\'', $value);
+        $value = urldecode($value);
+
+        $value = preg_replace('/(?:%ff1c)/', '<', $value);
+        $value = preg_replace('/(?:&[#x]*(200|820|200|820|zwn?j|lrm|rlm)\w?;?)/i', null, $value);
+        $value = preg_replace(
+            '/(?:&#(?:65|8)\d{3};?)|' .
+            '(?:&#(?:56|7)3\d{2};?)|' .
+            '(?:&#x(?:fe|20)\w{2};?)|' .
+            '(?:&#x(?:d[c-f])\w{2};?)/i',
+            null,
+            $value
+        );
+
+        $value = str_replace(
+            array(
+                '«',
+                '〈',
+                '<',
+                '‹',
+                '〈',
+                '⟨'
+            ),
+            '<',
+            $value
+        );
+        $value = str_replace(
+            array(
+                '»',
+                '〉',
+                '>',
+                '›',
+                '〉',
+                '⟩'
+            ),
+            '>',
+            $value
+        );
+
+        return $value;
+    }
+
+    /**
+     * This method matches and translates base64 strings and fragments
+     * used in data URIs
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromNestedBase64($value)
+    {
+        $matches = array();
+        preg_match_all('/(?:^|[,&?])\s*([a-z0-9]{50,}=*)(?:\W|$)/im', $value, $matches);
+
+        foreach ($matches[1] as $item) {
+            if (isset($item) && !preg_match('/[a-f0-9]{32}/i', $item)) {
+                $base64_item = base64_decode($item);
+                $value = str_replace($item, $base64_item, $value);
+            }
+        }
+
+        return $value;
+    }
+
+    /**
+     * Detects nullbytes and controls chars via ord()
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromOutOfRangeChars($value)
+    {
+        $values = str_split($value);
+        foreach ($values as $item) {
+            if (ord($item) >= 127) {
+                $value = str_replace($item, ' ', $value);
+            }
+        }
+
+        return $value;
+    }
+
+    /**
+     * Strip XML patterns
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromXML($value)
+    {
+        $converted = strip_tags($value);
+        if (!$converted || $converted === $value) {
+            return $value;
+        } else {
+            return $value . "\n" . $converted;
+        }
+    }
+
+    /**
+     * This method converts JS unicode code points to
+     * regular characters
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromJSUnicode($value)
+    {
+        $matches = array();
+        preg_match_all('/\\\u[0-9a-f]{4}/ims', $value, $matches);
+
+        if (!empty($matches[0])) {
+            foreach ($matches[0] as $match) {
+                $chr = chr(hexdec(substr($match, 2, 4)));
+                $value = str_replace($match, $chr, $value);
+            }
+            $value .= "\n\u0001";
+        }
+
+        return $value;
+    }
+
+    /**
+     * Converts relevant UTF-7 tags to UTF-8
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromUTF7($value)
+    {
+        if (preg_match('/\+A\w+-?/m', $value)) {
+            if (function_exists('mb_convert_encoding')) {
+                if (version_compare(PHP_VERSION, '5.2.8', '<')) {
+                    $tmp_chars = str_split($value);
+                    $value = '';
+                    foreach ($tmp_chars as $char) {
+                        if (ord($char) <= 127) {
+                            $value .= $char;
+                        }
+                    }
+                }
+                $value .= "\n" . mb_convert_encoding($value, 'UTF-8', 'UTF-7');
+            } else {
+                //list of all critical UTF7 codepoints
+                $schemes = array(
+                    '+ACI-'      => '"',
+                    '+ADw-'      => '<',
+                    '+AD4-'      => '>',
+                    '+AFs-'      => '[',
+                    '+AF0-'      => ']',
+                    '+AHs-'      => '{',
+                    '+AH0-'      => '}',
+                    '+AFw-'      => '\\',
+                    '+ADs-'      => ';',
+                    '+ACM-'      => '#',
+                    '+ACY-'      => '&',
+                    '+ACU-'      => '%',
+                    '+ACQ-'      => '$',
+                    '+AD0-'      => '=',
+                    '+AGA-'      => '`',
+                    '+ALQ-'      => '"',
+                    '+IBg-'      => '"',
+                    '+IBk-'      => '"',
+                    '+AHw-'      => '|',
+                    '+ACo-'      => '*',
+                    '+AF4-'      => '^',
+                    '+ACIAPg-'   => '">',
+                    '+ACIAPgA8-' => '">'
+                );
+
+                $value = str_ireplace(
+                    array_keys($schemes),
+                    array_values($schemes),
+                    $value
+                );
+            }
+        }
+
+        return $value;
+    }
+
+    /**
+     * Converts basic concatenations
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromConcatenated($value)
+    {
+        //normalize remaining backslashes
+        if ($value != preg_replace('/(\w)\\\/', "$1", $value)) {
+            $value .= preg_replace('/(\w)\\\/', "$1", $value);
+        }
+
+        $compare = stripslashes($value);
+
+        $pattern = array(
+            '/(?:<\/\w+>\+<\w+>)/s',
+            '/(?:":\d+[^"[]+")/s',
+            '/(?:"?"\+\w+\+")/s',
+            '/(?:"\s*;[^"]+")|(?:";[^"]+:\s*")/s',
+            '/(?:"\s*(?:;|\+).{8,18}:\s*")/s',
+            '/(?:";\w+=)|(?:!""&&")|(?:~)/s',
+            '/(?:"?"\+""?\+?"?)|(?:;\w+=")|(?:"[|&]{2,})/s',
+            '/(?:"\s*\W+")/s',
+            '/(?:";\w\s*\+=\s*\w?\s*")/s',
+            '/(?:"[|&;]+\s*[^|&\n]*[|&]+\s*"?)/s',
+            '/(?:";\s*\w+\W+\w*\s*[|&]*")/s',
+            '/(?:"\s*"\s*\.)/s',
+            '/(?:\s*new\s+\w+\s*[+",])/',
+            '/(?:(?:^|\s+)(?:do|else)\s+)/',
+            '/(?:[{(]\s*new\s+\w+\s*[)}])/',
+            '/(?:(this|self)\.)/',
+            '/(?:undefined)/',
+            '/(?:in\s+)/'
+        );
+
+        // strip out concatenations
+        $converted = preg_replace($pattern, null, $compare);
+
+        //strip object traversal
+        $converted = preg_replace('/\w(\.\w\()/', "$1", $converted);
+
+        // normalize obfuscated method calls
+        $converted = preg_replace('/\)\s*\+/', ")", $converted);
+
+        //convert JS special numbers
+        $converted = preg_replace(
+            '/(?:\(*[.\d]e[+-]*[^a-z\W]+\)*)|(?:NaN|Infinity)\W/ims',
+            1,
+            $converted
+        );
+
+        if ($converted && ($compare != $converted)) {
+            $value .= "\n" . $converted;
+        }
+
+        return $value;
+    }
+
+    /**
+     * This method collects and decodes proprietary encoding types
+     *
+     * @param string $value the value to convert
+     *
+     * @static
+     * @return string
+     */
+    public static function convertFromProprietaryEncodings($value)
+    {
+        //Xajax error reportings
+        $value = preg_replace('/<!\[CDATA\[(\W+)\]\]>/im', '$1', $value);
+
+        //strip false alert triggering apostrophes
+        $value = preg_replace('/(\w)\"(s)/m', '$1$2', $value);
+
+        //strip quotes within typical search patterns
+        $value = preg_replace('/^"([^"=\\!><~]+)"$/', '$1', $value);
+
+        //OpenID login tokens
+        $value = preg_replace('/{[\w-]{8,9}\}(?:\{[\w=]{8}\}){2}/', null, $value);
+
+        //convert Content and \sdo\s to null
+        $value = preg_replace('/Content|\Wdo\s/', null, $value);
+
+        //strip emoticons
+        $value = preg_replace(
+            '/(?:\s[:;]-[)\/PD]+)|(?:\s;[)PD]+)|(?:\s:[)PD]+)|-\.-|\^\^/m',
+            null,
+            $value
+        );
+
+        //normalize separation char repetion
+        $value = preg_replace('/([.+~=*_\-;])\1{2,}/m', '$1', $value);
+
+        //normalize multiple single quotes
+        $value = preg_replace('/"{2,}/m', '"', $value);
+
+        //normalize quoted numerical values and asterisks
+        $value = preg_replace('/"(\d+)"/m', '$1', $value);
+
+        //normalize pipe separated request parameters
+        $value = preg_replace('/\|(\w+=\w+)/m', '&$1', $value);
+
+        //normalize ampersand listings
+        $value = preg_replace('/(\w\s)&\s(\w)/', '$1$2', $value);
+
+        //normalize escaped RegExp modifiers
+        $value = preg_replace('/\/\\\(\w)/', '/$1', $value);
+
+        return $value;
+    }
+
+  /**
+   * This method removes encoded sql # comments
+   *
+   * @param string $value the value to convert
+   *
+   * @static
+   * @return string
+   */
+    public static function convertFromUrlencodeSqlComment($value)
+    {
+        if (preg_match_all('/(?:\%23.*?\%0a)/im',$value,$matches)){
+            $converted = $value;
+            foreach($matches[0] as $match){
+                $converted = str_replace($match,' ',$converted);
+            }
+            $value .= "\n" . $converted;
+        }
+        return $value;
+    }
+
+    /**
+     * This method is the centrifuge prototype
+     *
+     * @param string  $value   the value to convert
+     * @param Monitor $monitor the monitor object
+     *
+     * @static
+     * @return string
+     */
+    public static function runCentrifuge($value, Monitor $monitor = null)
+    {
+        $threshold = 3.49;
+        if (strlen($value) > 25) {
+            //strip padding
+            $tmp_value = preg_replace('/\s{4}|==$/m', null, $value);
+            $tmp_value = preg_replace(
+                '/\s{4}|[\p{L}\d\+\-=,.%()]{8,}/m',
+                'aaa',
+                $tmp_value
+            );
+
+            // Check for the attack char ratio
+            $tmp_value = preg_replace('/([*.!?+-])\1{1,}/m', '$1', $tmp_value);
+            $tmp_value = preg_replace('/"[\p{L}\d\s]+"/m', null, $tmp_value);
+
+            $stripped_length = strlen(
+                preg_replace(
+                    '/[\d\s\p{L}\.:,%&\/><\-)!|]+/m',
+                    null,
+                    $tmp_value
+                )
+            );
+            $overall_length = strlen(
+                preg_replace(
+                    '/([\d\s\p{L}:,\.]{3,})+/m',
+                    'aaa',
+                    preg_replace('/\s{2,}/m', null, $tmp_value)
+                )
+            );
+
+            if ($stripped_length != 0 && $overall_length/$stripped_length <= $threshold) {
+                $monitor->centrifuge['ratio']     = $overall_length / $stripped_length;
+                $monitor->centrifuge['threshold'] =$threshold;
+
+                $value .= "\n$[!!!]";
+            }
+        }
+
+        if (strlen($value) > 40) {
+            // Replace all non-special chars
+            $converted =  preg_replace('/[\w\s\p{L},.:!]/', null, $value);
+
+            // Split string into an array, unify and sort
+            $array = str_split($converted);
+            $array = array_unique($array);
+            asort($array);
+
+            // Normalize certain tokens
+            $schemes = array(
+                '~' => '+',
+                '^' => '+',
+                '|' => '+',
+                '*' => '+',
+                '%' => '+',
+                '&' => '+',
+                '/' => '+'
+            );
+
+            $converted = implode($array);
+
+            $_keys = array_keys($schemes);
+            $_values = array_values($schemes);
+
+            $converted = str_replace($_keys, $_values, $converted);
+
+            $converted = preg_replace('/[+-]\s*\d+/', '+', $converted);
+            $converted = preg_replace('/[()[\]{}]/', '(', $converted);
+            $converted = preg_replace('/[!?:=]/', ':', $converted);
+            $converted = preg_replace('/[^:(+]/', null, stripslashes($converted));
+
+            // Sort again and implode
+            $array = str_split($converted);
+            asort($array);
+            $converted = implode($array);
+
+            if (preg_match('/(?:\({2,}\+{2,}:{2,})|(?:\({2,}\+{2,}:+)|(?:\({3,}\++:{2,})/', $converted)) {
+                $monitor->centrifuge['converted'] = $converted;
+
+                return $value . "\n" . $converted;
+            }
+        }
+
+        return $value;
+    }
+}
diff --git a/interface/lib/classes/IDS/Event.php b/interface/lib/classes/IDS/Event.php
new file mode 100644
index 0000000000..ebda1715ef
--- /dev/null
+++ b/interface/lib/classes/IDS/Event.php
@@ -0,0 +1,221 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS event object
+ *
+ * This class represents a certain event that occured while applying the filters
+ * to the supplied data. It aggregates a bunch of IDS_Filter implementations and
+ * is a assembled in IDS_Report.
+ *
+ * Note that this class implements both Countable and IteratorAggregate
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+class Event implements \Countable, \IteratorAggregate
+{
+    /**
+     * Event name
+     *
+     * @var string
+     */
+    protected $name = null;
+
+    /**
+     * Value of the event
+     *
+     * @var mixed
+     */
+    protected $value = null;
+
+    /**
+     * List of filter objects
+     *
+     * Filter objects in this array are those that matched the events value
+     *
+     * @var Filter[]|array
+     */
+    protected $filters = array();
+
+    /**
+     * Calculated impact
+     *
+     * Total impact of the event
+     *
+     * @var integer
+     */
+    protected $impact = 0;
+
+    /**
+     * Affecte tags
+     *
+     * @var string[]|array
+     */
+    protected $tags = array();
+
+    /**
+     * Constructor
+     *
+     * Fills event properties
+     *
+     * @param string            $name    the event name
+     * @param mixed             $value   the event value
+     * @param Filter[]|array    $filters the corresponding filters
+     *
+     * @throws \InvalidArgumentException
+     * @return \IDS\Event
+     */
+    public function __construct($name, $value, array $filters)
+    {
+        if (!is_scalar($name)) {
+            throw new \InvalidArgumentException(
+                'Expected $name to be a scalar,' . gettype($name) . ' given'
+            );
+        }
+
+        if (!is_scalar($value)) {
+            throw new \InvalidArgumentException(
+                'Expected $value to be a scalar,' . gettype($value) . ' given'
+            );
+        }
+
+        $this->name  = $name;
+        $this->value = $value;
+
+        foreach ($filters as $filter) {
+            if (!$filter instanceof Filter) {
+                throw new \InvalidArgumentException(
+                    'Filter must be derived from IDS_Filter'
+                );
+            }
+
+            $this->filters[] = $filter;
+        }
+    }
+
+    /**
+     * Returns event name
+     *
+     * The name of the event usually is the key of the variable that was
+     * considered to be malicious
+     *
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * Returns event value
+     *
+     * @return mixed
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Returns calculated impact
+     *
+     * @return integer
+     */
+    public function getImpact()
+    {
+        if (!$this->impact) {
+            $this->impact = 0;
+            foreach ($this->filters as $filter) {
+                $this->impact += $filter->getImpact();
+            }
+        }
+
+        return $this->impact;
+    }
+
+    /**
+     * Returns affected tags
+     *
+     * @return string[]|array
+     */
+    public function getTags()
+    {
+        foreach ($this->getFilters() as $filter) {
+            $this->tags = array_merge($this->tags, $filter->getTags());
+        }
+
+        return $this->tags = array_values(array_unique($this->tags));
+    }
+
+    /**
+     * Returns list of filter objects
+     *
+     * @return Filter[]|array
+     */
+    public function getFilters()
+    {
+        return $this->filters;
+    }
+
+    /**
+     * Returns number of filters
+     *
+     * To implement interface Countable this returns the number of filters
+     * appended.
+     *
+     * @return integer
+     */
+    public function count()
+    {
+        return count($this->getFilters());
+    }
+
+    /**
+     * IteratorAggregate iterator getter
+     *
+     * Returns an iterator to iterate over the appended filters.
+     *
+     * @return \Iterator the filter collection
+     */
+    public function getIterator()
+    {
+        return new \ArrayIterator($this->getFilters());
+    }
+}
diff --git a/interface/lib/classes/IDS/Filter.php b/interface/lib/classes/IDS/Filter.php
new file mode 100644
index 0000000000..573988f398
--- /dev/null
+++ b/interface/lib/classes/IDS/Filter.php
@@ -0,0 +1,175 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS Filter object
+ *
+ * Each object of this class serves as a container for a specific filter. The
+ * object provides methods to get information about this particular filter and
+ * also to match an arbitrary string against it.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class Filter
+{
+    /**
+     * Filter rule
+     *
+     * @var string
+     */
+    protected $rule;
+
+    /**
+     * List of tags of the filter
+     *
+     * @var string[]|array
+     */
+    protected $tags = array();
+
+    /**
+     * Filter impact level
+     *
+     * @var integer
+     */
+    protected $impact = 0;
+
+    /**
+     * Filter description
+     *
+     * @var string
+     */
+    protected $description = '';
+
+    /**
+     * Constructor
+     *
+     * @param integer           $id          filter id
+     * @param string            $rule        filter rule
+     * @param string            $description filter description
+     * @param string[]|array    $tags        list of tags
+     * @param integer           $impact      filter impact level
+     *
+     * @return \IDS\Filter
+     */
+    public function __construct($id, $rule, $description, array $tags, $impact)
+    {
+        $this->id          = $id;
+        $this->rule        = $rule;
+        $this->tags        = $tags;
+        $this->impact      = $impact;
+        $this->description = $description;
+    }
+
+    /**
+     * Matches a string against current filter
+     *
+     * Matches given string against the filter rule the specific object of this
+     * class represents
+     *
+     * @param string $input the string input to match
+     *
+     * @throws \InvalidArgumentException if argument is no string
+     * @return boolean
+     */
+    public function match($input)
+    {
+        if (!is_string($input)) {
+            throw new \InvalidArgumentException(
+                'Invalid argument. Expected a string, received ' . gettype($input)
+            );
+        }
+
+        return (bool) preg_match('/' . $this->getRule() . '/ms', strtolower($input));
+    }
+
+    /**
+     * Returns filter description
+     *
+     * @return string
+     */
+    public function getDescription()
+    {
+        return $this->description;
+    }
+
+    /**
+     * Return list of affected tags
+     *
+     * Each filter rule is concerned with a certain kind of attack vectors.
+     * This method returns those affected kinds.
+     *
+     * @return string[]|array
+     */
+    public function getTags()
+    {
+        return $this->tags;
+    }
+
+    /**
+     * Returns filter rule
+     *
+     * @return string
+     */
+    public function getRule()
+    {
+        return $this->rule;
+    }
+
+    /**
+     * Get filter impact level
+     *
+     * @return integer
+     */
+    public function getImpact()
+    {
+        return $this->impact;
+    }
+
+    /**
+     * Get filter ID
+     *
+     * @return integer
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+}
diff --git a/interface/lib/classes/IDS/Filter/Storage.php b/interface/lib/classes/IDS/Filter/Storage.php
new file mode 100644
index 0000000000..f17549b278
--- /dev/null
+++ b/interface/lib/classes/IDS/Filter/Storage.php
@@ -0,0 +1,401 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS\Filter;
+
+use IDS\Init;
+use IDS\Caching\CacheFactory;
+
+/**
+ * Filter Storage
+ *
+ * This class provides various default functions for gathering filter patterns
+ * to be used later on by the detection mechanism. You might extend this class
+ * to your requirements.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+class Storage
+{
+    /**
+     * Filter source file
+     *
+     * @var string
+     */
+    protected $source = null;
+
+    /**
+     * Holds caching settings
+     *
+     * @var array
+     */
+    protected $cacheSettings = null;
+
+    /**
+     * Cache container
+     *
+     * @var object IDS_Caching wrapper
+     */
+    protected $cache = null;
+
+    /**
+     * Filter container
+     *
+     * @var array
+     */
+    protected $filterSet = array();
+
+    /**
+     * Constructor
+     *
+     * Loads filters based on provided IDS_Init settings.
+     *
+     * @param object $init IDS_Init instance
+     *
+     * @throws \InvalidArgumentException if unsupported filter type is given
+     * @return void
+     */
+    final public function __construct(Init $init)
+    {
+        if ($init->config) {
+
+            $caching      = isset($init->config['Caching']['caching']) ? $init->config['Caching']['caching'] : 'none';
+
+            $type         = $init->config['General']['filter_type'];
+            $this->source = $init->getBasePath(). $init->config['General']['filter_path'];
+
+            if ($caching && $caching !== 'none') {
+                $this->cacheSettings = $init->config['Caching'];
+                $this->cache = CacheFactory::factory($init, 'storage');
+            }
+
+            switch ($type) {
+                case 'xml':
+                    return $this->getFilterFromXML();
+                case 'json':
+                    return $this->getFilterFromJson();
+                default:
+                    throw new \InvalidArgumentException('Unsupported filter type.');
+            }
+        }
+    }
+
+    /**
+     * Sets the filter array
+     *
+     * @param array $filterSet array containing multiple IDS_Filter instances
+     *
+     * @return object $this
+     */
+    final public function setFilterSet($filterSet)
+    {
+        foreach ($filterSet as $filter) {
+            $this->addFilter($filter);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns registered filters
+     *
+     * @return array
+     */
+    final public function getFilterSet()
+    {
+        return $this->filterSet;
+    }
+
+    /**
+     * Adds a filter
+     *
+     * @param object $filter IDS_Filter instance
+     *
+     * @return object $this
+     */
+    final public function addFilter(\IDS\Filter $filter)
+    {
+        $this->filterSet[] = $filter;
+
+        return $this;
+    }
+
+    /**
+     * Checks if any filters are cached
+     *
+     * @return mixed $filters cached filters or false
+     */
+    private function isCached()
+    {
+        $filters = false;
+
+        if ($this->cacheSettings) {
+            if ($this->cache) {
+                $filters = $this->cache->getCache();
+            }
+        }
+
+        return $filters;
+    }
+
+    /**
+     * Loads filters from XML using SimpleXML
+     *
+     * This function parses the provided source file and stores the result.
+     * If caching mode is enabled the result will be cached to increase
+     * the performance.
+     *
+     * @throws \InvalidArgumentException if source file doesn't exist
+     * @throws \RuntimeException if problems with fetching the XML data occur
+     * @return object    $this
+     */
+    public function getFilterFromXML()
+    {
+        if (extension_loaded('SimpleXML')) {
+
+            /*
+             * See if filters are already available in the cache
+             */
+            $filters = $this->isCached();
+
+            /*
+             * If they aren't, parse the source file
+             */
+            if (!$filters) {
+
+                if (!file_exists($this->source)) {
+                    throw new \InvalidArgumentException(
+                        sprintf('Invalid config: %s doesn\'t exist.', $this->source)
+                    );
+                }
+
+                if (LIBXML_VERSION >= 20621) {
+                    $filters = simplexml_load_file($this->source, null, LIBXML_COMPACT);
+                } else {
+                    $filters = simplexml_load_file($this->source);
+                }
+            }
+
+            /*
+             * In case we still don't have any filters loaded and exception
+             * will be thrown
+             */
+            if (empty($filters)) {
+                throw new \RuntimeException(
+                    'XML data could not be loaded.' .
+                    ' Make sure you specified the correct path.'
+                );
+            }
+
+            /*
+             * Now the storage will be filled with IDS_Filter objects
+             */
+            $nocache = $filters instanceof \SimpleXMLElement;
+            
+            if ($nocache)
+            {
+                // build filters and cache them for re-use on next run
+                $data    = array();
+                $filters = $filters->filter;
+                
+                foreach ($filters as $filter) {
+                    $id          = (string) $filter->id;
+                    $rule        = (string) $filter->rule;
+                    $impact      = (string) $filter->impact;
+                    $tags        = array_values((array) $filter->tags);
+                    $description = (string) $filter->description;
+                
+                    $this->addFilter(
+                            new \IDS\Filter(
+                                    $id,
+                                    $rule,
+                                    $description,
+                                    (array) $tags[0],
+                                    (int) $impact
+                            )
+                    );
+                
+                    $data[] = array(
+                            'id'          => $id,
+                            'rule'        => $rule,
+                            'impact'      => $impact,
+                            'tags'        => $tags,
+                            'description' => $description
+                    );
+                }
+                
+                /*
+                 * If caching is enabled, the fetched data will be cached
+                */
+                if ($this->cacheSettings) {
+                    $this->cache->setCache($data);
+                }
+                
+            } else {
+            
+                // build filters from cached content
+                $this->addFiltersFromArray($filters);
+            }
+
+            return $this;
+        }
+
+        throw new \RuntimeException('SimpleXML is not loaded.');
+    }
+
+    /**
+     * Loads filters from Json file using ext/Json
+     *
+     * This function parses the provided source file and stores the result.
+     * If caching mode is enabled the result will be cached to increase
+     * the performance.
+     *
+     * @throws \RuntimeException if problems with fetching the JSON data occur
+     * @return object    $this
+     */
+    public function getFilterFromJson()
+    {
+
+        if (extension_loaded('Json')) {
+
+            /*
+             * See if filters are already available in the cache
+             */
+            $filters = $this->isCached();
+
+            /*
+             * If they aren't, parse the source file
+             */
+            if (!$filters) {
+                if (!file_exists($this->source)) {
+                    throw new \InvalidArgumentException(
+                        sprintf('Invalid config: %s doesn\'t exist.', $this->source)
+                    );
+                }
+                $filters = json_decode(file_get_contents($this->source));
+            }
+
+            if (!$filters) {
+                throw new \RuntimeException('JSON data could not be loaded. Make sure you specified the correct path.');
+            }
+
+            /*
+             * Now the storage will be filled with IDS_Filter objects
+             */
+            $nocache = !is_array($filters);
+            
+            if ($nocache) {
+                
+                // build filters and cache them for re-use on next run
+                $data    = array();
+                $filters = $filters->filters->filter;
+                
+                foreach ($filters as $filter) {
+
+                    $id          = (string) $filter->id;
+                    $rule        = (string) $filter->rule;
+                    $impact      = (string) $filter->impact;
+                    $tags        = array_values((array) $filter->tags);
+                    $description = (string) $filter->description;
+    
+                    $this->addFilter(
+                        new \IDS\Filter(
+                            $id,
+                            $rule,
+                            $description,
+                            (array) $tags[0],
+                            (int) $impact
+                        )
+                    );
+    
+                    $data[] = array(
+                        'id'          => $id,
+                        'rule'        => $rule,
+                        'impact'      => $impact,
+                        'tags'        => $tags,
+                        'description' => $description
+                    );
+                }
+    
+                /*
+                 * If caching is enabled, the fetched data will be cached
+                 */
+                if ($this->cacheSettings) {
+                    $this->cache->setCache($data);
+                }
+                
+            } else {
+                
+                // build filters from cached content
+                $this->addFiltersFromArray($filters);
+            }
+
+            return $this;
+        }
+
+        throw new \RuntimeException('json extension is not loaded.');
+    }
+    
+    /**
+     * This functions adds an array of filters to the IDS_Storage object.
+     * Each entry within the array is expected to be an simple array containing all parts of the filter.
+     * 
+     * @param array $filters
+     */
+    private function addFiltersFromArray(array $filters)
+    {
+        foreach ($filters as $filter) {
+        
+            $id          = $filter['id'];
+            $rule        = $filter['rule'];
+            $impact      = $filter['impact'];
+            $tags        = $filter['tags'];
+            $description = $filter['description'];
+        
+            $this->addFilter(
+                new \IDS\Filter(
+                    $id,
+                    $rule,
+                    $description,
+                    (array) $tags[0],
+                    (int) $impact
+                )
+            );
+        }
+    }
+}
diff --git a/interface/lib/classes/IDS/Init.php b/interface/lib/classes/IDS/Init.php
new file mode 100644
index 0000000000..1b6269adc3
--- /dev/null
+++ b/interface/lib/classes/IDS/Init.php
@@ -0,0 +1,174 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * Framework initiation
+ *
+ * This class is used for the purpose to initiate the framework and inhabits
+ * functionality to parse the needed configuration file.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupup
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ * @since     Version 0.4
+ */
+class Init
+{
+    /**
+     * Holds config settings
+     *
+     * @var array
+     */
+    public $config = array();
+
+    /**
+     * Instance of this class depending on the supplied config file
+     *
+     * @var Init[]|array
+     * @static
+     */
+    private static $instances = array();
+
+    /**
+     * Constructor
+     *
+     * Includes needed classes and parses the configuration file
+     *
+     * @param array $config
+     *
+     * @return \IDS\Init $this
+     */
+    public function __construct(array $config = array())
+    {
+        $this->config = $config;
+    }
+
+    /**
+     * Returns an instance of this class. Also a PHP version check
+     * is being performed to avoid compatibility problems with PHP < 5.1.6
+     *
+     * @param string|null $configPath the path to the config file
+     *
+     * @throws \InvalidArgumentException
+     * @return self
+     */
+    public static function init($configPath = null)
+    {
+        if (!$configPath) {
+            return new self();
+        }
+        if (!isset(self::$instances[$configPath])) {
+            if (!file_exists($configPath) || !is_readable($configPath)) {
+                throw new \InvalidArgumentException("Invalid config path '$configPath'");
+            }
+            self::$instances[$configPath] = new static(parse_ini_file($configPath, true));
+        }
+
+        return self::$instances[$configPath];
+    }
+
+    /**
+     * This method checks if a base path is given and usage is set to true.
+     * If all that tests succeed the base path will be returned as a string -
+     * else null will be returned.
+     *
+     * @return string|null  the base path or null
+     */
+    public function getBasePath()
+    {
+        return (!empty($this->config['General']['base_path'])
+                && !empty($this->config['General']['use_base_path']))
+            ? $this->config['General']['base_path'] : null;
+    }
+
+    /**
+     * Merges new settings into the exsiting ones or overwrites them
+     *
+     * @param array   $config    the config array
+     * @param boolean $overwrite config overwrite flag
+     *
+     * @return void
+     */
+    public function setConfig(array $config, $overwrite = false)
+    {
+        if ($overwrite) {
+            $this->config = $this->mergeConfig($this->config, $config);
+        } else {
+            $this->config = $this->mergeConfig($config, $this->config);
+        }
+    }
+
+    /**
+     * Merge config hashes recursivly
+     *
+     * The algorithm merges configuration arrays recursively. If an element is
+     * an array in both, the values will be appended. If it is a scalar in both,
+     * the value will be replaced.
+     *
+     * @param  array $current   The legacy hash
+     * @param  array $successor The hash which values count more when in doubt
+     * @return array Merged hash
+     */
+    protected function mergeConfig($current, $successor)
+    {
+        if (is_array($current) and is_array($successor)) {
+            foreach ($successor as $key => $value) {
+                if (isset($current[$key])
+                    and is_array($value)
+                    and is_array($current[$key])) {
+
+                    $current[$key] = $this->mergeConfig($current[$key], $value);
+                } else {
+                    $current[$key] = $successor[$key];
+                }
+            }
+        }
+
+        return $current;
+    }
+
+    /**
+     * Returns the config array
+     *
+     * @return array the config array
+     */
+    public function getConfig()
+    {
+        return $this->config;
+    }
+}
diff --git a/interface/lib/classes/IDS/Monitor.php b/interface/lib/classes/IDS/Monitor.php
new file mode 100644
index 0000000000..f93e748e49
--- /dev/null
+++ b/interface/lib/classes/IDS/Monitor.php
@@ -0,0 +1,566 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+use IDS\Filter\Storage;
+
+/**
+ * Monitoring engine
+ *
+ * This class represents the core of the frameworks attack detection mechanism
+ * and provides functions to scan incoming data for malicious appearing script
+ * fragments.
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+class Monitor
+{
+    /**
+     * Tags to define what to search for
+     *
+     * Accepted values are xss, csrf, sqli, dt, id, lfi, rfe, spam, dos
+     *
+     * @var array
+     */
+    private $tags = null;
+
+    /**
+     * Container for filter rules
+     *
+     * Holds an instance of Storage
+     *
+     * @var Storage
+     */
+    private $storage = null;
+
+    /**
+     * Scan keys switch
+     *
+     * Enabling this property will cause the monitor to scan both the key and
+     * the value of variables
+     *
+     * @var boolean
+     */
+    public $scanKeys = false;
+
+    /**
+     * Exception container
+     *
+     * Using this array it is possible to define variables that must not be
+     * scanned. Per default, utmz google analytics parameters are permitted.
+     *
+     * @var array
+     */
+    private $exceptions = array();
+
+    /**
+     * Html container
+     *
+     * Using this array it is possible to define variables that legally
+     * contain html and have to be prepared before hitting the rules to
+     * avoid too many false alerts
+     *
+     * @var array
+     */
+    private $html = array();
+
+    /**
+     * JSON container
+     *
+     * Using this array it is possible to define variables that contain
+     * JSON data - and should be treated as such
+     *
+     * @var array
+     */
+    private $json = array();
+
+    /**
+     * Holds HTMLPurifier object
+     *
+     * @var \HTMLPurifier
+     */
+    private $htmlPurifier = null;
+
+    /**
+     * HTMLPurifier cache directory
+     *
+     * @var string
+     */
+    private $HTMLPurifierCache = '';
+
+    /**
+     * This property holds the tmp JSON string from the _jsonDecodeValues() callback
+     *
+     * @var string
+     */
+    private $tmpJsonString = '';
+
+    /**
+     * Constructor
+     *
+     * @throws \InvalidArgumentException When PHP version is less than what the library supports
+     * @throws \Exception
+     * @param  Init       $init instance of IDS_Init
+     * @param  array|null $tags list of tags to which filters should be applied
+     * @return Monitor
+     */
+    public function __construct(Init $init, array $tags = null)
+    {
+        $this->storage    = new Storage($init);
+        $this->tags       = $tags;
+        $this->scanKeys   = $init->config['General']['scan_keys'];
+        $this->exceptions = isset($init->config['General']['exceptions']) ? $init->config['General']['exceptions'] : array();
+        $this->html       = isset($init->config['General']['html'])       ? $init->config['General']['html'] : array();
+        $this->json       = isset($init->config['General']['json'])       ? $init->config['General']['json'] : array();
+
+        if (isset($init->config['General']['HTML_Purifier_Cache'])) {
+            $this->HTMLPurifierCache  = $init->getBasePath() . $init->config['General']['HTML_Purifier_Cache'];
+        }
+
+        $tmpPath = $init->getBasePath() . $init->config['General']['tmp_path'];
+
+        if (!is_writeable($tmpPath)) {
+            throw new \InvalidArgumentException("Please make sure the folder '$tmpPath' is writable");
+        }
+    }
+
+    /**
+     * Starts the scan mechanism
+     *
+     * @param  array $request
+     * @return Report
+     */
+    public function run(array $request)
+    {
+        $report = new Report;
+        foreach ($request as $key => $value) {
+            $report = $this->iterate($key, $value, $report);
+        }
+        return $report;
+    }
+
+    /**
+     * Iterates through given data and delegates it to IDS_Monitor::_detect() in
+     * order to check for malicious appearing fragments
+     *
+     * @param string       $key   the former array key
+     * @param array|string $value the former array value
+     * @param Report       $report
+     * @return Report
+     */
+    private function iterate($key, $value, Report $report)
+    {
+        if (is_array($value)) {
+            foreach ($value as $subKey => $subValue) {
+                $this->iterate("$key.$subKey", $subValue, $report);
+            }
+        } elseif (is_string($value)) {
+            if ($filter = $this->detect($key, $value)) {
+                $report->addEvent(new Event($key, $value, $filter));
+            }
+        }
+        return $report;
+    }
+
+    /**
+     * Checks whether given value matches any of the supplied filter patterns
+     *
+     * @param mixed $key   the key of the value to scan
+     * @param mixed $value the value to scan
+     *
+     * @return Filter[] array of filter(s) that matched the value
+     */
+    private function detect($key, $value)
+    {
+        // define the pre-filter
+        $preFilter = '([^\w\s/@!?\.]+|(?:\./)|(?:@@\w+)|(?:\+ADw)|(?:union\s+select))i';
+
+        // to increase performance, only start detection if value isn't alphanumeric
+        if ((!$this->scanKeys || !$key || !preg_match($preFilter, $key)) && (!$value || !preg_match($preFilter, $value))) {
+            return array();
+        }
+
+        // check if this field is part of the exceptions
+        foreach ($this->exceptions as $exception) {
+            $matches = array();
+            if (($exception === $key) || preg_match('((/.*/[^eE]*)$)', $exception, $matches) && isset($matches[1]) && preg_match($matches[1], $key)) {
+                return array();
+            }
+        }
+
+        // check for magic quotes and remove them if necessary
+        if (function_exists('get_magic_quotes_gpc') && !get_magic_quotes_gpc()) {
+            $value = preg_replace('(\\\(["\'/]))im', '$1', $value);
+        }
+
+        // if html monitoring is enabled for this field - then do it!
+        if (is_array($this->html) && in_array($key, $this->html, true)) {
+            list($key, $value) = $this->purifyValues($key, $value);
+        }
+
+        // check if json monitoring is enabled for this field
+        if (is_array($this->json) && in_array($key, $this->json, true)) {
+            list($key, $value) = $this->jsonDecodeValues($key, $value);
+        }
+
+        // use the converter
+        $value = Converter::runAll($value);
+        $value = Converter::runCentrifuge($value, $this);
+
+        // scan keys if activated via config
+        $key = $this->scanKeys ? Converter::runAll($key) : $key;
+        $key = $this->scanKeys ? Converter::runCentrifuge($key, $this) : $key;
+
+        $filterSet = $this->storage->getFilterSet();
+
+        if ($tags = $this->tags) {
+            $filterSet = array_filter(
+                $filterSet,
+                function (Filter $filter) use ($tags) {
+                    return (bool) array_intersect($tags, $filter->getTags());
+                }
+            );
+        }
+
+        $scanKeys = $this->scanKeys;
+        $filterSet = array_filter(
+            $filterSet,
+            function (Filter $filter) use ($key, $value, $scanKeys) {
+                return $filter->match($value) || $scanKeys && $filter->match($key);
+            }
+        );
+
+        return $filterSet;
+    }
+
+
+    /**
+     * Purifies given key and value variables using HTMLPurifier
+     *
+     * This function is needed whenever there is variables for which HTML
+     * might be allowed like e.g. WYSIWYG post bodies. It will detect malicious
+     * code fragments and leaves harmless parts untouched.
+     *
+     * @param mixed $key
+     * @param mixed $value
+     * @since  0.5
+     * @throws \Exception
+     *
+     * @return array tuple [key,value]
+     */
+    private function purifyValues($key, $value)
+    {
+        /*
+         * Perform a pre-check if string is valid for purification
+         */
+        if ($this->purifierPreCheck($key, $value)) {
+            if (!is_writeable($this->HTMLPurifierCache)) {
+                throw new \Exception($this->HTMLPurifierCache . ' must be writeable');
+            }
+
+            /** @var $config \HTMLPurifier_Config */
+            $config = \HTMLPurifier_Config::createDefault();
+            $config->set('Attr.EnableID', true);
+            $config->set('Cache.SerializerPath', $this->HTMLPurifierCache);
+            $config->set('Output.Newline', "\n");
+            $this->htmlPurifier = new \HTMLPurifier($config);
+
+            $value = preg_replace('([\x0b-\x0c])', ' ', $value);
+            $key = preg_replace('([\x0b-\x0c])', ' ', $key);
+
+            $purifiedValue = $this->htmlPurifier->purify($value);
+            $purifiedKey   = $this->htmlPurifier->purify($key);
+
+            $plainValue = strip_tags($value);
+            $plainKey   = strip_tags($key);
+
+            $value = $value != $purifiedValue || $plainValue ? $this->diff($value, $purifiedValue, $plainValue) : null;
+            $key = $key != $purifiedKey ? $this->diff($key, $purifiedKey, $plainKey) : null;
+        }
+        return array($key, $value);
+    }
+
+    /**
+     * This method makes sure no dangerous markup can be smuggled in
+     * attributes when HTML mode is switched on.
+     *
+     * If the precheck considers the string too dangerous for
+     * purification false is being returned.
+     *
+     * @param string $key
+     * @param string $value
+     * @since  0.6
+     *
+     * @return boolean
+     */
+    private function purifierPreCheck($key = '', $value = '')
+    {
+        /*
+         * Remove control chars before pre-check
+         */
+        $tmpValue = preg_replace('/\p{C}/', null, $value);
+        $tmpKey = preg_replace('/\p{C}/', null, $key);
+
+        $preCheck = '/<(script|iframe|applet|object)\W/i';
+        return !(preg_match($preCheck, $tmpKey) || preg_match($preCheck, $tmpValue));
+    }
+
+    /**
+     * This method calculates the difference between the original
+     * and the purified markup strings.
+     *
+     * @param string $original the original markup
+     * @param string $purified the purified markup
+     * @param string $plain    the string without html
+     * @since 0.5
+     *
+     * @return string the difference between the strings
+     */
+    private function diff($original, $purified, $plain)
+    {
+        /*
+         * deal with over-sensitive alt-attribute addition of the purifier
+         * and other common html formatting problems
+         */
+        $purified = preg_replace('/\s+alt="[^"]*"/m', null, $purified);
+        $purified = preg_replace('/=?\s*"\s*"/m', null, $purified);
+        $original = preg_replace('/\s+alt="[^"]*"/m', null, $original);
+        $original = preg_replace('/=?\s*"\s*"/m', null, $original);
+        $original = preg_replace('/style\s*=\s*([^"])/m', 'style = "$1', $original);
+
+        # deal with oversensitive CSS normalization
+        $original = preg_replace('/(?:([\w\-]+:)+\s*([^;]+;\s*))/m', '$1$2', $original);
+
+        # strip whitespace between tags
+        $original = trim(preg_replace('/>\s*</m', '><', $original));
+        $purified = trim(preg_replace('/>\s*</m', '><', $purified));
+
+        $original = preg_replace('/(=\s*(["\'`])[^>"\'`]*>[^>"\'`]*["\'`])/m', 'alt$1', $original);
+
+        // no purified html is left
+        if (!$purified) {
+            return $original;
+        }
+
+        // calculate the diff length
+        $length = mb_strlen($original) - mb_strlen($purified);
+
+        /*
+         * Calculate the difference between the original html input
+         * and the purified string.
+         */
+        $array1 = preg_split('/(?<!^)(?!$)/u', html_entity_decode(urldecode($original)));
+        $array2 = preg_split('/(?<!^)(?!$)/u', $purified);
+
+        // create an array containing the single character differences
+        $differences = array_diff_assoc($array1, $array2);
+
+        // return the diff - ready to hit the converter and the rules
+        $differences = trim(implode('', $differences));
+        $diff = $length <= 10 ? $differences : mb_substr($differences, 0, strlen($original));
+
+        // clean up spaces between tag delimiters
+        $diff = preg_replace('/>\s*</m', '><', $diff);
+
+        // correct over-sensitively stripped bad html elements
+        $diff = preg_replace('/[^<](iframe|script|embed|object|applet|base|img|style)/m', '<$1', $diff );
+
+        return mb_strlen($diff) >= 4 ? $diff . $plain : null;
+    }
+
+    /**
+     * This method prepares incoming JSON data for the PHPIDS detection
+     * process. It utilizes _jsonConcatContents() as callback and returns a
+     * string version of the JSON data structures.
+     *
+     * @param string $key
+     * @param string $value
+     * @since  0.5.3
+     *
+     * @return array tuple [key,value]
+     */
+    private function jsonDecodeValues($key, $value)
+    {
+        $decodedKey   = json_decode($key);
+        $decodedValue = json_decode($value);
+
+        if ($decodedValue && is_array($decodedValue) || is_object($decodedValue)) {
+            array_walk_recursive($decodedValue, array($this, 'jsonConcatContents'));
+            $value = $this->tmpJsonString;
+        } else {
+            $this->tmpJsonString .=  " " . $decodedValue . "\n";
+        }
+
+        if ($decodedKey && is_array($decodedKey) || is_object($decodedKey)) {
+            array_walk_recursive($decodedKey, array($this, 'jsonConcatContents'));
+            $key = $this->tmpJsonString;
+        } else {
+            $this->tmpJsonString .=  " " . $decodedKey . "\n";
+        }
+
+        return array($key, $value);
+    }
+
+    /**
+     * This is the callback used in _jsonDecodeValues(). The method
+     * concatenates key and value and stores them in $this->tmpJsonString.
+     *
+     * @param mixed $key
+     * @param mixed $value
+     * @since  0.5.3
+     *
+     * @return void
+     */
+    private function jsonConcatContents($key, $value)
+    {
+        if (is_string($key) && is_string($value)) {
+            $this->tmpJsonString .=  $key . " " . $value . "\n";
+        } else {
+            $this->jsonDecodeValues(json_encode($key), json_encode($value));
+        }
+    }
+
+    /**
+     * Sets exception array
+     *
+     * @param string[]|string $exceptions the thrown exceptions
+     *
+     * @return void
+     */
+    public function setExceptions($exceptions)
+    {
+        $this->exceptions = (array) $exceptions;
+    }
+
+    /**
+     * Returns exception array
+     *
+     * @return array
+     */
+    public function getExceptions()
+    {
+        return $this->exceptions;
+    }
+
+    /**
+     * Sets html array
+     *
+     * @param string[]|string $html the fields containing html
+     * @since 0.5
+     *
+     * @return void
+     */
+    public function setHtml($html)
+    {
+        $this->html = (array) $html;
+    }
+
+    /**
+     * Adds a value to the html array
+     *
+     * @since 0.5
+     *
+     * @param mixed $value
+     * @return void
+     */
+    public function addHtml($value)
+    {
+        $this->html[] = $value;
+    }
+
+    /**
+     * Returns html array
+     *
+     * @since 0.5
+     *
+     * @return array the fields that contain allowed html
+     */
+    public function getHtml()
+    {
+        return $this->html;
+    }
+
+    /**
+     * Sets json array
+     *
+     * @param string[]|string $json the fields containing json
+     * @since 0.5.3
+     *
+     * @return void
+     */
+    public function setJson($json)
+    {
+        $this->json = (array) $json;
+    }
+
+    /**
+     * Adds a value to the json array
+     *
+     * @param  string $value the value containing JSON data
+     * @since  0.5.3
+     *
+     * @return void
+     */
+    public function addJson($value)
+    {
+        $this->json[] = $value;
+    }
+
+    /**
+     * Returns json array
+     *
+     * @since 0.5.3
+     *
+     * @return array the fields that contain json
+     */
+    public function getJson()
+    {
+        return $this->json;
+    }
+
+    /**
+     * Returns storage container
+     *
+     * @return array
+     */
+    public function getStorage()
+    {
+        return $this->storage;
+    }
+}
diff --git a/interface/lib/classes/IDS/Report.php b/interface/lib/classes/IDS/Report.php
new file mode 100644
index 0000000000..daebfc030e
--- /dev/null
+++ b/interface/lib/classes/IDS/Report.php
@@ -0,0 +1,339 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS report object
+ *
+ * The report objects collects a number of events and thereby presents the
+ * detected results. It provides a convenient API to work with the results.
+ *
+ * Note that this class implements Countable, IteratorAggregate and
+ * a __toString() method
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+class Report implements \Countable, \IteratorAggregate
+{
+    /**
+     * Event container
+     *
+     * @var Event[]|array
+     */
+    protected $events = array();
+
+    /**
+     * List of affected tags
+     *
+     * This list of tags is collected from the collected event objects on
+     * demand when IDS_Report->getTags() is called
+     *
+     * @var string[]|array
+     */
+    protected $tags = array();
+
+    /**
+     * Impact level
+     *
+     * The impact level is calculated on demand by adding the results of the
+     * event objects on IDS\Report->getImpact()
+     *
+     * @var integer
+     */
+    protected $impact = 0;
+
+    /**
+     * Centrifuge data
+     *
+     * This variable - initiated as an empty array - carries all information
+     * about the centrifuge data if available
+     *
+     * @var array
+     */
+    protected $centrifuge = array();
+
+    /**
+     * Constructor
+     *
+     * @param array $events the events the report should include
+     *
+     * @return Report
+     */
+    public function __construct(array $events = null)
+    {
+        foreach ((array) $events as $event) {
+            $this->addEvent($event);
+        }
+    }
+
+    /**
+     * Adds an IDS_Event object to the report
+     *
+     * @param Event $event IDS_Event
+     *
+     * @return self $this
+     */
+    public function addEvent(Event $event)
+    {
+        $this->clear();
+        $this->events[$event->getName()] = $event;
+
+        return $this;
+    }
+
+    /**
+     * Get event by name
+     *
+     * In most cases an event is identified by the key of the variable that
+     * contained maliciously appearing content
+     *
+     * @param string|integer $name the event name
+     *
+     * @throws \InvalidArgumentException if argument is invalid
+     * @return Event|null                    IDS_Event object or false if the event does not exist
+     */
+    public function getEvent($name)
+    {
+        if (!is_scalar($name)) {
+            throw new \InvalidArgumentException('Invalid argument type given');
+        }
+
+        return $this->hasEvent($name) ? $this->events[$name] : null;
+    }
+	
+	/**
+     * Returns list of events
+     *
+     * @return string[]|array
+     */
+	
+	public function getEvents()
+    {
+        return $this->events;
+    }
+
+    /**
+     * Returns list of affected tags
+     *
+     * @return string[]|array
+     */
+    public function getTags()
+    {
+        if (!$this->tags) {
+            $this->tags = array();
+
+            foreach ($this->events as $event) {
+                $this->tags = array_merge($this->tags, $event->getTags());
+            }
+
+            $this->tags = array_values(array_unique($this->tags));
+        }
+
+        return $this->tags;
+    }
+
+    /**
+     * Returns total impact
+     *
+     * Each stored IDS_Event object and its IDS_Filter sub-object are called
+     * to calculate the overall impact level of this request
+     *
+     * @return integer
+     */
+    public function getImpact()
+    {
+        if (!$this->impact) {
+            $this->impact = 0;
+            foreach ($this->events as $event) {
+                $this->impact += $event->getImpact();
+            }
+        }
+
+        return $this->impact;
+    }
+
+    /**
+     * Checks if a specific event with given name exists
+     *
+     * @param string|integer $name the event name
+     *
+     * @throws \InvalidArgumentException if argument is illegal
+     * @return boolean
+     */
+    public function hasEvent($name)
+    {
+        if (!is_scalar($name)) {
+            throw new \InvalidArgumentException('Invalid argument given');
+        }
+
+        return isset($this->events[$name]);
+    }
+
+    /**
+     * Returns total amount of events
+     *
+     * @return integer
+     */
+    public function count()
+    {
+        return count($this->events);
+    }
+
+     /**
+     * Return iterator object
+     *
+     * In order to provide the possibility to directly iterate over the
+     * IDS_Event object the IteratorAggregate is implemented. One can easily
+     * use foreach() to iterate through all stored IDS_Event objects.
+     *
+     * @return \Iterator the event collection
+     */
+    public function getIterator()
+    {
+        return new \ArrayIterator($this->events);
+    }
+
+    /**
+     * Checks if any events are registered
+     *
+     * @return boolean
+     */
+    public function isEmpty()
+    {
+        return empty($this->events);
+    }
+
+    /**
+     * Clears calculated/collected values
+     *
+     * @return void
+     */
+    protected function clear()
+    {
+        $this->impact = 0;
+        $this->tags   = array();
+    }
+
+    /**
+     * This method returns the centrifuge property or null if not
+     * filled with data
+     *
+     * @return array
+     */
+    public function getCentrifuge()
+    {
+        return $this->centrifuge;
+    }
+
+    /**
+     * This method sets the centrifuge property
+     *
+     * @param array $centrifuge the centrifuge data
+     *
+     * @throws \InvalidArgumentException if argument is illegal
+     * @return void
+     */
+    public function setCentrifuge(array $centrifuge = array())
+    {
+        if (!$centrifuge) {
+            throw new \InvalidArgumentException('Empty centrifuge given');
+        }
+        $this->centrifuge = $centrifuge;
+    }
+
+    /**
+     * Directly outputs all available information
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        $output = '';
+        if (!$this->isEmpty()) {
+            $output .= vsprintf(
+                "Total impact: %d<br/>\nAffected tags: %s<br/>\n",
+                array(
+                    $this->getImpact(),
+                    implode(', ', $this->getTags())
+                )
+            );
+
+            foreach ($this->events as $event) {
+                $output .= vsprintf(
+                    "<br/>\nVariable: %s | Value: %s<br/>\nImpact: %d | Tags: %s<br/>\n",
+                    array(
+                        htmlspecialchars($event->getName()),
+                        htmlspecialchars($event->getValue()),
+                        $event->getImpact(),
+                        implode(', ', $event->getTags())
+                    )
+                );
+
+                foreach ($event as $filter) {
+                    $output .= vsprintf(
+                        "Description: %s | Tags: %s | ID %s<br/>\n",
+                        array(
+                            $filter->getDescription(),
+                            implode(', ', $filter->getTags()),
+                            $filter->getId()
+                        )
+                    );
+                }
+            }
+
+            $output .= '<br/>';
+
+            if ($centrifuge = $this->getCentrifuge()) {
+                $output .= vsprintf(
+                    "Centrifuge detection data<br/> Threshold: %s<br/> Ratio: %s",
+                    array(
+                        isset($centrifuge['threshold']) && $centrifuge['threshold'] ? $centrifuge['threshold'] : '---',
+                        isset($centrifuge['ratio']) && $centrifuge['ratio'] ? $centrifuge['ratio'] : '---'
+                    )
+                );
+                if (isset($centrifuge['converted'])) {
+                    $output .= '<br/>  Converted: ' . $centrifuge['converted'];
+                }
+                $output .= "<br/><br/>\n";
+            }
+        }
+
+        return $output;
+    }
+}
diff --git a/interface/lib/classes/IDS/Version.php b/interface/lib/classes/IDS/Version.php
new file mode 100644
index 0000000000..b32438ffa4
--- /dev/null
+++ b/interface/lib/classes/IDS/Version.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package  PHPIDS
+ * @author   Mario Heiderich <mario.heiderich@gmail.com>
+ * @author   Christian Matthies <ch0012@gmail.com>
+ * @author   Lars Strojny <lars@strojny.net>
+ * @license  http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link     http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS version class
+ *
+ * @category  Security
+ * @package   PHPIDS
+ * @author    Christian Matthies <ch0012@gmail.com>
+ * @author    Mario Heiderich <mario.heiderich@gmail.com>
+ * @author    Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license   http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link      http://php-ids.org/
+ */
+abstract class Version
+{
+    const VERSION = 'master';
+}
diff --git a/interface/lib/classes/IDS/default_filter.json b/interface/lib/classes/IDS/default_filter.json
new file mode 100644
index 0000000000..c158ded574
--- /dev/null
+++ b/interface/lib/classes/IDS/default_filter.json
@@ -0,0 +1,933 @@
+{
+  "filters":{
+    "filter":[
+      {
+        "id":"1",
+        "rule":"(?:\"[^\"]*[^-]?>)|(?:[^\\w\\s]\\s*\\\/>)|(?:>\")",
+        "description":"Finds html breaking injections including whitespace attacks",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"2",
+        "rule":"(?:\"+.*[<=]\\s*\"[^\"]+\")|(?:\"\\s*\\w+\\s*=)|(?:>\\w=\\\/)|(?:#.+\\)[\"\\s]*>)|(?:\"\\s*(?:src|style|on\\w+)\\s*=\\s*\")|(?:[^\"]?\"[,;\\s]+\\w*[\\[\\(])",
+        "description":"Finds attribute breaking injections including whitespace attacks",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"3",
+        "rule":"(?:^>[\\w\\s]*<\\\/?\\w{2,}>)",
+        "description":"Finds unquoted attribute breaking injections",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"2"
+      },
+      {
+        "id":"4",
+        "rule":"(?:[+\\\/]\\s*name[\\W\\d]*[)+])|(?:;\\W*url\\s*=)|(?:[^\\w\\s\\\/?:>]\\s*(?:location|referrer|name)\\s*[^\\\/\\w\\s-])",
+        "description":"Detects url-, name-, JSON, and referrer-contained payload attacks",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"5",
+        "rule":"(?:\\W\\s*hash\\s*[^\\w\\s-])|(?:\\w+=\\W*[^,]*,[^\\s(]\\s*\\()|(?:\\?\"[^\\s\"]\":)|(?:(?<!\\\/)__[a-z]+__)|(?:(?:^|[\\s)\\]\\}])(?:s|g)etter\\s*=)",
+        "description":"Detects hash-contained xss payload attacks, setter usage and property overloading",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"6",
+        "rule":"(?:with\\s*\\(\\s*.+\\s*\\)\\s*\\w+\\s*\\()|(?:(?:do|while|for)\\s*\\([^)]*\\)\\s*\\{)|(?:\\\/[\\w\\s]*\\[\\W*\\w)",
+        "description":"Detects self contained xss via with(), common loops and regex to string conversion",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"7",
+        "rule":"(?:[=(].+\\?.+:)|(?:with\\([^)]*\\)\\))|(?:\\.\\s*source\\W)",
+        "description":"Detects JavaScript with(), ternary operators and XML predicate attacks",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"8",
+        "rule":"(?:\\\/\\w*\\s*\\)\\s*\\()|(?:\\([\\w\\s]+\\([\\w\\s]+\\)[\\w\\s]+\\))|(?:(?<!(?:mozilla\\\/\\d\\.\\d\\s))\\([^)[]+\\[[^\\]]+\\][^)]*\\))|(?:[^\\s!][{([][^({[]+[{([][^}\\])]+[}\\])][\\s+\",\\d]*[}\\])])|(?:\"\\)?\\]\\W*\\[)|(?:=\\s*[^\\s:;]+\\s*[{([][^}\\])]+[}\\])];)",
+        "description":"Detects self-executing JavaScript functions",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"9",
+        "rule":"(?:\\\\u00[a-f0-9]{2})|(?:\\\\x0*[a-f0-9]{2})|(?:\\\\\\d{2,3})",
+        "description":"Detects the IE octal, hex and unicode entities",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"2"
+      },
+      {
+        "id":"10",
+        "rule":"(?:(?:\\\/|\\\\)?\\.+(\\\/|\\\\)(?:\\.+)?)|(?:\\w+\\.exe\\??\\s)|(?:;\\s*\\w+\\s*\\\/[\\w*-]+\\\/)|(?:\\d\\.\\dx\\|)|(?:%(?:c0\\.|af\\.|5c\\.))|(?:\\\/(?:%2e){2})",
+        "description":"Detects basic directory traversal",
+        "tags":{
+          "tag":[
+            "dt",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"11",
+        "rule":"(?:%c0%ae\\\/)|(?:(?:\\\/|\\\\)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|winnt|program|%[a-z_-]{3,}%)(?:\\\/|\\\\))|(?:(?:\\\/|\\\\)inetpub|localstart\\.asp|boot\\.ini)",
+        "description":"Detects specific directory and path traversal",
+        "tags":{
+          "tag":[
+            "dt",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"12",
+        "rule":"(?:etc\\\/\\W*passwd)",
+        "description":"Detects etc\/passwd inclusion attempts",
+        "tags":{
+          "tag":[
+            "dt",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"13",
+        "rule":"(?:%u(?:ff|00|e\\d)\\w\\w)|(?:(?:%(?:e\\w|c[^3\\W]|))(?:%\\w\\w)(?:%\\w\\w)?)",
+        "description":"Detects halfwidth\/fullwidth encoded unicode HTML breaking attempts",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"3"
+      },
+      {
+        "id":"14",
+        "rule":"(?:#@~\\^\\w+)|(?:\\w+script:|@import[^\\w]|;base64|base64,)|(?:\\w\\s*\\([\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+\\))",
+        "description":"Detects possible includes, VBSCript\/JScript encodeed and packed functions",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"15",
+        "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:create(?:element|attribute|textnode)|[a-z]+events?|setattribute|getelement\\w+|appendchild|createrange|createcontextualfragment|removenode|parentnode|decodeuricomponent|\\wettimeout|(?:ms)?setimmediate|option|useragent)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\",.+\\-]))",
+        "description":"Detects JavaScript DOM\/miscellaneous properties and methods",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"16",
+        "rule":"([^*\\s\\w,.\\\/?+-]\\s*)?(?<![a-mo-z]\\s)(?<![a-z\\\/_@])(\\s*return\\s*)?(?:alert|inputbox|showmod(?:al|eless)dialog|showhelp|infinity|isnan|isnull|iterator|msgbox|executeglobal|expression|prompt|write(?:ln)?|confirm|dialog|urn|(?:un)?eval|exec|execscript|tostring|status|execute|window|unescape|navigate|jquery|getscript|extend|prototype)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\",.:\\\/+\\-]))",
+        "description":"Detects possible includes and typical script methods",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"17",
+        "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@])(\\s*return\\s*)?(?:hash|name|href|navigateandfind|source|pathname|close|constructor|port|protocol|assign|replace|back|forward|document|ownerdocument|window|top|this|self|parent|frames|_?content|date|cookie|innerhtml|innertext|csstext+?|outerhtml|print|moveby|resizeto|createstylesheet|stylesheets)(?(1)[^\\w%\"]|(?:\\s*[^@\\\/\\s\\w%.+\\-]))",
+        "description":"Detects JavaScript object properties and methods",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"18",
+        "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:join|pop|push|reverse|reduce|concat|map|shift|sp?lice|sort|unshift)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%,.+\\-]))",
+        "description":"Detects JavaScript array properties and methods",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"19",
+        "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:set|atob|btoa|charat|charcodeat|charset|concat|crypto|frames|fromcharcode|indexof|lastindexof|match|navigator|toolbar|menubar|replace|regexp|slice|split|substr|substring|escape|\\w+codeuri\\w*)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%,.+\\-]))",
+        "description":"Detects JavaScript string properties and methods",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"20",
+        "rule":"(?:\\)\\s*\\[)|([^*\":\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z_@\\|])(\\s*return\\s*)?(?:globalstorage|sessionstorage|postmessage|callee|constructor|content|domain|prototype|try|catch|top|call|apply|url|function|object|array|string|math|if|for\\s*(?:each)?|elseif|case|switch|regex|boolean|location|(?:ms)?setimmediate|settimeout|setinterval|void|setexpression|namespace|while)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\".+\\-\\\/]))",
+        "description":"Detects JavaScript language constructs",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"21",
+        "rule":"(?:,\\s*(?:alert|showmodaldialog|eval)\\s*,)|(?::\\s*eval\\s*[^\\s])|([^:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z\\\/_@])(\\s*return\\s*)?(?:(?:document\\s*\\.)?(?:.+\\\/)?(?:alert|eval|msgbox|showmod(?:al|eless)dialog|showhelp|prompt|write(?:ln)?|confirm|dialog|open))\\s*(?:[^.a-z\\s\\-]|(?:\\s*[^\\s\\w,.@\\\/+-]))|(?:java[\\s\\\/]*\\.[\\s\\\/]*lang)|(?:\\w\\s*=\\s*new\\s+\\w+)|(?:&\\s*\\w+\\s*\\)[^,])|(?:\\+[\\W\\d]*new\\s+\\w+[\\W\\d]*\\+)|(?:document\\.\\w)",
+        "description":"Detects very basic XSS probings",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"3"
+      },
+      {
+        "id":"22",
+        "rule":"(?:=\\s*(?:top|this|window|content|self|frames|_content))|(?:\\\/\\s*[gimx]*\\s*[)}])|(?:[^\\s]\\s*=\\s*script)|(?:\\.\\s*constructor)|(?:default\\s+xml\\s+namespace\\s*=)|(?:\\\/\\s*\\+[^+]+\\s*\\+\\s*\\\/)",
+        "description":"Detects advanced XSS probings via Script(), RexExp, constructors and XML namespaces",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"23",
+        "rule":"(?:\\.\\s*\\w+\\W*=)|(?:\\W\\s*(?:location|document)\\s*\\W[^({[;]+[({[;])|(?:\\(\\w+\\?[:\\w]+\\))|(?:\\w{2,}\\s*=\\s*\\d+[^&\\w]\\w+)|(?:\\]\\s*\\(\\s*\\w+)",
+        "description":"Detects JavaScript location\/document property access and window access obfuscation",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"24",
+        "rule":"(?:[\".]script\\s*\\()|(?:\\$\\$?\\s*\\(\\s*[\\w\"])|(?:\\\/[\\w\\s]+\\\/\\.)|(?:=\\s*\\\/\\w+\\\/\\s*\\.)|(?:(?:this|window|top|parent|frames|self|content)\\[\\s*[(,\"]*\\s*[\\w\\$])|(?:,\\s*new\\s+\\w+\\s*[,;)])",
+        "description":"Detects basic obfuscated JavaScript script injections",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"25",
+        "rule":"(?:=\\s*[$\\w]\\s*[\\(\\[])|(?:\\(\\s*(?:this|top|window|self|parent|_?content)\\s*\\))|(?:src\\s*=s*(?:\\w+:|\\\/\\\/))|(?:\\w+\\[(\"\\w+\"|\\w+\\|\\|))|(?:[\\d\\W]\\|\\|[\\d\\W]|\\W=\\w+,)|(?:\\\/\\s*\\+\\s*[a-z\"])|(?:=\\s*\\$[^([]*\\()|(?:=\\s*\\(\\s*\")",
+        "description":"Detects obfuscated JavaScript script injections",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"26",
+        "rule":"(?:[^:\\s\\w]+\\s*[^\\w\\\/](href|protocol|host|hostname|pathname|hash|port|cookie)[^\\w])",
+        "description":"Detects JavaScript cookie stealing and redirection attempts",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"27",
+        "rule":"(?:(?:vbs|vbscript|data):.*[,+])|(?:\\w+\\s*=\\W*(?!https?)\\w+:)|(jar:\\w+:)|(=\\s*\"?\\s*vbs(?:ript)?:)|(language\\s*=\\s?\"?\\s*vbs(?:ript)?)|on\\w+\\s*=\\*\\w+\\-\"?",
+        "description":"Detects data: URL injections, VBS injections and common URI schemes",
+        "tags":{
+          "tag":[
+            "xss",
+            "rfe"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"28",
+        "rule":"(?:firefoxurl:\\w+\\|)|(?:(?:file|res|telnet|nntp|news|mailto|chrome)\\s*:\\s*[%&#xu\\\/]+)|(wyciwyg|firefoxurl\\s*:\\s*\\\/\\s*\\\/)",
+        "description":"Detects IE firefoxurl injections, cache poisoning attempts and local file inclusion\/execution",
+        "tags":{
+          "tag":[
+            "xss",
+            "rfe",
+            "lfi",
+            "csrf"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"29",
+        "rule":"(?:binding\\s?=|moz-binding|behavior\\s?=)|(?:[\\s\\\/]style\\s*=\\s*[-\\\\])",
+        "description":"Detects bindings and behavior injections",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"30",
+        "rule":"(?:=\\s*\\w+\\s*\\+\\s*\")|(?:\\+=\\s*\\(\\s\")|(?:!+\\s*[\\d.,]+\\w?\\d*\\s*\\?)|(?:=\\s*\\[s*\\])|(?:\"\\s*\\+\\s*\")|(?:[^\\s]\\[\\s*\\d+\\s*\\]\\s*[;+])|(?:\"\\s*[&|]+\\s*\")|(?:\\\/\\s*\\?\\s*\")|(?:\\\/\\s*\\)\\s*\\[)|(?:\\d\\?.+:\\d)|(?:]\\s*\\[\\W*\\w)|(?:[^\\s]\\s*=\\s*\\\/)",
+        "description":"Detects common XSS concatenation patterns 1\/2",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"31",
+        "rule":"(?:=\\s*\\d*\\.\\d*\\?\\d*\\.\\d*)|(?:[|&]{2,}\\s*\")|(?:!\\d+\\.\\d*\\?\")|(?:\\\/:[\\w.]+,)|(?:=[\\d\\W\\s]*\\[[^]]+\\])|(?:\\?\\w+:\\w+)",
+        "description":"Detects common XSS concatenation patterns 2\/2",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"32",
+        "rule":"(?:[^\\w\\s=]on(?!g\\&gt;)\\w+[^=_+-]*=[^$]+(?:\\W|\\&gt;)?)",
+        "description":"Detects possible event handlers",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"33",
+        "rule":"(?:\\<\\w*:?\\s(?:[^\\>]*)t(?!rong))|(?:\\<scri)|(<\\w+:\\w+)",
+        "description":"Detects obfuscated script tags and XML wrapped HTML",
+        "tags":{
+          "tag":"xss"
+        },
+        "impact":"4"
+      },
+      {
+        "id":"34",
+        "rule":"(?:\\<\\\/\\w+\\s\\w+)|(?:@(?:cc_on|set)[\\s@,\"=])",
+        "description":"Detects attributes in closing tags and conditional compilation tokens",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"35",
+        "rule":"(?:--[^\\n]*$)|(?:\\<!-|-->)|(?:[^*]\\\/\\*|\\*\\\/[^*])|(?:(?:[\\W\\d]#|--|{)$)|(?:\\\/{3,}.*$)|(?:<!\\[\\W)|(?:\\]!>)",
+        "description":"Detects common comment types",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id"
+          ]
+        },
+        "impact":"3"
+      },
+      {
+        "id":"37",
+        "rule":"(?:\\<base\\s+)|(?:<!(?:element|entity|\\[CDATA))",
+        "description":"Detects base href injections and XML entity injections",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"38",
+        "rule":"(?:\\<[\\\/]?(?:[i]?frame|applet|isindex|marquee|keygen|script|audio|video|input|button|textarea|style|base|body|meta|link|object|embed|param|plaintext|xm\\w+|image|im(?:g|port)))",
+        "description":"Detects possibly malicious html elements including some attributes",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"39",
+        "rule":"(?:\\\\x[01fe][\\db-ce-f])|(?:%[01fe][\\db-ce-f])|(?:&#[01fe][\\db-ce-f])|(?:\\\\[01fe][\\db-ce-f])|(?:&#x[01fe][\\db-ce-f])",
+        "description":"Detects nullbytes and other dangerous characters",
+        "tags":{
+          "tag":[
+            "id",
+            "rfe",
+            "xss"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"40",
+        "rule":"(?:\\)\\s*when\\s*\\d+\\s*then)|(?:\"\\s*(?:#|--|{))|(?:\\\/\\*!\\s?\\d+)|(?:ch(?:a)?r\\s*\\(\\s*\\d)|(?:(?:(n?and|x?or|not)\\s+|\\|\\||\\&\\&)\\s*\\w+\\()",
+        "description":"Detects MySQL comments, conditions and ch(a)r injections",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"41",
+        "rule":"(?:[\\s()]case\\s*\\()|(?:\\)\\s*like\\s*\\()|(?:having\\s*[^\\s]+\\s*[^\\w\\s])|(?:if\\s?\\([\\d\\w]\\s*[=<>~])",
+        "description":"Detects conditional SQL injection attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"42",
+        "rule":"(?:\"\\s*or\\s*\"?\\d)|(?:\\\\x(?:23|27|3d))|(?:^.?\"$)|(?:(?:^[\"\\\\]*(?:[\\d\"]+|[^\"]+\"))+\\s*(?:n?and|x?or|not|\\|\\||\\&\\&)\\s*[\\w\"[+&!@(),.-])|(?:[^\\w\\s]\\w+\\s*[|-]\\s*\"\\s*\\w)|(?:@\\w+\\s+(and|or)\\s*[\"\\d]+)|(?:@[\\w-]+\\s(and|or)\\s*[^\\w\\s])|(?:[^\\w\\s:]\\s*\\d\\W+[^\\w\\s]\\s*\".)|(?:\\Winformation_schema|table_name\\W)",
+        "description":"Detects classic SQL injection probings 1\/2",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"43",
+        "rule":"(?:\"\\s*\\*.+(?:or|id)\\W*\"\\d)|(?:\\^\")|(?:^[\\w\\s\"-]+(?<=and\\s)(?<=or\\s)(?<=xor\\s)(?<=nand\\s)(?<=not\\s)(?<=\\|\\|)(?<=\\&\\&)\\w+\\()|(?:\"[\\s\\d]*[^\\w\\s]+\\W*\\d\\W*.*[\"\\d])|(?:\"\\s*[^\\w\\s?]+\\s*[^\\w\\s]+\\s*\")|(?:\"\\s*[^\\w\\s]+\\s*[\\W\\d].*(?:#|--))|(?:\".*\\*\\s*\\d)|(?:\"\\s*or\\s[^\\d]+[\\w-]+.*\\d)|(?:[()*<>%+-][\\w-]+[^\\w\\s]+\"[^,])",
+        "description":"Detects classic SQL injection probings 2\/2",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"44",
+        "rule":"(?:\\d\"\\s+\"\\s+\\d)|(?:^admin\\s*\"|(\\\/\\*)+\"+\\s?(?:--|#|\\\/\\*|{)?)|(?:\"\\s*or[\\w\\s-]+\\s*[+<>=(),-]\\s*[\\d\"])|(?:\"\\s*[^\\w\\s]?=\\s*\")|(?:\"\\W*[+=]+\\W*\")|(?:\"\\s*[!=|][\\d\\s!=+-]+.*[\"(].*$)|(?:\"\\s*[!=|][\\d\\s!=]+.*\\d+$)|(?:\"\\s*like\\W+[\\w\"(])|(?:\\sis\\s*0\\W)|(?:where\\s[\\s\\w\\.,-]+\\s=)|(?:\"[<>~]+\")",
+        "description":"Detects basic SQL authentication bypass attempts 1\/3",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"45",
+        "rule":"(?:union\\s*(?:all|distinct|[(!@]*)\\s*[([]*\\s*select)|(?:\\w+\\s+like\\s+\\\")|(?:like\\s*\"\\%)|(?:\"\\s*like\\W*[\"\\d])|(?:\"\\s*(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w]+=\\s*\\w+\\s*having)|(?:\"\\s*\\*\\s*\\w+\\W+\")|(?:\"\\s*[^?\\w\\s=.,;)(]+\\s*[(@\"]*\\s*\\w+\\W+\\w)|(?:select\\s*[\\[\\]()\\s\\w\\.,\"-]+from)|(?:find_in_set\\s*\\()",
+        "description":"Detects basic SQL authentication bypass attempts 2\/3",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"46",
+        "rule":"(?:in\\s*\\(+\\s*select)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w+]+(?:regexp\\s*\\(|sounds\\s+like\\s*\"|[=\\d]+x))|(\"\\s*\\d\\s*(?:--|#))|(?:\"[%&<>^=]+\\d\\s*(=|or))|(?:\"\\W+[\\w+-]+\\s*=\\s*\\d\\W+\")|(?:\"\\s*is\\s*\\d.+\"?\\w)|(?:\"\\|?[\\w-]{3,}[^\\w\\s.,]+\")|(?:\"\\s*is\\s*[\\d.]+\\s*\\W.*\")",
+        "description":"Detects basic SQL authentication bypass attempts 3\/3",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"47",
+        "rule":"(?:[\\d\\W]\\s+as\\s*[\"\\w]+\\s*from)|(?:^[\\W\\d]+\\s*(?:union|select|create|rename|truncate|load|alter|delete|update|insert|desc))|(?:(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s+(?:(?:group_)concat|char|load_file)\\s?\\(?)|(?:end\\s*\\);)|(\"\\s+regexp\\W)|(?:[\\s(]load_file\\s*\\()",
+        "description":"Detects concatenated basic SQL injection and SQLLFI attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id",
+            "lfi"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"48",
+        "rule":"(?:@.+=\\s*\\(\\s*select)|(?:\\d+\\s*or\\s*\\d+\\s*[\\-+])|(?:\\\/\\w+;?\\s+(?:having|and|or|select)\\W)|(?:\\d\\s+group\\s+by.+\\()|(?:(?:;|#|--)\\s*(?:drop|alter))|(?:(?:;|#|--)\\s*(?:update|insert)\\s*\\w{2,})|(?:[^\\w]SET\\s*@\\w+)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)[\\s(]+\\w+[\\s)]*[!=+]+[\\s\\d]*[\"=()])",
+        "description":"Detects chained SQL injection attempts 1\/2",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"49",
+        "rule":"(?:\"\\s+and\\s*=\\W)|(?:\\(\\s*select\\s*\\w+\\s*\\()|(?:\\*\\\/from)|(?:\\+\\s*\\d+\\s*\\+\\s*@)|(?:\\w\"\\s*(?:[-+=|@]+\\s*)+[\\d(])|(?:coalesce\\s*\\(|@@\\w+\\s*[^\\w\\s])|(?:\\W!+\"\\w)|(?:\";\\s*(?:if|while|begin))|(?:\"[\\s\\d]+=\\s*\\d)|(?:order\\s+by\\s+if\\w*\\s*\\()|(?:[\\s(]+case\\d*\\W.+[tw]hen[\\s(])",
+        "description":"Detects chained SQL injection attempts 2\/2",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"50",
+        "rule":"(?:(select|;)\\s+(?:benchmark|if|sleep)\\s*?\\(\\s*\\(?\\s*\\w+)",
+        "description":"Detects SQL benchmark and sleep injection attempts including conditional queries",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"51",
+        "rule":"(?:create\\s+function\\s+\\w+\\s+returns)|(?:;\\s*(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*[\\[(]?\\w{2,})",
+        "description":"Detects MySQL UDF injection and other data\/structure manipulation attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"52",
+        "rule":"(?:alter\\s*\\w+.*character\\s+set\\s+\\w+)|(\";\\s*waitfor\\s+time\\s+\")|(?:\";.*:\\s*goto)",
+        "description":"Detects MySQL charset switch and MSSQL DoS attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"53",
+        "rule":"(?:procedure\\s+analyse\\s*\\()|(?:;\\s*(declare|open)\\s+[\\w-]+)|(?:create\\s+(procedure|function)\\s*\\w+\\s*\\(\\s*\\)\\s*-)|(?:declare[^\\w]+[@#]\\s*\\w+)|(exec\\s*\\(\\s*@)",
+        "description":"Detects MySQL and PostgreSQL stored procedure\/function injections",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"54",
+        "rule":"(?:select\\s*pg_sleep)|(?:waitfor\\s*delay\\s?\"+\\s?\\d)|(?:;\\s*shutdown\\s*(?:;|--|#|\\\/\\*|{))",
+        "description":"Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"55",
+        "rule":"(?:\\sexec\\s+xp_cmdshell)|(?:\"\\s*!\\s*[\"\\w])|(?:from\\W+information_schema\\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\\s*\\([^\\)]*)|(?:\";?\\s*(?:select|union|having)\\s*[^\\s])|(?:\\wiif\\s*\\()|(?:exec\\s+master\\.)|(?:union select @)|(?:union[\\w(\\s]*select)|(?:select.*\\w?user\\()|(?:into[\\s+]+(?:dump|out)file\\s*\")",
+        "description":"Detects MSSQL code execution and information gathering attempts",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"56",
+        "rule":"(?:merge.*using\\s*\\()|(execute\\s*immediate\\s*\")|(?:\\W+\\d*\\s*having\\s*[^\\s\\-])|(?:match\\s*[\\w(),+-]+\\s*against\\s*\\()",
+        "description":"Detects MATCH AGAINST, MERGE, EXECUTE IMMEDIATE and HAVING injections",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"57",
+        "rule":"(?:,.*[)\\da-f\"]\"(?:\".*\"|\\Z|[^\"]+))|(?:\\Wselect.+\\W*from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*\\(\\s*space\\s*\\()",
+        "description":"Detects MySQL comment-\/space-obfuscated injections and backtick termination",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"58",
+        "rule":"(?:@[\\w-]+\\s*\\()|(?:]\\s*\\(\\s*[\"!]\\s*\\w)|(?:<[?%](?:php)?.*(?:[?%]>)?)|(?:;[\\s\\w|]*\\$\\w+\\s*=)|(?:\\$\\w+\\s*=(?:(?:\\s*\\$?\\w+\\s*[(;])|\\s*\".*\"))|(?:;\\s*\\{\\W*\\w+\\s*\\()",
+        "description":"Detects code injection attempts 1\/3",
+        "tags":{
+          "tag":[
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"59",
+        "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*(?:define|eval|file_get_contents|include|require|require_once|set|shell_exec|phpinfo|system|passthru|preg_\\w+|execute)\\s*[\"(@])",
+        "description":"Detects code injection attempts 2\/3",
+        "tags":{
+          "tag":[
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"60",
+        "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*[^\\w](?:echo|print|print_r|var_dump|[fp]open))|(?:;\\s*rm\\s+-\\w+\\s+)|(?:;.*{.*\\$\\w+\\s*=)|(?:\\$\\w+\\s*\\[\\]\\s*=\\s*)",
+        "description":"Detects code injection attempts 3\/3",
+        "tags":{
+          "tag":[
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"62",
+        "rule":"(?:function[^(]*\\([^)]*\\))|(?:(?:delete|void|throw|instanceof|new|typeof)[^\\w.]+\\w+\\s*[([])|([)\\]]\\s*\\.\\s*\\w+\\s*=)|(?:\\(\\s*new\\s+\\w+\\s*\\)\\.)",
+        "description":"Detects common function declarations and special JS operators",
+        "tags":{
+          "tag":[
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"63",
+        "rule":"(?:[\\w.-]+@[\\w.-]+%(?:[01][\\db-ce-f])+\\w+:)",
+        "description":"Detects common mail header injections",
+        "tags":{
+          "tag":[
+            "id",
+            "spam"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"64",
+        "rule":"(?:\\.pl\\?\\w+=\\w?\\|\\w+;)|(?:\\|\\(\\w+=\\*)|(?:\\*\\s*\\)+\\s*;)",
+        "description":"Detects perl echo shellcode injection and LDAP vectors",
+        "tags":{
+          "tag":[
+            "lfi",
+            "rfe"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"65",
+        "rule":"(?:(^|\\W)const\\s+[\\w\\-]+\\s*=)|(?:(?:do|for|while)\\s*\\([^;]+;+\\))|(?:(?:^|\\W)on\\w+\\s*=[\\w\\W]*(?:on\\w+|alert|eval|print|confirm|prompt))|(?:groups=\\d+\\(\\w+\\))|(?:(.)\\1{128,})",
+        "description":"Detects basic XSS DoS attempts",
+        "tags":{
+          "tag":[
+            "rfe",
+            "dos"
+          ]
+        },
+        "impact":"5"
+      },
+      {
+        "id":"67",
+        "rule":"(?:\\({2,}\\+{2,}:{2,})|(?:\\({2,}\\+{2,}:+)|(?:\\({3,}\\++:{2,})|(?:\\$\\[!!!\\])",
+        "description":"Detects unknown attack vectors based on PHPIDS Centrifuge detection",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf",
+            "id",
+            "rfe",
+            "lfi"
+          ]
+        },
+        "impact":"7"
+      },
+      {
+        "id":"68",
+        "rule":"(?:[\\s\\\/\"]+[-\\w\\\/\\\\\\*]+\\s*=.+(?:\\\/\\s*>))",
+        "description":"Finds attribute breaking injections including obfuscated attributes",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"69",
+        "rule":"(?:(?:msgbox|eval)\\s*\\+|(?:language\\s*=\\*vbscript))",
+        "description":"Finds basic VBScript injection attempts",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"70",
+        "rule":"(?:\\[\\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|or)\\])",
+        "description":"Finds basic MongoDB SQL injection attempts",
+        "tags":{
+          "tag":"sqli"
+        },
+        "impact":"4"
+      },
+      {
+        "id":"71",
+        "rule":"(?:[\\s\\d\\\/\"]+(?:on\\w+|style|poster|background)=[$\"\\w])|(?:-type\\s*:\\s*multipart)",
+        "description":"Finds malicious attribute injection attempts and MHTML attacks",
+        "tags":{
+          "tag":[
+            "xss",
+            "csrf"
+          ]
+        },
+        "impact":"6"
+      },
+      {
+        "id":"72",
+        "rule":"(?:(sleep\\((\\s*)(\\d*)(\\s*)\\)|benchmark\\((.*)\\,(.*)\\)))",
+        "description":"Detects blind sqli tests using sleep() or benchmark().",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"73",
+        "rule":"(?:(\\%SYSTEMROOT\\%))",
+        "description":"An attacker is trying to locate a file to read or write.",
+        "tags":{
+          "tag":[
+            "files",
+            "id"
+          ]
+        },
+        "impact":"4"
+      },
+      {
+        "id":"75",
+        "rule":"(?:(((.*)\\%[c|d|i|e|f|g|o|s|u|x|p|n]){8}))",
+        "description":"Looking for a format string attack",
+        "tags":{
+          "tag":"format string"
+        },
+        "impact":"4"
+      },
+      {
+        "id":"76",
+        "rule":"(?:(union(.*)select(.*)from))",
+        "description":"Looking for basic sql injection. Common attack string for mysql, oracle and others.",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"3"
+      },
+      {
+        "id":"77",
+        "rule":"(?:^(-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|1e309)$)",
+        "description":"Looking for integer overflow attacks, these are taken from skipfish, except 2.2250738585072007e-308 is the \"magic number\" crash",
+        "tags":{
+          "tag":[
+            "sqli",
+            "id"
+          ]
+        },
+        "impact":"3"
+      },
+      {
+        "id":"78",
+        "rule":"(?:%23.*?%0a)",
+        "description":"Detects SQL comment filter evasion",
+        "tags":{
+          "tag":[
+            "format string"
+          ]
+        },
+        "impact":"4"
+      }
+    ]
+  }
+}
diff --git a/interface/lib/classes/IDS/default_filter.xml b/interface/lib/classes/IDS/default_filter.xml
new file mode 100644
index 0000000000..fdd9cefbe7
--- /dev/null
+++ b/interface/lib/classes/IDS/default_filter.xml
@@ -0,0 +1,787 @@
+<filters>
+    <filter>
+        <id>1</id>
+        <rule><![CDATA[(?:"[^"]*[^-]?>)|(?:[^\w\s]\s*\/>)|(?:>")]]></rule>
+        <description>Finds html breaking injections including whitespace attacks</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>2</id>
+        <rule><![CDATA[(?:"+.*[<=]\s*"[^"]+")|(?:"\s*\w+\s*=)|(?:>\w=\/)|(?:#.+\)["\s]*>)|(?:"\s*(?:src|style|on\w+)\s*=\s*")|(?:[^"]?"[,;\s]+\w*[\[\(])]]></rule>
+        <description>Finds attribute breaking injections including whitespace attacks</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>3</id>
+        <rule><![CDATA[(?:^>[\w\s]*<\/?\w{2,}>)]]></rule>
+        <description>Finds unquoted attribute breaking injections</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>2</impact>
+    </filter>
+    <filter>
+        <id>4</id>
+        <rule><![CDATA[(?:[+\/]\s*name[\W\d]*[)+])|(?:;\W*url\s*=)|(?:[^\w\s\/?:>]\s*(?:location|referrer|name)\s*[^\/\w\s-])]]></rule>
+        <description>Detects url-, name-, JSON, and referrer-contained payload attacks</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>5</id>
+        <rule><![CDATA[(?:\W\s*hash\s*[^\w\s-])|(?:\w+=\W*[^,]*,[^\s(]\s*\()|(?:\?"[^\s"]":)|(?:(?<!\/)__[a-z]+__)|(?:(?:^|[\s)\]\}])(?:s|g)etter\s*=)]]></rule>
+        <description>Detects hash-contained xss payload attacks, setter usage and property overloading</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>6</id>
+        <rule><![CDATA[(?:with\s*\(\s*.+\s*\)\s*\w+\s*\()|(?:(?:do|while|for)\s*\([^)]*\)\s*\{)|(?:\/[\w\s]*\[\W*\w)]]></rule>
+        <description>Detects self contained xss via with(), common loops and regex to string conversion</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>7</id>
+        <rule><![CDATA[(?:[=(].+\?.+:)|(?:with\([^)]*\)\))|(?:\.\s*source\W)]]></rule>
+        <description>Detects JavaScript with(), ternary operators and XML predicate attacks</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>8</id>
+        <rule><![CDATA[(?:\/\w*\s*\)\s*\()|(?:\([\w\s]+\([\w\s]+\)[\w\s]+\))|(?:(?<!(?:mozilla\/\d\.\d\s))\([^)[]+\[[^\]]+\][^)]*\))|(?:[^\s!][{([][^({[]+[{([][^}\])]+[}\])][\s+",\d]*[}\])])|(?:"\)?\]\W*\[)|(?:=\s*[^\s:;]+\s*[{([][^}\])]+[}\])];)]]></rule>
+        <description>Detects self-executing JavaScript functions</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>9</id>
+        <rule><![CDATA[(?:\\u00[a-f0-9]{2})|(?:\\x0*[a-f0-9]{2})|(?:\\\d{2,3})]]></rule>
+        <description>Detects the IE octal, hex and unicode entities</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>2</impact>
+    </filter>
+    <filter>
+        <id>10</id>
+        <rule><![CDATA[(?:(?:\/|\\)?\.+(\/|\\)(?:\.+)?)|(?:\w+\.exe\??\s)|(?:;\s*\w+\s*\/[\w*-]+\/)|(?:\d\.\dx\|)|(?:%(?:c0\.|af\.|5c\.))|(?:\/(?:%2e){2})]]></rule>
+        <description>Detects basic directory traversal</description>
+        <tags>
+            <tag>dt</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>11</id>
+        <rule><![CDATA[(?:%c0%ae\/)|(?:(?:\/|\\)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|winnt|program|%[a-z_-]{3,}%)(?:\/|\\))|(?:(?:\/|\\)inetpub|localstart\.asp|boot\.ini)]]></rule>
+        <description>Detects specific directory and path traversal</description>
+        <tags>
+            <tag>dt</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>12</id>
+        <rule><![CDATA[(?:etc\/\W*passwd)]]></rule>
+        <description>Detects etc/passwd inclusion attempts</description>
+        <tags>
+            <tag>dt</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>13</id>
+        <rule><![CDATA[(?:%u(?:ff|00|e\d)\w\w)|(?:(?:%(?:e\w|c[^3\W]|))(?:%\w\w)(?:%\w\w)?)]]></rule>
+        <description>Detects halfwidth/fullwidth encoded unicode HTML breaking attempts</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>3</impact>
+    </filter>
+    <filter>
+        <id>14</id>
+        <rule><![CDATA[(?:#@~\^\w+)|(?:\w+script:|@import[^\w]|;base64|base64,)|(?:\w\s*\([\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+\))]]></rule>
+        <description>Detects possible includes, VBSCript/JScript encodeed and packed functions</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>15</id>
+        <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:create(?:element|attribute|textnode)|[a-z]+events?|setattribute|getelement\w+|appendchild|createrange|createcontextualfragment|removenode|parentnode|decodeuricomponent|\wettimeout|(?:ms)?setimmediate|option|useragent)(?(1)[^\w%"]|(?:\s*[^@\s\w%",.+\-]))]]></rule>
+        <description>Detects JavaScript DOM/miscellaneous properties and methods</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>16</id>
+        <rule><![CDATA[([^*\s\w,.\/?+-]\s*)?(?<![a-mo-z]\s)(?<![a-z\/_@])(\s*return\s*)?(?:alert|inputbox|showmod(?:al|eless)dialog|showhelp|infinity|isnan|isnull|iterator|msgbox|executeglobal|expression|prompt|write(?:ln)?|confirm|dialog|urn|(?:un)?eval|exec|execscript|tostring|status|execute|window|unescape|navigate|jquery|getscript|extend|prototype)(?(1)[^\w%"]|(?:\s*[^@\s\w%",.:\/+\-]))]]></rule>
+        <description>Detects possible includes and typical script methods</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>17</id>
+        <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@])(\s*return\s*)?(?:hash|name|href|navigateandfind|source|pathname|close|constructor|port|protocol|assign|replace|back|forward|document|ownerdocument|window|top|this|self|parent|frames|_?content|date|cookie|innerhtml|innertext|csstext+?|outerhtml|print|moveby|resizeto|createstylesheet|stylesheets)(?(1)[^\w%"]|(?:\s*[^@\/\s\w%.+\-]))]]></rule>
+        <description>Detects JavaScript object properties and methods</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>18</id>
+        <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:join|pop|push|reverse|reduce|concat|map|shift|sp?lice|sort|unshift)(?(1)[^\w%"]|(?:\s*[^@\s\w%,.+\-]))]]></rule>
+        <description>Detects JavaScript array properties and methods</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>19</id>
+        <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:set|atob|btoa|charat|charcodeat|charset|concat|crypto|frames|fromcharcode|indexof|lastindexof|match|navigator|toolbar|menubar|replace|regexp|slice|split|substr|substring|escape|\w+codeuri\w*)(?(1)[^\w%"]|(?:\s*[^@\s\w%,.+\-]))]]></rule>
+        <description>Detects JavaScript string properties and methods</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>20</id>
+        <rule><![CDATA[(?:\)\s*\[)|([^*":\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z_@\|])(\s*return\s*)?(?:globalstorage|sessionstorage|postmessage|callee|constructor|content|domain|prototype|try|catch|top|call|apply|url|function|object|array|string|math|if|for\s*(?:each)?|elseif|case|switch|regex|boolean|location|(?:ms)?setimmediate|settimeout|setinterval|void|setexpression|namespace|while)(?(1)[^\w%"]|(?:\s*[^@\s\w%".+\-\/]))]]></rule>
+        <description>Detects JavaScript language constructs</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>21</id>
+        <rule><![CDATA[(?:,\s*(?:alert|showmodaldialog|eval)\s*,)|(?::\s*eval\s*[^\s])|([^:\s\w,.\/?+-]\s*)?(?<![a-z\/_@])(\s*return\s*)?(?:(?:document\s*\.)?(?:.+\/)?(?:alert|eval|msgbox|showmod(?:al|eless)dialog|showhelp|prompt|write(?:ln)?|confirm|dialog|open))\s*(?:[^.a-z\s\-]|(?:\s*[^\s\w,.@\/+-]))|(?:java[\s\/]*\.[\s\/]*lang)|(?:\w\s*=\s*new\s+\w+)|(?:&\s*\w+\s*\)[^,])|(?:\+[\W\d]*new\s+\w+[\W\d]*\+)|(?:document\.\w)]]></rule>
+        <description>Detects very basic XSS probings</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>3</impact>
+    </filter>
+    <filter>
+        <id>22</id>
+        <rule><![CDATA[(?:=\s*(?:top|this|window|content|self|frames|_content))|(?:\/\s*[gimx]*\s*[)}])|(?:[^\s]\s*=\s*script)|(?:\.\s*constructor)|(?:default\s+xml\s+namespace\s*=)|(?:\/\s*\+[^+]+\s*\+\s*\/)]]></rule>
+        <description>Detects advanced XSS probings via Script(), RexExp, constructors and XML namespaces</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>23</id>
+        <rule><![CDATA[(?:\.\s*\w+\W*=)|(?:\W\s*(?:location|document)\s*\W[^({[;]+[({[;])|(?:\(\w+\?[:\w]+\))|(?:\w{2,}\s*=\s*\d+[^&\w]\w+)|(?:\]\s*\(\s*\w+)]]></rule>
+        <description>Detects JavaScript location/document property access and window access obfuscation</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>24</id>
+        <rule><![CDATA[(?:[".]script\s*\()|(?:\$\$?\s*\(\s*[\w"])|(?:\/[\w\s]+\/\.)|(?:=\s*\/\w+\/\s*\.)|(?:(?:this|window|top|parent|frames|self|content)\[\s*[(,"]*\s*[\w\$])|(?:,\s*new\s+\w+\s*[,;)])]]></rule>
+        <description>Detects basic obfuscated JavaScript script injections</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>25</id>
+        <rule><![CDATA[(?:=\s*[$\w]\s*[\(\[])|(?:\(\s*(?:this|top|window|self|parent|_?content)\s*\))|(?:src\s*=s*(?:\w+:|\/\/))|(?:\w+\[("\w+"|\w+\|\|))|(?:[\d\W]\|\|[\d\W]|\W=\w+,)|(?:\/\s*\+\s*[a-z"])|(?:=\s*\$[^([]*\()|(?:=\s*\(\s*")]]></rule>
+        <description>Detects obfuscated JavaScript script injections</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>26</id>
+        <rule><![CDATA[(?:[^:\s\w]+\s*[^\w\/](href|protocol|host|hostname|pathname|hash|port|cookie)[^\w])]]></rule>
+        <description>Detects JavaScript cookie stealing and redirection attempts</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>27</id>
+        <rule><![CDATA[(?:(?:vbs|vbscript|data):.*[,+])|(?:\w+\s*=\W*(?!https?)\w+:)|(jar:\w+:)|(=\s*"?\s*vbs(?:ript)?:)|(language\s*=\s?"?\s*vbs(?:ript)?)|on\w+\s*=\*\w+\-"?]]></rule>
+        <description>Detects data: URL injections, VBS injections and common URI schemes</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>28</id>
+        <rule><![CDATA[(?:firefoxurl:\w+\|)|(?:(?:file|res|telnet|nntp|news|mailto|chrome)\s*:\s*[%&#xu\/]+)|(wyciwyg|firefoxurl\s*:\s*\/\s*\/)]]></rule>
+        <description>Detects IE firefoxurl injections, cache poisoning attempts and local file inclusion/execution</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>29</id>
+        <rule><![CDATA[(?:binding\s?=|moz-binding|behavior\s?=)|(?:[\s\/]style\s*=\s*[-\\])]]></rule>
+        <description>Detects bindings and behavior injections</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>30</id>
+        <rule><![CDATA[(?:=\s*\w+\s*\+\s*")|(?:\+=\s*\(\s")|(?:!+\s*[\d.,]+\w?\d*\s*\?)|(?:=\s*\[s*\])|(?:"\s*\+\s*")|(?:[^\s]\[\s*\d+\s*\]\s*[;+])|(?:"\s*[&|]+\s*")|(?:\/\s*\?\s*")|(?:\/\s*\)\s*\[)|(?:\d\?.+:\d)|(?:]\s*\[\W*\w)|(?:[^\s]\s*=\s*\/)]]></rule>
+        <description>Detects common XSS concatenation patterns 1/2</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>31</id>
+        <rule><![CDATA[(?:=\s*\d*\.\d*\?\d*\.\d*)|(?:[|&]{2,}\s*")|(?:!\d+\.\d*\?")|(?:\/:[\w.]+,)|(?:=[\d\W\s]*\[[^]]+\])|(?:\?\w+:\w+)]]></rule>
+        <description>Detects common XSS concatenation patterns 2/2</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>32</id>
+        <rule><![CDATA[(?:[^\w\s=]on(?!g\&gt;)\w+[^=_+-]*=[^$]+(?:\W|\&gt;)?)]]></rule>
+        <description>Detects possible event handlers</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>33</id>
+        <rule><![CDATA[(?:\<\w*:?\s(?:[^\>]*)t(?!rong))|(?:\<scri)|(<\w+:\w+)]]></rule>
+        <description>Detects obfuscated script tags and XML wrapped HTML</description>
+        <tags>
+            <tag>xss</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>34</id>
+        <rule><![CDATA[(?:\<\/\w+\s\w+)|(?:@(?:cc_on|set)[\s@,"=])]]></rule>
+        <description>Detects attributes in closing tags and conditional compilation tokens</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>35</id>
+        <rule><![CDATA[(?:--[^\n]*$)|(?:\<!-|-->)|(?:[^*]\/\*|\*\/[^*])|(?:(?:[\W\d]#|--|{)$)|(?:\/{3,}.*$)|(?:<!\[\W)|(?:\]!>)]]></rule>
+        <description>Detects common comment types</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>3</impact>
+    </filter>
+    <filter>
+        <id>37</id>
+        <rule><![CDATA[(?:\<base\s+)|(?:<!(?:element|entity|\[CDATA))]]></rule>
+        <description>Detects base href injections and XML entity injections</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>38</id>
+        <rule><![CDATA[(?:\<[\/]?(?:[i]?frame|applet|isindex|marquee|keygen|script|audio|video|input|button|textarea|style|base|body|meta|link|object|embed|param|plaintext|xm\w+|image|im(?:g|port)))]]></rule>
+        <description>Detects possibly malicious html elements including some attributes</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>39</id>
+        <rule><![CDATA[(?:\\x[01fe][\db-ce-f])|(?:%[01fe][\db-ce-f])|(?:&#[01fe][\db-ce-f])|(?:\\[01fe][\db-ce-f])|(?:&#x[01fe][\db-ce-f])]]></rule>
+        <description>Detects nullbytes and other dangerous characters</description>
+        <tags>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>xss</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>40</id>
+        <rule><![CDATA[(?:\)\s*when\s*\d+\s*then)|(?:"\s*(?:#|--|{))|(?:\/\*!\s?\d+)|(?:ch(?:a)?r\s*\(\s*\d)|(?:(?:(n?and|x?or|not)\s+|\|\||\&\&)\s*\w+\()]]></rule>
+        <description>Detects MySQL comments, conditions and ch(a)r injections</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>41</id>
+        <rule><![CDATA[(?:[\s()]case\s*\()|(?:\)\s*like\s*\()|(?:having\s*[^\s]+\s*[^\w\s])|(?:if\s?\([\d\w]\s*[=<>~])]]></rule>
+        <description>Detects conditional SQL injection attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>42</id>
+        <rule><![CDATA[(?:"\s*or\s*"?\d)|(?:\\x(?:23|27|3d))|(?:^.?"$)|(?:(?:^["\\]*(?:[\d"]+|[^"]+"))+\s*(?:n?and|x?or|not|\|\||\&\&)\s*[\w"[+&!@(),.-])|(?:[^\w\s]\w+\s*[|-]\s*"\s*\w)|(?:@\w+\s+(and|or)\s*["\d]+)|(?:@[\w-]+\s(and|or)\s*[^\w\s])|(?:[^\w\s:]\s*\d\W+[^\w\s]\s*".)|(?:\Winformation_schema|table_name\W)]]></rule>
+        <description>Detects classic SQL injection probings 1/2</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>43</id>
+        <rule><![CDATA[(?:"\s*\*.+(?:or|id)\W*"\d)|(?:\^")|(?:^[\w\s"-]+(?<=and\s)(?<=or\s)(?<=xor\s)(?<=nand\s)(?<=not\s)(?<=\|\|)(?<=\&\&)\w+\()|(?:"[\s\d]*[^\w\s]+\W*\d\W*.*["\d])|(?:"\s*[^\w\s?]+\s*[^\w\s]+\s*")|(?:"\s*[^\w\s]+\s*[\W\d].*(?:#|--))|(?:".*\*\s*\d)|(?:"\s*or\s[^\d]+[\w-]+.*\d)|(?:[()*<>%+-][\w-]+[^\w\s]+"[^,])]]></rule>
+        <description>Detects classic SQL injection probings 2/2</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>44</id>
+        <rule><![CDATA[(?:\d"\s+"\s+\d)|(?:^admin\s*"|(\/\*)+"+\s?(?:--|#|\/\*|{)?)|(?:"\s*or[\w\s-]+\s*[+<>=(),-]\s*[\d"])|(?:"\s*[^\w\s]?=\s*")|(?:"\W*[+=]+\W*")|(?:"\s*[!=|][\d\s!=+-]+.*["(].*$)|(?:"\s*[!=|][\d\s!=]+.*\d+$)|(?:"\s*like\W+[\w"(])|(?:\sis\s*0\W)|(?:where\s[\s\w\.,-]+\s=)|(?:"[<>~]+")]]></rule>
+        <description>Detects basic SQL authentication bypass attempts 1/3</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>45</id>
+        <rule><![CDATA[(?:union\s*(?:all|distinct|[(!@]*)\s*[([]*\s*select)|(?:\w+\s+like\s+\")|(?:like\s*"\%)|(?:"\s*like\W*["\d])|(?:"\s*(?:n?and|x?or|not |\|\||\&\&)\s+[\s\w]+=\s*\w+\s*having)|(?:"\s*\*\s*\w+\W+")|(?:"\s*[^?\w\s=.,;)(]+\s*[(@"]*\s*\w+\W+\w)|(?:select\s*[\[\]()\s\w\.,"-]+from)|(?:find_in_set\s*\()]]></rule>
+        <description>Detects basic SQL authentication bypass attempts 2/3</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+     <filter>
+        <id>46</id>
+        <rule><![CDATA[(?:in\s*\(+\s*select)|(?:(?:n?and|x?or|not |\|\||\&\&)\s+[\s\w+]+(?:regexp\s*\(|sounds\s+like\s*"|[=\d]+x))|("\s*\d\s*(?:--|#))|(?:"[%&<>^=]+\d\s*(=|or))|(?:"\W+[\w+-]+\s*=\s*\d\W+")|(?:"\s*is\s*\d.+"?\w)|(?:"\|?[\w-]{3,}[^\w\s.,]+")|(?:"\s*is\s*[\d.]+\s*\W.*")]]></rule>
+        <description>Detects basic SQL authentication bypass attempts 3/3</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>47</id>
+        <rule><![CDATA[(?:[\d\W]\s+as\s*["\w]+\s*from)|(?:^[\W\d]+\s*(?:union|select|create|rename|truncate|load|alter|delete|update|insert|desc))|(?:(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s+(?:(?:group_)concat|char|load_file)\s?\(?)|(?:end\s*\);)|("\s+regexp\W)|(?:[\s(]load_file\s*\()]]></rule>
+        <description>Detects concatenated basic SQL injection and SQLLFI attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>48</id>
+        <rule><![CDATA[(?:@.+=\s*\(\s*select)|(?:\d+\s*or\s*\d+\s*[\-+])|(?:\/\w+;?\s+(?:having|and|or|select)\W)|(?:\d\s+group\s+by.+\()|(?:(?:;|#|--)\s*(?:drop|alter))|(?:(?:;|#|--)\s*(?:update|insert)\s*\w{2,})|(?:[^\w]SET\s*@\w+)|(?:(?:n?and|x?or|not |\|\||\&\&)[\s(]+\w+[\s)]*[!=+]+[\s\d]*["=()])]]></rule>
+        <description>Detects chained SQL injection attempts 1/2</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>49</id>
+        <rule><![CDATA[(?:"\s+and\s*=\W)|(?:\(\s*select\s*\w+\s*\()|(?:\*\/from)|(?:\+\s*\d+\s*\+\s*@)|(?:\w"\s*(?:[-+=|@]+\s*)+[\d(])|(?:coalesce\s*\(|@@\w+\s*[^\w\s])|(?:\W!+"\w)|(?:";\s*(?:if|while|begin))|(?:"[\s\d]+=\s*\d)|(?:order\s+by\s+if\w*\s*\()|(?:[\s(]+case\d*\W.+[tw]hen[\s(])]]></rule>
+        <description>Detects chained SQL injection attempts 2/2</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>50</id>
+        <rule><![CDATA[(?:(select|;)\s+(?:benchmark|if|sleep)\s*?\(\s*\(?\s*\w+)]]></rule>
+        <description>Detects SQL benchmark and sleep injection attempts including conditional queries</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>51</id>
+        <rule><![CDATA[(?:create\s+function\s+\w+\s+returns)|(?:;\s*(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s*[\[(]?\w{2,})]]></rule>
+        <description>Detects MySQL UDF injection and other data/structure manipulation attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>52</id>
+        <rule><![CDATA[(?:alter\s*\w+.*character\s+set\s+\w+)|(";\s*waitfor\s+time\s+")|(?:";.*:\s*goto)]]></rule>
+        <description>Detects MySQL charset switch and MSSQL DoS attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+    <filter>
+        <id>53</id>
+        <rule><![CDATA[(?:procedure\s+analyse\s*\()|(?:;\s*(declare|open)\s+[\w-]+)|(?:create\s+(procedure|function)\s*\w+\s*\(\s*\)\s*-)|(?:declare[^\w]+[@#]\s*\w+)|(exec\s*\(\s*@)]]></rule>
+        <description>Detects MySQL and PostgreSQL stored procedure/function injections</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>54</id>
+        <rule><![CDATA[(?:select\s*pg_sleep)|(?:waitfor\s*delay\s?"+\s?\d)|(?:;\s*shutdown\s*(?:;|--|#|\/\*|{))]]></rule>
+        <description>Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>55</id>
+        <rule><![CDATA[(?:\sexec\s+xp_cmdshell)|(?:"\s*!\s*["\w])|(?:from\W+information_schema\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\s*\([^\)]*)|(?:";?\s*(?:select|union|having)\s*[^\s])|(?:\wiif\s*\()|(?:exec\s+master\.)|(?:union select @)|(?:union[\w(\s]*select)|(?:select.*\w?user\()|(?:into[\s+]+(?:dump|out)file\s*")]]></rule>
+        <description>Detects MSSQL code execution and information gathering attempts</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>56</id>
+        <rule><![CDATA[(?:merge.*using\s*\()|(execute\s*immediate\s*")|(?:\W+\d*\s*having\s*[^\s\-])|(?:match\s*[\w(),+-]+\s*against\s*\()]]></rule>
+        <description>Detects MATCH AGAINST, MERGE, EXECUTE IMMEDIATE and HAVING injections</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>57</id>
+        <rule><![CDATA[(?:,.*[)\da-f"]"(?:".*"|\Z|[^"]+))|(?:\Wselect.+\W*from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s*\(\s*space\s*\()]]></rule>
+        <description>Detects MySQL comment-/space-obfuscated injections and backtick termination</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>58</id>
+        <rule><![CDATA[(?:@[\w-]+\s*\()|(?:]\s*\(\s*["!]\s*\w)|(?:<[?%](?:php)?.*(?:[?%]>)?)|(?:;[\s\w|]*\$\w+\s*=)|(?:\$\w+\s*=(?:(?:\s*\$?\w+\s*[(;])|\s*".*"))|(?:;\s*\{\W*\w+\s*\()]]></rule>
+        <description>Detects code injection attempts 1/3</description>
+        <tags>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>59</id>
+        <rule><![CDATA[(?:(?:[;]+|(<[?%](?:php)?)).*(?:define|eval|file_get_contents|include|require|require_once|set|shell_exec|phpinfo|system|passthru|preg_\w+|execute)\s*["(@])]]></rule>
+        <description>Detects code injection attempts 2/3</description>
+        <tags>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>60</id>
+        <rule><![CDATA[(?:(?:[;]+|(<[?%](?:php)?)).*[^\w](?:echo|print|print_r|var_dump|[fp]open))|(?:;\s*rm\s+-\w+\s+)|(?:;.*{.*\$\w+\s*=)|(?:\$\w+\s*\[\]\s*=\s*)]]></rule>
+        <description>Detects code injection attempts 3/3</description>
+        <tags>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>62</id>
+        <rule><![CDATA[(?:function[^(]*\([^)]*\))|(?:(?:delete|void|throw|instanceof|new|typeof)[^\w.]+\w+\s*[([])|([)\]]\s*\.\s*\w+\s*=)|(?:\(\s*new\s+\w+\s*\)\.)]]></rule>
+        <description>Detects common function declarations and special JS operators</description>
+        <tags>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>63</id>
+        <rule><![CDATA[(?:[\w.-]+@[\w.-]+%(?:[01][\db-ce-f])+\w+:)]]></rule>
+        <description>Detects common mail header injections</description>
+        <tags>
+            <tag>id</tag>
+            <tag>spam</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>64</id>
+        <rule><![CDATA[(?:\.pl\?\w+=\w?\|\w+;)|(?:\|\(\w+=\*)|(?:\*\s*\)+\s*;)]]></rule>
+        <description>Detects perl echo shellcode injection and LDAP vectors</description>
+        <tags>
+            <tag>lfi</tag>
+            <tag>rfe</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>65</id>
+        <rule><![CDATA[(?:(^|\W)const\s+[\w\-]+\s*=)|(?:(?:do|for|while)\s*\([^;]+;+\))|(?:(?:^|\W)on\w+\s*=[\w\W]*(?:on\w+|alert|eval|print|confirm|prompt))|(?:groups=\d+\(\w+\))|(?:(.)\1{128,})]]></rule>
+        <description>Detects basic XSS DoS attempts</description>
+        <tags>
+            <tag>rfe</tag>
+            <tag>dos</tag>
+        </tags>
+        <impact>5</impact>
+    </filter>
+    <filter>
+        <id>67</id>
+        <rule><![CDATA[(?:\({2,}\+{2,}:{2,})|(?:\({2,}\+{2,}:+)|(?:\({3,}\++:{2,})|(?:\$\[!!!\])]]></rule>
+        <description>Detects unknown attack vectors based on PHPIDS Centrifuge detection</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+            <tag>id</tag>
+            <tag>rfe</tag>
+            <tag>lfi</tag>
+        </tags>
+        <impact>7</impact>
+    </filter>
+    <filter>
+        <id>68</id>
+        <rule><![CDATA[(?:[\s\/"]+[-\w\/\\\*]+\s*=.+(?:\/\s*>))]]></rule>
+        <description>Finds attribute breaking injections including obfuscated attributes</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>69</id>
+        <rule><![CDATA[(?:(?:msgbox|eval)\s*\+|(?:language\s*=\*vbscript))]]></rule>
+        <description>Finds basic VBScript injection attempts</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>70</id>
+        <rule><![CDATA[(?:\[\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|or)\])]]></rule>
+        <description>Finds basic MongoDB SQL injection attempts</description>
+        <tags>
+            <tag>sqli</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>71</id>
+        <rule><![CDATA[(?:[\s\d\/"]+(?:on\w+|style|poster|background)=[$"\w])|(?:-type\s*:\s*multipart)]]></rule>
+        <description>Finds malicious attribute injection attempts and MHTML attacks</description>
+        <tags>
+            <tag>xss</tag>
+            <tag>csrf</tag>
+        </tags>
+        <impact>6</impact>
+    </filter>
+  <filter>
+        <id>72</id>
+        <rule><![CDATA[(?:(sleep\((\s*)(\d*)(\s*)\)|benchmark\((.*)\,(.*)\)))]]></rule>
+        <description>Detects blind sqli tests using sleep() or benchmark().</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>73</id>
+        <rule><![CDATA[(?:(\%SYSTEMROOT\%))]]></rule>
+        <description>An attacker is trying to locate a file to read or write.</description>
+        <tags>
+            <tag>files</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>75</id>
+        <rule><![CDATA[(?:(((.*)\%[c|d|i|e|f|g|o|s|u|x|p|n]){8}))]]></rule>
+        <description>Looking for a format string attack</description>
+        <tags>
+            <tag>format string</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+    <filter>
+        <id>76</id>
+        <rule><![CDATA[(?:(union(.*)select(.*)from))]]></rule>
+        <description>Looking for basic sql injection. Common attack string for mysql, oracle and others.</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>3</impact>
+    </filter>
+    <filter>
+        <id>77</id>
+        <rule><![CDATA[(?:^(-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|1e309)$)]]></rule>
+        <description>Looking for integer overflow attacks, these are taken from skipfish, except 2.2250738585072007e-308 is the "magic number" crash</description>
+        <tags>
+            <tag>sqli</tag>
+            <tag>id</tag>
+        </tags>
+        <impact>3</impact>
+    </filter>
+    <filter>
+        <id>78</id>
+        <rule><![CDATA[(?:%23.*?%0a)]]></rule>
+        <description>Detects SQL comment filter evasion</description>
+        <tags>
+            <tag>format string</tag>
+        </tags>
+        <impact>4</impact>
+    </filter>
+</filters>
diff --git a/interface/lib/classes/IDS/license.txt b/interface/lib/classes/IDS/license.txt
new file mode 100644
index 0000000000..4a3cd1b3e2
--- /dev/null
+++ b/interface/lib/classes/IDS/license.txt
@@ -0,0 +1,18 @@
+ * 
+ * The files in the folder IDS and its subfolders belong to the
+ * PHP Intrusion Detection System software and are licensed under LGPL.
+ * 
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
\ No newline at end of file
diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 56d43f879b..b96b8d0199 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -121,6 +121,52 @@ class db extends mysqli
 		parent::query( 'SET NAMES '.$this->dbCharset);
 		parent::query( "SET character_set_results = '".$this->dbCharset."', character_set_client = '".$this->dbCharset."', character_set_connection = '".$this->dbCharset."', character_set_database = '".$this->dbCharset."', character_set_server = '".$this->dbCharset."'");
 	}
+	
+	private function securityScan($string) {
+		global $app, $conf;
+		
+		// get security config
+		if(isset($app)) {
+			$app->uses('getconf');
+			$ids_config = $app->getconf->get_security_config('ids');
+			
+			if($ids_config['sql_scan_enabled'] == 'yes') {
+				
+				$string_orig = $string;
+				
+				//echo $string;
+				$chars = array(';', '#', '/*', '*/', '--', ' UNION ', '\\\'', '\\"');
+		
+				$string = str_replace('\\\\', '', $string);
+				$string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\])\\2/is', '$1', $string);
+				$ok = true;
+
+				if(substr_count($string, "`") % 2 != 0 || substr_count($string, "'") % 2 != 0 || substr_count($string, '"') % 2 != 0) {
+					$app->log("SQL injection warning (" . $string_orig . ")",2);
+					$ok = false;
+				} else {
+					foreach($chars as $char) {
+						if(strpos($string, $char) !== false) {
+							$ok = false;
+							$app->log("SQL injection warning (" . $string_orig . ")",2);
+							break;
+						}
+					}
+				}
+				if($ok == true) {
+					return true;
+				} else {
+					if($ids_config['sql_scan_action'] == 'warn') {
+						// we return false in warning level.
+						return false;
+					} else {
+						// if sql action = 'block' or anything else then stop here.
+						$app->error('Possible SQL injection. All actions have been logged.');
+					}
+				}
+			}
+		}
+	}
 
 	public function query($queryString) {
 		global $conf;
@@ -143,6 +189,7 @@ class db extends mysqli
 				}
 			}
 		} while($ok == false);
+		$this->securityScan($queryString);
 		$this->queryId = parent::query($queryString);
 		$this->updateError('DB::query('.$queryString.') -> mysqli_query');
 		if($this->errorNumber && $conf['demo_mode'] === false) debug_print_backtrace();
diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index 5cc223ae79..0cc282e021 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -31,6 +31,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 class getconf {
 
 	private $config;
+	private $security_config;
 
 	public function get_server_config($server_id, $section = '') {
 		global $app;
@@ -55,15 +56,20 @@ class getconf {
 		return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
 	}
 	
+	// Function has been moved to $app->get_security_config($section)
 	public function get_security_config($section = '') {
 		global $app;
+		
+		if(is_array($this->security_config)) {
+			return ($section == '') ? $this->security_config : $this->security_config[$section];
+		} else {
+			$this->uses('ini_parser');
+			$security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
+			if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
+			$this->security_config = $this->ini_parser->parse_ini_string(file_get_contents($security_config_path));
 
-		$app->uses('ini_parser');
-		$security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
-		if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
-		$security_config = $app->ini_parser->parse_ini_string(file_get_contents($security_config_path));
-
-		return ($section == '') ? $security_config : $security_config[$section];
+			return ($section == '') ? $this->security_config : $this->security_config[$section];
+		}
 	}
 
 }
diff --git a/interface/lib/classes/ids.inc.php b/interface/lib/classes/ids.inc.php
new file mode 100644
index 0000000000..a98b0b265a
--- /dev/null
+++ b/interface/lib/classes/ids.inc.php
@@ -0,0 +1,149 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, ISPConfig UG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+class ids {
+
+	public function start()
+	{
+		global $app, $conf;
+		
+		$security_config = $app->getconf->get_security_config('ids');
+		
+		set_include_path(
+			get_include_path()
+			. PATH_SEPARATOR
+			. ISPC_CLASS_PATH.'/'
+		);
+			
+		require_once(ISPC_CLASS_PATH.'/IDS/Init.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Monitor.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Filter.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Filter/Storage.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Report.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Event.php');
+		require_once(ISPC_CLASS_PATH.'/IDS/Converter.php');
+		
+		$ids_request = array(
+			'SESSION' => $_SESSION,
+			'GET' => $_GET,
+			'POST' => $_POST,
+			'COOKIE' => $_COOKIE
+		);
+		
+		$ids_init = IDS\Init::init(ISPC_CLASS_PATH.'/IDS/Config/Config.ini.php');
+		
+		$ids_init->config['General']['base_path'] = ISPC_CLASS_PATH.'/IDS/';
+		$ids_init->config['General']['tmp_path'] = '../../../temp';
+		$ids_init->config['General']['use_base_path'] = true;
+		$ids_init->config['Caching']['caching'] = 'none';
+		$ids_init->config['Logging']['path'] = '../../../temp/ids.log';
+		
+		$current_script_name = trim($_SERVER['SCRIPT_NAME']);
+		
+		// Get whitelist
+		$whitelist_path = '/usr/local/ispconfig/security/ids.whitelist';
+		if(is_file('/usr/local/ispconfig/security/ids.whitelist.custom')) $whitelist_path = '/usr/local/ispconfig/security/ids.whitelist.custom';
+		if(!is_file($whitelist_path)) $whitelist_path = realpath(ISPC_ROOT_PATH.'/../security/ids.whitelist');
+		
+		$whitelist_lines = file($whitelist_path);
+		if(is_array($whitelist_lines)) {
+			foreach($whitelist_lines as $line) {
+				$line = trim($line);
+				if(substr($line,0,1) != '#') {
+					list($user,$path,$varname) = explode(':',$line);
+					if($current_script_name == $path) {
+						if($user = 'any' 
+							|| ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin')) 
+							|| ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
+								$ids_init->config['General']['exceptions'][] = $varname;
+								
+						}
+					}
+				}
+			}
+		}
+		
+		// Get HTML fields
+		$htmlfield_path = '/usr/local/ispconfig/security/ids.htmlfield';
+		if(is_file('/usr/local/ispconfig/security/ids.htmlfield.custom')) $htmlfield_path = '/usr/local/ispconfig/security/ids.htmlfield.custom';
+		if(!is_file($htmlfield_path)) $htmlfield_path = realpath(ISPC_ROOT_PATH.'/../security/ids.htmlfield');
+		
+		$htmlfield_lines = file($htmlfield_path);
+		if(is_array($htmlfield_lines)) {
+			foreach($htmlfield_lines as $line) {
+				$line = trim($line);
+				if(substr($line,0,1) != '#') {
+					list($user,$path,$varname) = explode(':',$line);
+					if($current_script_name == $path) {
+						if($user = 'any' 
+							|| ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin')) 
+							|| ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
+								$ids_init->config['General']['html'][] = $varname;
+						}
+					}
+				}
+			}
+		}
+		
+		$ids = new IDS\Monitor($ids_init);
+		$ids_result = $ids->run($ids_request);
+		
+		if (!$ids_result->isEmpty()) {
+			
+			$impact = $ids_result->getImpact();
+			
+			if($impact >= $security_config['ids_log_level']) {
+				$ids_log = ISPC_ROOT_PATH.'/temp/ids.log';
+				if(!is_file($ids_log)) touch($ids_log);
+				
+				$user = isset($_SESSION['s']['user']['typ'])?$_SESSION['s']['user']['typ']:'any';
+				
+				$log_lines = '';
+				foreach ($ids_result->getEvents() as $event) {
+					$log_lines .= $user.':'.$current_script_name.':'.$event->getName()."\n";
+				}
+				file_put_contents($ids_log,$log_lines,FILE_APPEND);
+				
+			}
+			
+			if($impact >= $security_config['ids_warn_level']) {
+				$app->log("PHP IDS Alert.".$ids_result, 2);
+			}
+			
+			if($impact >= $security_config['ids_block_level']) {
+				$app->error("Possible attack detected. This action has been logged.",'', true, 2);
+			}
+			
+		}
+	}
+	
+}
+
+?>
diff --git a/security/apache_directives.blacklist b/security/apache_directives.blacklist
new file mode 100644
index 0000000000..edb4b503d3
--- /dev/null
+++ b/security/apache_directives.blacklist
@@ -0,0 +1,3 @@
+/^\s*(LoadModule|LoadFile|Include)(\s+|[\\\\])/mi
+/^\s*(SuexecUserGroup|suPHP_UserGroup|suPHP_PHPPath|suPHP_ConfigPath)(\s+|[\\\\])/mi
+/^\s*(FCGIWrapper|FastCgiExternalServer)(\s+|[\\\\])/mi
\ No newline at end of file
diff --git a/security/ids.htmlfield b/security/ids.htmlfield
new file mode 100644
index 0000000000..2c6e92a4a6
--- /dev/null
+++ b/security/ids.htmlfield
@@ -0,0 +1,5 @@
+# Format: usertype:url_path:field
+# usertype can be: any/client/admin
+# Example:
+# admin:/admin/language_edit.php:POST.records.weak_password_txt
+admin:/admin/language_edit.php:POST.records
\ No newline at end of file
diff --git a/security/ids.whitelist b/security/ids.whitelist
new file mode 100644
index 0000000000..58a96e6ac1
--- /dev/null
+++ b/security/ids.whitelist
@@ -0,0 +1,45 @@
+# Format: usertype:url_path:field
+# usertype can be: any/client/admin
+# Example:
+# admin:/admin/language_edit.php:POST.records.weak_password_txt
+admin:/admin/server_config_edit.php:POST.maildir_path
+admin:/admin/server_config_edit.php:POST.website_path
+admin:/admin/server_config_edit.php:POST.website_symlinks
+admin:/admin/server_config_edit.php:POST.vhost_conf_dir
+admin:/admin/server_config_edit.php:POST.vhost_conf_enabled_dir
+admin:/admin/server_config_edit.php:POST.nginx_vhost_conf_dir
+admin:/admin/server_config_edit.php:POST.nginx_vhost_conf_enabled_dir
+admin:/admin/server_config_edit.php:POST.php_open_basedir
+admin:/admin/server_config_edit.php:POST.awstats_pl
+admin:/admin/server_config_edit.php:POST.fastcgi_starter_path
+admin:/admin/server_config_edit.php:POST.fastcgi_bin
+admin:/admin/server_config_edit.php:POST.jailkit_chroot_home
+admin:/admin/remote_user_edit.php:POST.remote_functions.1
+admin:/admin/firewall_edit.php:POST.tcp_port
+admin:/admin/system_config_edit.php:POST.admin_dashlets_right
+admin:/admin/system_config_edit.php:POST.reseller_dashlets_left
+admin:/admin/system_config_edit.php:POST.reseller_dashlets_right
+admin:/admin/language_edit.php:POST.records.weak_password_txt
+user:/client/client_message.php:POST.message
+user:/client/message_template_edit.php:POST.subject
+admin:/dns/dns_template_edit.php:POST.template
+admin:/nav.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_sys_state.php:SESSION.s.module.nav.1.items.0.title
+admin:/capp.php:SESSION.s.module.nav.1.items.0.title
+admin:/keepalive.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/log_list.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/datalog_list.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_data.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_sys_state.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_monit.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_munin.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_data.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_log.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/log_del.php:SESSION.s.module.nav.1.items.0.title
+admin:/keepalive.php:SESSION.s.module.nav.1.items.0.title
+admin:/capp.php:SESSION.s.module.nav.1.items.0.title
+admin:/sites/web_vhost_subdomain_edit.php:POST.php_open_basedir
+admin:/sites/web_domain_edit.php:POST.php_open_basedir
+admin:/sites/web_domain_edit.php:POST.apache_directives
+user:/sites/shell_user_edit.php:POST.ssh_rsa
+user:/sites/cron_edit.php:POST.command
\ No newline at end of file
diff --git a/security/security_settings.ini b/security/security_settings.ini
index 4dfe001624..43bcebf1e9 100644
--- a/security/security_settings.ini
+++ b/security/security_settings.ini
@@ -16,6 +16,15 @@ admin_allow_software_packages=superadmin
 admin_allow_software_repo=superadmin
 remote_api_allowed=yes
 
+[ids]
+ids_enabled=yes
+ids_log_level=1
+ids_warn_level=5
+ids_block_level=30
+sql_scan_enabled=yes
+sql_scan_action=warn
+apache_directives_scan_enabled=yes
+
 [systemcheck]
 security_admin_email=root@localhost
 security_admin_email_subject=Security alert from server
-- 
GitLab


From 984aadfc91779e11564ed57742bb349e7b9746a1 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 25 Aug 2014 15:49:06 +0200
Subject: [PATCH 116/158] Fixed: FS#3639 - Error: [Invalid reseller] after
 update

---
 interface/lib/classes/remoting.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 0ccfd65478..4a6609eb23 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -1426,7 +1426,7 @@ class remoting {
 		
 		if($params['parent_client_id']) {
 			// check if this one is reseller
-			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($client_id));
+			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($params['parent_client_id']));
 			if($check['limit_client'] == 0) {
 				$this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
 				return false;
-- 
GitLab


From a063c3a3b423884c7bc038ffb67cdd1e83859eb3 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 25 Aug 2014 15:49:54 +0200
Subject: [PATCH 117/158] Fixed:  FS#3639 - Error: [Invalid reseller] after
 update  (missing fix for previous commit)

---
 interface/lib/classes/remoting.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 4a6609eb23..b47d9cf73c 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -1461,7 +1461,7 @@ class remoting {
 
 		if($params['parent_client_id']) {
 			// check if this one is reseller
-			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($client_id));
+			$check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($params['parent_client_id']));
 			if($check['limit_client'] == 0) {
 				$this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
 				return false;
-- 
GitLab


From 4f2cc4eabd8cdafb15042d70129d8ea5e2aa815c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 16:16:53 +0200
Subject: [PATCH 118/158] Syntax errors.

---
 interface/lib/classes/getconf.inc.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index 0cc282e021..a246b1853c 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -63,10 +63,10 @@ class getconf {
 		if(is_array($this->security_config)) {
 			return ($section == '') ? $this->security_config : $this->security_config[$section];
 		} else {
-			$this->uses('ini_parser');
+			$app->uses('ini_parser');
 			$security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
 			if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
-			$this->security_config = $this->ini_parser->parse_ini_string(file_get_contents($security_config_path));
+			$this->security_config = $app->ini_parser->parse_ini_string(file_get_contents($security_config_path));
 
 			return ($section == '') ? $this->security_config : $this->security_config[$section];
 		}
-- 
GitLab


From 614b23b18053c58c3f85db5ceaa982484175d276 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 16:35:53 +0200
Subject: [PATCH 119/158] Added apache directives check agains regex blacklist
 in security settings.

---
 interface/lib/classes/IDS/Monitor.php         |  4 +-
 interface/lib/classes/validate_domain.inc.php | 40 +++++++++++++++++++
 interface/web/sites/form/web_domain.tform.php |  7 ++++
 .../sites/form/web_vhost_subdomain.tform.php  |  7 ++++
 .../web/sites/lib/lang/ar_web_domain.lng      |  1 +
 .../web/sites/lib/lang/bg_web_domain.lng      |  1 +
 .../web/sites/lib/lang/br_web_domain.lng      |  1 +
 .../web/sites/lib/lang/cz_web_domain.lng      |  1 +
 .../web/sites/lib/lang/de_web_domain.lng      |  1 +
 .../web/sites/lib/lang/el_web_domain.lng      |  1 +
 .../web/sites/lib/lang/en_web_domain.lng      |  1 +
 .../web/sites/lib/lang/es_web_domain.lng      |  1 +
 .../web/sites/lib/lang/fi_web_domain.lng      |  1 +
 .../web/sites/lib/lang/fr_web_domain.lng      |  1 +
 .../web/sites/lib/lang/hr_web_domain.lng      |  1 +
 .../web/sites/lib/lang/hu_web_domain.lng      |  1 +
 .../web/sites/lib/lang/id_web_domain.lng      |  1 +
 .../web/sites/lib/lang/it_web_domain.lng      |  1 +
 .../web/sites/lib/lang/ja_web_domain.lng      |  1 +
 .../web/sites/lib/lang/nl_web_domain.lng      |  1 +
 .../web/sites/lib/lang/pl_web_domain.lng      |  1 +
 .../web/sites/lib/lang/pt_web_domain.lng      |  1 +
 .../web/sites/lib/lang/ro_web_domain.lng      |  1 +
 .../web/sites/lib/lang/ru_web_domain.lng      |  1 +
 .../web/sites/lib/lang/se_web_domain.lng      |  1 +
 .../web/sites/lib/lang/sk_web_domain.lng      |  1 +
 .../web/sites/lib/lang/tr_web_domain.lng      |  1 +
 27 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/interface/lib/classes/IDS/Monitor.php b/interface/lib/classes/IDS/Monitor.php
index f93e748e49..90c89589d2 100644
--- a/interface/lib/classes/IDS/Monitor.php
+++ b/interface/lib/classes/IDS/Monitor.php
@@ -250,7 +250,7 @@ class Monitor
         $filterSet = $this->storage->getFilterSet();
 
         if ($tags = $this->tags) {
-            $filterSet = array_filter(
+            $filterSet = @array_filter(
                 $filterSet,
                 function (Filter $filter) use ($tags) {
                     return (bool) array_intersect($tags, $filter->getTags());
@@ -259,7 +259,7 @@ class Monitor
         }
 
         $scanKeys = $this->scanKeys;
-        $filterSet = array_filter(
+        $filterSet = @array_filter(
             $filterSet,
             function (Filter $filter) use ($key, $value, $scanKeys) {
                 return $filter->match($value) || $scanKeys && $filter->match($key);
diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index d92de9b943..8df0d2f1aa 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -97,6 +97,45 @@ class validate_domain {
 		$result = $this->_check_unique($field_value . '.' . $check_domain, true);
 		if(!$result) return $this->get_error('domain_error_autosub');
 	}
+	
+	/* Check apache directives */
+	function web_apache_directives($field_name, $field_value, $validator) {
+		global $app;
+		
+		if(trim($field_value) != '') {
+			$security_config = $app->getconf->get_security_config('ids');
+		
+			if($security_config['apache_directives_scan_enabled'] == 'yes') {
+				
+				// Get blacklist
+				$blacklist_path = '/usr/local/ispconfig/security/apache_directives.blacklist';
+				if(is_file('/usr/local/ispconfig/security/apache_directives.blacklist.custom')) $blacklist_path = '/usr/local/ispconfig/security/apache_directives.blacklist.custom';
+				if(!is_file($blacklist_path)) $blacklist_path = realpath(ISPC_ROOT_PATH.'/../security/apache_directives.blacklist');
+				
+				$directives = explode("\n",$field_value);
+				$regex = explode("\n",file_get_contents($blacklist_path));
+				$blocked = false;
+				$blocked_line = '';
+				
+				if(is_array($directives) && is_array($regex)) {
+					foreach($directives as $directive) {
+						$directive = trim($directive);
+						foreach($regex as $r) {
+							if(preg_match(trim($r),$directive)) {
+								$blocked = true;
+								$blocked_line = $directive;
+							};
+						}
+					}
+				}
+			}
+		}
+		
+		if($blocked === true) {
+			return $this->get_error('apache_directive_blocked_error').' '.$blocked_line;
+		}
+	}
+	
 
 	/* internal validator function to match regexp */
 	function _regex_validate($domain_name, $allow_wildcard = false) {
@@ -175,5 +214,6 @@ class validate_domain {
 		}
 		return true; // admin may always add wildcard domain
 	}
+	
 
 }
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index efaea89cf4..16a0c856c2 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -730,6 +730,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 			'apache_directives' => array (
 				'datatype' => 'TEXT',
 				'formtype' => 'TEXT',
+				'validators' => array (  0 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_domain',
+							'function' => 'web_apache_directives',
+							'errmsg' => 'apache_directive_blockd_error'
+						),
+				),
 				'default' => '',
 				'value'  => '',
 				'width'  => '30',
diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php
index 3aa2276fc5..55dd261df1 100644
--- a/interface/web/sites/form/web_vhost_subdomain.tform.php
+++ b/interface/web/sites/form/web_vhost_subdomain.tform.php
@@ -706,6 +706,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') {
 			'apache_directives' => array (
 				'datatype' => 'TEXT',
 				'formtype' => 'TEXT',
+				'validators' => array (  0 => array(
+							'type' => 'CUSTOM',
+							'class' => 'validate_domain',
+							'function' => 'web_apache_directives',
+							'errmsg' => 'apache_directive_blockd_error'
+						),
+				),
 				'default' => '',
 				'value'  => '',
 				'width'  => '30',
diff --git a/interface/web/sites/lib/lang/ar_web_domain.lng b/interface/web/sites/lib/lang/ar_web_domain.lng
index 539d3b7124..1714b64177 100644
--- a/interface/web/sites/lib/lang/ar_web_domain.lng
+++ b/interface/web/sites/lib/lang/ar_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_web_domain.lng b/interface/web/sites/lib/lang/bg_web_domain.lng
index 3af58cd1fa..594b6f2c7c 100644
--- a/interface/web/sites/lib/lang/bg_web_domain.lng
+++ b/interface/web/sites/lib/lang/bg_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/br_web_domain.lng b/interface/web/sites/lib/lang/br_web_domain.lng
index 8b4484eb71..21525c5d95 100644
--- a/interface/web/sites/lib/lang/br_web_domain.lng
+++ b/interface/web/sites/lib/lang/br_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_domain.lng
index 99c9e10540..db8f37f9db 100644
--- a/interface/web/sites/lib/lang/cz_web_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Oddělte více adresářů čárkami. Vzor:
 $wb['backup_excludes_error_regex'] = 'Vyloučené adresáře obsahují neplatné znaky.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Neplatné nastavení php.ini';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index c005f90c2c..b90ff9a53a 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Be
 $wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Unzulässige php.ini-Einstellungen';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Die Apache Direktive wurde durch die Sicherheitsrichtline blockiert:';
 ?>
diff --git a/interface/web/sites/lib/lang/el_web_domain.lng b/interface/web/sites/lib/lang/el_web_domain.lng
index bc9a8359ba..b2792cefb7 100644
--- a/interface/web/sites/lib/lang/el_web_domain.lng
+++ b/interface/web/sites/lib/lang/el_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index 0478e9972c..14b3d526fd 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/es_web_domain.lng b/interface/web/sites/lib/lang/es_web_domain.lng
index f56e895dca..48c37ffd8e 100644
--- a/interface/web/sites/lib/lang/es_web_domain.lng
+++ b/interface/web/sites/lib/lang/es_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_web_domain.lng b/interface/web/sites/lib/lang/fi_web_domain.lng
index e5323b21cc..e13fb8f54a 100755
--- a/interface/web/sites/lib/lang/fi_web_domain.lng
+++ b/interface/web/sites/lib/lang/fi_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_web_domain.lng b/interface/web/sites/lib/lang/fr_web_domain.lng
index 00c2dcf151..7c01ca3f94 100644
--- a/interface/web/sites/lib/lang/fr_web_domain.lng
+++ b/interface/web/sites/lib/lang/fr_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_domain.lng
index 51fcb92d66..a7927a354b 100644
--- a/interface/web/sites/lib/lang/hr_web_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_web_domain.lng b/interface/web/sites/lib/lang/hu_web_domain.lng
index e160449c01..3fc994edc4 100644
--- a/interface/web/sites/lib/lang/hu_web_domain.lng
+++ b/interface/web/sites/lib/lang/hu_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_domain.lng
index ef3423ee36..8ed9ad9dfe 100644
--- a/interface/web/sites/lib/lang/id_web_domain.lng
+++ b/interface/web/sites/lib/lang/id_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/it_web_domain.lng b/interface/web/sites/lib/lang/it_web_domain.lng
index c946023d5e..5a2bdf5448 100644
--- a/interface/web/sites/lib/lang/it_web_domain.lng
+++ b/interface/web/sites/lib/lang/it_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_web_domain.lng b/interface/web/sites/lib/lang/ja_web_domain.lng
index d32a9d19b3..41ce4717fd 100644
--- a/interface/web/sites/lib/lang/ja_web_domain.lng
+++ b/interface/web/sites/lib/lang/ja_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_domain.lng
index 1efbbc6e3f..aa3134b92e 100644
--- a/interface/web/sites/lib/lang/nl_web_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_web_domain.lng b/interface/web/sites/lib/lang/pl_web_domain.lng
index ed288131e7..858b35c6f4 100644
--- a/interface/web/sites/lib/lang/pl_web_domain.lng
+++ b/interface/web/sites/lib/lang/pl_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_domain.lng
index 3d197794e9..ac0f7f724f 100644
--- a/interface/web/sites/lib/lang/pt_web_domain.lng
+++ b/interface/web/sites/lib/lang/pt_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_web_domain.lng b/interface/web/sites/lib/lang/ro_web_domain.lng
index e568b8cf4a..d4667d00c4 100644
--- a/interface/web/sites/lib/lang/ro_web_domain.lng
+++ b/interface/web/sites/lib/lang/ro_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_web_domain.lng b/interface/web/sites/lib/lang/ru_web_domain.lng
index c192656924..06d82c1a2b 100644
--- a/interface/web/sites/lib/lang/ru_web_domain.lng
+++ b/interface/web/sites/lib/lang/ru_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng
index 5156df19f8..d25c8b1528 100644
--- a/interface/web/sites/lib/lang/se_web_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_web_domain.lng b/interface/web/sites/lib/lang/sk_web_domain.lng
index 5497f9f5df..e38610de4f 100644
--- a/interface/web/sites/lib/lang/sk_web_domain.lng
+++ b/interface/web/sites/lib/lang/sk_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_web_domain.lng b/interface/web/sites/lib/lang/tr_web_domain.lng
index 59dc02aa8c..557b69b25b 100644
--- a/interface/web/sites/lib/lang/tr_web_domain.lng
+++ b/interface/web/sites/lib/lang/tr_web_domain.lng
@@ -128,4 +128,5 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E
 $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
 $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
-- 
GitLab


From 1f4d646d3229aa4bdfe17b4653b2cd73d48b5f9a Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 16:43:27 +0200
Subject: [PATCH 120/158] Show all blocked apache directives lines in error
 message.

---
 interface/lib/classes/validate_domain.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 8df0d2f1aa..a072412584 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -123,7 +123,7 @@ class validate_domain {
 						foreach($regex as $r) {
 							if(preg_match(trim($r),$directive)) {
 								$blocked = true;
-								$blocked_line = $directive;
+								$blocked_line .= $directive.'<br />';
 							};
 						}
 					}
-- 
GitLab


From f9529b330f229fd845fe4f11d612610a84888de1 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 16:45:33 +0200
Subject: [PATCH 121/158] Set higher IDS block level to avaoid false positives
 until we have a complete whitelist.

---
 security/security_settings.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/security_settings.ini b/security/security_settings.ini
index 43bcebf1e9..85d0433443 100644
--- a/security/security_settings.ini
+++ b/security/security_settings.ini
@@ -20,7 +20,7 @@ remote_api_allowed=yes
 ids_enabled=yes
 ids_log_level=1
 ids_warn_level=5
-ids_block_level=30
+ids_block_level=100
 sql_scan_enabled=yes
 sql_scan_action=warn
 apache_directives_scan_enabled=yes
-- 
GitLab


From fc0a1c8d6171243c8184f99f506b1bba13a36b25 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 25 Aug 2014 17:01:07 +0200
Subject: [PATCH 122/158] - fixed sql injection regex

---
 interface/lib/classes/db_mysql.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index b96b8d0199..6609ec94ee 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -138,7 +138,7 @@ class db extends mysqli
 				$chars = array(';', '#', '/*', '*/', '--', ' UNION ', '\\\'', '\\"');
 		
 				$string = str_replace('\\\\', '', $string);
-				$string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\])\\2/is', '$1', $string);
+				$string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\]?)\\2/is', '$1', $string);
 				$ok = true;
 
 				if(substr_count($string, "`") % 2 != 0 || substr_count($string, "'") % 2 != 0 || substr_count($string, '"') % 2 != 0) {
-- 
GitLab


From 7536c8e4a052bc889e434da3f6df8ae47faedd3d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 17:10:10 +0200
Subject: [PATCH 123/158] Updated security README.txt

---
 security/README.txt | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/security/README.txt b/security/README.txt
index c73231237c..b68f64780f 100644
--- a/security/README.txt
+++ b/security/README.txt
@@ -69,6 +69,45 @@ Setting:     remote_api_allowed
 Options:     yes/no
 Description: Disables the remote API
 
+Setting:     ids_enabled
+Options:     yes/no
+Description: Enables the Intrusion Detection System
+
+Setting:     ids_log_level
+Options:     1 (number, default = 1)
+Description: IDS score that triggers the log in /usr/local/ispconfig/interface/temp/ids.log
+             This log can be used to feed the whitelist. 
+			 
+			 Example:
+			 
+			 cat /usr/local/ispconfig/interface/temp/ids.log >> /usr/local/ispconfig/security/ids.whitelist
+			 rm -f /usr/local/ispconfig/interface/temp/ids.log
+			 
+			 If you want to use a custom whitelist, then store it as /usr/local/ispconfig/security/ids.whitelist.custom
+
+Setting:     ids_warn_level
+Options:     5 (number, default = 5)
+Description: When the IDS score exceeds this level, a error message is logged into the system log. No message is displayed to the user.
+
+Setting:     ids_block_level
+Options:     100 (number, default = 100)
+Description: When the IDS score exceeds this level, a error message is shown to the user and further processing is blocked. A score of 100 will most likely never be reached. 
+             We have choosen such a high score as default until we have more complete whitelists for this new feature.
+
+Setting:     sql_scan_enabled
+Options:     yes/no
+Description: Enables the scan for SQL injections in the DB library.
+
+Setting:     sql_scan_action
+Options:     warn/block
+Description: warn = write errot message to log only. Block = block user action and show error to the user.
+
+Setting:     apache_directives_scan_enabled
+Options:     yes/no
+Description: Scan apache directives field for potentially malicious directives. This function uses the regex
+             list from /usr/local/ispconfig/security/apache_directives.blacklist file.
+			 If you want to use a custom blacklist, then store it as /usr/local/ispconfig/security/apache_directives.blacklist.custom
+
 Setting:     security_admin_email
 Options:     email address
 Description: Email address of the security admin
-- 
GitLab


From f986a3c5d914c5cfd62b61366202026331f75d0a Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 25 Aug 2014 17:16:27 +0200
Subject: [PATCH 124/158] - another regexp fix for sql injection detection

---
 interface/lib/classes/db_mysql.inc.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 6609ec94ee..bcf1b008a2 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -138,7 +138,8 @@ class db extends mysqli
 				$chars = array(';', '#', '/*', '*/', '--', ' UNION ', '\\\'', '\\"');
 		
 				$string = str_replace('\\\\', '', $string);
-				$string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\]?)\\2/is', '$1', $string);
+				$string = preg_replace('/(^|[^\\\])([\'"])\\2/is', '$1', $string);
+				$string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\])\\2/is', '$1', $string);
 				$ok = true;
 
 				if(substr_count($string, "`") % 2 != 0 || substr_count($string, "'") % 2 != 0 || substr_count($string, '"') % 2 != 0) {
-- 
GitLab


From 0baacefd19b7d78ab2c31d947109dec82a17f1cd Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 25 Aug 2014 20:32:20 +0200
Subject: [PATCH 125/158] FS#3641 - Add option to disable the password reset
 function

---
 interface/web/login/index.php           | 9 +++++++++
 interface/web/login/password_reset.php  | 5 +++++
 interface/web/login/templates/index.htm | 2 +-
 security/README.txt                     | 4 ++++
 security/security_settings.ini          | 1 +
 5 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 48d3af652b..4cb2e3e7e9 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -325,6 +325,15 @@ class login_index {
 			$error = '<div class="box box_error"><h1>Error</h1>'.$error.'</div>';
 		}
 		
+		$app->load('getconf');
+
+		$security_config = $app->getconf->get_security_config('permissions');
+		if($security_config['password_reset_allowed'] == 'yes') {
+			$app->tpl->setVar('pw_lost_show', 1);
+		} else {
+			$app->tpl->setVar('pw_lost_show', 0);
+		}
+		
 		$app->tpl->setVar('error', $error);
 		$app->tpl->setVar('pw_lost_txt', $app->lng('pw_lost_txt'));
 		$app->tpl->setVar('username_txt', $app->lng('username_txt'));
diff --git a/interface/web/login/password_reset.php b/interface/web/login/password_reset.php
index e29b1637dd..c466ac8e4b 100644
--- a/interface/web/login/password_reset.php
+++ b/interface/web/login/password_reset.php
@@ -31,6 +31,11 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 require_once '../../lib/config.inc.php';
 require_once '../../lib/app.inc.php';
 
+$app->load('getconf');
+
+$security_config = $app->getconf->get_security_config('permissions');
+if($security_config['password_reset_allowed'] != 'yes') die('Password reset function has been disabled.');
+
 // Loading the template
 $app->uses('tpl');
 $app->tpl->newTemplate("form.tpl.htm");
diff --git a/interface/web/login/templates/index.htm b/interface/web/login/templates/index.htm
index 3fbd278ddd..bcdd8bdb9b 100644
--- a/interface/web/login/templates/index.htm
+++ b/interface/web/login/templates/index.htm
@@ -35,7 +35,7 @@
 
         <div class="buttonHolder buttons">
             <button class="positive iconstxt icoKey" type="button" value="{tmpl_var name='add_new_record_txt'}" onclick="submitLoginForm('pageForm');"><span>{tmpl_var name='login_button_txt'}</span></button>
-            <button class="negative iconstxt icoKey" type="button" value="{tmpl_var name='pw_lost_txt'}" onclick="loadContent('login/password_reset.php');"><span>{tmpl_var name='pw_lost_txt'}</span></button>
+            <tmpl_if name="pw_lost_show"><button class="negative iconstxt icoKey" type="button" value="{tmpl_var name='pw_lost_txt'}" onclick="loadContent('login/password_reset.php');"><span>{tmpl_var name='pw_lost_txt'}</span></button></tmpl_if>
         </div>
     </div>
 
diff --git a/security/README.txt b/security/README.txt
index b68f64780f..b42cbaabb4 100644
--- a/security/README.txt
+++ b/security/README.txt
@@ -69,6 +69,10 @@ Setting:     remote_api_allowed
 Options:     yes/no
 Description: Disables the remote API
 
+Setting:     password_reset_allowed
+Options:     yes/no
+Description: Disables the password reset function.
+
 Setting:     ids_enabled
 Options:     yes/no
 Description: Enables the Intrusion Detection System
diff --git a/security/security_settings.ini b/security/security_settings.ini
index 85d0433443..4b4327aafc 100644
--- a/security/security_settings.ini
+++ b/security/security_settings.ini
@@ -15,6 +15,7 @@ admin_allow_osupdate=superadmin
 admin_allow_software_packages=superadmin
 admin_allow_software_repo=superadmin
 remote_api_allowed=yes
+password_reset_allowed=yes
 
 [ids]
 ids_enabled=yes
-- 
GitLab


From c505a8e45a82ed8673c64a27fde30890a39849e4 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Thu, 28 Aug 2014 13:36:12 +0200
Subject: [PATCH 126/158] - MySQL table generator: default value of text fields
 must be NULL, not 'NULL'.

---
 interface/lib/classes/tform_tpl_generator.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/tform_tpl_generator.inc.php b/interface/lib/classes/tform_tpl_generator.inc.php
index a2da27606e..49fd274a89 100644
--- a/interface/lib/classes/tform_tpl_generator.inc.php
+++ b/interface/lib/classes/tform_tpl_generator.inc.php
@@ -268,7 +268,7 @@ class tform_tpl_generator {
 					case 'TEXT':
 						$type = 'text';
 						$typevalue = '';
-						$defaultValue = 'NULL';
+						$defaultValue = NULL;
 						break;
 					case 'DATE':
 						$type = 'date';
-- 
GitLab


From 6227d73ec10dc088bf944609ec43011da771cd9c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 29 Aug 2014 12:16:49 +0200
Subject: [PATCH 127/158] Fixed: FS#3649 - Resellers can not add domains for
 their clients in client module

---
 interface/web/client/domain_edit.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/client/domain_edit.php b/interface/web/client/domain_edit.php
index cca5c2dc22..1ed17e54a0 100644
--- a/interface/web/client/domain_edit.php
+++ b/interface/web/client/domain_edit.php
@@ -193,7 +193,7 @@ class page_action extends tform_actions {
 
 		// make sure that the record belongs to the client group and not the admin group when admin inserts it
 		// also make sure that the user can not delete domain created by a admin
-		if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
+		if(($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) || ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
 			$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
 			$app->db->query("UPDATE domain SET sys_groupid = $client_group_id, sys_perm_group = 'ru' WHERE domain_id = ".$this->id);
 		}
-- 
GitLab


From 8c82ef808582a4fc39e7cf449a26d426c6a7b64c Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Mon, 1 Sep 2014 11:13:12 +0200
Subject: [PATCH 128/158] - Fixed: creation of wildcard certificates wasn't
 working.

---
 .../plugins-available/apache2_plugin.inc.php   | 18 +++++++++++-------
 server/plugins-available/nginx_plugin.inc.php  | 18 +++++++++++-------
 2 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index a5339579fb..bdf6a05bd7 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -171,30 +171,34 @@ class apache2_plugin {
 
 			$rand_file = escapeshellcmd($rand_file);
 			$key_file = escapeshellcmd($key_file);
+			$openssl_cmd_key_file = $key_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') !== false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate
 			$key_file2 = escapeshellcmd($key_file2);
+			$openssl_cmd_key_file2 = $key_file2;
 			if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') !== false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate
 			$ssl_days = 3650;
 			$csr_file = escapeshellcmd($csr_file);
+			$openssl_cmd_csr_file = $csr_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') !== false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate
 			$config_file = escapeshellcmd($ssl_cnf_file);
 			$crt_file = escapeshellcmd($crt_file);
+			$openssl_cmd_crt_file = $crt_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') !== false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate
 
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
-				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file");
-				exec("openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
+				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
+				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
 				{
-					exec("openssl ca -batch -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file");
+					exec("openssl ca -batch -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file");
 					$app->log("Creating CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
-					if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed.  openssl ca -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file", LOGLEVEL_ERROR);
+					if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed.  openssl ca -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file", LOGLEVEL_ERROR);
 				};
 				if (@filesize($crt_file)==0 || !file_exists($crt_file)){
-					exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file ");
+					exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -in $openssl_cmd_csr_file -out $openssl_cmd_crt_file -days $ssl_days -config $config_file ");
 					$app->log("Creating self-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
 				};
 
@@ -273,7 +277,7 @@ class apache2_plugin {
 			$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
 			if(file_exists($web_config['CA_path'].'/openssl.cnf') && !is_link($web_config['CA_path'].'/openssl.cnf'))
 			{
-				exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke $crt_file");
+				exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke ".escapeshellcmd($crt_file));
 				$app->log("Revoking CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
 			};
 			$app->system->unlink($csr_file);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 3478fc7498..e56abe8422 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -170,30 +170,34 @@ class nginx_plugin {
 
 			$rand_file = escapeshellcmd($rand_file);
 			$key_file = escapeshellcmd($key_file);
+			$openssl_cmd_key_file = $key_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') !== false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate
 			$key_file2 = escapeshellcmd($key_file2);
+			$openssl_cmd_key_file2 = $key_file2;
 			if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') !== false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate
 			$ssl_days = 3650;
 			$csr_file = escapeshellcmd($csr_file);
+			$openssl_cmd_csr_file = $csr_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') !== false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate
 			$config_file = escapeshellcmd($ssl_cnf_file);
 			$crt_file = escapeshellcmd($crt_file);
+			$openssl_cmd_crt_file = $crt_file;
 			if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') !== false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate
 
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
-				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file");
-				exec("openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
+				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
+				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
 				{
-					exec("openssl ca -batch -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file");
+					exec("openssl ca -batch -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file");
 					$app->log("Creating CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
-					if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed.  openssl ca -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file", LOGLEVEL_ERROR);
+					if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed.  openssl ca -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file", LOGLEVEL_ERROR);
 				};
 				if (@filesize($crt_file)==0 || !file_exists($crt_file)){
-					exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file ");
+					exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -in $openssl_cmd_csr_file -out $openssl_cmd_crt_file -days $ssl_days -config $config_file ");
 					$app->log("Creating self-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
 				};
 
@@ -274,7 +278,7 @@ class nginx_plugin {
 			//$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
 			if(file_exists($web_config['CA_path'].'/openssl.cnf') && !is_link($web_config['CA_path'].'/openssl.cnf'))
 			{
-				exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke $crt_file");
+				exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke ".escapeshellcmd($crt_file));
 				$app->log("Revoking CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
 			};
 			$app->system->unlink($csr_file);
-- 
GitLab


From 285cfb7843aa4345e7e13854e6d79e4c11590269 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 1 Sep 2014 13:29:56 +0200
Subject: [PATCH 129/158] Fix mailuser logins for systems with cutom mailuser
 logins.

---
 interface/web/login/index.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 4cb2e3e7e9..80c4d17c71 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -160,7 +160,7 @@ class login_index {
 					} else {
 						if(stristr($username, '@')) {
 							//* mailuser login
-							$sql = "SELECT * FROM mail_user WHERE login = '$username'";
+							$sql = "SELECT * FROM mail_user WHERE login = '$username' or email = '$username'";
 							$mailuser = $app->db->queryOneRecord($sql);
 							$user = false;
 							if($mailuser) {
-- 
GitLab


From 7c18547d88442e05e10187cfd8e805a4d34b3137 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 1 Sep 2014 13:30:37 +0200
Subject: [PATCH 130/158] Allow resellers to delete domains of their clients in
 client module.

---
 interface/web/client/templates/domain_list.htm | 2 --
 1 file changed, 2 deletions(-)

diff --git a/interface/web/client/templates/domain_list.htm b/interface/web/client/templates/domain_list.htm
index 3100660896..6224cbc247 100644
--- a/interface/web/client/templates/domain_list.htm
+++ b/interface/web/client/templates/domain_list.htm
@@ -34,9 +34,7 @@
                     <td class="tbl_col_domain"><a href="#" onclick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
                     <td class="tbl_col_domain"><a href="#" onclick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
                     <td class="tbl_col_buttons">
-                        <tmpl_if name="is_admin">
                         <a class="button icons16 icoDelete" href="javascript: del_record('client/domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
-                        </tmpl_if>
                     </td>
                 </tr>
                 </tmpl_loop>
-- 
GitLab


From 6c9bc3ea7766bbabd0c7826d2cb87090bc89edb0 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 1 Sep 2014 13:31:01 +0200
Subject: [PATCH 131/158] Enable mod_logio in apache on opensuse.

---
 install/dist/lib/opensuse.lib.php | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index ea13cd2598..cd47d0533e 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -656,6 +656,9 @@ class installer_dist extends installer_base {
 		if($conf['apache']['installed'] == false) return;
 		//* Create the logging directory for the vhost logfiles
 		exec('mkdir -p /var/log/ispconfig/httpd');
+		
+		//* enable apache logio module
+		exec('a2enmod logio');
 
 		//if(is_file('/etc/suphp.conf')) {
 		replaceLine('/etc/suphp.conf', 'php=php', 'x-httpd-suphp="php:/srv/www/cgi-bin/php5"', 0, 0);
-- 
GitLab


From ca0a19edac6a9821d704143e93ce7eac1f5540a8 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 5 Sep 2014 10:17:33 +0200
Subject: [PATCH 132/158] - Disabled session content check in IDS.

---
 interface/lib/classes/ids.inc.php | 1 -
 1 file changed, 1 deletion(-)

diff --git a/interface/lib/classes/ids.inc.php b/interface/lib/classes/ids.inc.php
index a98b0b265a..ac5cb19128 100644
--- a/interface/lib/classes/ids.inc.php
+++ b/interface/lib/classes/ids.inc.php
@@ -51,7 +51,6 @@ class ids {
 		require_once(ISPC_CLASS_PATH.'/IDS/Converter.php');
 		
 		$ids_request = array(
-			'SESSION' => $_SESSION,
 			'GET' => $_GET,
 			'POST' => $_POST,
 			'COOKIE' => $_COOKIE
-- 
GitLab


From 4aec3040f93a71d0995934e42ee796efd1ff9bf3 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 9 Sep 2014 18:55:16 +0200
Subject: [PATCH 133/158] - Show number of domains in limits dashlet.

---
 interface/web/dashboard/dashlets/limits.php            | 4 +++-
 interface/web/dashboard/lib/lang/de_dashlet_limits.lng | 1 +
 interface/web/dashboard/lib/lang/en_dashlet_limits.lng | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/interface/web/dashboard/dashlets/limits.php b/interface/web/dashboard/dashlets/limits.php
index b361f6e9ba..58ed1d86ca 100644
--- a/interface/web/dashboard/dashlets/limits.php
+++ b/interface/web/dashboard/dashlets/limits.php
@@ -105,7 +105,9 @@ class dashlet_limits {
 			'db_table' => 'client',
 			'db_where' => "");
 
-
+		$limits[] = array('field' => 'limit_domain',
+			'db_table' => 'domain',
+			'db_where' => "");
 
 
 		//* Loading Template
diff --git a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
index fe1d57327f..a966a4dabf 100644
--- a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
@@ -27,4 +27,5 @@ $wb['limit_webdav_user_txt'] = 'Anzahl der WebDAV Benutzer';
 $wb['limit_client_txt'] = 'Anzahl der Kunden';
 $wb['limit_database_txt'] = 'Anzahl der Datenbanken';
 $wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten';
+$wb['limit_domain_txt'] = 'Anzahl der Domains';
 ?>
diff --git a/interface/web/dashboard/lib/lang/en_dashlet_limits.lng b/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
index f6d8ed8840..abcec57fb0 100644
--- a/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
@@ -27,4 +27,5 @@ $wb["limit_shell_user_txt"] = 'Number of Shell users';
 $wb["limit_webdav_user_txt"] = 'Number of Webdav users';
 $wb["limit_client_txt"] = 'Number of Clients';
 $wb["limit_database_txt"] = 'Number of Databases';
+$wb['limit_domain_txt'] = 'Number of Domains';
 ?>
-- 
GitLab


From 6f03cca3e114830205f2f71747246b609ffb4053 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 10 Sep 2014 19:29:54 +0200
Subject: [PATCH 134/158] Fixed a issue in reseller limit validation.

---
 interface/lib/classes/validate_reseller.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/validate_reseller.inc.php b/interface/lib/classes/validate_reseller.inc.php
index c02c4fd8d2..3ffabdc5b1 100644
--- a/interface/lib/classes/validate_reseller.inc.php
+++ b/interface/lib/classes/validate_reseller.inc.php
@@ -36,7 +36,7 @@ class validate_reseller {
 	function limit_client($field_name, $field_value, $validator) {
 		global $app;
 
-		if($field_value <= 0) {
+		if($field_value != -1 && $field_value <= 0) {
 			return $app->tform->lng('limit_client_error_positive');
 		} else {
 			return '';
-- 
GitLab


From 80262299f00d3c5a3bc0e5ef73f3d6d24792d2c1 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 10 Sep 2014 19:30:35 +0200
Subject: [PATCH 135/158] Added backup mount script to backup plugin.

---
 server/plugins-available/backup_plugin.inc.php | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php
index c3ed1aee4f..b0a4e42336 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -72,6 +72,7 @@ class backup_plugin {
 			$backup_dir = $server_config['backup_dir'].'/web'.$web['domain_id'];
 			
 			//* mount backup directory, if necessary
+			/*
 			$backup_dir_is_ready = true;
 			$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
 			if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
@@ -80,6 +81,19 @@ class backup_plugin {
 					sleep(1);
 					if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
 				}
+			}*/
+			$backup_dir_is_ready = true;
+			$backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh';
+			if(	$server_config['backup_dir_is_mount'] == 'y' && 
+				is_file($backup_dir_mount_cmd) && 
+				is_executable($backup_dir_mount_cmd) &&
+				fileowner($backup_dir_mount_cmd) === 0
+			){
+				if(!$app->system->is_mounted($backup_dir)){
+					exec($backup_dir_mount_cmd);
+					sleep(1);
+					if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
+				}
 			}
 
 			if($backup_dir_is_ready){
-- 
GitLab


From 21c8aacf5317867f71d0a7bb71c4c2b088d02d23 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 12 Sep 2014 10:42:02 +0200
Subject: [PATCH 136/158] Updated HR translation.

---
 interface/lib/lang/hr.lng                     | 166 +++++++--------
 interface/web/admin/lib/lang/hr.lng           |   4 +-
 .../admin/lib/lang/hr_directive_snippets.lng  |  18 +-
 .../lib/lang/hr_directive_snippets_list.lng   |  12 +-
 interface/web/admin/lib/lang/hr_firewall.lng  |   2 +
 .../web/admin/lib/lang/hr_firewall_list.lng   |   2 +
 interface/web/admin/lib/lang/hr_groups.lng    |   2 +
 .../web/admin/lib/lang/hr_groups_list.lng     |   2 +
 interface/web/admin/lib/lang/hr_iptables.lng  |   4 +-
 .../web/admin/lib/lang/hr_iptables_list.lng   |   2 +
 .../web/admin/lib/lang/hr_language_add.lng    |   2 +
 .../admin/lib/lang/hr_language_complete.lng   |   2 +
 .../web/admin/lib/lang/hr_language_edit.lng   |   2 +
 .../web/admin/lib/lang/hr_language_export.lng |   2 +
 .../web/admin/lib/lang/hr_language_import.lng |   6 +-
 .../web/admin/lib/lang/hr_language_list.lng   |   2 +
 interface/web/admin/lib/lang/hr_login_as.lng  |  13 ++
 .../web/admin/lib/lang/hr_package_install.lng |   2 +
 .../web/admin/lib/lang/hr_remote_action.lng   |   2 +
 .../web/admin/lib/lang/hr_remote_user.lng     |  10 +-
 .../admin/lib/lang/hr_remote_user_list.lng    |   2 +
 interface/web/admin/lib/lang/hr_server.lng    |   4 +-
 .../web/admin/lib/lang/hr_server_config.lng   | 132 ++++++------
 .../admin/lib/lang/hr_server_config_list.lng  |   2 +
 interface/web/admin/lib/lang/hr_server_ip.lng |   2 +
 .../web/admin/lib/lang/hr_server_ip_list.lng  |   2 +
 .../web/admin/lib/lang/hr_server_list.lng     |   4 +-
 .../web/admin/lib/lang/hr_server_php.lng      |  22 +-
 .../web/admin/lib/lang/hr_server_php_list.lng |   4 +-
 .../admin/lib/lang/hr_software_package.lng    |   2 +
 .../lib/lang/hr_software_package_install.lng  |   2 +
 .../lib/lang/hr_software_package_list.lng     |   4 +-
 .../web/admin/lib/lang/hr_software_repo.lng   |   2 +
 .../admin/lib/lang/hr_software_repo_list.lng  |   2 +
 .../lib/lang/hr_software_update_list.lng      |   4 +-
 .../web/admin/lib/lang/hr_system_config.lng   |   2 +
 .../admin/lib/lang/hr_tpl_default_admin.lng   |  30 +--
 interface/web/admin/lib/lang/hr_users.lng     |  16 +-
 .../web/admin/lib/lang/hr_users_list.lng      |   2 +
 interface/web/client/lib/lang/hr.lng          |  28 +--
 interface/web/client/lib/lang/hr_client.lng   |  12 +-
 .../web/client/lib/lang/hr_client_circle.lng  |  16 +-
 .../client/lib/lang/hr_client_circle_list.lng |  16 +-
 .../web/client/lib/lang/hr_client_del.lng     |   2 +
 .../web/client/lib/lang/hr_client_message.lng |  38 ++--
 .../lib/lang/hr_client_message_template.lng   |   2 +
 .../lang/hr_client_message_template_list.lng  |   8 +-
 .../client/lib/lang/hr_client_template.lng    |   2 +
 .../lib/lang/hr_client_template_list.lng      |   2 +
 .../web/client/lib/lang/hr_clients_list.lng   |   2 +
 interface/web/client/lib/lang/hr_domain.lng   |   4 +-
 .../web/client/lib/lang/hr_domain_list.lng    |   4 +-
 interface/web/client/lib/lang/hr_reseller.lng |  28 +--
 .../web/client/lib/lang/hr_resellers_list.lng |   6 +-
 interface/web/dashboard/lib/lang/hr.lng       |   2 +
 .../dashboard/lib/lang/hr_dashlet_limits.lng  |   2 +
 .../lib/lang/hr_dashlet_mailquota.lng         |   6 +-
 .../dashboard/lib/lang/hr_dashlet_modules.lng |   2 +
 .../dashboard/lib/lang/hr_dashlet_quota.lng   |   2 +
 interface/web/dns/lib/lang/hr.lng             |   2 +
 interface/web/dns/lib/lang/hr_dns_a.lng       |   4 +-
 interface/web/dns/lib/lang/hr_dns_a_list.lng  |   2 +
 interface/web/dns/lib/lang/hr_dns_aaaa.lng    |   4 +-
 interface/web/dns/lib/lang/hr_dns_alias.lng   |   4 +-
 interface/web/dns/lib/lang/hr_dns_cname.lng   |   4 +-
 interface/web/dns/lib/lang/hr_dns_hinfo.lng   |   4 +-
 interface/web/dns/lib/lang/hr_dns_import.lng  |  18 +-
 interface/web/dns/lib/lang/hr_dns_mx.lng      |   6 +-
 interface/web/dns/lib/lang/hr_dns_ns.lng      |   4 +-
 interface/web/dns/lib/lang/hr_dns_ptr.lng     |   4 +-
 interface/web/dns/lib/lang/hr_dns_rp.lng      |   4 +-
 interface/web/dns/lib/lang/hr_dns_slave.lng   |   8 +-
 .../dns/lib/lang/hr_dns_slave_admin_list.lng  |  14 +-
 .../web/dns/lib/lang/hr_dns_slave_list.lng    |   2 +
 interface/web/dns/lib/lang/hr_dns_soa.lng     |  16 +-
 .../dns/lib/lang/hr_dns_soa_admin_list.lng    |  14 +-
 .../web/dns/lib/lang/hr_dns_soa_list.lng      |   6 +-
 interface/web/dns/lib/lang/hr_dns_srv.lng     |  10 +-
 .../web/dns/lib/lang/hr_dns_template.lng      |   2 +
 .../web/dns/lib/lang/hr_dns_template_list.lng |   4 +-
 interface/web/dns/lib/lang/hr_dns_txt.lng     |   4 +-
 interface/web/dns/lib/lang/hr_dns_wizard.lng  |  20 +-
 interface/web/help/lib/lang/hr.lng            |   2 +
 interface/web/help/lib/lang/hr_faq_form.lng   |   2 +
 .../lib/lang/hr_faq_manage_questions_list.lng |   2 +
 .../help/lib/lang/hr_faq_sections_form.lng    |   2 +
 .../web/help/lib/lang/hr_help_faq_list.lng    |   2 +
 .../lib/lang/hr_help_faq_sections_list.lng    |   2 +
 .../web/help/lib/lang/hr_support_message.lng  |   2 +
 .../help/lib/lang/hr_support_message_list.lng |   2 +
 interface/web/login/lib/lang/hr.lng           |  12 +-
 interface/web/login/lib/lang/hr_login_as.lng  |   6 +-
 interface/web/mail/lib/lang/hr.lng            |   4 +-
 interface/web/mail/lib/lang/hr_mail_alias.lng |   2 +
 .../web/mail/lib/lang/hr_mail_alias_list.lng  |   2 +
 .../web/mail/lib/lang/hr_mail_aliasdomain.lng |   2 +
 .../lib/lang/hr_mail_aliasdomain_list.lng     |   2 +
 .../web/mail/lib/lang/hr_mail_blacklist.lng   |   2 +
 .../mail/lib/lang/hr_mail_blacklist_list.lng  |   2 +
 .../mail/lib/lang/hr_mail_content_filter.lng  |   2 +
 .../lib/lang/hr_mail_content_filter_list.lng  |   2 +
 .../web/mail/lib/lang/hr_mail_domain.lng      |   2 +
 .../lib/lang/hr_mail_domain_admin_list.lng    |   2 +
 .../mail/lib/lang/hr_mail_domain_catchall.lng |   2 +
 .../lib/lang/hr_mail_domain_catchall_list.lng |   2 +
 .../web/mail/lib/lang/hr_mail_domain_list.lng |   2 +
 .../web/mail/lib/lang/hr_mail_forward.lng     |   4 +-
 .../mail/lib/lang/hr_mail_forward_list.lng    |   2 +
 interface/web/mail/lib/lang/hr_mail_get.lng   |   2 +
 .../web/mail/lib/lang/hr_mail_get_list.lng    |   2 +
 .../web/mail/lib/lang/hr_mail_mailinglist.lng |  14 +-
 .../lib/lang/hr_mail_mailinglist_list.lng     |   2 +
 .../mail/lib/lang/hr_mail_relay_recipient.lng |   2 +
 .../lib/lang/hr_mail_relay_recipient_list.lng |   2 +
 .../web/mail/lib/lang/hr_mail_spamfilter.lng  |   2 +
 .../mail/lib/lang/hr_mail_spamfilter_list.lng |   2 +
 .../web/mail/lib/lang/hr_mail_transport.lng   |   2 +
 .../mail/lib/lang/hr_mail_transport_list.lng  |   2 +
 interface/web/mail/lib/lang/hr_mail_user.lng  |  10 +-
 .../web/mail/lib/lang/hr_mail_user_filter.lng |  18 +-
 .../lib/lang/hr_mail_user_filter_list.lng     |   8 +-
 .../web/mail/lib/lang/hr_mail_user_list.lng   |   6 +-
 .../mail/lib/lang/hr_mail_user_stats_list.lng |   2 +
 .../web/mail/lib/lang/hr_mail_whitelist.lng   |   2 +
 .../mail/lib/lang/hr_spamfilter_blacklist.lng |   2 +
 .../lib/lang/hr_spamfilter_blacklist_list.lng |   2 +
 .../mail/lib/lang/hr_spamfilter_config.lng    |   2 +
 .../lib/lang/hr_spamfilter_config_list.lng    |   2 +
 .../mail/lib/lang/hr_spamfilter_policy.lng    |   2 +
 .../lib/lang/hr_spamfilter_policy_list.lng    |   2 +
 .../web/mail/lib/lang/hr_spamfilter_users.lng |   2 +
 .../lib/lang/hr_spamfilter_users_list.lng     |   2 +
 .../mail/lib/lang/hr_spamfilter_whitelist.lng |   2 +
 .../lib/lang/hr_spamfilter_whitelist_list.lng |   2 +
 .../lib/lang/hr_user_quota_stats_list.lng     |  14 +-
 interface/web/mailuser/lib/lang/hr.lng        |  12 +-
 interface/web/mailuser/lib/lang/hr_index.lng  |  18 +-
 .../lib/lang/hr_mail_user_autoresponder.lng   |   6 +-
 .../web/mailuser/lib/lang/hr_mail_user_cc.lng |   2 +
 .../mailuser/lib/lang/hr_mail_user_filter.lng |  38 ++--
 .../lib/lang/hr_mail_user_filter_list.lng     |  14 +-
 .../lib/lang/hr_mail_user_password.lng        |  16 +-
 .../lib/lang/hr_mail_user_spamfilter.lng      |  10 +-
 interface/web/monitor/lib/lang/hr.lng         |  22 +-
 .../web/monitor/lib/lang/hr_datalog_list.lng  |   2 +
 .../web/monitor/lib/lang/hr_syslog_list.lng   |   2 +
 interface/web/sites/lib/lang/hr.lng           |  32 +--
 interface/web/sites/lib/lang/hr_aps.lng       |  78 +++----
 .../sites/lib/lang/hr_aps_instances_list.lng  |  22 +-
 .../sites/lib/lang/hr_aps_packages_list.lng   |   2 +
 .../lib/lang/hr_aps_update_packagelist.lng    |   8 +-
 interface/web/sites/lib/lang/hr_cron.lng      |   8 +-
 interface/web/sites/lib/lang/hr_cron_list.lng |   2 +
 interface/web/sites/lib/lang/hr_database.lng  |  12 +-
 .../sites/lib/lang/hr_database_admin_list.lng |   4 +-
 .../web/sites/lib/lang/hr_database_list.lng   |   4 +-
 .../web/sites/lib/lang/hr_database_user.lng   |  38 ++--
 .../lib/lang/hr_database_user_admin_list.lng  |  10 +-
 .../sites/lib/lang/hr_database_user_list.lng  |   8 +-
 interface/web/sites/lib/lang/hr_ftp_user.lng  |  18 +-
 .../web/sites/lib/lang/hr_ftp_user_list.lng   |   2 +
 .../web/sites/lib/lang/hr_shell_user.lng      |  28 +--
 .../web/sites/lib/lang/hr_shell_user_list.lng |   4 +-
 .../lib/lang/hr_user_quota_stats_list.lng     |   4 +-
 .../web/sites/lib/lang/hr_web_aliasdomain.lng | 166 +++++++--------
 .../lib/lang/hr_web_aliasdomain_list.lng      |   2 +
 .../web/sites/lib/lang/hr_web_backup_list.lng |   2 +
 .../web/sites/lib/lang/hr_web_domain.lng      |  79 +++----
 .../lib/lang/hr_web_domain_admin_list.lng     |   2 +
 .../web/sites/lib/lang/hr_web_domain_list.lng |   2 +
 .../web/sites/lib/lang/hr_web_folder.lng      |   4 +-
 .../web/sites/lib/lang/hr_web_folder_list.lng |   4 +-
 .../web/sites/lib/lang/hr_web_folder_user.lng |  16 +-
 .../lib/lang/hr_web_folder_user_list.lng      |   4 +-
 .../lib/lang/hr_web_sites_stats_list.lng      |   4 +-
 .../web/sites/lib/lang/hr_web_subdomain.lng   |  10 +-
 .../sites/lib/lang/hr_web_subdomain_list.lng  |   2 +
 .../sites/lib/lang/hr_web_vhost_subdomain.lng | 192 +++++++++---------
 .../lib/lang/hr_web_vhost_subdomain_list.lng  |   2 +
 .../web/sites/lib/lang/hr_webdav_user.lng     |  14 +-
 .../sites/lib/lang/hr_webdav_user_list.lng    |   2 +
 .../lib/lang/hr_strengthmeter.lng             |   2 +
 interface/web/tools/lib/lang/hr.lng           |   4 +-
 .../tools/lib/lang/hr_import_ispconfig.lng    |  44 ++--
 interface/web/tools/lib/lang/hr_index.lng     |   2 +
 interface/web/tools/lib/lang/hr_interface.lng |  12 +-
 interface/web/tools/lib/lang/hr_resync.lng    |  26 +--
 .../web/tools/lib/lang/hr_tpl_default.lng     |  12 +-
 .../web/tools/lib/lang/hr_usersettings.lng    |  10 +-
 interface/web/vm/lib/lang/hr.lng              |   2 +
 .../web/vm/lib/lang/hr_openvz_action.lng      |   4 +-
 interface/web/vm/lib/lang/hr_openvz_ip.lng    |   2 +
 .../web/vm/lib/lang/hr_openvz_ip_list.lng     |   2 +
 .../web/vm/lib/lang/hr_openvz_ostemplate.lng  |   2 +
 .../vm/lib/lang/hr_openvz_ostemplate_list.lng |   2 +
 .../web/vm/lib/lang/hr_openvz_template.lng    |  22 +-
 .../vm/lib/lang/hr_openvz_template_list.lng   |   2 +
 interface/web/vm/lib/lang/hr_openvz_vm.lng    |   4 +-
 .../web/vm/lib/lang/hr_openvz_vm_list.lng     |   2 +
 199 files changed, 1260 insertions(+), 852 deletions(-)
 create mode 100644 interface/web/admin/lib/lang/hr_login_as.lng

diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng
index 02ba8b1f66..8c62161f67 100644
--- a/interface/lib/lang/hr.lng
+++ b/interface/lib/lang/hr.lng
@@ -8,16 +8,16 @@ $wb['number_format_decimals'] = '4';
 $wb['number_format_decimals_client'] = '2';
 $wb['number_format_dec_point'] = ',';
 $wb['number_format_thousands_sep'] = '.';
-$wb['delete_confirmation'] = 'Da li želite obrisati ovaj DNS zapis?';
-$wb['error_no_view_permission'] = 'Nemate dozvolu za pregled DNS zapisa ili zapis ne postoji!';
-$wb['error_no_delete_permission'] = 'Nemate dozvolu za brisanje DNS zapisa!';
+$wb['delete_confirmation'] = 'Da li sigurno želite obrisati ovaj zapis?';
+$wb['error_no_view_permission'] = 'Nemate dozvolu za pregled zapisa ili zapis ne postoji!';
+$wb['error_no_delete_permission'] = 'Nemate dozvolu za brisanje zapisa!';
 $wb['page_txt'] = 'Stranica';
 $wb['page_of_txt'] = 'od';
 $wb['page_and_txt'] = 'i';
 $wb['page_next_txt'] = 'Naprijed';
 $wb['page_back_txt'] = 'Natrag';
 $wb['delete_txt'] = 'Obriši';
-$wb['filter_txt'] = 'Filter';
+$wb['filter_txt'] = 'Filtriraj';
 $wb['add_new_record_txt'] = 'Dodaj';
 $wb['btn_save_txt'] = 'Spremi';
 $wb['btn_cancel_txt'] = 'Natrag';
@@ -70,83 +70,85 @@ $wb['datepicker_nextText'] = 'Naprijed';
 $wb['datepicker_prevText'] = 'Natrag';
 $wb['logout_txt'] = 'Odjavi';
 $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd';
-$wb['submit_confirmation'] = 'Do you really want to perform this action?';
+$wb['submit_confirmation'] = 'Da li stvarno želite nastaviti?';
 $wb['top_menu_mailuser'] = 'Mailuser';
-$wb['globalsearch_resultslimit_of_txt'] = 'of';
-$wb['globalsearch_resultslimit_results_txt'] = 'results';
-$wb['globalsearch_noresults_text_txt'] = 'No results.';
-$wb['globalsearch_noresults_limit_txt'] = '0 results';
-$wb['globalsearch_searchfield_watermark_txt'] = 'Search';
-$wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
-$wb['global_tabchange_warning_txt'] = 'Changed data in this tab will be changed if you press OK. On cancel they will be discarded.';
-$wb['global_tabchange_discard_txt'] = 'You have unsaved changes in this tab. Changes will be discarded if you continue.';
-$wb['datalog_changes_txt'] = 'The following changes are not yet populated to all servers:';
-$wb['datalog_changes_end_txt'] = 'Storing updates can take up to one minute. Please be patient.';
-$wb['datalog_status_i_web_database'] = 'Create new database';
-$wb['datalog_status_u_web_database'] = 'Update database';
-$wb['datalog_status_d_web_database'] = 'Delete database';
-$wb['datalog_status_i_web_database_user'] = 'Create database user for database';
-$wb['datalog_status_u_web_database_user'] = 'Update database user';
-$wb['datalog_status_d_web_database_user'] = 'Delete database user';
-$wb['datalog_status_i_web_domain'] = 'Create new website';
-$wb['datalog_status_u_web_domain'] = 'Update website settings';
-$wb['datalog_status_d_web_domain'] = 'Delete website';
-$wb['datalog_status_i_ftp_user'] = 'Create FTP user';
-$wb['datalog_status_u_ftp_user'] = 'Update FTP user';
-$wb['datalog_status_d_ftp_user'] = 'Delete FTP user';
-$wb['datalog_status_i_mail_domain'] = 'Create email domain';
-$wb['datalog_status_u_mail_domain'] = 'Update email domain';
-$wb['datalog_status_d_mail_domain'] = 'Delete email domain';
-$wb['datalog_status_i_mail_user'] = 'Create email user';
-$wb['datalog_status_u_mail_user'] = 'Update email user';
-$wb['datalog_status_d_mail_user'] = 'Delete email user';
-$wb['datalog_status_i_mail_forwarding'] = 'Create email address';
-$wb['datalog_status_u_mail_forwarding'] = 'Update email address';
-$wb['datalog_status_d_mail_forwarding'] = 'Delete email address';
-$wb['datalog_status_i_dns_rr'] = 'Create DNS record';
-$wb['datalog_status_u_dns_rr'] = 'Update DNS record';
-$wb['datalog_status_d_dns_rr'] = 'Delete DNS record';
-$wb['datalog_status_i_dns_soa'] = 'Create DNS zone';
-$wb['datalog_status_u_dns_soa'] = 'Update DNS zone';
-$wb['datalog_status_d_dns_soa'] = 'Delete DNS zone';
-$wb['datalog_status_i_cron'] = 'Create cron job';
-$wb['datalog_status_u_cron'] = 'Update cron job';
-$wb['datalog_status_d_cron'] = 'Delete cron job';
-$wb['datalog_status_i_mail_get'] = 'Create mail fetcher account';
-$wb['datalog_status_u_mail_get'] = 'Update mail fetcher account';
-$wb['datalog_status_d_mail_get'] = 'Delete mail fetcher account';
-$wb['datalog_status_i_mail_mailinglist'] = 'Create mailing list';
-$wb['datalog_status_u_mail_mailinglist'] = 'Update mailing list';
-$wb['datalog_status_d_mail_mailinglist'] = 'Delete mailing list';
-$wb['datalog_status_i_shell_user'] = 'Create shell user';
-$wb['datalog_status_u_shell_user'] = 'Update shell user';
-$wb['datalog_status_d_shell_user'] = 'Delete shell user';
-$wb['datalog_status_i_web_folder'] = 'Create folder protection';
-$wb['datalog_status_u_web_folder'] = 'Update folder protection';
-$wb['datalog_status_d_web_folder'] = 'Delete folder protection';
-$wb['datalog_status_i_web_folder_user'] = 'Create folder protection user';
-$wb['datalog_status_u_web_folder_user'] = 'Update folder protection user';
-$wb['datalog_status_d_web_folder_user'] = 'Delete folder protection user';
-$wb['datalog_status_i_spamfilter_users'] = 'Create spam filter settings';
-$wb['datalog_status_u_spamfilter_users'] = 'Update spam filter settings';
-$wb['datalog_status_d_spamfilter_users'] = 'Delete spam filter settings';
-$wb['login_as_txt'] = 'Log in as';
-$wb['no_domain_perm'] = 'You have no permission for this domain.';
-$wb['no_destination_perm'] = 'You have no permission for this destination.';
-$wb['client_you_are_locked'] = 'You have no permission to change any settings.';
-$wb['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
-$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'This client has records in the billing module, therefore he cannot be deleted.';
-$wb['yes_txt'] = 'Yes';
-$wb['no_txt'] = 'No';
-$wb['None'] = 'None';
-$wb['strength_1'] = 'Weak';
-$wb['strength_2'] = 'Fair';
-$wb['strength_3'] = 'Good';
-$wb['strength_4'] = 'Strong';
-$wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
-$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-$wb['security_check1_txt'] = 'Check for security permission:';
-$wb['security_check2_txt'] = 'failed.';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
+$wb['global_tabchange_warning_txt'] = 'Promijenjeni podaci u kartici će biti spremljeni ako pritisnete OK. Na odustani će biti poništeni.';
+$wb['global_tabchange_discard_txt'] = 'Neki podaci na kartici nisu spremljeni. Promjene će biti poništene ako nastavite.';
+$wb['datalog_changes_txt'] = 'Slijedeće promjene još nisu proslijeđene na sve servere:';
+$wb['datalog_changes_end_txt'] = 'Spremanje promjena može potrajati minutu. Budite strpljivi.';
+$wb['datalog_status_i_web_database'] = 'Kreiraj novu bazu';
+$wb['datalog_status_u_web_database'] = 'Podesi bazu';
+$wb['datalog_status_d_web_database'] = 'Obriši bazu';
+$wb['datalog_status_i_web_database_user'] = 'Kreiraj korisnika za bazu';
+$wb['datalog_status_u_web_database_user'] = 'Podesi korisnika';
+$wb['datalog_status_d_web_database_user'] = 'Obriši korisnika baze';
+$wb['datalog_status_i_web_domain'] = 'Kreiraj novu stranicu';
+$wb['datalog_status_u_web_domain'] = 'Podesi stranicu';
+$wb['datalog_status_d_web_domain'] = 'Obriši stranicu';
+$wb['datalog_status_i_ftp_user'] = 'Kreiraj FTP korisnika';
+$wb['datalog_status_u_ftp_user'] = 'Podesi FTP korisnika';
+$wb['datalog_status_d_ftp_user'] = 'Obriši FTP korisnika';
+$wb['datalog_status_i_mail_domain'] = 'Kreiraj email domenu';
+$wb['datalog_status_u_mail_domain'] = 'Podesi email domenu';
+$wb['datalog_status_d_mail_domain'] = 'Obriši email domenu';
+$wb['datalog_status_i_mail_user'] = 'Kreiraj email korisnika';
+$wb['datalog_status_u_mail_user'] = 'Podesi email korisnika';
+$wb['datalog_status_d_mail_user'] = 'Obriši email korisnika';
+$wb['datalog_status_i_mail_forwarding'] = 'Kreiraj email račun';
+$wb['datalog_status_u_mail_forwarding'] = 'Podesi email račun';
+$wb['datalog_status_d_mail_forwarding'] = 'Obriši email račun';
+$wb['datalog_status_i_dns_rr'] = 'Kreiraj DNS zapis';
+$wb['datalog_status_u_dns_rr'] = 'Podesi DNS zapis';
+$wb['datalog_status_d_dns_rr'] = 'Obriši DNS zapis';
+$wb['datalog_status_i_dns_soa'] = 'Kreiraj DNS zonu';
+$wb['datalog_status_u_dns_soa'] = 'Podesi DNS zonu';
+$wb['datalog_status_d_dns_soa'] = 'Obriši DNS zonu';
+$wb['datalog_status_i_cron'] = 'Kreiraj cron zadatak';
+$wb['datalog_status_u_cron'] = 'Podesi cron zadatak';
+$wb['datalog_status_d_cron'] = 'Obriši cron zadatak';
+$wb['datalog_status_i_mail_get'] = 'Kreiraj mail fetcher račun';
+$wb['datalog_status_u_mail_get'] = 'Podesi mail fetcher račun';
+$wb['datalog_status_d_mail_get'] = 'Obriši mail fetcher račun';
+$wb['datalog_status_i_mail_mailinglist'] = 'Kreiraj mailing listu';
+$wb['datalog_status_u_mail_mailinglist'] = 'Podesi mailing listu';
+$wb['datalog_status_d_mail_mailinglist'] = 'Obriši mailing listu';
+$wb['datalog_status_i_shell_user'] = 'Kreiraj shell korisnika';
+$wb['datalog_status_u_shell_user'] = 'Podesi shell korisnika';
+$wb['datalog_status_d_shell_user'] = 'Obriši shell korisnika';
+$wb['datalog_status_i_web_folder'] = 'Kreiraj zaštitu direktorija';
+$wb['datalog_status_u_web_folder'] = 'Podesi zaštitu direktorija';
+$wb['datalog_status_d_web_folder'] = 'Obriši zaštitu direktorija';
+$wb['datalog_status_i_web_folder_user'] = 'Kreiraj folder protection korisnika';
+$wb['datalog_status_u_web_folder_user'] = 'Podesi folder protection korisnika';
+$wb['datalog_status_d_web_folder_user'] = 'Obriši folder protection korisnika';
+$wb['datalog_status_i_spamfilter_users'] = 'Kreiraj spam filter postavke';
+$wb['datalog_status_u_spamfilter_users'] = 'Podesi spam filter postavke';
+$wb['datalog_status_d_spamfilter_users'] = 'Obriši spam filter postavke';
+$wb['login_as_txt'] = 'Logiraj se kao';
+$wb['no_domain_perm'] = 'Nemate dozvolu za ovu domenu.';
+$wb['no_destination_perm'] = 'Nemate dozvolu za ovu destinaciju.';
+$wb['client_you_are_locked'] = 'Nemate dozvolu za promjenu postavki.';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
+$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'Ovaj klijent ima zapise u modulu za naplatu, stoga ne može biti obrisan.';
+$wb['yes_txt'] = 'Da';
+$wb['no_txt'] = 'Ne';
+$wb['None'] = 'Ništa';
+$wb['strength_1'] = 'Slabo';
+$wb['strength_2'] = 'Dobro';
+$wb['strength_3'] = 'Bolje';
+$wb['strength_4'] = 'Jako';
+$wb['strength_5'] = 'Odlično';
+$wb['weak_password_txt'] = 'Unešena šifra nije dobra. Mora biti dugačka barem {chars} znakova i jačine \\"{strength}\\".';
+$wb['weak_password_length_txt'] = 'Unešena šifra nije dobra. Mora biti dugačka barem {chars} znakova.';
+$wb['security_check1_txt'] = 'Provjerite sigurnosne dozvole:';
+$wb['security_check2_txt'] = 'greška.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr.lng b/interface/web/admin/lib/lang/hr.lng
index d7d22d47fa..919b172def 100644
--- a/interface/web/admin/lib/lang/hr.lng
+++ b/interface/web/admin/lib/lang/hr.lng
@@ -46,5 +46,7 @@ $wb['Import'] = 'Importiraj';
 $wb['Remote Actions'] = 'Udaljene akcije';
 $wb['Do OS-Update'] = 'Nadogradnja sistema';
 $wb['Do ISPConfig-Update'] = 'Nadogradnja control panela';
-$wb['Directive Snippets'] = 'Directive Snippets';
+$wb['Directive Snippets'] = 'Direktive';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_directive_snippets.lng b/interface/web/admin/lib/lang/hr_directive_snippets.lng
index 0f09c12ee0..2c626b63e3 100644
--- a/interface/web/admin/lib/lang/hr_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/hr_directive_snippets.lng
@@ -1,10 +1,12 @@
 <?php
-$wb['Directive Snippets'] = 'Directive Snippets';
-$wb['name_txt'] = 'Name of Snippet';
-$wb['type_txt'] = 'Type';
-$wb['snippet_txt'] = 'Snippet';
-$wb['active_txt'] = 'Active';
-$wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.';
-$wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
-$wb['variables_txt'] = 'Variables';
+$wb['Directive Snippets'] = 'Direktive';
+$wb['name_txt'] = 'Naziv direktive';
+$wb['type_txt'] = 'Vrsta';
+$wb['snippet_txt'] = 'direktiva';
+$wb['active_txt'] = 'Aktivno';
+$wb['directive_snippets_name_empty'] = 'Molimo vas specificirajte naziv direktive.';
+$wb['directive_snippets_name_error_unique'] = 'Već postoji direktiva sa tim imenom.';
+$wb['variables_txt'] = 'Varijable';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_directive_snippets_list.lng b/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
index 4124ea3464..15cbc57c36 100644
--- a/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
+++ b/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['list_head_txt'] = 'Directive Snippets';
-$wb['active_txt'] = 'Active';
-$wb['name_txt'] = 'Name of Snippet';
-$wb['type_txt'] = 'Type';
-$wb['add_new_record_txt'] = 'Add Directive Snippet';
+$wb['list_head_txt'] = 'Direktive';
+$wb['active_txt'] = 'Aktivno';
+$wb['name_txt'] = 'Naziv predloška';
+$wb['type_txt'] = 'Vrsta';
+$wb['add_new_record_txt'] = 'Dodaj direktivu';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_firewall.lng b/interface/web/admin/lib/lang/hr_firewall.lng
index 7e28a3aaf1..ae643c334b 100644
--- a/interface/web/admin/lib/lang/hr_firewall.lng
+++ b/interface/web/admin/lib/lang/hr_firewall.lng
@@ -9,3 +9,5 @@ $wb['firewall_error_unique'] = 'Već postoji firewall zapis za ovaj server.';
 $wb['tcp_ports_error_regex'] = 'Nedozvoljeni znak pri definiciji TCP porta. Dozvoljeni znakovi su znamenke, : i ,.';
 $wb['udp_ports_error_regex'] = 'Nedozvoljeni znak pri definiciji UDP porta. Dozvoljeni znakovi su znamenke, : i ,.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_firewall_list.lng b/interface/web/admin/lib/lang/hr_firewall_list.lng
index 568d915a71..2bdb9d5857 100644
--- a/interface/web/admin/lib/lang/hr_firewall_list.lng
+++ b/interface/web/admin/lib/lang/hr_firewall_list.lng
@@ -6,3 +6,5 @@ $wb['tcp_port_txt'] = 'Otvoreni TCP portovi';
 $wb['udp_port_txt'] = 'Otvoreni UDP portovi';
 $wb['add_new_record_txt'] = 'Dodaj Firewall zapis';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_groups.lng b/interface/web/admin/lib/lang/hr_groups.lng
index 33c1e70df9..df0d679bb6 100644
--- a/interface/web/admin/lib/lang/hr_groups.lng
+++ b/interface/web/admin/lib/lang/hr_groups.lng
@@ -3,3 +3,5 @@ $wb['description_txt'] = 'Opis';
 $wb['name_txt'] = 'Grupa';
 $wb['name_err'] = 'Grupa mora biti barem jedan do maksimalno 30 znakova.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_groups_list.lng b/interface/web/admin/lib/lang/hr_groups_list.lng
index e88fae2e7e..def87cc8a8 100644
--- a/interface/web/admin/lib/lang/hr_groups_list.lng
+++ b/interface/web/admin/lib/lang/hr_groups_list.lng
@@ -5,3 +5,5 @@ $wb['name_txt'] = 'Grupa';
 $wb['add_new_record_txt'] = 'Dodaj grupu';
 $wb['warning_txt'] = '<b>UPOZORENJE:</b> Ne mijenjajte postavke klijenta ovdje. Koristite ';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_iptables.lng b/interface/web/admin/lib/lang/hr_iptables.lng
index e7eaaff828..112d75a20d 100644
--- a/interface/web/admin/lib/lang/hr_iptables.lng
+++ b/interface/web/admin/lib/lang/hr_iptables.lng
@@ -9,5 +9,7 @@ $wb['state_txt'] = 'Stanje';
 $wb['destination_ip_txt'] = 'Adresa destinacije';
 $wb['source_ip_txt'] = 'Adresa izvora';
 $wb['active_txt'] = 'Aktivno';
-$wb['iptables_error_unique'] = 'Već postoji firewall zapis za ovaj server.';
+$wb['iptables_error_unique'] = 'Već postoji zapis u vatrozidu za ovaj server.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_iptables_list.lng b/interface/web/admin/lib/lang/hr_iptables_list.lng
index 869bd17761..f90d7eeced 100644
--- a/interface/web/admin/lib/lang/hr_iptables_list.lng
+++ b/interface/web/admin/lib/lang/hr_iptables_list.lng
@@ -13,3 +13,5 @@ $wb['source_ip_txt'] = 'Adresa izvora';
 $wb['active_txt'] = 'Aktivno';
 $wb['iptables_error_unique'] = 'Već postoji firewall zapis za ovaj server.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_add.lng b/interface/web/admin/lib/lang/hr_language_add.lng
index d4a3e1bd85..3536ac306f 100644
--- a/interface/web/admin/lib/lang/hr_language_add.lng
+++ b/interface/web/admin/lib/lang/hr_language_add.lng
@@ -6,3 +6,5 @@ $wb['language_new_hint_txt'] = '2 znaka ISO 639-1 jezičnog-koda (Pogledaj http:
 $wb['btn_save_txt'] = 'Kreiraj novu jezičnu datoteku';
 $wb['btn_cancel_txt'] = 'Natrag';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_complete.lng b/interface/web/admin/lib/lang/hr_language_complete.lng
index e9ce1e5909..1f7cb8ea18 100644
--- a/interface/web/admin/lib/lang/hr_language_complete.lng
+++ b/interface/web/admin/lib/lang/hr_language_complete.lng
@@ -5,3 +5,5 @@ $wb['language_select_txt'] = 'Izaberi jezik';
 $wb['btn_save_txt'] = 'Spoji jezike';
 $wb['btn_cancel_txt'] = 'Natrag';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_edit.lng b/interface/web/admin/lib/lang/hr_language_edit.lng
index b223069ba0..18c2e7a20a 100644
--- a/interface/web/admin/lib/lang/hr_language_edit.lng
+++ b/interface/web/admin/lib/lang/hr_language_edit.lng
@@ -6,3 +6,5 @@ $wb['lang_file_txt'] = 'Jezična datoteka';
 $wb['btn_save_txt'] = 'Spremi';
 $wb['btn_cancel_txt'] = 'Natrag';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_export.lng b/interface/web/admin/lib/lang/hr_language_export.lng
index 4799ddf85c..74330bb989 100644
--- a/interface/web/admin/lib/lang/hr_language_export.lng
+++ b/interface/web/admin/lib/lang/hr_language_export.lng
@@ -4,3 +4,5 @@ $wb['language_select_txt'] = 'Izaberi jezik';
 $wb['btn_save_txt'] = 'Eksportiraj izabranu jezičnu datoteku';
 $wb['btn_cancel_txt'] = 'Natrag';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_import.lng b/interface/web/admin/lib/lang/hr_language_import.lng
index 3f20305349..6944bcb2ca 100644
--- a/interface/web/admin/lib/lang/hr_language_import.lng
+++ b/interface/web/admin/lib/lang/hr_language_import.lng
@@ -1,9 +1,11 @@
 <?php
 $wb['list_head_txt'] = 'Importiraj jezičnu datoteku';
 $wb['language_import_txt'] = 'Izaberi jezičnu datoteku';
-$wb['btn_save_txt'] = 'Importiraj selektiranu jezičnu datoteku';
+$wb['btn_save_txt'] = 'Importiraj datoteku';
 $wb['language_overwrite_txt'] = 'Prebriši datoteku, ukoliko već postoji.';
 $wb['btn_cancel_txt'] = 'Natrag';
 $wb['ignore_version_txt'] = 'Preskoči provjeru ISPConfig verzije';
-$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.';
+$wb['list_desc_txt'] = 'PAŽNJA: Nemojte importirati jezične datoteke preuzete sa nepoznatih web lokacija.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_list.lng b/interface/web/admin/lib/lang/hr_language_list.lng
index 68f9cca26a..2595cc82aa 100644
--- a/interface/web/admin/lib/lang/hr_language_list.lng
+++ b/interface/web/admin/lib/lang/hr_language_list.lng
@@ -5,3 +5,5 @@ $wb['module_txt'] = 'Modul';
 $wb['lang_file_txt'] = 'Jezična datoteka';
 $wb['lang_file_date_txt'] = 'Zadnja promjena';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_login_as.lng b/interface/web/admin/lib/lang/hr_login_as.lng
new file mode 100644
index 0000000000..d2fc3704bb
--- /dev/null
+++ b/interface/web/admin/lib/lang/hr_login_as.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['login_1_txt'] = 'Do you want to login as user';
+$wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.';
+$wb['btn_yes_txt'] = 'Yes, login as Client';
+$wb['btn_back_txt'] = 'No, back to list';
+$wb['udp_port_help_txt'] = 'Separated by comma';
+$wb['active_txt'] = 'Active';
+$wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_package_install.lng b/interface/web/admin/lib/lang/hr_package_install.lng
index 181c797ab1..c690075c15 100644
--- a/interface/web/admin/lib/lang/hr_package_install.lng
+++ b/interface/web/admin/lib/lang/hr_package_install.lng
@@ -5,3 +5,5 @@ $wb['repo_username_txt'] = 'Korisničko ime (opcionalno)';
 $wb['repo_password_txt'] = 'Å ifra (opcionalno)';
 $wb['active_txt'] = 'Aktivno';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_action.lng b/interface/web/admin/lib/lang/hr_remote_action.lng
index fd1444fbdd..221c3b40e4 100644
--- a/interface/web/admin/lib/lang/hr_remote_action.lng
+++ b/interface/web/admin/lib/lang/hr_remote_action.lng
@@ -10,3 +10,5 @@ $wb['select_all_server'] = 'Svi serveri';
 $wb['ispconfig_update_title'] = 'Upute za ISPConfig nadogradnju';
 $wb['ispconfig_update_text'] = 'Logiraj se kao root korisnik na server (SSH) i pokreni:<br /><br /><strong>ispconfig_update.sh</strong><br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Pogledaj detaljne upute ovdje</a>';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_user.lng b/interface/web/admin/lib/lang/hr_remote_user.lng
index fff993b7b5..827b317b91 100644
--- a/interface/web/admin/lib/lang/hr_remote_user.lng
+++ b/interface/web/admin/lib/lang/hr_remote_user.lng
@@ -40,8 +40,10 @@ $wb['DNS rp functions'] = 'DNS rp funkcije';
 $wb['DNS srv functions'] = 'DNS srv funkcije';
 $wb['DNS txt functions'] = 'DNS txt funkcije';
 $wb['Mail mailing list functions'] = 'Funkcije mailing lista';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_user_list.lng b/interface/web/admin/lib/lang/hr_remote_user_list.lng
index 13afd0bde1..629e01d7bd 100644
--- a/interface/web/admin/lib/lang/hr_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/hr_remote_user_list.lng
@@ -5,3 +5,5 @@ $wb['add_new_record_txt'] = 'Dodaj udaljenog klijenta';
 $wb['parent_remote_userid_txt'] = 'ID';
 $wb['username_txt'] = 'Korisničko ime';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server.lng b/interface/web/admin/lib/lang/hr_server.lng
index 39b7f361c6..bd9f6a8d5a 100644
--- a/interface/web/admin/lib/lang/hr_server.lng
+++ b/interface/web/admin/lib/lang/hr_server.lng
@@ -11,5 +11,7 @@ $wb['active_txt'] = 'Aktivan';
 $wb['mirror_server_id_txt'] = 'je kopija servera';
 $wb['- None -'] = '- izaberi server -';
 $wb['proxy_server_txt'] = 'Proxy server';
-$wb['firewall_server_txt'] = 'Firewall server';
+$wb['firewall_server_txt'] = 'Vatrozid server';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
index 1b71f0b74c..12c695c4ef 100644
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -41,7 +41,7 @@ $wb['hostname_error_empty'] = 'Hostname polje je prazno.';
 $wb['nameservers_error_empty'] = 'Nameserver polje je prazno.';
 $wb['config_dir_txt'] = 'Konfiguracijski direktorij';
 $wb['init_script_txt'] = 'Inicijalizacijski naziv cron skripte';
-$wb['crontab_dir_txt'] = 'Putanja do individualnih crontabs-a';
+$wb['crontab_dir_txt'] = 'Putanja do individualnih crontab-ova';
 $wb['wget_txt'] = 'Putanja do wget programa';
 $wb['web_user_txt'] = 'Apache korisnik';
 $wb['web_group_txt'] = 'Apache grupa';
@@ -159,13 +159,13 @@ $wb['backup_mode_userzip'] = 'Backup web files owned by web user as zip';
 $wb['backup_mode_rootgz'] = 'Backup all files in web directory as root user';
 $wb['realtime_blackhole_list_txt'] = 'Real-time Blackhole List';
 $wb['realtime_blackhole_list_note_txt'] = '(Separate RBL\'s with commas)';
-$wb['ssl_settings_txt'] = 'SSL Settings';
-$wb['permissions_txt'] = 'Permissions';
-$wb['php_settings_txt'] = 'PHP Settings';
-$wb['apps_vhost_settings_txt'] = 'Apps Vhost Settings';
-$wb['awstats_settings_txt'] = 'AWStats Settings';
+$wb['ssl_settings_txt'] = 'SSL postavke';
+$wb['permissions_txt'] = 'Dozvole';
+$wb['php_settings_txt'] = 'PHP postavke';
+$wb['apps_vhost_settings_txt'] = 'Apps Vhost postavke';
+$wb['awstats_settings_txt'] = 'AWStats postavke';
 $wb['firewall_txt'] = 'Firewall';
-$wb['mailbox_quota_stats_txt'] = 'Mailbox quota statistics';
+$wb['mailbox_quota_stats_txt'] = 'Statistika limita sandučića';
 $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)';
 $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)';
 $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin';
@@ -177,68 +177,70 @@ $wb['overquota_notify_onok_txt'] = 'Send quota ok message to client';
 $wb['overquota_notify_freq_txt'] = 'Send quota warning each X days';
 $wb['overquota_notify_freq_note_txt'] = '0 = send message just once, no repeated messages';
 $wb['admin_notify_events_txt'] = 'Send email to admin starting with the following level';
-$wb['no_notifications_txt'] = 'No Notifications';
+$wb['no_notifications_txt'] = 'Nema notifikacija';
 $wb['monit_url_txt'] = 'Monit URL';
-$wb['monit_user_txt'] = 'Monit User';
-$wb['monit_password_txt'] = 'Monit Password';
-$wb['monit_url_error_regex'] = 'Invalid Monit URL';
+$wb['monit_user_txt'] = 'Monit korisničko ime';
+$wb['monit_password_txt'] = 'Monit Å¡ifra';
+$wb['monit_url_error_regex'] = 'Neispravan Monit URL';
 $wb['monit_url_note_txt'] = 'Placeholder:';
 $wb['munin_url_txt'] = 'Munin URL';
-$wb['munin_user_txt'] = 'Munin User';
-$wb['munin_password_txt'] = 'Munin Password';
-$wb['munin_url_error_regex'] = 'Invalid Munin URL';
+$wb['munin_user_txt'] = 'Munin korisničko ime';
+$wb['munin_password_txt'] = 'Munin Å¡ifra';
+$wb['munin_url_error_regex'] = 'Neispravan Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
-$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
-$wb['hostname_error_regex'] = 'Invalid Hostname.';
-$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
-$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
-$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
-$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
-$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
-$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
-$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['backup_dir_is_mount_txt'] = 'Backup direktorij je mount-an?';
+$wb['monitor_system_updates_txt'] = 'Provjeri za Linux nadogradnje';
+$wb['hostname_error_regex'] = 'Neispravan Hostname.';
+$wb['invalid_apache_user_txt'] = 'Neispravan apache korisnik.';
+$wb['invalid_apache_group_txt'] = 'Neispravna apache grupa.';
+$wb['backup_dir_error_regex'] = 'Neispravan backup direktorij.';
+$wb['maildir_path_error_regex'] = 'Neispravna maildir putanja.';
+$wb['homedir_path_error_regex'] = 'Neispravna homedir putanja.';
+$wb['mailuser_name_error_regex'] = 'Neispravan mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Neispravan mailuser group name.';
 $wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
 $wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
-$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
-$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
-$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
-$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
-$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
-$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
-$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
-$wb['ca_path_error_regex'] = 'Invalid CA path.';
-$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
-$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
-$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
-$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
-$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
-$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
-$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
-$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
-$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
-$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
-$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
-$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
-$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
-$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
-$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
-$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
-$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
-$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
-$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
-$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
-$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
-$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
-$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
-$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
-$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
-$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
-$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
-$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
-$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
-$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
-$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
-$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
-$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['getmail_config_dir_error_regex'] = 'Neispravan getmail config direktorij.';
+$wb['website_basedir_error_regex'] = 'Neispravan website basedir.';
+$wb['website_symlinks_error_regex'] = 'Neispravan website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Neispravan vhost config direktorij.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Neispravan vhost conf enabled direktorij.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Neispravan nginx config direktorij.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Neispravan nginx conf enabled direktorij.';
+$wb['ca_path_error_regex'] = 'Neispravna CA putanja.';
+$wb['invalid_nginx_user_txt'] = 'Neispravan nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Neispravan nginx grupa.';
+$wb['php_ini_path_apache_error_regex'] = 'Neispravna apache php.ini putanja.';
+$wb['php_ini_path_cgi_error_regex'] = 'Neispravna cgi php.ini putanja.';
+$wb['php_fpm_init_script_error_regex'] = 'Neispravna php-fpm init skripta.';
+$wb['php_fpm_ini_path_error_regex'] = 'Neispravna php-fpm ini putanja.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Neispravan php-fpm pool direktorij.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Neispravan php-fpm socket direktorij.';
+$wb['php_open_basedir_error_regex'] = 'Neispravan php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data direktorij is empty';
+$wb['awstats_data_dir_error_regex'] = 'Neispravan awstats podatkovni direktorij.';
+$wb['awstats_pl_empty'] = 'awstats.pl opcija je prazna.';
+$wb['awstats_pl_error_regex'] = 'Neispravna awstats.pl putanja.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl je prazno';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Neispravna awstats_buildstaticpages.pl putanja.';
+$wb['invalid_bind_user_txt'] = 'Neispravan BIND korisnik.';
+$wb['invalid_bind_group_txt'] = 'Neispravan BIND grupa.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Neispravan BIND zonefiles direktorij.';
+$wb['named_conf_path_error_regex'] = 'Neispravna named.conf putanja.';
+$wb['named_conf_local_path_error_regex'] = 'Neispravna named.conf.local putanja.';
+$wb['fastcgi_starter_path_error_regex'] = 'Neispravna fastcgi starter putanja.';
+$wb['fastcgi_starter_script_error_regex'] = 'Neispravan fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Neispravan fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Neispravna fastcgi putanja.';
+$wb['fastcgi_bin_error_regex'] = 'Neispravan fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Neispravan jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Neispravan jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Neispravan jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Neispravan jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Neispravan vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Neispravan cron init script.';
+$wb['crontab_dir_error_regex'] = 'Neispravan crontab direktorij.';
+$wb['cron_wget_error_regex'] = 'Neispravna cron wget putanja.';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_config_list.lng b/interface/web/admin/lib/lang/hr_server_config_list.lng
index 4b814eb1df..f6b836e376 100644
--- a/interface/web/admin/lib/lang/hr_server_config_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_config_list.lng
@@ -2,3 +2,5 @@
 $wb['list_head_txt'] = 'Konfiguracija servera';
 $wb['server_name_txt'] = 'Server';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_ip.lng b/interface/web/admin/lib/lang/hr_server_ip.lng
index 0ddf8be14c..61a9891732 100644
--- a/interface/web/admin/lib/lang/hr_server_ip.lng
+++ b/interface/web/admin/lib/lang/hr_server_ip.lng
@@ -9,3 +9,5 @@ $wb['ip_type_txt'] = 'Vrsta';
 $wb['virtualhost_port_txt'] = 'HTTP portovi';
 $wb['error_port_syntax'] = 'Nedozvoljeni znakovi u port polju, unesite samo znamenke odvojene zarezom. Primjer: 80,443';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_ip_list.lng b/interface/web/admin/lib/lang/hr_server_ip_list.lng
index d4210d3a80..0a6673dc5d 100644
--- a/interface/web/admin/lib/lang/hr_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_ip_list.lng
@@ -8,3 +8,5 @@ $wb['virtualhost_txt'] = 'HTTP Vhost';
 $wb['virtualhost_port_txt'] = 'HTTP portovi';
 $wb['ip_type_txt'] = 'Vrsta';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_list.lng b/interface/web/admin/lib/lang/hr_server_list.lng
index f14477058f..1896375114 100644
--- a/interface/web/admin/lib/lang/hr_server_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_list.lng
@@ -9,5 +9,7 @@ $wb['db_server_txt'] = 'Baza';
 $wb['vserver_server_txt'] = 'VServer';
 $wb['add_new_record_txt'] = 'Dodaj novi server';
 $wb['proxy_server_txt'] = 'Proxy';
-$wb['firewall_server_txt'] = 'Firewall';
+$wb['firewall_server_txt'] = 'Vatrozid';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_php.lng b/interface/web/admin/lib/lang/hr_server_php.lng
index addbfa4935..febb3bae23 100644
--- a/interface/web/admin/lib/lang/hr_server_php.lng
+++ b/interface/web/admin/lib/lang/hr_server_php.lng
@@ -1,16 +1,18 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['client_id_txt'] = 'Client';
+$wb['client_id_txt'] = 'Klijent';
 $wb['name_txt'] = 'PHP Name';
 $wb['Name'] = 'Name';
-$wb['FastCGI Settings'] = 'FastCGI Settings';
-$wb['PHP-FPM Settings'] = 'PHP-FPM Settings';
-$wb['Additional PHP Versions'] = 'Additional PHP Versions';
-$wb['Form to edit additional PHP versions'] = 'Form to edit additional PHP versions';
+$wb['FastCGI Settings'] = 'FastCGI postavke';
+$wb['PHP-FPM Settings'] = 'PHP-FPM postavke';
+$wb['Additional PHP Versions'] = 'Dodatne PHP verzije';
+$wb['Form to edit additional PHP versions'] = 'Forma za dodatne PHP verzije';
 $wb['server_php_name_error_empty'] = 'The Name field must not be empty.';
-$wb['php_fastcgi_binary_txt'] = 'Path to the PHP FastCGI binary';
-$wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory';
-$wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script';
-$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
-$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
+$wb['php_fastcgi_binary_txt'] = 'Putanja do PHP FastCGI datoteke';
+$wb['php_fastcgi_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_init_script_txt'] = 'Putanja do PHP-FPM init skripte';
+$wb['php_fpm_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_pool_dir_txt'] = 'Putanja do PHP-FPM pool direktorija';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_php_list.lng b/interface/web/admin/lib/lang/hr_server_php_list.lng
index b402fd1ed1..b763dcc1c7 100644
--- a/interface/web/admin/lib/lang/hr_server_php_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_php_list.lng
@@ -2,6 +2,8 @@
 $wb['list_head_txt'] = 'Additional PHP Versions';
 $wb['server_id_txt'] = 'Server';
 $wb['add_new_record_txt'] = 'Add new PHP version';
-$wb['client_id_txt'] = 'Client';
+$wb['client_id_txt'] = 'Klijent';
 $wb['name_txt'] = 'PHP Name';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package.lng b/interface/web/admin/lib/lang/hr_software_package.lng
index faffe38217..4fda4e6c0e 100644
--- a/interface/web/admin/lib/lang/hr_software_package.lng
+++ b/interface/web/admin/lib/lang/hr_software_package.lng
@@ -4,3 +4,5 @@ $wb['package_key_txt'] = 'Package Key';
 $wb['Software Package'] = 'Software Package';
 $wb['Modify software package details'] = 'Modify software package details';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package_install.lng b/interface/web/admin/lib/lang/hr_software_package_install.lng
index 22d7e0ce7a..df68e358cb 100644
--- a/interface/web/admin/lib/lang/hr_software_package_install.lng
+++ b/interface/web/admin/lib/lang/hr_software_package_install.lng
@@ -4,3 +4,5 @@ $wb['install_key_txt'] = 'Unesi instalacijski ključ';
 $wb['btn_save_txt'] = 'Pokreni instalaciju';
 $wb['btn_cancel_txt'] = 'Odustani';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package_list.lng b/interface/web/admin/lib/lang/hr_software_package_list.lng
index 8381110fea..dc427fffa8 100644
--- a/interface/web/admin/lib/lang/hr_software_package_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_package_list.lng
@@ -5,9 +5,11 @@ $wb['package_title_txt'] = 'Paketi';
 $wb['package_description_txt'] = 'Opis';
 $wb['action_txt'] = 'Akcija';
 $wb['toolsarea_head_txt'] = 'Paketi';
-$wb['repoupdate_txt'] = 'Obnovi listu paketa';
+$wb['repoupdate_txt'] = 'Osvježi listu paketa';
 $wb['package_id_txt'] = 'lokalni App-ID';
 $wb['no_packages_txt'] = 'No packages available';
 $wb['edit_txt'] = 'Edit';
 $wb['delete_txt'] = 'Delete';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_repo.lng b/interface/web/admin/lib/lang/hr_software_repo.lng
index bbfb2e2db2..16f210f374 100644
--- a/interface/web/admin/lib/lang/hr_software_repo.lng
+++ b/interface/web/admin/lib/lang/hr_software_repo.lng
@@ -6,3 +6,5 @@ $wb['repo_password_txt'] = 'Å ifra (opcionalno)';
 $wb['active_txt'] = 'Aktivno';
 $wb['Software Repository which may contain addons or updates'] = 'Software Repository which may contain addons or updates';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_repo_list.lng b/interface/web/admin/lib/lang/hr_software_repo_list.lng
index b79045bd76..ab81d1c6d2 100644
--- a/interface/web/admin/lib/lang/hr_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_repo_list.lng
@@ -4,3 +4,5 @@ $wb['active_txt'] = 'Aktivno';
 $wb['repo_name_txt'] = 'Repozitorij';
 $wb['repo_url_txt'] = 'URL';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_update_list.lng b/interface/web/admin/lib/lang/hr_software_update_list.lng
index ed28fafbab..0990b311e4 100644
--- a/interface/web/admin/lib/lang/hr_software_update_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_update_list.lng
@@ -5,5 +5,7 @@ $wb['installed_txt'] = 'Akcija';
 $wb['update_title_txt'] = 'Nadogradi';
 $wb['version_txt'] = 'Verzija';
 $wb['action_txt'] = 'Akcija';
-$wb['no_updates_txt'] = 'No updates available';
+$wb['no_updates_txt'] = 'Nema nadogradnji';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng
index 0b9fe89d48..6ab665ed42 100644
--- a/interface/web/admin/lib/lang/hr_system_config.lng
+++ b/interface/web/admin/lib/lang/hr_system_config.lng
@@ -69,3 +69,5 @@ $wb['No'] = 'No';
 $wb['min_password_length_txt'] = 'Minimum password length';
 $wb['min_password_strength_txt'] = 'Minimum password strength';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_tpl_default_admin.lng b/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
index eee3af5fe4..a28c5172b0 100644
--- a/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
+++ b/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
@@ -1,18 +1,20 @@
 <?php
-$wb['tpl_default_admin_head_txt'] = 'Global Default-Theme Settings';
+$wb['tpl_default_admin_head_txt'] = 'Globalne standardne postavke teme';
 $wb['tpl_default_admin_desc_txt'] = '';
 $wb['server_id_txt'] = 'Server';
-$wb['client_id_txt'] = 'Client';
-$wb['name_txt'] = 'PHP Name';
-$wb['Name'] = 'Name';
-$wb['FastCGI Settings'] = 'FastCGI Settings';
-$wb['PHP-FPM Settings'] = 'PHP-FPM Settings';
-$wb['Additional PHP Versions'] = 'Additional PHP Versions';
-$wb['Form to edit additional PHP versions'] = 'Form to edit additional PHP versions';
-$wb['server_php_name_error_empty'] = 'The Name field must not be empty.';
-$wb['php_fastcgi_binary_txt'] = 'Path to the PHP FastCGI binary';
-$wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory';
-$wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script';
-$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
-$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
+$wb['client_id_txt'] = 'Klijent';
+$wb['name_txt'] = 'PHP naziv';
+$wb['Name'] = 'Naziv';
+$wb['FastCGI Settings'] = 'FastCGI postavke';
+$wb['PHP-FPM Settings'] = 'PHP-FPM postavke';
+$wb['Additional PHP Versions'] = 'Dodatne PHP verzije';
+$wb['Form to edit additional PHP versions'] = 'Forma za editiranje dodatnih PHP verzija';
+$wb['server_php_name_error_empty'] = 'Nazive ne može biti prazan.';
+$wb['php_fastcgi_binary_txt'] = 'Putanja do PHP FastCGI izvršne datoteke';
+$wb['php_fastcgi_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_init_script_txt'] = 'Putanja do PHP-FPM init skripte';
+$wb['php_fpm_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_pool_dir_txt'] = 'Putanja do PHP-FPM pool direktorija';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_users.lng b/interface/web/admin/lib/lang/hr_users.lng
index 037c86fe44..0a9ad64dcd 100644
--- a/interface/web/admin/lib/lang/hr_users.lng
+++ b/interface/web/admin/lib/lang/hr_users.lng
@@ -7,7 +7,7 @@ $wb['passwort_txt'] = 'Å ifra';
 $wb['password_strength_txt'] = 'Jačina šifre';
 $wb['modules_txt'] = 'Modul';
 $wb['startmodule_txt'] = 'Početni modul';
-$wb['app_theme_txt'] = 'Izgled';
+$wb['app_theme_txt'] = 'Tema';
 $wb['typ_txt'] = 'Vrsta';
 $wb['active_txt'] = 'Aktivno';
 $wb['language_txt'] = 'Jezik';
@@ -25,10 +25,12 @@ $wb['fax_txt'] = 'Faks';
 $wb['groups_txt'] = 'Grupe';
 $wb['default_group_txt'] = 'Standardna grupa';
 $wb['startmodule_err'] = 'Početni modul nije u izabranim modulima.';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['username_error_collision'] = 'The username may not be web or web plus a number.\\"';
-$wb['client_not_admin_err'] = 'A user that belongs to a client can not be set to type: admin';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['username_error_collision'] = 'Korisničko ime ne može biti web ili web sa brojem.\\"';
+$wb['client_not_admin_err'] = 'Korisnik koji je u grupi klijenti ne može biti admin';
 ?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_users_list.lng b/interface/web/admin/lib/lang/hr_users_list.lng
index c102e5f7f5..e0014c996d 100644
--- a/interface/web/admin/lib/lang/hr_users_list.lng
+++ b/interface/web/admin/lib/lang/hr_users_list.lng
@@ -7,3 +7,5 @@ $wb['add_new_record_txt'] = 'Dodaj klijenta';
 $wb['warning_txt'] = '<b>UPOZORENJE:</b> Ovdje nemojte mijenjati podatke klijenta. Koristite \\"Klijent\\" i \\"Preprodavač\\" postavke u Klijent modulu. Mijenjanjem postavki klijenata ili grupa može doći do gubitka podataka!';
 $wb['groups_txt'] = 'Groups';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr.lng b/interface/web/client/lib/lang/hr.lng
index 137f9bb1f1..fed227eafc 100644
--- a/interface/web/client/lib/lang/hr.lng
+++ b/interface/web/client/lib/lang/hr.lng
@@ -1,26 +1,28 @@
 <?php
-$wb['Client'] = 'Klijenti';
+$wb['Klijent'] = 'Klijenti';
 $wb['Address'] = 'Adresa';
 $wb['Limits'] = 'Limiti';
 $wb['Add Client'] = 'Dodaj klijenta';
 $wb['Edit Client'] = 'Editiraj klijenta';
 $wb['Clients'] = 'Klijenti';
-$wb['Templates'] = 'Templates';
-$wb['Limit-Templates'] = 'Limit-Templates';
+$wb['Templates'] = 'Predlošci';
+$wb['Limit-Templates'] = 'Limiti-Predlošci';
 $wb['Add Reseller'] = 'Dodaj preprodavača';
 $wb['Edit Reseller'] = 'Editiraj preprodavača';
 $wb['Resellers'] = 'Preprodavači';
 $wb['error_has_clients'] = 'Ovaj preprodavač ima klijente. Prvo morate obrisati klijente preprodavača.';
 $wb['add_additional_template_txt'] = 'Dodaj dodatni predložak';
 $wb['delete_additional_template_txt'] = 'Obriši dodatni predložak';
-$wb['Messaging'] = 'Messaging';
-$wb['Send email'] = 'Send Email';
-$wb['Edit Client Circle'] = 'Edit Client Circle';
-$wb['Domains'] = 'Domains';
-$wb['domain_txt'] = 'Domain';
-$wb['client_txt'] = 'Client';
-$wb['error_domain_in mailuse'] = 'This domain cannot be deleted, because it is in use as mail-domain';
-$wb['error_domain_in webuse'] = 'This domain cannot be deleted, because it is in use as web-domain';
-$wb['error_client_can_not_add_domain'] = 'You cannot add a new domain';
-$wb['error_client_group_id_empty'] = 'You have to select a customer<br>';
+$wb['Messaging'] = 'Slanje poruka';
+$wb['Send email'] = 'Pošalji email';
+$wb['Edit Client Circle'] = 'Promijeni krug klijenata';
+$wb['Domains'] = 'Domene';
+$wb['domain_txt'] = 'Domena';
+$wb['client_txt'] = 'Klijent';
+$wb['error_domain_in mailuse'] = 'Ova domena ne može biti obrisana jer se koristi kao mail domena';
+$wb['error_domain_in webuse'] = 'Ova domena ne može biti obrisana jer se koristi kao web domena';
+$wb['error_client_can_not_add_domain'] = 'Ne možete dodati novu domenu';
+$wb['error_client_group_id_empty'] = 'Morate izabrati klijenta<br>';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client.lng b/interface/web/client/lib/lang/hr_client.lng
index e1bbc10260..2c97be9500 100644
--- a/interface/web/client/lib/lang/hr_client.lng
+++ b/interface/web/client/lib/lang/hr_client.lng
@@ -129,13 +129,13 @@ $wb['database_limits_txt'] = 'Database Limits';
 $wb['cron_job_limits_txt'] = 'Cron Job Limits';
 $wb['dns_limits_txt'] = 'DNS Limits';
 $wb['virtualization_limits_txt'] = 'Virtualization Limits';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generirajšifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 $wb['active_template_additional_txt'] = 'Active Addons';
 $wb['bank_account_owner_txt'] = 'Bank account owner';
-$wb['email_error_isemail'] = 'Please enter a valid email address.';
+$wb['email_error_isemail'] = 'Unesi ispravnu email adresu.';
 $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
 $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
 $wb['paypal_email_txt'] = 'PayPal Email';
@@ -154,3 +154,5 @@ $wb['added_date_txt'] = 'Added date';
 $wb['parent_client_id_txt'] = 'Client of reseller';
 $wb['none_txt'] = 'none';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_circle.lng b/interface/web/client/lib/lang/hr_client_circle.lng
index f98a1447fc..bff3a9fd51 100644
--- a/interface/web/client/lib/lang/hr_client_circle.lng
+++ b/interface/web/client/lib/lang/hr_client_circle.lng
@@ -1,9 +1,11 @@
 <?php
-$wb['Client Circle'] = 'Client Circle';
-$wb['Circle'] = 'Circle';
-$wb['circle_txt'] = 'Circle';
-$wb['circle_name_txt'] = 'Circle Name';
-$wb['client_ids_txt'] = 'Clients/Resellers';
-$wb['description_txt'] = 'Description';
-$wb['active_txt'] = 'Active';
+$wb['Client Circle'] = 'Krug klijenata';
+$wb['Circle'] = 'Krug';
+$wb['circle_txt'] = 'Krug';
+$wb['circle_name_txt'] = 'Naziv kruga';
+$wb['client_ids_txt'] = 'Klijenti/Preprodavači';
+$wb['description_txt'] = 'Opis';
+$wb['active_txt'] = 'Aktivno';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_circle_list.lng b/interface/web/client/lib/lang/hr_client_circle_list.lng
index 00fd0b3998..c4648b1f7a 100644
--- a/interface/web/client/lib/lang/hr_client_circle_list.lng
+++ b/interface/web/client/lib/lang/hr_client_circle_list.lng
@@ -1,10 +1,12 @@
 <?php
-$wb['list_head_txt'] = 'Client Circles';
-$wb['circle_id_txt'] = 'Circle ID';
-$wb['circle_name_txt'] = 'Circle Name';
-$wb['description_txt'] = 'Description';
-$wb['add_new_record_txt'] = 'Add new circle';
+$wb['list_head_txt'] = 'Krug klijenata';
+$wb['circle_id_txt'] = 'ID kruga';
+$wb['circle_name_txt'] = 'Naziv kruga';
+$wb['description_txt'] = 'Opis';
+$wb['add_new_record_txt'] = 'Dodaj novi krug';
 $wb['filter_txt'] = 'Filter';
-$wb['delete_txt'] = 'Delete';
-$wb['active_txt'] = 'Active';
+$wb['delete_txt'] = 'Obriši';
+$wb['active_txt'] = 'Aktivno';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_del.lng b/interface/web/client/lib/lang/hr_client_del.lng
index 939cc59fb6..1db0476c84 100644
--- a/interface/web/client/lib/lang/hr_client_del.lng
+++ b/interface/web/client/lib/lang/hr_client_del.lng
@@ -5,3 +5,5 @@ $wb['btn_save_txt'] = 'Obriši klijenta';
 $wb['btn_cancel_txt'] = 'Prekini i ne briši klijenta';
 $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message.lng b/interface/web/client/lib/lang/hr_client_message.lng
index 6b2a872f10..9f273affbb 100644
--- a/interface/web/client/lib/lang/hr_client_message.lng
+++ b/interface/web/client/lib/lang/hr_client_message.lng
@@ -1,20 +1,22 @@
 <?php
-$wb['btn_send_txt'] = 'Send email';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['sender_txt'] = 'Sender email address';
-$wb['subject_txt'] = 'Subject';
-$wb['message_txt'] = 'Message';
-$wb['form_legend_client_txt'] = 'Send email message to all clients.';
-$wb['form_legend_admin_txt'] = 'Send email message to all clients and resellers.';
-$wb['sender_invalid_error'] = 'Sender email invalid.';
-$wb['subject_invalid_error'] = 'Subject is empty.';
-$wb['message_invalid_error'] = 'Message is empty.';
-$wb['email_sent_to_txt'] = 'Email sent to:';
-$wb['page_head_txt'] = 'Send customer information';
-$wb['recipient_txt'] = 'Recipient';
-$wb['all_clients_resellers_txt'] = 'All clients and resellers';
-$wb['all_clients_txt'] = 'All clients';
-$wb['variables_txt'] = 'Variables:';
-$wb['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
+$wb['btn_send_txt'] = 'Pošalji email';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['sender_txt'] = 'Adresa pošiljatelja';
+$wb['subject_txt'] = 'Naslov';
+$wb['message_txt'] = 'Poruka';
+$wb['form_legend_client_txt'] = 'Pošalji email svim klijentima.';
+$wb['form_legend_admin_txt'] = 'Pošalji email svim klijentima i preprodavačima.';
+$wb['sender_invalid_error'] = 'Neispravan email pošiljatelja.';
+$wb['subject_invalid_error'] = 'Naslov emaila je prazan.';
+$wb['message_invalid_error'] = 'Niste napisali poruku.';
+$wb['email_sent_to_txt'] = 'Email poslan:';
+$wb['page_head_txt'] = 'Pošalji klijentske informacije';
+$wb['recipient_txt'] = 'Primatelj';
+$wb['all_clients_resellers_txt'] = 'Svi klijenti i preprodavači';
+$wb['all_clients_txt'] = 'Svi klijenti';
+$wb['variables_txt'] = 'Varijable:';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message_template.lng b/interface/web/client/lib/lang/hr_client_message_template.lng
index 65e5fbfba3..14d308b465 100644
--- a/interface/web/client/lib/lang/hr_client_message_template.lng
+++ b/interface/web/client/lib/lang/hr_client_message_template.lng
@@ -9,3 +9,5 @@ $wb['variables_txt'] = 'Variables';
 $wb['variables_description_txt'] = '(The username and password variables are only available in welcome emails.)';
 $wb['duplicate_welcome_error'] = 'There can be only one default welcome email template. Please edit the existing template instead of adding a new one.';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message_template_list.lng b/interface/web/client/lib/lang/hr_client_message_template_list.lng
index d9c307ed52..3c858650b1 100644
--- a/interface/web/client/lib/lang/hr_client_message_template_list.lng
+++ b/interface/web/client/lib/lang/hr_client_message_template_list.lng
@@ -1,5 +1,7 @@
 <?php
-$wb['list_head_txt'] = 'Email templates';
-$wb['template_type_txt'] = 'Message for';
-$wb['template_name_txt'] = 'Template name';
+$wb['list_head_txt'] = 'Email predlošci';
+$wb['template_type_txt'] = 'Poruka za';
+$wb['template_name_txt'] = 'Naziv predloška';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_template.lng b/interface/web/client/lib/lang/hr_client_template.lng
index b631e518de..9cd9d084d0 100644
--- a/interface/web/client/lib/lang/hr_client_template.lng
+++ b/interface/web/client/lib/lang/hr_client_template.lng
@@ -90,3 +90,5 @@ $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
 $wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
 $wb['client_limits_txt'] = 'Client Limits';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_template_list.lng b/interface/web/client/lib/lang/hr_client_template_list.lng
index cdc2f0006a..53bbd164b2 100644
--- a/interface/web/client/lib/lang/hr_client_template_list.lng
+++ b/interface/web/client/lib/lang/hr_client_template_list.lng
@@ -4,3 +4,5 @@ $wb['template_type_txt'] = 'Vrsta';
 $wb['template_name_txt'] = 'Naziv predloška';
 $wb['template_id_txt'] = 'Template ID';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_clients_list.lng b/interface/web/client/lib/lang/hr_clients_list.lng
index a733692285..f4dd799d59 100644
--- a/interface/web/client/lib/lang/hr_clients_list.lng
+++ b/interface/web/client/lib/lang/hr_clients_list.lng
@@ -9,3 +9,5 @@ $wb['add_new_record_txt'] = 'Dodaj klijenta';
 $wb['username_txt'] = 'Korisničko ime';
 $wb['customer_no_txt'] = 'Customer No.';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_domain.lng b/interface/web/client/lib/lang/hr_domain.lng
index 30f3ca054f..772b88aa2a 100644
--- a/interface/web/client/lib/lang/hr_domain.lng
+++ b/interface/web/client/lib/lang/hr_domain.lng
@@ -2,5 +2,7 @@
 $wb['domain_error_empty'] = 'Ime domene je prazno';
 $wb['domain_error_unique'] = 'Domena već postoji';
 $wb['domain_error_regex'] = 'Ovo ime domene ne možete upotrijebiti';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_domain_list.lng b/interface/web/client/lib/lang/hr_domain_list.lng
index d3bdd4bc44..daaf8161ac 100644
--- a/interface/web/client/lib/lang/hr_domain_list.lng
+++ b/interface/web/client/lib/lang/hr_domain_list.lng
@@ -2,5 +2,7 @@
 $wb['list_head_txt'] = 'Domene';
 $wb['add_new_record_txt'] = 'Dodaj domenu';
 $wb['domain_txt'] = 'Domena';
-$wb['user_txt'] = 'Client';
+$wb['user_txt'] = 'Klijent';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_reseller.lng b/interface/web/client/lib/lang/hr_reseller.lng
index 319c2a5387..af1a999573 100644
--- a/interface/web/client/lib/lang/hr_reseller.lng
+++ b/interface/web/client/lib/lang/hr_reseller.lng
@@ -124,11 +124,11 @@ $wb['database_limits_txt'] = 'Database Limits';
 $wb['cron_job_limits_txt'] = 'Cron Job Limits';
 $wb['dns_limits_txt'] = 'DNS Limits';
 $wb['virtualization_limits_txt'] = 'Virtualization Limits';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['email_error_isemail'] = 'Please enter a valid email address.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['email_error_isemail'] = 'Unesi ispravnu email adresu.';
 $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
 $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
 $wb['paypal_email_txt'] = 'PayPal Email';
@@ -143,19 +143,21 @@ $wb['aps_limits_txt'] = 'APS Installer Limits';
 $wb['limit_aps_txt'] = 'Max. number of APS instances';
 $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
 $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server';
-$wb['locked_txt'] = 'Locked';
+$wb['locked_txt'] = 'Zaključano';
 $wb['canceled_txt'] = 'Canceled';
-$wb['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
-$wb['gender_txt'] = 'Title';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
+$wb['gender_txt'] = 'Titula';
 $wb['customer_no_template_txt'] = 'Customer No. template';
 $wb['customer_no_template_error_regex_txt'] = 'The customer No. template contains invalid characters';
 $wb['customer_no_start_txt'] = 'Customer No. start value';
 $wb['customer_no_counter_txt'] = 'Customer No. counter';
-$wb['added_by_txt'] = 'Added by';
-$wb['added_date_txt'] = 'Added date';
+$wb['added_by_txt'] = 'Dodao';
+$wb['added_date_txt'] = 'Datum dodavanja';
 $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
-$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
-$wb['client_limits_txt'] = 'Client Limits';
+$wb['limit_domainmodule_txt'] = 'Domain module Limit';
+$wb['client_limits_txt'] = 'Limiti klijenata';
 $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
 ?>
+
+
diff --git a/interface/web/client/lib/lang/hr_resellers_list.lng b/interface/web/client/lib/lang/hr_resellers_list.lng
index bd26b348ac..194d6ff87d 100644
--- a/interface/web/client/lib/lang/hr_resellers_list.lng
+++ b/interface/web/client/lib/lang/hr_resellers_list.lng
@@ -6,6 +6,8 @@ $wb['contact_name_txt'] = 'Kontakt osoba';
 $wb['city_txt'] = 'Grad';
 $wb['country_txt'] = 'Država';
 $wb['add_new_record_txt'] = 'Dodaj novog preprodavača';
-$wb['customer_no_txt'] = 'Customer No.';
-$wb['username_txt'] = 'Username';
+$wb['customer_no_txt'] = 'Klijent br.';
+$wb['username_txt'] = 'Korisničko ime';
 ?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr.lng b/interface/web/dashboard/lib/lang/hr.lng
index 769b77ae54..4fd68c5918 100644
--- a/interface/web/dashboard/lib/lang/hr.lng
+++ b/interface/web/dashboard/lib/lang/hr.lng
@@ -2,3 +2,5 @@
 $wb['welcome_user_txt'] = 'Dobrodošao %s';
 $wb['available_modules_txt'] = 'Dostupni moduli';
 ?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng b/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
index 095afc4080..fb27cfe152 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
@@ -28,3 +28,5 @@ $wb['limit_client_txt'] = 'Klijenti';
 $wb['limit_database_txt'] = 'Broj baza';
 $wb['limit_mailmailinglist_txt'] = 'Broj mail lista';
 ?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
index 1ab1e66658..8b3b20fc79 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
@@ -1,8 +1,10 @@
 <?php
 $wb['mailquota_txt'] = 'Mailbox Quota';
 $wb['email_txt'] = 'Email Address';
-$wb['name_txt'] = 'Name';
+$wb['name_txt'] = 'Naziv';
 $wb['used_txt'] = 'Used Space';
-$wb['quota_txt'] = 'Quota';
+$wb['quota_txt'] = 'Kvota';
 $wb['no_email_accounts_txt'] = 'No email accounts found.';
 ?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng b/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
index 76f2a1f7c5..2ff293afbf 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
@@ -1,3 +1,5 @@
 <?php
 $wb['available_modules_txt'] = 'Dostupni moduli';
 ?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
index de7b5a8936..46dd781276 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
@@ -6,3 +6,5 @@ $wb['hard_txt'] = 'Hard limit';
 $wb['soft_txt'] = 'Soft limit';
 $wb['no_sites_txt'] = 'No web sites found.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr.lng b/interface/web/dns/lib/lang/hr.lng
index 1495b3e6d3..1fba79c89f 100644
--- a/interface/web/dns/lib/lang/hr.lng
+++ b/interface/web/dns/lib/lang/hr.lng
@@ -20,3 +20,5 @@ $wb['Templates'] = 'Predlošci';
 $wb['Secondary Zones'] = 'Sekundarne zone';
 $wb['Import Zone File'] = 'Importiraj zonsku datoteku';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_a.lng b/interface/web/dns/lib/lang/hr_dns_a.lng
index 4113907255..322010d17b 100644
--- a/interface/web/dns/lib/lang/hr_dns_a.lng
+++ b/interface/web/dns/lib/lang/hr_dns_a.lng
@@ -13,5 +13,7 @@ $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje IP adresa je prazno';
 $wb['data_error_regex'] = 'Neispravan format A zapisa';
 $wb['data_error_duplicate'] = 'Već postoji ovaj A ili CNAME zapis';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_a_list.lng b/interface/web/dns/lib/lang/hr_dns_a_list.lng
index 8fff6885de..0a1099ef03 100644
--- a/interface/web/dns/lib/lang/hr_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_a_list.lng
@@ -13,3 +13,5 @@ $wb['page_txt'] = 'Stranica';
 $wb['page_of_txt'] = 'od';
 $wb['delete_confirmation'] = 'Sigurno želite obrisati ovaj zapis?';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_aaaa.lng b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
index 1f35d51023..ba0212776e 100644
--- a/interface/web/dns/lib/lang/hr_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje IPv6 adresa je prazno';
 $wb['data_error_regex'] = 'Neispravan format IPv6 adrese';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_alias.lng b/interface/web/dns/lib/lang/hr_dns_alias.lng
index 97f15b1651..088ce4a994 100644
--- a/interface/web/dns/lib/lang/hr_dns_alias.lng
+++ b/interface/web/dns/lib/lang/hr_dns_alias.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje odredišni host je prazno';
 $wb['data_error_regex'] = 'Neispravan format odredišnog hosta';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_cname.lng b/interface/web/dns/lib/lang/hr_dns_cname.lng
index e3eddd6852..6c281d6c60 100644
--- a/interface/web/dns/lib/lang/hr_dns_cname.lng
+++ b/interface/web/dns/lib/lang/hr_dns_cname.lng
@@ -13,5 +13,7 @@ $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje odredišni host je prazno';
 $wb['data_error_regex'] = 'Neispravan format odredišnog host zapisa';
 $wb['data_error_duplicate'] = 'Duplicirani A zapis ili CNAME zapis';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_hinfo.lng b/interface/web/dns/lib/lang/hr_dns_hinfo.lng
index 9c8c057077..6c212b1683 100644
--- a/interface/web/dns/lib/lang/hr_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/hr_dns_hinfo.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Nedostaju informacije o hostu';
 $wb['data_error_regex'] = 'Informacije o hostu su u neispravanom formatu';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_import.lng b/interface/web/dns/lib/lang/hr_dns_import.lng
index 2d1fe083ea..711132cbc8 100644
--- a/interface/web/dns/lib/lang/hr_dns_import.lng
+++ b/interface/web/dns/lib/lang/hr_dns_import.lng
@@ -1,14 +1,16 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['client_txt'] = 'Client';
-$wb['btn_save_txt'] = 'Import Zonefile';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['domain_txt'] = 'Domain';
+$wb['client_txt'] = 'Klijent';
+$wb['btn_save_txt'] = 'Importiraj zonsku datoteku';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['domain_txt'] = 'Domena';
 $wb['zone_file_successfully_imported_txt'] = 'The zone file has successfully been imported!';
 $wb['error_no_valid_zone_file_txt'] = 'This appears to be no valid zone file!';
-$wb['zonefile_to_import_txt'] = 'Zone File';
+$wb['zonefile_to_import_txt'] = 'Zonska datoteka';
 $wb['domain_field_desc_txt'] = 'Can be left empty if domain name is in the filename or the zone-file content.';
-$wb['title'] = 'Import Zone Files';
-$wb['no_file_uploaded_error'] = 'No zonefile uploaded';
-$wb['zone_file_import_txt'] = 'Zone File Import';
+$wb['title'] = 'Importiraj zonske datoteka';
+$wb['no_file_uploaded_error'] = 'Nije prenešena zonska datoteka';
+$wb['zone_file_import_txt'] = 'Importiraj zonsku datoteku';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_mx.lng b/interface/web/dns/lib/lang/hr_dns_mx.lng
index 22baa5d13c..b2f800e1f3 100644
--- a/interface/web/dns/lib/lang/hr_dns_mx.lng
+++ b/interface/web/dns/lib/lang/hr_dns_mx.lng
@@ -13,6 +13,8 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Naziv mail hosta polje je prazno';
 $wb['data_error_regex'] = 'Neispravan format naziva mail host zapisa';
-$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['duplicate_mx_record_txt'] = 'Duplicirani MX zapis.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_ns.lng b/interface/web/dns/lib/lang/hr_dns_ns.lng
index 3f1764509e..c04d1a0c96 100644
--- a/interface/web/dns/lib/lang/hr_dns_ns.lng
+++ b/interface/web/dns/lib/lang/hr_dns_ns.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv zone nije upisan.';
 $wb['name_error_regex'] = 'Naziv zone je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Nameserver nije upisan';
 $wb['data_error_regex'] = 'Nameserver je u pogrešnom formatu';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_ptr.lng b/interface/web/dns/lib/lang/hr_dns_ptr.lng
index ef78315fef..c6451e7f74 100644
--- a/interface/web/dns/lib/lang/hr_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/hr_dns_ptr.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje Canonical naziv hosta je prazno';
 $wb['data_error_regex'] = 'Neispravan format Canonical host zapisa';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_rp.lng b/interface/web/dns/lib/lang/hr_dns_rp.lng
index 7da0639b1a..54ab872b8c 100644
--- a/interface/web/dns/lib/lang/hr_dns_rp.lng
+++ b/interface/web/dns/lib/lang/hr_dns_rp.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje za odgovornu osobu je prazno';
 $wb['data_error_regex'] = 'Polje za odgovornu osobu je neispravno';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave.lng b/interface/web/dns/lib/lang/hr_dns_slave.lng
index 9014f51da3..471cbf1c5f 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave.lng
@@ -1,11 +1,11 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'DNS Zona';
+$wb['origin_txt'] = 'DNS zona';
 $wb['ns_txt'] = 'NS';
 $wb['active_txt'] = 'Aktivno';
 $wb['limit_dns_slave_zone_txt'] = 'Iskorišten je maksimalan broj sekundarnih DNS zona za vaš račun.';
 $wb['client_txt'] = 'Klijent';
-$wb['xfer_txt'] = 'Allow zone transfers to <br />these IPs (comma separated list)';
+$wb['xfer_txt'] = 'Dozvoli transfer zona<br />slijedećim IP-evima (odvojiti zarezom)';
 $wb['server_id_error_empty'] = 'Nije izabran server.';
 $wb['origin_error_empty'] = 'Zona je prazna.';
 $wb['origin_error_unique'] = 'Već postoji zapis za ovu zonu.';
@@ -13,5 +13,7 @@ $wb['origin_error_regex'] = 'Zona je u pogrešnom formatu.';
 $wb['ns_error_regex'] = 'NS je u pogrešnom formatu.';
 $wb['eg_domain_tld'] = 'npr. domena.tld.';
 $wb['ipv4_form_txt'] = 'IPv4 forma - npr. 1.2.3.4';
-$wb['secondary_zone_txt'] = 'Secondary DNS Zone';
+$wb['secondary_zone_txt'] = 'Sekundarne DNS zone';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
index 59d84877c6..219b9ede2c 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
@@ -1,10 +1,12 @@
 <?php
-$wb['list_head_txt'] = 'Secondary DNS-Zones';
-$wb['active_txt'] = 'Active';
+$wb['list_head_txt'] = 'Sekundarne DNS zone';
+$wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'Zone';
+$wb['origin_txt'] = 'Zona';
 $wb['ns_txt'] = 'NS';
-$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
-$wb['eg_domain_tld'] = 'e.g. domain.tld.';
-$wb['sys_groupid_txt'] = 'Client';
+$wb['add_new_record_txt'] = 'Dodaj sekundarnu DNS zonu';
+$wb['eg_domain_tld'] = 'npr. domena.tld.';
+$wb['sys_groupid_txt'] = 'Klijent';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_list.lng
index 02fafc529d..ced26358a9 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave_list.lng
@@ -7,3 +7,5 @@ $wb['ns_txt'] = 'NS';
 $wb['add_new_record_txt'] = 'Dodaj sekundarnu DNS zonu';
 $wb['eg_domain_tld'] = 'npr. domena.tld.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa.lng b/interface/web/dns/lib/lang/hr_dns_soa.lng
index ef72c7c633..4d9afde0a7 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa.lng
@@ -9,7 +9,7 @@ $wb['retry_txt'] = 'Retry';
 $wb['expire_txt'] = 'Expire';
 $wb['minimum_txt'] = 'Minimalno';
 $wb['ttl_txt'] = 'TTL';
-$wb['xfer_txt'] = 'Dozvoli transfer zona <br />ovim IP-ovima (odvojeni zarezom)';
+$wb['xfer_txt'] = 'Dozvoli transfer zona<br />slijedećim IP-evima (odvojiti zarezom)';
 $wb['active_txt'] = 'Aktivno';
 $wb['limit_dns_zone_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš račun.';
 $wb['client_txt'] = 'Klijent';
@@ -29,10 +29,12 @@ $wb['eg_domain_tld'] = 'npr. domena.tld';
 $wb['eg_ns1_domain_tld'] = 'npr. ns1.domena.tld';
 $wb['eg_webmaster_domain_tld'] = 'npr. webmaster@domena.tld';
 $wb['The Domain can not be changed. Please ask your Administrator if you want to change the domain name.'] = 'Ova domena ne može biti promijenjena. Pošaljite zahtjev administratoru ako želite promijeniti naziv domene.';
-$wb['refresh_range_error'] = 'Min. Refresh time is 60 seconds.';
-$wb['retry_range_error'] = 'Min. Retry time is 60 seconds.';
-$wb['expire_range_error'] = 'Min. Expire time is 60 seconds.';
-$wb['minimum_range_error'] = 'Min. Minimum time is 60 seconds.';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
-$wb['xfer_error_regex'] = 'Also notify: Please use an IP address.';
+$wb['refresh_range_error'] = 'Minimalno vrijeme osvježavanja je 60 sekundi.';
+$wb['retry_range_error'] = 'Minimalno Retry vrijeme je 60 sekundi.';
+$wb['expire_range_error'] = 'Minimalno vrijeme isteka je 60 sekundi.';
+$wb['minimum_range_error'] = 'Minimalno vrijeme minimuma je 60 sekundi.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
+$wb['xfer_error_regex'] = 'Također obavijesti: Koristite IP adresu.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
index 183d1a8349..9b24cafbe4 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
@@ -1,11 +1,13 @@
 <?php
-$wb['list_head_txt'] = 'DNS-Zones';
-$wb['active_txt'] = 'Active';
+$wb['list_head_txt'] = 'DNS zone';
+$wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'Zone';
+$wb['origin_txt'] = 'Zona';
 $wb['ns_txt'] = 'NS';
 $wb['mbox_txt'] = 'Email';
-$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
-$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
-$wb['sys_groupid_txt'] = 'Client';
+$wb['add_new_record_wizard_txt'] = 'Dodaj novu DNS zonu sa čarobnjakom';
+$wb['add_new_record_txt'] = 'Dodaj novu DNS zonu ručno';
+$wb['sys_groupid_txt'] = 'Klijent';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_list.lng
index cb9cbe07cd..25539b8295 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa_list.lng
@@ -1,10 +1,12 @@
 <?php
-$wb['list_head_txt'] = 'DNS zone';
+$wb['list_head_txt'] = 'DNS zona';
 $wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'Zone';
+$wb['origin_txt'] = 'Zona';
 $wb['ns_txt'] = 'NS';
 $wb['mbox_txt'] = 'Email';
 $wb['add_new_record_wizard_txt'] = 'Dodaj novu DNS zonu sa čarobnjakom';
 $wb['add_new_record_txt'] = 'Dodaj novu DNS zonu ručno';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_srv.lng b/interface/web/dns/lib/lang/hr_dns_srv.lng
index aea5768692..b6213d7f67 100644
--- a/interface/web/dns/lib/lang/hr_dns_srv.lng
+++ b/interface/web/dns/lib/lang/hr_dns_srv.lng
@@ -9,12 +9,14 @@ $wb['port_txt'] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktivno';
 $wb['aux_txt'] = 'Prioritet';
-$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš ra�un.';
+$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš račun.';
 $wb['no_zone_perm'] = 'Nemate dozvolu za dodavanja zapisa ovoj domeni.';
 $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
-$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
+$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje serverski zapis je prazno';
 $wb['data_error_regex'] = 'Neispravan format serverskog zapisa';
-$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne rije�i odvojene razmakom.';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne riječi odvojene razmakom.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_template.lng b/interface/web/dns/lib/lang/hr_dns_template.lng
index 100c5c8239..aa880f670e 100644
--- a/interface/web/dns/lib/lang/hr_dns_template.lng
+++ b/interface/web/dns/lib/lang/hr_dns_template.lng
@@ -4,3 +4,5 @@ $wb['fields_txt'] = 'Polja';
 $wb['template_txt'] = 'Predložak';
 $wb['visible_txt'] = 'Vidljivo';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_template_list.lng b/interface/web/dns/lib/lang/hr_dns_template_list.lng
index 22d83c62e0..2585238ed5 100644
--- a/interface/web/dns/lib/lang/hr_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_template_list.lng
@@ -1,6 +1,8 @@
 <?php
-$wb['list_head_txt'] = 'DNS čarobnjak predložaka';
+$wb['list_head_txt'] = 'Čarobnjak za DNS predloške';
 $wb['visible_txt'] = 'Vidljivo';
 $wb['name_txt'] = 'Naziv';
 $wb['add_new_record_txt'] = 'Dodaj novi';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_txt.lng b/interface/web/dns/lib/lang/hr_dns_txt.lng
index 1339086d48..88bb5e15e7 100644
--- a/interface/web/dns/lib/lang/hr_dns_txt.lng
+++ b/interface/web/dns/lib/lang/hr_dns_txt.lng
@@ -12,5 +12,7 @@ $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
 $wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'TXT polje je prazno';
 $wb['data_error_regex'] = 'Neispravan format TXT zapisa';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
 ?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_wizard.lng b/interface/web/dns/lib/lang/hr_dns_wizard.lng
index c949ed7baa..df6c341555 100644
--- a/interface/web/dns/lib/lang/hr_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/hr_dns_wizard.lng
@@ -26,13 +26,15 @@ $wb['error_domain_regex'] = 'Domena sadrži nedozvoljene znakove.';
 $wb['error_ns1_regex'] = 'NS1 sadrži nedozvoljene znakove.';
 $wb['error_ns2_regex'] = 'NS2 sadrži nedozvoljene znakove.';
 $wb['error_email_regex'] = 'Email adresa nije ispravna.';
-$wb['dns_zone_txt'] = 'DNS Zone';
-$wb['globalsearch_resultslimit_of_txt'] = 'of';
-$wb['globalsearch_resultslimit_results_txt'] = 'results';
-$wb['globalsearch_noresults_text_txt'] = 'No results.';
-$wb['globalsearch_noresults_limit_txt'] = '0 results';
-$wb['globalsearch_searchfield_watermark_txt'] = 'Search';
-$wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
-$wb['list_head_txt'] = 'DNS Zone Wizard';
-$wb['list_desc_txt'] = 'Create a DNS Zone via a wizard';
+$wb['dns_zone_txt'] = 'DNS zona';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
+$wb['list_head_txt'] = 'DNS čarobnjak';
+$wb['list_desc_txt'] = 'Kreiraj DNS zonu sa čarobnjakom';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr.lng b/interface/web/help/lib/lang/hr.lng
index fd9153f239..71f5920d07 100644
--- a/interface/web/help/lib/lang/hr.lng
+++ b/interface/web/help/lib/lang/hr.lng
@@ -12,3 +12,5 @@ $wb['Manage Sections'] = 'Upravljaj rubrikama';
 $wb['Add a Question & Answer Pair'] = 'Dodaj pitanje i odgovor';
 $wb['Manage Questions'] = 'Upravljaj pitanjima';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_form.lng b/interface/web/help/lib/lang/hr_faq_form.lng
index ca798d79e0..156f32717d 100644
--- a/interface/web/help/lib/lang/hr_faq_form.lng
+++ b/interface/web/help/lib/lang/hr_faq_form.lng
@@ -4,3 +4,5 @@ $wb['faq_question_txt'] = 'Pitanje';
 $wb['faq_answer_txt'] = 'Odgovor';
 $wb['faq_section_txt'] = 'Rubrika';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng b/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
index 54f46e270e..8c03762338 100644
--- a/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
+++ b/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
@@ -7,3 +7,5 @@ $wb['faq_sections_txt'] = 'Rubrika';
 $wb['faq_faq_questions_txt'] = 'ÄŒesto postavljana pitanja (FAQ)';
 $wb['faq_new_question_txt'] = 'Dodaj novo pitanje i odgovor';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_sections_form.lng b/interface/web/help/lib/lang/hr_faq_sections_form.lng
index 5eba900af4..1ada45e644 100644
--- a/interface/web/help/lib/lang/hr_faq_sections_form.lng
+++ b/interface/web/help/lib/lang/hr_faq_sections_form.lng
@@ -1,3 +1,5 @@
 <?php
 $wb['faq_section_name_txt'] = 'Naziv rubrike';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_help_faq_list.lng b/interface/web/help/lib/lang/hr_help_faq_list.lng
index 9d910dc0d3..83de65ed73 100644
--- a/interface/web/help/lib/lang/hr_help_faq_list.lng
+++ b/interface/web/help/lib/lang/hr_help_faq_list.lng
@@ -1,3 +1,5 @@
 <?php
 $wb['edit_txt'] = 'Izmjeni';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_help_faq_sections_list.lng b/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
index 91c78e4485..21026b0a7e 100644
--- a/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
+++ b/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
@@ -6,3 +6,5 @@ $wb['faq_sections_txt'] = 'Rubrike';
 $wb['faq_faq_sections_txt'] = 'FAQ rubrike';
 $wb['faq_new_section_txt'] = 'Dodaj novu rubriku';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_support_message.lng b/interface/web/help/lib/lang/hr_support_message.lng
index fca139b995..eeed993e74 100644
--- a/interface/web/help/lib/lang/hr_support_message.lng
+++ b/interface/web/help/lib/lang/hr_support_message.lng
@@ -13,3 +13,5 @@ $wb['answer_to_support_request_sent_txt'] = 'Your reply to the support request h
 $wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.';
 $wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.';
 ?>
+
+
diff --git a/interface/web/help/lib/lang/hr_support_message_list.lng b/interface/web/help/lib/lang/hr_support_message_list.lng
index e7aea1ab72..eb37bac4f0 100644
--- a/interface/web/help/lib/lang/hr_support_message_list.lng
+++ b/interface/web/help/lib/lang/hr_support_message_list.lng
@@ -5,3 +5,5 @@ $wb['subject_txt'] = 'Naslov poruke';
 $wb['add_new_record_txt'] = 'Pošalji novu poruku';
 $wb['date_txt'] = 'Date';
 ?>
+
+
diff --git a/interface/web/login/lib/lang/hr.lng b/interface/web/login/lib/lang/hr.lng
index 670affed30..6550f5b34e 100644
--- a/interface/web/login/lib/lang/hr.lng
+++ b/interface/web/login/lib/lang/hr.lng
@@ -14,14 +14,16 @@ $wb['pw_error_length'] = 'Duljina Å¡ifre je > 64 znakova.';
 $wb['username_txt'] = 'Korisničko ime';
 $wb['password_txt'] = 'Å ifra';
 $wb['login_button_txt'] = 'Prijava';
-$wb['pw_lost_txt'] = 'Password lost';
+$wb['pw_lost_txt'] = 'Izgubljena Å¡ifra';
 $wb['error_maintenance_mode'] = 'This ISPConfig installation is currently under maintenance. We should be back shortly. Thank you for your patience.';
-$wb['login_txt'] = 'Login';
-$wb['pw_reset_txt'] = 'Password reset';
-$wb['pw_button_txt'] = 'Resend password';
+$wb['login_txt'] = 'Prijava';
+$wb['pw_reset_txt'] = 'Resetiraj Å¡ifru';
+$wb['pw_button_txt'] = 'Pošalji šifru';
 $wb['email_txt'] = 'Email';
 $wb['theme_not_compatible'] = 'The chosen theme is not compatible with the current ISPConfig version. Please check for a new version of the theme.<br />The default theme as been activated automatically.';
-$wb['back_txt'] = 'Back';
+$wb['back_txt'] = 'Natrag';
 $wb['email_error'] = 'Email contains unallowed characters or has a invalid format.';
 $wb['stay_logged_in_txt'] = 'Keep me logged in';
 ?>
+
+
diff --git a/interface/web/login/lib/lang/hr_login_as.lng b/interface/web/login/lib/lang/hr_login_as.lng
index c660ff1a4b..bbb66c6310 100644
--- a/interface/web/login/lib/lang/hr_login_as.lng
+++ b/interface/web/login/lib/lang/hr_login_as.lng
@@ -3,9 +3,11 @@ $wb['login_1_txt'] = 'Do you want to login as user';
 $wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.';
 $wb['btn_yes_txt'] = 'Yes, login as Client';
 $wb['btn_back_txt'] = 'No, back to list';
-$wb['udp_port_help_txt'] = 'Separated by comma';
-$wb['active_txt'] = 'Active';
+$wb['udp_port_help_txt'] = 'Odvojeno zarezom';
+$wb['active_txt'] = 'Aktivno';
 $wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
 $wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
 $wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr.lng b/interface/web/mail/lib/lang/hr.lng
index 313a90c4dc..96cb6e472d 100644
--- a/interface/web/mail/lib/lang/hr.lng
+++ b/interface/web/mail/lib/lang/hr.lng
@@ -5,7 +5,7 @@ $wb['Blacklist'] = 'Blacklista';
 $wb['Mail Content Filter'] = 'Sadržaj mail filtera';
 $wb['Filter'] = 'Filter';
 $wb['Mail Domain'] = 'Mail domena';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
 $wb['Email Catchall'] = 'Email catchall';
 $wb['Email Forward'] = 'Email proslijeđivanje';
 $wb['Get Email'] = 'Primi poštu';
@@ -46,3 +46,5 @@ $wb['Domain Alias'] = 'Alias domena';
 $wb['Relay Recipients'] = 'Relay primatelji';
 $wb['Mailbox quota'] = 'Mailbox quota';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_alias.lng b/interface/web/mail/lib/lang/hr_mail_alias.lng
index afd66333c8..85cfcbd2bd 100644
--- a/interface/web/mail/lib/lang/hr_mail_alias.lng
+++ b/interface/web/mail/lib/lang/hr_mail_alias.lng
@@ -12,3 +12,5 @@ $wb['domain_txt'] = 'Domena';
 $wb['duplicate_email_alias_txt'] = 'This email alias does already exist.';
 $wb['source_txt'] = 'Alias';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_alias_list.lng b/interface/web/mail/lib/lang/hr_mail_alias_list.lng
index 2790cb345d..ba1bd7bb9b 100644
--- a/interface/web/mail/lib/lang/hr_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_alias_list.lng
@@ -6,3 +6,5 @@ $wb['destination_txt'] = 'Odredište';
 $wb['email_txt'] = 'Email';
 $wb['add_new_record_txt'] = 'Dodaj email alias';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng b/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
index fc77f6c739..9797edbf4e 100644
--- a/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
@@ -9,3 +9,5 @@ $wb['source_error_empty'] = 'Izvorna domena je prazna.';
 $wb['source_error_unique'] = 'Duplicirana izvorna domena.';
 $wb['source_error_regex'] = 'Neispravan naziv izvorne domene.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
index 3aa5514916..b9551d2f79 100644
--- a/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
@@ -5,3 +5,5 @@ $wb['source_txt'] = 'Izvor';
 $wb['destination_txt'] = 'Destinacija';
 $wb['add_new_record_txt'] = 'Add new Domain alias';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_blacklist.lng b/interface/web/mail/lib/lang/hr_mail_blacklist.lng
index dbce8de10d..722f56b9bf 100644
--- a/interface/web/mail/lib/lang/hr_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_blacklist.lng
@@ -7,3 +7,5 @@ $wb['source_error_notempty'] = 'Adresa je prazna';
 $wb['type_txt'] = 'Vrsta';
 $wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng b/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
index 8cbb63a3bd..f600904bf1 100644
--- a/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
@@ -8,3 +8,5 @@ $wb['recipient_txt'] = 'Primatelj';
 $wb['add_new_record_txt'] = 'Dodaj novi zapis na blacklistu';
 $wb['access_txt'] = 'pristup';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_content_filter.lng b/interface/web/mail/lib/lang/hr_mail_content_filter.lng
index f012957a76..75e0e1f0a3 100644
--- a/interface/web/mail/lib/lang/hr_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_content_filter.lng
@@ -7,3 +7,5 @@ $wb['action_txt'] = 'Akcija';
 $wb['active_txt'] = 'Aktivno';
 $wb['pattern_error_empty'] = 'Postupak je prazan.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng b/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
index 2657227009..d712e753f3 100644
--- a/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
@@ -6,3 +6,5 @@ $wb['pattern_txt'] = 'Pattern';
 $wb['action_txt'] = 'Akcija';
 $wb['add_new_record_txt'] = 'Add new Content Filter';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain.lng b/interface/web/mail/lib/lang/hr_mail_domain.lng
index 6dae122b59..39fc41414e 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain.lng
@@ -11,3 +11,5 @@ $wb['limit_maildomain_txt'] = 'Iskorišten je maksimalan broj email domena.';
 $wb['policy_txt'] = 'Spamfilter';
 $wb['no_policy'] = '- nema pravila -';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
index 4d13ef314f..c8dc1bf798 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
@@ -6,3 +6,5 @@ $wb['add_new_record_txt'] = 'Dodaj domenu';
 $wb['active_txt'] = 'Aktivno';
 $wb['sys_groupid_txt'] = 'Klijent';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng b/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
index 2c8d23e218..cf6624c840 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
@@ -9,3 +9,5 @@ $wb['limit_mailcatchall_txt'] = 'Iskorišten ja maksimalan broj email catchall r
 $wb['source_txt'] = 'Source';
 $wb['destination_error_isemail'] = 'Destination is no valid email address.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
index 81108fa9e0..a11e2a3648 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
@@ -7,3 +7,5 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domena';
 $wb['add_new_record_txt'] = 'Dodaj catchall';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_list.lng
index e078c283cb..8102d1a61c 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_list.lng
@@ -5,3 +5,5 @@ $wb['domain_txt'] = 'Domena';
 $wb['add_new_record_txt'] = 'Dodaj domenu';
 $wb['active_txt'] = 'Aktivno';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_forward.lng b/interface/web/mail/lib/lang/hr_mail_forward.lng
index 3cad2bfcd8..b43a3071a7 100644
--- a/interface/web/mail/lib/lang/hr_mail_forward.lng
+++ b/interface/web/mail/lib/lang/hr_mail_forward.lng
@@ -5,5 +5,7 @@ $wb['active_txt'] = 'Aktivno';
 $wb['limit_mailforward_txt'] = 'Iskorišten je maksimalan broj email forwardera.';
 $wb['duplicate_mailbox_txt'] = 'Već postoji mailbox sa tom email adresom';
 $wb['domain_txt'] = 'Domena';
-$wb['source_txt'] = 'Source Email';
+$wb['source_txt'] = 'Izvorni email';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_forward_list.lng b/interface/web/mail/lib/lang/hr_mail_forward_list.lng
index 895fafb6db..ad29df2e6d 100644
--- a/interface/web/mail/lib/lang/hr_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_forward_list.lng
@@ -6,3 +6,5 @@ $wb['destination_txt'] = 'Destinacija';
 $wb['email_txt'] = 'Email';
 $wb['add_new_record_txt'] = 'Add new Email forward';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_get.lng b/interface/web/mail/lib/lang/hr_mail_get.lng
index 18c53a4d53..4d5cb02213 100644
--- a/interface/web/mail/lib/lang/hr_mail_get.lng
+++ b/interface/web/mail/lib/lang/hr_mail_get.lng
@@ -17,3 +17,5 @@ $wb['source_read_all_txt'] = 'Retrieve all emails (incl. read mails)';
 $wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \\"Delete emails after retrieval\\" = no together with \\"Retrieve all emails\\" = yes';
 $wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_get_list.lng b/interface/web/mail/lib/lang/hr_mail_get_list.lng
index 9cd92dd970..bdd21ab6ae 100644
--- a/interface/web/mail/lib/lang/hr_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_get_list.lng
@@ -7,3 +7,5 @@ $wb['source_username_txt'] = 'Korisničko ime';
 $wb['destination_txt'] = 'Destinacija';
 $wb['add_new_record_txt'] = 'Dodaj novi račun';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_mailinglist.lng b/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
index 361af68e39..f800382b13 100644
--- a/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
@@ -12,11 +12,13 @@ $wb['listname_txt'] = 'Naziv liste';
 $wb['client_txt'] = 'Klijent';
 $wb['email_txt'] = 'Email';
 $wb['password_txt'] = 'Å ifra';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 $wb['listname_error_unique'] = 'There is already a mailinlist with name on the server. Please choose a different listname.';
-$wb['email_error_isemail'] = 'Email address is invalid.';
-$wb['mailinglist_txt'] = 'Mailing list';
+$wb['email_error_isemail'] = 'Email adresa je neispravna.';
+$wb['mailinglist_txt'] = 'Email lista';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
index 48b8c8b323..8550dedef4 100644
--- a/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
@@ -3,3 +3,5 @@ $wb['list_head_txt'] = 'Mailing lista';
 $wb['domain_txt'] = 'Domena';
 $wb['listname_txt'] = 'Naziv liste';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng b/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
index 3555ed250c..73f4d78c54 100644
--- a/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
@@ -7,3 +7,5 @@ $wb['source_error_notempty'] = 'Adresa je prazna';
 $wb['type_txt'] = 'Vrsta';
 $wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
index ad15e008b1..f6ed8e0c2e 100644
--- a/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
@@ -7,3 +7,5 @@ $wb['recipient_txt'] = 'Pimatelj';
 $wb['add_new_record_txt'] = 'Add new relay recipient';
 $wb['access_txt'] = 'pristup';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_spamfilter.lng b/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
index 90321d0d86..8024069091 100644
--- a/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
@@ -15,3 +15,5 @@ $wb['email_error_unique'] = 'There is already an spamfilter record for this emai
 $wb['spam_redirect_maildir_purge_txt'] = 'Purge Maildir after';
 $wb['days_txt'] = 'Days.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
index 654bc339e2..988fbf4bc1 100644
--- a/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
@@ -6,3 +6,5 @@ $wb['server_name_txt'] = 'server_name';
 $wb['email_txt'] = 'Email';
 $wb['add_new_record_txt'] = 'Add new Spamfilter record';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_transport.lng b/interface/web/mail/lib/lang/hr_mail_transport.lng
index c27687f956..93c2f01a00 100644
--- a/interface/web/mail/lib/lang/hr_mail_transport.lng
+++ b/interface/web/mail/lib/lang/hr_mail_transport.lng
@@ -9,3 +9,5 @@ $wb['active_txt'] = 'Aktivno';
 $wb['limit_mailrouting_txt'] = 'Iskorišten je maksimalan broj ruta.';
 $wb['transport_txt'] = 'Transport';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_transport_list.lng b/interface/web/mail/lib/lang/hr_mail_transport_list.lng
index d86d9e5516..012786468a 100644
--- a/interface/web/mail/lib/lang/hr_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_transport_list.lng
@@ -7,3 +7,5 @@ $wb['transport_txt'] = 'Transport';
 $wb['sort_order_txt'] = 'Sort by';
 $wb['add_new_record_txt'] = 'Add new transport';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user.lng b/interface/web/mail/lib/lang/hr_mail_user.lng
index d91dd2be09..67d7746a69 100644
--- a/interface/web/mail/lib/lang/hr_mail_user.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user.lng
@@ -43,11 +43,13 @@ $wb['error_login_email_txt'] = 'This login is not allowed. Please enter a differ
 $wb['autoresponder_start_date_ispast'] = 'Start date cannot be in the past.';
 $wb['autoresponder_subject_txt'] = 'Email Subject';
 $wb['autoresponder_subject'] = 'Out of office reply';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 $wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.';
 $wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
 $wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter.lng b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
index dc90099436..acc99b2565 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
@@ -1,20 +1,22 @@
 <?php
-$wb['rulename_txt'] = 'Name';
+$wb['rulename_txt'] = 'Naziv';
 $wb['action_txt'] = 'Akcija';
 $wb['target_txt'] = 'Folder';
 $wb['active_txt'] = 'Aktivno';
-$wb['rulename_error_empty'] = 'Name is empty.';
-$wb['searchterm_is_empty'] = 'Search term is empty.';
+$wb['rulename_error_empty'] = 'Naziv je prazan.';
+$wb['searchterm_is_empty'] = 'Traženi pojam je prazan.';
 $wb['source_txt'] = 'Izvor';
-$wb['target_error_regex'] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}';
-$wb['limit_mailfilter_txt'] = 'The max. number of mailfilters is reached.';
+$wb['target_error_regex'] = 'Folder može sadržavati samo ove znakove: a-z, 0-9, -, ., _, i {space}';
+$wb['limit_mailfilter_txt'] = 'Iskorišten je maksimalni broj mail filtera.';
 $wb['subject_txt'] = 'Naslov';
 $wb['from_txt'] = 'Pošiljatelj';
 $wb['to_txt'] = 'Primatelj';
 $wb['contains_txt'] = 'Sadrži';
 $wb['is_txt'] = 'Is';
-$wb['begins_with_txt'] = 'Begins with';
-$wb['ends_with_txt'] = 'Ends with';
-$wb['move_to_txt'] = 'Move to';
+$wb['begins_with_txt'] = 'Počinje sa';
+$wb['ends_with_txt'] = 'Završava sa';
+$wb['move_to_txt'] = 'Prebaci u';
 $wb['delete_txt'] = 'Obriši';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng b/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
index d101a72177..1cad4871e3 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['rulename_txt'] = 'Name';
-$wb['add_new_record_txt'] = 'Add new Filter';
+$wb['rulename_txt'] = 'Naziv';
+$wb['add_new_record_txt'] = 'Dodaj novi filter';
 $wb['page_txt'] = 'Stranica';
 $wb['page_of_txt'] = 'od';
-$wb['delete_confirmation'] = 'Do you really want to Delete the mailfilter?';
+$wb['delete_confirmation'] = 'Da li stvarno želite obrisati email filter?';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_list.lng b/interface/web/mail/lib/lang/hr_mail_user_list.lng
index 762aea1d42..b56aa47172 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_list.lng
@@ -1,8 +1,10 @@
 <?php
-$wb['list_head_txt'] = 'Mailbox';
+$wb['list_head_txt'] = 'Email sandučić';
 $wb['email_txt'] = 'Email';
 $wb['autoresponder_txt'] = 'Automatski odgovor';
-$wb['add_new_record_txt'] = 'Dodaj mailbox';
+$wb['add_new_record_txt'] = 'Dodaj email sandučić';
 $wb['name_txt'] = 'Ime';
 $wb['login_txt'] = 'Prijava';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng b/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
index edde65bd7a..df269d69aa 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
@@ -6,3 +6,5 @@ $wb['last_month_txt'] = 'Last month';
 $wb['this_year_txt'] = 'This year';
 $wb['last_year_txt'] = 'Last year';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_whitelist.lng b/interface/web/mail/lib/lang/hr_mail_whitelist.lng
index a43e8eef46..bd01a3c86a 100644
--- a/interface/web/mail/lib/lang/hr_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_whitelist.lng
@@ -7,3 +7,5 @@ $wb['source_error_notempty'] = 'Adresa je prazna';
 $wb['type_txt'] = 'Vrsta';
 $wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
index d1562e6ce5..94f7c92742 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
@@ -10,3 +10,5 @@ $wb['10 - highest'] = '10 - highest';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lowest';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
index 8a21dd6689..c704b2a578 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
@@ -7,3 +7,5 @@ $wb['rid_txt'] = 'User';
 $wb['email_txt'] = 'Blacklisted Email';
 $wb['add_new_record_txt'] = 'Add Blacklist record';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_config.lng b/interface/web/mail/lib/lang/hr_spamfilter_config.lng
index 2843133ca3..d531cc14e8 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_config.lng
@@ -18,3 +18,5 @@ $wb['relayhost_password_txt'] = 'Relayhost Password';
 $wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit';
 $wb['message_size_limit_txt'] = 'Message Size Limit';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
index ac925e4ee9..f18951240b 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
@@ -3,3 +3,5 @@ $wb['list_head_txt'] = 'Konfiguracija servera';
 $wb['server_name_txt'] = 'Server';
 $wb['server_id_txt'] = 'server_id';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_policy.lng b/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
index e876330a68..877c431b17 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
@@ -36,3 +36,5 @@ $wb['spam_admin_txt'] = 'SPAM admin';
 $wb['message_size_limit_txt'] = 'Message size limit';
 $wb['banned_rulenames_txt'] = 'Banned rulenames';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
index 84381b241e..c984e4190b 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
@@ -7,3 +7,5 @@ $wb['banned_files_lover_txt'] = 'Zabranjene datoteke';
 $wb['bad_header_lover_txt'] = 'Neispravan header';
 $wb['add_new_record_txt'] = 'Dodaj pravilo';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_users.lng b/interface/web/mail/lib/lang/hr_spamfilter_users.lng
index 9969ef421d..24d7c783c2 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_users.lng
@@ -11,3 +11,5 @@ $wb['10 - highest'] = '10 - highest';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lowest';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
index 99e4636f66..d56e1c68db 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
@@ -8,3 +8,5 @@ $wb['fullname_txt'] = 'Name';
 $wb['email_txt'] = 'Email';
 $wb['add_new_record_txt'] = 'Add Spamfilter User';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
index d1562e6ce5..94f7c92742 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
@@ -10,3 +10,5 @@ $wb['10 - highest'] = '10 - highest';
 $wb['5 - medium'] = '5 - medium';
 $wb['1 - lowest'] = '1 - lowest';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
index 7dd21f10a6..9c8dd1ac29 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
@@ -7,3 +7,5 @@ $wb['rid_txt'] = 'Korisnik';
 $wb['email_txt'] = 'Whitelistani email';
 $wb['add_new_record_txt'] = 'Dodaj whitelistu';
 ?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng b/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
index a41b1a94c6..45139608f9 100644
--- a/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
+++ b/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
@@ -1,8 +1,10 @@
 <?php
-$wb['list_head_txt'] = 'Mailbox quota';
-$wb['quota_txt'] = 'Kvota';
-$wb['name_txt'] = 'Name';
-$wb['email_txt'] = 'Email Address';
-$wb['used_txt'] = 'Used space';
-$wb['percentage_txt'] = 'Used %';
+$wb['list_head_txt'] = 'Limiti sandučića';
+$wb['quota_txt'] = 'Limit';
+$wb['name_txt'] = 'Ime';
+$wb['email_txt'] = 'Email adresa';
+$wb['used_txt'] = 'Prostor';
+$wb['percentage_txt'] = 'Koristi %';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr.lng b/interface/web/mailuser/lib/lang/hr.lng
index 114dec9b91..2113122875 100644
--- a/interface/web/mailuser/lib/lang/hr.lng
+++ b/interface/web/mailuser/lib/lang/hr.lng
@@ -1,9 +1,11 @@
 <?php
-$wb['Email Account'] = 'Email Account';
-$wb['Overview'] = 'Overview';
-$wb['Password'] = 'Password';
+$wb['Email Account'] = 'Email račun';
+$wb['Overview'] = 'Pregled';
+$wb['Password'] = 'Å ifra';
 $wb['Autoresponder'] = 'Autoresponder';
-$wb['Send copy'] = 'Send copy';
+$wb['Send copy'] = 'Pošalji kopiju';
 $wb['Spamfilter'] = 'Spamfilter';
-$wb['Email Filters'] = 'Email Filters';
+$wb['Email Filters'] = 'Email filteri';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_index.lng b/interface/web/mailuser/lib/lang/hr_index.lng
index 29fe9ea4f3..5daeff1eef 100644
--- a/interface/web/mailuser/lib/lang/hr_index.lng
+++ b/interface/web/mailuser/lib/lang/hr_index.lng
@@ -1,12 +1,14 @@
 <?php
-$wb['page_head_txt'] = 'Mailbox settings';
+$wb['page_head_txt'] = 'Postavke sandučića';
 $wb['page_desc_txt'] = 'Here you can edit the settings for the email account.';
-$wb['email_txt'] = 'Email address';
-$wb['login_txt'] = 'Login';
-$wb['server_address_txt'] = 'Mailserver address';
-$wb['cc_txt'] = 'Send copy to (CC)';
-$wb['quota_txt'] = 'Mailbox size';
-$wb['unlimited_txt'] = 'Unlimited';
+$wb['email_txt'] = 'Email adresa';
+$wb['login_txt'] = 'Prijava';
+$wb['server_address_txt'] = 'Adresa mail servera';
+$wb['cc_txt'] = 'Pošalji kopiju na (CC)';
+$wb['quota_txt'] = 'Veličina sandučića';
+$wb['unlimited_txt'] = 'Neograničeno';
 $wb['mb_txt'] = 'MB';
-$wb['none_txt'] = 'None';
+$wb['none_txt'] = 'Ništa';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
index 79f386a7dc..6cf47669f0 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
@@ -1,13 +1,15 @@
 <?php
 $wb['mailbox_autoresponder_txt'] = 'Autoresponder';
 $wb['autoresponder_subject'] = 'Out of office reply';
-$wb['autoresponder_text_txt'] = 'Text';
+$wb['autoresponder_text_txt'] = 'Tekst';
 $wb['autoresponder_txt'] = 'Active';
 $wb['autoresponder_start_date_txt'] = 'Start on';
 $wb['autoresponder_start_date_isfuture'] = 'Start date cannot be in the past.';
 $wb['autoresponder_end_date_txt'] = 'End by';
 $wb['autoresponder_end_date_isgreater'] = 'End date must be set and be later than start date.';
 $wb['autoresponder_active'] = 'Enable the autoresponder';
-$wb['now_txt'] = 'Now';
+$wb['now_txt'] = 'Sada';
 $wb['autoresponder_subject_txt'] = 'Betreff';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng b/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
index 81877884cc..4c54745302 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
@@ -7,3 +7,5 @@ $wb['email_is_cc_error'] = 'Email address and send copy to address can not be th
 $wb['name_optional_txt'] = '(Optional)';
 $wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng b/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
index 2e74ffd4f7..33679318d7 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
@@ -1,20 +1,22 @@
 <?php
-$wb['rulename_txt'] = 'Name';
-$wb['action_txt'] = 'Action';
-$wb['target_txt'] = 'Folder';
-$wb['active_txt'] = 'Active';
-$wb['rulename_error_empty'] = 'Name is empty.';
-$wb['searchterm_is_empty'] = 'Search term is empty.';
-$wb['source_txt'] = 'Source';
-$wb['target_error_regex'] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}';
-$wb['limit_mailfilter_txt'] = 'The max. number of mailfilters is reached.';
-$wb['subject_txt'] = 'Subject';
-$wb['from_txt'] = 'From';
-$wb['to_txt'] = 'To';
-$wb['contains_txt'] = 'Contains';
-$wb['is_txt'] = 'Is';
-$wb['begins_with_txt'] = 'Begins with';
-$wb['ends_with_txt'] = 'Ends with';
-$wb['move_to_txt'] = 'Move to';
-$wb['delete_txt'] = 'Delete';
+$wb['rulename_txt'] = 'Naziv';
+$wb['action_txt'] = 'Akcija';
+$wb['target_txt'] = 'Direktorij';
+$wb['active_txt'] = 'Aktivno';
+$wb['rulename_error_empty'] = 'Naziv je prazan.';
+$wb['searchterm_is_empty'] = 'Traženi pojam je prazan.';
+$wb['source_txt'] = 'Izvor';
+$wb['target_error_regex'] = 'Odredište može sadržavati samo ove znakove: a-z, 0-9, -, ., _, i {space}';
+$wb['limit_mailfilter_txt'] = 'Iskoristili ste maksimalan broj mail filtera.';
+$wb['subject_txt'] = 'Naslov';
+$wb['from_txt'] = 'Od';
+$wb['to_txt'] = 'Za';
+$wb['contains_txt'] = 'Sadrži';
+$wb['is_txt'] = 'je';
+$wb['begins_with_txt'] = 'Počinje sa';
+$wb['ends_with_txt'] = 'Završava sa';
+$wb['move_to_txt'] = 'Prebaci u ';
+$wb['delete_txt'] = 'Obriši';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
index fb6b9dfa5d..640365998b 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
@@ -1,8 +1,10 @@
 <?php
-$wb['list_head_txt'] = 'Email filter rules';
-$wb['rulename_txt'] = 'Name';
-$wb['add_new_record_txt'] = 'Add new Filter';
-$wb['page_txt'] = 'Page';
-$wb['page_of_txt'] = 'of';
-$wb['delete_confirmation'] = 'Do you really want to delete the mailfilter?';
+$wb['list_head_txt'] = 'Prvila za email filtere';
+$wb['rulename_txt'] = 'Naziv';
+$wb['add_new_record_txt'] = 'Dodaj novi filter';
+$wb['page_txt'] = 'Stranica';
+$wb['page_of_txt'] = 'od';
+$wb['delete_confirmation'] = 'Da li stvarno želite obrisati ovaj mail filter?';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_password.lng b/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
index cdf9674e70..73d6c7dfb0 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
@@ -1,10 +1,12 @@
 <?php
-$wb['mailbox_password_txt'] = 'Mailbox password';
-$wb['password_txt'] = 'Password';
-$wb['password_strength_txt'] = 'Password strength';
+$wb['mailbox_password_txt'] = 'Mailbox Å¡ifra';
+$wb['password_txt'] = 'Å ifra';
+$wb['password_strength_txt'] = 'Jačina šifre';
 $wb['email_txt'] = 'Email';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 ?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
index be4bad9050..0f82f0aa94 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['mailbox_spamfilter_txt'] = 'Spamfilter';
-$wb['spamfilter_txt'] = 'Spamfilter';
+$wb['mailbox_spamfilter_txt'] = 'Spam filter';
+$wb['spamfilter_txt'] = 'Spam filter';
 $wb['email_txt'] = 'Email';
-$wb['no_policy'] = '- not enabled -';
-$wb['policy_txt'] = 'Policy';
+$wb['no_policy'] = '- isključeno -';
+$wb['policy_txt'] = 'Pravila';
 ?>
+
+
diff --git a/interface/web/monitor/lib/lang/hr.lng b/interface/web/monitor/lib/lang/hr.lng
index da1a09dc6b..7924392541 100644
--- a/interface/web/monitor/lib/lang/hr.lng
+++ b/interface/web/monitor/lib/lang/hr.lng
@@ -73,7 +73,7 @@ $wb['monitor_serverstate_critical_txt'] = 'kritičnih';
 $wb['monitor_serverstate_error_txt'] = 'grešaka/i';
 $wb['monitor_serverstate_moreinfo_txt'] = 'Više informacija...';
 $wb['monitor_serverstate_more_txt'] = 'Više...';
-$wb['monitor_serverstate_fclamok_txt'] = 'Antivirusna zaštita je ok';
+$wb['monitor_serverstate_fclamok_txt'] = 'Antivirusna zaštita je OK';
 $wb['monitor_serverstate_fclamoutdated_txt'] = 'Vaša antivirusna zaštita je stara!';
 $wb['monitor_serverstate_fclamunknown_txt'] = 'Freshclam: ???!';
 $wb['monitor_serverstate_hdok_txt'] = 'Stanje vašeg tvrdog diska je ok';
@@ -88,19 +88,19 @@ $wb['monitor_serverstate_listwarning_txt'] = 'upozorenje';
 $wb['monitor_serverstate_listcritical_txt'] = 'kritično';
 $wb['monitor_serverstate_listerror_txt'] = 'greška';
 $wb['monitor_serverstate_listunknown_txt'] = 'nepoznato';
-$wb['monitor_serverstate_loadok_txt'] = 'Opterećenje servera je ok';
+$wb['monitor_serverstate_loadok_txt'] = 'Opterećenje servera je OK';
 $wb['monitor_serverstate_loadheavy_txt'] = 'Server je pod opterećenjem';
 $wb['monitor_serverstate_loadhigh_txt'] = 'Server je pod velikim opterećenjem';
 $wb['monitor_serverstate_loaghigher_txt'] = 'Server je pod vrlo velikim opterećenjem';
 $wb['monitor_serverstate_loadhighest_txt'] = 'Server je maksimalno opterećen';
 $wb['monitor_serverstate_loadunknown_txt'] = 'Opterećenje servera: ???';
-$wb['monitor_serverstate_mailqok_txt'] = 'Mail redoslijed opterećenje je ok';
+$wb['monitor_serverstate_mailqok_txt'] = 'Mail redoslijed opterećenje je OK';
 $wb['monitor_serverstate_mailqheavy_txt'] = 'Mail redoslijed je pod opterećenjem';
 $wb['monitor_serverstate_mailqhigh_txt'] = 'Mail redoslijed je pod velikim opterećenjem';
 $wb['monitor_serverstate_mailqhigher_txt'] = 'Mail redoslijed je pod vrlo velikim opterećenjem';
 $wb['monitor_serverstate_mailqhighest_txt'] = 'Mail redoslijed je maksimalno opterećen';
 $wb['monitor_serverstate_mailqunknown_txt'] = 'Mail redoslijed: ???';
-$wb['monitor_serverstate_raidok_txt'] = 'RAID je ok';
+$wb['monitor_serverstate_raidok_txt'] = 'RAID je OK';
 $wb['monitor_serverstate_raidresync_txt'] = 'RAID je u RESYNC modu';
 $wb['monitor_serverstate_raidfault_txt'] = 'Jedan RAID disk je neispravan. Zamjenite disk Å¡to prije';
 $wb['monitor_serverstate_raiderror_txt'] = 'RAID više ne radi';
@@ -115,7 +115,7 @@ $wb['monitor_serverstate_syslogunknown_txt'] = 'Sistemski log: ???';
 $wb['monitor_serverstate_updatesok_txt'] = 'Nema nadogradnji za sistem.';
 $wb['monitor_serverstate_updatesneeded_txt'] = 'Postoji nadogradnja za jednu ili više komponenti ';
 $wb['monitor_serverstate_updatesunknown_txt'] = 'Nadogradnja sistema: ???';
-$wb['monitor_serverstate_beancounterok_txt'] = 'Beancounter je ok';
+$wb['monitor_serverstate_beancounterok_txt'] = 'Beancounter je OK';
 $wb['monitor_serverstate_beancounterinfo_txt'] = 'Postoje greške u beancounter-u';
 $wb['monitor_serverstate_beancounterwarning_txt'] = 'Postoji par greški u beancounter-u';
 $wb['monitor_serverstate_beancountercritical_txt'] = 'Postoji puno grešaka u beancounter-u';
@@ -146,10 +146,12 @@ $wb['monitor_title_iptables_txt'] = 'IPTables zaštita';
 $wb['Show fail2ban-Log'] = 'Prikaži Fail2Ban log';
 $wb['Show IPTables'] = 'Prikaži IPTables';
 $wb['Show OpenVz VE BeanCounter'] = 'Prikaži OpenVz VE BeanCounter';
-$wb['Show Monit'] = 'Show Monit';
-$wb['no_monit_url_defined_txt'] = 'No Monit URL defined.';
-$wb['no_permissions_to_view_monit_txt'] = 'You are not allowed to access Monit.';
-$wb['Show Munin'] = 'Show Munin';
+$wb['Show Monit'] = 'Prikaži Monit';
+$wb['no_monit_url_defined_txt'] = 'Monit URL nije definiran.';
+$wb['no_permissions_to_view_monit_txt'] = 'Nemate dozvolu za pristup Monit-u.';
+$wb['Show Munin'] = 'Prikaži Munin';
 $wb['no_munin_url_defined_txt'] = 'No Munin URL defined.';
-$wb['no_permissions_to_view_munin_txt'] = 'You are not allowed to access Munin.';
+$wb['no_permissions_to_view_munin_txt'] = 'Nemate dozvolu za pristup Munin-u.';
 ?>
+
+
diff --git a/interface/web/monitor/lib/lang/hr_datalog_list.lng b/interface/web/monitor/lib/lang/hr_datalog_list.lng
index e6e8f86529..46b0c64a0f 100644
--- a/interface/web/monitor/lib/lang/hr_datalog_list.lng
+++ b/interface/web/monitor/lib/lang/hr_datalog_list.lng
@@ -6,3 +6,5 @@ $wb['dbtable_txt'] = 'Tablica u bazi';
 $wb['action_txt'] = 'Akcija';
 $wb['status_txt'] = 'Status';
 ?>
+
+
diff --git a/interface/web/monitor/lib/lang/hr_syslog_list.lng b/interface/web/monitor/lib/lang/hr_syslog_list.lng
index 83c5fcdf49..2193d38c36 100644
--- a/interface/web/monitor/lib/lang/hr_syslog_list.lng
+++ b/interface/web/monitor/lib/lang/hr_syslog_list.lng
@@ -5,3 +5,5 @@ $wb['server_id_txt'] = 'Server';
 $wb['loglevel_txt'] = 'Logovi';
 $wb['message_txt'] = 'Poruka';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr.lng b/interface/web/sites/lib/lang/hr.lng
index 8a18c47639..4105a59f01 100644
--- a/interface/web/sites/lib/lang/hr.lng
+++ b/interface/web/sites/lib/lang/hr.lng
@@ -1,15 +1,15 @@
 <?php
 $wb['Websites'] = 'Web stranice';
 $wb['Website'] = 'Web stranice';
-$wb['Subdomain'] = 'Poddomena';
+$wb['Subdomain'] = 'Poddomene';
 $wb['Aliasdomain'] = 'Alias za web stranicu';
 $wb['Database'] = 'Baza';
-$wb['Web Access'] = 'Web Access';
-$wb['FTP-User'] = 'FTP korisnik';
+$wb['Web Access'] = 'Web pristup';
+$wb['FTP-User'] = 'FTP korisnici';
 $wb['Webdav-User'] = 'Webdav korisnik';
-$wb['Folder'] = 'Protected Folders';
-$wb['Folder users'] = 'Protected Folder Users';
-$wb['Command Line'] = 'Command Line';
+$wb['Folder'] = 'Zaštićeni direktoriji';
+$wb['Folder users'] = 'Korisnici zaštićenih direktorija';
+$wb['Command Line'] = 'Komandna linija';
 $wb['Shell-User'] = 'Shell korisnik';
 $wb['Cron Jobs'] = 'Cron zadaci';
 $wb['Statistics'] = 'Statistike';
@@ -21,15 +21,17 @@ $wb['Shell'] = 'Shell';
 $wb['Webdav'] = 'WebDAV';
 $wb['FTP'] = 'FTP';
 $wb['Options'] = 'Opcije';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
 $wb['Redirect'] = 'Preusmjeravanje';
 $wb['SSL'] = 'SSL';
-$wb['Sites'] = 'Sites';
-$wb['Database User'] = 'Database Users';
-$wb['APS Installer'] = 'APS Installer';
-$wb['Available packages'] = 'Available packages';
-$wb['Installed packages'] = 'Installed packages';
-$wb['Update Packagelist'] = 'Update Packagelist';
-$wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)';
-$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
+$wb['Sites'] = 'Stranice';
+$wb['Database User'] = 'Korisnici baze';
+$wb['APS Installer'] = 'APS instalacija';
+$wb['Available packages'] = 'Dostupni paketi';
+$wb['Installed packages'] = 'Instalirani paketi';
+$wb['Update Packagelist'] = 'Osvježi listu paketa';
+$wb['Subdomain (Vhost)'] = 'Poddomena (Vhost)';
+$wb['error_proxy_requires_url'] = '\\"proxy\\" redirekcija zahtijeva URL za redirekcijsku putanju.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps.lng b/interface/web/sites/lib/lang/hr_aps.lng
index 29fb7b6a40..799e3370f8 100644
--- a/interface/web/sites/lib/lang/hr_aps.lng
+++ b/interface/web/sites/lib/lang/hr_aps.lng
@@ -1,37 +1,37 @@
 <?php
-$wb['overview_txt'] = 'Overview';
-$wb['administration_txt'] = 'Administration';
-$wb['available_packages_txt'] = 'Available packages';
-$wb['installed_packages_txt'] = 'Installed packages';
-$wb['yes_txt'] = 'Yes';
-$wb['no_txt'] = 'No';
-$wb['invalid_id_txt'] = 'No valid ID has been provided.';
-$wb['details_txt'] = 'Details';
-$wb['version_txt'] = 'Version';
-$wb['category_txt'] = 'Category';
-$wb['homepage_txt'] = 'Homepage';
+$wb['overview_txt'] = 'Pregled';
+$wb['administration_txt'] = 'Administracija';
+$wb['available_packages_txt'] = 'Dostupni paketi';
+$wb['installed_packages_txt'] = 'Instalirani paketi';
+$wb['yes_txt'] = 'Da';
+$wb['no_txt'] = 'Ne';
+$wb['invalid_id_txt'] = 'ID nije ispravan.';
+$wb['details_txt'] = 'Detalji';
+$wb['version_txt'] = 'Verzija';
+$wb['category_txt'] = 'Kategorija';
+$wb['homepage_txt'] = 'Web stranica';
 $wb['supported_languages_txt'] = 'Supported languages';
-$wb['description_txt'] = 'Description';
+$wb['description_txt'] = 'Opis';
 $wb['config_script_txt'] = 'Configuration script';
 $wb['installed_size_txt'] = 'Size after installation';
-$wb['license_txt'] = 'License';
-$wb['screenshots_txt'] = 'Screenshots';
-$wb['changelog_txt'] = 'Changelog';
-$wb['server_requirements_txt'] = 'Server requirements';
-$wb['php_extensions_txt'] = 'PHP extensions';
-$wb['php_settings_txt'] = 'PHP settings';
-$wb['supported_php_versions_txt'] = 'Supported PHP versions';
-$wb['database_txt'] = 'Database';
-$wb['settings_txt'] = 'Settings';
-$wb['install_package_txt'] = 'Install this package';
-$wb['installation_txt'] = 'Installation';
-$wb['install_location_txt'] = 'Install location';
-$wb['acceptance_txt'] = 'Acceptance';
-$wb['acceptance_text_txt'] = 'Yes, i\'ve read the license and agree.';
-$wb['install_language_txt'] = 'Interface language';
-$wb['new_database_password_txt'] = 'New database password';
-$wb['basic_settings_txt'] = 'Basic settings';
-$wb['package_settings_txt'] = 'Package settings';
+$wb['license_txt'] = 'Licenca';
+$wb['screenshots_txt'] = 'Slike';
+$wb['changelog_txt'] = 'Izmjene';
+$wb['server_requirements_txt'] = 'Server zahtjevi';
+$wb['php_extensions_txt'] = 'PHP ekstenzije';
+$wb['php_settings_txt'] = 'PHP postavke';
+$wb['supported_php_versions_txt'] = 'Podržane PHP verzije';
+$wb['database_txt'] = 'Baza';
+$wb['settings_txt'] = 'Postavke';
+$wb['install_package_txt'] = 'Instaliraj ovaj paket';
+$wb['installation_txt'] = 'Instalacija';
+$wb['install_location_txt'] = 'Lokacija instalacije';
+$wb['acceptance_txt'] = 'Potvrda';
+$wb['acceptance_text_txt'] = 'Da, pročitao sam licencu i prihvaćam.';
+$wb['install_language_txt'] = 'Jezik sučelja';
+$wb['new_database_password_txt'] = 'Nova Å¡ifra za bazu';
+$wb['basic_settings_txt'] = 'Standardne postavke';
+$wb['package_settings_txt'] = 'Opcije paketa';
 $wb['error_main_domain'] = 'The domain of the installation path is invalid.';
 $wb['error_no_main_location'] = 'You have provided no valid installation path.';
 $wb['error_inv_main_location'] = 'The given install location folder is invalid.';
@@ -47,12 +47,14 @@ $wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field
 $wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \\"%s\\".';
 $wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \\"%s\\".';
 $wb['error_used_location'] = 'The installation path already contains a package installation.';
-$wb['installation_task_txt'] = 'Install planned';
-$wb['installation_error_txt'] = 'Install error';
-$wb['installation_success_txt'] = 'Installed';
-$wb['installation_remove_txt'] = 'Removal planned';
-$wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.';
-$wb['btn_install_txt'] = 'Install';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.';
+$wb['installation_task_txt'] = 'Instalacija u postupku';
+$wb['installation_error_txt'] = 'Instalacijska greška';
+$wb['installation_success_txt'] = 'Instalirano';
+$wb['installation_remove_txt'] = 'Brisanje u postupku';
+$wb['packagelist_update_finished_txt'] = 'Nadogradnja APS liste paketa je završena.';
+$wb['btn_install_txt'] = 'Instaliraj';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['limit_aps_txt'] = 'Iskoristili ste maksimalan broj APS instanci za vaš račun.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_instances_list.lng b/interface/web/sites/lib/lang/hr_aps_instances_list.lng
index 052d834a71..2d737a6f7a 100644
--- a/interface/web/sites/lib/lang/hr_aps_instances_list.lng
+++ b/interface/web/sites/lib/lang/hr_aps_instances_list.lng
@@ -1,13 +1,15 @@
 <?php
-$wb['list_head_txt'] = 'Installed packages';
-$wb['name_txt'] = 'Name';
-$wb['version_txt'] = 'Version';
-$wb['customer_txt'] = 'Client';
+$wb['list_head_txt'] = 'Instalirani paketi';
+$wb['name_txt'] = 'Naziv';
+$wb['version_txt'] = 'Verzija';
+$wb['customer_txt'] = 'Klijent';
 $wb['status_txt'] = 'Status';
-$wb['install_location_txt'] = 'Install location';
-$wb['pkg_delete_confirmation'] = 'Do you really want to delete this installation?';
-$wb['pkg_reinstall_confirmation'] = 'Do you really want to reinstall this package with the same settings?';
-$wb['filter_txt'] = 'Search';
-$wb['delete_txt'] = 'Delete';
-$wb['reinstall_txt'] = 'Reinstall';
+$wb['install_location_txt'] = 'Lokacija instalacije';
+$wb['pkg_delete_confirmation'] = 'Da li stvarno želite obrisati ovu instalaciju?';
+$wb['pkg_reinstall_confirmation'] = 'Da li stvarno želite reinstalirati ovaj paket sa istim postavkama?';
+$wb['filter_txt'] = 'Traži';
+$wb['delete_txt'] = 'Obriši';
+$wb['reinstall_txt'] = 'Reinstaliraj';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_packages_list.lng b/interface/web/sites/lib/lang/hr_aps_packages_list.lng
index 68c378085f..7e7b6b30df 100644
--- a/interface/web/sites/lib/lang/hr_aps_packages_list.lng
+++ b/interface/web/sites/lib/lang/hr_aps_packages_list.lng
@@ -6,3 +6,5 @@ $wb['category_txt'] = 'Category';
 $wb['status_txt'] = 'Unlocked';
 $wb['filter_txt'] = 'Search';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng b/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
index ce9fcf68fb..591c49ccf7 100644
--- a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['head_txt'] = 'Update Packagelist';
+$wb['head_txt'] = 'Osvježi listu paketa';
 $wb['list_desc_txt'] = '';
-$wb['btn_start_txt'] = 'Update Packagelist';
-$wb['btn_cancel_txt'] = 'Cancel';
+$wb['btn_start_txt'] = 'Osvježi listu paketa';
+$wb['btn_cancel_txt'] = 'Odustani';
 $wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_cron.lng b/interface/web/sites/lib/lang/hr_cron.lng
index de37668bde..2bc8fb7d3f 100644
--- a/interface/web/sites/lib/lang/hr_cron.lng
+++ b/interface/web/sites/lib/lang/hr_cron.lng
@@ -18,7 +18,9 @@ $wb['run_month_error_format'] = 'Pogrešan format za mjesece.';
 $wb['run_wday_error_format'] = 'Pogrešan format za dane u tjednu.';
 $wb['command_error_format'] = 'Pogrešan format komande. U slučaju pozivanja URL-a koristite samo http/https.';
 $wb['unknown_fieldtype_error'] = 'Koristi se nepoznata vrsta polja.';
-$wb['server_id_error_empty'] = 'The server ID is empty.';
-$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
-$wb['command_error_empty'] = 'Command is empty.';
+$wb['server_id_error_empty'] = 'ID servera je preazan.';
+$wb['limit_cron_url_txt'] = 'Samo za URL cron. Unesite URL koji počinje sa http:// kao cron naredba.';
+$wb['command_error_empty'] = 'Naredba je prazna.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_cron_list.lng b/interface/web/sites/lib/lang/hr_cron_list.lng
index c0107df637..bf448ec0df 100644
--- a/interface/web/sites/lib/lang/hr_cron_list.lng
+++ b/interface/web/sites/lib/lang/hr_cron_list.lng
@@ -11,3 +11,5 @@ $wb['command_txt'] = 'Komanda';
 $wb['add_new_cron_txt'] = 'Dodaj novi cron zadatak';
 $wb['parent_domain_id_txt'] = 'Web stranica';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database.lng b/interface/web/sites/lib/lang/hr_database.lng
index 381e77a3b6..06e0d919d6 100644
--- a/interface/web/sites/lib/lang/hr_database.lng
+++ b/interface/web/sites/lib/lang/hr_database.lng
@@ -26,11 +26,11 @@ $wb['parent_domain_id_txt'] = 'Site';
 $wb['database_site_error_empty'] = 'Select the site to which the database belongs.';
 $wb['select_site_txt'] = '- Select Site -';
 $wb['btn_save_txt'] = 'Save';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 $wb['globalsearch_resultslimit_of_txt'] = 'of';
 $wb['globalsearch_resultslimit_results_txt'] = 'results';
 $wb['globalsearch_noresults_text_txt'] = 'No results.';
@@ -44,3 +44,5 @@ $wb['no_dbuser_txt'] = 'None';
 $wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.';
 $wb['database_user_missing_txt'] = 'Please select a database user for this database.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_admin_list.lng b/interface/web/sites/lib/lang/hr_database_admin_list.lng
index 19c99568b5..e0bbab5d33 100644
--- a/interface/web/sites/lib/lang/hr_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_admin_list.lng
@@ -7,5 +7,7 @@ $wb['database_user_txt'] = 'Korisnik baze';
 $wb['database_name_txt'] = 'Naziv baze';
 $wb['add_new_record_txt'] = 'Dodaj bazu';
 $wb['sys_groupid_txt'] = 'Klijent';
-$wb['parent_domain_id_txt'] = 'Website';
+$wb['parent_domain_id_txt'] = 'Web stranica';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_list.lng b/interface/web/sites/lib/lang/hr_database_list.lng
index baec9d4cd0..b98d44c28d 100644
--- a/interface/web/sites/lib/lang/hr_database_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_list.lng
@@ -6,5 +6,7 @@ $wb['server_id_txt'] = 'Server';
 $wb['database_user_txt'] = 'Korisnik baze';
 $wb['database_name_txt'] = 'Naziv baze';
 $wb['add_new_record_txt'] = 'Dodaj bazu';
-$wb['parent_domain_id_txt'] = 'Website';
+$wb['parent_domain_id_txt'] = 'Web stranica';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user.lng b/interface/web/sites/lib/lang/hr_database_user.lng
index 66a0718349..5499c13a24 100644
--- a/interface/web/sites/lib/lang/hr_database_user.lng
+++ b/interface/web/sites/lib/lang/hr_database_user.lng
@@ -1,23 +1,25 @@
 <?php
-$wb['database_user_txt'] = 'Database user';
-$wb['database_password_txt'] = 'Database password';
-$wb['password_strength_txt'] = 'Password strength';
-$wb['client_txt'] = 'Client';
-$wb['active_txt'] = 'Active';
+$wb['database_user_txt'] = 'Korisnik baze';
+$wb['database_password_txt'] = 'Å ifra za bazu';
+$wb['password_strength_txt'] = 'Jačina šifre';
+$wb['client_txt'] = 'Klijent';
+$wb['active_txt'] = 'Aktivno';
 $wb['database_user_error_empty'] = 'Database user is empty.';
-$wb['database_user_error_unique'] = 'There is already a database user with this name on the server. To get a unique name, e.g. prepend your domain name to the username.';
+$wb['database_user_error_unique'] = 'There is already a database user with this name on the server. To get a unique name, npr. prepend your domain name to the username.';
 $wb['database_user_error_regex'] = 'Invalid database user name. The username may contain these characters: a-z, A-Z, 0-9 and the underscore. Length: 2 - 64 characters.';
 $wb['database_user_error_len'] = 'Database username - {user} - too long. The max. database username length incl. prefix is 16 chars.';
-$wb['btn_save_txt'] = 'Save';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['globalsearch_resultslimit_of_txt'] = 'of';
-$wb['globalsearch_resultslimit_results_txt'] = 'results';
-$wb['globalsearch_noresults_text_txt'] = 'No results.';
-$wb['globalsearch_noresults_limit_txt'] = '0 results';
-$wb['globalsearch_searchfield_watermark_txt'] = 'Search';
-$wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
+$wb['btn_save_txt'] = 'Spremi';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user_admin_list.lng b/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
index d7f88c4c36..d9c9b72e79 100644
--- a/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
@@ -1,6 +1,8 @@
 <?php
-$wb['list_head_txt'] = 'Database User';
-$wb['database_user_txt'] = 'Database user';
-$wb['add_new_record_txt'] = 'Add new User';
-$wb['sys_groupid_txt'] = 'Client';
+$wb['list_head_txt'] = 'Korisnik baze';
+$wb['database_user_txt'] = 'Korisnik';
+$wb['add_new_record_txt'] = 'Dodaj';
+$wb['sys_groupid_txt'] = 'Klijent';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user_list.lng b/interface/web/sites/lib/lang/hr_database_user_list.lng
index 8c226496a6..04af3c5878 100644
--- a/interface/web/sites/lib/lang/hr_database_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_user_list.lng
@@ -1,5 +1,7 @@
 <?php
-$wb['list_head_txt'] = 'Database user';
-$wb['database_user_txt'] = 'Database user';
-$wb['add_new_record_txt'] = 'Add new user';
+$wb['list_head_txt'] = 'Korisnik baze';
+$wb['database_user_txt'] = 'Korisnik baze';
+$wb['add_new_record_txt'] = 'Dodaj novog korisnika';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_ftp_user.lng b/interface/web/sites/lib/lang/hr_ftp_user.lng
index dbefe0bbf5..dcd910e37b 100644
--- a/interface/web/sites/lib/lang/hr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/hr_ftp_user.lng
@@ -25,12 +25,14 @@ $wb['directory_error_empty'] = 'Prazan direktorij.';
 $wb['directory_error_notinweb'] = 'Direktorij nije unutar početne web stranice.';
 $wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
 $wb['quota_size_error_regex'] = 'Kvota: unesi -1 za neograničeno ili broj > 0';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
-$wb['directory_error_regex'] = 'Invalid directory';
+$wb['dir_dot_error'] = '.. nije dozvoljen u putanji.';
+$wb['dir_slashdot_error'] = './ nije dozvoljen u putanji.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['invalid_system_user_or_group_txt'] = 'Nepostojeći sistemski korisnik ili grupa';
+$wb['directory_error_regex'] = 'Neispravan direktorij';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_ftp_user_list.lng b/interface/web/sites/lib/lang/hr_ftp_user_list.lng
index 9ed8e645a4..6cd88ad63d 100644
--- a/interface/web/sites/lib/lang/hr_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_ftp_user_list.lng
@@ -6,3 +6,5 @@ $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['username_txt'] = 'Korisničko ime';
 $wb['add_new_record_txt'] = 'Dodaj FTP račun';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_shell_user.lng b/interface/web/sites/lib/lang/hr_shell_user.lng
index 93a6455083..e40c224c75 100644
--- a/interface/web/sites/lib/lang/hr_shell_user.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user.lng
@@ -20,17 +20,19 @@ $wb['directory_error_empty'] = 'Direktorij je prazan.';
 $wb['limit_shell_user_txt'] = 'Iskorišten je maksimalan broj shell korisnika.';
 $wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
 $wb['ssh_rsa_txt'] = 'SSH-RSA javni ključ (za logiranje ključevima)';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
-$wb['username_not_allowed_txt'] = 'The username is not allowed.';
-$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
-$wb['directory_error_regex'] = 'Invalid directory';
-$wb['shell_error_regex'] = 'Invalid shell';
-$wb['invalid_username_txt'] = 'Invalid Username';
-$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
+$wb['dir_dot_error'] = 'Nije dozvoljeno koristiti .. u putanji.';
+$wb['dir_slashdot_error'] = 'Nije dozvoljeno koristiti ./ u putanji.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['username_must_not_exceed_32_chars_txt'] = 'Korisničko ime ne može biti duže od 32 znaka.';
+$wb['username_not_allowed_txt'] = 'Izabrano korisničko ime nije dozvoljeno.';
+$wb['invalid_system_user_or_group_txt'] = 'Neispravan sistemski korisnik ili grupa';
+$wb['directory_error_regex'] = 'Neispravan direktorij';
+$wb['shell_error_regex'] = 'Neispravan shell';
+$wb['invalid_username_txt'] = 'Neispravno korisničko ime';
+$wb['directory_error_notinweb'] = 'Direktorij treba biti unutar web početne putanje (root).';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_shell_user_list.lng b/interface/web/sites/lib/lang/hr_shell_user_list.lng
index 16fc32cfd9..0116b4ee54 100644
--- a/interface/web/sites/lib/lang/hr_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user_list.lng
@@ -1,8 +1,10 @@
 <?php
-$wb['list_head_txt'] = 'Shell korisnik';
+$wb['list_head_txt'] = 'Shell korisnici';
 $wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['username_txt'] = 'Korisničko ime';
 $wb['add_new_record_txt'] = 'Dodaj novog Shell korisnika';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng b/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
index 087ccabf85..2da19bbfcd 100644
--- a/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
@@ -5,5 +5,7 @@ $wb['system_user_txt'] = 'Linux korisnik';
 $wb['used_txt'] = 'Prostor';
 $wb['hard_txt'] = 'Hard limit';
 $wb['soft_txt'] = 'Soft limit';
-$wb['files_txt'] = 'Single files';
+$wb['files_txt'] = 'Broj datoteka';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_aliasdomain.lng b/interface/web/sites/lib/lang/hr_web_aliasdomain.lng
index 4149c71149..6bf0315a78 100644
--- a/interface/web/sites/lib/lang/hr_web_aliasdomain.lng
+++ b/interface/web/sites/lib/lang/hr_web_aliasdomain.lng
@@ -1,87 +1,87 @@
 <?php
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['domain_txt'] = 'Alias domena';
+$wb['backup_interval_txt'] = 'Interval pohrana';
+$wb['backup_copies_txt'] = 'Broj kopija pohrana';
+$wb['ssl_state_txt'] = 'Županija';
+$wb['ssl_locality_txt'] = 'Lokacija';
+$wb['ssl_organisation_txt'] = 'Organizacija';
+$wb['ssl_organisation_unit_txt'] = 'Organizacijska jedinica';
+$wb['ssl_country_txt'] = 'Država';
+$wb['ssl_key_txt'] = 'SSL ključ';
+$wb['ssl_request_txt'] = 'SSL zahtjev';
+$wb['ssl_cert_txt'] = 'SSL certifikat';
+$wb['ssl_bundle_txt'] = 'SSL paket';
+$wb['ssl_action_txt'] = 'SSL akcija';
+$wb['ssl_domain_txt'] = 'SSL domena';
 $wb['server_id_txt'] = 'Server';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
+$wb['web_folder_error_regex'] = 'Neispravan direktorij. Nemojte koristiti slash.';
+$wb['type_txt'] = 'Vrsta';
+$wb['parent_domain_id_txt'] = 'Glavna web stranica';
+$wb['redirect_type_txt'] = 'Vrsta redirekcije';
+$wb['redirect_path_txt'] = 'Putanja redirekcije';
+$wb['active_txt'] = 'Aktivno';
 $wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['system_user_txt'] = 'Linux korisnik';
+$wb['system_group_txt'] = 'Linux grupa';
+$wb['ip_address_txt'] = 'IPv4 adresa';
+$wb['ipv6_address_txt'] = 'IPv6 adresa';
+$wb['vhost_type_txt'] = 'Vrsta VHost-a';
+$wb['hd_quota_txt'] = 'Kvota diska';
+$wb['traffic_quota_txt'] = 'Kvota prometa';
 $wb['cgi_txt'] = 'CGI';
 $wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['errordocs_txt'] = 'Vlastite stranice za greške';
+$wb['subdomain_txt'] = 'Automatska poddomena';
 $wb['ssl_txt'] = 'SSL';
 $wb['suexec_txt'] = 'SuEXEC';
 $wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['client_txt'] = 'Klijent';
+$wb['limit_web_domain_txt'] = 'Iskoristili ste maksimalan broj web domena za vaš račun.';
+$wb['limit_web_aliasdomain_txt'] = 'Iskoristili ste maksimalan broj alias doena za vaš račun.';
+$wb['limit_web_subdomain_txt'] = 'Iskoristili ste maksimalan broj poddomena za vaš račun.';
+$wb['apache_directives_txt'] = 'Apache direktive';
+$wb['domain_error_empty'] = 'Domena je prazna.';
 $wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_autosub'] = 'There is already a subdomain with these settings.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Set Webstatistics password';
+$wb['domain_error_regex'] = 'Naziv domene je neispravan.';
+$wb['domain_error_autosub'] = 'Već postoji poddomena sa ovim postavkama.';
+$wb['hd_quota_error_empty'] = 'Kvota diska je 0 ili prazna.';
+$wb['traffic_quota_error_empty'] = 'Kota prometa je prazna.';
+$wb['error_ssl_state_empty'] = 'SSL županija je prazna.';
+$wb['error_ssl_locality_empty'] = 'SSL lokacija je prazna.';
+$wb['error_ssl_organisation_empty'] = 'SSL organizacija je prazna.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL organizacijska jedinica je prazna.';
+$wb['error_ssl_country_empty'] = 'SSL država je prazna.';
+$wb['error_ssl_cert_empty'] = 'Polje za SSL certifikat je prazno';
+$wb['client_group_id_txt'] = 'Klijent';
+$wb['stats_password_txt'] = 'Podesi Å¡ifru za web statistiku';
 $wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['limit_web_quota_free_txt'] = 'Maksimalno moguća kvota diska';
+$wb['ssl_state_error_regex'] = 'Neispravno polje SSL županija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_locality_error_regex'] = 'Neispravno polje SSL lokacija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_organisation_error_regex'] = 'Neispravno polje SSL organizacija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Neispravno polje SSL organizacijska jedinica. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_country_error_regex'] = 'Neispravno polje SSL država. Dozvoljeni znakovi su: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Maksimalno moguća kvota prometa';
+$wb['redirect_error_regex'] = 'Neispravna redirekcijska putanja. Primjeri dozvoljene redirekcije: /test/ ili http://www.domena.tld/test/';
 $wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['traffic_quota_exceeded_txt'] = 'Kvota prometa je premašena';
 $wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
-$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['stats_user_txt'] = 'Korisničko ime za web statistiku';
+$wb['stats_type_txt'] = 'Program za web statistiku';
+$wb['custom_php_ini_txt'] = 'Vlastite php.ini postavke';
+$wb['none_txt'] = 'Ništa';
+$wb['disabled_txt'] = 'Onemogućeno';
+$wb['no_redirect_txt'] = 'Bez redirekcije';
+$wb['no_flag_txt'] = 'Bez flag-a';
+$wb['save_certificate_txt'] = 'Spremi certifikat';
+$wb['create_certificate_txt'] = 'Kreiraj certifikat';
+$wb['delete_certificate_txt'] = 'Obriši certifikat';
+$wb['nginx_directives_txt'] = 'nginx direktive';
+$wb['seo_redirect_txt'] = 'SEO redirekcija';
+$wb['non_www_to_www_txt'] = 'bez www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; bez www';
+$wb['php_fpm_use_socket_txt'] = 'Koristi socket za PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI za SSL nije aktiviran na ovom serveru. Možete uključiti samo jedan SSL certifikat na svakoj IP adresi.';
 $wb['python_txt'] = 'Python';
 $wb['perl_txt'] = 'Perl';
 $wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
@@ -95,21 +95,23 @@ $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be
 $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
 $wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
 $wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['fastcgi_php_version_txt'] = 'PHP verzija';
 $wb['pm_txt'] = 'PHP-FPM Process Manager';
 $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
 $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
 $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
 $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
 $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['available_php_directive_snippets_txt'] = 'Dostupne PHP direktive:';
+$wb['available_apache_directive_snippets_txt'] = 'Dostupne Apache direktive:';
+$wb['available_nginx_directive_snippets_txt'] = 'Dostupne nginx direktive:';
 $wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['Domain'] = 'Aliasdomain';
+$wb['available_proxy_directive_snippets_txt'] = 'Dostupne proxy direktive:';
+$wb['Domena'] = 'Alias domena';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/hr_web_aliasdomain_list.lng
index 0b45aff791..ae2bc727ba 100644
--- a/interface/web/sites/lib/lang/hr_web_aliasdomain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_aliasdomain_list.lng
@@ -12,3 +12,5 @@ $wb['no_redirect_txt'] = 'Bez redirekcije';
 $wb['no_flag_txt'] = 'Bez označavanja';
 $wb['none_txt'] = 'Ništa';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_backup_list.lng b/interface/web/sites/lib/lang/hr_web_backup_list.lng
index 9a10ca6d07..a57b467e07 100644
--- a/interface/web/sites/lib/lang/hr_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_backup_list.lng
@@ -13,3 +13,5 @@ $wb['restore_pending_txt'] = 'There is already a pending backup restore job.';
 $wb['backup_type_mysql'] = 'MySQL Database';
 $wb['backup_type_web'] = 'Website files';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_domain.lng
index a7927a354b..ddcbdbc319 100644
--- a/interface/web/sites/lib/lang/hr_web_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_domain.lng
@@ -1,10 +1,10 @@
 <?php
 $wb['backup_interval_txt'] = 'Interval backupa';
 $wb['backup_copies_txt'] = 'Broj backup kopija';
-$wb['ssl_state_txt'] = 'Stanje';
-$wb['ssl_locality_txt'] = 'Lokacija';
+$wb['ssl_state_txt'] = 'Županija';
+$wb['ssl_locality_txt'] = 'Grad';
 $wb['ssl_organisation_txt'] = 'Organizacija';
-$wb['ssl_organisation_unit_txt'] = 'Organizacijski dio';
+$wb['ssl_organisation_unit_txt'] = 'Organizacijski sektor';
 $wb['ssl_country_txt'] = 'Država';
 $wb['ssl_request_txt'] = 'SSL zahtjev';
 $wb['ssl_cert_txt'] = 'SSL certifikat';
@@ -42,21 +42,21 @@ $wb['domain_error_unique'] = 'Već postoji web stranica ili poddomena / alias sa
 $wb['domain_error_regex'] = 'Naziv domene nije ispravan.';
 $wb['hd_quota_error_empty'] = 'Limit kvote (prostor) je 0 ili je prazno.';
 $wb['traffic_quota_error_empty'] = 'Limit prometa je prazan.';
-$wb['error_ssl_state_empty'] = 'SSL županija je prazno.';
-$wb['error_ssl_locality_empty'] = 'SSL lokacija je prazna.';
-$wb['error_ssl_organisation_empty'] = 'SSL organizacija je prazna.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL organizacijski dio je prazan.';
-$wb['error_ssl_country_empty'] = 'SSL država je prazna.';
+$wb['error_ssl_state_empty'] = 'Niste unijeli županiju.';
+$wb['error_ssl_locality_empty'] = 'Niste unijeli grad.';
+$wb['error_ssl_organisation_empty'] = 'Niste unijeli organizaciju.';
+$wb['error_ssl_organisation_unit_empty'] = 'Niste unijeli organizacjski sektor.';
+$wb['error_ssl_country_empty'] = 'Niste unijeli državu.';
 $wb['error_ssl_cert_empty'] = 'Polje SSL certifikata je prazno';
 $wb['client_group_id_txt'] = 'Klijent';
 $wb['stats_password_txt'] = 'Å ifra za statistiku';
 $wb['allow_override_txt'] = 'Apache AllowOverride';
 $wb['limit_web_quota_free_txt'] = 'Maksimalan limit kvote (prostor)';
-$wb['ssl_state_error_regex'] = 'Neispravan unos SSL županije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_locality_error_regex'] = 'Neispravan unos SSL lokacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_organisation_error_regex'] = 'Neispravan unos SSL organizacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Neispravan unos SSL organizacijskog dijela. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_country_error_regex'] = 'Neispravan unos SSL države. Dozvoljeni znakovi: A-Z';
+$wb['ssl_state_error_regex'] = 'Neispravan unos županije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_locality_error_regex'] = 'Neispravan unos grada. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_organisation_error_regex'] = 'Neispravan unos organizacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Neispravan unos organizacijskog sektora. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_country_error_regex'] = 'Neispravan unos države. Dozvoljeni znakovi: A-Z';
 $wb['limit_traffic_quota_free_txt'] = 'Maksimalan limit prometa web stranice';
 $wb['redirect_error_regex'] = 'Neispravna  putanja redirekcije. Ispravne redirekcije su npr.: /test/ ili http://www.domena.tld/test/';
 $wb['php_open_basedir_txt'] = 'PHP open_basedir';
@@ -100,33 +100,34 @@ $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
 $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
 $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
 $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 $wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['domain_error_autosub'] = 'There is already a subdomain with these settings.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['no_server_error'] = 'No server selected.';
-$wb['no_backup_txt'] = 'No backup';
-$wb['daily_backup_txt'] = 'Daily';
-$wb['weekly_backup_txt'] = 'Weekly';
-$wb['monthly_backup_txt'] = 'Monthly';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
-$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
-$wb['variables_txt'] = 'Variables';
-$wb['added_by_txt'] = 'Added by';
-$wb['added_date_txt'] = 'Added date';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
+$wb['domain_error_autosub'] = 'Već postoji poddomena sa ovim postavkama.';
+$wb['available_php_directive_snippets_txt'] = 'Dostupne PHP direktive:';
+$wb['available_apache_directive_snippets_txt'] = 'Dostupne Apache direktive:';
+$wb['available_nginx_directive_snippets_txt'] = 'Dostupne nginx direktive:';
+$wb['proxy_directives_txt'] = 'Proxy direktive';
+$wb['available_proxy_directive_snippets_txt'] = 'Dostupne Proxy direktive:';
+$wb['no_server_error'] = 'Nije izabran server.';
+$wb['no_backup_txt'] = 'Bez backup-a';
+$wb['daily_backup_txt'] = 'Dnevni backup';
+$wb['weekly_backup_txt'] = 'Tjedni backup';
+$wb['monthly_backup_txt'] = 'Mjesečni backup';
+$wb['rewrite_rules_txt'] = 'Rewrite pravila';
+$wb['invalid_rewrite_rules_txt'] = 'Neispravna Rewrite pravila';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Dozvoljene direktive:';
+$wb['configuration_error_txt'] = 'KONFIGURACIJSKA GREÅ KA';
+$wb['variables_txt'] = 'Varijable';
+$wb['added_by_txt'] = 'Dodao';
+$wb['added_date_txt'] = 'Dodano';
+$wb['backup_excludes_txt'] = 'Izbačeni direktoriji';
 $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
-$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['backup_excludes_error_regex'] = 'Izbačeni direktorij sadrži nedozvoljene znakove.';
+$wb['invalid_custom_php_ini_settings_txt'] = 'Neispravne php.ini postavke';
 $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
-$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_domain_admin_list.lng b/interface/web/sites/lib/lang/hr_web_domain_admin_list.lng
index b5e5d2b467..9e1880ec34 100644
--- a/interface/web/sites/lib/lang/hr_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_domain_admin_list.lng
@@ -7,3 +7,5 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domena';
 $wb['add_new_record_txt'] = 'Dodaj novu web stranicu';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_domain_list.lng b/interface/web/sites/lib/lang/hr_web_domain_list.lng
index 2f85d7cd45..9cd040846d 100644
--- a/interface/web/sites/lib/lang/hr_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_domain_list.lng
@@ -6,3 +6,5 @@ $wb['server_id_txt'] = 'Server';
 $wb['domain_txt'] = 'Domena';
 $wb['add_new_record_txt'] = 'Dodaj novu web stranicu';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder.lng b/interface/web/sites/lib/lang/hr_web_folder.lng
index f1c9b28cb7..e21fe053a4 100644
--- a/interface/web/sites/lib/lang/hr_web_folder.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder.lng
@@ -4,5 +4,7 @@ $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['path_txt'] = 'Putanja';
 $wb['active_txt'] = 'Aktivno';
 $wb['path_error_regex'] = 'Neispravna putanja direktorija.';
-$wb['error_folder_already_protected_txt'] = 'There is already a record for this folder.';
+$wb['error_folder_already_protected_txt'] = 'Već postoji zapis za ovaj direktorij.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_list.lng b/interface/web/sites/lib/lang/hr_web_folder_list.lng
index 0a900fb2c4..a777e83b1d 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_list.lng
@@ -4,5 +4,7 @@ $wb['active_txt'] = 'Aktivno';
 $wb['server_id_txt'] = 'Server';
 $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['path_txt'] = 'Putanja';
-$wb['add_new_record_txt'] = 'Add new Folder';
+$wb['add_new_record_txt'] = 'Dodaj novi direktorij';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_user.lng b/interface/web/sites/lib/lang/hr_web_folder_user.lng
index d4f7ca2943..c6787654d7 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_user.lng
@@ -4,11 +4,13 @@ $wb['username_txt'] = 'Korisničko ime';
 $wb['password_txt'] = 'Å ifra';
 $wb['active_txt'] = 'Aktivno';
 $wb['folder_error_empty'] = 'Nije izabran web direktorij.';
-$wb['password_strength_txt'] = 'Password strength';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['no_folder_perm'] = 'You have no permission for this folder.';
-$wb['error_user_exists_already_txt'] = 'There is already a record for this user.';
+$wb['password_strength_txt'] = 'Jačina šifre';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['no_folder_perm'] = 'Nemate potrebne dozvole za ovaj direktorij.';
+$wb['error_user_exists_already_txt'] = 'Već postoji zapis za ovog korisnika.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
index 3beae9f477..5153b9fc4f 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
@@ -3,5 +3,7 @@ $wb['list_head_txt'] = 'Web direktorij korisnik';
 $wb['active_txt'] = 'Aktivno';
 $wb['web_folder_id_txt'] = 'Web direkotrij';
 $wb['username_txt'] = 'Korisničko ime';
-$wb['add_new_record_txt'] = 'Add new Folder User';
+$wb['add_new_record_txt'] = 'Dodaj novog korisnika web direktorija';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng b/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
index 5cec1bbcb5..3d374a006f 100644
--- a/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
@@ -5,5 +5,7 @@ $wb['this_month_txt'] = 'Ovaj mjesec';
 $wb['last_month_txt'] = 'Prošli mjesec';
 $wb['this_year_txt'] = 'Ovu godinu';
 $wb['last_year_txt'] = 'Prošlu godinu';
-$wb['sum_txt'] = 'Sum';
+$wb['sum_txt'] = 'Ukupno';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_subdomain.lng b/interface/web/sites/lib/lang/hr_web_subdomain.lng
index 5ea6fff25b..edf3b63ee7 100644
--- a/interface/web/sites/lib/lang/hr_web_subdomain.lng
+++ b/interface/web/sites/lib/lang/hr_web_subdomain.lng
@@ -39,8 +39,10 @@ $wb['host_txt'] = 'Host';
 $wb['redirect_error_regex'] = 'Neispravna  putanja redirekcije. Ispravne redirekcije su npr.: /test/ ili http://www.domena.tld/test/';
 $wb['no_redirect_txt'] = 'Bez redirekcije';
 $wb['no_flag_txt'] = 'Bez markiranja';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
+$wb['domain_error_wildcard'] = 'Wildcard poddomene nisu dozvoljene.';
+$wb['proxy_directives_txt'] = 'Proxy direktive';
+$wb['available_proxy_directive_snippets_txt'] = 'Dostupne proxy direktive:';
+$wb['error_proxy_requires_url'] = 'Vrsta redirekcije \\"proxy\\" zahtjeva URL kao redirekcijsku putanju.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_subdomain_list.lng b/interface/web/sites/lib/lang/hr_web_subdomain_list.lng
index 942454e117..bea42392c1 100644
--- a/interface/web/sites/lib/lang/hr_web_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_subdomain_list.lng
@@ -6,3 +6,5 @@ $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['domain_txt'] = 'Poddomena';
 $wb['add_new_record_txt'] = 'Dodaj novu poddomenu';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng
index c0ca93b570..39b425082d 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng
@@ -1,127 +1,129 @@
 <?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['parent_domain_id_txt'] = 'Glavna web stranica';
+$wb['web_folder_txt'] = 'Web direktorij';
+$wb['web_folder_invalid_txt'] = 'Web direktorij je neispravan, izaberite neki drugi.';
+$wb['web_folder_unique_txt'] = 'Web direktorij se već koristi, izaberite neki drugi.';
+$wb['backup_interval_txt'] = 'Interval pohranjivanja';
+$wb['backup_copies_txt'] = 'Broj kopija za pohranu';
+$wb['ssl_state_txt'] = 'Županija';
+$wb['ssl_locality_txt'] = 'Lokacija';
+$wb['ssl_organisation_txt'] = 'Organizacija';
+$wb['ssl_organisation_unit_txt'] = 'Organizacijska jedinica';
+$wb['ssl_country_txt'] = 'Država';
+$wb['ssl_key_txt'] = 'SSL ključ';
+$wb['ssl_request_txt'] = 'SSL zahtjev';
+$wb['ssl_cert_txt'] = 'SSL certifikat';
+$wb['ssl_bundle_txt'] = 'SSL paket';
+$wb['ssl_action_txt'] = 'SSL akcija';
+$wb['ssl_domain_txt'] = 'SSL domena';
 $wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
+$wb['domain_txt'] = 'Domena';
 $wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['web_folder_error_regex'] = 'Neispravan direktorij. Nemojte koristiti slash.';
+$wb['type_txt'] = 'Vrsta';
+$wb['redirect_type_txt'] = 'Vrsta redirekcije';
+$wb['redirect_path_txt'] = 'Redirekcijska putanja';
+$wb['active_txt'] = 'Aktivno';
+$wb['document_root_txt'] = 'Početna putanja (documentroot)';
+$wb['system_user_txt'] = 'Linux korisnik';
+$wb['system_group_txt'] = 'Linux groupa';
+$wb['ip_address_txt'] = 'IPv4 adresa';
+$wb['ipv6_address_txt'] = 'IPv6 adresa';
+$wb['vhost_type_txt'] = 'Vrsta VHost-a';
+$wb['hd_quota_txt'] = 'Kvota tvrdog diska';
+$wb['traffic_quota_txt'] = 'Kvota prometa';
 $wb['cgi_txt'] = 'CGI';
 $wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['errordocs_txt'] = 'Vlastite stranice za greške';
+$wb['subdomain_txt'] = 'Automatska poddomena';
 $wb['ssl_txt'] = 'SSL';
 $wb['suexec_txt'] = 'SuEXEC';
 $wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['client_txt'] = 'Klijent';
+$wb['limit_web_domain_txt'] = 'Iskorišten je maksimalan broj web domena za vaš račun.';
+$wb['limit_web_aliasdomain_txt'] = 'Iskorišten je maksimalan broj alias domena za vaš račun.';
+$wb['limit_web_subdomain_txt'] = 'Iskorišten je maksimalan broj poddomena za vaš račun.';
+$wb['apache_directives_txt'] = 'Apache direktive';
+$wb['domain_error_empty'] = 'Domena je prazna.';
+$wb['domain_error_unique'] = 'Već postoji stranica ili poddodmena tj. alias domena sa ovim nazivom.';
+$wb['domain_error_regex'] = 'Naziv domene je neispravan.';
+$wb['domain_error_wildcard'] = 'Wildcard poddomene nisu dozvoljene.';
+$wb['hd_quota_error_empty'] = 'Kvota tvrdog diska je 0 ili prazna.';
+$wb['traffic_quota_error_empty'] = 'Kvota prometa je prazna.';
+$wb['error_ssl_state_empty'] = 'SSL županija je prazna.';
+$wb['error_ssl_locality_empty'] = 'SSL lokacija je prazna.';
+$wb['error_ssl_organisation_empty'] = 'SSL organizacija je prazna.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL organizacijska jedinica je prazna.';
+$wb['error_ssl_country_empty'] = 'SSL država je prazna.';
+$wb['error_ssl_cert_empty'] = 'SSL certifikat je prazan.';
+$wb['client_group_id_txt'] = 'Klijent';
+$wb['stats_password_txt'] = 'Å ifra web statistike';
 $wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_web_quota_free_txt'] = 'Maksimalno moguća kvota diska';
+$wb['ssl_state_error_regex'] = 'Neispravno polje SSL županija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_locality_error_regex'] = 'Neispravno polje SSL lokacija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_organisation_error_regex'] = 'Neispravno polje SSL organizacija. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Neispravno polje SSL organizacijska jedinica. Dozvoljeni znakovi su: a-z, 0-9 i .,-_';
+$wb['ssl_country_error_regex'] = 'Neispravno polje SSL država. Dozvoljeni znakovi su: A-Z';
 $wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['redirect_error_regex'] = 'Neispravna redirekcijska putanja. Primjeri dozvoljene redirekcije: /test/ ili http://www.domena.tld/test/';
 $wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['traffic_quota_exceeded_txt'] = 'Kvota prometa je premašena';
 $wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
-$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['stats_user_txt'] = 'Korisničko ime za web statistiku';
+$wb['stats_type_txt'] = 'Program za web statistiku';
+$wb['custom_php_ini_txt'] = 'Vlastite php.ini postavke';
+$wb['none_txt'] = 'Ništa';
+$wb['disabled_txt'] = 'Onemogućeno';
+$wb['no_redirect_txt'] = 'Bez redirekcije';
+$wb['no_flag_txt'] = 'Bez flag-a';
+$wb['save_certificate_txt'] = 'Spremi certifikat';
+$wb['create_certificate_txt'] = 'Kreiraj certifikat';
+$wb['delete_certificate_txt'] = 'Obriši certifikat';
+$wb['nginx_directives_txt'] = 'nginx direktive';
+$wb['seo_redirect_txt'] = 'SEO redirekcija';
+$wb['non_www_to_www_txt'] = 'bez www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; bez www';
+$wb['php_fpm_use_socket_txt'] = 'Koristi socket za PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI za SSL nije aktiviran na ovom serveru. Možete uključiti samo jedan SSL certifikat na svakoj IP adresi.';
 $wb['python_txt'] = 'Python';
 $wb['perl_txt'] = 'Perl';
 $wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
 $wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
 $wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
 $wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['error_php_fpm_pm_settings_txt'] = 'Vrijednosti za PHP-FPM pm postavke moraju biti slijedeće: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
 $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
 $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
 $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
 $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
 $wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
 $wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['fastcgi_php_version_txt'] = 'PHP verzija';
 $wb['pm_txt'] = 'PHP-FPM Process Manager';
 $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
 $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
 $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
 $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
 $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
-$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
-$wb['variables_txt'] = 'Variables';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
-$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['available_php_directive_snippets_txt'] = 'PHP direktive:';
+$wb['available_apache_directive_snippets_txt'] = 'Apache direktive:';
+$wb['available_nginx_directive_snippets_txt'] = 'nginx direktive:';
+$wb['proxy_directives_txt'] = 'Proxy direktive';
+$wb['available_proxy_directive_snippets_txt'] = 'Proxy direktive:';
+$wb['rewrite_rules_txt'] = 'Rewrite pravila';
+$wb['invalid_rewrite_rules_txt'] = 'Neispravna Rewrite pravila';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Dozvoljene direktive:';
+$wb['configuration_error_txt'] = 'KONFIGURACIJSKA GREÅ KA';
+$wb['variables_txt'] = 'Varijable';
+$wb['backup_excludes_txt'] = 'Isključeni direktoriji';
+$wb['backup_excludes_note_txt'] = '(Odvojite više direktorija sa zarezom. Primjer: web/cache/*,web/backup)';
+$wb['backup_excludes_error_regex'] = 'Isključeni direktoriji sadrže nedozvoljene znakove.';
 $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng
index 1c16bcda28..1c00bd9b8d 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng
@@ -6,3 +6,5 @@ $wb['parent_domain_id_txt'] = 'Website';
 $wb['domain_txt'] = 'Subdomain';
 $wb['add_new_record_txt'] = 'Add new subdomain';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_webdav_user.lng b/interface/web/sites/lib/lang/hr_webdav_user.lng
index 3b3407500e..2bf9f475d0 100644
--- a/interface/web/sites/lib/lang/hr_webdav_user.lng
+++ b/interface/web/sites/lib/lang/hr_webdav_user.lng
@@ -12,10 +12,12 @@ $wb['username_error_unique'] = 'Izabrano korisničko ime već postoji.';
 $wb['username_error_regex'] = 'Korisničko ime sadrži znakove koji nisu dopušteni.';
 $wb['directory_error_empty'] = 'Direktorij je prazan.';
 $wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['dir_dot_error'] = '.. nije dozvoljenu u putanji.';
+$wb['dir_slashdot_error'] = './ nije dozvoljeno u putanji.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 ?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_webdav_user_list.lng b/interface/web/sites/lib/lang/hr_webdav_user_list.lng
index f19b8dafbc..a3d3c351d9 100644
--- a/interface/web/sites/lib/lang/hr_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_webdav_user_list.lng
@@ -6,3 +6,5 @@ $wb['parent_domain_id_txt'] = 'Web stranica';
 $wb['username_txt'] = 'Korisničko ime';
 $wb['add_new_record_txt'] = 'Dodaj Webdav korisnika';
 ?>
+
+
diff --git a/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
index 621898865e..4960d5564c 100644
--- a/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
@@ -6,3 +6,5 @@ $wb['password_strength_3_txt'] = 'Odlična';
 $wb['password_strength_4_txt'] = 'Jaka';
 $wb['password_strength_5_txt'] = 'Vrlo jaka';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr.lng b/interface/web/tools/lib/lang/hr.lng
index 7a8320b62b..d8744ec06d 100644
--- a/interface/web/tools/lib/lang/hr.lng
+++ b/interface/web/tools/lib/lang/hr.lng
@@ -4,10 +4,12 @@ $wb['Settings'] = 'Postavke';
 $wb['ISPConfig Tools'] = 'Control panel alati';
 $wb['Password and Language'] = 'Å ifra i jezik';
 $wb['ispconfig_tools_note'] = 'Ovaj modul omogućava promjenu šifre i jezika te možete pokrenuti sinkronizaciju DNS zapisa.';
-$wb['Resync'] = 'Sinkroniziraj DNS zapise';
+$wb['Resync'] = 'Sinkroniziraj zapise';
 $wb['Sync Tools'] = 'Sync Tools';
 $wb['Import'] = 'Import';
 $wb['ISPConfig 3 mail'] = 'ISPConfig 3 mail';
 $wb['PDNS Tupa'] = 'PowerDNS Tupa';
 $wb['Interface'] = 'Interface';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_import_ispconfig.lng b/interface/web/tools/lib/lang/hr_import_ispconfig.lng
index ce47c4da4d..afbcfd4075 100644
--- a/interface/web/tools/lib/lang/hr_import_ispconfig.lng
+++ b/interface/web/tools/lib/lang/hr_import_ispconfig.lng
@@ -1,23 +1,25 @@
 <?php
-$wb['head_txt'] = 'Import email configuration from ISPConfig 3';
-$wb['legend_txt'] = 'Remote server connection details';
-$wb['legend2_txt'] = 'Import email domain';
-$wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
-$wb['resync_shell_txt'] = 'Resync shell users';
-$wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
-$wb['resync_mailbox_txt'] = 'Resync Mailboxes';
-$wb['resync_dns_txt'] = 'Resync DNS records';
-$wb['btn_start_txt'] = 'Start Import';
-$wb['btn_connect_txt'] = 'Connect to remote server';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['client_group_id_txt'] = 'Local client';
-$wb['mail_domain_txt'] = 'Remote email domain';
-$wb['import_mailbox_txt'] = 'Import mailbox';
-$wb['import_aliasdomain_txt'] = 'Import alias domain';
-$wb['import_alias_txt'] = 'Import email alias';
-$wb['import_forward_txt'] = 'Import forward';
-$wb['import_user_filter_txt'] = 'Import user filter';
-$wb['import_spamfilter_txt'] = 'Import spamfilter';
+$wb['head_txt'] = 'Importiraj email konfiguraciju iz ISPConfig 3';
+$wb['legend_txt'] = 'Podaci za spajanje na udaljeni server';
+$wb['legend2_txt'] = 'Importiraj email domenu';
+$wb['resync_sites_txt'] = 'Sinkroniziraj web stranice';
+$wb['resync_ftp_txt'] = 'Sinkroniziraj FTP korisnike';
+$wb['resync_shell_txt'] = 'Sinkroniziraj shell korisnike';
+$wb['resync_cron_txt'] = 'Sinkroniziraj cron zadatke';
+$wb['resync_db_txt'] = 'Sinkroniziraj clientdb konfiguraciju';
+$wb['resync_mailbox_txt'] = 'Sinkroniziraj email sandučiće';
+$wb['resync_dns_txt'] = 'Sinkroniziraj DNS zapise';
+$wb['btn_start_txt'] = 'Importiraj';
+$wb['btn_connect_txt'] = 'Spoji na udaljeni server';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['client_group_id_txt'] = 'Localni klijent';
+$wb['mail_domain_txt'] = 'Udaljena email domena';
+$wb['import_mailbox_txt'] = 'Importiraj sandučiće';
+$wb['import_aliasdomain_txt'] = 'Importiraj alias domene';
+$wb['import_alias_txt'] = 'Importiraj email alias-e';
+$wb['import_forward_txt'] = 'Importiraj forward-ere';
+$wb['import_user_filter_txt'] = 'Importiraj korisničke filtere';
+$wb['import_spamfilter_txt'] = 'Importiraj spamfilter';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_index.lng b/interface/web/tools/lib/lang/hr_index.lng
index a3ef38f219..661a152f65 100644
--- a/interface/web/tools/lib/lang/hr_index.lng
+++ b/interface/web/tools/lib/lang/hr_index.lng
@@ -2,3 +2,5 @@
 $wb['page_head_txt'] = 'ISPConfig Tools';
 $wb['page_desc_txt'] = 'Change user settings';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_interface.lng b/interface/web/tools/lib/lang/hr_interface.lng
index aab4fc89ff..5ed3ccb01b 100644
--- a/interface/web/tools/lib/lang/hr_interface.lng
+++ b/interface/web/tools/lib/lang/hr_interface.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['interface_head_txt'] = 'Interface Settings';
-$wb['interface_desc_txt'] = 'Modify your interface';
-$wb['language_txt'] = 'Language';
-$wb['startmodule_txt'] = 'Startmodule';
-$wb['app_theme_txt'] = 'Design';
+$wb['interface_head_txt'] = 'Postavke teme';
+$wb['interface_desc_txt'] = 'Podesi temu';
+$wb['language_txt'] = 'Jezik';
+$wb['startmodule_txt'] = 'Početna stranica';
+$wb['app_theme_txt'] = 'Tema';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_resync.lng b/interface/web/tools/lib/lang/hr_resync.lng
index dd8a216c76..8a97ae481c 100644
--- a/interface/web/tools/lib/lang/hr_resync.lng
+++ b/interface/web/tools/lib/lang/hr_resync.lng
@@ -1,14 +1,16 @@
 <?php
-$wb['head_txt'] = 'Resync Tool';
-$wb['legend_txt'] = 'Resync';
-$wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
-$wb['resync_shell_txt'] = 'Resync shell users';
-$wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
-$wb['resync_mailbox_txt'] = 'Resync Mailboxes';
-$wb['resync_dns_txt'] = 'Resync DNS records';
-$wb['btn_start_txt'] = 'Start';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
+$wb['head_txt'] = 'Sinkronizacija';
+$wb['legend_txt'] = 'Sinkroniziraj';
+$wb['resync_sites_txt'] = 'Sinkroniziraj web stranice';
+$wb['resync_ftp_txt'] = 'Sinkroniziraj FTP korisnike';
+$wb['resync_shell_txt'] = 'Sinkroniziraj shell korisnike';
+$wb['resync_cron_txt'] = 'Sinkroniziraj cron zadatke';
+$wb['resync_db_txt'] = 'Sinkroniziraj clientdb konfiguraciju';
+$wb['resync_mailbox_txt'] = 'Sinkroniziraj email sandučiće';
+$wb['resync_dns_txt'] = 'Sinkroniziraj DNS zapise';
+$wb['btn_start_txt'] = 'Pokreni';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['resync_client_txt'] = 'Sinkroniziraj klijente';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_tpl_default.lng b/interface/web/tools/lib/lang/hr_tpl_default.lng
index c06246304d..963ee0bfc9 100644
--- a/interface/web/tools/lib/lang/hr_tpl_default.lng
+++ b/interface/web/tools/lib/lang/hr_tpl_default.lng
@@ -1,7 +1,9 @@
 <?php
-$wb['list_head_txt'] = 'Default Theme settings';
-$wb['list_desc_txt'] = 'Modify default-theme specific options';
-$wb['no_settings_txt'] = 'There are no settings for the default theme.';
-$wb['btn_start_txt'] = 'Save';
-$wb['btn_cancel_txt'] = 'Back';
+$wb['list_head_txt'] = 'Standardne postavke teme';
+$wb['list_desc_txt'] = 'Podesi opcije standardne teme';
+$wb['no_settings_txt'] = 'Nema opcija za standardnu temu.';
+$wb['btn_start_txt'] = 'Spremi';
+$wb['btn_cancel_txt'] = 'Natrag';
 ?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_usersettings.lng b/interface/web/tools/lib/lang/hr_usersettings.lng
index ae25bb258e..2fcf6faba7 100644
--- a/interface/web/tools/lib/lang/hr_usersettings.lng
+++ b/interface/web/tools/lib/lang/hr_usersettings.lng
@@ -5,8 +5,10 @@ $wb['language_txt'] = 'Jezik';
 $wb['password_mismatch'] = 'Å ifra u drugom polju ne odgovara Å¡ifri iz prvog polja.';
 $wb['Form to edit the user password and language.'] = 'Formular za izmjenu Å¡ifre i jezika.';
 $wb['Settings'] = 'Postavke';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
+$wb['generate_password_txt'] = 'Generiraj Å¡ifru';
+$wb['repeat_password_txt'] = 'Ponovi Å¡ifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr.lng b/interface/web/vm/lib/lang/hr.lng
index 4f5dbe9e60..5b9bd6acbe 100644
--- a/interface/web/vm/lib/lang/hr.lng
+++ b/interface/web/vm/lib/lang/hr.lng
@@ -5,3 +5,5 @@ $wb['VM Templates'] = 'VM predlošci';
 $wb['IP addresses'] = 'IP adrese';
 $wb['OpenVZ'] = 'OpenVZ';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_action.lng b/interface/web/vm/lib/lang/hr_openvz_action.lng
index 712685f050..4fddcff9df 100644
--- a/interface/web/vm/lib/lang/hr_openvz_action.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_action.lng
@@ -4,7 +4,7 @@ $wb['start_txt'] = 'Pokreni virualni server';
 $wb['stop_txt'] = 'Zaustavi virtualni server';
 $wb['restart_txt'] = 'Restartaj virtualni server';
 $wb['ostemplate_txt'] = 'Kreiraj predložak operativnog sistema';
-$wb['ostemplate_desc_txt'] = '(primjer: debian-6.0-i386-custom)';
+$wb['ostemplate_desc_txt'] = '(primjer: debian-7.0-i386-custom)';
 $wb['btn_save_txt'] = 'Pokreni selektiranu akciju';
 $wb['btn_cancel_txt'] = 'Prekini';
 $wb['start_exec_txt'] = 'Komanda za pokretanje je poslana VM host serveru. Treba pričekati minutu, dvije dok se VM ne pokrene.';
@@ -14,3 +14,5 @@ $wb['ostemplate_name_error'] = 'OS predložak sadrži nedozvoljene znakove.';
 $wb['ostemplate_name_unique_error'] = 'Već postoji OS predložak sa tim nazivom.';
 $wb['ostemplate_exec_txt'] = 'Komanda za kreiranje OS predloška je poslana host serveru. Treba pričekati minutu, dvije dok se OS predložak ne kreira';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ip.lng b/interface/web/vm/lib/lang/hr_openvz_ip.lng
index debb04b96f..f51f864888 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ip.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ip.lng
@@ -7,3 +7,5 @@ $wb['ip_error_wrong'] = 'Unesite ispravnu IPv4 adresu.';
 $wb['ip_error_unique'] = 'Ova IP adresa već postoji.';
 $wb['IP address'] = 'IP adresa';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ip_list.lng b/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
index c578fc9976..025a2e4488 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
@@ -5,3 +5,5 @@ $wb['ip_address_txt'] = 'IP adresa';
 $wb['reserved_txt'] = 'Rezervirano';
 $wb['vm_id_txt'] = 'VM';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng b/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
index df88ca9f7b..5b9162e349 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
@@ -9,3 +9,5 @@ $wb['template_name_error_empty'] = 'Nije upisan naziv predloška.';
 $wb['template_file_error_empty'] = 'Nije upisan naziv datoteke predloška.';
 $wb['Template'] = 'Predložak';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
index 430d36b929..e0226937c8 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
@@ -6,3 +6,5 @@ $wb['server_id_txt'] = 'Server';
 $wb['allservers_txt'] = 'Postoji na svim serverima';
 $wb['ostemplate_id_txt'] = 'ID';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_template.lng b/interface/web/vm/lib/lang/hr_openvz_template.lng
index eb7a49a729..cd2ad194c6 100644
--- a/interface/web/vm/lib/lang/hr_openvz_template.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_template.lng
@@ -35,9 +35,9 @@ $wb['cpu_limit_txt'] = 'CPU limit %';
 $wb['io_priority_txt'] = 'I/O priority';
 $wb['active_txt'] = 'Aktivno';
 $wb['description_txt'] = 'Opis';
-$wb['numproc_desc_txt'] = 'Number of processes and threads.';
-$wb['numtcpsock_desc_txt'] = 'Number of TCP sockets.';
-$wb['numothersock_desc_txt'] = 'Number of sockets other than TCP.';
+$wb['numproc_desc_txt'] = 'Broj procesa i thread-ova.';
+$wb['numtcpsock_desc_txt'] = 'Broj TCP socket-a.';
+$wb['numothersock_desc_txt'] = 'Broj socket-a drugačijih od TCP.';
 $wb['vmguarpages_desc_txt'] = 'Memory allocation guarantee, in pages.';
 $wb['kmemsize_desc_txt'] = 'Size of unswappable kernel memory, allocated for processes in this container.';
 $wb['tcpsndbuf_desc_txt'] = 'Total size of TCP send buffers.';
@@ -47,18 +47,18 @@ $wb['dgramrcvbuf_desc_txt'] = 'Receive buffers of UDP and other datagram protoco
 $wb['oomguarpages_desc_txt'] = 'The guaranteed amount of memory for the case the memory is over-booked (out-of-memory kill guarantee), in pages.';
 $wb['privvmpages_desc_txt'] = 'Memory allocation limit, in pages.';
 $wb['lockedpages_desc_txt'] = 'Process pages not allowed to be swapped out (pages locked by mlock(2)).';
-$wb['shmpages_desc_txt'] = 'Total size of shared memory (IPC, shared anonymous mappings and tmpfs objects), in pages.';
-$wb['physpages_desc_txt'] = 'Total number of RAM pages used by processes.';
-$wb['numfile_desc_txt'] = 'Number of open files.';
-$wb['numflock_desc_txt'] = 'Number of file locks.';
+$wb['shmpages_desc_txt'] = 'Ukupna veličina dijeljene memorije (IPC, shared anonymous mappings and tmpfs objects), in pages.';
+$wb['physpages_desc_txt'] = 'Ukupna veličina RAM-a korištena od procesa.';
+$wb['numfile_desc_txt'] = 'Broj otvorenih datoteka.';
+$wb['numflock_desc_txt'] = 'Broj zaključanih datoteka.';
 $wb['numpty_desc_txt'] = 'Number of pseudo-terminals.';
 $wb['numsiginfo_desc_txt'] = 'Number of siginfo structures.';
 $wb['dcachesize_desc_txt'] = 'Total size of dentry and inode structures locked in memory.';
 $wb['numiptent_desc_txt'] = 'Number of NETFILTER (IP packet filtering) entries.';
 $wb['swappages_desc_txt'] = 'Amount of swap space to show in container.';
-$wb['create_dns_txt'] = 'Create DNS for hostname';
-$wb['template_name_error_empty'] = 'Template name is empty.';
-$wb['diskspace_error_empty'] = 'Diskspace is empty.';
+$wb['create_dns_txt'] = 'Kreiraj DNS za hostname';
+$wb['template_name_error_empty'] = 'Naziv predloška je prazan.';
+$wb['diskspace_error_empty'] = 'Diskovni prostor je prazan.';
 $wb['ram_error_empty'] = 'RAM (guaranteed) is empty.';
 $wb['ram_burst_error_empty'] = 'RAM (burst) is empty.';
 $wb['cpu_units_error_empty'] = 'CPU units is empty.';
@@ -91,3 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages polje je prazno.';
 $wb['Template'] = 'Predložak';
 $wb['Advanced'] = 'Napredno';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_template_list.lng b/interface/web/vm/lib/lang/hr_openvz_template_list.lng
index f9c8642f1d..2c5233905d 100644
--- a/interface/web/vm/lib/lang/hr_openvz_template_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_template_list.lng
@@ -3,3 +3,5 @@ $wb['list_head_txt'] = 'OpenVZ VM predložak';
 $wb['active_txt'] = 'Aktivan';
 $wb['template_name_txt'] = 'Ime predloška';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_vm.lng b/interface/web/vm/lib/lang/hr_openvz_vm.lng
index 206fe3a712..bebfd297c5 100644
--- a/interface/web/vm/lib/lang/hr_openvz_vm.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_vm.lng
@@ -34,7 +34,9 @@ $wb['cpu_units_error_empty'] = 'CPU units polje je prazno.';
 $wb['cpu_num_error_empty'] = 'CPU number polje je prazno.';
 $wb['cpu_limit_error_empty'] = 'CPU limit polje je prazno.';
 $wb['io_priority_error_empty'] = 'I/O priority polje je prazno.';
-$wb['template_nameserver_error_empty'] = 'Nameserver(s) polje je prazno.';
+$wb['template_nameserver_error_empty'] = 'Nameserver(i) polje je prazno.';
 $wb['Virtual server'] = 'Virtualni server';
 $wb['Advanced'] = 'Napredno';
 ?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_vm_list.lng b/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
index ab3ef52529..5fa97806a5 100644
--- a/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
@@ -8,3 +8,5 @@ $wb['hostname_txt'] = 'Ime hosta';
 $wb['ip_address_txt'] = 'IP adresa';
 $wb['veid_txt'] = 'VEID';
 ?>
+
+
-- 
GitLab


From 4c4739d42534c91230c3ee0c47ed0aee5241b28a Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sat, 13 Sep 2014 11:47:52 +0200
Subject: [PATCH 137/158] Disabled IDS by default.

---
 security/security_settings.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/security_settings.ini b/security/security_settings.ini
index 4b4327aafc..d3b8d9c743 100644
--- a/security/security_settings.ini
+++ b/security/security_settings.ini
@@ -18,7 +18,7 @@ remote_api_allowed=yes
 password_reset_allowed=yes
 
 [ids]
-ids_enabled=yes
+ids_enabled=no
 ids_log_level=1
 ids_warn_level=5
 ids_block_level=100
-- 
GitLab


From d812165fbb0e9ff4079771e4b265039383a4e0f2 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 16 Sep 2014 08:42:32 +0200
Subject: [PATCH 138/158] Changed SSL cert generation mode to SHA256.

---
 server/plugins-available/apache2_plugin.inc.php | 2 +-
 server/plugins-available/nginx_plugin.inc.php   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index bdf6a05bd7..e302fa20e4 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -188,7 +188,7 @@ class apache2_plugin {
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
 				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
 				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index e56abe8422..c95a84fbbb 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -187,7 +187,7 @@ class nginx_plugin {
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
 				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
 				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
-- 
GitLab


From 6068b7afc0371506be54e0596ecabf10e43ddbb4 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 16 Sep 2014 08:42:32 +0200
Subject: [PATCH 139/158] Changed SSL cert generation mode to SHA256.

---
 server/plugins-available/apache2_plugin.inc.php | 3 ++-
 server/plugins-available/nginx_plugin.inc.php   | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index bdf6a05bd7..142a916d00 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -148,6 +148,7 @@ class apache2_plugin {
 
         [ req ]
         default_bits           = 2048
+		default_md             = sha256
         default_keyfile        = keyfile.pem
         distinguished_name     = req_distinguished_name
         attributes             = req_attributes
@@ -188,7 +189,7 @@ class apache2_plugin {
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
 				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
 				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index e56abe8422..0e77205cc5 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -147,6 +147,7 @@ class nginx_plugin {
 
         [ req ]
         default_bits           = 2048
+		default_md             = sha256
         default_keyfile        = keyfile.pem
         distinguished_name     = req_distinguished_name
         attributes             = req_attributes
@@ -187,7 +188,7 @@ class nginx_plugin {
 			if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) {
 
 				exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
-				exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+				exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
 				exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
 
 				if(file_exists($web_config['CA_path'].'/openssl.cnf'))
-- 
GitLab


From f02be96750e48859cc63f1f2b64a86a9202178b4 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 22 Sep 2014 13:25:20 +0200
Subject: [PATCH 140/158] Fixed a error in OS detection code for CentOS.

---
 server/lib/classes/monitor_tools.inc.php | 2 --
 1 file changed, 2 deletions(-)

diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index ae1fbd3228..19f69bb963 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -215,13 +215,11 @@ class monitor_tools {
 				$distver = 'Unknown';
 				$distid = 'centos53';
 				$distbaseid = 'fedora';
-				swriteln("Operating System: CentOS 6 or compatible\n");
 			} elseif(stristr($content, 'CentOS Linux release 7')) {
 				$distname = 'CentOS';
 				$distver = 'Unknown';
 				$distid = 'centos53';
 				$distbaseid = 'fedora';
-				swriteln("Operating System: CentOS 7 or compatible\n");
 			} else {
 				$distname = 'Redhat';
 				$distver = 'Unknown';
-- 
GitLab


From 5686edb520c31701b866708a7a64047fb01efd6d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 22 Sep 2014 13:26:14 +0200
Subject: [PATCH 141/158] Apache binary is not recognized correctly on CentOS 7
 in http restart method.

---
 server/mods-available/web_module.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php
index 666e8451cd..f84d87f0f8 100644
--- a/server/mods-available/web_module.inc.php
+++ b/server/mods-available/web_module.inc.php
@@ -203,7 +203,7 @@ class web_module {
 			$daemon = $web_config['server_type'];
 			break;
 		default:
-			if(is_file($conf['init_scripts'] . '/' . 'httpd')) {
+			if(is_file($conf['init_scripts'] . '/' . 'httpd') || is_dir('/etc/httpd')) {
 				$daemon = 'httpd';
 			} else {
 				$daemon = 'apache2';
-- 
GitLab


From c43c293b1935ab84be4b748cebfeb34ca698998a Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 24 Sep 2014 15:43:24 +0200
Subject: [PATCH 142/158] SSL cert for postfix does not get generated properly
 on Centos.

---
 install/dist/lib/fedora.lib.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 7dd7d9b04a..e5eefa3258 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -231,10 +231,11 @@ class installer_dist extends installer_base {
 			//* Create the SSL certificate
 			if(AUTOINSTALL){
 				$command = 'cd '.$config_dir.'; '
-					."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
 			} else {
 				$command = 'cd '.$config_dir.'; '
-					."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+			}
 			}
 			exec($command);
 
-- 
GitLab


From 6061d5f84726eb7f93eceff24de63bb471c9d029 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 24 Sep 2014 15:44:46 +0200
Subject: [PATCH 143/158] Services were not restarted correctly after install
 on CentOS 7.

---
 install/lib/installer_base.lib.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index a30a7ec02a..5958d9d6ad 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -2302,7 +2302,7 @@ class installer_base {
 	public function getinitcommand($servicename, $action, $init_script_directory = ''){
 		global $conf;
 		// systemd
-		if(is_executable('/bin/systemd')){
+		if(is_executable('/bin/systemd') || is_executable('/usr/bin/systemctl')){
 			return 'systemctl '.$action.' '.$servicename.'.service';
 		}
 		// upstart
-- 
GitLab


From 9b021b2e4b3ee783ceae6f1cf04e1b06ed431637 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 24 Sep 2014 15:46:48 +0200
Subject: [PATCH 144/158] Added support for php-fpm with mod_proxy_fcgi
 (required for apache 2.4). Note: The mod_proxy_fcgi that ships with CentOS
 and Ubuntu does not support sockets yet, so all php-fpm connections are done
 by IP.

---
 server/conf/vhost.conf.master                   | 3 +++
 server/plugins-available/apache2_plugin.inc.php | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 96b3443384..16e0d12160 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -334,6 +334,9 @@
                 FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -socket <tmpl_var name='fpm_socket'> -pass-header Authorization
 </tmpl_if>
 		</IfModule>
+		<IfModule mod_proxy_fcgi.c>
+			ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:<tmpl_var name='fpm_port'><tmpl_var name='web_document_root'>/$1
+		</IfModule>
 </tmpl_if>
 
 <tmpl_if name="rewrite_enabled">
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 142a916d00..3c4ba3e77f 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1262,8 +1262,9 @@ class apache2_plugin {
 		$pool_name = 'web'.$data['new']['domain_id'];
 		$socket_dir = escapeshellcmd($web_config['php_fpm_socket_dir']);
 		if(substr($socket_dir, -1) != '/') $socket_dir .= '/';
-
-		if($data['new']['php_fpm_use_socket'] == 'y'){
+		
+		// User sockets, but not with apache 2.4 as socket support is buggy in that version
+		if($data['new']['php_fpm_use_socket'] == 'y' && $app->system->getapacheversion() < 2.4){
 			$use_tcp = 0;
 			$use_socket = 1;
 		} else {
-- 
GitLab


From 6d6643de2b6fc47b15e27c46266f22866c1cd1a8 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 24 Sep 2014 15:47:20 +0200
Subject: [PATCH 145/158] Fixed service restart problems on CentOS 7.

---
 server/lib/classes/system.inc.php        |  2 +-
 server/mods-available/web_module.inc.php | 24 +++++++++++++++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index af42e5ec31..d227792771 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1722,7 +1722,7 @@ class system{
 	function getinitcommand($servicename, $action, $init_script_directory = ''){
 		global $conf;
 		// systemd
-		if(is_executable('/bin/systemd')){
+		if(is_executable('/bin/systemd') || is_executable('/usr/bin/systemctl')){
 			return 'systemctl '.$action.' '.$servicename.'.service';
 		}
 		// upstart
diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php
index f84d87f0f8..42eaab6745 100644
--- a/server/mods-available/web_module.inc.php
+++ b/server/mods-available/web_module.inc.php
@@ -212,11 +212,12 @@ class web_module {
 
 		$retval = array('output' => '', 'retval' => 0);
 		if($action == 'restart') {
-			exec($app->system->getinitcommand($daemon, 'restart').' 2>&1', $retval['output'], $retval['retval']);
-
+			$cmd = $app->system->getinitcommand($daemon, 'restart');
 		} else {
-			exec($app->system->getinitcommand($daemon, 'reload').' 2>&1', $retval['output'], $retval['retval']);
+			$cmd = $app->system->getinitcommand($daemon, 'reload');
 		}
+		exec($cmd.' 2>&1', $retval['output'], $retval['retval']);
+		$app->log("Restarting httpd: $cmd", LOGLEVEL_DEBUG);
 		
 		// nginx: do a syntax check because on some distributions, the init script always returns 0 - even if the syntax is not ok (how stupid is that?)
 		if($web_config['server_type'] == 'nginx' && $retval['retval'] == 0){
@@ -249,6 +250,22 @@ class web_module {
 					if(preg_match('/^ID=ubuntu/m', $tmp) && preg_match('/^VERSION_ID="14\.04"/m', $tmp)) {
 						$initcommand = '/sbin/start-stop-daemon --stop --signal USR2 --quiet --pidfile /var/run/php5-fpm.pid --name php5-fpm';
 					}
+					// And the next workaround, php-fpm reloads in centos 7 downt work as well.
+					if(preg_match('/^ID=centos/m', $tmp) && preg_match('/^VERSION_ID="7"/m', $tmp)) {
+						$initcommand = 'systemctl restart php-fpm.service';
+					}
+					unset($tmp);
+				}	
+			}
+			
+			if($action == 'reload') {
+				// And the next workaround, php-fpm reloads in centos 7 downt work as well.
+				if(file_exists('/etc/os-release')) {
+					$tmp = file_get_contents('/etc/os-release');
+					// And the next workaround, php-fpm reloads in centos 7 downt work as well.
+					if(preg_match('/^ID="centos"/m', $tmp) && preg_match('/^VERSION_ID="7"/m', $tmp)) {
+						$initcommand = 'systemctl restart php-fpm.service';
+					}
 					unset($tmp);
 				}
 			}
@@ -256,6 +273,7 @@ class web_module {
 
 		$retval = array('output' => '', 'retval' => 0);
 		exec($initcommand.' 2>&1', $retval['output'], $retval['retval']);
+		$app->log("Restarting php-fpm: $initcommand", LOGLEVEL_DEBUG);
 		return $retval;
 	}
 
-- 
GitLab


From 132081c0e69f0313ccb0d23637499e940d29f470 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 26 Sep 2014 17:57:38 +0200
Subject: [PATCH 146/158] - added check for mysql error to avoid flood of error
 messages/mails

---
 server/cron_daily.php               |  2 ++
 server/lib/app.inc.php              | 18 ++++++++++++++++++
 server/lib/classes/db_mysql.inc.php | 13 +++++++++++++
 server/server.php                   |  2 ++
 4 files changed, 35 insertions(+)

diff --git a/server/cron_daily.php b/server/cron_daily.php
index ee54a46207..10f168812c 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -32,6 +32,8 @@ define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"]));
 require SCRIPT_PATH."/lib/config.inc.php";
 require SCRIPT_PATH."/lib/app.inc.php";
 
+$app->setCaller('cron_daily');
+
 set_time_limit(0);
 ini_set('error_reporting', E_ALL & ~E_NOTICE);
 
diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php
index a1e75af16a..a9d47a5578 100755
--- a/server/lib/app.inc.php
+++ b/server/lib/app.inc.php
@@ -35,6 +35,7 @@ class app {
 
 	var $loaded_modules = array();
 	var $loaded_plugins = array();
+	var $_calling_script = '';
 
 	function __construct() {
 
@@ -60,6 +61,23 @@ class app {
 
 	}
 
+	function setCaller($caller) {
+		$this->_calling_script = $caller;
+	}
+	
+	function getCaller() {
+		return $this->_calling_script;
+	}
+	
+	function forceErrorExit($errmsg = 'undefined') {
+		global $conf;
+		
+		if($this->_calling_script == 'server') {
+			@unlink($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock');
+		}
+		die('Exiting because of error: ' . $errmsg);
+	}
+
 	function uses($classes) {
 
 		global $conf;
diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php
index d8bfbea495..6d428475e8 100644
--- a/server/lib/classes/db_mysql.inc.php
+++ b/server/lib/classes/db_mysql.inc.php
@@ -130,6 +130,8 @@ class db extends mysqli
 	}
 
 	public function query($queryString) {
+		global $app;
+		
 		if($this->isConnected == false) return false;
 		$try = 0;
 		do {
@@ -138,6 +140,17 @@ class db extends mysqli
 			if(!$ok) {
 				if(!$this->real_connect($this->dbHost, $this->dbUser, $this->dbPass, $this->dbName)) {
 					$this->updateError('DB::query -> reconnect');
+					if($this->errorNumber == '111') {
+						// server is not available
+						if($try > 9) {
+							if(isset($app) && isset($app->forceErrorExit)) {
+								$app->forceErrorExit('Database connection failure!');
+							}
+							// if we reach this, the app object is missing or has no exit method, so we continue as normal
+						}
+						sleep(30); // additional seconds, please!
+					}
+
 					if($try > 9) {
 						return false;
 					} else {
diff --git a/server/server.php b/server/server.php
index ab25404424..1d2c6d21d7 100644
--- a/server/server.php
+++ b/server/server.php
@@ -31,6 +31,8 @@ define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"]));
 require SCRIPT_PATH."/lib/config.inc.php";
 require SCRIPT_PATH."/lib/app.inc.php";
 
+$app->setCaller('server');
+
 set_time_limit(0);
 ini_set('error_reporting', E_ALL & ~E_NOTICE);
 
-- 
GitLab


From 49b3f5ec2a3c105652d451469eeb09a5ed75eba0 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 30 Sep 2014 12:27:51 +0200
Subject: [PATCH 147/158] Fixed: FS#3683 - New gtld - regex issue while
 defining alias emaildomains

---
 interface/web/mail/form/mail_aliasdomain.tform.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php
index fb935003bb..64c5992483 100644
--- a/interface/web/mail/form/mail_aliasdomain.tform.php
+++ b/interface/web/mail/form/mail_aliasdomain.tform.php
@@ -86,7 +86,7 @@ $form["tabs"]['alias'] = array (
 				1 => array ( 'type' => 'UNIQUE',
 					'errmsg'=> 'source_error_unique'),
 				2 => array ( 'type' => 'REGEX',
-					'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,10}$/',
+					'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,20}$/',
 					'errmsg'=> 'source_error_regex'),
 			),
 			'default' => '',
-- 
GitLab


From 58fb006c466ac90edd1d2f90a9559b5048e64fd7 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 10 Oct 2014 13:14:20 +0200
Subject: [PATCH 148/158] - Fixed: FS#3691 - Admin re-login after change admin
 password fails

---
 interface/web/tools/user_settings.php | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/interface/web/tools/user_settings.php b/interface/web/tools/user_settings.php
index 7065888dd7..02fc4f73d2 100644
--- a/interface/web/tools/user_settings.php
+++ b/interface/web/tools/user_settings.php
@@ -97,6 +97,16 @@ class page_action extends tform_actions {
 			$app->error('Invalid language.');
 		}
 	}
+	
+	function onAfterUpdate() {
+		global $app;
+		
+		if($_POST['passwort'] != '') {
+			$tmp_user = $app->db->queryOneRecord("SELECT passwort FROM sys_user WHERE userid = '".$app->functions->intval($_SESSION['s']['user']['userid'])."'");
+			$_SESSION['s']['user']['passwort'] = $tmp_user['passwort'];
+			unset($tmp_user);
+		}
+	}
 
 
 }
-- 
GitLab


From 2f7e607a9d5331c5d5f56dec8bc167907a08ddad Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 10 Oct 2014 13:24:53 +0200
Subject: [PATCH 149/158] - Fixes: FS#3693 - sites_database_add doesn't set the
 sys_groupid parameter

---
 .../lib/classes/sites_database_plugin.inc.php | 137 ++----------------
 interface/web/sites/database_edit.php         |  30 +---
 2 files changed, 14 insertions(+), 153 deletions(-)

diff --git a/interface/lib/classes/sites_database_plugin.inc.php b/interface/lib/classes/sites_database_plugin.inc.php
index d255fdca85..bf53c61fad 100644
--- a/interface/lib/classes/sites_database_plugin.inc.php
+++ b/interface/lib/classes/sites_database_plugin.inc.php
@@ -33,145 +33,28 @@ class sites_database_plugin {
 	public function processDatabaseInsert($form_page) {
 		global $app;
 
-		/*if($form_page->dataRecord["parent_domain_id"] > 0) {
-			$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
-
-			//* The Database user shall be owned by the same group then the website
-			$sys_groupid = $web['sys_groupid'];
-        } else {
-            $sys_groupid = $form_page->dataRecord['sys_groupid'];
-        }
-
-
-        if($form_page->dataRecord['database_user_id']) {
-            // check if there has already been a database on this server with that user
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "')");
-
-            if($check && $check['cnt'] < 1) {
-                // we need to make a datalog insert for the database users that are connected to this database
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
-                }
-            }
-        }
-
-        if($form_page->dataRecord['database_ro_user_id']) {
-            // check if there has already been a database on this server with that user
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "')");
-
-            if($check && $check['cnt'] < 1) {
-                // we need to make a datalog insert for the database users that are connected to this database
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
-                }
-            }
-        }*/
+		$this->processDatabaseUpdate($form_page);
 	}
 
 	public function processDatabaseUpdate($form_page) {
 		global $app;
 
-		/*$old_record = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_id` = ' . $app->functions->intval($form_page->id));
-
-        if($form_page->dataRecord["parent_domain_id"] > 0) {
-            $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
-
-            //* The Database user shall be owned by the same group then the website
-            $sys_groupid = $web['sys_groupid'];
-        } else {
-            $sys_groupid = $form_page->dataRecord['sys_groupid'];
-        }
-
-        // check if database user has changed
-        if($old_record['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_ro_user_id']) {
-            // check if any database on the server still uses this one
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "') AND `database_id` != '" . $app->functions->intval($form_page->id) . "'");
-            if($check['cnt'] < 1) {
-                // send a datalog delete
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
-                }
-            }
-        }
-        // check if readonly database user has changed
-        if($old_record['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_user_id']) {
-            // check if any database on the server still uses this one
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "') AND `database_id` != '" . $app->functions->intval($form_page->id) . "'");
-            if($check['cnt'] < 1) {
-                // send a datalog delete
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
-                }
-            }
-        }*/
-
-		/*if($form_page->dataRecord['database_user_id']) {
-            // check if there has already been a database on this server with that user
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "')");
-
-            if($check && $check['cnt'] < 1) {
-                // we need to make a datalog insert for the database users that are connected to this database
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
-                }
-            }
-        }
-
-        if($form_page->dataRecord['database_ro_user_id']) {
-            // check if there has already been a database on this server with that user
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "')");
+		if($form_page->dataRecord["parent_domain_id"] > 0) {
+			$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
 
-            if($check && $check['cnt'] < 1) {
-                // we need to make a datalog insert for the database users that are connected to this database
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $form_page->dataRecord['server_id'];
-                    $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
-                }
-            }
-        }*/
+			//* The Database user shall be owned by the same group then the website
+			$sys_groupid = $app->functions->intval($web['sys_groupid']);
+			$backup_interval = $app->db->quote($web['backup_interval']);
+			$backup_copies = $app->functions->intval($web['backup_copies']);
 
+			$sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$form_page->id;
+			$app->db->query($sql);
+		}
 	}
 
 	public function processDatabaseDelete($primary_id) {
 		global $app;
 
-		/*$old_record = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_id` = ' . $app->functions->intval($primary_id));
-        if($old_record['database_user_id']) {
-            // check if any database on the server still uses this one
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($old_record['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "') AND `database_id` != '" . $app->functions->intval($primary_id) . "'");
-            if($check['cnt'] < 1) {
-                // send a datalog delete
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $old_record['server_id'];
-                    $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
-                }
-            }
-        }
-        if($old_record['database_ro_user_id']) {
-            // check if any database on the server still uses this one
-            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($old_record['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "') AND `database_id` != '" . $app->functions->intval($primary_id) . "'");
-            if($check['cnt'] < 1) {
-                // send a datalog delete
-                $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "'");
-                if($db_user) {
-                    $db_user['server_id'] = $old_record['server_id'];
-                    $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
-                }
-            }
-        }*/
-
 	}
 
 }
diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 0f2f5f227d..48540e888e 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -405,9 +405,6 @@ class page_action extends tform_actions {
 		global $app;
 		if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab(), $this->id)) {
 
-			$app->uses('sites_database_plugin');
-			//$app->sites_database_plugin->processDatabaseUpdate($this);
-
 			$app->db->query($sql);
 			if($app->db->errorMessage != '') die($app->db->errorMessage);
 		}
@@ -416,34 +413,15 @@ class page_action extends tform_actions {
 	function onAfterInsert() {
 		global $app, $conf;
 
-		if($this->dataRecord["parent_domain_id"] > 0) {
-			$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["parent_domain_id"]));
-
-			//* The Database user shall be owned by the same group then the website
-			$sys_groupid = $app->functions->intval($web['sys_groupid']);
-			$backup_interval = $app->db->quote($web['backup_interval']);
-			$backup_copies = $app->functions->intval($web['backup_copies']);
-
-			$sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$this->id;
-			$app->db->query($sql);
-		}
+		$app->uses('sites_database_plugin');
+		$app->sites_database_plugin->processDatabaseInsert($this);
 	}
 
 	function onAfterUpdate() {
 		global $app, $conf;
 
-		if($this->dataRecord["parent_domain_id"] > 0) {
-			$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["parent_domain_id"]));
-
-			//* The Database user shall be owned by the same group then the website
-			$sys_groupid = $app->functions->intval($web['sys_groupid']);
-			$backup_interval = $app->db->quote($web['backup_interval']);
-			$backup_copies = $app->functions->intval($web['backup_copies']);
-
-			$sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$this->id;
-			$app->db->query($sql);
-		}
-
+		$app->uses('sites_database_plugin');
+		$app->sites_database_plugin->processDatabaseUpdate($this);
 	}
 
 }
-- 
GitLab


From d7927ad2b4f0c891e1ecb3f3b9bb7b46e2dc2c67 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 10 Oct 2014 13:26:22 +0200
Subject: [PATCH 150/158] - removed obsolete code

---
 interface/web/sites/database_edit.php | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 48540e888e..ffc6844526 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -251,14 +251,6 @@ class page_action extends tform_actions {
 			// we need remote access rights for this server, so get it's ip address
 			$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
 			if($server_config['ip_address']!='') {
-				/*
-                if($this->dataRecord['remote_access'] != 'y') $this->dataRecord['remote_ips'] = '';
-                $this->dataRecord['remote_access'] = 'y';
-                if(preg_match('/(^|,)' . preg_quote($server_config['ip_address'], '/') . '(,|$)/', $this->dataRecord['remote_ips']) == false) {
-                    $this->dataRecord['remote_ips'] .= ($this->dataRecord['remote_ips'] != '' ? ',' : '') . $server_config['ip_address'];
-                }
-				*/
-
 				if($this->dataRecord['remote_access'] != 'y'){
 					$this->dataRecord['remote_ips'] = $server_config['ip_address'];
 					$this->dataRecord['remote_access'] = 'y';
@@ -338,14 +330,6 @@ class page_action extends tform_actions {
 			// we need remote access rights for this server, so get it's ip address
 			$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
 			if($server_config['ip_address']!='') {
-				/*
-                if($this->dataRecord['remote_access'] != 'y') $this->dataRecord['remote_ips'] = '';
-                $this->dataRecord['remote_access'] = 'y';
-                if(preg_match('/(^|,)' . preg_quote($server_config['ip_address'], '/') . '(,|$)/', $this->dataRecord['remote_ips']) == false) {
-                    $this->dataRecord['remote_ips'] .= ($this->dataRecord['remote_ips'] != '' ? ',' : '') . $server_config['ip_address'];
-                }
-				*/
-
 				if($this->dataRecord['remote_access'] != 'y'){
 					$this->dataRecord['remote_ips'] = $server_config['ip_address'];
 					$this->dataRecord['remote_access'] = 'y';
@@ -390,10 +374,6 @@ class page_action extends tform_actions {
 	function onInsertSave($sql) {
 		global $app, $conf;
 
-		$app->uses('sites_database_plugin');
-
-		//$app->sites_database_plugin->processDatabaseInsert($this);
-
 		$app->db->query($sql);
 		if($app->db->errorMessage != '') die($app->db->errorMessage);
 		$new_id = $app->db->insertID();
-- 
GitLab


From 5049080b7ef50b47bf50bf2cdf3f4c22b1f9394d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Oct 2014 12:03:52 +0200
Subject: [PATCH 151/158] Implemented: FS#3707 - apps_instance_setting database
 storing details in plain text

---
 .../mods-available/monitor_core_module.inc.php  | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index d6d28ca635..fc5dd79fdf 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -121,6 +121,7 @@ class monitor_core_module {
 		$this->_monitorFail2ban();
 		$this->_monitorIPTables();
 		$this->_monitorSysLog();
+		$this->_cleanupAPS();
 	}
 
 	private function _monitorEmailQuota() {
@@ -844,6 +845,22 @@ class monitor_core_module {
 			'  server_id = ' . $serverId;
 		$app->dbmaster->query($sql);
 	}
+	
+	private function _cleanupAPS() {
+		global $app, $conf;
+		
+		// run this only on the master
+		if($conf['server_id'] == 1) {
+			$records = $app->db->queryAllRecords("SELECT s.instance_id, s.name, s.value FROM `aps_instances_settings` as s INNER JOIN `aps_instances` as i ON (i.id = s.instance_id) WHERE s.value != '' AND s.name IN ('main_database_password', 'admin_password') AND i.instance_status > 1");
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$tmp = $app->db->queryOneRecord("SELECT id FROM aps_instances_settings WHERE instance_id = '".$app->db->quote($rec['instance_id'])."' AND name = '".$app->db->quote($rec['name'])."'");
+					$app->db->datalogUpdate('aps_instances_settings', "value = ''", 'id', $tmp['id']);
+				}
+			}
+		}
+		
+	}
 
 }
 
-- 
GitLab


From 68b1465cab0805f42facbbc76acf68e51889ccbf Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Oct 2014 12:04:50 +0200
Subject: [PATCH 152/158] Changes in SQL injection check of database library.

---
 interface/lib/classes/db_mysql.inc.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index bcf1b008a2..d4ba79c592 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -135,7 +135,7 @@ class db extends mysqli
 				$string_orig = $string;
 				
 				//echo $string;
-				$chars = array(';', '#', '/*', '*/', '--', ' UNION ', '\\\'', '\\"');
+				$chars = array(';', '#', '/*', '*/', '--', '\\\'', '\\"');
 		
 				$string = str_replace('\\\\', '', $string);
 				$string = preg_replace('/(^|[^\\\])([\'"])\\2/is', '$1', $string);
-- 
GitLab


From 53124ed9dc52e8aee60d9018ffb32c18f03c4daa Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Oct 2014 16:37:35 +0200
Subject: [PATCH 153/158] Implemented: FS#3706 - disable SSLv3 to protect
 servers agains POODLE attack.

---
 install/tpl/apache_ispconfig.vhost.master | 1 +
 install/tpl/nginx_ispconfig.vhost.master  | 1 +
 server/conf/nginx_vhost.conf.master       | 1 +
 server/conf/vhost.conf.master             | 3 ++-
 4 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/install/tpl/apache_ispconfig.vhost.master b/install/tpl/apache_ispconfig.vhost.master
index 4973af083c..3619e16b6e 100644
--- a/install/tpl/apache_ispconfig.vhost.master
+++ b/install/tpl/apache_ispconfig.vhost.master
@@ -63,6 +63,7 @@ NameVirtualHost *:<tmpl_var name="vhost_port">
 
   # SSL Configuration
   <tmpl_var name="ssl_comment">SSLEngine On
+  <tmpl_var name="ssl_comment">SSLProtocol All -SSLv2 -SSLv3
   <tmpl_var name="ssl_comment">SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
   <tmpl_var name="ssl_comment">SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
   <tmpl_var name="ssl_bundle_comment">SSLCACertificateFile /usr/local/ispconfig/interface/ssl/ispserver.bundle
diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master
index 931bc61626..70d6a53b59 100644
--- a/install/tpl/nginx_ispconfig.vhost.master
+++ b/install/tpl/nginx_ispconfig.vhost.master
@@ -1,6 +1,7 @@
 server {
         listen {vhost_port};
 		ssl {ssl_on};
+		{ssl_comment}ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         {ssl_comment}ssl_certificate /usr/local/ispconfig/interface/ssl/ispserver.crt;
         {ssl_comment}ssl_certificate_key /usr/local/ispconfig/interface/ssl/ispserver.key;
 		
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index 6e3d853245..cb9f628b1b 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -6,6 +6,7 @@ server {
 		
 <tmpl_if name='ssl_enabled'>
         listen <tmpl_var name='ip_address'>:443 ssl;
+		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 <tmpl_if name='ipv6_enabled'>
         listen [<tmpl_var name='ipv6_address'>]:443 ssl;
 </tmpl_if>
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 16e0d12160..23cec4711e 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -47,7 +47,8 @@
 
 		<IfModule mod_ssl.c>
 <tmpl_if name='ssl_enabled'>
-	SSLEngine on
+		SSLEngine on
+		SSLProtocol All -SSLv2 -SSLv3
 		SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt
 		SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key
 <tmpl_if name='has_bundle_cert'>
-- 
GitLab


From 29e299fe7385971ade42b74cdd134d701a709d58 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Oct 2014 17:13:18 +0200
Subject: [PATCH 154/158] Add protection against Poodle attacks in Dovecot 2
 and Postfix.

---
 install/tpl/debian6_dovecot2.conf.master  | 1 +
 install/tpl/debian_dovecot2.conf.master   | 1 +
 install/tpl/debian_postfix.conf.master    | 3 ++-
 install/tpl/fedora_dovecot2.conf.master   | 1 +
 install/tpl/fedora_postfix.conf.master    | 3 ++-
 install/tpl/gentoo_postfix.conf.master    | 3 ++-
 install/tpl/opensuse_dovecot2.conf.master | 1 +
 install/tpl/opensuse_postfix.conf.master  | 3 ++-
 8 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master
index f359260dab..53f57f1204 100644
--- a/install/tpl/debian6_dovecot2.conf.master
+++ b/install/tpl/debian6_dovecot2.conf.master
@@ -6,6 +6,7 @@ log_timestamp = "%Y-%m-%d %H:%M:%S "
 mail_privileged_group = vmail
 ssl_cert = </etc/postfix/smtpd.cert
 ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
 passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master
index 2ffe8f224c..7fcee8d534 100644
--- a/install/tpl/debian_dovecot2.conf.master
+++ b/install/tpl/debian_dovecot2.conf.master
@@ -7,6 +7,7 @@ mail_privileged_group = vmail
 postmaster_address = postmaster@example.com
 ssl_cert = </etc/postfix/smtpd.cert
 ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
 passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index 4775002b64..ff5052eb1e 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -31,4 +31,5 @@ mime_header_checks = regexp:{config_dir}/mime_header_checks
 nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 owner_request_special = no
-smtp_tls_security_level = may
\ No newline at end of file
+smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master
index 8c49c75454..e5d6723200 100644
--- a/install/tpl/fedora_dovecot2.conf.master
+++ b/install/tpl/fedora_dovecot2.conf.master
@@ -6,6 +6,7 @@ log_timestamp = "%Y-%m-%d %H:%M:%S "
 mail_privileged_group = vmail
 ssl_cert = </etc/postfix/smtpd.cert
 ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
 passdb {
   args = /etc/dovecot-sql.conf
   driver = sql
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index 330b1f95f7..88c8d598bc 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -28,4 +28,5 @@ mime_header_checks = regexp:{config_dir}/mime_header_checks
 nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
-smtp_tls_security_level = may
\ No newline at end of file
+smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index a775c4b032..1ddfd40ef8 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -28,4 +28,5 @@ mime_header_checks = regexp:{config_dir}/mime_header_checks
 nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
-smtp_tls_security_level = may
\ No newline at end of file
+smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master
index f359260dab..53f57f1204 100644
--- a/install/tpl/opensuse_dovecot2.conf.master
+++ b/install/tpl/opensuse_dovecot2.conf.master
@@ -6,6 +6,7 @@ log_timestamp = "%Y-%m-%d %H:%M:%S "
 mail_privileged_group = vmail
 ssl_cert = </etc/postfix/smtpd.cert
 ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
 passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index 7baa703ed4..80d1fd17ae 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -30,4 +30,5 @@ mime_header_checks = regexp:{config_dir}/mime_header_checks
 nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
-smtp_tls_security_level = may
\ No newline at end of file
+smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
-- 
GitLab


From 980485c46c2d0fab48410dc5aedb1a2fafa40a34 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 17 Oct 2014 12:04:41 +0200
Subject: [PATCH 155/158] Fixed: FS#3696 - Interface SSL keys should be owned
 by root - Improved postfix SSL configuration to protect against poodle
 attack.

---
 install/dist/lib/fedora.lib.php          | 7 +++++++
 install/dist/lib/gentoo.lib.php          | 2 ++
 install/dist/lib/opensuse.lib.php        | 7 +++++++
 install/lib/installer_base.lib.php       | 4 ++++
 install/tpl/debian_postfix.conf.master   | 4 +++-
 install/tpl/fedora_postfix.conf.master   | 4 +++-
 install/tpl/gentoo_postfix.conf.master   | 4 +++-
 install/tpl/opensuse_postfix.conf.master | 4 +++-
 8 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index e5eefa3258..2c312cbbd7 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -1058,6 +1058,13 @@ class installer_dist extends installer_base {
 			exec("chmod 600 $install_dir/server/lib/mysql_clientdb.conf");
 			exec("chown root:root $install_dir/server/lib/mysql_clientdb.conf");
 		}
+		
+		if(is_dir($install_dir.'/interface/invoices')) {
+			exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
+			exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
+		}
+		
+		exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
 
 		// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
 		// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 005a2fc2ee..3eebf91e26 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -962,6 +962,8 @@ class installer extends installer_base
 			exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
 			exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
 		}
+		
+		exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
 
 		// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
 		// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index cd47d0533e..6f0807388e 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -1131,6 +1131,13 @@ class installer_dist extends installer_base {
 			exec("chmod 600 $install_dir/server/lib/mysql_clientdb.conf");
 			exec("chown root:root $install_dir/server/lib/mysql_clientdb.conf");
 		}
+		
+		if(is_dir($install_dir.'/interface/invoices')) {
+			exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
+			exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
+		}
+		
+		exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
 
 		// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
 		// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 5958d9d6ad..86429a9fc3 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1716,6 +1716,8 @@ class installer_base {
 		exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure");
 		rename($ssl_key_file, $ssl_key_file.'.secure');
 		rename($ssl_key_file.'.insecure', $ssl_key_file);
+		
+		exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
 
 	}
 
@@ -1994,6 +1996,8 @@ class installer_base {
 			exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
 			exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
 		}
+		
+		exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
 
 		// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
 		// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index ff5052eb1e..b322ca71ad 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -32,4 +32,6 @@ nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 owner_request_special = no
 smtp_tls_security_level = may
-smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
\ No newline at end of file
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index 88c8d598bc..8545002eec 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -29,4 +29,6 @@ nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
 smtp_tls_security_level = may
-smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
\ No newline at end of file
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index 1ddfd40ef8..ca21de5c35 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -29,4 +29,6 @@ nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
 smtp_tls_security_level = may
-smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
\ No newline at end of file
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index 80d1fd17ae..a94235a2de 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -31,4 +31,6 @@ nested_header_checks = regexp:{config_dir}/nested_header_checks
 body_checks = regexp:{config_dir}/body_checks
 inet_interfaces = all
 smtp_tls_security_level = may
-smtpd_tls_mandatory_protocols=!SSLv2, !SSLv3
\ No newline at end of file
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
\ No newline at end of file
-- 
GitLab


From 074a578110cefcd658b1c491491757478bf7907e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 17 Oct 2014 15:29:31 +0200
Subject: [PATCH 156/158] Fixed: FS#3705 - openvz container wont boot after new
 mounts added to fstab -Added a new option "Network Filesystem" under System >
 Server config > Web to toggle on / off the _netdev option for the bind mounts
 in /etc/fstab

---
 install/tpl/server.ini.master                  |  1 +
 .../web/admin/form/server_config.tform.php     |  6 ++++++
 .../web/admin/lib/lang/ar_server_config.lng    |  1 +
 .../web/admin/lib/lang/bg_server_config.lng    |  1 +
 .../web/admin/lib/lang/br_server_config.lng    |  1 +
 .../web/admin/lib/lang/cz_server_config.lng    |  1 +
 .../web/admin/lib/lang/de_server_config.lng    |  1 +
 .../web/admin/lib/lang/el_server_config.lng    |  1 +
 .../web/admin/lib/lang/en_server_config.lng    |  1 +
 .../web/admin/lib/lang/es_server_config.lng    |  1 +
 .../web/admin/lib/lang/fi_server_config.lng    |  1 +
 .../web/admin/lib/lang/fr_server_config.lng    |  1 +
 .../web/admin/lib/lang/hr_server_config.lng    |  1 +
 .../web/admin/lib/lang/hu_server_config.lng    |  1 +
 .../web/admin/lib/lang/id_server_config.lng    |  1 +
 .../web/admin/lib/lang/it_server_config.lng    |  1 +
 .../web/admin/lib/lang/ja_server_config.lng    |  1 +
 .../web/admin/lib/lang/nl_server_config.lng    |  1 +
 .../web/admin/lib/lang/pl_server_config.lng    |  1 +
 .../web/admin/lib/lang/pt_server_config.lng    |  1 +
 .../web/admin/lib/lang/ro_server_config.lng    |  1 +
 .../web/admin/lib/lang/ru_server_config.lng    |  1 +
 .../web/admin/lib/lang/se_server_config.lng    |  1 +
 .../web/admin/lib/lang/sk_server_config.lng    |  1 +
 .../web/admin/lib/lang/tr_server_config.lng    |  1 +
 .../admin/templates/server_config_web_edit.htm |  6 ++++++
 .../plugins-available/apache2_plugin.inc.php   | 18 +++++++++++++++---
 server/plugins-available/nginx_plugin.inc.php  | 16 ++++++++++++++--
 28 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 8af63c3f2d..7c4a507f69 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -56,6 +56,7 @@ website_basedir=/var/www
 website_path=/var/www/clients/client[client_id]/web[website_id]
 website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/
 website_symlinks_rel=n
+network_filesystem=n
 vhost_conf_dir=/etc/apache2/sites-available
 vhost_conf_enabled_dir=/etc/apache2/sites-enabled
 nginx_vhost_conf_dir=/etc/nginx/sites-available
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 01ac5681d9..fff0a9f826 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -549,6 +549,12 @@ $form["tabs"]['web'] = array(
 			'default' => 'n',
 			'value' => array(0 => 'n', 1 => 'y')
 		),
+		'network_filesystem' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value' => array(0 => 'n', 1 => 'y')
+		),
 		'website_autoalias' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng
index 7f23b7d2bf..7cd66c7134 100644
--- a/interface/web/admin/lib/lang/ar_server_config.lng
+++ b/interface/web/admin/lib/lang/ar_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng
index b15c3c6d01..8e87e04172 100644
--- a/interface/web/admin/lib/lang/bg_server_config.lng
+++ b/interface/web/admin/lib/lang/bg_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng
index 2b0dd67050..9747b3d4a8 100644
--- a/interface/web/admin/lib/lang/br_server_config.lng
+++ b/interface/web/admin/lib/lang/br_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng
index f9b3ba3db9..e469ac20c3 100644
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -241,5 +241,6 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
 
diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
index b040dba086..2e7bd4b4b7 100644
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Netzwerk-Dateisystem';
 ?>
diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng
index 6ab52a93c9..a941878b42 100644
--- a/interface/web/admin/lib/lang/el_server_config.lng
+++ b/interface/web/admin/lib/lang/el_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index cc34e05ac3..f11cd56f77 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index 42aeb0942a..6650d658f6 100644
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng
index 13ef9f3337..4ea35433d4 100755
--- a/interface/web/admin/lib/lang/fi_server_config.lng
+++ b/interface/web/admin/lib/lang/fi_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng
index d66d977f16..b8030f3109 100644
--- a/interface/web/admin/lib/lang/fr_server_config.lng
+++ b/interface/web/admin/lib/lang/fr_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
index 12c695c4ef..ba47ff7a0d 100644
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -241,6 +241,7 @@ $wb['vlogger_config_dir_error_regex'] = 'Neispravan vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Neispravan cron init script.';
 $wb['crontab_dir_error_regex'] = 'Neispravan crontab direktorij.';
 $wb['cron_wget_error_regex'] = 'Neispravna cron wget putanja.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
 
 
diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng
index 4a1752564d..2ce265ca94 100644
--- a/interface/web/admin/lib/lang/hu_server_config.lng
+++ b/interface/web/admin/lib/lang/hu_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
index ac67571dfb..b7768826cb 100644
--- a/interface/web/admin/lib/lang/id_server_config.lng
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng
index fac8b35bb8..7eb3c8ec64 100644
--- a/interface/web/admin/lib/lang/it_server_config.lng
+++ b/interface/web/admin/lib/lang/it_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng
index 110148ce11..4c5b743346 100644
--- a/interface/web/admin/lib/lang/ja_server_config.lng
+++ b/interface/web/admin/lib/lang/ja_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
index fb97a2ce24..2615afea83 100644
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng
index ada98882b1..95578799d6 100644
--- a/interface/web/admin/lib/lang/pl_server_config.lng
+++ b/interface/web/admin/lib/lang/pl_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
index e9fcd3736a..db08597ffd 100644
--- a/interface/web/admin/lib/lang/pt_server_config.lng
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng
index 078910fc12..abaa2db3cc 100644
--- a/interface/web/admin/lib/lang/ro_server_config.lng
+++ b/interface/web/admin/lib/lang/ro_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng
index 9f881ae248..5e6fcf6ed2 100644
--- a/interface/web/admin/lib/lang/ru_server_config.lng
+++ b/interface/web/admin/lib/lang/ru_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng
index fc5b2017c5..71c07ff7af 100644
--- a/interface/web/admin/lib/lang/se_server_config.lng
+++ b/interface/web/admin/lib/lang/se_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng
index 776357db68..a67feff867 100644
--- a/interface/web/admin/lib/lang/sk_server_config.lng
+++ b/interface/web/admin/lib/lang/sk_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng
index 6d6e05d552..2604cbfae7 100644
--- a/interface/web/admin/lib/lang/tr_server_config.lng
+++ b/interface/web/admin/lib/lang/tr_server_config.lng
@@ -241,4 +241,5 @@ $wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
 $wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
 $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
 $wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
 ?>
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index 6169691910..bcb0612543 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -30,6 +30,12 @@
                 <div class="multiField">
                     {tmpl_var name='website_symlinks_rel'}
                 </div>
+            </div>
+			<div class="ctrlHolder">
+                <label for="website_symlinks_rel">{tmpl_var name='network_filesystem_txt'}</label>
+                <div class="multiField">
+                    {tmpl_var name='network_filesystem'}
+                </div>
             </div>
             <div class="ctrlHolder">
                 <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 3c4ba3e77f..7c1903a13a 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -495,15 +495,27 @@ class apache2_plugin {
 			if($apache_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
 
 			//* Change the log mount
+			/*
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind';
 			$app->system->removeLine('/etc/fstab', $fstab_line);
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind,nobootwait';
 			$app->system->removeLine('/etc/fstab', $fstab_line);
-			$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
-			$app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
+			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind,nobootwait';
+			$app->system->removeLine('/etc/fstab', $fstab_line);
+			*/
+			
+			$fstab_line_old = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind';
+			
+			if($web_config['network_filesystem'] == 'y') {
+				$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
+				$app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+			} else {
+				$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait    0 0';
+				$app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+			}
 			
 			exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
-
+			
 		}
 
 		//print_r($data);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 0e77205cc5..02fb427fe1 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -501,12 +501,24 @@ class nginx_plugin {
 			if($nginx_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
 
 			//* Change the log mount
+			/*
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind';
 			$app->system->removeLine('/etc/fstab', $fstab_line);
 			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind,nobootwait';
 			$app->system->removeLine('/etc/fstab', $fstab_line);
-			$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
-			$app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
+			$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind,nobootwait';
+			$app->system->removeLine('/etc/fstab', $fstab_line);
+			*/
+			
+			$fstab_line_old = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.'    none    bind';
+			
+			if($web_config['network_filesystem'] == 'y') {
+				$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
+				$app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+			} else {
+				$fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait    0 0';
+				$app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+			}
 			
 			exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
 
-- 
GitLab


From ea9199eb394c7eae3269dfd6f68f50a5bec725fe Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 17 Oct 2014 15:32:16 +0200
Subject: [PATCH 157/158] Updated version number to 3.0.5.4p4

---
 install/sql/ispconfig3.sql                  | 2 +-
 install/tpl/config.inc.php.master           | 2 +-
 interface/lib/config.inc.php                | 2 +-
 interface/web/themes/blue/ispconfig_version | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 46b8025d4d..59e6a7fad4 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -2292,7 +2292,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p3');
+INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p4');
 INSERT INTO sys_config VALUES ('interface','session_timeout','0');
 
 SET FOREIGN_KEY_CHECKS = 1;
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index bae2adb932..87682ea853 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p3');
+define('ISPC_APP_VERSION', '3.0.5.4p4');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php
index b6ee79e920..7fddb21f8e 100644
--- a/interface/lib/config.inc.php
+++ b/interface/lib/config.inc.php
@@ -44,7 +44,7 @@ $revision = str_replace(array('Revision:', '$', ' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.4p3');
+define('ISPC_APP_VERSION', '3.0.5.4p4');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/web/themes/blue/ispconfig_version b/interface/web/themes/blue/ispconfig_version
index 000d1abcef..54647ca8b6 100644
--- a/interface/web/themes/blue/ispconfig_version
+++ b/interface/web/themes/blue/ispconfig_version
@@ -1 +1 @@
-3.0.5.4p3
+3.0.5.4p4
-- 
GitLab


From 4ca1f82d6486238543ea005dbb9d22dd2d534505 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Sat, 18 Oct 2014 09:39:04 +0200
Subject: [PATCH 158/158] - fixed typo (double }) in fedora install library

---
 install/dist/lib/fedora.lib.php | 1 -
 1 file changed, 1 deletion(-)

diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 2c312cbbd7..5771bbaead 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -236,7 +236,6 @@ class installer_dist extends installer_base {
 				$command = 'cd '.$config_dir.'; '
 					.'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
 			}
-			}
 			exec($command);
 
 			$command = 'chmod o= '.$config_dir.'/smtpd.key';
-- 
GitLab