diff --git a/.gitignore b/.gitignore index cbe32a9..8774011 100644 --- a/.gitignore +++ b/.gitignore @@ -11170,3 +11170,1326 @@ node_modules/yocto-queue/index.js node_modules/yocto-queue/license node_modules/yocto-queue/package.json node_modules/yocto-queue/readme.md +node_modules/astral-regex/index.d.ts +node_modules/astral-regex/index.js +node_modules/astral-regex/license +node_modules/astral-regex/package.json +node_modules/astral-regex/readme.md +node_modules/cli-truncate/index.d.ts +node_modules/cli-truncate/index.js +node_modules/cli-truncate/license +node_modules/cli-truncate/package.json +node_modules/cli-truncate/readme.md +node_modules/dmg-license/language-info.json +node_modules/dmg-license/LICENSE +node_modules/dmg-license/package.json +node_modules/dmg-license/README.md +node_modules/dmg-license/schema.json +node_modules/dmg-license/bin/dmg-license.js +node_modules/dmg-license/lib/assembleLicenses.d.ts +node_modules/dmg-license/lib/assembleLicenses.js +node_modules/dmg-license/lib/BodySpec.d.ts +node_modules/dmg-license/lib/BodySpec.js +node_modules/dmg-license/lib/cli.d.ts +node_modules/dmg-license/lib/cli.js +node_modules/dmg-license/lib/Context.d.ts +node_modules/dmg-license/lib/Context.js +node_modules/dmg-license/lib/index.d.ts +node_modules/dmg-license/lib/index.js +node_modules/dmg-license/lib/Labels.d.ts +node_modules/dmg-license/lib/Labels.js +node_modules/dmg-license/lib/Language.d.ts +node_modules/dmg-license/lib/Language.js +node_modules/dmg-license/lib/makeLicensePlist.d.ts +node_modules/dmg-license/lib/makeLicensePlist.js +node_modules/dmg-license/lib/specFromJSON.d.ts +node_modules/dmg-license/lib/specFromJSON.js +node_modules/dmg-license/lib/writePlistToDmg.d.ts +node_modules/dmg-license/lib/writePlistToDmg.js +node_modules/dmg-license/lib/util/buffer-split.d.ts +node_modules/dmg-license/lib/util/buffer-split.js +node_modules/dmg-license/lib/util/errors.d.ts +node_modules/dmg-license/lib/util/errors.js +node_modules/dmg-license/lib/util/format-verror.d.ts +node_modules/dmg-license/lib/util/format-verror.js +node_modules/dmg-license/lib/util/index.d.ts +node_modules/dmg-license/lib/util/index.js +node_modules/dmg-license/lib/util/PromiseEach.d.ts +node_modules/dmg-license/lib/util/PromiseEach.js +node_modules/iconv-corefoundation/LICENSE +node_modules/iconv-corefoundation/package.json +node_modules/iconv-corefoundation/README.md +node_modules/iconv-corefoundation/lib/errors.d.ts +node_modules/iconv-corefoundation/lib/errors.js +node_modules/iconv-corefoundation/lib/index.d.ts +node_modules/iconv-corefoundation/lib/index.js +node_modules/iconv-corefoundation/lib/native.d.ts +node_modules/iconv-corefoundation/lib/native.js +node_modules/iconv-corefoundation/lib/native.node +node_modules/iconv-corefoundation/node_modules/node-addon-api/.editorconfig +node_modules/iconv-corefoundation/node_modules/node-addon-api/.travis.yml +node_modules/iconv-corefoundation/node_modules/node-addon-api/appveyor.yml +node_modules/iconv-corefoundation/node_modules/node-addon-api/CHANGELOG.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/CODE_OF_CONDUCT.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/CONTRIBUTING.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/index.js +node_modules/iconv-corefoundation/node_modules/node-addon-api/LICENSE.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/napi-inl.deprecated.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/napi-inl.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/napi.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/package.json +node_modules/iconv-corefoundation/node_modules/node-addon-api/README.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/array_buffer.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/async_context.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/async_operations.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/async_worker.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/basic_types.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/bigint.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/boolean.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/buffer.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/callback_scope.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/callbackinfo.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/checker-tool.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/class_property_descriptor.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/cmake-js.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/conversion-tool.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/creating_a_release.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/dataview.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/Doxyfile +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/env.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/error_handling.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/error.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/escapable_handle_scope.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/external.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/function_reference.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/function.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/generator.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/handle_scope.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/memory_management.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/node-gyp.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/number.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/object_lifetime_management.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/object_reference.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/object_wrap.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/object.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/prebuild_tools.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/promises.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/property_descriptor.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/range_error.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/reference.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/setup.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/string.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/symbol.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/threadsafe_function.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/type_error.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/typed_array_of.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/typed_array.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/value.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/version_management.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/doc/working_with_javascript_values.md +node_modules/iconv-corefoundation/node_modules/node-addon-api/external-napi/node_api.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_api_types.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_api.cc +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_api.gyp +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_api.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_internals.cc +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/node_internals.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/nothing.c +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/util-inl.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/src/util.h +node_modules/iconv-corefoundation/node_modules/node-addon-api/tools/check-napi.js +node_modules/iconv-corefoundation/node_modules/node-addon-api/tools/conversion.js +node_modules/iconv-corefoundation/node_modules/node-addon-api/tools/README.md +node_modules/slice-ansi/index.js +node_modules/slice-ansi/license +node_modules/slice-ansi/package.json +node_modules/slice-ansi/readme.md +node_modules/electron/node_modules/.bin/extract-zip +node_modules/electron/node_modules/debug/.coveralls.yml +node_modules/electron/node_modules/debug/.eslintrc +node_modules/electron/node_modules/debug/.npmignore +node_modules/electron/node_modules/debug/.travis.yml +node_modules/electron/node_modules/debug/CHANGELOG.md +node_modules/electron/node_modules/debug/component.json +node_modules/electron/node_modules/debug/karma.conf.js +node_modules/electron/node_modules/debug/LICENSE +node_modules/electron/node_modules/debug/Makefile +node_modules/electron/node_modules/debug/node.js +node_modules/electron/node_modules/debug/package.json +node_modules/electron/node_modules/debug/README.md +node_modules/electron/node_modules/debug/src/browser.js +node_modules/electron/node_modules/debug/src/debug.js +node_modules/electron/node_modules/debug/src/index.js +node_modules/electron/node_modules/debug/src/inspector-log.js +node_modules/electron/node_modules/debug/src/node.js +node_modules/electron/node_modules/extract-zip/.travis.yml +node_modules/electron/node_modules/extract-zip/cli.js +node_modules/electron/node_modules/extract-zip/CONTRIBUTING.md +node_modules/electron/node_modules/extract-zip/index.js +node_modules/electron/node_modules/extract-zip/LICENSE +node_modules/electron/node_modules/extract-zip/package.json +node_modules/electron/node_modules/extract-zip/readme.md +node_modules/electron/node_modules/ms/index.js +node_modules/electron/node_modules/ms/license.md +node_modules/electron/node_modules/ms/package.json +node_modules/electron/node_modules/ms/readme.md +node_modules/extract-zip/index.d.ts +node_modules/extract-zip/node_modules/get-stream/buffer-stream.js +node_modules/extract-zip/node_modules/get-stream/index.d.ts +node_modules/extract-zip/node_modules/get-stream/index.js +node_modules/extract-zip/node_modules/get-stream/license +node_modules/extract-zip/node_modules/get-stream/package.json +node_modules/extract-zip/node_modules/get-stream/readme.md +main.js +downloads/NBMiner_40.1_Linux.tgz +downloads/NBMiner_40.1_Win.zip +downloads/NBMiner_Win/driver_install.bat +downloads/NBMiner_Win/driver_uninstall.bat +downloads/NBMiner_Win/modify_tdr_delay.reg +downloads/NBMiner_Win/nbminer.exe +downloads/NBMiner_Win/nbminer.exe.sha256 +downloads/NBMiner_Win/open_web_monitor.url +downloads/NBMiner_Win/readme.md +downloads/NBMiner_Win/start_ae.bat +downloads/NBMiner_Win/start_beam.bat +downloads/NBMiner_Win/start_config.bat +downloads/NBMiner_Win/start_conflux.bat +downloads/NBMiner_Win/start_ergo.bat +downloads/NBMiner_Win/start_etc.bat +downloads/NBMiner_Win/start_eth_overclock.bat +downloads/NBMiner_Win/start_eth.bat +downloads/NBMiner_Win/start_rvn.bat +build/win-unpacked/resources/app.asar +node_modules/.bin/asar.cmd +node_modules/.bin/asar.ps1 +node_modules/.bin/color-support.cmd +node_modules/.bin/color-support.ps1 +node_modules/.bin/detect-libc.cmd +node_modules/.bin/detect-libc.ps1 +node_modules/.bin/dircompare.cmd +node_modules/.bin/dircompare.ps1 +node_modules/.bin/ejs.cmd +node_modules/.bin/ejs.ps1 +node_modules/.bin/electron-builder.cmd +node_modules/.bin/electron-builder.ps1 +node_modules/.bin/electron-forge-vscode-nix.cmd +node_modules/.bin/electron-forge-vscode-nix.ps1 +node_modules/.bin/electron-forge-vscode-win.cmd +node_modules/.bin/electron-forge-vscode-win.ps1 +node_modules/.bin/electron-forge.cmd +node_modules/.bin/electron-forge.ps1 +node_modules/.bin/electron-osx-flat.cmd +node_modules/.bin/electron-osx-flat.ps1 +node_modules/.bin/electron-osx-sign.cmd +node_modules/.bin/electron-osx-sign.ps1 +node_modules/.bin/electron-packager.cmd +node_modules/.bin/electron-packager.ps1 +node_modules/.bin/electron-rebuild.cmd +node_modules/.bin/electron-rebuild.ps1 +node_modules/.bin/install-app-deps.cmd +node_modules/.bin/install-app-deps.ps1 +node_modules/.bin/is-ci.cmd +node_modules/.bin/is-ci.ps1 +node_modules/.bin/is-docker.cmd +node_modules/.bin/is-docker.ps1 +node_modules/.bin/jake.cmd +node_modules/.bin/jake.ps1 +node_modules/.bin/js-yaml.cmd +node_modules/.bin/js-yaml.ps1 +node_modules/.bin/json5.cmd +node_modules/.bin/json5.ps1 +node_modules/.bin/lzmajs.cmd +node_modules/.bin/lzmajs.ps1 +node_modules/.bin/mime.cmd +node_modules/.bin/mime.ps1 +node_modules/.bin/node-gyp-build-optional.cmd +node_modules/.bin/node-gyp-build-optional.ps1 +node_modules/.bin/node-gyp-build-test.cmd +node_modules/.bin/node-gyp-build-test.ps1 +node_modules/.bin/node-gyp-build.cmd +node_modules/.bin/node-gyp-build.ps1 +node_modules/.bin/node-gyp.cmd +node_modules/.bin/node-gyp.ps1 +node_modules/.bin/node-which.cmd +node_modules/.bin/node-which.ps1 +node_modules/.bin/nopt.cmd +node_modules/.bin/nopt.ps1 +node_modules/.bin/nugget.cmd +node_modules/.bin/nugget.ps1 +node_modules/.bin/pretty-bytes.cmd +node_modules/.bin/pretty-bytes.ps1 +node_modules/.bin/rc.cmd +node_modules/.bin/rc.ps1 +node_modules/.bin/resolve.cmd +node_modules/.bin/resolve.ps1 +node_modules/.bin/rimraf.cmd +node_modules/.bin/rimraf.ps1 +node_modules/.bin/sshpk-conv.cmd +node_modules/.bin/sshpk-conv.ps1 +node_modules/.bin/sshpk-sign.cmd +node_modules/.bin/sshpk-sign.ps1 +node_modules/.bin/sshpk-verify.cmd +node_modules/.bin/sshpk-verify.ps1 +node_modules/.bin/strip-indent.cmd +node_modules/.bin/strip-indent.ps1 +node_modules/.bin/uuid.cmd +node_modules/.bin/uuid.ps1 +node_modules/.bin/yarn-or-npm.cmd +node_modules/.bin/yarn-or-npm.ps1 +node_modules/.bin/yon.cmd +node_modules/.bin/yon.ps1 +node_modules/@electron-forge/cli/node_modules/.bin/semver.cmd +node_modules/@electron-forge/cli/node_modules/.bin/semver.ps1 +node_modules/@electron-forge/core/node_modules/.bin/semver.cmd +node_modules/@electron-forge/core/node_modules/.bin/semver.ps1 +node_modules/@npmcli/fs/node_modules/.bin/semver.cmd +node_modules/@npmcli/fs/node_modules/.bin/semver.ps1 +node_modules/@npmcli/move-file/node_modules/.bin/mkdirp.cmd +node_modules/@npmcli/move-file/node_modules/.bin/mkdirp.ps1 +node_modules/app-builder-lib/node_modules/.bin/semver.cmd +node_modules/app-builder-lib/node_modules/.bin/semver.ps1 +node_modules/builder-util/node_modules/@tootallnate/once/LICENSE +node_modules/builder-util/node_modules/@tootallnate/once/package.json +node_modules/builder-util/node_modules/@tootallnate/once/README.md +node_modules/builder-util/node_modules/@tootallnate/once/dist/index.d.ts +node_modules/builder-util/node_modules/@tootallnate/once/dist/index.js +node_modules/builder-util/node_modules/@tootallnate/once/dist/index.js.map +node_modules/builder-util/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts +node_modules/builder-util/node_modules/@tootallnate/once/dist/overloaded-parameters.js +node_modules/builder-util/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +node_modules/builder-util/node_modules/@tootallnate/once/dist/types.d.ts +node_modules/builder-util/node_modules/@tootallnate/once/dist/types.js +node_modules/builder-util/node_modules/@tootallnate/once/dist/types.js.map +node_modules/builder-util/node_modules/http-proxy-agent/package.json +node_modules/builder-util/node_modules/http-proxy-agent/README.md +node_modules/builder-util/node_modules/http-proxy-agent/dist/agent.d.ts +node_modules/builder-util/node_modules/http-proxy-agent/dist/agent.js +node_modules/builder-util/node_modules/http-proxy-agent/dist/agent.js.map +node_modules/builder-util/node_modules/http-proxy-agent/dist/index.d.ts +node_modules/builder-util/node_modules/http-proxy-agent/dist/index.js +node_modules/builder-util/node_modules/http-proxy-agent/dist/index.js.map +node_modules/cacache/node_modules/.bin/mkdirp.cmd +node_modules/cacache/node_modules/.bin/mkdirp.ps1 +node_modules/duplexer/.travis.yml +node_modules/duplexer/index.js +node_modules/duplexer/LICENCE +node_modules/duplexer/package.json +node_modules/duplexer/README.md +node_modules/duplexer/test/index.js +node_modules/electron/node_modules/.bin/extract-zip.cmd +node_modules/electron/node_modules/.bin/extract-zip.ps1 +node_modules/electron-packager/node_modules/.bin/extract-zip.cmd +node_modules/electron-packager/node_modules/.bin/extract-zip.ps1 +node_modules/electron-packager/node_modules/.bin/semver.cmd +node_modules/electron-packager/node_modules/.bin/semver.ps1 +node_modules/electron-rebuild/node_modules/.bin/semver.cmd +node_modules/electron-rebuild/node_modules/.bin/semver.ps1 +node_modules/event-stream/.travis.yml +node_modules/event-stream/index.js +node_modules/event-stream/LICENCE +node_modules/event-stream/package.json +node_modules/event-stream/readme.markdown +node_modules/event-stream/examples/data +node_modules/event-stream/examples/map.js +node_modules/event-stream/examples/pretty.js +node_modules/event-stream/examples/split.js +node_modules/event-stream/test/connect.asynct.js +node_modules/event-stream/test/filter.asynct.js +node_modules/event-stream/test/flatmap.asynct.js +node_modules/event-stream/test/merge.asynct.js +node_modules/event-stream/test/parse.asynct.js +node_modules/event-stream/test/pause.asynct.js +node_modules/event-stream/test/pipeline.asynct.js +node_modules/event-stream/test/readable.asynct.js +node_modules/event-stream/test/readArray.asynct.js +node_modules/event-stream/test/replace.asynct.js +node_modules/event-stream/test/simple-map.asynct.js +node_modules/event-stream/test/spec.asynct.js +node_modules/event-stream/test/split.asynct.js +node_modules/event-stream/test/stringify.js +node_modules/event-stream/test/writeArray.asynct.js +node_modules/event-stream/test/helper/index.js +node_modules/execa/node_modules/.bin/semver.cmd +node_modules/execa/node_modules/.bin/semver.ps1 +node_modules/execa/node_modules/.bin/which.cmd +node_modules/execa/node_modules/.bin/which.ps1 +node_modules/from/.npmignore +node_modules/from/.travis.yml +node_modules/from/index.js +node_modules/from/LICENSE.APACHE2 +node_modules/from/LICENSE.MIT +node_modules/from/package.json +node_modules/from/readme.markdown +node_modules/from/test/index.js +node_modules/global-prefix/node_modules/.bin/which.cmd +node_modules/global-prefix/node_modules/.bin/which.ps1 +node_modules/lodash.assign/index.js +node_modules/lodash.assign/LICENSE +node_modules/lodash.assign/package.json +node_modules/lodash.assign/README.md +node_modules/map-stream/.npmignore +node_modules/map-stream/.travis.yml +node_modules/map-stream/index.js +node_modules/map-stream/LICENCE +node_modules/map-stream/package.json +node_modules/map-stream/readme.markdown +node_modules/map-stream/examples/pretty.js +node_modules/map-stream/test/simple-map.asynct.js +node_modules/mingo/CHANGELOG.md +node_modules/mingo/CONTRIBUTORS.md +node_modules/mingo/LICENSE +node_modules/mingo/package.json +node_modules/mingo/README.md +node_modules/mingo/VERSION +node_modules/mingo/dist/mingo.es6.js +node_modules/mingo/dist/mingo.js +node_modules/mingo/dist/mingo.map +node_modules/mingo/dist/mingo.min.js +node_modules/mingo/dist/mingo.min.js.gz +node_modules/mingo/lib/aggregator.js +node_modules/mingo/lib/constants.js +node_modules/mingo/lib/cursor.js +node_modules/mingo/lib/index.js +node_modules/mingo/lib/internal.js +node_modules/mingo/lib/mixin.js +node_modules/mingo/lib/polyfill.js +node_modules/mingo/lib/query.js +node_modules/mingo/lib/util.js +node_modules/mingo/lib/operators/group.js +node_modules/mingo/lib/operators/index.js +node_modules/mingo/lib/operators/pipeline.js +node_modules/mingo/lib/operators/projection.js +node_modules/mingo/lib/operators/query.js +node_modules/mingo/lib/operators/aggregation/arithmetic.js +node_modules/mingo/lib/operators/aggregation/array.js +node_modules/mingo/lib/operators/aggregation/boolean.js +node_modules/mingo/lib/operators/aggregation/comparison.js +node_modules/mingo/lib/operators/aggregation/conditional.js +node_modules/mingo/lib/operators/aggregation/date.js +node_modules/mingo/lib/operators/aggregation/index.js +node_modules/mingo/lib/operators/aggregation/literal.js +node_modules/mingo/lib/operators/aggregation/set.js +node_modules/mingo/lib/operators/aggregation/string.js +node_modules/mingo/lib/operators/aggregation/variable.js +node_modules/node-abi/node_modules/.bin/semver.cmd +node_modules/node-abi/node_modules/.bin/semver.ps1 +node_modules/node-api-version/node_modules/.bin/semver.cmd +node_modules/node-api-version/node_modules/.bin/semver.ps1 +node_modules/node-gyp/node_modules/.bin/semver.cmd +node_modules/node-gyp/node_modules/.bin/semver.ps1 +node_modules/normalize-package-data/node_modules/.bin/semver.cmd +node_modules/normalize-package-data/node_modules/.bin/semver.ps1 +node_modules/pause-stream/.npmignore +node_modules/pause-stream/index.js +node_modules/pause-stream/LICENSE +node_modules/pause-stream/package.json +node_modules/pause-stream/readme.markdown +node_modules/pause-stream/test/index.js +node_modules/pause-stream/test/pause-end.js +node_modules/save/.jshintignore +node_modules/save/.jshintrc +node_modules/save/.travis.yml +node_modules/save/LICENSE +node_modules/save/package.json +node_modules/save/README.md +node_modules/save/lib/memory-engine.js +node_modules/save/lib/save.js +node_modules/save/node_modules/async/all.js +node_modules/save/node_modules/async/allLimit.js +node_modules/save/node_modules/async/allSeries.js +node_modules/save/node_modules/async/any.js +node_modules/save/node_modules/async/anyLimit.js +node_modules/save/node_modules/async/anySeries.js +node_modules/save/node_modules/async/apply.js +node_modules/save/node_modules/async/applyEach.js +node_modules/save/node_modules/async/applyEachSeries.js +node_modules/save/node_modules/async/asyncify.js +node_modules/save/node_modules/async/auto.js +node_modules/save/node_modules/async/autoInject.js +node_modules/save/node_modules/async/bower.json +node_modules/save/node_modules/async/cargo.js +node_modules/save/node_modules/async/CHANGELOG.md +node_modules/save/node_modules/async/compose.js +node_modules/save/node_modules/async/concat.js +node_modules/save/node_modules/async/concatLimit.js +node_modules/save/node_modules/async/concatSeries.js +node_modules/save/node_modules/async/constant.js +node_modules/save/node_modules/async/detect.js +node_modules/save/node_modules/async/detectLimit.js +node_modules/save/node_modules/async/detectSeries.js +node_modules/save/node_modules/async/dir.js +node_modules/save/node_modules/async/doDuring.js +node_modules/save/node_modules/async/doUntil.js +node_modules/save/node_modules/async/doWhilst.js +node_modules/save/node_modules/async/during.js +node_modules/save/node_modules/async/each.js +node_modules/save/node_modules/async/eachLimit.js +node_modules/save/node_modules/async/eachOf.js +node_modules/save/node_modules/async/eachOfLimit.js +node_modules/save/node_modules/async/eachOfSeries.js +node_modules/save/node_modules/async/eachSeries.js +node_modules/save/node_modules/async/ensureAsync.js +node_modules/save/node_modules/async/every.js +node_modules/save/node_modules/async/everyLimit.js +node_modules/save/node_modules/async/everySeries.js +node_modules/save/node_modules/async/filter.js +node_modules/save/node_modules/async/filterLimit.js +node_modules/save/node_modules/async/filterSeries.js +node_modules/save/node_modules/async/find.js +node_modules/save/node_modules/async/findLimit.js +node_modules/save/node_modules/async/findSeries.js +node_modules/save/node_modules/async/foldl.js +node_modules/save/node_modules/async/foldr.js +node_modules/save/node_modules/async/forEach.js +node_modules/save/node_modules/async/forEachLimit.js +node_modules/save/node_modules/async/forEachOf.js +node_modules/save/node_modules/async/forEachOfLimit.js +node_modules/save/node_modules/async/forEachOfSeries.js +node_modules/save/node_modules/async/forEachSeries.js +node_modules/save/node_modules/async/forever.js +node_modules/save/node_modules/async/groupBy.js +node_modules/save/node_modules/async/groupByLimit.js +node_modules/save/node_modules/async/groupBySeries.js +node_modules/save/node_modules/async/index.js +node_modules/save/node_modules/async/inject.js +node_modules/save/node_modules/async/LICENSE +node_modules/save/node_modules/async/log.js +node_modules/save/node_modules/async/map.js +node_modules/save/node_modules/async/mapLimit.js +node_modules/save/node_modules/async/mapSeries.js +node_modules/save/node_modules/async/mapValues.js +node_modules/save/node_modules/async/mapValuesLimit.js +node_modules/save/node_modules/async/mapValuesSeries.js +node_modules/save/node_modules/async/memoize.js +node_modules/save/node_modules/async/nextTick.js +node_modules/save/node_modules/async/package.json +node_modules/save/node_modules/async/parallel.js +node_modules/save/node_modules/async/parallelLimit.js +node_modules/save/node_modules/async/priorityQueue.js +node_modules/save/node_modules/async/queue.js +node_modules/save/node_modules/async/race.js +node_modules/save/node_modules/async/README.md +node_modules/save/node_modules/async/reduce.js +node_modules/save/node_modules/async/reduceRight.js +node_modules/save/node_modules/async/reflect.js +node_modules/save/node_modules/async/reflectAll.js +node_modules/save/node_modules/async/reject.js +node_modules/save/node_modules/async/rejectLimit.js +node_modules/save/node_modules/async/rejectSeries.js +node_modules/save/node_modules/async/retry.js +node_modules/save/node_modules/async/retryable.js +node_modules/save/node_modules/async/select.js +node_modules/save/node_modules/async/selectLimit.js +node_modules/save/node_modules/async/selectSeries.js +node_modules/save/node_modules/async/seq.js +node_modules/save/node_modules/async/series.js +node_modules/save/node_modules/async/setImmediate.js +node_modules/save/node_modules/async/some.js +node_modules/save/node_modules/async/someLimit.js +node_modules/save/node_modules/async/someSeries.js +node_modules/save/node_modules/async/sortBy.js +node_modules/save/node_modules/async/timeout.js +node_modules/save/node_modules/async/times.js +node_modules/save/node_modules/async/timesLimit.js +node_modules/save/node_modules/async/timesSeries.js +node_modules/save/node_modules/async/transform.js +node_modules/save/node_modules/async/tryEach.js +node_modules/save/node_modules/async/unmemoize.js +node_modules/save/node_modules/async/until.js +node_modules/save/node_modules/async/waterfall.js +node_modules/save/node_modules/async/whilst.js +node_modules/save/node_modules/async/wrapSync.js +node_modules/save/node_modules/async/dist/async.js +node_modules/save/node_modules/async/dist/async.min.js +node_modules/save/node_modules/async/dist/async.min.map +node_modules/save/node_modules/async/internal/applyEach.js +node_modules/save/node_modules/async/internal/breakLoop.js +node_modules/save/node_modules/async/internal/consoleFunc.js +node_modules/save/node_modules/async/internal/createTester.js +node_modules/save/node_modules/async/internal/doLimit.js +node_modules/save/node_modules/async/internal/doParallel.js +node_modules/save/node_modules/async/internal/doParallelLimit.js +node_modules/save/node_modules/async/internal/DoublyLinkedList.js +node_modules/save/node_modules/async/internal/eachOfLimit.js +node_modules/save/node_modules/async/internal/filter.js +node_modules/save/node_modules/async/internal/findGetResult.js +node_modules/save/node_modules/async/internal/getIterator.js +node_modules/save/node_modules/async/internal/initialParams.js +node_modules/save/node_modules/async/internal/iterator.js +node_modules/save/node_modules/async/internal/map.js +node_modules/save/node_modules/async/internal/notId.js +node_modules/save/node_modules/async/internal/once.js +node_modules/save/node_modules/async/internal/onlyOnce.js +node_modules/save/node_modules/async/internal/parallel.js +node_modules/save/node_modules/async/internal/queue.js +node_modules/save/node_modules/async/internal/reject.js +node_modules/save/node_modules/async/internal/setImmediate.js +node_modules/save/node_modules/async/internal/slice.js +node_modules/save/node_modules/async/internal/withoutIndex.js +node_modules/save/node_modules/async/internal/wrapAsync.js +node_modules/save/test/count.js +node_modules/save/test/create-or-update.js +node_modules/save/test/create.js +node_modules/save/test/delete-many.js +node_modules/save/test/delete.js +node_modules/save/test/engine.tests.js +node_modules/save/test/find-one.js +node_modules/save/test/find.js +node_modules/save/test/id-property.js +node_modules/save/test/memory-engine.test.js +node_modules/save/test/read.js +node_modules/save/test/save.test.js +node_modules/save/test/streaming.js +node_modules/save/test/update-many.js +node_modules/save/test/update.js +node_modules/split/.npmignore +node_modules/split/.travis.yml +node_modules/split/index.js +node_modules/split/LICENCE +node_modules/split/package.json +node_modules/split/readme.markdown +node_modules/split/examples/pretty.js +node_modules/split/test/options.asynct.js +node_modules/split/test/partitioned_unicode.js +node_modules/split/test/split.asynct.js +node_modules/split/test/try_catch.asynct.js +node_modules/stream-combiner/.npmignore +node_modules/stream-combiner/.travis.yml +node_modules/stream-combiner/index.js +node_modules/stream-combiner/LICENSE +node_modules/stream-combiner/package.json +node_modules/stream-combiner/README.md +node_modules/stream-combiner/test/index.js +node_modules/tar/node_modules/.bin/mkdirp.cmd +node_modules/tar/node_modules/.bin/mkdirp.ps1 +node_modules/update-notifier/node_modules/.bin/is-ci.cmd +node_modules/update-notifier/node_modules/.bin/is-ci.ps1 +node_modules/update-notifier/node_modules/.bin/semver.cmd +node_modules/update-notifier/node_modules/.bin/semver.ps1 +node_modules/yarn-or-npm/node_modules/.bin/semver.cmd +node_modules/yarn-or-npm/node_modules/.bin/semver.ps1 +node_modules/yarn-or-npm/node_modules/.bin/which.cmd +node_modules/yarn-or-npm/node_modules/.bin/which.ps1 +node_modules/arrify/index.d.ts +node_modules/arrify/index.js +node_modules/arrify/license +node_modules/arrify/package.json +node_modules/arrify/readme.md +node_modules/human-signals/CHANGELOG.md +node_modules/human-signals/LICENSE +node_modules/human-signals/package.json +node_modules/human-signals/README.md +node_modules/human-signals/build/src/core.js +node_modules/human-signals/build/src/core.js.map +node_modules/human-signals/build/src/main.d.ts +node_modules/human-signals/build/src/main.js.map +node_modules/human-signals/build/src/realtime.js +node_modules/human-signals/build/src/realtime.js.map +node_modules/human-signals/build/src/signals.js +node_modules/human-signals/build/src/signals.js.map +node_modules/merge-stream/index.js +node_modules/merge-stream/LICENSE +node_modules/merge-stream/package.json +node_modules/merge-stream/README.md +node_modules/strip-final-newline/index.js +node_modules/strip-final-newline/license +node_modules/strip-final-newline/package.json +node_modules/strip-final-newline/readme.md +node_modules/taskkill/index.js +node_modules/taskkill/license +node_modules/taskkill/package.json +node_modules/taskkill/readme.md +node_modules/taskkill/node_modules/execa/index.d.ts +node_modules/taskkill/node_modules/execa/index.js +node_modules/taskkill/node_modules/execa/license +node_modules/taskkill/node_modules/execa/package.json +node_modules/taskkill/node_modules/execa/readme.md +node_modules/taskkill/node_modules/execa/lib/command.js +node_modules/taskkill/node_modules/execa/lib/error.js +node_modules/taskkill/node_modules/execa/lib/kill.js +node_modules/taskkill/node_modules/execa/lib/promise.js +node_modules/taskkill/node_modules/execa/lib/stdio.js +node_modules/taskkill/node_modules/execa/lib/stream.js +node_modules/taskkill/node_modules/get-stream/buffer-stream.js +node_modules/taskkill/node_modules/get-stream/index.d.ts +node_modules/taskkill/node_modules/get-stream/index.js +node_modules/taskkill/node_modules/get-stream/license +node_modules/taskkill/node_modules/get-stream/package.json +node_modules/taskkill/node_modules/get-stream/readme.md +node_modules/taskkill/node_modules/is-stream/index.d.ts +node_modules/taskkill/node_modules/is-stream/index.js +node_modules/taskkill/node_modules/is-stream/license +node_modules/taskkill/node_modules/is-stream/package.json +node_modules/taskkill/node_modules/is-stream/readme.md +node_modules/taskkill/node_modules/npm-run-path/index.d.ts +node_modules/taskkill/node_modules/npm-run-path/index.js +node_modules/taskkill/node_modules/npm-run-path/license +node_modules/taskkill/node_modules/npm-run-path/package.json +node_modules/taskkill/node_modules/npm-run-path/readme.md +engines.json +downloads/NBMiner_Win/logs/log_20220213_162559.txt +downloads/NBMiner_Win/logs/log_20220213_164910.txt +downloads/NBMiner_Win/logs/log_20220213_164918.txt +downloads/NBMiner_Win/logs/log_20220213_183501.txt +downloads/NBMiner_Win/logs/log_20220213_194352.txt +downloads/NBMiner_Win/logs/log_20220213_201735.txt +downloads/NBMiner_Win/logs/log_20220213_223611.txt +downloads/trex/ALPH-herominers.bat +downloads/trex/ALPH-woolypooly.bat +downloads/trex/CFX-nanopool.bat +downloads/trex/CFX-woolypooly.bat +downloads/trex/config_example +downloads/trex/ERGO-2miners.bat +downloads/trex/ERGO-herominers.bat +downloads/trex/ERGO-nanopool.bat +downloads/trex/ERGO-woolypooly.bat +downloads/trex/ETC-2miners.bat +downloads/trex/ETC-woolypooly.bat +downloads/trex/ETH-2miners.bat +downloads/trex/ETH-ethermine.bat +downloads/trex/ETH-ethproxy.bat +downloads/trex/ETH-flexpool.bat +downloads/trex/ETH-ISP-hidden-mode.bat +downloads/trex/ETH-miningpoolhub.bat +downloads/trex/ETH-miningrigrentals.bat +downloads/trex/ETH-nanopool.bat +downloads/trex/ETH-woolypooly.bat +downloads/trex/ETH+ZIL-ezil.bat +downloads/trex/FIRO-2miners.bat +downloads/trex/FIRO-mintpond.bat +downloads/trex/FIRO-woolypooly.bat +downloads/trex/LHR-unlock-dual-ETH+ALPH.bat +downloads/trex/LHR-unlock-dual-ETH+CFX.bat +downloads/trex/LHR-unlock-dual-ETH+ERGO.bat +downloads/trex/LHR-unlock-dual-ETH+FIRO.bat +downloads/trex/LHR-unlock-dual-ETH+RVN.bat +downloads/trex/README.md +downloads/trex/RVN-2miners.bat +downloads/trex/RVN-ravenminer.bat +downloads/trex/RVN-woolypooly.bat +downloads/trex/SERO-serocash.bat +downloads/trex/t-rex-0.25.2-win.zip +downloads/trex/t-rex.exe +downloads/trex/VBK-luckypool.bat +downloads/trex/VEIL-woolypooly.bat +downloads/trex/ZANO-luckypool.bat +downloads/trex/help/API.md +downloads/trex/help/FAQ.md +downloads/trex/help/LHR.md +downloads/trex/help/WebUI.md +downloads/gminer/gminer_2_78_windows64.zip +downloads/gminer/mine_aeternity.bat +downloads/gminer/mine_aion.bat +downloads/gminer/mine_beam.bat +downloads/gminer/mine_btg.bat +downloads/gminer/mine_cortex.bat +downloads/gminer/mine_etc.bat +downloads/gminer/mine_eth.bat +downloads/gminer/mine_eth+zil_shardpool.bat +downloads/gminer/mine_eth+zil.bat +downloads/gminer/mine_ravencoin.bat +downloads/gminer/mine_zelcash.bat +downloads/gminer/miner.exe +downloads/gminer/readme.txt +downloads/gminer/sample_config.txt +downloads/trex/t-rex-0.25.2-win (1).zip +downloads/trex/SERO-2miners.bat +downloads +downloads/trex/t-rex-0.25.2-win (2).zip +downloads/trex/t-rex-0.25.2-win (2).zip +build/builder-effective-config.yaml +start_ae.bat +tmp.json +node_modules/app-builder-lib/node_modules/@tootallnate/once/LICENSE +node_modules/app-builder-lib/node_modules/@tootallnate/once/package.json +node_modules/app-builder-lib/node_modules/@tootallnate/once/README.md +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/index.d.ts +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/index.js +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/index.js.map +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/overloaded-parameters.js +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/types.d.ts +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/types.js +node_modules/app-builder-lib/node_modules/@tootallnate/once/dist/types.js.map +node_modules/app-builder-lib/node_modules/app-builder-bin/index.d.ts +node_modules/app-builder-lib/node_modules/app-builder-bin/index.js +node_modules/app-builder-lib/node_modules/app-builder-bin/package.json +node_modules/app-builder-lib/node_modules/app-builder-bin/readme.md +node_modules/app-builder-lib/node_modules/app-builder-bin/linux/arm/app-builder +node_modules/app-builder-lib/node_modules/app-builder-bin/linux/arm64/app-builder +node_modules/app-builder-lib/node_modules/app-builder-bin/linux/ia32/app-builder +node_modules/app-builder-lib/node_modules/app-builder-bin/linux/x64/app-builder +node_modules/app-builder-lib/node_modules/app-builder-bin/mac/app-builder_amd64 +node_modules/app-builder-lib/node_modules/app-builder-bin/mac/app-builder_arm64 +node_modules/app-builder-lib/node_modules/app-builder-bin/win/ia32/app-builder.exe +node_modules/app-builder-lib/node_modules/app-builder-bin/win/x64/app-builder.exe +node_modules/app-builder-lib/node_modules/builder-util/LICENSE +node_modules/app-builder-lib/node_modules/builder-util/package.json +node_modules/app-builder-lib/node_modules/builder-util/readme.md +node_modules/app-builder-lib/node_modules/builder-util/out/arch.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/arch.js +node_modules/app-builder-lib/node_modules/builder-util/out/arch.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/asyncTaskManager.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/asyncTaskManager.js +node_modules/app-builder-lib/node_modules/builder-util/out/asyncTaskManager.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/DebugLogger.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/DebugLogger.js +node_modules/app-builder-lib/node_modules/builder-util/out/DebugLogger.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/deepAssign.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/deepAssign.js +node_modules/app-builder-lib/node_modules/builder-util/out/deepAssign.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/fs.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/fs.js +node_modules/app-builder-lib/node_modules/builder-util/out/fs.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/log.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/log.js +node_modules/app-builder-lib/node_modules/builder-util/out/log.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/nodeHttpExecutor.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/nodeHttpExecutor.js +node_modules/app-builder-lib/node_modules/builder-util/out/nodeHttpExecutor.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/promise.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/promise.js +node_modules/app-builder-lib/node_modules/builder-util/out/promise.js.map +node_modules/app-builder-lib/node_modules/builder-util/out/util.d.ts +node_modules/app-builder-lib/node_modules/builder-util/out/util.js +node_modules/app-builder-lib/node_modules/builder-util/out/util.js.map +node_modules/app-builder-lib/node_modules/http-proxy-agent/package.json +node_modules/app-builder-lib/node_modules/http-proxy-agent/README.md +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/agent.d.ts +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/agent.js +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/agent.js.map +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/index.d.ts +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/index.js +node_modules/app-builder-lib/node_modules/http-proxy-agent/dist/index.js.map +node_modules/axo/.npmignore +node_modules/axo/.travis.yml +node_modules/axo/index.js +node_modules/axo/LICENSE +node_modules/axo/package.json +node_modules/axo/README.md +node_modules/axo/test.js +node_modules/builder-util/node_modules/builder-util-runtime/LICENSE +node_modules/builder-util/node_modules/builder-util-runtime/package.json +node_modules/builder-util/node_modules/builder-util-runtime/readme.md +node_modules/builder-util/node_modules/builder-util-runtime/out/blockMapApi.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/blockMapApi.js +node_modules/builder-util/node_modules/builder-util-runtime/out/blockMapApi.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/CancellationToken.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/CancellationToken.js +node_modules/builder-util/node_modules/builder-util-runtime/out/CancellationToken.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/httpExecutor.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/httpExecutor.js +node_modules/builder-util/node_modules/builder-util-runtime/out/httpExecutor.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/index.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/index.js +node_modules/builder-util/node_modules/builder-util-runtime/out/index.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/ProgressCallbackTransform.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/ProgressCallbackTransform.js +node_modules/builder-util/node_modules/builder-util-runtime/out/ProgressCallbackTransform.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/publishOptions.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/publishOptions.js +node_modules/builder-util/node_modules/builder-util-runtime/out/publishOptions.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/rfc2253Parser.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/rfc2253Parser.js +node_modules/builder-util/node_modules/builder-util-runtime/out/rfc2253Parser.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/updateInfo.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/updateInfo.js +node_modules/builder-util/node_modules/builder-util-runtime/out/updateInfo.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/uuid.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/uuid.js +node_modules/builder-util/node_modules/builder-util-runtime/out/uuid.js.map +node_modules/builder-util/node_modules/builder-util-runtime/out/xml.d.ts +node_modules/builder-util/node_modules/builder-util-runtime/out/xml.js +node_modules/builder-util/node_modules/builder-util-runtime/out/xml.js.map +node_modules/dmg-builder/node_modules/@tootallnate/once/LICENSE +node_modules/dmg-builder/node_modules/@tootallnate/once/package.json +node_modules/dmg-builder/node_modules/@tootallnate/once/README.md +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/index.d.ts +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/index.js +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/index.js.map +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.js +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/types.d.ts +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/types.js +node_modules/dmg-builder/node_modules/@tootallnate/once/dist/types.js.map +node_modules/dmg-builder/node_modules/app-builder-bin/index.d.ts +node_modules/dmg-builder/node_modules/app-builder-bin/index.js +node_modules/dmg-builder/node_modules/app-builder-bin/package.json +node_modules/dmg-builder/node_modules/app-builder-bin/readme.md +node_modules/dmg-builder/node_modules/app-builder-bin/linux/arm/app-builder +node_modules/dmg-builder/node_modules/app-builder-bin/linux/arm64/app-builder +node_modules/dmg-builder/node_modules/app-builder-bin/linux/ia32/app-builder +node_modules/dmg-builder/node_modules/app-builder-bin/linux/x64/app-builder +node_modules/dmg-builder/node_modules/app-builder-bin/mac/app-builder_amd64 +node_modules/dmg-builder/node_modules/app-builder-bin/mac/app-builder_arm64 +node_modules/dmg-builder/node_modules/app-builder-bin/win/ia32/app-builder.exe +node_modules/dmg-builder/node_modules/app-builder-bin/win/x64/app-builder.exe +node_modules/dmg-builder/node_modules/builder-util/LICENSE +node_modules/dmg-builder/node_modules/builder-util/package.json +node_modules/dmg-builder/node_modules/builder-util/readme.md +node_modules/dmg-builder/node_modules/builder-util/out/arch.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/arch.js +node_modules/dmg-builder/node_modules/builder-util/out/arch.js.map +node_modules/dmg-builder/node_modules/builder-util/out/asyncTaskManager.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/asyncTaskManager.js +node_modules/dmg-builder/node_modules/builder-util/out/asyncTaskManager.js.map +node_modules/dmg-builder/node_modules/builder-util/out/DebugLogger.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/DebugLogger.js +node_modules/dmg-builder/node_modules/builder-util/out/DebugLogger.js.map +node_modules/dmg-builder/node_modules/builder-util/out/deepAssign.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/deepAssign.js +node_modules/dmg-builder/node_modules/builder-util/out/deepAssign.js.map +node_modules/dmg-builder/node_modules/builder-util/out/fs.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/fs.js +node_modules/dmg-builder/node_modules/builder-util/out/fs.js.map +node_modules/dmg-builder/node_modules/builder-util/out/log.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/log.js +node_modules/dmg-builder/node_modules/builder-util/out/log.js.map +node_modules/dmg-builder/node_modules/builder-util/out/nodeHttpExecutor.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/nodeHttpExecutor.js +node_modules/dmg-builder/node_modules/builder-util/out/nodeHttpExecutor.js.map +node_modules/dmg-builder/node_modules/builder-util/out/promise.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/promise.js +node_modules/dmg-builder/node_modules/builder-util/out/promise.js.map +node_modules/dmg-builder/node_modules/builder-util/out/util.d.ts +node_modules/dmg-builder/node_modules/builder-util/out/util.js +node_modules/dmg-builder/node_modules/builder-util/out/util.js.map +node_modules/dmg-builder/node_modules/http-proxy-agent/package.json +node_modules/dmg-builder/node_modules/http-proxy-agent/README.md +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/agent.d.ts +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/agent.js +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/agent.js.map +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/index.d.ts +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/index.js +node_modules/dmg-builder/node_modules/http-proxy-agent/dist/index.js.map +node_modules/electron-builder/node_modules/@tootallnate/once/LICENSE +node_modules/electron-builder/node_modules/@tootallnate/once/package.json +node_modules/electron-builder/node_modules/@tootallnate/once/README.md +node_modules/electron-builder/node_modules/@tootallnate/once/dist/index.d.ts +node_modules/electron-builder/node_modules/@tootallnate/once/dist/index.js +node_modules/electron-builder/node_modules/@tootallnate/once/dist/index.js.map +node_modules/electron-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts +node_modules/electron-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.js +node_modules/electron-builder/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +node_modules/electron-builder/node_modules/@tootallnate/once/dist/types.d.ts +node_modules/electron-builder/node_modules/@tootallnate/once/dist/types.js +node_modules/electron-builder/node_modules/@tootallnate/once/dist/types.js.map +node_modules/electron-builder/node_modules/app-builder-bin/index.d.ts +node_modules/electron-builder/node_modules/app-builder-bin/index.js +node_modules/electron-builder/node_modules/app-builder-bin/package.json +node_modules/electron-builder/node_modules/app-builder-bin/readme.md +node_modules/electron-builder/node_modules/app-builder-bin/linux/arm/app-builder +node_modules/electron-builder/node_modules/app-builder-bin/linux/arm64/app-builder +node_modules/electron-builder/node_modules/app-builder-bin/linux/ia32/app-builder +node_modules/electron-builder/node_modules/app-builder-bin/linux/x64/app-builder +node_modules/electron-builder/node_modules/app-builder-bin/mac/app-builder_amd64 +node_modules/electron-builder/node_modules/app-builder-bin/mac/app-builder_arm64 +node_modules/electron-builder/node_modules/app-builder-bin/win/ia32/app-builder.exe +node_modules/electron-builder/node_modules/app-builder-bin/win/x64/app-builder.exe +node_modules/electron-builder/node_modules/builder-util/LICENSE +node_modules/electron-builder/node_modules/builder-util/package.json +node_modules/electron-builder/node_modules/builder-util/readme.md +node_modules/electron-builder/node_modules/builder-util/out/arch.d.ts +node_modules/electron-builder/node_modules/builder-util/out/arch.js +node_modules/electron-builder/node_modules/builder-util/out/arch.js.map +node_modules/electron-builder/node_modules/builder-util/out/asyncTaskManager.d.ts +node_modules/electron-builder/node_modules/builder-util/out/asyncTaskManager.js +node_modules/electron-builder/node_modules/builder-util/out/asyncTaskManager.js.map +node_modules/electron-builder/node_modules/builder-util/out/DebugLogger.d.ts +node_modules/electron-builder/node_modules/builder-util/out/DebugLogger.js +node_modules/electron-builder/node_modules/builder-util/out/DebugLogger.js.map +node_modules/electron-builder/node_modules/builder-util/out/deepAssign.d.ts +node_modules/electron-builder/node_modules/builder-util/out/deepAssign.js +node_modules/electron-builder/node_modules/builder-util/out/deepAssign.js.map +node_modules/electron-builder/node_modules/builder-util/out/fs.d.ts +node_modules/electron-builder/node_modules/builder-util/out/fs.js +node_modules/electron-builder/node_modules/builder-util/out/fs.js.map +node_modules/electron-builder/node_modules/builder-util/out/log.d.ts +node_modules/electron-builder/node_modules/builder-util/out/log.js +node_modules/electron-builder/node_modules/builder-util/out/log.js.map +node_modules/electron-builder/node_modules/builder-util/out/nodeHttpExecutor.d.ts +node_modules/electron-builder/node_modules/builder-util/out/nodeHttpExecutor.js +node_modules/electron-builder/node_modules/builder-util/out/nodeHttpExecutor.js.map +node_modules/electron-builder/node_modules/builder-util/out/promise.d.ts +node_modules/electron-builder/node_modules/builder-util/out/promise.js +node_modules/electron-builder/node_modules/builder-util/out/promise.js.map +node_modules/electron-builder/node_modules/builder-util/out/util.d.ts +node_modules/electron-builder/node_modules/builder-util/out/util.js +node_modules/electron-builder/node_modules/builder-util/out/util.js.map +node_modules/electron-builder/node_modules/http-proxy-agent/package.json +node_modules/electron-builder/node_modules/http-proxy-agent/README.md +node_modules/electron-builder/node_modules/http-proxy-agent/dist/agent.d.ts +node_modules/electron-builder/node_modules/http-proxy-agent/dist/agent.js +node_modules/electron-builder/node_modules/http-proxy-agent/dist/agent.js.map +node_modules/electron-builder/node_modules/http-proxy-agent/dist/index.d.ts +node_modules/electron-builder/node_modules/http-proxy-agent/dist/index.js +node_modules/electron-builder/node_modules/http-proxy-agent/dist/index.js.map +node_modules/electron-publish/node_modules/@tootallnate/once/LICENSE +node_modules/electron-publish/node_modules/@tootallnate/once/package.json +node_modules/electron-publish/node_modules/@tootallnate/once/README.md +node_modules/electron-publish/node_modules/@tootallnate/once/dist/index.d.ts +node_modules/electron-publish/node_modules/@tootallnate/once/dist/index.js +node_modules/electron-publish/node_modules/@tootallnate/once/dist/index.js.map +node_modules/electron-publish/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts +node_modules/electron-publish/node_modules/@tootallnate/once/dist/overloaded-parameters.js +node_modules/electron-publish/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +node_modules/electron-publish/node_modules/@tootallnate/once/dist/types.d.ts +node_modules/electron-publish/node_modules/@tootallnate/once/dist/types.js +node_modules/electron-publish/node_modules/@tootallnate/once/dist/types.js.map +node_modules/electron-publish/node_modules/app-builder-bin/index.d.ts +node_modules/electron-publish/node_modules/app-builder-bin/index.js +node_modules/electron-publish/node_modules/app-builder-bin/package.json +node_modules/electron-publish/node_modules/app-builder-bin/readme.md +node_modules/electron-publish/node_modules/app-builder-bin/linux/arm/app-builder +node_modules/electron-publish/node_modules/app-builder-bin/linux/arm64/app-builder +node_modules/electron-publish/node_modules/app-builder-bin/linux/ia32/app-builder +node_modules/electron-publish/node_modules/app-builder-bin/linux/x64/app-builder +node_modules/electron-publish/node_modules/app-builder-bin/mac/app-builder_amd64 +node_modules/electron-publish/node_modules/app-builder-bin/mac/app-builder_arm64 +node_modules/electron-publish/node_modules/app-builder-bin/win/ia32/app-builder.exe +node_modules/electron-publish/node_modules/app-builder-bin/win/x64/app-builder.exe +node_modules/electron-publish/node_modules/builder-util/LICENSE +node_modules/electron-publish/node_modules/builder-util/package.json +node_modules/electron-publish/node_modules/builder-util/readme.md +node_modules/electron-publish/node_modules/builder-util/out/arch.d.ts +node_modules/electron-publish/node_modules/builder-util/out/arch.js +node_modules/electron-publish/node_modules/builder-util/out/arch.js.map +node_modules/electron-publish/node_modules/builder-util/out/asyncTaskManager.d.ts +node_modules/electron-publish/node_modules/builder-util/out/asyncTaskManager.js +node_modules/electron-publish/node_modules/builder-util/out/asyncTaskManager.js.map +node_modules/electron-publish/node_modules/builder-util/out/DebugLogger.d.ts +node_modules/electron-publish/node_modules/builder-util/out/DebugLogger.js +node_modules/electron-publish/node_modules/builder-util/out/DebugLogger.js.map +node_modules/electron-publish/node_modules/builder-util/out/deepAssign.d.ts +node_modules/electron-publish/node_modules/builder-util/out/deepAssign.js +node_modules/electron-publish/node_modules/builder-util/out/deepAssign.js.map +node_modules/electron-publish/node_modules/builder-util/out/fs.d.ts +node_modules/electron-publish/node_modules/builder-util/out/fs.js +node_modules/electron-publish/node_modules/builder-util/out/fs.js.map +node_modules/electron-publish/node_modules/builder-util/out/log.d.ts +node_modules/electron-publish/node_modules/builder-util/out/log.js +node_modules/electron-publish/node_modules/builder-util/out/log.js.map +node_modules/electron-publish/node_modules/builder-util/out/nodeHttpExecutor.d.ts +node_modules/electron-publish/node_modules/builder-util/out/nodeHttpExecutor.js +node_modules/electron-publish/node_modules/builder-util/out/nodeHttpExecutor.js.map +node_modules/electron-publish/node_modules/builder-util/out/promise.d.ts +node_modules/electron-publish/node_modules/builder-util/out/promise.js +node_modules/electron-publish/node_modules/builder-util/out/promise.js.map +node_modules/electron-publish/node_modules/builder-util/out/util.d.ts +node_modules/electron-publish/node_modules/builder-util/out/util.js +node_modules/electron-publish/node_modules/builder-util/out/util.js.map +node_modules/electron-publish/node_modules/http-proxy-agent/package.json +node_modules/electron-publish/node_modules/http-proxy-agent/README.md +node_modules/electron-publish/node_modules/http-proxy-agent/dist/agent.d.ts +node_modules/electron-publish/node_modules/http-proxy-agent/dist/agent.js +node_modules/electron-publish/node_modules/http-proxy-agent/dist/agent.js.map +node_modules/electron-publish/node_modules/http-proxy-agent/dist/index.d.ts +node_modules/electron-publish/node_modules/http-proxy-agent/dist/index.js +node_modules/electron-publish/node_modules/http-proxy-agent/dist/index.js.map +node_modules/eventemitter3/index.d.ts +node_modules/eventemitter3/index.js +node_modules/eventemitter3/LICENSE +node_modules/eventemitter3/package.json +node_modules/eventemitter3/README.md +node_modules/eventemitter3/umd/eventemitter3.js +node_modules/eventemitter3/umd/eventemitter3.min.js +node_modules/eventemitter3/umd/eventemitter3.min.js.map +node_modules/extendible/.npmignore +node_modules/extendible/.travis.yml +node_modules/extendible/index.js +node_modules/extendible/package.json +node_modules/extendible/README.md +node_modules/extendible/test.js +node_modules/extendible/example/index.js +node_modules/failure/.npmignore +node_modules/failure/.travis.yml +node_modules/failure/index.js +node_modules/failure/LICENSE +node_modules/failure/package.json +node_modules/failure/README.md +node_modules/failure/test.js +node_modules/hang/.npmignore +node_modules/hang/.travis.yml +node_modules/hang/index.js +node_modules/hang/LICENSE +node_modules/hang/package.json +node_modules/hang/README.md +node_modules/hang/test.js +node_modules/loads/index.js +node_modules/loads/LICENSE +node_modules/loads/package.json +node_modules/loads/README.md +node_modules/node-http-xhr/CHANGELOG.md +node_modules/node-http-xhr/package.json +node_modules/node-http-xhr/README.md +node_modules/node-http-xhr/lib/browser.js +node_modules/node-http-xhr/lib/index.js +node_modules/node-http-xhr/lib/node-event-target.js +node_modules/node-http-xhr/lib/node-xhr-event-target.js +node_modules/one-time/.npmignore +node_modules/one-time/.travis.yml +node_modules/one-time/index.js +node_modules/one-time/LICENSE +node_modules/one-time/package.json +node_modules/one-time/README.md +node_modules/one-time/test.js +node_modules/requests/.min-wd +node_modules/requests/.travis.yml +node_modules/requests/index.js +node_modules/requests/LICENSE +node_modules/requests/package.json +node_modules/requests/README.md +node_modules/requests/requested.js +node_modules/requests/test/development.js +node_modules/requests/test/index.html +node_modules/requests/test/index.js +node_modules/requests/test/large.js +node_modules/requests/test/requested.js +node_modules/requests/test/requests.browser.js +node_modules/requests/test/requests.test.js +node_modules/requests/test/static.js +node_modules/xhr-response/.npmignore +node_modules/xhr-response/.travis.yml +node_modules/xhr-response/index.js +node_modules/xhr-response/package.json +node_modules/xhr-response/README.md +node_modules/xhr-response/test.js +node_modules/xhr-send/.npmignore +node_modules/xhr-send/.travis.yml +node_modules/xhr-send/index.js +node_modules/xhr-send/LICENSE +node_modules/xhr-send/package.json +node_modules/xhr-send/README.md +node_modules/xhr-send/test.js +node_modules/xhr-status/.travis.yml +node_modules/xhr-status/index.js +node_modules/xhr-status/LICENSE +node_modules/xhr-status/package.json +node_modules/xhr-status/README.md +node_modules/xhr-status/test.js +node_modules/async/all.js +node_modules/async/allLimit.js +node_modules/async/allSeries.js +node_modules/async/any.js +node_modules/async/anyLimit.js +node_modules/async/anySeries.js +node_modules/async/apply.js +node_modules/async/applyEach.js +node_modules/async/applyEachSeries.js +node_modules/async/asyncify.js +node_modules/async/auto.js +node_modules/async/autoInject.js +node_modules/async/cargo.js +node_modules/async/cargoQueue.js +node_modules/async/CHANGELOG.md +node_modules/async/compose.js +node_modules/async/concat.js +node_modules/async/concatLimit.js +node_modules/async/concatSeries.js +node_modules/async/constant.js +node_modules/async/detect.js +node_modules/async/detectLimit.js +node_modules/async/detectSeries.js +node_modules/async/dir.js +node_modules/async/doDuring.js +node_modules/async/doUntil.js +node_modules/async/doWhilst.js +node_modules/async/during.js +node_modules/async/each.js +node_modules/async/eachLimit.js +node_modules/async/eachOf.js +node_modules/async/eachOfLimit.js +node_modules/async/eachOfSeries.js +node_modules/async/eachSeries.js +node_modules/async/ensureAsync.js +node_modules/async/every.js +node_modules/async/everyLimit.js +node_modules/async/everySeries.js +node_modules/async/filter.js +node_modules/async/filterLimit.js +node_modules/async/filterSeries.js +node_modules/async/find.js +node_modules/async/findLimit.js +node_modules/async/findSeries.js +node_modules/async/flatMap.js +node_modules/async/flatMapLimit.js +node_modules/async/flatMapSeries.js +node_modules/async/foldl.js +node_modules/async/foldr.js +node_modules/async/forEach.js +node_modules/async/forEachLimit.js +node_modules/async/forEachOf.js +node_modules/async/forEachOfLimit.js +node_modules/async/forEachOfSeries.js +node_modules/async/forEachSeries.js +node_modules/async/forever.js +node_modules/async/groupBy.js +node_modules/async/groupByLimit.js +node_modules/async/groupBySeries.js +node_modules/async/index.js +node_modules/async/inject.js +node_modules/async/log.js +node_modules/async/map.js +node_modules/async/mapLimit.js +node_modules/async/mapSeries.js +node_modules/async/mapValues.js +node_modules/async/mapValuesLimit.js +node_modules/async/mapValuesSeries.js +node_modules/async/memoize.js +node_modules/async/nextTick.js +node_modules/async/parallel.js +node_modules/async/parallelLimit.js +node_modules/async/priorityQueue.js +node_modules/async/queue.js +node_modules/async/race.js +node_modules/async/reduce.js +node_modules/async/reduceRight.js +node_modules/async/reflect.js +node_modules/async/reflectAll.js +node_modules/async/reject.js +node_modules/async/rejectLimit.js +node_modules/async/rejectSeries.js +node_modules/async/retry.js +node_modules/async/retryable.js +node_modules/async/select.js +node_modules/async/selectLimit.js +node_modules/async/selectSeries.js +node_modules/async/seq.js +node_modules/async/series.js +node_modules/async/setImmediate.js +node_modules/async/some.js +node_modules/async/someLimit.js +node_modules/async/someSeries.js +node_modules/async/sortBy.js +node_modules/async/timeout.js +node_modules/async/times.js +node_modules/async/timesLimit.js +node_modules/async/timesSeries.js +node_modules/async/transform.js +node_modules/async/tryEach.js +node_modules/async/unmemoize.js +node_modules/async/until.js +node_modules/async/waterfall.js +node_modules/async/whilst.js +node_modules/async/wrapSync.js +node_modules/async/dist/async.js +node_modules/async/dist/async.min.js +node_modules/async/dist/async.mjs +node_modules/async/internal/applyEach.js +node_modules/async/internal/asyncEachOfLimit.js +node_modules/async/internal/awaitify.js +node_modules/async/internal/breakLoop.js +node_modules/async/internal/consoleFunc.js +node_modules/async/internal/createTester.js +node_modules/async/internal/DoublyLinkedList.js +node_modules/async/internal/eachOfLimit.js +node_modules/async/internal/filter.js +node_modules/async/internal/getIterator.js +node_modules/async/internal/Heap.js +node_modules/async/internal/initialParams.js +node_modules/async/internal/isArrayLike.js +node_modules/async/internal/iterator.js +node_modules/async/internal/map.js +node_modules/async/internal/once.js +node_modules/async/internal/onlyOnce.js +node_modules/async/internal/parallel.js +node_modules/async/internal/promiseCallback.js +node_modules/async/internal/queue.js +node_modules/async/internal/range.js +node_modules/async/internal/reject.js +node_modules/async/internal/setImmediate.js +node_modules/async/internal/withoutIndex.js +node_modules/async/internal/wrapAsync.js +node_modules/axios/CHANGELOG.md +node_modules/axios/index.d.ts +node_modules/axios/index.js +node_modules/axios/LICENSE +node_modules/axios/package.json +node_modules/axios/README.md +node_modules/axios/SECURITY.md +node_modules/axios/tsconfig.json +node_modules/axios/tslint.json +node_modules/axios/UPGRADE_GUIDE.md +node_modules/axios/dist/axios.js +node_modules/axios/dist/axios.map +node_modules/axios/dist/axios.min.js +node_modules/axios/dist/axios.min.map +node_modules/axios/lib/axios.js +node_modules/axios/lib/utils.js +node_modules/axios/lib/adapters/http.js +node_modules/axios/lib/adapters/README.md +node_modules/axios/lib/adapters/xhr.js +node_modules/axios/lib/cancel/CanceledError.js +node_modules/axios/lib/cancel/CancelToken.js +node_modules/axios/lib/cancel/isCancel.js +node_modules/axios/lib/core/Axios.js +node_modules/axios/lib/core/AxiosError.js +node_modules/axios/lib/core/buildFullPath.js +node_modules/axios/lib/core/dispatchRequest.js +node_modules/axios/lib/core/InterceptorManager.js +node_modules/axios/lib/core/mergeConfig.js +node_modules/axios/lib/core/README.md +node_modules/axios/lib/core/settle.js +node_modules/axios/lib/core/transformData.js +node_modules/axios/lib/defaults/index.js +node_modules/axios/lib/defaults/transitional.js +node_modules/axios/lib/defaults/env/FormData.js +node_modules/axios/lib/env/data.js +node_modules/axios/lib/env/README.md +node_modules/axios/lib/helpers/bind.js +node_modules/axios/lib/helpers/buildURL.js +node_modules/axios/lib/helpers/combineURLs.js +node_modules/axios/lib/helpers/cookies.js +node_modules/axios/lib/helpers/deprecatedMethod.js +node_modules/axios/lib/helpers/isAbsoluteURL.js +node_modules/axios/lib/helpers/isAxiosError.js +node_modules/axios/lib/helpers/isURLSameOrigin.js +node_modules/axios/lib/helpers/normalizeHeaderName.js +node_modules/axios/lib/helpers/null.js +node_modules/axios/lib/helpers/parseHeaders.js +node_modules/axios/lib/helpers/parseProtocol.js +node_modules/axios/lib/helpers/README.md +node_modules/axios/lib/helpers/spread.js +node_modules/axios/lib/helpers/toFormData.js +node_modules/axios/lib/helpers/validator.js +node_modules/axios/node_modules/form-data/index.d.ts +node_modules/axios/node_modules/form-data/License +node_modules/axios/node_modules/form-data/package.json +node_modules/axios/node_modules/form-data/Readme.md +node_modules/axios/node_modules/form-data/README.md.bak +node_modules/axios/node_modules/form-data/lib/browser.js +node_modules/axios/node_modules/form-data/lib/form_data.js +node_modules/axios/node_modules/form-data/lib/populate.js +node_modules/filelist/node_modules/brace-expansion/index.js +node_modules/filelist/node_modules/brace-expansion/LICENSE +node_modules/filelist/node_modules/brace-expansion/package.json +node_modules/filelist/node_modules/brace-expansion/README.md +node_modules/filelist/node_modules/brace-expansion/.github/FUNDING.yml +node_modules/filelist/node_modules/minimatch/LICENSE +node_modules/filelist/node_modules/minimatch/minimatch.js +node_modules/filelist/node_modules/minimatch/package.json +node_modules/filelist/node_modules/minimatch/README.md +node_modules/filelist/node_modules/minimatch/lib/path.js +node_modules/follow-redirects/debug.js +node_modules/follow-redirects/http.js +node_modules/follow-redirects/https.js +node_modules/follow-redirects/index.js +node_modules/follow-redirects/LICENSE +node_modules/follow-redirects/package.json +node_modules/follow-redirects/README.md +node_modules/node-machine-id/.babelrc +node_modules/node-machine-id/.eslintignore +node_modules/node-machine-id/.eslintrc +node_modules/node-machine-id/.flowconfig +node_modules/node-machine-id/index.js +node_modules/node-machine-id/LICENSE +node_modules/node-machine-id/package.json +node_modules/node-machine-id/README.md +node_modules/node-machine-id/webpack.config.babel.js +node_modules/node-machine-id/dist/index.js +node_modules/node-machine-id/tests/index.js +node_modules/node-machine-id/types/index.d.ts +node_modules/nugget/LICENSE +node_modules/pretty-bytes/index.js diff --git a/2miner.png b/2miner.png new file mode 100644 index 0000000..622824a Binary files /dev/null and b/2miner.png differ diff --git a/7766604441644374638.svg b/7766604441644374638.svg new file mode 100644 index 0000000..2df6104 --- /dev/null +++ b/7766604441644374638.svg @@ -0,0 +1 @@ + Branding \ No newline at end of file diff --git a/Coin.gif b/Coin.gif new file mode 100644 index 0000000..67dc9cf Binary files /dev/null and b/Coin.gif differ diff --git a/ERROR CORRECTED.TXT b/ERROR CORRECTED.TXT new file mode 100644 index 0000000..0962649 --- /dev/null +++ b/ERROR CORRECTED.TXT @@ -0,0 +1 @@ +DONE \ No newline at end of file diff --git a/binance.png b/binance.png new file mode 100644 index 0000000..8a629d0 Binary files /dev/null and b/binance.png differ diff --git a/click.png b/click.png new file mode 100644 index 0000000..ad68d7b Binary files /dev/null and b/click.png differ diff --git a/coinbase.png b/coinbase.png new file mode 100644 index 0000000..a713aeb Binary files /dev/null and b/coinbase.png differ diff --git a/commiunity.svg b/commiunity.svg new file mode 100644 index 0000000..d163a43 --- /dev/null +++ b/commiunity.svg @@ -0,0 +1 @@ + Opinion \ No newline at end of file diff --git a/confirmation.png b/confirmation.png new file mode 100644 index 0000000..8515b1d Binary files /dev/null and b/confirmation.png differ diff --git a/donation.png b/donation.png new file mode 100644 index 0000000..4ebb069 Binary files /dev/null and b/donation.png differ diff --git a/fan.png b/fan.png new file mode 100644 index 0000000..cee3831 Binary files /dev/null and b/fan.png differ diff --git a/functions.js b/functions.js index b693b3b..6030a1b 100644 --- a/functions.js +++ b/functions.js @@ -2,112 +2,112 @@ // Use this variable to set dashboard btn as the active sidebar button at app start. // Later change the variable to the relavent class id when change the main content according to the button press. -let activeSideBarButtonId = "menu-dashboard-btn"; -let activeBodyAreaId = "dashboard-area"; +// let activeSideBarButtonId = "menu-dashboard-btn"; +// let activeBodyAreaId = "dashboard-area"; // Main content areas for buttons -let dashboardSection = document.getElementById("dashboard-area"); +// let dashboardSection = document.getElementById("dashboard-area"); // Variables with main content areas relavent to left menubar buttons. -let btnDashboard = document.getElementById("menu-dashboard-btn"); -let btnUser = document.getElementById("menu-user-btn"); -let btnMessages = document.getElementById("menu-messages-btn"); -let btnAnalytics = document.getElementById("menu-analytics-btn"); -let btnFiles = document.getElementById("menu-files-btn"); -let btnOrders = document.getElementById("menu-orders-btn"); -let btnSave = document.getElementById("menu-saved-btn"); -let btnSettings = document.getElementById("menu-settings-btn"); -let btnLogOut = document.getElementById("menu-log-out-btn"); +// let btnDashboard = document.getElementById("menu-dashboard-btn"); +// let btnUser = document.getElementById("menu-user-btn"); +// let btnMessages = document.getElementById("menu-messages-btn"); +// let btnAnalytics = document.getElementById("menu-analytics-btn"); +// let btnFiles = document.getElementById("menu-files-btn"); +// let btnOrders = document.getElementById("menu-orders-btn"); +// let btnSave = document.getElementById("menu-saved-btn"); +// let btnSettings = document.getElementById("menu-settings-btn"); +// let btnLogOut = document.getElementById("menu-log-out-btn"); // change the active section to hidden. -function hideActiveArea() { - activeElement = document.getElementById(activeBodyAreaId); - activeElement.classList.toggle("hider"); -} - -function showElement(id) { - element = document.getElementById(id); - element.classList.toggle("hider") - activeBodyAreaId = id; - idSplit = id.split("-"); - activeSideBarButtonId = "menu-" + idSplit[0] + "-btn"; -} - -btnDashboard.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-dashboard-btn") { - hideActiveArea(); - showElement("dashboard-area") - } -}); - -btnUser.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-user-btn") { - hideActiveArea(); - showElement("user-area") - } - -}); - -btnMessages.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-messages-btn") { - hideActiveArea(); - showElement("messages-area") - } -}); - -btnAnalytics.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-analytics-btn") { - hideActiveArea(); - showElement("analytics-area") - } -}); - -btnFiles.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-files-btn") { - hideActiveArea(); - showElement("files-area") - } -}); - -btnOrders.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-orders-btn") { - hideActiveArea(); - showElement("orders-area") - } -}); - -btnSave.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-saved-btn") { - hideActiveArea(); - showElement("saved-area") - } -}); - -btnSettings.addEventListener("click", ()=>{ - if (activeSideBarButtonId != "menu-settings-btn") { - hideActiveArea(); - showElement("settings-area") - } -}); - -btnLogOut.addEventListener("click", ()=>{ - app.quit(); -}); +// function hideActiveArea() { +// activeElement = document.getElementById(activeBodyAreaId); +// activeElement.classList.toggle("hider"); +// } + +// function showElement(id) { +// element = document.getElementById(id); +// element.classList.toggle("hider") +// activeBodyAreaId = id; +// idSplit = id.split("-"); +// activeSideBarButtonId = "menu-" + idSplit[0] + "-btn"; +// } + +// btnDashboard.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-dashboard-btn") { +// hideActiveArea(); +// showElement("dashboard-area") +// } +// }); + +// btnUser.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-user-btn") { +// hideActiveArea(); +// showElement("user-area") +// } + +// }); + +// btnMessages.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-messages-btn") { +// hideActiveArea(); +// showElement("messages-area") +// } +// }); + +// btnAnalytics.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-analytics-btn") { +// hideActiveArea(); +// showElement("analytics-area") +// } +// }); + +// btnFiles.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-files-btn") { +// hideActiveArea(); +// showElement("files-area") +// } +// }); + +// btnOrders.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-orders-btn") { +// hideActiveArea(); +// showElement("orders-area") +// } +// }); + +// btnSave.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-saved-btn") { +// hideActiveArea(); +// showElement("saved-area") +// } +// }); + +// btnSettings.addEventListener("click", ()=>{ +// if (activeSideBarButtonId != "menu-settings-btn") { +// hideActiveArea(); +// showElement("settings-area") +// } +// }); + +// btnLogOut.addEventListener("click", ()=>{ +// app.quit(); +// }); // -------------------- NETWORK STATUS -------------------- -let lbl_network_status = document.getElementById("home-internet-status") - -function getNetworkStatus() { - if (navigator.onLine) { - lbl_network_status.textContent = "ONLINE" - }else{ - lbl_network_status.textContent = "OFFLINE" - } -} - -getNetworkStatus() -setInterval(getNetworkStatus, 5000) \ No newline at end of file +// let lbl_network_status = document.getElementById("home-internet-status") + +// function getNetworkStatus() { +// if (navigator.onLine) { +// lbl_network_status.textContent = "ONLINE" +// }else{ +// lbl_network_status.textContent = "OFFLINE" +// } +// } + +// getNetworkStatus() +// setInterval(getNetworkStatus, 5000) \ No newline at end of file diff --git a/github.png b/github.png new file mode 100644 index 0000000..e6117f6 Binary files /dev/null and b/github.png differ diff --git a/gpu-back.png b/gpu-back.png new file mode 100644 index 0000000..fc793cb Binary files /dev/null and b/gpu-back.png differ diff --git a/gpu-front.png b/gpu-front.png new file mode 100644 index 0000000..39351cc Binary files /dev/null and b/gpu-front.png differ diff --git a/hashpower-1.png b/hashpower-1.png new file mode 100644 index 0000000..e2e0205 Binary files /dev/null and b/hashpower-1.png differ diff --git a/hashpower-2.png b/hashpower-2.png new file mode 100644 index 0000000..8c2ac59 Binary files /dev/null and b/hashpower-2.png differ diff --git a/hashpower.png b/hashpower.png new file mode 100644 index 0000000..6ed497d Binary files /dev/null and b/hashpower.png differ diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..54859b4 Binary files /dev/null and b/icon.png differ diff --git a/icon3.png b/icon3.png new file mode 100644 index 0000000..9bdf04e Binary files /dev/null and b/icon3.png differ diff --git a/icon5.png b/icon5.png new file mode 100644 index 0000000..105e91b Binary files /dev/null and b/icon5.png differ diff --git a/img/arrow-down.svg b/img/arrow-down.svg new file mode 100644 index 0000000..71127c2 --- /dev/null +++ b/img/arrow-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 0322516..f088e2b 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,7 @@ + @@ -14,364 +15,492 @@ - - \ No newline at end of file diff --git a/loading.js b/loading.js index 7668a07..ae0b773 100644 --- a/loading.js +++ b/loading.js @@ -1,12 +1,6 @@ -console.log("asm") -// remote = require("electron").remote +const { ipcRenderer } = require('electron') -// console.log(remote.getVersion()) - - - - window.addEventListener("load", (event) => { let statusDisplay = document.getElementById("loading_msg"); @@ -19,6 +13,26 @@ window.addEventListener("load", (event) => { statusDisplay.textContent = "You are offline." } + ipcRenderer.on('checking-for-app-updates', ()=>{ + statusDisplay.textContent = 'Checking for updates...' + }) - window.setTimeout(()=> {window.close()}, 3000) + ipcRenderer.on('updates-available', ()=>{ + statusDisplay.textContent = 'Updates available for application.' + }) + + ipcRenderer.on('checking-for-plugin-updates', ()=>{ + statusDisplay.textContent = 'Checking for plugin updates...' + }) + + ipcRenderer.on('checking-gpu-data', ()=>{ + statusDisplay.textContent = 'Gathering gpu details...' + }) + + + ipcRenderer.on('close-loading', ()=>{ + window.close() + }) + + window.setTimeout(()=> {window.close()}, 360000) }); \ No newline at end of file diff --git a/logo-template-all.psd b/logo-template-all.psd new file mode 100644 index 0000000..ea616a0 Binary files /dev/null and b/logo-template-all.psd differ diff --git a/logo-template-mini.psd b/logo-template-mini.psd new file mode 100644 index 0000000..7dcad6b Binary files /dev/null and b/logo-template-mini.psd differ diff --git a/logo-template.psd b/logo-template.psd new file mode 100644 index 0000000..a6c0603 Binary files /dev/null and b/logo-template.psd differ diff --git a/main-preload.js b/main-preload.js index 37680a7..a27f5ce 100644 --- a/main-preload.js +++ b/main-preload.js @@ -1,40 +1,542 @@ -const { ipcRenderer, BrowserWindow } = require('electron') +const { isEmptyOrSpaces } = require('builder-util'); +const { ipcRenderer} = require('electron'); +const request = require('request'); const path = require('path') -function setupAutoStart(){ - ipcRenderer.on('autoStartReply', (event, arg) => { - console.log("auto start" + arg) - }) - ipcRenderer.send('setAutoStart', 'ping') +var current_mining_settings = {} +var income = false; +var ready_to_mine = false; +var mining_status = false; +var just_started = true; +var downloading = false; +var gpu_details = {}; +var selected_gpu_index = -1; + +// ------------------------- Engine -------------------------- +function setGUIState(mining) { + let imageMiner = document.getElementById('img-mining'); + let imageMiner2 = document.getElementById('img-mining2'); + let status_mini = document.getElementById('status-mini'); + let status_mini_not = document.getElementById('stutus-mini-not-running'); + + if (mining) { + mining_status = true; + imageMiner.style.opacity = '100%'; + imageMiner2.style.opacity = '0%'; + + status_mini.style.opacity = '100%'; + status_mini_not.style.opacity = '0%'; + }else{ + mining_status = false; + imageMiner.style.opacity = '0%'; + imageMiner2.style.opacity = '100%'; + + status_mini.style.opacity = '0%'; + status_mini_not.style.opacity = '100%'; + + } } -function downloadEngine(){ - ipcRenderer.send('downloadEngine', {payload : {url, properties: {}}}) +function runMiner(){ + let checkbox = document.getElementById('check-run-engine'); + // let txt_status_pool_address = document.getElementById('status-pool-address'); + let coin = document.getElementById('run-coin').value; + // console.log(coin + ' coin '); + let plugin = document.getElementById('run-plugin').value; + + + if (checkbox.checked) { + console.log("Starting miner program"); + ipcRenderer.send("run-mining-engine", {plugin, coin}); + setGUIState(true); + }else{ + console.log("Terminaing miner program"); + ipcRenderer.send("kill-mining-engine"); + setGUIState(false); + } } +function change_home_status(pool_address, algorithm, plugin_used){ + let coin = document.getElementById('run-coin'); + let plugin = document.getElementById('run-plugin'); + + let txt_status_algoritm = document.getElementById('status-algorithm'); + let txt_status_server = document.getElementById('status-server'); + let txt_status_pool_address = document.getElementById('status-pool-address'); + if ((!mining_status || just_started) && !isEmptyOrSpaces(pool_address)) { + // console.log("setting home screen statuses.") + just_started = false; + let server = pool_address.split('.'); + server = server[1] + '.' + server[2].split(':')[0]; + coin.value = algorithm; + plugin.value = plugin_used; + txt_status_algoritm.textContent = plugin_used.toUpperCase() + ' - ' + algorithm.toUpperCase(); + txt_status_pool_address.textContent = pool_address; + txt_status_server.textContent = server; + } +} + +ipcRenderer.on('ready-to-mine', ()=>{ + ready_to_mine = true; +}) + +ipcRenderer.on('engine-download-started', () => { + downloading = true; + + let down_bar = document.getElementById('down-bar'); + down_bar.style.opacity = '100%'; + + let status_mini = document.getElementById('status-mini'); + let status_bar = document.getElementById('stutus-mini-not-running'); + if (mining_status) { + status_mini.style.opacity = '0%'; + }else{ + status_bar.style.opacity = '0%'; + } +}) + +ipcRenderer.on('run-miner', ()=>{ + document.getElementById('check-run-engine').checked = true; + setGUIState(true) +}) + +ipcRenderer.on('miner-stopped', ()=>{ + document.getElementById('check-run-engine').checked = false; + setGUIState(false); + + let txt_mini_hashrate = document.getElementById('status-mini-hashrate'); + let txt_mini_power = document.getElementById('status-mini-power'); + let txt_status_hashrate = document.getElementById('status-hashrate'); + let txt_mini_uptime = document.getElementById('status-mini-uptime'); + + txt_status_hashrate.textContent = '- MH/s'; + txt_mini_hashrate.textContent = '- MH/s'; + txt_mini_power.textContent = '- W'; + txt_mini_uptime.textContent = '00:00:00'; + + // stats page + gpu_details['coin'] = 'no-coin'; + gpu_details['hashrate'] = '- MH/s'; + + let gpu_detail_container = document.getElementById('gpu-details-container'); + gpu_detail_container.innerHTML = ''; + + for([gpu_id, gpu] of Object.entries(gpu_details)){ + if (gpu_id == 'coin' || gpu_id == 'hashrate') { + continue + } + gpu_details[gpu_id]['fan'] = '-'; + gpu_details[gpu_id]['power'] = '-'; + gpu_details[gpu_id]['temperature'] = '-'; + + let card = ''; + + gpu_detail_container.innerHTML += card; + } +}) ipcRenderer.on("engine-download-progress", (event, args) => { - const progress = args[0]; - // set progress in progress bar + let down_progress = document.getElementById('download-progress'); + down_progress.style.width = args + '%'; + + let down_bar_text = document.getElementById('down-bar-txt'); + down_bar_text.textContent = 'Download ' + args + '% completed.'; }) -ipcRenderer.on("engine-download-complete", (event, args) => { - const progress = args[0]; - // set progress in progress bar +ipcRenderer.on("engine-download-complete", (event) => { + downloading = false; + + let status_mini = document.getElementById('status-mini'); + let status_bar = document.getElementById('stutus-mini-not-running'); + if (mining_status) { + status_mini.style.opacity = '100%'; + }else{ + status_bar.style.opacity = '100%'; + } + + let down_bar = document.getElementById('down-bar'); + down_bar.style.opacity = '0%'; + + console.log('done donwloading'); }) -window.addEventListener("load", (event) => { - // ------------------ AUTO START ------------------- - let btn_auto_start = document.getElementById('click') +ipcRenderer.on("update-download-complete", (event, path) => { + let btn_info_update = document.getElementById('updater'); + btn_info_update.textContent = 'Download'; + + let status_mini = document.getElementById('status-mini'); + let status_bar = document.getElementById('stutus-mini-not-running'); + if (mining_status) { + status_mini.style.opacity = '100%'; + }else{ + status_bar.style.opacity = '100%'; + } + + let down_bar = document.getElementById('down-bar'); + down_bar.style.opacity = '0%'; + console.log('done donwloading update'); +}) + +ipcRenderer.on('updates-available', ()=>{ + console.log("Updates available") + let btn_update_available = document.getElementById('show-update'); + let info_no_update = document.getElementById('info-update-no'); + let info_update = document.getElementById('info-update'); + btn_update_available.style.opacity = '100%'; + info_update.style.opacity = '100%'; + info_no_update.style.opacity = '0%'; + + let btn_info_update = document.getElementById('updater'); + btn_info_update.addEventListener('click', ()=>{ + ipcRenderer.send('download-updates'); + btn_info_update.textContent = 'Downloading'; + }) + + let btn_main_update = document.getElementById("show-update"); + btn_main_update.addEventListener('click', ()=>{ + let tab_info = document.getElementById('tab-info'); + tab_info.click(); + }) - btn_auto_start.addEventListener("click", ()=>{ - setupAutoStart() +}) + +ipcRenderer.on('plugin-status', (event, args)=>{ + let txt_mini_hashrate = document.getElementById('status-mini-hashrate'); + let txt_mini_power = document.getElementById('status-mini-power'); + let txt_status_hashrate = document.getElementById('status-hashrate'); + let txt_mini_uptime = document.getElementById('status-mini-uptime'); + + txt_status_hashrate.textContent = args['hashrate']; + txt_mini_hashrate.textContent = args['hashrate']; + txt_mini_power.textContent = args['power'] + ' W'; + txt_mini_uptime.textContent = args['uptime']; + + // status page + gpu_details = {}; + + let gpu_detail_container = document.getElementById('gpu-details-container'); + + gpu_detail_container.innerHTML = ''; + let coin = args['coin']; + if (!coin) { + coin = 'no-coin' + } + + args['devices'].forEach(gpu => { + let active = '' + if (gpu['id'] == selected_gpu_index) { + active = 'actives' + } + + let card = ''; + + gpu_detail_container.innerHTML += card; + + console.log('gpu - ' + gpu['id']) + gpu_details['gpu' + gpu['id']] = gpu; }); + // console.log(gpu_details) +}) - // ------------------ CONFIGURATION WINDOW ------------------ - let btn_configuration = document.getElementById('btn-configuration') +ipcRenderer.on('gpu-count', (event, args)=>{ + // console.log('gpu -' + args) + let txt_status_gpu_count = document.getElementById('status-gpu-count'); + txt_status_gpu_count.textContent = args + ' GPUs'; +}) - btn_configuration.addEventListener("click", ()=>{ - ipcRenderer.send("showConfigurationWindow") +ipcRenderer.on('current-mining-settings', (event, args)=>{ + current_mining_settings = args +}) + +window.addEventListener("load", (event) => { + let info_update = document.getElementById('info-update'); + info_update.style.opacity = '0%'; + let info_no_update = document.getElementById('info-update-no'); + info_no_update.style.opacity = '100%'; + + // ------------------ RUN MINER ----------------- + let checbox_mine = document.getElementById('check-run-engine'); + checbox_mine.addEventListener('click', (event)=>{ + if (!downloading || !ready_to_mine) { + runMiner() + }else{ + event.preventDefault() + } }); - }); \ No newline at end of file + + // ------------------ SETTINGS AND MINER STATUS ------------------ + let select_engine = document.getElementById('engine-select'); + let txt_pool_address = document.getElementById('pool-address'); + let txt_wallet_address = document.getElementById('wallet-address'); + let select_coins = document.getElementById('select-coins'); + let txt_extra_param = document.getElementById('extra-param'); + + let btn_save = document.getElementById('btn-settings-save'); + let btn_reset = document.getElementById('reset-icon'); + + let check_auto_run_ = document.getElementById('checkbox-auto-run'); + let check_auto_mine_ = document.getElementById('checkbox-auto-mine'); + + check_auto_mine_.addEventListener('change', ()=>{ + if (check_auto_mine_.checked) { + check_auto_run_.checked = true; + } + }) + + check_auto_run_.addEventListener('change', ()=>{ + if (check_auto_mine_.checked) { + alert('You can\'t uncheck "Run on statup" when set to "Auto run mining program with configured settings at computer power up" option checked') + check_auto_run_.checked = true; + } + }) + + btn_reset.addEventListener('click', ()=>{ + let engine = select_engine.value; + txt_pool_address.value = ''; + txt_wallet_address.value = ''; + txt_extra_param.value = ''; + select_coins.value = 'no_coin_selected'; + ipcRenderer.send("reset-engine-config", {engine}); + }) + + btn_save.addEventListener('click', ()=> { + let check_auto_update = document.getElementById('checkbox-auto-update').checked; + let check_auto_run = document.getElementById('checkbox-auto-run').checked; + let check_gpu_check = document.getElementById('checkbox-gpu-fail-check').checked; + let check_auto_mine = document.getElementById('checkbox-auto-mine').checked; + let check_resolve_internet = document.getElementById('checkbox-resolve-internet').checked; + let check_fix_common_err = document.getElementById('checkbox-fix-common-errors').checked; + + ipcRenderer.send("save-app-config", {check_auto_update, check_auto_run, check_gpu_check, check_auto_mine, check_resolve_internet, check_fix_common_err}); + + if (isEmptyOrSpaces(select_coins.value) || isEmptyOrSpaces(txt_pool_address.value) || isEmptyOrSpaces(txt_wallet_address.value) || select_coins.value == 'no_coin_selected') { + console.log("Fill all fields"); + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Input Error', 'message': 'Fill all required fields.'}) + }else{ + let engine = select_engine.value; + let pool_address = txt_pool_address.value; + let wallet_address = txt_wallet_address.value; + let coin = select_coins.value; + let extra_param = txt_extra_param.value; + + if (pool_address.split('.').length > 2) { + ipcRenderer.send("save-engine-config", {engine, pool_address, wallet_address, coin, extra_param}); + }else{ + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Input Error', 'message': 'Pool address is invalid.'}) + + } + } + + setTimeout(() => {btn_save.classList.toggle('button--loading')}, 1000); + }) + + ipcRenderer.on('engine-config', (event, data) => { + console.log('plugin configuration received.'); + + select_engine.value = data['selected']; + + let coins = data[select_engine.value]['supported_coins']; + select_coins.innerHTML = ''; + coins.forEach(coin => { + let sel_option = '' + select_coins.innerHTML = select_coins.innerHTML + sel_option; + }); + + txt_pool_address.value = data[select_engine.value]['pool_address']; + txt_wallet_address.value = data[select_engine.value]['wallet_address']; + select_coins.value = data[select_engine.value]['selected_coin']; + txt_extra_param.value = data[select_engine.value]['extra_param']; + change_home_status(data[select_engine.value]['pool_address'], data[select_engine.value]['selected_coin'], data['selected']); + + select_engine.addEventListener('change',(event) => { + let coins = data[select_engine.value]['supported_coins']; + select_coins.innerHTML = ''; + coins.forEach(coin => { + let sel_option = '' + select_coins.innerHTML = select_coins.innerHTML + sel_option; + }); + change_home_status(data[select_engine.value]['pool_address'], data[select_engine.value]['selected_coin'], select_engine.value); + txt_pool_address.value = data[select_engine.value]['pool_address']; + txt_wallet_address.value = data[select_engine.value]['wallet_address']; + select_coins.value = data[select_engine.value]['selected_coin']; + txt_extra_param.value = data[select_engine.value]['extra_param']; + }) + }) + + ipcRenderer.on('app-config', (event, args)=>{ + document.getElementById('checkbox-auto-update').checked = args['auto_update']; + document.getElementById('checkbox-auto-run').checked = args['auto_run']; + document.getElementById('checkbox-gpu-fail-check').checked = args['gpu_check']; + document.getElementById('checkbox-auto-mine').checked = args['auto_mine']; + document.getElementById('checkbox-resolve-internet').checked = args['resolve_internet']; + document.getElementById('checkbox-fix-common-errors').checked = args['resolve_common_err']; + }) + + + ipcRenderer.send('get-engine-config'); + ipcRenderer.send('get-app-config'); + + // ------------------------------------------------------------------ + let mail = document.getElementById('btn-copy-mail'); + let btc_addr = document.getElementById('btn-copy-btc-address'); + + mail.addEventListener('click', ()=>{ + navigator.clipboard.writeText('wenujasl@gmail.com'); + ipcRenderer.send('send-notification', {"title": "Email copied", "message": "Email copied to clipboard."}) + }) + + btc_addr.addEventListener('click', ()=>{ + navigator.clipboard.writeText('1Dv39qrJu6wtvEzAZkNLoeFdzLkfVJZtPp'); + ipcRenderer.send('send-notification', {"title": "BTC wallet address copied", "message": "BTC wallet address copied to clipboard."}) + }) + + // --------------------- DASHBOARD TAB WIDGET -------------------------------- + let widget_area = document.getElementById('widget-coin-area') + let pool_select_area = document.getElementById('pool-select-area') + let select_widget_coin = document.getElementById('widget-coin') + let select_widget_coin_metric = document.getElementById('widget-hash-metric') + + let widget_coins = {'ETH': 'Ethash', 'FIRO': 'FiroPoW', 'BTC': 'SHA-256', 'AE': 'CuckooCycle', + 'BEAM': 'BeamHashIII', 'LTZ': 'Zhash', 'ETC': 'Etchash', 'FLUX': 'Equihash(125,4)', + 'RVN': 'KAWPOW', 'LTC': 'Scrypt','BELL': 'YesPoWer','KDA': 'Blake (2s-Kadena)', + 'SERO': 'ProgPowSERO', 'VEIL': 'SHA-256', 'DOGE': 'Scrypt'} + let metric = select_widget_coin_metric.value; + + for (const [coin_name, algorithm] of Object.entries(widget_coins)) { + let option = '' + select_widget_coin.innerHTML += option; + } + + function changeWidgetCoin() { + let coin = select_widget_coin.value + console.log(coin) + let d = ''+ coin +' mining calculator' + document.getElementById('widget-coins').src = "data:text/html;charset=utf-8," + escape(d); + + } + + changeWidgetCoin() + + select_widget_coin.addEventListener('change', changeWidgetCoin) + + select_widget_coin_metric.addEventListener('change', ()=>{ + metric = select_widget_coin_metric.value + changeWidgetCoin() + }) + + // ------------------ DASHBOARD POOL STATUS ---------------------------------- + let webview_dashboard = document.getElementById('pool-dashboard') + + let btn_minerpool = document.getElementById('pool-minerpool') + let btn_2miner = document.getElementById('pool-2miners') + let btn_switch = document.getElementById('btn-switch') + + function showWebviewDashboard(show=true) { + if (show) { + widget_area.style.opacity = '0%' + pool_select_area.style.opacity = '0%' + webview_dashboard.parentElement.style.zIndex = '5' + webview_dashboard.parentElement.style.opacity = '100%' + }else{ + widget_area.style.opacity = '100%' + pool_select_area.style.opacity = '100%' + webview_dashboard.parentElement.style.zIndex = '-1' + webview_dashboard.parentElement.style.opacity = '0%' + } + } + + function loadPoolDashboard(poolname) { + let webviews = document.getElementById('pool-dashboard') + + if (!mining_status) { + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Not In Mining', 'message': 'Click on the relavent miner pool after starting to mine for first time.'}) + return + } + + let url = '' + let coin = '' + + if (poolname == 'minerpool') { + if (current_mining_settings['coin'].toLowerCase() == 'flux') { + coin = 'flux' + }else if (current_mining_settings['coin'].toLowerCase() == 'rvn') { + coin = 'rvn' + }else if (current_mining_settings['coin'].toLowerCase() == 'zero') { + coin = 'zer' + }else{ + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Not Supported Coin', 'message': 'Coin is not supported by pool.'}) + return + } + url = 'https://'+ coin +'.minerpool.org/workers/' + current_mining_settings['wallet_address'] + + webviews.setAttribute('src', url) + showWebviewDashboard() + }else if (poolname == '2miner') { + console.log('searching 2miners for wallet') + let addr = 'https://2miners.com/search' + // if (!current_mining_settings['wallet_address'].startsWith('0x')) { + // current_mining_settings['wallet_address'] = '0x' + current_mining_settings['wallet_address'] + // } + let p = {'address': current_mining_settings['wallet_address']} + + request.post(addr, {form: p}, (err, res, body)=>{ + if (err) { + // ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Error occured', 'message': 'Error getting data - '}) + return + } + + // console.log(res.statusCode) + // console.log(p) + // console.log(res.statusCode) + // console.log(body) + + if (res.statusCode == 302) { + // console.log(res.headers['location']) + webviews.setAttribute('src', res.headers['location']) + showWebviewDashboard() + }else if (res.statusCode == 404) { + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Error Not Found', 'message': 'No data found.'}) + }else{ + ipcRenderer.send('show-notification', {'type': 'error', 'title': 'Error occured', 'message': 'Your wallet address seems not valid.'}) + } + }) + } + + } + + btn_switch.addEventListener('click', ()=>{showWebviewDashboard(false)}) + btn_2miner.addEventListener('click', ()=>{loadPoolDashboard('2miner')}) + btn_minerpool.addEventListener('click', ()=>{loadPoolDashboard('minerpool')}) + + // ------------------INTERNET CONNECTIVITY ------------------------------------- + setInterval(()=>{ + let internet = document.getElementById('wifi_badge'); + if (navigator.onLine) { + internet.style.color = '#333333'; + }else{ + internet.style.color = 'red'; + } + }, 2000) +}); \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..edd1d96 --- /dev/null +++ b/main.js @@ -0,0 +1,1023 @@ +// main.js + +// Modules to control application life and create native browser window +const { app, BrowserWindow, Notification, dialog } = require('electron') +const path = require('path') +const {download} = require('electron-dl') +const ipc = require('electron').ipcMain; +const extract = require('extract-zip') +const AutoLaunch = require('auto-launch'); +const child = require('child_process'); +const fs = require('fs'); +const { isEmptyOrSpaces, retry } = require('builder-util'); +const request = require('request'); +const { setTimeout } = require('timers'); +const { cwd, pid } = require('process'); +const {machineId, machineIdSync} = require('node-machine-id'); +const axios = require('axios'); +const { url } = require('inspector'); +const { method } = require('requests'); + +var mainWindowId, loadingWindowId = null; +var engine_pid = 0; +let config_file = ''; +var first_run = false; +var mining_coin = ''; +var mining = false, plugin_updating = false, downloading = false; +var active_engine_name, start_time = ''; +var downloading_plugins = []; +var downloading_versions = []; +var run_lock = true; +var mainWindow_tasks = []; +var gpu_details = ['0']; +var profits = []; +var gpu_count = 0; +var deviceId = ''; + +let config_file_path = path.join(app.getPath('userData'), 'config.json'); +try{ + config_file = JSON.parse(fs.readFileSync(config_file_path)); + console.log('Runnig version - ' + config_file['version']) +}catch(err){ + first_run = true; + let content = {"version": "1.0.0", "app_path": __dirname} + fs.writeFileSync(config_file_path, JSON.stringify(content)); + config_file = JSON.parse(fs.readFileSync(config_file_path)); +} + +setInterval(() => { + if (!mining && engine_pid != 0) { + engine_pid = 0; + BrowserWindow.fromId(mainWindowId).webContents.send('miner-stopped'); + } +}, 3000); + +setInterval(() => { + if (mining) { + sendMiningStatus() + } +}, 1000); + +// setInterval(() => { +// if (mining) { +// calculateProfit() +// } +// }, 5000); + +function msToTime(duration) { + var milliseconds = parseInt((duration % 1000) / 100), + seconds = Math.floor((duration / 1000) % 60), + minutes = Math.floor((duration / (1000 * 60)) % 60), + hours = Math.floor((duration / (1000 * 60 * 60)) % 24); + + hours = (hours < 10) ? "0" + hours : hours; + minutes = (minutes < 10) ? "0" + minutes : minutes; + seconds = (seconds < 10) ? "0" + seconds : seconds; + + return hours + ":" + minutes + ":" + seconds; +} + +function autoStart(enable = true){ + var AutoLauncher = new AutoLaunch({ + name: 'minehash' + }); + + if (enable) { + AutoLauncher.enable() + console.log('Program set to run on start.') + }else{ + AutoLauncher.disable() + console.log('Program removed from running at start.') + } +} + +async function pluginFileMissing(engine_name) { + const notification = { + icon:'icon.png', + title: 'Plugin File Missing,', + body: 'A plugin file is missing. This can be because an anti-virus program deleting the file.Plugin will be downloaded again.Try disabling any anit-virus if unabled.', + } + new Notification(notification).show(); + + await downloadEngine(engine_name); +} + +function checkFilePresence(file_path) { + if (fs.existsSync(file_path)) { + return true + } + return false; +} +// ------------------------- MINER PROGRAM --------------------------- +async function AutoMine() { + if (!config_file['auto_mine']) { + return + } + if (plugin_updating || downloading_plugins.length > 0 || run_lock) { + setTimeout(AutoMine, 5000) + console.log('awaiting download finish to run miner') + return + } + // if (config_file['auto_mine']) { + let details = getMinerDetails() + await checkEnginePresence(details['selected']); + if (!isEmptyOrSpaces(details[details['selected']]['selected_coin']) && !isEmptyOrSpaces(details[details['selected']]['pool_address']) && !isEmptyOrSpaces(details[details['selected']]['wallet_address']) && !isEmptyOrSpaces(details[details['selected']]['path'])) { + console.log("Automatically running miner plugin at power on.") + runEngine(details['selected'], details[details['selected']]['selected_coin']) + BrowserWindow.fromId(mainWindowId).webContents.send('run-miner') + } + +} + + +async function downloadEngine(engine_name, download_data=''){ + let download_url, download_path = ''; + + if (engine_name == 'all') { + if (downloading) { + console.log('Download in progress. pending') + setTimeout(()=>{downloadEngine('all')}, 5000) + }else if (downloading_plugins.length > 0) { + console.log('started new download') + downloadEngine(downloading_plugins[0]) + downloading = true; + setTimeout(()=>{downloadEngine('all')}, 5000) + }else{ + plugin_updating = false; + return + } + }else if (download_data == '') { + if (!downloading_plugins.includes(engine_name)) { + downloading_plugins.push(engine_name) + } + downloading = true; + console.log('Plugin download started'); + + let check_update_link = 'https://minerhouse.lk/wp-content/uploads/updates.json'; + let options = {json: true}; + request(check_update_link, options, (error, res, body) => { + try{ + if (!error && res.statusCode == 200) { + downloadEngine(engine_name, body) + } + }catch(err){ + console.error('Download plugin failed.', err.message) + } + }); + }else{ + downloading_versions.push(download_data[engine_name]['version']) + download_url = download_data[engine_name]['download_link']; + + if (engine_name == "nbminer") { + download_path = path.join(app.getPath('userData'), "minehash-downloads"); + }else if (engine_name == 'trex') { + download_path = path.join(app.getPath('userData'), "minehash-downloads/trex"); + }else if (engine_name == 'gminer') { + download_path = path.join(app.getPath('userData'), "minehash-downloads/gminer"); + } + + console.log('File downloading to ' + download_path) + let download_file = ""; + + BrowserWindow.fromId(mainWindowId).webContents.send('engine-download-started'); + + await download(BrowserWindow.fromId(mainWindowId), download_url, + {directory:download_path, overwrite: true, onProgress: (progress) => { + // console.log(progress.percent * 100); + BrowserWindow.fromId(mainWindowId).webContents.send('engine-download-progress', (progress.percent*100).toFixed(1).toString()); + }, + onCompleted: (item) => { + if (downloading_plugins.length > 0) { + downloading_plugins.splice(downloading_plugins.indexOf(engine_name), 1) + } + BrowserWindow.fromId(mainWindowId).webContents.send('engine-download-complete'); + // console.log(item.path); + download_file = item.path; + } + }); + console.log("Plugin finished dowloading"); + + try { + console.log('extract ' + download_file + ' to ' + download_path) + await extract(download_file, { dir: download_path }); + downloading = false; + + console.log('Extraction complete'); + if (engine_name == 'nbminer') { + download_path = path.join(download_path, 'NBMiner_Win'); + } + + const notification = { + icon:'icon.png', + title: 'Plugin Downloaded,', + body: 'Plugin successfully downloaded and installed.', + } + new Notification(notification).show() + + let miner_detail = getMinerDetails(engine_name); + saveMinerDetails(engine_name, miner_detail['pool_address'], miner_detail['wallet_address'], miner_detail['selected_coin'], miner_detail['extra_param'], download_path, downloading_versions[0]); + downloading_versions.splice(0, 1) + } catch (err) { + console.error("Download extract error - " + err); + // handle any errors + } + } +} + +async function checkEnginePresence(engine_name) { + console.log("Looking for the mining program.") + let miner_detail = getMinerDetails(engine_name); + if (miner_detail['path'] == '') { + console.log("Need to download miner program."); + BrowserWindow.fromId(mainWindowId).webContents.send('engine-download-started'); + + let down_status = await downloadEngine(engine_name); + } + +} + +async function runEngine(engine_name, coin_name){ + // engine_name = 'trex'; + // coin_name = 'eth'; + if (run_lock) { + setTimeout(()=>{runEngine(engine_name, coin_name)}, 5000) + return + } + let engine_details = getMinerDetails(engine_name); + + await checkEnginePresence(engine_name); + + engine_details = getMinerDetails(engine_name); + + mining_coin = coin_name.toUpperCase(); + + console.log("Miner process called to run"); + console.log('Plugin - ' + engine_name + ' & coin - ' + coin_name); + + let save_bat = ''; + + if (engine_name == 'nbminer') { + executable_file = 'start_'+ coin_name +'.bat'; + executable_path = path.join(engine_details['path'], executable_file); + + let present = checkFilePresence(executable_path) + if (!present) { + await pluginFileMissing(engine_name); + } + + console.log('Updating file - ' + executable_path) + + try{ + let bat_data = fs.readFileSync(executable_path, 'utf8'); + tmp_bat = bat_data.split('-o '); + save_bat = tmp_bat[0] + '-o ' + engine_details['pool_address'] + ' -u ' + engine_details['wallet_address'] + '.rig_windows --api 127.0.0.1:20001 -log\r\npause'; + }catch(err){ + console.error('Error while editing coin bat file.'+ err.message) + } + }else if (engine_name == 'trex') { + let pool_name = engine_details['pool_address'].split('.')[1]; + executable_file = coin_name + '-' + pool_name + '.bat'; + executable_path = path.join(engine_details['path'], executable_file); + + let present = checkFilePresence(executable_path) + if (!present) { + await pluginFileMissing(engine_name); + } + console.log('Updating file - ' + executable_path) + + try{ + let bat_data = fs.readFileSync(executable_path, 'utf8'); + tmp_bat = bat_data.split('-o '); + save_bat = tmp_bat[0] + '-o ' + engine_details['pool_address'] + ' -u ' + engine_details['wallet_address'] + '.rig_windows --api-bind-http 127.0.0.1:20002 -p x\r\npause'; + }catch(err){ + console.error('Error while editing coin bat file.' + err.message) + } + }else if (engine_name == 'gminer') { + executable_file = 'mine_'+ coin_name +'.bat'; + executable_path = path.join(engine_details['path'], executable_file); + + let present = checkFilePresence(executable_path) + if (!present) { + await pluginFileMissing(engine_name); + } + console.log('Updating file - ' + executable_path) + + try{ + let bat_data = fs.readFileSync(executable_path, 'utf8'); + tmp_bat = bat_data.split('--server '); + // tmp_bat2 = tmp_bat[1].split('.default'); + save_bat = tmp_bat[0] + '--server ' + engine_details['pool_address'] + ' --user ' + engine_details['wallet_address'] + ' --api 20003\r\npause'; + }catch(err){ + console.error('Error while editing coin bat file. - '+ err.message) + } + } + + // make changes in bat file + try{ + // console.log(save_bat) + fs.writeFileSync(executable_path, save_bat, {flag: 'w+'}); + }catch(err){ + console.error(err.message); + } + + console.log('Starting program - ' + executable_file); + // console.log('Starting program - ' + executable_path); + + let engine = child.spawn(executable_path, {detached: true, stdio: 'ignore', cwd: engine_details['path']}); + active_engine_name = engine_name; + engine_pid = engine.pid; + mining = true; + start_time = Date.now() + + let settings = {coin: coin_name, wallet_address: engine_details['wallet_address']} + BrowserWindow.fromId(mainWindowId).webContents.send('current-mining-settings', settings); + + engine.on('error', (err)=>{ + console.error('Error running plugin - ' + err.message); + let present_ = checkFilePresence(executable_path); + if (!present_) { + pluginFileMissing(engine_name); + } + }) + + engine.on('exit', (code) => { + console.log(`Miner program exited with code ${code}`); + mining = false; + }); +} + +function killEngine() { + console.log("process termination called."); + child.exec(`taskkill /f /pid ${engine_pid} /t`); +} + +function killEngine2(pid) { + console.log("Gpu data gather program termination called."); + child.exec('taskkill /f /pid '+ pid +' /t'); +} + +function calculateHashrate(hashrate) { + if (hashrate > 1000000000) { + hashrate = Math.round(hashrate / 1000000000) + ' TH/s' + }else if (hashrate > 1000000) { + hashrate = Math.round(hashrate / 1000000) + ' MH/s' + }else if (hashrate > 1000) { + hashrate = Math.round(hashrate / 1000) + 'KH/s' + }else{ + hashrate = Math.round(hashrate) + ' H/s' + } + return hashrate +} + +async function calculateProfit() { + gpu_details.forEach(gpu => { + if (gpu['hashrate-raw']==0) { + return + } + let url = 'https://www.coincalculators.io/api?hashrate='+gpu['hashrate-raw'] + // console.log(url) + request(url, {json: true}, (error, res, body) => { + try{ + if (error) { + return false; + } + if (!error && res.statusCode == 200) { + // console.log('calculating profit') + + let profit = ''; + let coin_name = mining_coin.toLowerCase(); + // console.log('vvvvvv - '+ body) + + body.forEach(coin_d => { + if (coin_name == coin_d['name'].toLowerCase() || coin_name == coin_d['symbol'].toLowerCase()) { + if (coin_d['revenueInHourUSD'] < 0.001) { + profit = coin_d['revenueInHourUSD'].toFixed(6) + ' $/hour'; + }else{ + profit = coin_d['revenueInHourUSD'].toFixed(3) + ' $/hour'; + } + console.log('profit - '+ profit) + + let x=0; + profits.forEach(item => { + if (item['id'] == gpu['id']) { + profits[x]['profit'] = profit; + } + x +=1; + }); + // profits[gpu['id']] = profit + } + }); + console.log('array = '+ profits) + } + }catch(err){ + console.error('Coin data receival failed.', err.message) + } + }); + }); +} + +async function sendMiningStatus(){ + if (active_engine_name == 'nbminer') { + request('http://127.0.0.1:20001/api/v1/status', {json: true}, (error, res, body) => { + try{ + if (error) { + return + } + let hashrate = calculateHashrate(body['miner']['total_hashrate_raw']); + let power = body['miner']['total_power_consume']; + let uptime = msToTime(Date.now() - start_time); + + let devices = []; + body['miner']['devices'].forEach(gpu => { + let gpu_hashrate = calculateHashrate(gpu['hashrate_raw']); + + devices.push({'id': gpu['id'], 'pcie': gpu['pci_bus_id'], 'name': gpu['info'], 'hashrate-raw': gpu['hashrate_raw'],'hashrate': gpu_hashrate, 'profit/h': '-', 'core-clock': gpu['core_clock'], 'fan': gpu['fan'], 'mem-clock': gpu['mem_clock'], 'power': gpu['power'], 'temperature': gpu['temperature']}) + }) + + gpu_details = devices; + let payload = {'hashrate': hashrate, 'power': power, 'uptime': uptime, 'coin': mining_coin, 'devices': devices} + + BrowserWindow.fromId(mainWindowId).webContents.send('plugin-status', payload) + }catch(err){ + console.error('Error getting plugin status - ' + err.message) + } + }) + }else if (active_engine_name == 'trex'){ + request('http://127.0.0.1:20002/summary', {json: true}, (error, res, body) => { + try{ + if (error) { + return + } + let hashrate = calculateHashrate(body['hashrate']); + let devices = []; + let power = 0; + + body['gpus'].forEach(gpu=>{ + power += gpu['power']; + let gpu_hashrate = calculateHashrate(gpu['hashrate']); + + devices.push({'id': gpu['gpu_id'], 'pcie': gpu['pci_id'], 'name': gpu['name'],'hashrate-raw': gpu['hashrate'], 'hashrate': gpu_hashrate, 'profit/h': '-', 'core-clock': gpu['cclock'], 'fan': gpu['fan_speed'], 'mem-clock': gpu['mclock'], 'power': gpu['power'], 'temperature': gpu['temperature']}) + }) + gpu_details = devices; + + let uptime = msToTime(body['uptime']*1000); + + let payload = {'hashrate': hashrate, 'power': power, 'uptime': uptime, 'coin': mining_coin, 'devices': devices} + + BrowserWindow.fromId(mainWindowId).webContents.send('plugin-status', payload) + }catch(err){ + console.error('Error getting plugin status - ' + err.message) + } + }) + + }else if (active_engine_name == 'gminer') { + request('http://127.0.0.1:20003/api/v1/status', {json: true}, (error, res, body) => { + try{ + if (error) { + return + } + // {"start_time":1646306289,"uptime":32,"extended_share_info":true,"miner": + // {"devices": + // [{"hashrate":16486272,"id":0,"info":"ASUS GeForce GTX 1650 SUPER 4GB","temperature":"51","power":77,"accepted_shares":0,"stale_shares":0,"invalid_shares":0,"rejected_shares":0}], + // "total_hashrate":16486272} + // ,"stratum": + // {"shares_per_minute":0.00,"server":"asia-eth.2miners.com:2020","user": "0xbe6a88119d93e9947159f81f242727d2e4cc098e","accepted_shares":0,"stale_shares":0,"invalid_shares":0,"rejected_shares":0}} + + let hashrate = calculateHashrate(body['miner']['devices']['total_hashrate']); + let devices = []; + let power = 0; + + body['miner']['devices'].forEach(gpu=>{ + power += gpu['power']; + let gpu_hashrate = calculateHashrate(gpu['hashrate']); + + devices.push({'id': gpu['id'], 'pcie': gpu['id'], 'name': gpu['info'], 'core-clock': 'NO DATA', 'hashrate-raw': gpu['hashrate'], 'hashrate': gpu_hashrate, 'profit/h': '-', 'fan': 'NO DATA', 'mem-clock': 'NO DATA', 'power': gpu['power'], 'temperature': gpu['temperature']}) + }) + + let uptime = msToTime(body['uptime']*1000); + + let payload = {'hashrate': hashrate, 'power': power, 'uptime': uptime, 'coin': mining_coin, 'devices': devices} + + BrowserWindow.fromId(mainWindowId).webContents.send('plugin-status', payload) + }catch(err){ + console.error('Error getting plugin status - ' + err.message) + } + }) + } +} + +// ----------------------------- SETTINGS ---------------------------- +function getMinerDetails(engine="") { + try{ + let data = fs.readFileSync(path.join(app.getPath('userData'),'engines.json'), 'utf8'); + data = JSON.parse(data); + + if (!isEmptyOrSpaces(engine)) { + data = data[engine]; + } + return data; + }catch(err){ + data = {'nbminer': {'pool_address':'', 'wallet_address':'', 'extra_param':'', 'supported_coins': ['ae', 'beam', 'conflux', 'ergo', 'etc', 'eth_overclock', 'eth', 'rvn'], 'selected_coin': 'no_coin_selected', 'path':'', 'version': ''}, + 'trex': {'pool_address':'', 'wallet_address':'', 'extra_param':'', 'supported_coins': ['ERGO', 'ETC', 'ETH', 'FIRO', 'RVN', 'SERO', 'VBK', 'VEIL', 'ZANO'], 'selected_coin': 'no_coin_selected', 'path':'', 'version': ''}, + 'gminer': {'pool_address':'', 'wallet_address':'', 'extra_param':'', 'supported_coins': ['aeternity', 'aion', 'beam', 'btg', 'cortex', 'etc', 'eth', 'ravencoin', 'zelcash'], 'selected_coin': 'no_coin_selected', 'path':'', 'version': ''}, 'selected': 'nbminer'}; + + let wdata = JSON.stringify(data); + try{ + fs.writeFileSync(path.join(app.getPath('userData'),'engines.json'), wdata, {flag: 'w+'}); + }catch(err){ + console.error(err); + } + // console.error(err) + return data; + } +} + +function saveMinerDetails(engine, pool_address, wallet_address, coin, extra_param, engine_path='', engine_version='' ) { + // console.log(engine + ' ' + algorithm + ' ' + server + ' ' +pool_address+ ' ' +wallet_address ) + let data = getMinerDetails() + + data[engine]['pool_address'] = pool_address; + data[engine]['wallet_address'] = wallet_address; + data[engine]['selected_coin'] = coin; + data[engine]['extra_param'] = extra_param; + data['selected'] = engine; + + if (!isEmptyOrSpaces(engine_path)) { + data[engine]['path'] = engine_path; + } + if (!isEmptyOrSpaces(engine_version)) { + data[engine]['version'] = engine_version; + } + + let wdata = JSON.stringify(data); + try{ + console.log('Plugin details save to '+path.join(app.getPath('userData'),'engines.json')) + fs.writeFileSync(path.join(app.getPath('userData'),'engines.json'), wdata, {flag: 'w+'}); + }catch(err){ + console.error(err); + } +} + +function saveAppDetails(auto_update, auto_run, gpu_check, auto_mine, resolve_internet, resolve_common_err){ + try{ + if (auto_run) { + autoStart() + }else{ + autoStart(false); + } + + config_file['auto_update'] = auto_update; + config_file['auto_run'] = auto_run; + config_file['gpu_check'] = gpu_check; + config_file['auto_mine'] = auto_mine; + config_file['resolve_internet'] = resolve_internet; + config_file['resolve_common_err'] = resolve_common_err; + + fs.writeFileSync(config_file_path, JSON.stringify(config_file)); + }catch(err){ + console.error('Error saving app config settings') + } + +} + +function getGpuDetails(){ + BrowserWindow.fromId(loadingWindowId).webContents.send("checking-gpu-data") + + console.log('Gathering gpu devices') + + if (downloading_plugins.length > 0) { + mainWindow_tasks.push('reload-app-after-download') + BrowserWindow.fromId(loadingWindowId).webContents.send('close-loading') + return + } + if (plugin_updating) { + console.log('waiting to get gpu data') + setTimeout(getGpuDetails, 5000) + return + } + let nb_details = getMinerDetails('nbminer'); + + if (nb_details['path'] == "") { + return + } + + let gpu_detection_content = '@cd /d "%~dp0"\r\nnbminer -a etchash -o asia-eth.2miners.com:2020 -u 0xbe6a88119d93e9947159f81f242727d2e4cc098e.default --api 127.0.0.1:20005\r\npause'; + fs.writeFileSync(path.join(nb_details['path'], 'gpu_detection.bat'), gpu_detection_content); + + let nb_pid = 0; + try{ + let nb = child.spawn(path.join(nb_details['path'], 'gpu_detection.bat'), {stdio: 'ignore', cwd: nb_details['path']}) + nb_pid = nb.pid; + + nb.on('close', (code)=>{ + console.log('gpu program close with code ' + code); + run_lock = false; + }) + + nb.on('spawn', ()=>{ + getdata() + }) + }catch(err){ + BrowserWindow.fromId(loadingWindowId).webContents.send('close-loading') + } + + + function getdata() { + request('http://127.0.0.1:20005/api/v1/status', {json: true}, (error, res, body) => { + try{ + if (error) { + // console.error('error getting gpu - ' + error.message) + setTimeout(getdata, 3000) + return + } + let devices = []; + + body['miner']['devices'].forEach(gpu => { + gpu_count += 1; + let gpu_hashrate = calculateHashrate(gpu['hashrate_raw']); + + devices.push({'id': gpu['id'], 'pcie': gpu['pci_bus_id'], 'name': gpu['info'], 'hashrate': gpu_hashrate, 'profit/h': '- $/hour', 'core-clock': gpu['core_clock'], 'fan': gpu['fan'], 'mem-clock': gpu['mem_clock'], 'power': gpu['power'], 'temperature': gpu['temperature']}) + }) + console.log('gpu count - ' + gpu_count) + gpu_details = {'hashrate': '0 MH/s', 'power': '0', 'uptime': '00:00:00', 'devices': devices} + + mainWindow_tasks.push('send-gpu-data') + killEngine2(nb_pid) + BrowserWindow.fromId(loadingWindowId).webContents.send('close-loading') + }catch(err){ + console.error('Error getting gpu details - ' + err.message) + } + }) + } + + + // temporaly fix + // run_lock = false; +} + +// ------------------------------ UPDATE ----------------------------------- +function checkPluginUpdates() { + BrowserWindow.fromId(loadingWindowId).webContents.send("checking-for-plugin-updates") + + plugin_updating = true; + let engines = ['nbminer', 'trex', 'gminer'] + let details = getMinerDetails(); + + let check_update_link = 'https://minerhouse.lk/wp-content/uploads/updates.json'; + let options = {json: true}; + try{ + request(check_update_link, options, (error, res, body) => { + if (!error && res.statusCode == 200) { + for (let i = 0; i < 3; i++) { + if (details[engines[i]]['version'] != body[engines[i]]['version']) { + downloading_plugins.push(engines[i]) + } + } + if (downloading_plugins.length != 0) { + mainWindow_tasks.push('download-plugins') + }else{ + plugin_updating = false; + } + }else{ + return + } + }); + }catch(err){ + console.error('Download plugin failed.', err.message) + } +} + +function check_updates(do_download=false){ + if (!config_file['auto_update']) { + return + } + if (!do_download) { + BrowserWindow.fromId(loadingWindowId).webContents.send("checking-for-app-updates") + console.log("Checking for updates") + } + let check_update_link = 'https://minerhouse.lk/wp-content/uploads/updates.json'; + let options = {json: true}; + try{ + request(check_update_link, options, (error, res, body) => { + if (error) { + return + }; + + if (!error && res.statusCode == 200) { + let version = body['version']; + let download_url = body['download_link']; + let download_path = app.getPath('downloads'); + + if (version != config_file['version']) { + if (do_download) { + console.log("Downloading updates") + + download(BrowserWindow.fromId(mainWindowId), download_url, + {directory:download_path ,onProgress: (progress) => { + // console.log(progress.percent * 100); + BrowserWindow.fromId(mainWindowId).webContents.send('engine-download-progress', (progress.percent*100).toFixed(1).toString()); + }, + onCompleted: (item) => { + BrowserWindow.fromId(mainWindowId).webContents.send('update-download-complete', item.path); + const notification = { + icon:'icon.png', + title: 'Update Downloaded.', + body: 'You need to manually run and install the setup located at ' + item.path + } + new Notification(notification).show() + } + }); + }else{ + BrowserWindow.fromId(loadingWindowId).webContents.send("updates-available") + mainWindow_tasks.push('app-updates-available') + } + } + } + }); + }catch(err){ + console.error('Check for update failed', err.message) + } +} + +// --------------------- USER EXPERIENCE DATA COLLECTING -------------------- +machineId().then((id) => { + deviceId = id; +}) + +function sendCustomerData(){ + let msg = {"deviceId": deviceId, "user_data": gpu_details}; + // msg = json.stringify(msg) + + console.log(deviceId) + console.log(gpu_details.toString()) + + axios({ + method: 'post', + url: 'https://minerhouse.lk/wp-json/contact-form-7/v1/contact-forms/1565/feedback', + data: { + user_data: gpu_details.toString(), + deviceId: deviceId + }, + headers: { + "Content-Type": "multipart/form-data", + } + }) + .then(res => { + console.log(`statusCode: ${res.status}`); + console.log(res['data']); + }) + .catch(error => { + console.error('Data send err - '+error); + }); +} + +// -------------------------------------------------------------------- +function createConfigurationWindow(ownerWindow){ + const configuration_window = new BrowserWindow({ + width: 450, + height: 400, + parent: ownerWindow, + modal: true, + width: 500, + height: 450, + resizable: false, + // minimizable: false, + frame: false, + show: false, + + // webPreferences: { + // preload: path.join(__dirname, 'loading.js') + // } + }) + + configuration_window.loadFile('pop-up-configuration.html') + configuration_window.setMenu(null) + configuration_window.show() + + //configuration_window.webContents.openDevTools() +} +// -------------------------------------------------------------- +function mainWindowOnStartTasks() { + if (mainWindow_tasks.includes('app-updates-available')) { + BrowserWindow.fromId(mainWindowId).webContents.send("updates-available") + } + if (mainWindow_tasks.includes('download-plugins')) { + downloadEngine('all') + }else if (mainWindow_tasks.includes('send-gpu-data')) { + BrowserWindow.fromId(mainWindowId).webContents.send('plugin-status', gpu_details) + BrowserWindow.fromId(mainWindowId).webContents.send('gpu-count', gpu_count) + sendCustomerData() + }else{ + sendCustomerData() + } + + if (mainWindow_tasks.includes('reload-app-after-download')) { + function reloadAPP() { + if (!plugin_updating) { + app.relaunch() + app.quit() + return + }else{ + setTimeout(reloadAPP, 8000) + } + } + reloadAPP() + } + + function readyToMine() { + if (!run_lock) { + BrowserWindow.fromId(mainWindowId).webContents.send('ready-to-mine') + return + }else{ + setTimeout(readyToMine, 5000) + } + } + + readyToMine() +} + +function createWindow () { + const loadingWindow = new BrowserWindow({ + width: 250, + height: 200, + resizable: false, + minimizable: false, + frame: false, + show: false, + icon: 'icon.png', + + webPreferences: { + preload: path.join(__dirname, 'loading.js') + } + }) + + + loadingWindow.loadFile( path.join(__dirname, 'loading-window.html')); + loadingWindow.setMenu(null); + + + loadingWindow.once('ready-to-show', () => { + loadingWindow.show(); + loadingWindowId = loadingWindow.id; + + // loading functions + check_updates() + checkPluginUpdates() + setTimeout(getGpuDetails, 3000) + }); + + loadingWindow.on("close", function(){ + // Create the browser window. + const mainWindow = new BrowserWindow({ + width: 600, + height: 450, + resizable: false, + show: false, + icon: 'icon.png', + alwaysOnTop:true, + + webPreferences: { + webviewTag: true, + preload: path.join(__dirname, 'main-preload.js') + } + }) + + mainWindowId = mainWindow.id; + // and load the index.html of the app. + mainWindow.loadFile(path.join(__dirname, 'index.html')) + mainWindow.setMenu(null) + + mainWindow.once('ready-to-show', () => { + mainWindow.show(); + mainWindowOnStartTasks() + AutoMine() + // if (first_run) { + // createConfigurationWindow(BrowserWindow.fromId(mainWindowId)) + // } + }); + + mainWindow.webContents.openDevTools() + return mainWindow + }) + + // Open the DevTools. + // loadingWindow.webContents.openDevTools() +} + + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.whenReady().then(() => { + createWindow() + + app.on('activate', function () { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (BrowserWindow.getAllWindows().length === 0){ + createWindow() + } + }) +}) + +if (process.platform === 'win32') +{ + app.setAppUserModelId(app.name) +} + +// Quit when all windows are closed, except on macOS. There, it's common +// for applications and their menu bar to stay active until the user quits +// explicitly with Cmd + Q. +app.on('window-all-closed', function () { + if (process.platform !== 'darwin') app.quit() +}) + +// In this file you can include the rest of your app's specific main process +// code. You can also put them in separate files and require them here. + +// ------------- CUSTOM METHODS --------------- + +app.on("close-loading-window", function () { + BrowserWindow.loadingWindow.close() +}) + +ipc.on('setAutoStart', function(event, data){ + autoStart() + event.sender.send('autoStartReply', 'done'); +}); + +ipc.on("downloadEngine", (event, engine_name) => { + downloadEngine(engine_name); +}) + + +ipc.on('run-mining-engine', (event,args)=>{ + runEngine(args['plugin'], args['coin']) +}); + +ipc.on('kill-mining-engine', killEngine); + +ipc.on('reset-engine-config', (event, args)=>{ + saveMinerDetails(args['engine'], '', '', 'no_coin_selected', ''); + let config_data = getMinerDetails(); + event.sender.send('engine-config', config_data); +}) + +ipc.on('save-engine-config', function(event, args){ + saveMinerDetails(args['engine'], args['pool_address'], args['wallet_address'], args['coin'], args['extra_param']) + let config_data = getMinerDetails(); + event.sender.send('engine-config', config_data); +}); + +ipc.on('get-engine-config', (event, args)=>{ + let config_data = getMinerDetails(); + event.sender.send('engine-config', config_data); +}); + +ipc.on("save-app-config", (event, args)=>{ + saveAppDetails(args['check_auto_update'], args['check_auto_run'], args['check_gpu_check'], args['check_auto_mine'], args['check_resolve_internet'], args['check_fix_common_err']) + event.sender.send("app-config", config_file); +}) + +ipc.on('get-app-config', (event, args)=>{ + event.sender.send('app-config', config_file); +}); + +ipc.on('get-gpu-count', (event) => { + app.getGPUInfo('complete').then(info => { + // console.log(info['gpuDevice']); + + // let count = 0; + + + // // event.sender.send('gpu-count', count) + // console.log('GPU count - ' + count) + }) +}) + + +ipc.on('show-notification', (event, args)=>{ + let mainWindow = BrowserWindow.fromId(mainWindowId); + + if (args['type'] == 'error') { + dialog.showMessageBox(mainWindow, {'type': 'error', 'title': args['title'], 'message': args['message']}); + }else if (args['type'] == 'info') { + dialog.showMessageBox(mainWindow, {'type': 'info', 'title': args['title'], 'message': args['message']}); + } +}) + +ipc.on("check-for-updates", check_updates); + +ipc.on("download-updates", ()=>{check_updates(true)}); + + +ipc.on("showConfigurationWindow", createConfigurationWindow); + +ipc.on('send-notification', (event, args)=>{ + const notification = { + icon:'icon.png', + title: args['title'], + body: args['message'], + } + new Notification(notification).show() +}) \ No newline at end of file diff --git a/minerpool.jpg b/minerpool.jpg new file mode 100644 index 0000000..344f910 Binary files /dev/null and b/minerpool.jpg differ diff --git a/nicehash.png b/nicehash.png new file mode 100644 index 0000000..c03b9b0 Binary files /dev/null and b/nicehash.png differ diff --git a/package-lock.json b/package-lock.json index e8e7117..749698d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,13 @@ { - "name": "minerapp", - "version": "1.0.0", + "name": "Minehash", + "version": "1.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { "7zip-bin": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", - "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", - "dev": true + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==" }, "@develar/schema-utils": { "version": "2.6.5", @@ -802,7 +801,6 @@ "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "dev": true, "requires": { "@types/ms": "*" } @@ -811,7 +809,6 @@ "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, "requires": { "@types/node": "*" } @@ -852,14 +849,12 @@ "@types/ms": { "version": "0.7.31", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "@types/node": { "version": "14.18.9", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz", - "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==", - "dev": true + "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==" }, "@types/plist": { "version": "3.0.2", @@ -916,7 +911,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, "optional": true, "requires": { "@types/node": "*" @@ -932,7 +926,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" } @@ -962,7 +955,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1012,21 +1004,19 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } }, "app-builder-bin": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", - "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.1.0.tgz", + "integrity": "sha512-rbdMe0sIVE95cpYqMQh4IFqhTDdB8LkKlTRcbO/Y3QleRYoIePejIbX774IYomYYzZbJfJuX7pLRiGvSdIxIYA==" }, "app-builder-lib": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.5.tgz", - "integrity": "sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.13.tgz", + "integrity": "sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==", "dev": true, "requires": { "7zip-bin": "~5.1.1", @@ -1035,13 +1025,13 @@ "@malept/flatpak-bundler": "^0.4.0", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chromium-pickle-js": "^0.2.0", "debug": "^4.3.2", "ejs": "^3.1.6", "electron-osx-sign": "^0.5.0", - "electron-publish": "22.14.5", + "electron-publish": "22.14.13", "form-data": "^4.0.0", "fs-extra": "^10.0.0", "hosted-git-info": "^4.0.2", @@ -1056,6 +1046,43 @@ "temp-file": "^3.4.0" }, "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "builder-util": { + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", + "dev": true, + "requires": { + "7zip-bin": "~5.1.1", + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.2", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, "form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -1087,6 +1114,17 @@ "lru-cache": "^6.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "isbinaryfile": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", @@ -1157,14 +1195,12 @@ "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true + "arrify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", + "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==" }, "asar": { "version": "3.1.0", @@ -1191,7 +1227,6 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -1199,26 +1234,30 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "optional": true }, "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "async-exit-hook": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "at-least-node": { "version": "1.0.0", @@ -1247,14 +1286,38 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "axo": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/axo/-/axo-0.0.2.tgz", + "integrity": "sha1-STVfu+qzhEm8ppahqsxGml7p/Uc=" }, "balanced-match": { "version": "1.0.2", @@ -1272,7 +1335,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -1304,14 +1366,12 @@ "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bluebird-lst": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, "requires": { "bluebird": "^3.5.5" } @@ -1401,8 +1461,7 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" }, "buffer-equal": { "version": "1.0.0", @@ -1419,25 +1478,25 @@ "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "builder-util": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.5.tgz", - "integrity": "sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==", - "dev": true, + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.0.0.tgz", + "integrity": "sha512-OkRo/W19it+9ulWoqVKIWmfTS1i6J6vaWIB4j33u5+vNbhyRP7PkBMzB878gBDGyuBwjT/Oq4bh8DzrrB374IA==", "requires": { "7zip-bin": "~5.1.1", "@types/debug": "^4.1.6", "@types/fs-extra": "^9.0.11", - "app-builder-bin": "3.7.1", + "app-builder-bin": "4.1.0", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.9.1", + "builder-util-runtime": "9.0.0", "chalk": "^4.1.1", "cross-spawn": "^7.0.3", "debug": "^4.3.2", "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "source-map-support": "^0.5.19", @@ -1445,22 +1504,44 @@ "temp-file": "^3.4.0" }, "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "builder-util-runtime": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz", + "integrity": "sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA==", + "requires": { + "debug": "^4.3.2", + "sax": "^1.2.4" + } + }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -1469,15 +1550,14 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" } } }, "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", + "version": "8.9.2", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz", + "integrity": "sha512-rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==", "dev": true, "requires": { "debug": "^4.3.2", @@ -1556,33 +1636,15 @@ } } }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1609,8 +1671,7 @@ "ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" }, "clean-stack": { "version": "2.2.0", @@ -1639,6 +1700,17 @@ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "optional": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, "cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", @@ -1681,7 +1753,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -1689,8 +1760,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-support": { "version": "1.1.3", @@ -1708,7 +1778,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -1794,7 +1863,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1829,20 +1897,10 @@ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -1851,17 +1909,10 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", @@ -1911,8 +1962,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", @@ -1963,20 +2013,57 @@ } }, "dmg-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.5.tgz", - "integrity": "sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.13.tgz", + "integrity": "sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==", "dev": true, "requires": { - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "dmg-license": "^1.0.9", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" }, "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "builder-util": { + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", + "dev": true, + "requires": { + "7zip-bin": "~5.1.1", + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.2", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", @@ -1988,6 +2075,17 @@ "universalify": "^2.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2044,6 +2142,11 @@ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", "dev": true }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -2054,44 +2157,72 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz", + "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==", "dev": true, "requires": { - "jake": "^10.6.1" + "jake": "^10.8.5" } }, "electron": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.8.tgz", - "integrity": "sha512-znTVkl8LaGcPNdfc6SRr+6LYg2GtSCKXln/nW/PC+urBfAFnOYIuDock8QyGVFfzr5PuAa+g8YQQAboHV77D7g==", + "version": "16.0.10", + "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.10.tgz", + "integrity": "sha512-QSxkVpvSpLzhSVlPRVOoJc/O/ZsbZm64qvSJeXsYfaH4rQjqBJwAFPuHhbhxzrBDWjH6FrBiNNzWZufSoTz1QQ==", "dev": true, "requires": { "@electron/get": "^1.13.0", "@types/node": "^14.6.2", "extract-zip": "^1.0.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "electron-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.5.tgz", - "integrity": "sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.13.tgz", + "integrity": "sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==", "dev": true, "requires": { "@types/yargs": "^17.0.1", - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", - "dmg-builder": "22.14.5", + "dmg-builder": "22.14.13", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", @@ -2100,6 +2231,43 @@ "yargs": "^17.0.1" }, "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "builder-util": { + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", + "dev": true, + "requires": { + "7zip-bin": "~5.1.1", + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.2", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", @@ -2111,6 +2279,17 @@ "universalify": "^2.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2297,20 +2476,57 @@ } }, "electron-publish": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.5.tgz", - "integrity": "sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.13.tgz", + "integrity": "sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==", "dev": true, "requires": { "@types/fs-extra": "^9.0.11", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" }, "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "builder-util": { + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", + "dev": true, + "requires": { + "7zip-bin": "~5.1.1", + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.2", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", @@ -2322,6 +2538,17 @@ "universalify": "^2.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2548,7 +2775,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -2599,6 +2825,25 @@ "dev": true, "optional": true }, + "event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "requires": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -2694,8 +2939,12 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extendible": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/extendible/-/extendible-0.1.1.tgz", + "integrity": "sha1-4qN+2HEp+0+VM+io11BiMKU5yQU=" }, "external-editor": { "version": "3.1.0", @@ -2720,45 +2969,40 @@ } }, "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "requires": { - "ms": "2.0.0" + "pump": "^3.0.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "failure": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/failure/-/failure-1.1.1.tgz", + "integrity": "sha1-qOg9OxYC0kaL/2rU2QceAQO4Goc=" }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.11", @@ -2776,8 +3020,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fastq": { "version": "1.13.0", @@ -2792,7 +3035,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, "requires": { "pend": "~1.2.0" } @@ -2815,12 +3057,32 @@ } }, "filelist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", - "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", + "integrity": "sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==", "dev": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "filename-reserved-regex": { @@ -2911,23 +3173,31 @@ } } }, + "follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -3054,12 +3324,6 @@ } } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -3073,7 +3337,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -3225,8 +3488,7 @@ "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "graceful-readlink": { "version": "1.0.1", @@ -3234,17 +3496,20 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, + "hang": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hang/-/hang-1.0.0.tgz", + "integrity": "sha1-ZwUIeYRENeAq4ECcT0VTxkOOHXE=" + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -3262,8 +3527,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-unicode": { "version": "2.0.1", @@ -3313,7 +3577,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -3334,12 +3597,16 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" } }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -3354,7 +3621,20 @@ "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", "dev": true, - "optional": true + "optional": true, + "requires": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "dependencies": { + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "optional": true + } + } }, "iconv-lite": { "version": "0.6.3", @@ -3455,7 +3735,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, "requires": { "ci-info": "^3.2.0" } @@ -3481,12 +3760,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -3562,8 +3835,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unicode-supported": { "version": "0.1.0", @@ -3571,12 +3843,6 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -3616,90 +3882,29 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", "dev": true, "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", + "async": "^3.2.3", + "chalk": "^4.0.2", "filelist": "^1.0.1", "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "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=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "requires": { "argparse": "^2.0.1" } @@ -3707,8 +3912,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "json-buffer": { "version": "3.0.0", @@ -3719,20 +3923,17 @@ "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { "version": "2.2.0", @@ -3756,7 +3957,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -3814,6 +4014,17 @@ } } }, + "loads": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/loads/-/loads-0.0.4.tgz", + "integrity": "sha1-l/MBY5fnDd/0gLgexjjO6iKgqZw=", + "requires": { + "failure": "1.1.x", + "one-time": "0.0.x", + "xhr-response": "1.0.x", + "xhr-status": "1.0.x" + } + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -3835,8 +4046,12 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.get": { "version": "4.4.2", @@ -3854,16 +4069,6 @@ "is-unicode-supported": "^0.1.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -3945,11 +4150,10 @@ "p-defer": "^1.0.0" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" }, "matcher": { "version": "3.0.0", @@ -3972,104 +4176,10 @@ "p-is-promise": "^2.0.0" } }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", @@ -4102,7 +4212,6 @@ "version": "2.1.34", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, "requires": { "mime-db": "1.51.0" } @@ -4110,8 +4219,7 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { "version": "1.0.1", @@ -4119,6 +4227,11 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "mingo": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", + "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -4129,9 +4242,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "minipass": { "version": "3.1.6", @@ -4216,8 +4329,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { "version": "0.0.8", @@ -4327,6 +4439,16 @@ "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", "dev": true }, + "node-http-xhr": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/node-http-xhr/-/node-http-xhr-1.3.4.tgz", + "integrity": "sha512-0bA08/2RKWxw6pMkOVd3KP+0F5+ifQLMMTDxrCgxlgkoU1N8DhCbCSAYEqpgaVYM2smvbVVewiXjW+8AyoLfxQ==" + }, + "node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + }, "nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -4403,14 +4525,14 @@ } }, "nugget": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", - "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.2.tgz", + "integrity": "sha512-A8A8+PtlH937KWXJnfct6ubGPfgHOe3lwFkkmrT5xW8+aRBnDWqSiW5NRuiVuh/k/auLGsZdu+WrIU2epL/FHg==", "dev": true, "requires": { "debug": "^2.1.3", "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", + "pretty-bytes": "^4.0.2", "progress-stream": "^1.1.0", "request": "^2.45.0", "single-line-log": "^1.1.2", @@ -4443,14 +4565,7 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-keys": { "version": "1.1.1", @@ -4463,16 +4578,19 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -4623,8 +4741,7 @@ "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", @@ -4649,17 +4766,23 @@ } } }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { "version": "2.3.1", @@ -4674,21 +4797,6 @@ "dev": true, "optional": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -4744,9 +4852,9 @@ } }, "plist": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", - "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", "dev": true, "requires": { "base64-js": "^1.5.1", @@ -4760,14 +4868,10 @@ "dev": true }, "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - } + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true }, "pretty-ms": { "version": "7.0.1", @@ -4826,14 +4930,12 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -4842,8 +4944,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "pupa": { "version": "2.1.1", @@ -4856,8 +4957,7 @@ "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "queue-microtask": { "version": "1.2.3", @@ -4952,27 +5052,6 @@ "util-deprecate": "~1.0.1" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "dependencies": { - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - } - } - }, "registry-auth-token": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", @@ -4991,20 +5070,10 @@ "rc": "^1.2.8" } }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -5028,6 +5097,20 @@ "uuid": "^3.3.2" } }, + "requests": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/requests/-/requests-0.3.0.tgz", + "integrity": "sha512-1B6nkiHjC1O1cSgFhEwkc+xd8vuj04h7xSmCg5yI8nmhCIKbPkX47od8erQ2pokBt5qxUO7dwP4jplXD6k6ISA==", + "requires": { + "axo": "0.0.x", + "eventemitter3": "~4.0.0", + "extendible": "0.1.x", + "hang": "1.0.x", + "loads": "0.0.x", + "node-http-xhr": "~1.3.0", + "xhr-send": "1.0.x" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5152,14 +5235,12 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sanitize-filename": { "version": "1.6.3", @@ -5170,11 +5251,31 @@ "truncate-utf8-bytes": "^1.0.0" } }, + "save": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/save/-/save-2.4.0.tgz", + "integrity": "sha512-wd5L2uVnsKYkIUaK6i8Ie66IOHaI328gMF0MPuTJtYOjXgUolC33LSIk7Qr8WVA55QHaGwfiVS8a7EFIeGOR3w==", + "requires": { + "async": "^2.6.2", + "event-stream": "^4.0.1", + "lodash.assign": "^4.2.0", + "mingo": "1" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "6.3.0", @@ -5218,7 +5319,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -5226,14 +5326,12 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, "single-line-log": { "version": "1.1.2", @@ -5281,6 +5379,18 @@ } } }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -5327,14 +5437,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -5378,6 +5486,14 @@ "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", "dev": true }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -5389,7 +5505,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -5414,8 +5529,16 @@ "stat-mode": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==" + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } }, "string-width": { "version": "4.2.3", @@ -5458,14 +5581,10 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "strip-json-comments": { "version": "2.0.1", @@ -5509,7 +5628,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -5542,11 +5660,55 @@ } } }, + "taskkill": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/taskkill/-/taskkill-4.0.0.tgz", + "integrity": "sha512-h+BGQ8ExIUZ81h4iHRvatZY5eeBBl2WZk31MmMdFG9LBTc5eCH5u/bzZ7phaPH3bsiB7WhM7YTkOyB2dyFQfXg==", + "requires": { + "arrify": "^3.0.0", + "execa": "^5.1.1" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } + } + }, "temp-file": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, "requires": { "async-exit-hook": "^2.0.1", "fs-extra": "^10.0.0" @@ -5556,7 +5718,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -5567,7 +5728,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -5576,8 +5736,7 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" } } }, @@ -5590,8 +5749,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "0.2.3", @@ -5677,7 +5835,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -5689,12 +5846,6 @@ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", "dev": true }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -5738,7 +5889,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -5746,8 +5896,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-fest": { "version": "0.13.1", @@ -5870,7 +6019,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -5909,8 +6057,7 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -5926,7 +6073,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -5936,8 +6082,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" } } }, @@ -5970,7 +6115,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -6012,8 +6156,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "3.0.3", @@ -6033,6 +6176,21 @@ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, + "xhr-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xhr-response/-/xhr-response-1.0.1.tgz", + "integrity": "sha1-r/46CFRLpyGG5NxSzQImZx2Gc/4=" + }, + "xhr-send": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/xhr-send/-/xhr-send-1.0.0.tgz", + "integrity": "sha1-GkDHPl2yAo7gj+kPXD1tx/eWqFQ=" + }, + "xhr-status": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xhr-status/-/xhr-status-1.0.1.tgz", + "integrity": "sha512-VF0WSqtmkf56OmF26LCWsWvRb1a+WYGdHDoQnPPCVUQTM8CVUAOBcUDsm7nP7SQcgEEdrvF4DmhEADuXdGieyw==" + }, "xmlbuilder": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", @@ -6162,7 +6320,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" diff --git a/package.json b/package.json index 5d2b379..f8291d4 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,18 @@ { - "name": "minerapp", - "version": "1.0.0", - "description": "electron app", + "name": "Minehash", + "version": "1.5.0", + "description": "App for running all your mining plugins at one place.", "main": "main.js", + "icon": "icon.png", "scripts": { - "start": "electron ." + "start": "electron .", + "dist": "electron-builder" }, "repository": { "type": "git", "url": "git+https://github.com/specfor/minerAPP.git" }, - "author": "", + "author": "minerhouse.lk", "license": "ISC", "bugs": { "url": "https://github.com/specfor/minerAPP/issues" @@ -18,19 +20,33 @@ "homepage": "https://github.com/specfor/minerAPP#readme", "devDependencies": { "@electron-forge/cli": "^6.0.0-beta.63", - "electron": "^16.0.8", - "electron-builder": "^22.14.5" + "electron": "^16.0.10", + "electron-builder": "^22.14.13" }, "dependencies": { "auto-launch": "^5.0.5", - "electron-dl": "^3.3.0" + "axios": "^0.27.2", + "builder-util": "^23.0.0", + "electron-dl": "^3.3.0", + "extract-zip": "^2.0.1", + "node-machine-id": "^1.1.12", + "request": "^2.88.2", + "requests": "^0.3.0", + "save": "^2.4.0", + "taskkill": "^4.0.0" }, - "build":{ - "appId": "com.minerapp.app", - "productName": "MINER APP", - "directory":{ + "build": { + "appId": "com.minehash.app", + "productName": "MINE HASH", + "target": "NSIS", + "directories": { "output": "build" + }, + "nsis": { + "allowToChangeInstallationDirectory": true, + "oneClick": false, + "license": "license.txt", + "deleteAppDataOnUninstall": true } } - } diff --git a/pop-up-configuration.html b/pop-up-configuration.html index 0c6e500..ca5fdc4 100644 --- a/pop-up-configuration.html +++ b/pop-up-configuration.html @@ -10,38 +10,68 @@ +
-
-
-
- - -
-
- - -
- -
- - -
+
+
1
+
2
+
3
+
+
+

