Remove unused gradientgen.
diff --git a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/gradientgen.js b/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/gradientgen.js
deleted file mode 100755
index 434f05b..0000000
--- a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/gradientgen.js
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /usr/bin/env node
-
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the utils of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-const _ = require('lodash');
-const fs = require('fs');
-
-const postcss = require('postcss');
-const minifyGradients = require('postcss-minify-gradients');
-const valueParser = require('postcss-value-parser');
-const parseColor = require('parse-color');
-const math = require('mathjs');
-
-const argc = process.argv.length;
-if (argc < 3) {
-  console.log("usage: gradientgen [mode] <filename>");
-  process.exit(1);
-}
-
-const filename = process.argv[argc - 1];
-const mode = argc > 3 ? process.argv[argc - 2] : 'json';
-
-fs.readFile(filename, (err, css) => {
-  postcss([minifyGradients]).process(css)
-    .then(result => {
-      let enums = [];
-      let gradients = [];
-
-      result.root.walkRules(rule => {
-        gradients.push(null); // Placeholder
-
-        const name = _.startCase(rule.selector).replace(/\s/g, '');
-        if (enums.indexOf(name) >= 0)
-          return; // Duplicate entry
-
-        // We can only support single gradient declarations
-        if (rule.nodes.length > 1)
-          return;
-
-        valueParser(rule.nodes[0].value).walk(node => {
-          if (node.type !== 'function')
-            return;
-
-          if (node.value !== 'linear-gradient')
-            return;
-
-          const args = node.nodes.reduce((args, arg) => {
-              if (arg.type === 'div')
-                args.push([]);
-              else if (arg.type !== 'space')
-                  args[args.length - 1].push(arg.value);
-              return args;
-          }, [[]]);
-
-          let angle = valueParser.unit(args[0][0]);
-          if (angle.unit !== 'deg')
-            return;
-
-          angle = parseInt(angle.number);
-          if (angle < 0)
-            angle += 360;
-
-          // Angle is in degrees, but we need radians
-          const radians = angle * math.pi / 180;
-
-          const gradientLine = (math.abs(math.sin(radians)) + math.abs(math.cos(radians)));
-          const cathetus = fn => math.round(fn(radians - math.pi / 2) * gradientLine / 2, 10);
-
-          const x = cathetus(math.cos);
-          const y = cathetus(math.sin);
-
-          const start = { x: 0.5 - x, y: 0.5 - y };
-          const end = { x: 0.5 + x, y: 0.5 + y };
-
-          let stops = []
-
-          let lastPosition = 0;
-          args.slice(1).forEach((arg, index) => {
-            let [color, position = !index ? '0%' : '100%'] = arg;
-            position = parseInt(position) / 100;
-            if (position < lastPosition)
-              position = lastPosition;
-            lastPosition = position;
-            color = parseColor(color).hex;
-            color = parseInt(color.slice(1), 16)
-            stops.push({ color, position })
-          });
-
-          gradients[gradients.length - 1] = { start, end, stops };
-        });
-
-        if (!gradients[gradients.length - 1])
-          return; // Not supported
-
-        enums.push(name);
-
-        if (mode == 'debug')
-          console.log(name, args, gradients[gradients.length - 1])
-        else if (mode == 'enums')
-          console.log(`${name} = ${gradients.length},`)
-      });
-
-      // Done walking declarations
-      if (mode == 'json')
-        console.log(JSON.stringify(gradients, undefined, 4));
-    });
-});
diff --git a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package-lock.json b/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package-lock.json
deleted file mode 100644
index 77939b7..0000000
--- a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package-lock.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
-  "name": "gradientgen",
-  "version": "0.0.1",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
-    },
-    "ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
-    },
-    "chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "requires": {
-        "ansi-styles": "2.2.1",
-        "escape-string-regexp": "1.0.5",
-        "has-ansi": "2.0.0",
-        "strip-ansi": "3.0.1",
-        "supports-color": "2.0.0"
-      },
-      "dependencies": {
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
-        }
-      }
-    },
-    "complex.js": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.4.tgz",
-      "integrity": "sha512-Syl95HpxUTS0QjwNxencZsKukgh1zdS9uXeXX2Us0pHaqBR6kiZZi0AkZ9VpZFwHJyVIUVzI4EumjWdXP3fy6w=="
-    },
-    "decimal.js": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-9.0.1.tgz",
-      "integrity": "sha512-2h0iKbJwnImBk4TGk7CG1xadoA0g3LDPlQhQzbZ221zvG0p2YVUedbKIPsOZXKZGx6YmZMJKYOalpCMxSdDqTQ=="
-    },
-    "escape-latex": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.0.3.tgz",
-      "integrity": "sha512-GfKaG/7FOKdIdciylIzgaShBTPjdGQ5LJ2EcKLKXPLpcMO1MvCEVotkhydEShwCINRacZr2r3fk5A1PwZ4e5sA=="
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
-    },
-    "fraction.js": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.4.tgz",
-      "integrity": "sha512-aK/oGatyYLTtXRHjfEsytX5fieeR5H4s8sLorzcT12taFS+dbMZejnvm9gRa8mZAPwci24ucjq9epDyaq5u8Iw=="
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "requires": {
-        "ansi-regex": "2.1.1"
-      }
-    },
-    "has-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
-      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
-    },
-    "javascript-natural-sort": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
-      "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
-    },
-    "js-base64": {
-      "version": "2.4.3",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
-      "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw=="
-    },
-    "lodash": {
-      "version": "4.17.10",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
-      "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
-    },
-    "mathjs": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-4.2.2.tgz",
-      "integrity": "sha512-AKrRfTeGrCBqYN1TYEpLIwrfZh9rKu9lH4n7K0MwTiYqN5crJ7BKh/TnErFvbUmyRVQDv87UjSfNTqeO0JA0JQ==",
-      "requires": {
-        "complex.js": "2.0.4",
-        "decimal.js": "9.0.1",
-        "escape-latex": "1.0.3",
-        "fraction.js": "4.0.4",
-        "javascript-natural-sort": "0.7.1",
-        "seed-random": "2.2.0",
-        "tiny-emitter": "2.0.2",
-        "typed-function": "1.0.3"
-      }
-    },
-    "parse-color": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
-      "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
-      "requires": {
-        "color-convert": "0.5.3"
-      },
-      "dependencies": {
-        "color-convert": {
-          "version": "0.5.3",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
-          "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0="
-        }
-      }
-    },
-    "postcss": {
-      "version": "5.2.18",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
-      "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
-      "requires": {
-        "chalk": "1.1.3",
-        "js-base64": "2.4.3",
-        "source-map": "0.5.7",
-        "supports-color": "3.2.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-        }
-      }
-    },
-    "postcss-minify-gradients": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
-      "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
-      "requires": {
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
-      "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
-    },
-    "seed-random": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz",
-      "integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ="
-    },
-    "strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "requires": {
-        "ansi-regex": "2.1.1"
-      }
-    },
-    "supports-color": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
-      "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
-      "requires": {
-        "has-flag": "1.0.0"
-      }
-    },
-    "tiny-emitter": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
-      "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
-    },
-    "typed-function": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-1.0.3.tgz",
-      "integrity": "sha512-sVC/1pm70oELDFMdYtFXMFqyawenLoaDiAXA3QvOAwKF/WvFNTSJN23cY2lFNL8iP0kh3T0PPKewrboO8XUVGQ=="
-    }
-  }
-}
diff --git a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package.json b/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package.json
deleted file mode 100644
index 35c324b..0000000
--- a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "name": "gradientgen",
-  "version": "0.0.1",
-  "description": "Generates gradient presets for QGradient",
-  "main": "gradientgen.js",
-  "dependencies": {
-    "lodash": "^4.17.10",
-    "mathjs": "^4.2.2",
-    "parse-color": "^1.0.0",
-    "postcss-minify-gradients": "^1.0.5",
-    "postcss-value-parser": "^3.3.0"
-  }
-}
diff --git a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.cpp b/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.cpp
deleted file mode 100644
index 65fe07f..0000000
--- a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the utils of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <iostream>
-
-#include <qdebug.h>
-#include <qjsondocument.h>
-
-using namespace std;
-
-int main()
-{
-    QByteArray json;
-    while (!cin.eof()) {
-        char arr[1024];
-        cin.read(arr, sizeof(arr));
-        json.append(arr, cin.gcount());
-    }
-
-    QJsonParseError error;
-    QJsonDocument document = QJsonDocument::fromJson(json, &error);
-    if (document.isNull()) {
-        qDebug() << "error:" << qPrintable(error.errorString()) << "at offset" << error.offset;
-        return 1;
-    }
-
-    QByteArray binaryJson = document.toBinaryData();
-    cout.write(binaryJson.constData(), binaryJson.size());
-}
diff --git a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.pro b/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.pro
deleted file mode 100644
index 8aa9d0d..0000000
--- a/qt-everywhere-src-5.15.1/qtbase/util/gradientgen/tobinaryjson.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-SOURCES += tobinaryjson.cpp
-QT = core
-CONFIG += cmdline