aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-12 12:09:34 +0100
committerMinteck <contact@minteck.org>2022-02-12 12:09:34 +0100
commit38e7fbe2f99a5d0b6a69e54ab3af7ebf451e8f4f (patch)
tree33266f2ba82dd1e22fe85cf77bc0b559e3917af8
parent01160246e4a0c0052181c72a53737e356ea7d02d (diff)
downloadtwilight-38e7fbe2f99a5d0b6a69e54ab3af7ebf451e8f4f.tar.gz
twilight-38e7fbe2f99a5d0b6a69e54ab3af7ebf451e8f4f.tar.bz2
twilight-38e7fbe2f99a5d0b6a69e54ab3af7ebf451e8f4f.zip
Update
-rw-r--r--commands/info.js120
-rw-r--r--commands/install.js48
-rw-r--r--commands/installable.js10
-rw-r--r--commands/installed.js10
-rw-r--r--commands/list.js10
-rw-r--r--commands/purge.js54
-rw-r--r--commands/remove.js21
-rw-r--r--commands/upgrade.js41
-rw-r--r--hooks/update.js4
-rw-r--r--t1.json569
-rw-r--r--t2.json569
11 files changed, 1409 insertions, 47 deletions
diff --git a/commands/info.js b/commands/info.js
new file mode 100644
index 0000000..125c198
--- /dev/null
+++ b/commands/info.js
@@ -0,0 +1,120 @@
+module.exports = async (argv) => {
+ const installed = JSON.parse(fs.readFileSync(home + "/installed.json").toString());
+ let pkgInstalled = false
+ if (installed.map(i => i.id).includes(argv.package)) {
+ pkgInstalled = true;
+ }
+
+ let packages = JSON.parse(fs.readFileSync(home + "/repository/list.json").toString());
+
+ if (!packages.includes(argv.package)) {
+ die(c.red("error: ") + "package '" + argv.package + "' not in repository");
+ }
+
+ let dir = argv.package.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
+ let pkg = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + argv.package + ".json").toString());
+
+ let compatible = true;
+ let replacement = null;
+ if (os.platform() === "win32" && pkg.platforms.windows === 0) {
+ compatible = false;
+ if (typeof pkg.replaced.windows === "string") {
+ replacement = pkg.replaced.windows
+ }
+ } else if (os.platform() === "linux" && pkg.platforms.linux === 0) {
+ compatible = false;
+ if (typeof pkg.replaced.linux === "string") {
+ replacement = pkg.replaced.linux
+ }
+ } else if (os.platform() === "darwin" && pkg.platforms.mac === 0) {
+ compatible = false;
+ if (typeof pkg.replaced.mac === "string") {
+ replacement = pkg.replaced.mac
+ }
+ }
+
+ let experimental = false;
+ if (os.platform() === "win32" && pkg.platforms.windows === 1) {
+ experimental = true;
+ } else if (os.platform() === "linux" && pkg.platforms.linux === 1) {
+ experimental = true;
+ } else if (os.platform() === "darwin" && pkg.platforms.mac === 1) {
+ experimental = true;
+ }
+
+ let version = pkg.verdata.latest;
+ let publisher = pkg.verdata.publisher.name;
+ let publisherMail = pkg.verdata.publisher.email;
+ let date = moment(pkg.verdata.date).fromNow();
+
+ let signed = false;
+ let signInfo = "";
+ let verified = false;
+
+ if (pkg.sign.signed) {
+ signed = true;
+ verified = pkg.sign.verified;
+ if (pkg.sign.signer.name && pkg.sign.signer.email && pkg.sign.key) {
+ signInfo = pkg.sign.signer.name + " <" + pkg.sign.signer.email + "> " + c.gray("(" + pkg.sign.key + ")");
+ } else if (pkg.sign.signer.name && pkg.sign.key) {
+ signInfo = pkg.sign.signer.name + c.gray(" (" + pkg.sign.key + ")");
+ } else if (pkg.sign.signer.email && pkg.sign.key) {
+ signInfo = pkg.sign.signer.email + c.gray(" (" + pkg.sign.key + ")");
+ } else if (pkg.sign.key) {
+ signInfo = pkg.sign.key;
+ }
+ }
+
+ console.log(c.bold(pkg.name + ": " + pkg.description))
+ console.log(" " + c.magentaBright("version:") + " " + version);
+ console.log(" " + c.magentaBright("last update:") + " " + date);
+ console.log(" " + c.magentaBright("publisher:") + " " + publisher + " <" + publisherMail + ">");
+
+ if (signed) {
+ if (verified) {
+ console.log(" " + c.magentaBright("security:") + " " + c.green("verified") + "\n " + signInfo);
+ } else {
+ console.log(" " + c.magentaBright("security:") + " " + c.yellow("unverified") + "\n " + signInfo);
+ }
+ } else {
+ console.log(" " + c.magentaBright("security:") + " " + c.red.inverse("unsafe"));
+ }
+
+ if (pkgInstalled) {
+ if (experimental) {
+ console.log(" " + c.magentaBright("state:") + " " + c.cyan("installed") + " (" + moment(installed.filter(i => i.id === pkg.id)[0].date).fromNow() + "), " + c.yellow("experimental"))
+ } else {
+ console.log(" " + c.magentaBright("state:") + " " + c.cyan("installed") + " (" + moment(installed.filter(i => i.id === pkg.id)[0].date).fromNow() + ")")
+ }
+ } else {
+ if (compatible) {
+ if (experimental) {
+ console.log(" " + c.magentaBright("state:") + " " + c.green("compatible") + ", " + c.yellow("experimental"));
+ } else {
+ console.log(" " + c.magentaBright("state:") + " " + c.green("compatible"));
+ }
+ } else {
+ if (typeof replacement === "string") {
+ console.log(" " + c.magentaBright("state:") + " " + c.red("incompatible") + " (replaced by: " + replacement + ")");
+ } else {
+ console.log(" " + c.magentaBright("state:") + " " + c.red("incompatible") + " (no replacement)");
+ }
+ }
+ }
+
+ if (typeof pkg.deprecated === "string") {
+ if (pkg.deprecated.toString().trim() !== "") {
+ console.log(" " + c.magentaBright("support:") + " " + c.red("unsupported") + " (" + pkg.deprecated + ")");
+ } else {
+ console.log(" " + c.magentaBright("support:") + " " + c.red("unsupported"));
+ }
+ } else if (typeof pkg.extended === "string") {
+ if (pkg.extended.toString().trim() !== "") {
+ console.log(" " + c.magentaBright("support:") + " " + c.yellow("extended") + " (" + pkg.extended + ")");
+ } else {
+ console.log(" " + c.magentaBright("support:") + " " + c.yellow("extended"));
+ }
+ } else {
+ console.log(" " + c.magentaBright("support:") + " " + c.green("supported"));
+ }
+} \ No newline at end of file
diff --git a/commands/install.js b/commands/install.js
index c2da58a..b65725d 100644
--- a/commands/install.js
+++ b/commands/install.js
@@ -15,12 +15,39 @@ module.exports = async (argv) => {
let dir = argv.package.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
let pkg = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + argv.package + ".json").toString());
+ let replacement = null;
if (os.platform() === "win32" && pkg.platforms.windows === 0) {
- die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'win32'");
+ if (typeof pkg.replaced.windows === "string") {
+ replacement = pkg.replaced.windows
+ }
+ } else if (os.platform() === "linux" && pkg.platforms.linux === 0) {
+ if (typeof pkg.replaced.linux === "string") {
+ replacement = pkg.replaced.linux
+ }
+ } else if (os.platform() === "darwin" && pkg.platforms.mac === 0) {
+ if (typeof pkg.replaced.mac === "string") {
+ replacement = pkg.replaced.mac
+ }
+ }
+
+ if (os.platform() === "win32" && pkg.platforms.windows === 0) {
+ if (typeof replacement === "string") {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'win32', replaced by '" + replacement + "'");
+ } else {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'win32', no replacement available");
+ }
} else if (os.platform() === "linux" && pkg.platforms.linux === 0) {
- die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'linux'");
+ if (typeof replacement === "string") {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'linux', replaced by '" + replacement + "'");
+ } else {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'linux', no replacement available");
+ }
} else if (os.platform() === "darwin" && pkg.platforms.mac === 0) {
- die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'macos'");
+ if (typeof replacement === "string") {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'macos', replaced by '" + replacement + "'");
+ } else {
+ die(c.red("error: ") + "package '" + argv.package + "' not available on platform 'macos', no replacement available");
+ }
}
if (os.platform() === "win32" && pkg.platforms.windows === 1) {
@@ -85,7 +112,7 @@ module.exports = async (argv) => {
console.log(" security: " + c.red.inverse("unsafe"));
}
- if (pkg.deprecated) {
+ if (typeof pkg.deprecated === "string") {
if (pkg.deprecated.toString().trim() !== "") {
console.log(c.yellow("warn: ") + "package '" + pkg.name + "' has been marked as deprecated: " + pkg.deprecated);
} else {
@@ -117,5 +144,18 @@ module.exports = async (argv) => {
fs.writeFileSync(os.homedir() + "/.twilight/installed.json", JSON.stringify(installed));
spinner.succeed("Extracting package... done");
console.log(" Size change: +" + require('../hooks/size')(pkg.id));
+
+ let postinstall = [];
+ if (os.platform() === "win32") postinstall = pkg.postinstall.windows;
+ if (os.platform() === "linux") postinstall = pkg.postinstall.linux;
+ if (os.platform() === "darwin") postinstall = pkg.postinstall.mac;
+
+ if (postinstall.length > 0) {
+ spinner = ora("Running post-install hooks...").start();
+ for (let hook of postinstall) {
+ require('child_process').execSync(hook, { stdio: "inherit" })
+ }
+ spinner.succeed("Running post-install hooks... done");
+ }
})
} \ No newline at end of file
diff --git a/commands/installable.js b/commands/installable.js
index ee4a0f0..6e76115 100644
--- a/commands/installable.js
+++ b/commands/installable.js
@@ -40,17 +40,17 @@ module.exports = async () => {
}
if (pack.platforms.windows === 2 && pack.platforms.linux === 2 && pack.platforms.mac === 2) {
- platforms[pack.id] = c.blue("all");
+ platforms[pack.id] = c.cyan("all");
} else if (pack.platforms.windows === 1 && pack.platforms.linux === 1 && pack.platforms.mac === 1) {
platforms[pack.id] = c.yellow("all");
} else {
platforms[pack.id] = "";
if (pack.platforms.windows === 1) { platforms[pack.id] += c.yellow("win32") + "," }
- if (pack.platforms.windows === 2) { platforms[pack.id] += c.blue("win32") + "," }
+ if (pack.platforms.windows === 2) { platforms[pack.id] += c.cyan("win32") + "," }
if (pack.platforms.linux === 1) { platforms[pack.id] += c.yellow("linux") + "," }
- if (pack.platforms.linux === 2) { platforms[pack.id] += c.blue("linux") + "," }
- if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("darwin") + "," }
- if (pack.platforms.mac === 2) { platforms[pack.id] += c.blue("darwin") + "," }
+ if (pack.platforms.linux === 2) { platforms[pack.id] += c.cyan("linux") + "," }
+ if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("macos") + "," }
+ if (pack.platforms.mac === 2) { platforms[pack.id] += c.cyan("macos") + "," }
if (platforms[pack.id].endsWith(",")) { platforms[pack.id] = platforms[pack.id].substring(0, platforms[pack.id].length - 1) }
}
diff --git a/commands/installed.js b/commands/installed.js
index 577d071..b24d2bd 100644
--- a/commands/installed.js
+++ b/commands/installed.js
@@ -40,17 +40,17 @@ module.exports = async () => {
}
if (pack.platforms.windows === 2 && pack.platforms.linux === 2 && pack.platforms.mac === 2) {
- platforms[pack.id] = c.blue("all");
+ platforms[pack.id] = c.cyan("all");
} else if (pack.platforms.windows === 1 && pack.platforms.linux === 1 && pack.platforms.mac === 1) {
platforms[pack.id] = c.yellow("all");
} else {
platforms[pack.id] = "";
if (pack.platforms.windows === 1) { platforms[pack.id] += c.yellow("win32") + "," }
- if (pack.platforms.windows === 2) { platforms[pack.id] += c.blue("win32") + "," }
+ if (pack.platforms.windows === 2) { platforms[pack.id] += c.cyan("win32") + "," }
if (pack.platforms.linux === 1) { platforms[pack.id] += c.yellow("linux") + "," }
- if (pack.platforms.linux === 2) { platforms[pack.id] += c.blue("linux") + "," }
- if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("darwin") + "," }
- if (pack.platforms.mac === 2) { platforms[pack.id] += c.blue("darwin") + "," }
+ if (pack.platforms.linux === 2) { platforms[pack.id] += c.cyan("linux") + "," }
+ if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("macos") + "," }
+ if (pack.platforms.mac === 2) { platforms[pack.id] += c.cyan("macos") + "," }
if (platforms[pack.id].endsWith(",")) { platforms[pack.id] = platforms[pack.id].substring(0, platforms[pack.id].length - 1) }
}
diff --git a/commands/list.js b/commands/list.js
index c40cc23..9dc0020 100644
--- a/commands/list.js
+++ b/commands/list.js
@@ -40,17 +40,17 @@ module.exports = async () => {
}
if (pack.platforms.windows === 2 && pack.platforms.linux === 2 && pack.platforms.mac === 2) {
- platforms[pack.id] = c.blue("all");
+ platforms[pack.id] = c.cyan("all");
} else if (pack.platforms.windows === 1 && pack.platforms.linux === 1 && pack.platforms.mac === 1) {
platforms[pack.id] = c.yellow("all");
} else {
platforms[pack.id] = "";
if (pack.platforms.windows === 1) { platforms[pack.id] += c.yellow("win32") + "," }
- if (pack.platforms.windows === 2) { platforms[pack.id] += c.blue("win32") + "," }
+ if (pack.platforms.windows === 2) { platforms[pack.id] += c.cyan("win32") + "," }
if (pack.platforms.linux === 1) { platforms[pack.id] += c.yellow("linux") + "," }
- if (pack.platforms.linux === 2) { platforms[pack.id] += c.blue("linux") + "," }
- if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("darwin") + "," }
- if (pack.platforms.mac === 2) { platforms[pack.id] += c.blue("darwin") + "," }
+ if (pack.platforms.linux === 2) { platforms[pack.id] += c.cyan("linux") + "," }
+ if (pack.platforms.mac === 1) { platforms[pack.id] += c.yellow("macos") + "," }
+ if (pack.platforms.mac === 2) { platforms[pack.id] += c.cyan("macos") + "," }
if (platforms[pack.id].endsWith(",")) { platforms[pack.id] = platforms[pack.id].substring(0, platforms[pack.id].length - 1) }
}
diff --git a/commands/purge.js b/commands/purge.js
new file mode 100644
index 0000000..6c15feb
--- /dev/null
+++ b/commands/purge.js
@@ -0,0 +1,54 @@
+module.exports = async (argv) => {
+ const installed = JSON.parse(fs.readFileSync(home + "/installed.json").toString());
+ if (!installed.map(i => i.id).includes(argv.package)) {
+ die(c.red("error: ") + "package '" + argv.package + "' is not installed");
+ }
+
+ let spinner = ora("Reading package lists...").start();
+ let packages = JSON.parse(fs.readFileSync(home + "/repository/list.json").toString());
+ spinner.succeed("Reading packages lists... done");
+
+ let dir = argv.package.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
+
+ if (!packages.includes(argv.package)) {
+ console.log(c.yellow("warn: ") + "package '" + argv.package + "' not in repository anymore");
+ name = argv.package;
+ } else {
+ name = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + argv.package + ".json").toString()).name;
+ }
+
+ instInfo = installed.filter(i => i.id === argv.package)[0];
+
+ console.log(" Purging '" + name + "'...")
+ console.log(" version: " + instInfo.version);
+ console.log(" installed: " + moment(instInfo.date).fromNow());
+
+ try {
+ if (!(await prompts.confirm({
+ message: "Purging this package will delete all associated data. Are you sure you want to continue?",
+ initial: false
+ }))) {
+ die();
+ }
+ } catch (e) {
+ die();
+ }
+
+ spinner = ora("Reading files list...").start();
+ files1 = instInfo.files;
+ files2 = require('../hooks/files')(instInfo.id);
+ filesR = files2.filter(f => !files1.includes(f));
+ spinner.succeed("Reading files list... done");
+ if (filesR.length === 0) {
+ die(c.red("error: ") + "this installation of package '" + argv.package + "' cannot be purged, use 'twi reinstall' instead");
+ }
+
+ spinner = ora("Removing user files...").start();
+ let index = 0
+ for (let file of filesR) {
+ spinner.text = "Removing user files... " + Math.round((index / filesR.length) * 100) + "%";
+ fs.rmSync(home + "/packages/" + argv.package + "/" + file);
+ index++;
+ }
+ spinner.succeed("Removing user files... done");
+} \ No newline at end of file
diff --git a/commands/remove.js b/commands/remove.js
index 5643dd3..56fc847 100644
--- a/commands/remove.js
+++ b/commands/remove.js
@@ -16,7 +16,7 @@ module.exports = async (argv, reinstalling) => {
let dir = argv.package.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
if (!packages.includes(argv.package)) {
- console.log(c.yellow("warn: ") + "package '" + argv.package + "' not in repository anymore");
+ console.log(c.yellow("warn: ") + "package '" + argv.package + "' not in repository anymore, unable to fetch for name");
name = argv.package;
} else {
name = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + argv.package + ".json").toString()).name;
@@ -58,4 +58,23 @@ module.exports = async (argv, reinstalling) => {
delete installed[installed.map(i => i.id).indexOf(argv.package)];
fs.writeFileSync(os.homedir() + "/.twilight/installed.json", JSON.stringify(installed));
spinner.succeed("Removing package... done");
+
+ if (!packages.includes(argv.package)) {
+ console.log(c.yellow("warn: ") + "package '" + argv.package + "' not in repository anymore, unable to fetch for post-remove hooks");
+ } else {
+ ppr = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + argv.package + ".json").toString()).postremove;
+
+ let postremove = [];
+ if (os.platform() === "win32") postremove = ppr.windows;
+ if (os.platform() === "linux") postremove = ppr.linux;
+ if (os.platform() === "darwin") postremove = ppr.mac;
+
+ if (postremove.length > 0) {
+ spinner = ora("Running post-remove hooks...").start();
+ for (let hook of postremove) {
+ require('child_process').execSync(hook, { stdio: "inherit" })
+ }
+ spinner.succeed("Running post-remove hooks... done");
+ }
+ }
} \ No newline at end of file
diff --git a/commands/upgrade.js b/commands/upgrade.js
index cf8bd0b..7dcdb4a 100644
--- a/commands/upgrade.js
+++ b/commands/upgrade.js
@@ -13,7 +13,6 @@ module.exports = async (argv) => {
let installable = true;
let dir = pack.id.substring(0, 1).replace(/[^a-zA-Z0-9]/gm, "#");
let pkg = JSON.parse(fs.readFileSync(home + "/repository/" + dir + "/" + pack.id + ".json").toString());
- console.log(" " + pkg.name + " (" + pkg.id + ")")
if ((argv.package !== undefined && argv.package === pack.id) || argv.package === undefined) {
updated = true;
if (os.platform() === "win32" && pkg.platforms.windows === 0) {
@@ -52,41 +51,29 @@ module.exports = async (argv) => {
spinner.succeed("Checking dependencies... done")
if (installable) {
- spinner = ora("Fetching latest version...").start();
- let version = (await axios.get(pkg.version)).data.commit.short_id;
- let publisher = (await axios.get(pkg.version)).data.commit.author_name;
- let publisherMail = (await axios.get(pkg.version)).data.commit.author_email;
- let date = moment((await axios.get(pkg.version)).data.commit.created_at).fromNow();
+ let version = pkg.verdata.latest;
+ let publisher = pkg.verdata.publisher.name;
+ let publisherMail = pkg.verdata.publisher.email;
+ let date = moment(pkg.verdata.date).fromNow();
let signed = false;
let signInfo = "";
let verified = false;
- let signRaw = { error: "404 Not Found" };
- try {
- signRaw = (await axios.get(pkg.signature.replace("{version}", (await axios.get(pkg.version)).data.commit.id))).data;
- } catch (e) {}
-
- if (signRaw.error !== "404 Not Found") {
+ if (pkg.sign.signed) {
signed = true;
- if (signRaw.verification_status === "verified") {
- verified = true;
- } else {
- verified = false;
- }
- if (signRaw.gpg_key_user_name && signRaw.gpg_key_user_email && signRaw.gpg_key_primary_keyid) {
- signInfo = signRaw.gpg_key_user_name + " <" + signRaw.gpg_key_user_email + "> " + c.gray("(" + signRaw.gpg_key_primary_keyid + ")");
- } else if (signRaw.gpg_key_user_name && signRaw.gpg_key_primary_keyid) {
- signInfo = signRaw.gpg_key_user_name + c.gray(" (" + signRaw.gpg_key_primary_keyid + ")");
- } else if (signRaw.gpg_key_user_email && signRaw.gpg_key_primary_keyid) {
- signInfo = signRaw.gpg_key_user_email + c.gray(" (" + signRaw.gpg_key_primary_keyid + ")");
- } else if (signRaw.gpg_key_primary_keyid) {
- signInfo = signRaw.gpg_key_primary_keyid;
+ verified = pkg.sign.verified;
+ if (pkg.sign.signer.name && pkg.sign.signer.email && pkg.sign.key) {
+ signInfo = pkg.sign.signer.name + " <" + pkg.sign.signer.email + "> " + c.gray("(" + pkg.sign.key + ")");
+ } else if (pkg.sign.signer.name && pkg.sign.key) {
+ signInfo = pkg.sign.signer.name + c.gray(" (" + pkg.sign.key + ")");
+ } else if (pkg.sign.signer.email && pkg.sign.key) {
+ signInfo = pkg.sign.signer.email + c.gray(" (" + pkg.sign.key + ")");
+ } else if (pkg.sign.key) {
+ signInfo = pkg.sign.key;
}
}
- spinner.succeed("Fetching latest version... done");
-
if (pack.version !== version) {
console.log(" Installing '" + pkg.name + "'...")
console.log(" version: " + pack.version + " -> " + version);
diff --git a/hooks/update.js b/hooks/update.js
index f871889..412c733 100644
--- a/hooks/update.js
+++ b/hooks/update.js
@@ -25,6 +25,10 @@ module.exports = async () => {
date: verdata.commit.created_at
}
+ if (typeof pack.pointrelease === "string") {
+ pack.verdata.latest = pack.pointrelease;
+ }
+
let signRaw = { error: "404 Not Found" };
try {
signRaw = (await axios.get(pack.signature.replace("{version}", verdata.commit.id))).data;
diff --git a/t1.json b/t1.json
new file mode 100644
index 0000000..2b5971c
--- /dev/null
+++ b/t1.json
@@ -0,0 +1,569 @@
+[
+ ".gitignore",
+ ".gitlab-ci.yml",
+ ".gitmodules",
+ ".vs/MPCMS/v16/.suo",
+ ".vs/slnx.sqlite",
+ ".vs/VSWorkspaceState.json",
+ "api/.htaccess",
+ "api/admin/appearance.php",
+ "api/admin/cache_content_reset.php",
+ "api/admin/cache_pages_update.php",
+ "api/admin/calendar_create.php",
+ "api/admin/calendar_delete.php",
+ "api/admin/calendar_nextevents.php",
+ "api/admin/create_page.php",
+ "api/admin/customization_colors.php",
+ "api/admin/customization_theme.php",
+ "api/admin/delete_page.php",
+ "api/admin/edit_page.php",
+ "api/admin/flag_disable.php",
+ "api/admin/flag_enable.php",
+ "api/admin/footer.php",
+ "api/admin/galery_create_category.php",
+ "api/admin/galery_delete_category.php",
+ "api/admin/galery_delete_image.php",
+ "api/admin/galery_label_picture.php",
+ "api/admin/galery_publish_photo.php",
+ "api/admin/galery_toggle_state.php",
+ "api/admin/instant_language_change.php",
+ "api/admin/login.php",
+ "api/admin/password.php",
+ "api/admin/rename_page.php",
+ "api/admin/reset.php",
+ "api/admin/save_advanced.php",
+ "api/admin/widgets.php",
+ "api/bugs",
+ "api/codename",
+ "api/electrode/quit.php",
+ "api/electrode/version",
+ "api/engine/components/banner.php",
+ "api/engine/components/content.php",
+ "api/engine/components/drawer.php",
+ "api/engine/components/favicon.php",
+ "api/engine/components/footer.php",
+ "api/engine/components/init.php",
+ "api/engine/components/menubar.php",
+ "api/engine/components/widgets.php",
+ "api/engine/heads.php",
+ "api/engine/homepage.php",
+ "api/engine/includes/cache.php",
+ "api/engine/includes/getPageContent.php",
+ "api/engine/includes/getPageName.php",
+ "api/engine/includes/includes.php",
+ "api/engine/pages.php",
+ "api/engine/render.php",
+ "api/engine/special.php",
+ "api/engine/tails.php",
+ "api/engine/wrapper.php",
+ "api/experimental",
+ "api/lang/processor.php",
+ "api/lang/setup.php",
+ "api/public",
+ "api/renderer/main.php",
+ "api/renderer/render.php",
+ "api/setup/check.php",
+ "api/setup/defaultHomepage.html",
+ "api/setup/push.php",
+ "api/snow-bold.png",
+ "api/snow-light.png",
+ "api/snow-medium.png",
+ "api/version",
+ "api/version.engine",
+ "api/version.full",
+ "api/version.pretty",
+ "cms-special/.htaccess",
+ "cms-special/admin/$resources/admin.js",
+ "cms-special/admin/$resources/common.css",
+ "cms-special/admin/$resources/header.php",
+ "cms-special/admin/$resources/index-auto.css",
+ "cms-special/admin/$resources/index-dark.css",
+ "cms-special/admin/$resources/index.css",
+ "cms-special/admin/$resources/postcontent.php",
+ "cms-special/admin/$resources/precontent.php",
+ "cms-special/admin/$resources/responsive.css",
+ "cms-special/admin/$resources/spotlight-test.php",
+ "cms-special/admin/$resources/spotlight.php",
+ "cms-special/admin/.htaccess",
+ "cms-special/admin/about/index.php",
+ "cms-special/admin/advanced/index.php",
+ "cms-special/admin/advanced/jsonconf/index.php",
+ "cms-special/admin/appearance/index.php",
+ "cms-special/admin/calendar/add/index.php",
+ "cms-special/admin/calendar/index.php",
+ "cms-special/admin/calendar/manage/index.php",
+ "cms-special/admin/customization/index.php",
+ "cms-special/admin/error/index.php",
+ "cms-special/admin/flags/index.php",
+ "cms-special/admin/galery/addcategory/index.php",
+ "cms-special/admin/galery/index.php",
+ "cms-special/admin/galery/publish/index.php",
+ "cms-special/admin/gallery/addcategory/index.php",
+ "cms-special/admin/gallery/index.php",
+ "cms-special/admin/gallery/publish/index.php",
+ "cms-special/admin/home/all/index.php",
+ "cms-special/admin/home/appearance/index.php",
+ "cms-special/admin/home/data/index.php",
+ "cms-special/admin/home/housekeeping/index.php",
+ "cms-special/admin/home/index.php",
+ "cms-special/admin/housekeeping/index.php",
+ "cms-special/admin/housekeeping/reset/index.php",
+ "cms-special/admin/index.php",
+ "cms-special/admin/language/index.php",
+ "cms-special/admin/login/index.php",
+ "cms-special/admin/login-old/index.php",
+ "cms-special/admin/logout/index.php",
+ "cms-special/admin/logs/index.php",
+ "cms-special/admin/pages/add/index.php",
+ "cms-special/admin/pages/delete/index.php",
+ "cms-special/admin/pages/edit/index.php",
+ "cms-special/admin/pages/index.php",
+ "cms-special/admin/pages/rename/index.php",
+ "cms-special/admin/plugins/index.php",
+ "cms-special/admin/reset/index.php",
+ "cms-special/admin/resetted/index.php",
+ "cms-special/admin/stats/index.php",
+ "cms-special/admin/widgets/index.php",
+ "cms-special/admin-v2/$panes/accounts.php",
+ "cms-special/admin-v2/$panes/content.php",
+ "cms-special/admin-v2/$panes/features.php",
+ "cms-special/admin-v2/$panes/language.php",
+ "cms-special/admin-v2/$panes/maintenance.php",
+ "cms-special/admin-v2/$panes/personalization.php",
+ "cms-special/admin-v2/$panes/security.php",
+ "cms-special/admin-v2/$panes/system.php",
+ "cms-special/admin-v2/$resources/admin.js",
+ "cms-special/admin-v2/$resources/common.css",
+ "cms-special/admin-v2/$resources/header.php",
+ "cms-special/admin-v2/$resources/index-auto.css",
+ "cms-special/admin-v2/$resources/index-dark.css",
+ "cms-special/admin-v2/$resources/index.css",
+ "cms-special/admin-v2/$resources/postcontent.php",
+ "cms-special/admin-v2/$resources/precontent.php",
+ "cms-special/admin-v2/$resources/responsive.css",
+ "cms-special/admin-v2/$resources/session.php",
+ "cms-special/admin-v2/$resources/spotlight-test.php",
+ "cms-special/admin-v2/$resources/spotlight.php",
+ "cms-special/admin-v2/.htaccess",
+ "cms-special/admin-v2/about/index.php",
+ "cms-special/admin-v2/advanced/index.php",
+ "cms-special/admin-v2/advanced/jsonconf/index.php",
+ "cms-special/admin-v2/appearance/index.php",
+ "cms-special/admin-v2/calendar/add/index.php",
+ "cms-special/admin-v2/calendar/index.php",
+ "cms-special/admin-v2/calendar/manage/index.php",
+ "cms-special/admin-v2/customization/index.php",
+ "cms-special/admin-v2/error/index.php",
+ "cms-special/admin-v2/flags/index.php",
+ "cms-special/admin-v2/footer/index.php",
+ "cms-special/admin-v2/galery/addcategory/index.php",
+ "cms-special/admin-v2/galery/index.php",
+ "cms-special/admin-v2/galery/publish/index.php",
+ "cms-special/admin-v2/gallery/addcategory/index.php",
+ "cms-special/admin-v2/gallery/index.php",
+ "cms-special/admin-v2/gallery/publish/index.php",
+ "cms-special/admin-v2/home/all/db.json",
+ "cms-special/admin-v2/home/all/index.php",
+ "cms-special/admin-v2/home/appearance/index.php",
+ "cms-special/admin-v2/home/data/index.php",
+ "cms-special/admin-v2/home/housekeeping/index.php",
+ "cms-special/admin-v2/home/index.php",
+ "cms-special/admin-v2/housekeeping/index.php",
+ "cms-special/admin-v2/housekeeping/reset/index.php",
+ "cms-special/admin-v2/index.php",
+ "cms-special/admin-v2/language/index.php",
+ "cms-special/admin-v2/login/index.php",
+ "cms-special/admin-v2/login-old/index.php",
+ "cms-special/admin-v2/logout/index.php",
+ "cms-special/admin-v2/logs/index.php",
+ "cms-special/admin-v2/pages/add/index.php",
+ "cms-special/admin-v2/pages/delete/index.php",
+ "cms-special/admin-v2/pages/edit/index.php",
+ "cms-special/admin-v2/pages/index.php",
+ "cms-special/admin-v2/pages/rename/index.php",
+ "cms-special/admin-v2/password/index.php",
+ "cms-special/admin-v2/plugins/index.php",
+ "cms-special/admin-v2/reset/index.php",
+ "cms-special/admin-v2/resetted/index.php",
+ "cms-special/admin-v2/stats/index.php",
+ "cms-special/admin-v2/widgets/index.php",
+ "cms-special/calendar/index.php",
+ "cms-special/error/index.php",
+ "cms-special/galery/index.php",
+ "cms-special/galery/preview/index.php",
+ "cms-special/gallery/index.php",
+ "cms-special/gallery/preview/index.php",
+ "cms-special/setup/index.php",
+ "cms-special/version/index.php",
+ "cms-unrelated/.gitkeep",
+ "CONTRIBUTING.md",
+ "count-code.php",
+ "data/.htaccess",
+ "data/tokens/$2y$12$2OCvBCtPGbCWKz8sRfhFZu7yYY3DjQq4cXuvZs0eHiS.wcyuz8duW",
+ "data/webcontent/cache/page-index",
+ "data/webcontent/cache/pagelist-full.mtd",
+ "data/webcontent/cache/pagelist-old.mtd",
+ "data/webcontent/cache/pagelist.mtd",
+ "data/webcontent/caldb.json",
+ "data/webcontent/color",
+ "data/webcontent/customSettings.json",
+ "data/webcontent/engine.log",
+ "data/webcontent/footer",
+ "data/webcontent/lang",
+ "data/webcontent/newstats/2022/02/12",
+ "data/webcontent/pages/index",
+ "data/webcontent/pagetypes/index",
+ "data/webcontent/password",
+ "data/webcontent/sitename",
+ "data/webcontent/system.log",
+ "data/webcontent/theme",
+ "data/webcontent/widgets.json",
+ "index.php",
+ "LICENSE",
+ "README.md",
+ "replace.php",
+ "resources/.htaccess",
+ "resources/css/admin.css",
+ "resources/css/admin_v2/chromium.css",
+ "resources/css/admin_v2/iframe.css",
+ "resources/css/admin_v2/inner.css",
+ "resources/css/admin_v2/main.css",
+ "resources/css/admin_v2/navigation.css",
+ "resources/css/admin_widgets.css",
+ "resources/css/ajax.css",
+ "resources/css/alerts.css",
+ "resources/css/codename.css",
+ "resources/css/error.css",
+ "resources/css/fonts-import.css",
+ "resources/css/main.css",
+ "resources/css/polymer/content.css",
+ "resources/css/polymer/dark.css",
+ "resources/css/polymer/fonts.css",
+ "resources/css/polymer/gallery.css",
+ "resources/css/polymer/menubar.css",
+ "resources/css/polymer/responsive.css",
+ "resources/css/polymer/scrollbars.css",
+ "resources/css/polymer/warnings.css",
+ "resources/css/preview.css",
+ "resources/css/ready.css",
+ "resources/css/setup.css",
+ "resources/css/spotlight.css",
+ "resources/css/themes/blue-auto.css",
+ "resources/css/themes/blue-dark.css",
+ "resources/css/themes/blue-light.css",
+ "resources/css/themes/brown-auto.css",
+ "resources/css/themes/brown-dark.css",
+ "resources/css/themes/brown-light.css",
+ "resources/css/themes/green-auto.css",
+ "resources/css/themes/green-dark.css",
+ "resources/css/themes/green-light.css",
+ "resources/css/themes/orange-auto.css",
+ "resources/css/themes/orange-dark.css",
+ "resources/css/themes/orange-light.css",
+ "resources/css/themes/purple-auto.css",
+ "resources/css/themes/purple-dark.css",
+ "resources/css/themes/purple-light.css",
+ "resources/css/themes/red-auto.css",
+ "resources/css/themes/red-dark.css",
+ "resources/css/themes/red-light.css",
+ "resources/css/themes/white-auto.css",
+ "resources/css/themes/white-dark.css",
+ "resources/css/themes/white-light.css",
+ "resources/css/ui.css",
+ "resources/fonts/body/Roboto-Black.ttf",
+ "resources/fonts/body/Roboto-BlackItalic.ttf",
+ "resources/fonts/body/Roboto-Bold.ttf",
+ "resources/fonts/body/Roboto-BoldItalic.ttf",
+ "resources/fonts/body/Roboto-Italic.ttf",
+ "resources/fonts/body/Roboto-Light.ttf",
+ "resources/fonts/body/Roboto-LightItalic.ttf",
+ "resources/fonts/body/Roboto-Medium.ttf",
+ "resources/fonts/body/Roboto-MediumItalic.ttf",
+ "resources/fonts/body/Roboto-Regular.ttf",
+ "resources/fonts/body/Roboto-Thin.ttf",
+ "resources/fonts/body/Roboto-ThinItalic.ttf",
+ "resources/fonts/font-bold-italic.ttf",
+ "resources/fonts/font-bold.ttf",
+ "resources/fonts/font-italic.ttf",
+ "resources/fonts/font-regular.ttf",
+ "resources/i18n/en/$metadata.json",
+ "resources/i18n/en/admin-about.json",
+ "resources/i18n/en/admin-advanced-dev.json",
+ "resources/i18n/en/admin-advanced-home.json",
+ "resources/i18n/en/admin-appearance.json",
+ "resources/i18n/en/admin-calendar.json",
+ "resources/i18n/en/admin-customization.json",
+ "resources/i18n/en/admin-errors.json",
+ "resources/i18n/en/admin-flags.json",
+ "resources/i18n/en/admin-gallery.json",
+ "resources/i18n/en/admin-home.json",
+ "resources/i18n/en/admin-housekeeping.json",
+ "resources/i18n/en/admin-login.json",
+ "resources/i18n/en/admin-logs.json",
+ "resources/i18n/en/admin-pages.json",
+ "resources/i18n/en/admin-plugins.json",
+ "resources/i18n/en/admin-stats.json",
+ "resources/i18n/en/admin-titles.json",
+ "resources/i18n/en/admin-v2.json",
+ "resources/i18n/en/api.json",
+ "resources/i18n/en/calendar.json",
+ "resources/i18n/en/editor.json",
+ "resources/i18n/en/error.json",
+ "resources/i18n/en/gallery.json",
+ "resources/i18n/en/header.json",
+ "resources/i18n/en/login.json",
+ "resources/i18n/en/menu.json",
+ "resources/i18n/en/setup.json",
+ "resources/i18n/en/sizes.json",
+ "resources/i18n/en/spotlight.json",
+ "resources/i18n/en/version.json",
+ "resources/i18n/en/viewer.json",
+ "resources/i18n/en/widgets.json",
+ "resources/i18n/fr/$metadata.json",
+ "resources/i18n/fr/admin-about.json",
+ "resources/i18n/fr/admin-advanced-dev.json",
+ "resources/i18n/fr/admin-advanced-home.json",
+ "resources/i18n/fr/admin-appearance.json",
+ "resources/i18n/fr/admin-calendar.json",
+ "resources/i18n/fr/admin-customization.json",
+ "resources/i18n/fr/admin-errors.json",
+ "resources/i18n/fr/admin-flags.json",
+ "resources/i18n/fr/admin-gallery.json",
+ "resources/i18n/fr/admin-home.json",
+ "resources/i18n/fr/admin-housekeeping.json",
+ "resources/i18n/fr/admin-login.json",
+ "resources/i18n/fr/admin-logs.json",
+ "resources/i18n/fr/admin-pages.json",
+ "resources/i18n/fr/admin-plugins.json",
+ "resources/i18n/fr/admin-stats.json",
+ "resources/i18n/fr/admin-titles.json",
+ "resources/i18n/fr/admin-v2.json",
+ "resources/i18n/fr/api.json",
+ "resources/i18n/fr/calendar.json",
+ "resources/i18n/fr/editor.json",
+ "resources/i18n/fr/error.json",
+ "resources/i18n/fr/gallery.json",
+ "resources/i18n/fr/header.json",
+ "resources/i18n/fr/login.json",
+ "resources/i18n/fr/menu.json",
+ "resources/i18n/fr/setup.json",
+ "resources/i18n/fr/sizes.json",
+ "resources/i18n/fr/spotlight.json",
+ "resources/i18n/fr/version.json",
+ "resources/i18n/fr/viewer.json",
+ "resources/i18n/fr/widgets.json",
+ "resources/image/admin.svg",
+ "resources/image/admin2/about.png",
+ "resources/image/admin2/accounts.png",
+ "resources/image/admin2/advanced.png",
+ "resources/image/admin2/audit.png",
+ "resources/image/admin2/branding.png",
+ "resources/image/admin2/calendar.png",
+ "resources/image/admin2/cloud.png",
+ "resources/image/admin2/colour.png",
+ "resources/image/admin2/content.png",
+ "resources/image/admin2/electrode.png",
+ "resources/image/admin2/enter.png",
+ "resources/image/admin2/features.png",
+ "resources/image/admin2/flag.png",
+ "resources/image/admin2/footer.png",
+ "resources/image/admin2/gallery.png",
+ "resources/image/admin2/home.png",
+ "resources/image/admin2/install.png",
+ "resources/image/admin2/language.png",
+ "resources/image/admin2/locale.png",
+ "resources/image/admin2/logoff.png",
+ "resources/image/admin2/maintenance.png",
+ "resources/image/admin2/minteck-admin.png",
+ "resources/image/admin2/optional.png",
+ "resources/image/admin2/pages.png",
+ "resources/image/admin2/password.png",
+ "resources/image/admin2/personalization.png",
+ "resources/image/admin2/reset.png",
+ "resources/image/admin2/security.png",
+ "resources/image/admin2/selected.png",
+ "resources/image/admin2/stats.png",
+ "resources/image/admin2/system.png",
+ "resources/image/close.svg",
+ "resources/image/codename.jpg",
+ "resources/image/config.jpg",
+ "resources/image/config_back.svg",
+ "resources/image/config_explore.svg",
+ "resources/image/config_file_import.svg",
+ "resources/image/config_file_replace.svg",
+ "resources/image/config_finish.svg",
+ "resources/image/config_next.svg",
+ "resources/image/config_restart.svg",
+ "resources/image/contact_address.svg",
+ "resources/image/contact_email.svg",
+ "resources/image/contact_phone.svg",
+ "resources/image/contact_priority.svg",
+ "resources/image/default.jpg",
+ "resources/image/demos/color-blue.jpg",
+ "resources/image/demos/color-brown.jpg",
+ "resources/image/demos/color-green.jpg",
+ "resources/image/demos/color-orange.jpg",
+ "resources/image/demos/color-purple.jpg",
+ "resources/image/demos/color-red.jpg",
+ "resources/image/demos/color-white.jpg",
+ "resources/image/demos/theme-auto.jpg",
+ "resources/image/demos/theme-dark.jpg",
+ "resources/image/demos/theme-light.jpg",
+ "resources/image/display.svg",
+ "resources/image/error.jpg",
+ "resources/image/ext-remove.svg",
+ "resources/image/ext-settings.svg",
+ "resources/image/ext-store.svg",
+ "resources/image/gallery-zoom-minus.svg",
+ "resources/image/gallery-zoom-plus.svg",
+ "resources/image/getimage.png",
+ "resources/image/loader.svg",
+ "resources/image/login.jpg",
+ "resources/image/menu.svg",
+ "resources/image/message_error.svg",
+ "resources/image/message_info.svg",
+ "resources/image/message_warning.svg",
+ "resources/image/oobe/check.png",
+ "resources/image/oobe/error.png",
+ "resources/image/oobe/finish.png",
+ "resources/image/oobe/icon.png",
+ "resources/image/oobe/init.png",
+ "resources/image/oobe/installing.png",
+ "resources/image/oobe/language.png",
+ "resources/image/oobe/name.png",
+ "resources/image/oobe/ready.png",
+ "resources/image/oobe/software-license.png",
+ "resources/image/oobe/welcome.png",
+ "resources/image/oobe.svg",
+ "resources/image/ready.jpg",
+ "resources/image/regedit/backup.png",
+ "resources/image/regedit/data.png",
+ "resources/image/regedit/folder.png",
+ "resources/image/regedit/icon.png",
+ "resources/image/regedit/image.png",
+ "resources/image/regedit/json.png",
+ "resources/image/regedit/keys.png",
+ "resources/image/regedit/old/data.svg",
+ "resources/image/regedit/old/folder.svg",
+ "resources/image/regedit/old/icon.svg",
+ "resources/image/regedit/old/image.svg",
+ "resources/image/regedit/old/json.svg",
+ "resources/image/regedit/old/keys.svg",
+ "resources/image/regedit/old/page.svg",
+ "resources/image/regedit/old/special.svg",
+ "resources/image/regedit/old/token.svg",
+ "resources/image/regedit/page.png",
+ "resources/image/regedit/special.png",
+ "resources/image/regedit/token.png",
+ "resources/image/resetted.png",
+ "resources/image/siteicon.png",
+ "resources/image/storeloader.svg",
+ "resources/image/tools.svg",
+ "resources/js/admin_v2.js",
+ "resources/js/ckeditor5/ckeditor.js",
+ "resources/js/ckeditor5/ckeditor.js.map",
+ "resources/js/ckeditor5/translations/af.js",
+ "resources/js/ckeditor5/translations/ar.js",
+ "resources/js/ckeditor5/translations/ast.js",
+ "resources/js/ckeditor5/translations/az.js",
+ "resources/js/ckeditor5/translations/bg.js",
+ "resources/js/ckeditor5/translations/ca.js",
+ "resources/js/ckeditor5/translations/cs.js",
+ "resources/js/ckeditor5/translations/da.js",
+ "resources/js/ckeditor5/translations/de-ch.js",
+ "resources/js/ckeditor5/translations/de.js",
+ "resources/js/ckeditor5/translations/el.js",
+ "resources/js/ckeditor5/translations/en-au.js",
+ "resources/js/ckeditor5/translations/en-gb.js",
+ "resources/js/ckeditor5/translations/eo.js",
+ "resources/js/ckeditor5/translations/es.js",
+ "resources/js/ckeditor5/translations/et.js",
+ "resources/js/ckeditor5/translations/eu.js",
+ "resources/js/ckeditor5/translations/fa.js",
+ "resources/js/ckeditor5/translations/fi.js",
+ "resources/js/ckeditor5/translations/fr.js",
+ "resources/js/ckeditor5/translations/gl.js",
+ "resources/js/ckeditor5/translations/gu.js",
+ "resources/js/ckeditor5/translations/he.js",
+ "resources/js/ckeditor5/translations/hr.js",
+ "resources/js/ckeditor5/translations/hu.js",
+ "resources/js/ckeditor5/translations/id.js",
+ "resources/js/ckeditor5/translations/it.js",
+ "resources/js/ckeditor5/translations/ja.js",
+ "resources/js/ckeditor5/translations/km.js",
+ "resources/js/ckeditor5/translations/kn.js",
+ "resources/js/ckeditor5/translations/ko.js",
+ "resources/js/ckeditor5/translations/ku.js",
+ "resources/js/ckeditor5/translations/lt.js",
+ "resources/js/ckeditor5/translations/lv.js",
+ "resources/js/ckeditor5/translations/ms.js",
+ "resources/js/ckeditor5/translations/nb.js",
+ "resources/js/ckeditor5/translations/ne.js",
+ "resources/js/ckeditor5/translations/nl.js",
+ "resources/js/ckeditor5/translations/no.js",
+ "resources/js/ckeditor5/translations/oc.js",
+ "resources/js/ckeditor5/translations/pl.js",
+ "resources/js/ckeditor5/translations/pt-br.js",
+ "resources/js/ckeditor5/translations/pt.js",
+ "resources/js/ckeditor5/translations/ro.js",
+ "resources/js/ckeditor5/translations/ru.js",
+ "resources/js/ckeditor5/translations/si.js",
+ "resources/js/ckeditor5/translations/sk.js",
+ "resources/js/ckeditor5/translations/sl.js",
+ "resources/js/ckeditor5/translations/sq.js",
+ "resources/js/ckeditor5/translations/sr-latn.js",
+ "resources/js/ckeditor5/translations/sr.js",
+ "resources/js/ckeditor5/translations/sv.js",
+ "resources/js/ckeditor5/translations/th.js",
+ "resources/js/ckeditor5/translations/tr.js",
+ "resources/js/ckeditor5/translations/tt.js",
+ "resources/js/ckeditor5/translations/ug.js",
+ "resources/js/ckeditor5/translations/uk.js",
+ "resources/js/ckeditor5/translations/vi.js",
+ "resources/js/ckeditor5/translations/zh-cn.js",
+ "resources/js/ckeditor5/translations/zh.js",
+ "resources/js/jquery.js",
+ "resources/js/setup-ui.js.php",
+ "resources/js/spotlight.js",
+ "resources/js/sticky.js",
+ "resources/lib/license.html",
+ "resources/lib/material/iconfont.css",
+ "resources/lib/material/material-classic.woff2",
+ "resources/lib/material/material-components-web.min.css",
+ "resources/lib/material/material-components-web.min.css.map",
+ "resources/lib/material/material-components-web.min.js",
+ "resources/lib/material/material-outlined.woff2",
+ "resources/lib/pushbar.js/library-info.json",
+ "resources/lib/pushbar.js/library.css",
+ "resources/lib/pushbar.js/library.js",
+ "resources/logo.png",
+ "resources/logo.svg",
+ "resources/private/.htaccess",
+ "resources/private/CodeEditor$2.php",
+ "resources/private/CodeEditor$3.php",
+ "resources/private/CodeEditor.php",
+ "resources/private/debug.php",
+ "resources/private/global.js._/index.php",
+ "resources/private/header.php",
+ "resources/private/headers/csettings-base.json",
+ "resources/private/headers/documentbody.php",
+ "resources/private/headers/documenthead.php",
+ "resources/private/headers/preprocessor.php",
+ "resources/private/license",
+ "resources/private/relative.php",
+ "resources/private/VisualEditor$2.php",
+ "resources/private/VisualEditor.php",
+ "resources/upload/favicon.png",
+ "resources/upload/siteicon.png",
+ "resources/upload/styles.json",
+ "SatteliteGiteaData.txt",
+ "widgets/.htaccess",
+ "widgets/calendar/feature.json",
+ "widgets/calendar/source.php",
+ "widgets/clock/feature.json",
+ "widgets/clock/source.php",
+ "widgets/test/feature.json",
+ "widgets/test/source.php",
+ "widgets/views/feature.json",
+ "widgets/views/source.php"
+] \ No newline at end of file
diff --git a/t2.json b/t2.json
new file mode 100644
index 0000000..2b5971c
--- /dev/null
+++ b/t2.json
@@ -0,0 +1,569 @@
+[
+ ".gitignore",
+ ".gitlab-ci.yml",
+ ".gitmodules",
+ ".vs/MPCMS/v16/.suo",
+ ".vs/slnx.sqlite",
+ ".vs/VSWorkspaceState.json",
+ "api/.htaccess",
+ "api/admin/appearance.php",
+ "api/admin/cache_content_reset.php",
+ "api/admin/cache_pages_update.php",
+ "api/admin/calendar_create.php",
+ "api/admin/calendar_delete.php",
+ "api/admin/calendar_nextevents.php",
+ "api/admin/create_page.php",
+ "api/admin/customization_colors.php",
+ "api/admin/customization_theme.php",
+ "api/admin/delete_page.php",
+ "api/admin/edit_page.php",
+ "api/admin/flag_disable.php",
+ "api/admin/flag_enable.php",
+ "api/admin/footer.php",
+ "api/admin/galery_create_category.php",
+ "api/admin/galery_delete_category.php",
+ "api/admin/galery_delete_image.php",
+ "api/admin/galery_label_picture.php",
+ "api/admin/galery_publish_photo.php",
+ "api/admin/galery_toggle_state.php",
+ "api/admin/instant_language_change.php",
+ "api/admin/login.php",
+ "api/admin/password.php",
+ "api/admin/rename_page.php",
+ "api/admin/reset.php",
+ "api/admin/save_advanced.php",
+ "api/admin/widgets.php",
+ "api/bugs",
+ "api/codename",
+ "api/electrode/quit.php",
+ "api/electrode/version",
+ "api/engine/components/banner.php",
+ "api/engine/components/content.php",
+ "api/engine/components/drawer.php",
+ "api/engine/components/favicon.php",
+ "api/engine/components/footer.php",
+ "api/engine/components/init.php",
+ "api/engine/components/menubar.php",
+ "api/engine/components/widgets.php",
+ "api/engine/heads.php",
+ "api/engine/homepage.php",
+ "api/engine/includes/cache.php",
+ "api/engine/includes/getPageContent.php",
+ "api/engine/includes/getPageName.php",
+ "api/engine/includes/includes.php",
+ "api/engine/pages.php",
+ "api/engine/render.php",
+ "api/engine/special.php",
+ "api/engine/tails.php",
+ "api/engine/wrapper.php",
+ "api/experimental",
+ "api/lang/processor.php",
+ "api/lang/setup.php",
+ "api/public",
+ "api/renderer/main.php",
+ "api/renderer/render.php",
+ "api/setup/check.php",
+ "api/setup/defaultHomepage.html",
+ "api/setup/push.php",
+ "api/snow-bold.png",
+ "api/snow-light.png",
+ "api/snow-medium.png",
+ "api/version",
+ "api/version.engine",
+ "api/version.full",
+ "api/version.pretty",
+ "cms-special/.htaccess",
+ "cms-special/admin/$resources/admin.js",
+ "cms-special/admin/$resources/common.css",
+ "cms-special/admin/$resources/header.php",
+ "cms-special/admin/$resources/index-auto.css",
+ "cms-special/admin/$resources/index-dark.css",
+ "cms-special/admin/$resources/index.css",
+ "cms-special/admin/$resources/postcontent.php",
+ "cms-special/admin/$resources/precontent.php",
+ "cms-special/admin/$resources/responsive.css",
+ "cms-special/admin/$resources/spotlight-test.php",
+ "cms-special/admin/$resources/spotlight.php",
+ "cms-special/admin/.htaccess",
+ "cms-special/admin/about/index.php",
+ "cms-special/admin/advanced/index.php",
+ "cms-special/admin/advanced/jsonconf/index.php",
+ "cms-special/admin/appearance/index.php",
+ "cms-special/admin/calendar/add/index.php",
+ "cms-special/admin/calendar/index.php",
+ "cms-special/admin/calendar/manage/index.php",
+ "cms-special/admin/customization/index.php",
+ "cms-special/admin/error/index.php",
+ "cms-special/admin/flags/index.php",
+ "cms-special/admin/galery/addcategory/index.php",
+ "cms-special/admin/galery/index.php",
+ "cms-special/admin/galery/publish/index.php",
+ "cms-special/admin/gallery/addcategory/index.php",
+ "cms-special/admin/gallery/index.php",
+ "cms-special/admin/gallery/publish/index.php",
+ "cms-special/admin/home/all/index.php",
+ "cms-special/admin/home/appearance/index.php",
+ "cms-special/admin/home/data/index.php",
+ "cms-special/admin/home/housekeeping/index.php",
+ "cms-special/admin/home/index.php",
+ "cms-special/admin/housekeeping/index.php",
+ "cms-special/admin/housekeeping/reset/index.php",
+ "cms-special/admin/index.php",
+ "cms-special/admin/language/index.php",
+ "cms-special/admin/login/index.php",
+ "cms-special/admin/login-old/index.php",
+ "cms-special/admin/logout/index.php",
+ "cms-special/admin/logs/index.php",
+ "cms-special/admin/pages/add/index.php",
+ "cms-special/admin/pages/delete/index.php",
+ "cms-special/admin/pages/edit/index.php",
+ "cms-special/admin/pages/index.php",
+ "cms-special/admin/pages/rename/index.php",
+ "cms-special/admin/plugins/index.php",
+ "cms-special/admin/reset/index.php",
+ "cms-special/admin/resetted/index.php",
+ "cms-special/admin/stats/index.php",
+ "cms-special/admin/widgets/index.php",
+ "cms-special/admin-v2/$panes/accounts.php",
+ "cms-special/admin-v2/$panes/content.php",
+ "cms-special/admin-v2/$panes/features.php",
+ "cms-special/admin-v2/$panes/language.php",
+ "cms-special/admin-v2/$panes/maintenance.php",
+ "cms-special/admin-v2/$panes/personalization.php",
+ "cms-special/admin-v2/$panes/security.php",
+ "cms-special/admin-v2/$panes/system.php",
+ "cms-special/admin-v2/$resources/admin.js",
+ "cms-special/admin-v2/$resources/common.css",
+ "cms-special/admin-v2/$resources/header.php",
+ "cms-special/admin-v2/$resources/index-auto.css",
+ "cms-special/admin-v2/$resources/index-dark.css",
+ "cms-special/admin-v2/$resources/index.css",
+ "cms-special/admin-v2/$resources/postcontent.php",
+ "cms-special/admin-v2/$resources/precontent.php",
+ "cms-special/admin-v2/$resources/responsive.css",
+ "cms-special/admin-v2/$resources/session.php",
+ "cms-special/admin-v2/$resources/spotlight-test.php",
+ "cms-special/admin-v2/$resources/spotlight.php",
+ "cms-special/admin-v2/.htaccess",
+ "cms-special/admin-v2/about/index.php",
+ "cms-special/admin-v2/advanced/index.php",
+ "cms-special/admin-v2/advanced/jsonconf/index.php",
+ "cms-special/admin-v2/appearance/index.php",
+ "cms-special/admin-v2/calendar/add/index.php",
+ "cms-special/admin-v2/calendar/index.php",
+ "cms-special/admin-v2/calendar/manage/index.php",
+ "cms-special/admin-v2/customization/index.php",
+ "cms-special/admin-v2/error/index.php",
+ "cms-special/admin-v2/flags/index.php",
+ "cms-special/admin-v2/footer/index.php",
+ "cms-special/admin-v2/galery/addcategory/index.php",
+ "cms-special/admin-v2/galery/index.php",
+ "cms-special/admin-v2/galery/publish/index.php",
+ "cms-special/admin-v2/gallery/addcategory/index.php",
+ "cms-special/admin-v2/gallery/index.php",
+ "cms-special/admin-v2/gallery/publish/index.php",
+ "cms-special/admin-v2/home/all/db.json",
+ "cms-special/admin-v2/home/all/index.php",
+ "cms-special/admin-v2/home/appearance/index.php",
+ "cms-special/admin-v2/home/data/index.php",
+ "cms-special/admin-v2/home/housekeeping/index.php",
+ "cms-special/admin-v2/home/index.php",
+ "cms-special/admin-v2/housekeeping/index.php",
+ "cms-special/admin-v2/housekeeping/reset/index.php",
+ "cms-special/admin-v2/index.php",
+ "cms-special/admin-v2/language/index.php",
+ "cms-special/admin-v2/login/index.php",
+ "cms-special/admin-v2/login-old/index.php",
+ "cms-special/admin-v2/logout/index.php",
+ "cms-special/admin-v2/logs/index.php",
+ "cms-special/admin-v2/pages/add/index.php",
+ "cms-special/admin-v2/pages/delete/index.php",
+ "cms-special/admin-v2/pages/edit/index.php",
+ "cms-special/admin-v2/pages/index.php",
+ "cms-special/admin-v2/pages/rename/index.php",
+ "cms-special/admin-v2/password/index.php",
+ "cms-special/admin-v2/plugins/index.php",
+ "cms-special/admin-v2/reset/index.php",
+ "cms-special/admin-v2/resetted/index.php",
+ "cms-special/admin-v2/stats/index.php",
+ "cms-special/admin-v2/widgets/index.php",
+ "cms-special/calendar/index.php",
+ "cms-special/error/index.php",
+ "cms-special/galery/index.php",
+ "cms-special/galery/preview/index.php",
+ "cms-special/gallery/index.php",
+ "cms-special/gallery/preview/index.php",
+ "cms-special/setup/index.php",
+ "cms-special/version/index.php",
+ "cms-unrelated/.gitkeep",
+ "CONTRIBUTING.md",
+ "count-code.php",
+ "data/.htaccess",
+ "data/tokens/$2y$12$2OCvBCtPGbCWKz8sRfhFZu7yYY3DjQq4cXuvZs0eHiS.wcyuz8duW",
+ "data/webcontent/cache/page-index",
+ "data/webcontent/cache/pagelist-full.mtd",
+ "data/webcontent/cache/pagelist-old.mtd",
+ "data/webcontent/cache/pagelist.mtd",
+ "data/webcontent/caldb.json",
+ "data/webcontent/color",
+ "data/webcontent/customSettings.json",
+ "data/webcontent/engine.log",
+ "data/webcontent/footer",
+ "data/webcontent/lang",
+ "data/webcontent/newstats/2022/02/12",
+ "data/webcontent/pages/index",
+ "data/webcontent/pagetypes/index",
+ "data/webcontent/password",
+ "data/webcontent/sitename",
+ "data/webcontent/system.log",
+ "data/webcontent/theme",
+ "data/webcontent/widgets.json",
+ "index.php",
+ "LICENSE",
+ "README.md",
+ "replace.php",
+ "resources/.htaccess",
+ "resources/css/admin.css",
+ "resources/css/admin_v2/chromium.css",
+ "resources/css/admin_v2/iframe.css",
+ "resources/css/admin_v2/inner.css",
+ "resources/css/admin_v2/main.css",
+ "resources/css/admin_v2/navigation.css",
+ "resources/css/admin_widgets.css",
+ "resources/css/ajax.css",
+ "resources/css/alerts.css",
+ "resources/css/codename.css",
+ "resources/css/error.css",
+ "resources/css/fonts-import.css",
+ "resources/css/main.css",
+ "resources/css/polymer/content.css",
+ "resources/css/polymer/dark.css",
+ "resources/css/polymer/fonts.css",
+ "resources/css/polymer/gallery.css",
+ "resources/css/polymer/menubar.css",
+ "resources/css/polymer/responsive.css",
+ "resources/css/polymer/scrollbars.css",
+ "resources/css/polymer/warnings.css",
+ "resources/css/preview.css",
+ "resources/css/ready.css",
+ "resources/css/setup.css",
+ "resources/css/spotlight.css",
+ "resources/css/themes/blue-auto.css",
+ "resources/css/themes/blue-dark.css",
+ "resources/css/themes/blue-light.css",
+ "resources/css/themes/brown-auto.css",
+ "resources/css/themes/brown-dark.css",
+ "resources/css/themes/brown-light.css",
+ "resources/css/themes/green-auto.css",
+ "resources/css/themes/green-dark.css",
+ "resources/css/themes/green-light.css",
+ "resources/css/themes/orange-auto.css",
+ "resources/css/themes/orange-dark.css",
+ "resources/css/themes/orange-light.css",
+ "resources/css/themes/purple-auto.css",
+ "resources/css/themes/purple-dark.css",
+ "resources/css/themes/purple-light.css",
+ "resources/css/themes/red-auto.css",
+ "resources/css/themes/red-dark.css",
+ "resources/css/themes/red-light.css",
+ "resources/css/themes/white-auto.css",
+ "resources/css/themes/white-dark.css",
+ "resources/css/themes/white-light.css",
+ "resources/css/ui.css",
+ "resources/fonts/body/Roboto-Black.ttf",
+ "resources/fonts/body/Roboto-BlackItalic.ttf",
+ "resources/fonts/body/Roboto-Bold.ttf",
+ "resources/fonts/body/Roboto-BoldItalic.ttf",
+ "resources/fonts/body/Roboto-Italic.ttf",
+ "resources/fonts/body/Roboto-Light.ttf",
+ "resources/fonts/body/Roboto-LightItalic.ttf",
+ "resources/fonts/body/Roboto-Medium.ttf",
+ "resources/fonts/body/Roboto-MediumItalic.ttf",
+ "resources/fonts/body/Roboto-Regular.ttf",
+ "resources/fonts/body/Roboto-Thin.ttf",
+ "resources/fonts/body/Roboto-ThinItalic.ttf",
+ "resources/fonts/font-bold-italic.ttf",
+ "resources/fonts/font-bold.ttf",
+ "resources/fonts/font-italic.ttf",
+ "resources/fonts/font-regular.ttf",
+ "resources/i18n/en/$metadata.json",
+ "resources/i18n/en/admin-about.json",
+ "resources/i18n/en/admin-advanced-dev.json",
+ "resources/i18n/en/admin-advanced-home.json",
+ "resources/i18n/en/admin-appearance.json",
+ "resources/i18n/en/admin-calendar.json",
+ "resources/i18n/en/admin-customization.json",
+ "resources/i18n/en/admin-errors.json",
+ "resources/i18n/en/admin-flags.json",
+ "resources/i18n/en/admin-gallery.json",
+ "resources/i18n/en/admin-home.json",
+ "resources/i18n/en/admin-housekeeping.json",
+ "resources/i18n/en/admin-login.json",
+ "resources/i18n/en/admin-logs.json",
+ "resources/i18n/en/admin-pages.json",
+ "resources/i18n/en/admin-plugins.json",
+ "resources/i18n/en/admin-stats.json",
+ "resources/i18n/en/admin-titles.json",
+ "resources/i18n/en/admin-v2.json",
+ "resources/i18n/en/api.json",
+ "resources/i18n/en/calendar.json",
+ "resources/i18n/en/editor.json",
+ "resources/i18n/en/error.json",
+ "resources/i18n/en/gallery.json",
+ "resources/i18n/en/header.json",
+ "resources/i18n/en/login.json",
+ "resources/i18n/en/menu.json",
+ "resources/i18n/en/setup.json",
+ "resources/i18n/en/sizes.json",
+ "resources/i18n/en/spotlight.json",
+ "resources/i18n/en/version.json",
+ "resources/i18n/en/viewer.json",
+ "resources/i18n/en/widgets.json",
+ "resources/i18n/fr/$metadata.json",
+ "resources/i18n/fr/admin-about.json",
+ "resources/i18n/fr/admin-advanced-dev.json",
+ "resources/i18n/fr/admin-advanced-home.json",
+ "resources/i18n/fr/admin-appearance.json",
+ "resources/i18n/fr/admin-calendar.json",
+ "resources/i18n/fr/admin-customization.json",
+ "resources/i18n/fr/admin-errors.json",
+ "resources/i18n/fr/admin-flags.json",
+ "resources/i18n/fr/admin-gallery.json",
+ "resources/i18n/fr/admin-home.json",
+ "resources/i18n/fr/admin-housekeeping.json",
+ "resources/i18n/fr/admin-login.json",
+ "resources/i18n/fr/admin-logs.json",
+ "resources/i18n/fr/admin-pages.json",
+ "resources/i18n/fr/admin-plugins.json",
+ "resources/i18n/fr/admin-stats.json",
+ "resources/i18n/fr/admin-titles.json",
+ "resources/i18n/fr/admin-v2.json",
+ "resources/i18n/fr/api.json",
+ "resources/i18n/fr/calendar.json",
+ "resources/i18n/fr/editor.json",
+ "resources/i18n/fr/error.json",
+ "resources/i18n/fr/gallery.json",
+ "resources/i18n/fr/header.json",
+ "resources/i18n/fr/login.json",
+ "resources/i18n/fr/menu.json",
+ "resources/i18n/fr/setup.json",
+ "resources/i18n/fr/sizes.json",
+ "resources/i18n/fr/spotlight.json",
+ "resources/i18n/fr/version.json",
+ "resources/i18n/fr/viewer.json",
+ "resources/i18n/fr/widgets.json",
+ "resources/image/admin.svg",
+ "resources/image/admin2/about.png",
+ "resources/image/admin2/accounts.png",
+ "resources/image/admin2/advanced.png",
+ "resources/image/admin2/audit.png",
+ "resources/image/admin2/branding.png",
+ "resources/image/admin2/calendar.png",
+ "resources/image/admin2/cloud.png",
+ "resources/image/admin2/colour.png",
+ "resources/image/admin2/content.png",
+ "resources/image/admin2/electrode.png",
+ "resources/image/admin2/enter.png",
+ "resources/image/admin2/features.png",
+ "resources/image/admin2/flag.png",
+ "resources/image/admin2/footer.png",
+ "resources/image/admin2/gallery.png",
+ "resources/image/admin2/home.png",
+ "resources/image/admin2/install.png",
+ "resources/image/admin2/language.png",
+ "resources/image/admin2/locale.png",
+ "resources/image/admin2/logoff.png",
+ "resources/image/admin2/maintenance.png",
+ "resources/image/admin2/minteck-admin.png",
+ "resources/image/admin2/optional.png",
+ "resources/image/admin2/pages.png",
+ "resources/image/admin2/password.png",
+ "resources/image/admin2/personalization.png",
+ "resources/image/admin2/reset.png",
+ "resources/image/admin2/security.png",
+ "resources/image/admin2/selected.png",
+ "resources/image/admin2/stats.png",
+ "resources/image/admin2/system.png",
+ "resources/image/close.svg",
+ "resources/image/codename.jpg",
+ "resources/image/config.jpg",
+ "resources/image/config_back.svg",
+ "resources/image/config_explore.svg",
+ "resources/image/config_file_import.svg",
+ "resources/image/config_file_replace.svg",
+ "resources/image/config_finish.svg",
+ "resources/image/config_next.svg",
+ "resources/image/config_restart.svg",
+ "resources/image/contact_address.svg",
+ "resources/image/contact_email.svg",
+ "resources/image/contact_phone.svg",
+ "resources/image/contact_priority.svg",
+ "resources/image/default.jpg",
+ "resources/image/demos/color-blue.jpg",
+ "resources/image/demos/color-brown.jpg",
+ "resources/image/demos/color-green.jpg",
+ "resources/image/demos/color-orange.jpg",
+ "resources/image/demos/color-purple.jpg",
+ "resources/image/demos/color-red.jpg",
+ "resources/image/demos/color-white.jpg",
+ "resources/image/demos/theme-auto.jpg",
+ "resources/image/demos/theme-dark.jpg",
+ "resources/image/demos/theme-light.jpg",
+ "resources/image/display.svg",
+ "resources/image/error.jpg",
+ "resources/image/ext-remove.svg",
+ "resources/image/ext-settings.svg",
+ "resources/image/ext-store.svg",
+ "resources/image/gallery-zoom-minus.svg",
+ "resources/image/gallery-zoom-plus.svg",
+ "resources/image/getimage.png",
+ "resources/image/loader.svg",
+ "resources/image/login.jpg",
+ "resources/image/menu.svg",
+ "resources/image/message_error.svg",
+ "resources/image/message_info.svg",
+ "resources/image/message_warning.svg",
+ "resources/image/oobe/check.png",
+ "resources/image/oobe/error.png",
+ "resources/image/oobe/finish.png",
+ "resources/image/oobe/icon.png",
+ "resources/image/oobe/init.png",
+ "resources/image/oobe/installing.png",
+ "resources/image/oobe/language.png",
+ "resources/image/oobe/name.png",
+ "resources/image/oobe/ready.png",
+ "resources/image/oobe/software-license.png",
+ "resources/image/oobe/welcome.png",
+ "resources/image/oobe.svg",
+ "resources/image/ready.jpg",
+ "resources/image/regedit/backup.png",
+ "resources/image/regedit/data.png",
+ "resources/image/regedit/folder.png",
+ "resources/image/regedit/icon.png",
+ "resources/image/regedit/image.png",
+ "resources/image/regedit/json.png",
+ "resources/image/regedit/keys.png",
+ "resources/image/regedit/old/data.svg",
+ "resources/image/regedit/old/folder.svg",
+ "resources/image/regedit/old/icon.svg",
+ "resources/image/regedit/old/image.svg",
+ "resources/image/regedit/old/json.svg",
+ "resources/image/regedit/old/keys.svg",
+ "resources/image/regedit/old/page.svg",
+ "resources/image/regedit/old/special.svg",
+ "resources/image/regedit/old/token.svg",
+ "resources/image/regedit/page.png",
+ "resources/image/regedit/special.png",
+ "resources/image/regedit/token.png",
+ "resources/image/resetted.png",
+ "resources/image/siteicon.png",
+ "resources/image/storeloader.svg",
+ "resources/image/tools.svg",
+ "resources/js/admin_v2.js",
+ "resources/js/ckeditor5/ckeditor.js",
+ "resources/js/ckeditor5/ckeditor.js.map",
+ "resources/js/ckeditor5/translations/af.js",
+ "resources/js/ckeditor5/translations/ar.js",
+ "resources/js/ckeditor5/translations/ast.js",
+ "resources/js/ckeditor5/translations/az.js",
+ "resources/js/ckeditor5/translations/bg.js",
+ "resources/js/ckeditor5/translations/ca.js",
+ "resources/js/ckeditor5/translations/cs.js",
+ "resources/js/ckeditor5/translations/da.js",
+ "resources/js/ckeditor5/translations/de-ch.js",
+ "resources/js/ckeditor5/translations/de.js",
+ "resources/js/ckeditor5/translations/el.js",
+ "resources/js/ckeditor5/translations/en-au.js",
+ "resources/js/ckeditor5/translations/en-gb.js",
+ "resources/js/ckeditor5/translations/eo.js",
+ "resources/js/ckeditor5/translations/es.js",
+ "resources/js/ckeditor5/translations/et.js",
+ "resources/js/ckeditor5/translations/eu.js",
+ "resources/js/ckeditor5/translations/fa.js",
+ "resources/js/ckeditor5/translations/fi.js",
+ "resources/js/ckeditor5/translations/fr.js",
+ "resources/js/ckeditor5/translations/gl.js",
+ "resources/js/ckeditor5/translations/gu.js",
+ "resources/js/ckeditor5/translations/he.js",
+ "resources/js/ckeditor5/translations/hr.js",
+ "resources/js/ckeditor5/translations/hu.js",
+ "resources/js/ckeditor5/translations/id.js",
+ "resources/js/ckeditor5/translations/it.js",
+ "resources/js/ckeditor5/translations/ja.js",
+ "resources/js/ckeditor5/translations/km.js",
+ "resources/js/ckeditor5/translations/kn.js",
+ "resources/js/ckeditor5/translations/ko.js",
+ "resources/js/ckeditor5/translations/ku.js",
+ "resources/js/ckeditor5/translations/lt.js",
+ "resources/js/ckeditor5/translations/lv.js",
+ "resources/js/ckeditor5/translations/ms.js",
+ "resources/js/ckeditor5/translations/nb.js",
+ "resources/js/ckeditor5/translations/ne.js",
+ "resources/js/ckeditor5/translations/nl.js",
+ "resources/js/ckeditor5/translations/no.js",
+ "resources/js/ckeditor5/translations/oc.js",
+ "resources/js/ckeditor5/translations/pl.js",
+ "resources/js/ckeditor5/translations/pt-br.js",
+ "resources/js/ckeditor5/translations/pt.js",
+ "resources/js/ckeditor5/translations/ro.js",
+ "resources/js/ckeditor5/translations/ru.js",
+ "resources/js/ckeditor5/translations/si.js",
+ "resources/js/ckeditor5/translations/sk.js",
+ "resources/js/ckeditor5/translations/sl.js",
+ "resources/js/ckeditor5/translations/sq.js",
+ "resources/js/ckeditor5/translations/sr-latn.js",
+ "resources/js/ckeditor5/translations/sr.js",
+ "resources/js/ckeditor5/translations/sv.js",
+ "resources/js/ckeditor5/translations/th.js",
+ "resources/js/ckeditor5/translations/tr.js",
+ "resources/js/ckeditor5/translations/tt.js",
+ "resources/js/ckeditor5/translations/ug.js",
+ "resources/js/ckeditor5/translations/uk.js",
+ "resources/js/ckeditor5/translations/vi.js",
+ "resources/js/ckeditor5/translations/zh-cn.js",
+ "resources/js/ckeditor5/translations/zh.js",
+ "resources/js/jquery.js",
+ "resources/js/setup-ui.js.php",
+ "resources/js/spotlight.js",
+ "resources/js/sticky.js",
+ "resources/lib/license.html",
+ "resources/lib/material/iconfont.css",
+ "resources/lib/material/material-classic.woff2",
+ "resources/lib/material/material-components-web.min.css",
+ "resources/lib/material/material-components-web.min.css.map",
+ "resources/lib/material/material-components-web.min.js",
+ "resources/lib/material/material-outlined.woff2",
+ "resources/lib/pushbar.js/library-info.json",
+ "resources/lib/pushbar.js/library.css",
+ "resources/lib/pushbar.js/library.js",
+ "resources/logo.png",
+ "resources/logo.svg",
+ "resources/private/.htaccess",
+ "resources/private/CodeEditor$2.php",
+ "resources/private/CodeEditor$3.php",
+ "resources/private/CodeEditor.php",
+ "resources/private/debug.php",
+ "resources/private/global.js._/index.php",
+ "resources/private/header.php",
+ "resources/private/headers/csettings-base.json",
+ "resources/private/headers/documentbody.php",
+ "resources/private/headers/documenthead.php",
+ "resources/private/headers/preprocessor.php",
+ "resources/private/license",
+ "resources/private/relative.php",
+ "resources/private/VisualEditor$2.php",
+ "resources/private/VisualEditor.php",
+ "resources/upload/favicon.png",
+ "resources/upload/siteicon.png",
+ "resources/upload/styles.json",
+ "SatteliteGiteaData.txt",
+ "widgets/.htaccess",
+ "widgets/calendar/feature.json",
+ "widgets/calendar/source.php",
+ "widgets/clock/feature.json",
+ "widgets/clock/source.php",
+ "widgets/test/feature.json",
+ "widgets/test/source.php",
+ "widgets/views/feature.json",
+ "widgets/views/source.php"
+] \ No newline at end of file