Go to Setting Tab

+ +
+
+

fill all feilds and save it

+
-
- +
+

Back to Home Tab and click Mining button

+
- + - + + + + + \ No newline at end of file diff --git a/power-1.png b/power-1.png new file mode 100644 index 0000000..fe9dabe Binary files /dev/null and b/power-1.png differ diff --git a/power.png b/power.png new file mode 100644 index 0000000..bd2bb60 Binary files /dev/null and b/power.png differ diff --git a/processer.png b/processer.png new file mode 100644 index 0000000..72358b1 Binary files /dev/null and b/processer.png differ diff --git a/ram.png b/ram.png new file mode 100644 index 0000000..0abaa65 Binary files /dev/null and b/ram.png differ diff --git a/style.css b/style.css index b6c13d1..ec2caec 100644 --- a/style.css +++ b/style.css @@ -1,3 +1,9 @@ +/* +best color for bg :#3a3a3d + +*/ + + /* 2B2E4A -main E84545 -second @@ -15,853 +21,1723 @@ E84545 -second box-sizing: border-box; font-family: "Poppins" , sans-serif; text-decoration: none; +} +::-webkit-scrollbar{ + width: 10px; } -.sidebar{ - position: fixed; - left: 0; - top: 0; - height: 100%; - width: 78px; - background: #11101D; - padding: 6px 14px; - z-index: 99; - transition: all 0.5s ease; +::-webkit-scrollbar-track{ +box-shadow: inset 0 0 10px rgba(0,0,0,0.25); } -.sidebar.open{ - width: 250px; + +::-webkit-scrollbar-thumb{ + background-color:rgba(255, 255, 255, 0.864); + + border-radius: 5px; } -.sidebar .logo-details{ - height: 60px; - display: flex; - align-items: center; - position: relative; +::-webkit-scrollbar-thumb:hover{ + background-color:white; } -.sidebar .logo-details .icon{ - opacity: 0; - transition: all 0.5s ease; + + + + + +.body{ + background-color: #282A35; } -.sidebar .logo-details .logo_name{ - color: #fff; - font-size: 20px; - font-weight: 600; - opacity: 0; - transition: all 0.5s ease; + +.tabs{ + position: fixed; + top: 0px; } -.sidebar.open .logo-details .icon, -.sidebar.open .logo-details .logo_name{ - opacity: 1; + +.tabs .tab-header{ + z-index: 2; + position: relative; + background-color:#f5f5f5; + display: flex; + padding: 6px; + left: 120px; + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + } -.sidebar .logo-details #btn{ - position: absolute; - top: 50%; - right: 0; - transform: translateY(-50%); + +.tabs .tab-header > div{ font-size: 12px; - transition: all 0.4s ease; - font-size: 23px; + letter-spacing: 0.6px; + color: #888; text-align: center; + + position:relative; + z-index: 2; cursor: pointer; - transition: all 0.5s ease; -} -.sidebar.open .logo-details #btn{ - text-align: right; -} -.sidebar i{ - color: #fff; - height: 60px; - min-width: 50px; - font-size: 28px; - text-align: center; - line-height: 60px; + padding: 15px; + padding-top: 0px; + padding-bottom: 6px; } -.sidebar .nav-list{ - margin-top: 20px; - height: 100%; + +.tabs .tab-header >div.active{ + color: #1abc9c; + border-bottom: 2px solid #1abc9c; + } -.sidebar li{ + + +.tabs .tab-body{ position: relative; - margin: 8px 0; - list-style: none; + background-color: #393D48; + width: 100%; } -.sidebar li .tooltip{ - position: absolute; - top: -20px; - left: calc(100% + 15px); - z-index: 3; - background: #fff; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); - padding: 6px 12px; - border-radius: 4px; - font-size: 15px; - font-weight: 400; + +.tabs .tab-body >div{ + z-index: -1; + width: 600px; + height: 450px; + background-color: #393D48; + position: fixed; opacity: 0; - white-space: nowrap; - pointer-events: none; - transition: 0s; + /*transform: translateY(-10px);*/ + margin-top: -50px; } -.sidebar li:hover .tooltip{ + +.tabs .tab-body >div.active{ + z-index: 1; + width: 100%; opacity: 1; - pointer-events: auto; - transition: all 0.4s ease; - top: 50%; - transform: translateY(-50%); + top: 30px; + transform: translateY(0px); } -.sidebar.open li .tooltip{ - display: none; + + +/* COMPONANT : run button */ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +/* animation line start */ +.loding{ + opacity: 0%; + position: fixed; + top: 350px; + left: 330px; /* >>>> adjest loading bar height*/ + width: 200px; + height: 100%; + padding: 0px; } -.sidebar input{ - font-size: 15px; - color: #FFF; - font-weight: 400; - outline: none; - height: 50px; - width: 100%; - width: 50px; - border: none; - border-radius: 12px; - transition: all 0.5s ease; - background: #1d1b31; +#down-bar-txt{ + color: #d9d9d98c; + margin-top: 5px; + text-align: center; + font-size: 12px; } -.sidebar.open input{ - padding: 0 20px 0 50px; +.loding .line-box{ + bottom: 0px; width: 100%; + height: 10px; } -.sidebar .bx-search{ - position: absolute; - top: 50%; - left: 0; - transform: translateY(-50%); - font-size: 22px; - background: #1d1b31; - color: #FFF; -} -.sidebar.open .bx-search:hover{ - background: #1d1b31; - color: #FFF; +.loding .line-box .line{ + width: 0%; + height: 10px; + border-radius: 20px; + background-color: #67D295; + /* animation: loading 2s forwards cubic-bezier(0,0,0,0); */ } -.sidebar .bx-search:hover{ - background: #FFF; - color: #11101d; +@keyframes loading{ + 0%{ + width: 0%; + } + 100%{ + width: 100%; + } } -.sidebar li a{ +/* animation line end */ + + +.checkbox{ + + position:relative; + top: 190px; + left: 40px; + + height: 80px; + width: 240px; + padding: 10px; display: flex; - height: 100%; - width: 100%; - border-radius: 12px; + background: #fff; align-items: center; - text-decoration: none; - transition: all 0.4s ease; - background: #11101D; -} -.sidebar li a:hover{ - background: #FFF; -} -.sidebar li a .links_name{ - color: #fff; - font-size: 15px; - font-weight: 400; - white-space: nowrap; - opacity: 0; - pointer-events: none; - transition: 0.4s; -} -.sidebar.open li a .links_name{ - opacity: 1; - pointer-events: auto; + border-radius: 5px; + box-shadow: 5px 5px 30px rgba(0,0,0,.2); + justify-content: space-between; + } -.sidebar li a:hover .links_name, -.sidebar li a:hover i{ - transition: all 0.5s ease; - color: #11101D; +.checkbox input{ + outline: none; + height: 40px; + width: 90px; + border-radius: 50px; + -webkit-appearance: none; + position: relative; + background: #e6e6e6; + box-shadow: inset 0 0 5px rgba(0,0,0,0.2); + cursor: pointer; + transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); } -.sidebar li i{ - height: 50px; - line-height: 50px; - font-size: 18px; - border-radius: 12px; +.checkbox input:checked{ + background: #1abc9c; } -.sidebar li.profile{ - position: fixed; - height: 60px; - width: 78px; +.checkbox input:before{ + position: absolute; + content: ""; left: 0; - bottom: -8px; - padding: 10px 14px; - background: #1d1b31; - transition: all 0.5s ease; - overflow: hidden; -} -.sidebar.open li.profile{ - width: 250px; + height: 100%; + width: 40px; + background: linear-gradient(#fff,#f2f2f2,#e6e6e6,#d9d9d9); + box-shadow: 0 2px 5px rgba(0,0,0,.2); + border-radius: 50px; + transform: scale(0.85); + transition: left 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); } -.sidebar li .profile-details{ - display: flex; - align-items: center; - flex-wrap: nowrap; +input:checked:before{ + left: 50px; } -.sidebar li img{ - height: 45px; - width: 45px; - object-fit: cover; - border-radius: 6px; - margin-right: 10px; +.checkbox .text:before{ + content: "idle"; + font-size: 25px; + font-weight: 500; + color: #bfbfbf; + padding-right: 20px; } -.sidebar li.profile .name, -.sidebar li.profile .job{ - font-size: 15px; - font-weight: 400; - color: #fff; - white-space: nowrap; +input:checked ~ .text:before{ + color: #1abc9c; + font-size: 27px; + content: "Mining"; } -.sidebar li.profile .job{ - font-size: 12px; + +/*-------------------BG-DESIGN--------------------------------------*/ +.update-label{ + opacity: 0%; + position: fixed; + top: 60px; + left: 475px; + width: 120px; + height: 50px; + cursor: pointer; + justify-content: center; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; } -.sidebar .profile #menu-log-out-btn{ - position: absolute; - top: 50%; - right: 0; - transform: translateY(-50%); - background: #1d1b31; - width: 100%; - height: 60px; - line-height: 60px; - border-radius: 0px; - transition: all 0.5s ease; + +.update-label img{ + margin-top:-2px; + margin-left:-2px; + width: 120px; + height: 50px; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; } -.sidebar.open .profile #menu-log-out-btn{ - width: 50px; - background: none; +.update-label:hover{ + position: fixed; + top: 60px; + left: 473px; } - - -.hider{ - visibility:hidden; +.update-label img:hover{ + margin-top:-2px; + margin-left:-2px; + width: 125px; + height: 55px; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; } -.static-section{ +.until-update{ + top: 320PX; + left: 285PX; + width: 300px; position: fixed; - background: #193a9dd2; - min-height: 100vh; - top: 0; - left: 78px; - width: calc(100% - 78px); - transition: all 0.5s ease; - z-index: 2; - -} -.support-section{ - position: relative; - background: #031344d2; - min-height: 100vh; - top: 0; - left: 78px; - width: calc(100% - 78px); - transition: all 0.5s ease; - z-index: 2; + padding-left: 30px; + padding-top: 20px; + border-left: 2px solid rgb(255, 255, 255); + font-size: 18px; + height: 80px; + text-transform: uppercase; + margin-left: 10px; } -.settings-section{ +.panel{ position: relative; - background: #031344d2; - min-height: 100vh; - top: 0; - left: 78px; - width: calc(100% - 78px); - transition: all 0.5s ease; - z-index: 2; + top: 295px; + padding: 10px; + padding-bottom: 2px; + margin-left: 18px; + width: 560px; + height: 130px; + border: 2px solid rgba(255, 255, 255, 0.452); + border-radius: 6px; } -.home-section{ - position: relative; - background: #11101D; - min-height: 100vh; - top: 0; - left: 78px; - width: calc(100% - 78px); - transition: all 0.5s ease; - z-index: 2; -} -.sidebar.open ~ .home-section{ - left: 250px; - width: calc(100% - 250px); -} -#discription{ - font-size: 15px; - font-weight: 400; - color: aliceblue; - text-align: center; - margin-top: -15px; -} +/*==START-New theme-icons==*/ -/*adjestmens for support icons*/ -.sec_2 .logos{ - display: inline-block; - padding: 10px; - padding-right: 5px; - padding-left:0px; +.panel .box{ + position: fixed; + top: 310px; + left: 290px; + border-left: 2px solid white; + padding-left: 5px; + width: 290px; + opacity: 0%; + justify-content:space-between; + align-content: center; + align-items: center; } - -.links { - position:relative; - border-radius: 10px; - color: #FFF; - background-color: #11101dc9; - width: 240px; - bottom: -160px; - z-index: -1; - justify-content: space-between; - padding: 10px; +#fix-1{ + position: fixed; + left: 395px; + top: 310px; + justify-content:space-between; + align-content: center; + align-items: center; text-align: center; } - -.sec_2 .logos .logo_icons { - display: inline-block; +#fix-2{ + position: fixed; + left: 470px; + top: 310px; + justify-content:space-between; + align-content: center; + align-items: center; + text-align: center; } - -.btn_c{ - position: absolute; - top: 550px; +#fix-3{ + position: fixed; left: 300px; - font-family: "Roboto", sans-serif; - font-size: 18px; - font-weight: bold; - background: #ffffff; - width: 160px; - padding: 10px; + top: 310px; + /*left: 35px;*/ + justify-content:space-between; + align-content: center; + align-items: center; text-align: center; - text-decoration: none; - text-transform: uppercase; - color: #fff; - border-radius: 5px; - cursor: pointer; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - -webkit-transition-duration: 0.3s; - transition-duration: 0.3s; - -webkit-transition-property: box-shadow, transform; - transition-property: box-shadow, transform; - -} -.btn_c:hover, .btn:focus, .btn:active{ - box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); - -webkit-transform: scale(1.1); - transform: scale(1.1); - text-decoration: none; + max-width: 100px; } +.panel .box .item{ + position: relative; + display: inline-block; + text-align: center; + padding: 10px; + padding-right: 10px; +} +.panel .box .item img{ + box-shadow: #083029; +} +.panel .box .item h2{ + font-size: 12px; + color: #222; + background-color: rgba(255, 255, 255, 0.171); + border-radius: 5px; + padding: 4px; +} +/*==END-New theme-icons==*/ +/*--NOT-RUNNING--*/ +.panel .box-c{ + position: fixed; + top: 310px; + left: 290px; + border-left: 2px solid white; + padding-left: 5px; + width: 290px; + height: 100px; -.contet{ /*temporary upcoming evet*/ +} +.panel .box-c img{ + width: 40px; + height: 40px; + justify-content: center; + text-align: center; + margin-left: 120px; + opacity: 50%; + margin-top: 5px; +} +.panel .box-c h3{ + margin-top: 20px; + font-size: 16px; + text-align: center; + color: rgba(255, 255, 255, 0.356); +} + +/*--NOT-RUNNING--*/ + + + + +.dis{ + opacity: 100%; + top: 25PX; + left: 260PX; + width: 600px; position: relative; + padding-left: 30px; + border-left: 2px solid rgb(255, 255, 255); + +} + +.dis .mini{ + /*background-color: #007a63;*/ + display: grid; + grid-template-columns: 2fr 1fr; + color: #d9d9d98c; + grid-gap: 2px; + font-size: 10px; +} +.dis .mini h2{ + font-size: 14px; + margin-left: -90px; + letter-spacing: .6px; +} +.dis .mini h1{ + text-align: center; + color: #d9d9d9ad; + /*background-color: #0d141f; */ + font-size: 14px; + margin-left: -80px; +} +/*--------------------------------------------------------------------------*/ +.gif { + opacity: 0%; + position: fixed; + top: 80px; + left: 30px; + width: 260px; + height: 210px; + background: url(./Coin.gif) 0 0 no-repeat; + background-size: 3000%; + animation: like-gif steps(28) 1s infinite both; +} +.left-pane span{ + opacity: 100%; + position: fixed; + top: 100px; + left: 80px; + color: #282A35; + font-size: 150px; + +} + +.right-pane{ + color: white; + position: fixed; + top: 125px; + left: 230px; + width: 300px; + border-left: 2px solid white; + padding-left: 10px; +} +.right-pane .head{ + display: flex; + color: rgb(243, 218, 23); +} +.right-pane .head h1{ + font-size: 35px; + letter-spacing: 1.5px; + color: white; +} +.right-pane h3{ + margin-top: -12px; + color: #1abc9c; + font-size: 25px; + justify-content: space-between; +} +.right-pane h5{ + letter-spacing: .8px; + line-height: 2px; + padding-top: 5px; + padding-bottom: 5px; +} +.right-pane p{ + font-size: 15px; +} +/*--------------------------END RUN BOX-----------------------------*/ + +.wallet-tab h1{ + text-align: center; + position: fixed; + top: 240px; + left: 200px; + color: rgba(255, 255, 255, 0.398); + font-size: 22px; +} +/*-------------- Notification icon ---------------------*/ +.icon-button { + z-index: 2; + position: absolute; + display: flex; + align-items: center; + justify-content: center; + width: 30px; + height: 30px; + right: 30px; + top:10px ; + left: 30px; + color: #333333; + background: #dddddd; + border: none; + outline: none; + border-radius: 50%; +} + +.icon-button:hover { + cursor: pointer; +} + +.icon-button:active { + background: #cccccc; +} + +.icon-button__badge { + position: absolute; + top: -5px; + right: -6px; + width: 15px; + height: 15px; + background: red; color: #ffffff; - top: 250px; - left: 420px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; +} +#wifi_badge{ + left: 70px; +} +#wifi_badge .icon-button__badge{ + width: 0px; + height: 0px; +} + +/*window navigation pane*/ +.win-control{ + opacity: 0; + background-color: #282A35; + width: 100px; + height: 0px; + position: fixed; + left: 500px; + z-index: 2; + + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + justify-content: center; text-align: center; - border: 2px solid white; - width: 150px; - align-content: center; +} +.win-control button{ + cursor: pointer; + border: none; + background-color:#c7d0cd6b; + border-radius: 5px; + padding: 3px; + padding-top: 0px; + padding-bottom: 0px; +} +.win-control button:hover{ + cursor: pointer; + background-color:#c7d0cd; +} + + +.win-control .solve{ + + margin: 0px; + width: 15px; + height: 5px; + font-size: 10px; + text-align: center; +} + + +/*window navigation pane*/ + + +/*-------------- Notification icon ---------------------*/ + +/*---- Setting page : form ------*/ +*, *::before, *::after { + box-sizing: border-box; } -/* status-tab | progress bar START */ -.hole-border{ - top: 311px; +#miner{ + left: 155px; + top: 60px; +} + +.custom-select { + z-index: 2; position: relative; + display: inline-block; + font-size: 14px; + color: #888; + margin-top: 25px; + margin-left: 20px; +} + +.custom-select select { + display: block; + width: 100px; + min-height: 35px; + background: #00957a62; + border-radius: 3px; + border: 2px solid #009579; + outline: none; + padding: 0 20px 0 10px; + margin-top: 5px; + cursor: pointer; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; +} + +.custom-select::after { + content: ''; + border-width: 5px; + border-style: solid; + border-color: transparent; + border-top-color: #222; + display: inline-block; + border-radius: 2px; + position: absolute; + right: 10px; + bottom: 10px; +} + +.custom-select .selector-options { + list-style: none; + padding: 5px 0; + margin: 0; + background: #009579; + color: #fff; + border-radius: 4px; + z-index: 1; + width: 96%; + position: absolute; + left: 2%; + top: 35%; +} + +.custom-select .selector-options li { + height: 35px; + display: flex; + align-items: center; + padding: 0 15px; + cursor: pointer; + transition: background 0.3s ease; +} + +.custom-select .selector-options li:hover { + background: #00000062; +} + + +.form{ + position: fixed; + top: 25px; + left: 15px; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 16px; + margin-top: 60px; + border-right: 2px solid #d9d9d98c; + /*border-radius: 8px;*/ padding: 10px; - background-color: #1d1b31; - margin-left: 6px; - margin-right: 6px; - border-radius: 5px; - + padding-right: 20px; + z-index: 1; +} +/*{ +width: 300px; +}*/ + +#fit{ + margin-top: 55px; } +.custom-field { -.mac-tile{ /*-----------WHITE WIDGET------------*/ position: relative; - top:0px; - padding: 15px 20px; - width: 400px; - background: #fff; - box-shadow: 5px 5px 20px rgba(0,0,0,0.2); - + font-size: 14px; + border-top: 20px solid transparent; + margin-bottom: 0px; + --field-padding: 8px; } -.mac-tile .bar{ - margin: 10px 0; + +.custom-field input { + border: none; + -webkit-appearance: none; + -ms-appearance: none; + -moz-appearance: none; + appearance: none; + background: #f2f2f2; + padding: var(--field-padding); + border-radius: 3px; + width: 250px; + outline: none; + font-size: 14px; } -.mac-tile .bar:first-child{ - margin-top: 0px; + +.custom-field .placeholder { + position: absolute; + left: var(--field-padding); + width: calc(100% - (var(--field-padding) * 2)); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + top: 22px; + line-height: 100%; + transform: translateY(-50%); + color: #aaa; + transition: + top 0.3s ease, + color 0.3s ease, + font-size 0.3s ease; } -.mac-tile .bar .info{ - margin-bottom: 5px; + + +.custom-field input.dirty + .placeholder, +.custom-field input:focus + .placeholder, +.custom-field input:not(:placeholder-shown) + .placeholder { + top: -10px; + font-size: 10px; + color: #222; } -.mac-tile .bar .info span{ - font-weight: 500; - font-size: 17px; + +.custom-field .error-message { + width: 100%; + display: flex; + align-items: center; + padding: 0 8px; + font-size: 12px; + background: #d30909; + color: #fff; + height: 24px; +} + +.custom-field .error-message:empty { opacity: 0; - animation: showText 0.5s 1s linear forwards; } -@keyframes showText { - 100%{ - opacity: 1; - } + +/* ONE */ +.custom-field.one input { + background: none; + border: 2px solid #ddd; + transition: border-color 0.3s ease; } -.mac-tile .bar .progress-line{ - height: 10px; - width: 100%; - background: #f0f0f0; + +.custom-field.one input + .placeholder { + left: 8px; + padding: 0 5px; +} + +.custom-field.one input.dirty, +.custom-field.one input:not(:placeholder-shown), +.custom-field.one input:focus { + border-color: #222; + transition-delay: 0.1s +} + +.custom-field.one input.dirty + .placeholder, +.custom-field.one input:not(:placeholder-shown) + .placeholder, +.custom-field.one input:focus + .placeholder { + top: 0; + font-size: 10px; + color: #222; + background: #fff; + width: auto +} + +.form h4{ position: relative; - transform: scaleX(0); - transform-origin: left; - border-radius: 10px; - box-shadow: inset 0 1px 1px rgba(0,0,0,0.05), - 0 1px rgba(255,255,255,0.8); - animation: animate 1s cubic-bezier(1,0,0.5,1) forwards; -} -@keyframes animate { - 100%{ - transform: scaleX(1); - } + left:2px; + color: #bfbfbf; + margin-bottom: -10px; + font-size: 18px; } -.bar .progress-line span{ - height: 100%; - position: absolute; - border-radius: 10px; - transform: scaleX(0); - transform-origin: left; - background: #6665ee; - animation: animate 1s 1s cubic-bezier(1,0,0.5,1) forwards; + +/* app conig panel */ +.app-config{ + position: fixed; + width: 250px; + left: 320px; + top: 80px; +} +.line{ + margin-bottom:15px; } -.bar .progress-line.html span{ - width: 90%; +.custom-checkbox { + cursor: pointer; + display: flex; + align-items: center; + margin: 10px 0; } -.bar .progress-line.css span{ - width: 60%; + +.custom-checkbox .label { + font-size: 12px; + margin: 0 10px; + margin-left: 40px; + color: #aaa; } -.bar .progress-line.jquery span{ - width: 85%; + +.custom-checkbox .checkmark { + position: fixed; + width: 25px; + height: 25px; + border: 2px solid #222; + display: inline-block; + border-radius: 3px; + background: #222 url(https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/White_check.svg/1200px-White_check.svg.png) center/1250% no-repeat; + transition: background-size 0.2s ease; } -.bar .progress-line.python span{ - width: 50%; + +.custom-checkbox input:checked + .checkmark { + background-size: 60%; + transition: background-size 0.25s cubic-bezier(0.7, 0, 0.18, 1.24); } -.bar .progress-line.mysql span{ - width: 75%; + +.custom-checkbox input { + display: none; } -.progress-line span::before{ - position: absolute; - content: ""; - top: -10px; - right: 0; - height: 0; - width: 0; - border: 7px solid transparent; - border-bottom-width: 0px; - border-right-width: 0px; - border-top-color: #000; + + +/*SAVE BUTTON*/ + +.button { + position: fixed; + padding: 4px 14px; + background: #009579; + border: none; + outline: none; + border-radius: 6px; + cursor: pointer; + + top: 385px; + left: 490px; + align-items: center; + +} + +.button:active { + background: #007a63; +} + +.button__text { + /*font: bold 20px "Quicksand", san-serif;*/ + color: #ffffff; + transition: all 0.2s; + font: 25px; +} + +.button--loading .button__text { + visibility: hidden; opacity: 0; - animation: showText2 0.5s 1.5s linear forwards; } -.progress-line span::after{ + +.button--loading::after { + content: ""; position: absolute; - top: -28px; + width: 16px; + height: 16px; + top: 5px; + left: 22px; right: 0; - font-weight: 500; - background: #000; - color: #fff; - padding: 1px 8px; + bottom: 0; + border: 4px solid transparent; + border-top-color: #ffffff; + border-radius: 50%; + animation: button-loading-spinner 1s ease infinite; +} + +@keyframes button-loading-spinner { + from { + transform: rotate(0turn); + } + + to { + transform: rotate(1turn); + } +} +/* ----- form end ---------*/ + +/**/ +.info-frame{ + position: fixed; + width: 575px; + height: 365px; + margin: 10px; + margin-top: 75px; + border-radius: 5px; +} +.left-container{ + position: fixed; + background-color: #0000002a; + color: #222; + width: 300px; + padding: 10px; + height: 350px; + border-radius: 5px; +} +.info-frame .left-container .title{ + display: flex; + color: #009579; + text-align: center; + justify-content: center; +} +#yell{ + color: rgb(243, 218, 23); + margin-left: 5px; +} +.info-frame .left-container .dis-info{ font-size: 12px; + text-align: center; + color: #828282; +} +.info-frame .left-container .dis-info h6{ + margin-top: 5px; + font-size: 14px; + text-align: center; + color: #9da2a1; +} +.media-icons { + position: relative; + display: flex; + justify-content: center; +} + +.media-icons img { + + width: 40px; + height: 40px; + padding: 5px; + + position: relative; + opacity: 0.6; + border-radius: 50%; +} + +.info-frame .left-container .update-tile{ + opacity: 0%; + margin-top: 10px; + margin-left: 15px; + background-color: #393D48; + width: 250px; + height: 100px; + display: flex; + font-size: 30px; + color: white; + box-shadow: 0 0 5px -1px rgba(0,0,0,0.2); + vertical-align:middle; + border-radius: 5px; +} +.info-frame .left-container .update-tile .txt{ + + padding: 10px; + background-color: #404846; + width: 100%; + border-radius: 5px; +} +.info-frame .left-container .update-tile .txt h6{ + margin-left: 5px; + padding: 10px; + padding-left: 0px; + background-color: #404846; + width: 100%; + border-radius: 5px; + font-size: 16px; +} + +.info-frame .left-container .update-tile h4{ + margin-top: -5px; + font-size: 10px; +} +.info-frame .left-container .update-tile img{ + width: 60px; + height: 60px; + padding: 8px; + margin-left: 10px; + margin-top: 20px; +} +.info-frame .left-container .update-tile button{ + width: 110px; + height: 35px; + padding: 5px; + position: fixed; + top: 370px; + left: 165px; + padding-bottom: 15px; + display: block; + text-align: center; + border-radius: 8px; + background-color: transparent; + border: 2px solid #009579 ; + color: white; + + cursor:pointer; +} +#reset-icon{ + position: fixed; + top: 377px; + padding: 8px; + border: none; + cursor: pointer; + left: 446px; + background: transparent; +} +#reset-icon span{ + border-radius: 8px; + background-color: #282A35; + color: #009579; + padding: 3px; +} +#reset-icon span:hover{ + border-radius: 8px; + background-color: #1a1a1d; + color: rgb(20, 232, 91); + padding: 3px; +} +#updater:hover{ + background-color: #1abc9c; + border-radius: 8px; + color: #ffffff; + cursor:pointer; + +} + +.right-container{ + position: fixed; + left: 320px; + width: 260px; + padding: 10px; + height: 350px; + border-radius: 5px; + /*background-color: #00957a62; */ +} +.update-box{ + position: relative; + border-radius: 5px; + top: 5px; + background-color: #282A35; + padding-top: 0px; + height: 180px; +} +.update-box h3{ + position: relative; + top: 15px; + color: #0d141f; + text-align: center; +} +.update-box h3 a{ + position: relative; + top: -12px; + font-size: 12px; + color: #0d141f; + text-align: center; + border-bottom: 2px solid #0d141f; +} +.update-box .contacts{ + position: fixed; + padding: 15px; + top: 330px; + text-align: center; + left: 340px; +} +.update-box .contacts h5,h6{ + color: #0d141f; +} +.right-container .up-box { + display: flex; + color: white; + padding: 0px; + letter-spacing: 0px; + margin-left: 30px; + margin-bottom: 20px; +} + +.right-container .up-box img{ + width: 80px; + height: 80px; + +} +.right-container .up-box .text-box{ + /* background-color: #b6f8e8;*/ + margin-left: 15px; +} +.right-container .up-box h1 { + position: fixed; + margin-top: 8px; +} +.right-container .up-box h3 { + position: fixed; + margin-top: 12px; +} + +.right-container .up-box h4 { + position: fixed; + margin-top: 35px; +} +.right-container p{ + margin-left: 10px; + margin-top: 8px; + font-size: 10px; + width: 200px; + color: #828282; + text-align: center; + line-height:15px; + margin-bottom: 5px; +} +.pay{ + text-align: center; + justify-content: center; +} +.right-container .pay-details { + margin-top: 5px; + display: flex; + color: rgba(255, 255, 255, 0.618); + text-align: center; + justify-content: center; + +} +.right-container .pay-details button { + font-size: 10px; + background-color: #222; + border: 1px solid transparent; + border-radius: 5px; + cursor: pointer; + margin-left: 8px; + margin-top: -3px; + color: white; +} +.right-container .pay-details button:hover { + background-color: rgba(179, 179, 179, 0.549); + border-radius: 5px; + color: black; +} +.right-container .pay-details h6 { + font-size: 11px; +} +.right-container .pay-details span { + font-size: 10px; + background-color: #222; + padding: 5px; +} +.right-container .pay-details span:hover{ + font-size: 10px; + background-color: rgba(179, 179, 179, 0.549); + color: black; + padding: 5px; +} +#donate-mail{ + font-size: 15px; + text-align: center; + color: #bfbaba; +} +/**/ + +/*coin-list box*/ +.coin-box{ + position: fixed; + top: 132px; + left: 25px; + z-index: 2; + background: #085244; border-radius: 3px; + border: 2px solid #009579; + outline: none; + color: #888; +} +.coin-box option:hover{ + background: #083029; + color: red; + padding: 18px; +} + +.select-box { + display: flex; + width: 250px; + flex-direction: column; + padding: 8px; + background: #085244; +} +.coin-style { + background-color: #0d433a; + padding: 15px; +} +#select-coins{ + background: #085244; + border: none; +} + + + +.select-box .options-container { + + /*background: #2f3640; */ + color: #f5f6fa; + max-height: 0; + width: 100%; opacity: 0; - animation: showText2 0.5s 1.5s linear forwards; + transition: all 0.4s; + border-radius: 8px; + overflow: hidden; + order: 1; } -@keyframes showText2 { - 100%{ - opacity: 1; - } + +.selected { + /*background: #2f3640; */ + border-radius: 8px; + margin-bottom: 3px; + color: #f5f6fa; + position: relative; + + order: 0; +} + +.selected::after { + content: ""; + background: url("img/arrow-down.svg"); + background-size: contain; + background-repeat: no-repeat; + + position: absolute; + height: 100%; + width: 32px; + right: 10px; + top: 5px; + + transition: all 0.4s; +} + +.select-box .options-container.active { + max-height: 140px; + opacity: 1; + overflow-y: scroll; +} + +.select-box .options-container.active + .selected::after { + transform: rotateX(180deg); + top: -6px; +} + +.select-box .options-container::-webkit-scrollbar { + width: 8px; + background: #0d141f; + border-radius: 0 8px 8px 0; +} + +.select-box .options-container::-webkit-scrollbar-thumb { + background: #edede5; + border-radius: 0 8px 8px 0; +} + +.select-box .option, +.selected { + padding: 12px 24px; + cursor: pointer; +} + +.select-box .option:hover { + background: #282A35; +} + +.select-box label { + cursor: pointer; +} + +.select-box .option .radio { + display: none; +} + +.hider{ + opacity: 0%; +} +.update-tile-no h4{ + color: #1a1a1d; + text-align: center; + margin-top: -70px; +} +.update-tile-no h6{ + color: #1a1a1d; + text-align: center; + /*margin-top: 0px;*/ +} + +/*stat tab editing*/ +.stats-tab .conatainer-stats{ + opacity: 100%; /*------------------------------------*/ + position: absolute; + top: 70px; + left: 10px; + width: 575px; + height: 360px; + background-color: #22232c; + display: flex; + border-radius: 8px; +} +.stats-tab .conatainer-stats .sc-veiw{ + position: relative; + top: 10px; + left: 10px; + width: 555px; + height: 340px; /*300*/ + overflow-y:auto; + overflow-x:hidden; + border: 1px solid rgba(255, 255, 255, 0.452); } -.progress-line.html span::after{ - content: "90%"; +#big-font{ + font-size: 12px; + +} +.stats-tab .conatainer-stats .sc-veiw .card{ + background-color: rgba(255, 255, 255, 0.452); + padding: 8px; + display: flex; + width: 100%; + border-bottom: 2px solid #0d141f; } -.progress-line.css span::after{ - content: "60%"; + +.stats-tab .conatainer-stats .sc-veiw .card:hover{ +background-color:rgba(255, 255, 255, 0.64) ; } -.progress-line.jquery span::after{ - content: "85%"; + +.stats-tab .conatainer-stats .sc-veiw button{ + border: none; + cursor: pointer; } -.progress-line.python span::after{ - content: "50%"; + + + + + +.data-line{ + float: left; + padding: 0px; + margin: 0px; + text-align: left; + padding-left: 10px; + } -.progress-line.mysql span::after{ - content: "75%"; + +.mini-bar{ + opacity: 100%; + position: relative; + color: #1a1a1d; + display: flex; + font-size: 15px; + margin-top: 5px; + padding-left: 8px; + padding-right: 0px; + border-radius: 5px; + background-color: transparent; + padding-bottom: -2.5px; + width: 400px; + left: -10px; } -/* status-tab | progress bar END */ -/*+++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -nav{ - z-index: 1; - position: relative; - top: 14px; - left: 570px; - width: 210px; - height: 30px; - background: #ffffff; - border-radius: 8px; - font-size: 0; - box-shadow: 0 2px 3px 0 rgba(0,0,0,.1); +#spacer{ + margin-left: 5px; } - -nav a{ - padding: 0px; - margin-top: -10px; - font-size: 15px; - text-transform: uppercase; - color: grey; - text-decoration: none; - line-height: 50px; - position: relative; - z-index: 1; - display: inline-block; - text-align: center; -} -#gpus_count{ - color: white; +.action-center{ + position: fixed; + left: 420px; /*75*/ + top: 385px; /*318*/ } -nav .animation{ - position: absolute; - height: 100%; - /* height: 5px; */ - top: 0; - /* bottom: 0; */ - z-index: 0; - background: #1abc9c; - border-radius: 8px; - transition: all .5s ease 0s; +.action-center button{ + position: relative; + color: rgb(130, 126, 126); + padding: 8px; + padding-left: 10px; + padding-right: 10px; + border-radius: 8px; + border: none; + font-style: bold; + font-weight: 400px; + background: #ffffff; + border: none; + outline: none; + border-radius: 6px; } -nav a:nth-child(1){ - width: 100px; +.action-center button:hover{ +cursor: pointer; +color: #009579; +box-shadow: 0 0 10px rgba(0,0,0,0.8) } -nav .start-home, a:nth-child(1):hover~.animation{ - width: 100px; - left: 0; -} -nav a:nth-child(2){ - width: 110px; +/*.card-data .card-oc{ + position: relative; + justify-content: center; + text-align: center; + color: rgba(255, 255, 255, 0.705); } -nav a:nth-child(2):hover~.animation{ - width: 110px; - left: 100px; + +*/ + +.data-sheet{ + position: relative; + top: -165px; + padding: 10px; } -nav a:nth-child(3){ - width: 100px; +.data-sheet h6{ + color: rgba(255, 255, 255, 0.705); + font-size: 10px; + justify-content: left; + padding-left: 120px; + padding-bottom: 9px; } -nav a:nth-child(3):hover~.animation{ - width: 100px; - left: 210px; + +.no-gpus{ + opacity: 0%; + text-align: center; + position: fixed; + left: 200px; + top: 200px; + padding: 10px; + font-size: 15px; } -nav a:nth-child(4){ - width: 160px; +.no-gpus h1{ + text-align: center; + position: fixed; + border: 2px solid rgba(255, 255, 255, 0.597); + + color: #0d141f; + padding: 10px; + font-size: 15px; } -nav a:nth-child(4):hover~.animation{ - width: 160px; - left: 310px; + +.mini-bar:focus{ + color: rgba(255, 255, 255, 0.646); } -nav a:nth-child(5){ - width: 120px; +.mini-bar:target{ + color: rgba(255, 255, 255, 0.646); } -nav a:nth-child(5):hover~.animation{ - width: 120px; - left: 470px; +.stats-tab .conatainer-stats .sc-veiw .card.actives{ + background-color: #007a63 ; + color: rgba(255, 255, 255, 0.646); } -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.checkbox{ - position:relative; - top: -105px; - left: 150px; - height: 80px; - width: 240px; - padding: 10px; +.card-oc-info{ + position: relative; + top: 2px; + left: 5px; + background-color: #d8d8d898; display: flex; - background: #fff; - align-items: center; + float: right; border-radius: 5px; - box-shadow: 5px 5px 30px rgba(0,0,0,.2); - justify-content: space-between; -} -.checkbox input{ - outline: none; - height: 40px; - width: 90px; - border-radius: 50px; - -webkit-appearance: none; - position: relative; - background: #e6e6e6; - box-shadow: inset 0 0 5px rgba(0,0,0,0.2); - cursor: pointer; - transition: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); -} -.checkbox input:checked{ - background: #1abc9c; -} -.checkbox input:before{ - position: absolute; - content: ""; - left: 0; - height: 100%; - width: 40px; - background: linear-gradient(#fff,#f2f2f2,#e6e6e6,#d9d9d9); - box-shadow: 0 2px 5px rgba(0,0,0,.2); - border-radius: 50px; - transform: scale(0.85); - transition: left 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + padding-left: 8px; + justify-content: center; + text-align: center; + width: 320px; + height: 30px; } -input:checked:before{ - left: 50px; + +.card-oc-info .oc-item{ + display: flex; + align-items: center; + text-align: center; + justify-content: center; + padding: 5px; + + font-size: 14px; + } -.checkbox .text:before{ - content: "idle"; - font-size: 25px; - font-weight: 500; - color: #bfbfbf; - padding-right: 20px; +.card-oc-info .oc-item h6{ + font-size: 10px; + padding-left: 5px; } -input:checked ~ .text:before{ - color: #1abc9c; - font-size: 27px; - content: "Mining"; + +.left-pa{ + margin-top: 5px; + justify-content: center; + text-align: center; + padding: 5px; + display: flex; + + float: left; + height: 30px; + } -/*--------------------------END RUN BOX-----------------------------*/ -/**/ -.widjet{ +.deta{ position: relative; - display: grid; - grid-template-columns:2fr 1fr; - grid-gap:10px; - margin-left: 10px; + text-align: left; + font-size: 12px; + margin-top: -6px; + padding: 0px; + width: 50px; + color: white; + border-right: 1px solid white; +} +.id-c{ margin-right: 10px; - top: 10px; - height: 450px; + font-size: 10px; + background-color: #007a63; + width: 100px; + } +.card-id{ + width: 100px; } -.widjet .left-pane{ - background-image:linear-gradient(to right,#5b4b8d 20%,#dcd8e85f); +.profit-card{ + /*background-color: #244b44;*/ + position: relative; + top: -5px; + left: 5px; + display: flex; + margin-left: 5px; + padding-left: 5px; color: white; - padding: 20px; - border-radius: 4px; + justify-content: center; + height: 30px; + width: 90px; } -.widjet .right-pane{ - /*background-image:linear-gradient(to right,#5b4b8d 20%,#dcd8e85f);*/ - padding: 20px; - border-radius: 4px; +.profit-card h6{ + height: 30px; color: white; -} -/**/ -/*-------------------BG-DESIGN--------------------------------------*/ -.panel{ - position: relative; - top: 0px; - padding: 10px; - left: 10px; - width: 795px; - height: 130px; - border: 2px solid rgba(255, 255, 255, 0.452); - border-radius: 6px; -} -.dis{ - top: 18PX; - left: 390PX; - width: 300px; - position: relative; - padding-left: 30px; - border-left: 2px solid rgb(255, 255, 255); + padding: 5px; + font-size: 13px; + margin-top: 0px; } -.dis .mini{ +.data-line .id-s{ + background-color: #1a1a1d7a; + color: white; + width: 50px; + height: 20px; + text-align: center; + padding: 3px; font-size: 10px; - display: grid; - grid-template-columns: 2fr 1fr; - color: #d9d9d98c; - grid-gap: 10px; + border-radius: 5px; + display: flex; } -/*--------------------------------------------------------------------------*/ -/*all-text-edits*/ - +.data-line .id-s { + position: relative; + left: 500px; + margin-bottom: -20px; + background-color: #1a1a1d7a; + color: white; + width: 50px; + height: 20px; + text-align: center; + padding: 3px; + font-size: 10px; + border-radius: 5px + ; + padding-left: 5px; -.widjet .left-pane .up_ .info_fs{ -display: grid; -grid-gap: 5px; -grid-template-columns: 1fr 1fr; } -.info_fs .item { -padding: 5px; -background-color: #d9d9d93a; -border-radius: 4px; +/*stat tab editing*/ +/*--------------------------------DASHBORAD---------------------------------*/ +.on-board{ + opacity: 0%; + position: fixed; + top: 40px; + justify-content: center; + } -.info_fs .item h6{ - color: #1abc9c; - font-size: 18px; - padding-left: 6px; +.on-board .auto-refsher{ + position: relative; + top: -10px; + left: 520px; + font-size: 10px; + font-weight: 300; + padding: 5px; + padding-left: 8px; + padding-right: 8px; + background-color: #009579; + color: rgba(255, 255, 255, 0.852); + border: none; + border-radius: 8px; + cursor: pointer; + font-weight: 100; + letter-spacing: 0.4px; } -.info_fs .item h4{ - color: #ffffff; - padding-left: 10px; - font-size: 13px; +.on-board .auto-refsher:hover{ +color: rgba(255, 255, 255, 0.694); +background-color: #076d5b; +font-weight: 100; } -#head{ - padding-bottom: 6px; +#foo{ + position: relative; + left: 10px; + border-radius: 8px; + border: 2px solid #828282; + justify-content: center; + padding: 5px; } -.down_ h2{ - margin-top: 10px; - color: #d9d9d9; - text-align: center; +.pre-board{ + position: fixed; + top: 70px; + left: 330px; + width: 250px; + height: 600px; + font-size: 8px; + border-radius: 8px; } -.down_ .main_tile{ - border-radius: 5px; - background-color: #6565ee54; - color: #d9d9d9; +.pre-board .sel-pool{ + padding: 5px; text-align: center; - height: 250px; + align-items: center; + opacity: 50%; } -.down_ .main_tile h1{ -padding: 100px; +.pre-board .sel-pool .sel{ + display: flex; + opacity: 100%; } -/*===============special animation==========================*/ -#right-menu-btn{ - width: 250px; - padding: 10px; - position: relative; - margin-bottom: 10px; +.sel-i h4{ + font-size: 10px; + color: white; + font-weight: 300; + letter-spacing: 1px; } -.front_startup { - margin: 0px; - position: relative; +.mp{ + margin-right: 10px; } -#container { - top: -35px; - background-color: #052029; - color:#999; - text-transform: uppercase; - font-size:26px; - font-weight:bold; - padding: 10px; - position:relative; - width:250px; - bottom:45%; - display:block; +.pre-board .sel-pool p{ + font-size: 10px; + color: white; + letter-spacing: 0.8px; + font-weight: 200; } -#container h4 { - color:#999; - margin-bottom: -8px; - text-transform: uppercase; - font-weight:bold; +.pre-board .sel-pool h2{ + font-size: 15px; + font-weight: 300; + color: white; + margin-bottom: -10px; + letter-spacing: 0.5px; } -#container h6 { - color:#999; - margin-top: -5px; - text-transform: uppercase; - font-size:16px; - font-weight:bold; +.sel{ + align-items: center; + justify-content: center; + padding: 10px; } -#flip { - padding-top: 8px; - height:60px; - overflow:hidden; +#alignmet{ + margin-right: 8px; + } + #circled{ + border-radius: 50%; + } +.sel-i{ + background-color: rgba(255, 255, 255, 0.208); + width: 100px; + height: 100px; + padding: 5px; + border: none; + border-radius: 5px; } - -#flip > div > div { - color:#fff; - padding:4px 12px; - height:45px; - margin-bottom:45px; - display:inline-block; +.sel-i:hover{ + opacity: 100%; + background-color: #1a1a1d; + color: #1717e1; + font-size: 12px; } -#flip div:first-child { - animation: show 5s linear infinite; -} -#flip div div { - background:#42c58a; -} -#flip div:first-child div { - background:#4ec7f3; -} -#flip div:last-child div { - background:#DC143C; -} -@keyframes show { - 0% {margin-top:-270px;} - 5% {margin-top:-180px;} - 33% {margin-top:-180px;} - 38% {margin-top:-90px;} - 66% {margin-top:-90px;} - 71% {margin-top:0px;} - 99.99% {margin-top:0px;} - 100% {margin-top:-270px;} +.main-frame{ + position: fixed; + top: 70px; + left: 8px; + + width: 578px; + height: 365px; } -/*============================================================*/ -/*++++++++++++++++++++++++++++++++++++*/ -.set-btn{ - margin-top: -15px; +.cal-frame{ + position: absolute; + top: 0px; + left: 5px; + } -.button { - margin-bottom: 10px; - display: flex; +.main-frame .cal-frame .ac-btn{ + position: absolute; + background-color:#4d515b; + z-index: 2; + left: 19px; + top: 70px; + width:294px; height: 50px; - padding: 0; - background: #009578; - border: none; - outline: none; - border-radius: 5px; - overflow: hidden; - font-family: "Quicksand", sans-serif; - font-size: 16px; - font-weight: 500; - cursor: pointer; + display: flex; +} +.main-frame .cal-frame a{ + margin-top: 10px; + position: relative; + top: 35px; } -.button span{ - padding-right: 60px; +.main-frame .cal-frame .ac-btn .unit-sel{ + top: 10px; + position: relative; + text-align: center; + width: 147px; + border: none; + height: 30px; + + border-start-end-radius: 5px; + border-end-end-radius: 5px; + border-start-start-radius:0px; + border-end-start-radius: 0px; } -#t2{ - padding-right: 80px; + +.main-frame .cal-frame .ac-btn .coin-sel{ + position: relative; + top: 10px; + text-align: center; + width: 147px; + padding-top: 2px; + padding-bottom: 2px; + border: none; + height: 30px; + border-right: 2px solid #5f636c; + + border-start-start-radius: 5px; + border-end-start-radius: 5px; } -#t3{ - padding-right: 80px; + +.guide{ + + margin-left: 8px; } -#t4{ - padding-right: 110px; +.guide h4{ + font-size: 14px; + color: #67D295; + text-align: center; } -#t5{ - padding-right: 95px; -} -.button .button__icon{ -margin-right: -30px; +.guide .steps{ + padding-left: 5px; + padding-right: 5px; + color: white; + font-size: 11px; + text-align: center; } -.button:hover { - background: #008168; +.guide .steps p{ + color: #c7d0cd; + font-size: 9px; + letter-spacing: .5px; + font-weight: 250; + float: right; + width: 220px; + text-align: justify; } +.guide .steps b{ -.button:active { - background: #006e58; -} + letter-spacing: .5px; + font-weight: 550; -.button__text, -.button__icon { - display: inline-flex; - align-items: center; - padding: 0 24px; - color: #fff; - height: 100%; } -.button__icon { - font-size: 1.5em; - background: rgba(0, 0, 0, 0.08); +.guide .steps h5{ + + color: rgba(255, 255, 255, 0.735); + font-size: 10px; + letter-spacing: .5px; + float: left; } -/*+++++++++++++++++++++++++++++++++++++*/ \ No newline at end of file +/*--------------------------------DASHBORAD---------------------------------*/ \ No newline at end of file diff --git a/style_login.css b/style_login.css index 12ad928..7b7c1a5 100644 --- a/style_login.css +++ b/style_login.css @@ -1,12 +1,13 @@ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap'); *{ - background-color: #1d1b31; + background-color: #393D48; padding: 0; margin: 0; font-family: "Poppins" , sans-serif; color: rgb(255, 255, 255); - - +} +body{ + border-radius: 8px; } .tile{ @@ -17,9 +18,10 @@ /* animation line start */ .loding{ - position: relative; - margin-top: 110px; /* >>>> adjest loading bar height*/ - width: 100%; + position: fixed; + left: -10px; + margin-top: 80px; /* >>>> adjest loading bar height*/ + width:300px; height: 100%; padding: 0px; } @@ -53,30 +55,51 @@ overflow: hidden; } .down{ - background-color: #1d1b31; + background-color: #393D48; position: absolute; - padding: 0px; color: rgba(155, 155, 155, 0.8); - margin-top: 40px; /* >>>> adjest status bar height*/ + margin-top: 50px; /* >>>> adjest status bar height*/ display: flex; justify-content: space-between; } +.down .brandlogo{ + position: fixed; + top: 55px; + left: 26px; + width: 100px; + height: 40px; +} +.down .brandlogo img{ + width: 200px; + height: 80px; + text-align: center; +} + .down .ver{ color: rgba(155, 155, 155, 0.8); - margin-left: 110px; + margin-left: 60px; font-size: 10px; + width: 100px; + padding: 10px; } .down .dis{ color: rgba(155, 155, 155, 0.8); - margin-top: -6px; - margin-left: 6px; - font-weight: 400; + padding: 10px; + margin-top: -4px; + margin-left: 0px; + font-weight: 200; + font-size: 12px; + width: 100px; + + } .tile .head_dis{ + opacity: 0%; text-align: center; color: rgb(66, 216, 166); - margin: 50px; - margin-top: 100px; + margin-top: 70px; + margin-left: 80px; + text-align: center; } .tile .head_dis .header{ color: rgb(255, 255, 255); @@ -95,3 +118,13 @@ padding-top: 5px; padding-bottom: 5px; } +.tile .head_dis .header{ + display: flex; + text-align: center; +} + +.tile .head_dis .header h1{ + font-size: 30px; + color: #67D295; + margin-left: 5px; +} \ No newline at end of file diff --git a/style_pop-up.css b/style_pop-up.css index b55bb0d..5c5a25f 100644 --- a/style_pop-up.css +++ b/style_pop-up.css @@ -1,34 +1,162 @@ -body{ - /*background: #11101D; -*/ - background: rgba(38, 37, 37, 0.604); +* { + margin: 0; + padding: 0; + box-sizing: border-box; } -.updide{ - background: none; + +body { + height: 100vh; + width: 100%; + + background: #222; +} + +.container { + position: fixed; + top: 15px; + left: 15px; + height: 400px; + width: 700px; + background: #eceff8; + padding: 10px; + text-align: center; } -.form{ - width: 350px; + +.container .count { + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 50px; +} + +.container .count div { + height: 50px; + width: 50px; + background: #f0f2f7; + border: 2px solid #7a90fd; + border-radius: 50%; + padding: 15px; + font-weight: bold; + color: #ccc; position: relative; + cursor: pointer; + transition: 0.5s ease; +} + +.count div:hover { + background: #7a90fd; + color: #fff; +} + +.count div.active { + background: #7a90fd; + color: #fff; +} + +.count div::before { + content: ''; + position: absolute; + top: 20px; + left: 50px; + height: 2px; + width: 150px; + background: #ccc; } -.mini-widget{ - margin-top: 10px; + +.count div:last-child::before { + display: none; } -.form input{ - color: #595f6e; - padding: 20px; +.content{ + width: 450px; +} +.content h1 { + margin: 10px 0px; + font-family: sans-serif; +} + +.content p { + margin: 10px 0px; + text-align: center; + font-size: 18px; + color: #7c7aa1; +} + +.content button { + padding: 15px 80px; + margin-top: 20px; + background: #7a90fd; + color: #fff; + border: 0; + outline: none; + cursor: pointer; + font-weight: bold; + border-radius: 5px; +} + +.content.second, +.content.third { + display: none; +} + +@media (max-width: 800px) { + .container { + width: auto; + margin: 0px; + } + .count div::before { + width: 150px; + } +} + +@media (max-width: 700px) { + .count div::before { + width: 100px; + } +} + +/**/ + +/*SAVE BUTTON*/ + +.button { + position: fixed; + padding: 4px 14px; + background: #009579; border: none; - width: 350px; - border-bottom: 2px solid black; - font-size: 16px; - padding-bottom: 8px; - padding-left: 8px; -} -.form .mini-widget{ - color: rgb(0, 0, 0); - position: relative; - bottom: 0px; - left: 0%; - width: 350px; - height: 100%; -} \ No newline at end of file + outline: none; + border-radius: 6px; + cursor: pointer; + width: 180px; + height: 60px; + top: 325px; + left: 470px; + align-items: center; + + } + + .button:active { + background: #007a63; + } + + .button__text { + /*font: bold 20px "Quicksand", san-serif;*/ + color: #ffffff; + transition: all 0.2s; + font: 25px; + } + + .button--loading .button__text { + visibility: hidden; + opacity: 0; + } + + .button--loading::after { + } + + #btn-settings-save{ + position: fixed; + top: 380px; + left: 160px; + } + /*------------*/ \ No newline at end of file diff --git a/support.svg b/support.svg new file mode 100644 index 0000000..9129a7d --- /dev/null +++ b/support.svg @@ -0,0 +1 @@ + Call Center \ No newline at end of file diff --git a/temp.png b/temp.png new file mode 100644 index 0000000..f545be5 Binary files /dev/null and b/temp.png differ diff --git a/update-label.png b/update-label.png new file mode 100644 index 0000000..90dacc9 Binary files /dev/null and b/update-label.png differ diff --git a/update-label.psd b/update-label.psd new file mode 100644 index 0000000..cc1bc61 Binary files /dev/null and b/update-label.psd differ diff --git a/update.png b/update.png new file mode 100644 index 0000000..2daf797 Binary files /dev/null and b/update.png differ diff --git a/update_label.png b/update_label.png new file mode 100644 index 0000000..754fb03 Binary files /dev/null and b/update_label.png differ diff --git a/updates.json b/updates.json new file mode 100644 index 0000000..7fe2cd3 --- /dev/null +++ b/updates.json @@ -0,0 +1,7 @@ +{ +"version": "1.0.0", +"download_link": "", +"nbminer": {"download_link": "https://dl.nbminer.com/NBMiner_40.1_Win.zip", "version": "40.1"}, +"trex": {"download_link": "https://github.com/trexminer/T-Rex/releases/download/0.25.8/t-rex-0.25.8-win.zip", "version": "0.25.8"}, +"gminer": {"download_link": "https://github.com/develsoftware/GMinerRelease/releases/download/2.81/gminer_2_81_windows64.zip", "version": "2.81"} +} diff --git a/uptime-1.png b/uptime-1.png new file mode 100644 index 0000000..12fddca Binary files /dev/null and b/uptime-1.png differ diff --git a/uptime-2.png b/uptime-2.png new file mode 100644 index 0000000..c4c3af4 Binary files /dev/null and b/uptime-2.png differ diff --git a/uptime.png b/uptime.png new file mode 100644 index 0000000..ec50807 Binary files /dev/null and b/uptime.png differ diff --git a/watt.png b/watt.png new file mode 100644 index 0000000..9206f55 Binary files /dev/null and b/watt.png differ