diff --git a/package.json b/package.json index 286f4e872..b7693c50d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "teledrive", - "version": "1.0.3", + "version": "1.1.0", "repository": "git@github.com:mgilangjanuar/teledrive.git", "author": "M Gilang Januar ", "license": "MIT", diff --git a/server/package.json b/server/package.json index 5ca0a5a06..9b44ce9db 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "server", - "version": "1.0.3", + "version": "1.1.0", "main": "dist/index.js", "license": "MIT", "private": true, @@ -9,7 +9,7 @@ "build": "rimraf dist && eslint --fix -c .eslintrc.js --ext .ts . && tsc" }, "dependencies": { - "@mgilangjanuar/telegram": "2.0.15", + "@mgilangjanuar/telegram": "2.1.0", "@sentry/node": "^6.14.1", "@sentry/tracing": "^6.14.1", "@types/moment": "^2.13.0", @@ -24,6 +24,7 @@ "dotenv": "^10.0.0", "express": "^4.17.1", "express-fileupload": "^1.2.1", + "express-ipinfo": "^1.0.0", "express-list-endpoints": "^6.0.0", "express-rate-limit": "^5.3.0", "flatted": "^3.2.2", diff --git a/server/src/api/v1/Utils.ts b/server/src/api/v1/Utils.ts index 0e45c3ae0..0b29541db 100644 --- a/server/src/api/v1/Utils.ts +++ b/server/src/api/v1/Utils.ts @@ -8,4 +8,9 @@ export class Utils { public async maintenance(_: Request, res: Response): Promise { return res.send({ maintenance: ['1', 'true', 'yes'].includes(process.env.IS_MAINTENANCE) }) } + + @Endpoint.GET() + public async ipinfo(req: Request & { ipInfo: any }, res: Response): Promise { + return res.send({ ipinfo: req.ipInfo }) + } } \ No newline at end of file diff --git a/server/src/index.ts b/server/src/index.ts index 74f6b1ba9..8bcfee74e 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -14,7 +14,7 @@ import express, { urlencoded } from 'express' import listEndpoints from 'express-list-endpoints' -// import bigInt from 'json-bigint' +import expressip from 'express-ipinfo' import morgan from 'morgan' import path from 'path' import { Pool } from 'pg' @@ -24,6 +24,7 @@ import * as Tracing from '@sentry/tracing' import { API } from './api' import { runDB } from './model' +// import bigInt from 'json-bigint' // const parse = JSON.parse // JSON.parse = str => { // if (!str) return str @@ -75,6 +76,8 @@ app.use(Sentry.Handlers.tracingHandler()) app.set('trust proxy', 1) +app.use(expressip().getIpInfoMiddleware) + app.use(cors({ credentials: true, origin: [ diff --git a/server/src/model/entities/Files.ts b/server/src/model/entities/Files.ts index 676e250a0..fb5257485 100644 --- a/server/src/model/entities/Files.ts +++ b/server/src/model/entities/Files.ts @@ -23,7 +23,7 @@ export class Files extends BaseModelWithID { @Column({ type: 'timestamptz', default: null }) uploaded_at?: Date - @Column({ default: null }) + @Column('double precision', { default: null }) upload_progress?: number @Column() diff --git a/server/src/model/entities/Users.ts b/server/src/model/entities/Users.ts index 5f422bc9e..db09451db 100644 --- a/server/src/model/entities/Users.ts +++ b/server/src/model/entities/Users.ts @@ -15,7 +15,7 @@ export class Users extends BaseModelWithID { email?: string @Column({ default: null }) - tg_id?: number + tg_id?: string @Column({ default: 'free' }) plan?: 'free' | 'premium' | 'professional' diff --git a/server/yarn-error.log b/server/yarn-error.log index 4fcd17ba3..6f524bbe9 100644 --- a/server/yarn-error.log +++ b/server/yarn-error.log @@ -1,35 +1,35 @@ Arguments: - /Users/mgilangjanuar/.nvm/versions/node/v14.17.2/bin/node /Users/mgilangjanuar/.yarn/lib/cli.js add @types/rate-limiter-flexible -D + /Users/mgilangjanuar/.nvm/versions/node/v16.13.0/bin/node /Users/mgilangjanuar/.yarn/lib/cli.js add @type/express-ipinfo -D PATH: - /var/folders/fd/_46vmhcd68qcp7mh4h7r44lh0000gn/T/yarn--1634011687923-0.8121251583040865:/Users/mgilangjanuar/Documents/workspace/teledrive/node_modules/.bin:/Users/mgilangjanuar/.config/yarn/link/node_modules/.bin:/Users/mgilangjanuar/Documents/workspace/teledrive/node_modules/.bin:/Users/mgilangjanuar/.nvm/versions/node/v14.17.2/libexec/lib/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.nvm/versions/node/v14.17.2/lib/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.nvm/versions/node/v14.17.2/bin/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.rvm/gems/ruby-2.6.5/bin:/Users/mgilangjanuar/.rvm/gems/ruby-2.6.5@global/bin:/Users/mgilangjanuar/.rvm/rubies/ruby-2.6.5/bin:/Users/mgilangjanuar/.deta/bin:/Users/mgilangjanuar/.cargo/bin:/Users/mgilangjanuar/Downloads/google-cloud-sdk/bin:/Users/mgilangjanuar/.yarn/bin:/Users/mgilangjanuar/.config/yarn/global/node_modules/.bin:/Users/mgilangjanuar/.pyenv/shims:/Users/mgilangjanuar/.pyenv/bin:/Users/mgilangjanuar/Documents/apps/elasticsearch-7.6.1/bin:/usr/local/sbin:/usr/local/opt/gettext/bin:/Users/mgilangjanuar/go/bin:usr/local/sbin:/Users/mgilangjanuar/.nvm/versions/node/v14.17.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/mgilangjanuar/.cargo/bin:/Users/mgilangjanuar/.rvm/bin + /var/folders/fd/_46vmhcd68qcp7mh4h7r44lh0000gn/T/yarn--1640513418010-0.07591006234152253:/Users/mgilangjanuar/Documents/workspace/teledrive/node_modules/.bin:/Users/mgilangjanuar/.config/yarn/link/node_modules/.bin:/Users/mgilangjanuar/Documents/workspace/teledrive/node_modules/.bin:/Users/mgilangjanuar/.nvm/versions/node/v16.13.0/libexec/lib/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.nvm/versions/node/v16.13.0/lib/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.nvm/versions/node/v16.13.0/bin/node_modules/npm/bin/node-gyp-bin:/Users/mgilangjanuar/.rvm/gems/ruby-2.6.5/bin:/Users/mgilangjanuar/.rvm/gems/ruby-2.6.5@global/bin:/Users/mgilangjanuar/.rvm/rubies/ruby-2.6.5/bin:/Users/mgilangjanuar/.deta/bin:/Users/mgilangjanuar/.cargo/bin:/Users/mgilangjanuar/Downloads/google-cloud-sdk/bin:/Users/mgilangjanuar/.yarn/bin:/Users/mgilangjanuar/.config/yarn/global/node_modules/.bin:/Users/mgilangjanuar/.pyenv/shims:/Users/mgilangjanuar/.pyenv/bin:/Users/mgilangjanuar/Documents/apps/elasticsearch-7.6.1/bin:/usr/local/sbin:/usr/local/opt/gettext/bin:/Users/mgilangjanuar/go/bin:usr/local/sbin:/Users/mgilangjanuar/.nvm/versions/node/v16.13.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/mgilangjanuar/.cargo/bin:/Users/mgilangjanuar/.fig/bin:/Users/mgilangjanuar/.rvm/bin Yarn version: 1.22.5 Node version: - 14.17.2 + 16.13.0 Platform: darwin x64 Trace: - Error: https://registry.yarnpkg.com/@types%2frate-limiter-flexible: Not found + Error: https://registry.yarnpkg.com/@type%2fexpress-ipinfo: Not found at Request.params.callback [as _callback] (/Users/mgilangjanuar/.yarn/lib/cli.js:66988:18) at Request.self.callback (/Users/mgilangjanuar/.yarn/lib/cli.js:140749:22) - at Request.emit (events.js:375:28) + at Request.emit (node:events:390:28) at Request. (/Users/mgilangjanuar/.yarn/lib/cli.js:141721:10) - at Request.emit (events.js:375:28) + at Request.emit (node:events:390:28) at IncomingMessage. (/Users/mgilangjanuar/.yarn/lib/cli.js:141643:12) - at Object.onceWrapper (events.js:481:28) - at IncomingMessage.emit (events.js:387:35) - at endReadableNT (internal/streams/readable.js:1317:12) - at processTicksAndRejections (internal/process/task_queues.js:82:21) + at Object.onceWrapper (node:events:509:28) + at IncomingMessage.emit (node:events:402:35) + at endReadableNT (node:internal/streams/readable:1343:12) + at processTicksAndRejections (node:internal/process/task_queues:83:21) npm manifest: { "name": "server", - "version": "0.1.0", + "version": "1.0.3", "main": "dist/index.js", "license": "MIT", "private": true, @@ -38,6 +38,10 @@ npm manifest: "build": "rimraf dist && eslint --fix -c .eslintrc.js --ext .ts . && tsc" }, "dependencies": { + "@mgilangjanuar/telegram": "2.1.0", + "@sentry/node": "^6.14.1", + "@sentry/tracing": "^6.14.1", + "@types/moment": "^2.13.0", "axios": "^0.21.4", "big-integer": "^1.6.48", "compression": "^1.7.4", @@ -49,13 +53,16 @@ npm manifest: "dotenv": "^10.0.0", "express": "^4.17.1", "express-fileupload": "^1.2.1", + "express-ipinfo": "^1.0.0", "express-list-endpoints": "^6.0.0", "express-rate-limit": "^5.3.0", "flatted": "^3.2.2", "glob": "^7.1.7", "input": "^1.0.1", "is-uuid": "^1.0.2", + "json-bigint": "^1.0.0", "jsonwebtoken": "^8.5.1", + "moment": "^2.29.1", "morgan": "^1.10.0", "multer": "^1.4.3", "nanoid": "^3.1.25", @@ -64,7 +71,6 @@ npm manifest: "rate-limiter-flexible": "^2.3.1", "serialize-error": "^8.1.0", "source-map-support": "^0.5.19", - "telegram": "^1.9.6", "typeorm": "^0.2.37", "typeorm-naming-strategies": "^2.0.0", "uuid-random": "^1.3.2" @@ -1299,7 +1305,7 @@ Lockfile: dependencies: regenerator-runtime "^0.13.4" - "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.9.2": + "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== @@ -1652,6 +1658,32 @@ Lockfile: "@types/yargs" "^16.0.0" chalk "^4.0.0" + "@mgilangjanuar/telegram@2.1.0": + version "2.1.0" + resolved "https://npm.pkg.github.com/download/@mgilangjanuar/telegram/2.1.0/ec84baf0e694b8c35bbee89be1cdf4c77a26f2ea608ac07fe82abfc9df0ac60b#e0c9036ee9f455672e26270b6ea9221981be1706" + integrity sha512-0jXOzgvn/sPI6jOEIuxHZphXRcGGYF3e6WgYAWh4Gv1aETxMemqsGE0PrI6kXD7Bfwp5URsVyqH6XGwHjSDqFg== + dependencies: + "@cryptography/aes" "^0.1.1" + async-mutex "^0.3.0" + big-integer "^1.6.48" + browser-or-node "^1.3.0" + buffer "^6.0.3" + htmlparser2 "^6.1.0" + mime-types "^2.1.30" + node-localstorage "^2.1.6" + os-browserify "^0.3.0" + pako "^2.0.3" + path-browserify "^1.0.1" + process "^0.11.10" + socks "^2.6.1" + store2 "^2.12.0" + ts-custom-error "^3.2.0" + util "^0.12.4" + websocket "^1.0.34" + optionalDependencies: + bufferutil "^4.0.3" + utf-8-validate "^5.0.5" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1701,6 +1733,21 @@ Lockfile: schema-utils "^2.6.5" source-map "^0.7.3" + "@react-dnd/asap@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/asap/-/asap-4.0.0.tgz#b300eeed83e9801f51bd66b0337c9a6f04548651" + integrity sha512-0XhqJSc6pPoNnf8DhdsPHtUhRzZALVzYMTzRwV4VI6DJNJ/5xxfL9OQUwb8IH5/2x7lSf7nAZrnzUD+16VyOVQ== + + "@react-dnd/invariant@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/invariant/-/invariant-2.0.0.tgz#09d2e81cd39e0e767d7da62df9325860f24e517e" + integrity sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw== + + "@react-dnd/shallowequal@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" + integrity sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg== + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" @@ -1729,6 +1776,74 @@ Lockfile: estree-walker "^1.0.1" picomatch "^2.2.2" + "@sentry/core@6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.14.1.tgz#cbb6eae808279ae2147dd5da22ce6ab5a1cd69d1" + integrity sha512-x2MOax+adphal0ytBsvQukwN5mcxZzb5zsPZ1YWzewQk3BY+2T/DFo50iVpaWdUXsJL2FtoZVVgtpTmf+/3JPw== + dependencies: + "@sentry/hub" "6.14.1" + "@sentry/minimal" "6.14.1" + "@sentry/types" "6.14.1" + "@sentry/utils" "6.14.1" + tslib "^1.9.3" + + "@sentry/hub@6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.14.1.tgz#6a82cae35de834bd92bbcd3912a1e3029a5369de" + integrity sha512-IqANj5qKG1N+nqBsuYIwAZsXDMmO/Sc4H2zZ2MP7QvRyp0ptpJmu1oTE0r0fohIcGgIWbnIphJjw990Lp507eA== + dependencies: + "@sentry/types" "6.14.1" + "@sentry/utils" "6.14.1" + tslib "^1.9.3" + + "@sentry/minimal@6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.14.1.tgz#6fbce5b873fb096411dbb9a01ff6706ed684f2e8" + integrity sha512-rxS0YUggCSuA7EzS1ai5jU8XArk4FBHZ02gmSoSSLtwFXmeQIa9XBKY0OEFmG2LMQYNOpvcGsezDO51EB6/X9w== + dependencies: + "@sentry/hub" "6.14.1" + "@sentry/types" "6.14.1" + tslib "^1.9.3" + + "@sentry/node@^6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.14.1.tgz#475229eb0a3c7032a905a7f49888e1374499ecf3" + integrity sha512-tnEfcaF5Z7I4D619XL76sjRd7VMDitZZ7ydfA8sWGC1BPaPyyIJzVxE/a7qJBQGW7W0Oo7ctwOI1hpmfyOpPxg== + dependencies: + "@sentry/core" "6.14.1" + "@sentry/hub" "6.14.1" + "@sentry/tracing" "6.14.1" + "@sentry/types" "6.14.1" + "@sentry/utils" "6.14.1" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + + "@sentry/tracing@6.14.1", "@sentry/tracing@^6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.14.1.tgz#fadea88b505078f61b949ecd99891ddb5538f08e" + integrity sha512-Bv/+S5Wn9OPxP7sA9VYMV1wpmXWptFVIMFoG4BuyV4aFYdIAMxSNE/ktqXwmqn+nkBic04nP9rF6lMJBLIvIaA== + dependencies: + "@sentry/hub" "6.14.1" + "@sentry/minimal" "6.14.1" + "@sentry/types" "6.14.1" + "@sentry/utils" "6.14.1" + tslib "^1.9.3" + + "@sentry/types@6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.14.1.tgz#0d562a7aa91253b7843723344b4ba03a010e6376" + integrity sha512-RIk3ZwQKZnASrYWfV5i4wbzVveHz8xLFAS2ySIMqh+hICKnB0N4/r8a1Of/84j7pj+iAbf5vPS85639eIf+9qg== + + "@sentry/utils@6.14.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.14.1.tgz#cb746858665314c07cfe9b0f307b410e377032ad" + integrity sha512-GVvf0z18L4DN0a6vIBdHSlrK/Dj8QFhuiiJ8NtccSoY8xiKXQNz9FKN5d52NUNqm59aopAxcVAcs57yQSdxrZQ== + dependencies: + "@sentry/types" "6.14.1" + tslib "^1.9.3" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -2223,6 +2338,13 @@ Lockfile: resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "@types/moment@^2.13.0": + version "2.13.0" + resolved "https://registry.yarnpkg.com/@types/moment/-/moment-2.13.0.tgz#604ebd189bc3bc34a1548689404e61a2a4aac896" + integrity sha1-YE69GJvDvDShVIaJQE5hoqSqyJY= + dependencies: + moment "*" + "@types/morgan@^1.9.3": version "1.9.3" resolved "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.9.3.tgz#ae04180dff02c437312bc0cfb1e2960086b2f540" @@ -2310,6 +2432,20 @@ Lockfile: resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + "@types/react-dnd-html5-backend@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-dnd-html5-backend/-/react-dnd-html5-backend-3.0.2.tgz#f3cc8307cb9563a2896cb9fb48a09660a0e209c9" + integrity sha512-sLKCHGGoXrxbx3QX9Jerg51dRjeUKD+c+HL59ZTkut5GevxJFC8PxsVpcoMchBRd9X+GUyrsaBSXGteWCpMISw== + dependencies: + react-dnd-html5-backend "*" + + "@types/react-dnd@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-dnd/-/react-dnd-3.0.2.tgz#939e5a8ca5b83f847c3f64dabbe2f49a9fefb192" + integrity sha512-Z1BqHYGFtfSPfWs+kgX4b6wQmwwtqq4/pLo4zdO9xcDUB1ZQP8iWTAYNf3EJ2f0WiVQpSLN8UytP+ILzZHDLYw== + dependencies: + react-dnd "*" + "@types/react-dom@^16.9.8": version "16.9.14" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.14.tgz#674b8f116645fe5266b40b525777fc6bb8eb3bcd" @@ -2334,6 +2470,14 @@ Lockfile: "@types/history" "*" "@types/react" "*" + "@types/react-virtualized@^9.21.13": + version "9.21.13" + resolved "https://registry.yarnpkg.com/@types/react-virtualized/-/react-virtualized-9.21.13.tgz#4222173abe7c9ed7504c75886c8367502ac7b9f1" + integrity sha512-tCIQ5wDKj+QJ3sMzjPKSLY0AXsznt+ovAUcq+JCLjPBOcAHbPt4FraGT9HKYEFfmp9E6+ELuN49i5bWtuBmi3w== + dependencies: + "@types/prop-types" "*" + "@types/react" "*" + "@types/react@*": version "17.0.20" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.20.tgz#a4284b184d47975c71658cd69e759b6bd37c3b8c" @@ -2959,9 +3103,9 @@ Lockfile: integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" @@ -2987,6 +3131,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + antd-country-phone-input@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/antd-country-phone-input/-/antd-country-phone-input-4.2.1.tgz#88fff9ae1e67b514fd73dcdbf2a053154956c8d4" + integrity sha512-devWNRhV8GAJ3ZFG0B527CHfHZM+C2cypevvcBYGFHkyWY2K/tlg5IZ6lVakvBMp9pKqShiJ2sLFshMv6cQYDw== + antd@*, antd@^4.16.13: version "4.16.13" resolved "https://registry.yarnpkg.com/antd/-/antd-4.16.13.tgz#e9b9b4a590db28747aae1cab98981649a35880af" @@ -3243,18 +3392,18 @@ Lockfile: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-mutex@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.3.1.tgz#7033af665f1c7cebed8b878267a43ba9e77c5f67" - integrity sha512-vRfQwcqBnJTLzVQo72Sf7KIUbcSUP5hNchx6udI1U6LuPQpfePgdjJzlCe76yFZ8pxlLjn9lwcl/Ya0TSOv0Tw== + version "0.3.2" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.3.2.tgz#1485eda5bda1b0ec7c8df1ac2e815757ad1831df" + integrity sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA== dependencies: - tslib "^2.1.0" + tslib "^2.3.1" async-validator@^3.0.3: version "3.5.2" resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== - async@^2.6.2: + async@^2.1.1, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -3289,10 +3438,10 @@ Lockfile: postcss "^7.0.32" postcss-value-parser "^4.1.0" - available-typed-arrays@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" - integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== + available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== axe-core@^4.0.2: version "4.3.3" @@ -3793,6 +3942,11 @@ Lockfile: dependencies: node-int64 "^0.4.0" + buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -3836,11 +3990,11 @@ Lockfile: ieee754 "^1.2.1" bufferutil@^4.0.1, bufferutil@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" - integrity sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw== + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== dependencies: - node-gyp-build "^4.2.0" + node-gyp-build "^4.3.0" builtin-modules@^3.1.0: version "3.2.0" @@ -4278,6 +4432,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + clsx@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -4355,6 +4514,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== + colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -4520,6 +4684,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + cookie@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + cookiejar@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" @@ -4641,6 +4810,14 @@ Lockfile: less "^3.11.1" less-loader "^6.1.0" + craco-less@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/craco-less/-/craco-less-1.20.0.tgz#7f68679b84c7756f785f9c5ee4e4f795662acad1" + integrity sha512-oP7kMRFOwwCPAlS+RBfA0yt9qAfSH8EOzJOQyzspVOECDtATTLXYyEYd0ghoybbReVRZbOmGxNtPWh4ALpVRng== + dependencies: + less "^4.1.1" + less-loader "^7.3.0" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -5252,6 +5429,15 @@ Lockfile: dependencies: path-type "^4.0.0" + dnd-core@14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-14.0.1.tgz#76d000e41c494983210fb20a48b835f81a203c2e" + integrity sha512-+PVS2VPTgKFPYWo3vAFEA8WPbTf7/xo43TifH9G8S1KqnrQu0o77A3unrF5yOugy4mIz7K5wAVFHUcha7wsz6A== + dependencies: + "@react-dnd/asap" "^4.0.0" + "@react-dnd/invariant" "^2.0.0" + redux "^4.1.1" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -5303,6 +5489,14 @@ Lockfile: dependencies: utila "~0.4" + dom-helpers@^5.1.3: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -5540,7 +5734,7 @@ Lockfile: dependencies: stackframe "^1.1.1" - es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2, es-abstract@^1.18.5: + es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: version "1.18.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== @@ -5563,6 +5757,32 @@ Lockfile: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" + es-abstract@^1.18.5: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -6032,6 +6252,20 @@ Lockfile: dependencies: busboy "^0.3.1" + express-geoip@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/express-geoip/-/express-geoip-2.4.0.tgz#7e583f160a2478f193a62597962fd4e7796731b8" + integrity sha512-gXKJjBtXc3e3JfUK8vU+GSbVcASFLNxho0lp0kZlQph3Lz1O3HQfxsmXc1jkSqi+mkMlXfi0lMEF/+ZbQi+yrA== + dependencies: + geoip-lite "^1.3.4" + + express-ipinfo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/express-ipinfo/-/express-ipinfo-1.0.0.tgz#201d7df0cde227cb56558ea967df326addd6197e" + integrity sha512-zN8dHll8io8MHU8bHLQTIBu9buIUbTf0R7hrKaQZYzFf2e4bQlB+pwVLcFcOn6JJMLBWrtt4eBhxe19slB4twg== + dependencies: + express-geoip "^2.3.1" + express-list-endpoints@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/express-list-endpoints/-/express-list-endpoints-6.0.0.tgz#903f000b0cc954bbc35ca44e7aa3917e5292d0c2" @@ -6171,6 +6405,13 @@ Lockfile: dependencies: bser "2.1.1" + fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -6473,6 +6714,19 @@ Lockfile: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + geoip-lite@^1.3.4: + version "1.4.2" + resolved "https://registry.yarnpkg.com/geoip-lite/-/geoip-lite-1.4.2.tgz#f41dc50086cce3bc31a6d2d578cad1c37f9f17b3" + integrity sha512-1rUNqar68+ldSSlSMdpLZPAM+NRokIDzB2lpQFRHSOaDVqtmy25jTAWe0lM2GqWFeaA35RiLhF8GF0vvL+qOKA== + dependencies: + async "^2.1.1" + colors "^1.1.2" + iconv-lite "^0.4.13" + ip-address "^5.8.9" + lazy "^1.0.11" + rimraf "^2.5.2" + yauzl "^2.9.2" + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -6521,6 +6775,14 @@ Lockfile: dependencies: pump "^3.0.0" + get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-uri@3: version "3.0.2" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" @@ -6815,7 +7077,7 @@ Lockfile: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" - hoist-non-react-statics@^3.1.0: + hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -7000,7 +7262,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - iconv-lite@0.4.24: + iconv-lite@0.4.24, iconv-lite@^0.4.13, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -7216,6 +7478,15 @@ Lockfile: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + ip-address@^5.8.9: + version "5.9.4" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.9.4.tgz#4660ac261ad61bd397a860a007f7e98e4eaee386" + integrity sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw== + dependencies: + jsbn "1.1.0" + lodash "^4.17.15" + sprintf-js "1.1.2" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -7325,7 +7596,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-callable@^1.1.4, is-callable@^1.2.3: + is-callable@^1.1.4, is-callable@^1.2.3, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== @@ -7573,7 +7844,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-regex@^1.0.4, is-regex@^1.1.3: + is-regex@^1.0.4, is-regex@^1.1.3, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -7596,6 +7867,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -7606,7 +7882,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - is-string@^1.0.5, is-string@^1.0.6: + is-string@^1.0.5, is-string@^1.0.6, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== @@ -7620,12 +7896,12 @@ Lockfile: dependencies: has-symbols "^1.0.2" - is-typed-array@^1.1.3, is-typed-array@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.7.tgz#881ddc660b13cb8423b2090fa88c0fe37a83eb2f" - integrity sha512-VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA== + is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== dependencies: - available-typed-arrays "^1.0.4" + available-typed-arrays "^1.0.5" call-bind "^1.0.2" es-abstract "^1.18.5" foreach "^2.0.5" @@ -7641,6 +7917,13 @@ Lockfile: resolved "https://registry.yarnpkg.com/is-uuid/-/is-uuid-1.0.2.tgz#ad1898ddf154947c25c8e54966f48604e9caecc4" integrity sha1-rRiY3fFUlHwlyOVJZvSGBOnK7MQ= + is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + is-what@^3.12.0: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" @@ -8211,6 +8494,11 @@ Lockfile: dependencies: argparse "^2.0.1" + jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA= + jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -8447,6 +8735,11 @@ Lockfile: dependencies: package-json "^6.3.0" + lazy@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" + integrity sha1-2qBoIGKCVCwIgojpdcKXwa53tpA= + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -8464,6 +8757,15 @@ Lockfile: loader-utils "^2.0.0" schema-utils "^2.7.0" + less-loader@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.3.0.tgz#f9d6d36d18739d642067a05fb5bd70c8c61317e5" + integrity sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg== + dependencies: + klona "^2.0.4" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + less-vars-to-js@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/less-vars-to-js/-/less-vars-to-js-1.3.0.tgz#c322cf43a3c8fc3fab655da3e51a14c1499ab571" @@ -8487,6 +8789,23 @@ Lockfile: native-request "^1.0.5" source-map "~0.6.0" + less@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" + integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^2.5.2" + source-map "~0.6.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -8749,6 +9068,11 @@ Lockfile: dependencies: yallist "^4.0.0" + lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= + lz-string@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" @@ -9269,13 +9593,25 @@ Lockfile: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== - mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@^2.1.32, mime-types@~2.1.17, mime-types@~2.1.24: + mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.32, mime-types@~2.1.17, mime-types@~2.1.24: version "2.1.32" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== dependencies: mime-db "1.49.0" + mime-types@^2.1.30: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -9418,7 +9754,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - moment@^2.24.0, moment@^2.25.3: + moment@*, moment@^2.24.0, moment@^2.25.3, moment@^2.29.1: version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== @@ -9551,6 +9887,15 @@ Lockfile: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + needle@^2.5.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -9589,10 +9934,10 @@ Lockfile: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== + node-gyp-build@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== node-int64@^0.4.0: version "0.4.0" @@ -9760,9 +10105,9 @@ Lockfile: boolbase "~1.0.0" nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I= sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==" dependencies: boolbase "^1.0.0" @@ -10190,6 +10535,11 @@ Lockfile: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" + parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + parse5-htmlparser2-tree-adapter@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" @@ -10317,6 +10667,11 @@ Lockfile: safe-buffer "^5.0.1" sha.js "^2.4.8" + pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -11887,6 +12242,24 @@ Lockfile: strip-ansi "6.0.0" text-table "0.2.0" + react-dnd-html5-backend@*: + version "14.0.2" + resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-14.0.2.tgz#25019388f6abdeeda3a6fea835dff155abb2085c" + integrity sha512-QgN6rYrOm4UUj6tIvN8ovImu6uP48xBXF2rzVsp6tvj6d5XQ7OjHI4SJ/ZgGobOneRAU3WCX4f8DGCYx0tuhlw== + dependencies: + dnd-core "14.0.1" + + react-dnd@*, react-dnd@^14.0.4: + version "14.0.4" + resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-14.0.4.tgz#ffb4ea0e2a3a5532f9c6294d565742008a52b8b0" + integrity sha512-AFJJXzUIWp5WAhgvI85ESkDCawM0lhoVvfo/lrseLXwFdH3kEO3v8I2C81QPqBW2UEyJBIPStOhPMGYGFtq/bg== + dependencies: + "@react-dnd/invariant" "^2.0.0" + "@react-dnd/shallowequal" "^2.0.0" + dnd-core "14.0.1" + fast-deep-equal "^3.1.3" + hoist-non-react-statics "^3.3.2" + react-dom@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" @@ -11930,6 +12303,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + react-markdown@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-7.0.1.tgz#c7365fcd7d1813b3ae68f2200e8f92d47d865627" @@ -12021,7 +12399,7 @@ Lockfile: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" - react-scripts@4.0.3: + react-scripts@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.3.tgz#b1cafed7c3fa603e7628ba0f187787964cb5d345" integrity sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A== @@ -12104,6 +12482,18 @@ Lockfile: dependencies: loadjs "^4.2.0" + react-virtualized@^9.22.3: + version "9.22.3" + resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" + integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== + dependencies: + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.4" + react@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -12237,6 +12627,13 @@ Lockfile: indent-string "^4.0.0" strip-indent "^3.0.0" + redux@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" + integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== + dependencies: + "@babel/runtime" "^7.9.2" + reflect-metadata@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" @@ -12557,7 +12954,7 @@ Lockfile: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - rimraf@^2.5.4, rimraf@^2.6.3: + rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -12698,7 +13095,7 @@ Lockfile: schema-utils "^3.0.0" semver "^7.3.2" - sax@>=0.6.0, sax@~1.2.4: + sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -13198,6 +13595,11 @@ Lockfile: dependencies: readable-stream "^3.0.0" + sprintf-js@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -13626,33 +14028,6 @@ Lockfile: mkdirp "^1.0.3" yallist "^4.0.0" - telegram@^1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/telegram/-/telegram-1.9.6.tgz#63107e3642d25c01249841f58e88e5c03afd7c25" - integrity sha512-2xEYT8ZxnpS5pXaSFCxSHqx3ub2nQhO5BU15CQ/PAmpn2cD6qJ58b2HcrbYoAozU5sxdRH4/2WWfwYv2gevUNw== - dependencies: - "@cryptography/aes" "^0.1.1" - async-mutex "^0.3.0" - big-integer "^1.6.48" - browser-or-node "^1.3.0" - buffer "^6.0.3" - htmlparser2 "^6.1.0" - mime-types "^2.1.30" - node-localstorage "^2.1.6" - os-browserify "^0.3.0" - pako "^2.0.3" - path-browserify "^1.0.1" - process "^0.11.10" - socks "^2.6.1" - store2 "^2.12.0" - ts-custom-error "^3.2.0" - ts-mixer "^6.0.0" - util "^0.12.4" - websocket "^1.0.34" - optionalDependencies: - bufferutil "^4.0.3" - utf-8-validate "^5.0.5" - temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" @@ -13807,9 +14182,9 @@ Lockfile: integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-arraybuffer@^1.0.0: version "1.0.1" @@ -13906,11 +14281,6 @@ Lockfile: resolved "https://registry.yarnpkg.com/ts-custom-error/-/ts-custom-error-3.2.0.tgz#ff8f80a3812bab9dc448536312da52dce1b720fb" integrity sha512-cBvC2QjtvJ9JfWLvstVnI45Y46Y5dMxIaG1TDMGAD/R87hpvqFL+7LhvUDhnRCfOnx/xitollFWWvUKKKhbN0A== - ts-mixer@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.0.tgz#4e631d3a36e3fa9521b973b132e8353bc7267f9f" - integrity sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ== - ts-pnp@1.2.0, ts-pnp@^1.1.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" @@ -13926,12 +14296,12 @@ Lockfile: minimist "^1.2.0" strip-bom "^3.0.0" - tslib@^1.10.0, tslib@^1.8.1: + tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0: + tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -14331,11 +14701,11 @@ Lockfile: integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== utf-8-validate@^5.0.2, utf-8-validate@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" - integrity sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ== + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== dependencies: - node-gyp-build "^4.2.0" + node-gyp-build "^4.3.0" util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" @@ -14720,16 +15090,16 @@ Lockfile: integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which-typed-array@^1.1.2: - version "1.1.6" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.6.tgz#f3713d801da0720a7f26f50c596980a9f5c8b383" - integrity sha512-DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q== + version "1.1.7" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== dependencies: - available-typed-arrays "^1.0.4" + available-typed-arrays "^1.0.5" call-bind "^1.0.2" es-abstract "^1.18.5" foreach "^2.0.5" has-tostringtag "^1.0.0" - is-typed-array "^1.1.6" + is-typed-array "^1.1.7" which@^1.2.9, which@^1.3.1: version "1.3.1" @@ -14924,6 +15294,11 @@ Lockfile: dependencies: microevent.ts "~0.1.1" + world_countries_lists@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/world_countries_lists/-/world_countries_lists-2.3.0.tgz#8eca03dc6b77c5314cd43e01c2ba5c1c50f3910e" + integrity sha512-8ZaWCBBZyZ/hQjRgUMaifF2qt7XlVQseYMXozc/r6WO7ONZPo6xlcQmB7wTMUDM7paqZqvxUcvNSewY3LTrvrA== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -15188,6 +15563,14 @@ Lockfile: y18n "^3.2.1" yargs-parser "^7.0.0" + yauzl@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" diff --git a/web/package.json b/web/package.json index 4cf8d5bd3..7fa2e18ee 100644 --- a/web/package.json +++ b/web/package.json @@ -1,10 +1,11 @@ { "name": "web", - "version": "1.0.3", + "version": "1.1.0", "private": true, "dependencies": { "@craco/craco": "^6.3.0", "antd": "^4.16.13", + "antd-country-phone-input": "^4.2.1", "axios": "^0.21.4", "clipboardy": "^2.3.0", "craco-antd": "^1.19.0", @@ -14,9 +15,11 @@ "qs": "^6.10.1", "react": "^17.0.2", "react-chat-elements": "^10.16.0", + "react-dnd": "^14.0.4", "react-dom": "^17.0.2", "react-github-btn": "^1.2.1", "react-markdown": "^7.0.1", + "react-otp-input": "^2.4.0", "react-paypal-button-v2": "^2.6.3", "react-qr-code": "^2.0.2", "react-router-dom": "^5.3.0", @@ -27,7 +30,8 @@ "swr": "^1.0.0", "typescript": "^4.0.3", "use-debounce": "^7.0.0", - "web-vitals": "^0.2.4" + "web-vitals": "^0.2.4", + "world_countries_lists": "^2.3.0" }, "scripts": { "start": "craco start", @@ -67,7 +71,10 @@ "@types/pretty-bytes": "^5.2.0", "@types/qs": "^6.9.7", "@types/react": "^16.9.53", + "@types/react-dnd": "^3.0.2", + "@types/react-dnd-html5-backend": "^3.0.2", "@types/react-dom": "^16.9.8", + "@types/react-otp-input": "^2.0.1", "@types/react-router-dom": "^5.1.8", "@types/react-virtualized": "^9.21.13", "@typescript-eslint/eslint-plugin": "^4.31.0", diff --git a/web/src/App.tsx b/web/src/App.tsx index b94f3946e..aa1bb2f71 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -6,6 +6,7 @@ import useSWR from 'swr' import { fetcher } from './utils/Fetcher' import './App.less' +import 'antd-country-phone-input/dist/index.css' const Dashboard = lazy( () => import(/* webpackChunkName: 'DashboardPage' */ './pages/dashboard') diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx index 54c51af32..0147b2eff 100644 --- a/web/src/pages/Home.tsx +++ b/web/src/pages/Home.tsx @@ -37,7 +37,7 @@ const Home: React.FC = () => { TeleDrive - Free unlimited cloud storage service using the Telegram API | Product Hunt - + Star diff --git a/web/src/pages/Login.tsx b/web/src/pages/Login.tsx index c1d7598ca..848551827 100644 --- a/web/src/pages/Login.tsx +++ b/web/src/pages/Login.tsx @@ -1,10 +1,13 @@ -import { LoginOutlined } from '@ant-design/icons' -import { Button, Card, Col, Form, Input, Layout, notification, Row, Typography } from 'antd' +import { ArrowRightOutlined, LoginOutlined } from '@ant-design/icons' +import { Button, Card, Col, Form, Input, Layout, notification, Row, Steps, Typography } from 'antd' +import CountryPhoneInput, { ConfigProvider } from 'antd-country-phone-input' import { useForm } from 'antd/lib/form/Form' import JSCookie from 'js-cookie' import React, { useEffect, useState } from 'react' +import OtpInput from 'react-otp-input' import { useHistory } from 'react-router' import useSWRImmutable from 'swr/immutable' +import en from 'world_countries_lists/data/en/world.json' import { fetcher, req } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' @@ -12,14 +15,19 @@ import Navbar from './components/Navbar' const Login: React.FC = () => { const history = useHistory() const [formLogin] = useForm() + const [currentStep, setCurrentStep] = useState(0) + const [phoneData, setPhoneData] = useState<{ phone?: string, code?: number, short?: string }>({}) + const [otp, setOtp] = useState() const [loadingSendCode, setLoadingSendCode] = useState() const [loadingLogin, setLoadingLogin] = useState() const [countdown, setCountdown] = useState() const [phoneCodeHash, setPhoneCodeHash] = useState() const [needPassword, setNeedPassword] = useState() const { data: me } = useSWRImmutable('/users/me', fetcher) + const { data: _ } = useSWRImmutable('/utils/ipinfo', fetcher, { onSuccess: ({ ipinfo }) => setPhoneData({ short: ipinfo?.country || 'ID' }) }) - const sendCode = async (phoneNumber: string) => { + const sendCode = async (phoneNumber?: string) => { + phoneNumber = phoneNumber || phoneData.phone ? `+${phoneData.code}${phoneData.phone}` : '' if (!phoneNumber) { return notification.error({ message: 'Error', @@ -40,6 +48,7 @@ const Login: React.FC = () => { try { setLoadingSendCode(true) await fetch(phoneCodeHash) + setCurrentStep(currentStep + 1) } catch (error: any) { setLoadingSendCode(false) notification.error({ @@ -54,13 +63,12 @@ const Login: React.FC = () => { const login = async () => { if (!phoneCodeHash) { - return notification.error({ - message: 'Error', - description: 'Please send code first' - }) + return sendCode() } setLoadingLogin(true) - const { phoneNumber, phoneCode, password } = formLogin.getFieldsValue() + const phoneNumber = `+${phoneData.code}${phoneData.phone}` + const phoneCode = otp + const { password } = formLogin.getFieldsValue() try { const { data } = await req.post('/auth/login', { ...needPassword ? { password } : { phoneNumber, phoneCode, phoneCodeHash } }) setLoadingLogin(false) @@ -68,7 +76,11 @@ const Login: React.FC = () => { message: 'Success', description: `Welcome back, ${data.user.username}!` }) - return history.replace('/dashboard') + history.replace('/dashboard') + return notification.info({ + message: 'Info', + description: 'Please wait a moment...' + }) } catch (error: any) { setLoadingLogin(false) const { data } = error?.response @@ -77,6 +89,7 @@ const Login: React.FC = () => { message: 'Info', description: 'Please input your 2FA password' }) + setCurrentStep(currentStep + 1) return setNeedPassword(true) } return notification.error({ @@ -106,26 +119,58 @@ const Login: React.FC = () => { - - Welcome! + + Login with Telegram Please download Telegram app and login with your account. -
- - - - - - - - - - + + + + {needPassword && } + + + + {currentStep === 0 && <> + + + setPhoneData(e)} /> + + {/* */} + + + + + } + + {currentStep === 1 && <> + + + {/* */} + + + + + } + + {currentStep === 2 && <> + + + + + } + +
diff --git a/web/src/pages/dashboard/components/Messaging.tsx b/web/src/pages/dashboard/components/Messaging.tsx index 532f06518..6ca0728bd 100644 --- a/web/src/pages/dashboard/components/Messaging.tsx +++ b/web/src/pages/dashboard/components/Messaging.tsx @@ -150,6 +150,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => position: me?.user.tg_id == user?.id ? 'right' : 'left', type: 'file', title: user ? user.title || `${user.firstName || ''} ${user.lastName || ''}`.trim() : 'Unknown', + onTitleClick: () => user?.username ? window.open(`https://t.me/${user?.username}`, '_blank') : undefined, titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, text: `${fileTitle.slice(0, 20)}${fileTitle.length > 20 ? '...' : ''}`, message: `${fileTitle.slice(0, 20)}${fileTitle.length > 20 ? '...' : ''}`, @@ -184,6 +185,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => type: 'text', status: me?.user.tg_id == user?.id ? msg.id <= dialog?.dialog?.readOutboxMaxId ? 'read' : 'received' : undefined, title: user ? user.title || `${user.firstName || ''} ${user.lastName || ''}`.trim() : 'Unknown', + onTitleClick: () => user?.username ? window.open(`https://t.me/${user?.username}`, '_blank') : undefined, text: {msg.message ? `${msg.message.replaceAll('\n', ' \n')}${msg.editDate && !msg.editHide ? '\n\n_(edited)_' : ''}${msg.fwdFrom ? '\n\n_(forwarded)_' : ''}` : 'Unknown message'}, message: msg.message, fwdFrom: msg.fwdFrom, @@ -210,6 +212,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => type: 'text', // status: me?.user.tg_id == user?.id ? msg.id <= dialog?.dialog?.readOutboxMaxId ? 'read' : 'received' : undefined, title: user ? user.title || `${user.firstName || ''} ${user.lastName || ''}`.trim() : 'Unknown', + onTitleClick: () => user?.username ? window.open(`https://t.me/${user?.username}`, '_blank') : undefined, text: {msg.message ? `${msg.message.replaceAll('\n', ' \n')}\n\n_(sponsored message)_` : 'Unknown message'}, message: msg.message, fwdFrom: msg.fwdFrom, diff --git a/web/src/pages/dashboard/components/TableFiles.tsx b/web/src/pages/dashboard/components/TableFiles.tsx index de5cb5615..210e8ae71 100644 --- a/web/src/pages/dashboard/components/TableFiles.tsx +++ b/web/src/pages/dashboard/components/TableFiles.tsx @@ -1,4 +1,5 @@ import { + ArrowRightOutlined, AudioOutlined, BranchesOutlined, CopyOutlined, @@ -12,16 +13,17 @@ import { GlobalOutlined, ScissorOutlined, ShareAltOutlined, - ArrowRightOutlined, SnippetsOutlined, TeamOutlined, VideoCameraOutlined } from '@ant-design/icons' -import { Button, Menu, Table } from 'antd' +import { Button, Descriptions, Menu, Table } from 'antd' import { SorterResult } from 'antd/lib/table/interface' import moment from 'moment' import prettyBytes from 'pretty-bytes' -import React, { useEffect, useRef, useState } from 'react' +import React, { useCallback, useEffect, useRef, useState } from 'react' +import { DndProvider, useDrag, useDrop } from 'react-dnd' +import { HTML5Backend } from 'react-dnd-html5-backend' import { apiUrl } from '../../../utils/Fetcher' interface Props { @@ -35,6 +37,7 @@ interface Props { onCut?: (row: any) => void, onCopy?: (row: any) => void, onPaste?: (rows: any[]) => void, + onCutAndPaste?: (dragRow: any, hoverRow: any) => void, loading?: boolean, sorterData?: SorterResult, dataSource: any[], @@ -53,6 +56,7 @@ const TableFiles: React.FC = ({ onCut, onCopy, onPaste, + onCutAndPaste, loading, sorterData, dataSource, @@ -221,37 +225,96 @@ const TableFiles: React.FC = ({ } ] + const DraggableBodyRow = ({ index, moveRow, className, style, ...restProps }) => { + const ref = useRef() + const [{ isOver, dropClassName }, drop] = useDrop({ + accept: 'DraggableBodyRow', + collect: (monitor: any) => { + const { index: dragIndex } = monitor.getItem() || {} + if (dragIndex === index) { + return {} + } + return { + isOver: monitor.isOver(), + dropClassName: dragIndex < index ? ' drop-over-downward' : ' drop-over-upward', + } + }, + drop: (item: any) => { + moveRow(item.index, index) + }, + }) + const [, drag] = useDrag({ + type: 'DraggableBodyRow', + item: { index }, + collect: monitor => ({ + isDragging: monitor.isDragging(), + }), + }) + drop(drag(ref)) + + return ( + + ) + } + return <> - row.key), onChange: (_: React.Key[], rows: any[]) => setSelected(rows) }} - dataSource={dataSource} - columns={columns as any} - onChange={onChange} - pagination={false} - scroll={{ x: 340 }} - onRow={row => ({ - onContextMenu: e => { - if (tab !== 'mine') return + +
row.key), onChange: (_: React.Key[], rows: any[]) => setSelected(rows) }} + dataSource={dataSource} + columns={columns as any} + components={{ + body: { + row: DraggableBodyRow + } + }} + onChange={onChange} + pagination={false} + scroll={{ x: 330 }} + onRow={(row, index) => ({ + index, + moveRow: useCallback((dragIndex, hoverIndex) => { + const hoverRow = dataSource[hoverIndex] + const dragRow = dataSource[dragIndex] + if (hoverRow.type === 'folder') { + onCutAndPaste?.(dragRow, hoverRow) + } + }, [dataSource, selected]), + onContextMenu: e => { + if (tab !== 'mine') return - e.preventDefault() - if (!popup?.visible) { - document.addEventListener('click', function onClickOutside() { - setPopup({ visible: false }) - document.removeEventListener('click', onClickOutside) + e.preventDefault() + if (!popup?.visible) { + document.addEventListener('click', function onClickOutside() { + setPopup({ visible: false }) + document.removeEventListener('click', onClickOutside) + }) + } + const parent = document.querySelector('.ant-col-24.ant-col-md-20.ant-col-md-offset-2') + setPopup({ + row, + visible: true, + x: e.clientX - (parent?.getBoundingClientRect().left || 0), + y: e.clientY - (parent?.getBoundingClientRect().top || 0) }) } - const parent = document.querySelector('.ant-col-24.ant-col-md-20.ant-col-md-offset-2') - setPopup({ - row, - visible: true, - x: e.clientX - (parent?.getBoundingClientRect().left || 0), - y: e.clientY - (parent?.getBoundingClientRect().top || 0) - }) - } - })} /> + })} + expandable={window.innerWidth < 752 ? { + expandedRowRender: (row: any) => + {row.size ? prettyBytes(Number(row.size)) : '-'} + {row.upload_progress !== null ? <>Uploading {Number((row.upload_progress * 100).toFixed(2))}% : moment(row.uploaded_at).local().format('lll')} + , + rowExpandable: (_: any) => window.innerWidth < 752, + } : undefined} /> + } diff --git a/web/src/pages/dashboard/index.tsx b/web/src/pages/dashboard/index.tsx index d0ca3ef9a..27cb2b300 100644 --- a/web/src/pages/dashboard/index.tsx +++ b/web/src/pages/dashboard/index.tsx @@ -222,22 +222,22 @@ const Dashboard: React.FC = ({ match }) => { fetch(pagination, filters, sorter, actions) } - const paste = async (rows: any[]) => { - rows = rows?.filter(row => row.id !== parent?.id && !row.link_id) + const paste = async (rows: any[], p: any = parent, act?: string) => { + rows = rows?.filter(row => row.id !== p?.id && !row.link_id) setLoading(true) try { - if (action === 'copy') { + if ((act || action) === 'copy') { await Promise.all(rows?.map(async row => { if (row.type === 'folder') { const name = `Link of ${row.name}` - await req.post('/files', { file: { ...row, name, link_id: row.id, parent_id: parent?.link_id || parent?.id, id: undefined } }) + await req.post('/files', { file: { ...row, name, link_id: row.id, parent_id: p?.link_id || p?.id, id: undefined } }) } else { const name = data?.find(datum => datum.name === row.name) ? `Copy of ${row.name}` : row.name - await req.post('/files', { file: { ...row, name, parent_id: parent?.link_id || parent?.id, id: undefined } }) + await req.post('/files', { file: { ...row, name, parent_id: p?.link_id || p?.id, id: undefined } }) } })) - } else if (action === 'cut') { - await Promise.all(rows?.map(async row => await req.patch(`/files/${row.id}`, { file: { parent_id: parent?.link_id || parent?.id } }))) + } else if ((act || action) === 'cut') { + await Promise.all(rows?.map(async row => await req.patch(`/files/${row.id}`, { file: { parent_id: p?.link_id || p?.id } }))) } } catch (error) { // ignore @@ -252,7 +252,7 @@ const Dashboard: React.FC = ({ match }) => { setLoading(false) notification.success({ message: 'Success', - description: `Files are ${action === 'cut' ? 'moved' : 'copied'} successfully!` + description: `${rows?.length || 0} files are ${(act || action) === 'cut' ? 'moved' : 'copied'} successfully!` }) setAction(undefined) } @@ -389,6 +389,14 @@ const Dashboard: React.FC = ({ match }) => { setAction('cut') }} onPaste={rows => paste(rows)} + onCutAndPaste={(dragRow, destination) => { + let rows = selected + if (!selected?.find(select => select.id === dragRow.id)) { + setSelected([dragRow]) + rows = [dragRow] + } + paste(rows, destination, 'cut') + }} dataSource={data} sorterData={dataChanges?.sorter as SorterResult} dataSelect={[selected, setSelected]} @@ -426,7 +434,9 @@ const Dashboard: React.FC = ({ match }) => { dataSource={[data, setData]} dataSelect={[selectShare, setSelectShare]} /> + + Sync confirmation } diff --git a/yarn.lock b/yarn.lock index c1e3b75a5..f052643f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1544,10 +1544,10 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" -"@mgilangjanuar/telegram@2.0.15": - version "2.0.15" - resolved "https://npm.pkg.github.com/download/@mgilangjanuar/telegram/2.0.15/82fd03396c6b767c7529c4c5ad83a51ca94daed2a9945e6a31356e0a2ecb4ab4#a07f6f545ae6d3001c57b70beba1184c81121287" - integrity sha512-3JiF4IGzkhgJO6CYV9tabedygPBXJi8BS8cKrW1XRwPMioRd+HEJVq4FCeXatDKeShsQLGUGd15t63NTJs+tWw== +"@mgilangjanuar/telegram@2.1.0": + version "2.1.0" + resolved "https://npm.pkg.github.com/download/@mgilangjanuar/telegram/2.1.0/ec84baf0e694b8c35bbee89be1cdf4c77a26f2ea608ac07fe82abfc9df0ac60b#e0c9036ee9f455672e26270b6ea9221981be1706" + integrity sha512-0jXOzgvn/sPI6jOEIuxHZphXRcGGYF3e6WgYAWh4Gv1aETxMemqsGE0PrI6kXD7Bfwp5URsVyqH6XGwHjSDqFg== dependencies: "@cryptography/aes" "^0.1.1" async-mutex "^0.3.0" @@ -1619,6 +1619,21 @@ schema-utils "^2.6.5" source-map "^0.7.3" +"@react-dnd/asap@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/asap/-/asap-4.0.0.tgz#b300eeed83e9801f51bd66b0337c9a6f04548651" + integrity sha512-0XhqJSc6pPoNnf8DhdsPHtUhRzZALVzYMTzRwV4VI6DJNJ/5xxfL9OQUwb8IH5/2x7lSf7nAZrnzUD+16VyOVQ== + +"@react-dnd/invariant@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/invariant/-/invariant-2.0.0.tgz#09d2e81cd39e0e767d7da62df9325860f24e517e" + integrity sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw== + +"@react-dnd/shallowequal@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" + integrity sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg== + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" @@ -2303,6 +2318,20 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/react-dnd-html5-backend@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-dnd-html5-backend/-/react-dnd-html5-backend-3.0.2.tgz#f3cc8307cb9563a2896cb9fb48a09660a0e209c9" + integrity sha512-sLKCHGGoXrxbx3QX9Jerg51dRjeUKD+c+HL59ZTkut5GevxJFC8PxsVpcoMchBRd9X+GUyrsaBSXGteWCpMISw== + dependencies: + react-dnd-html5-backend "*" + +"@types/react-dnd@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-dnd/-/react-dnd-3.0.2.tgz#939e5a8ca5b83f847c3f64dabbe2f49a9fefb192" + integrity sha512-Z1BqHYGFtfSPfWs+kgX4b6wQmwwtqq4/pLo4zdO9xcDUB1ZQP8iWTAYNf3EJ2f0WiVQpSLN8UytP+ILzZHDLYw== + dependencies: + react-dnd "*" + "@types/react-dom@^16.9.8": version "16.9.14" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.14.tgz#674b8f116645fe5266b40b525777fc6bb8eb3bcd" @@ -2310,6 +2339,13 @@ dependencies: "@types/react" "^16" +"@types/react-otp-input@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/react-otp-input/-/react-otp-input-2.0.1.tgz#b35d723dae497a79117b2cde5db59c613a5ecc2b" + integrity sha512-fhkO7N/rds9cJAhY2gpeE7kLK3hCvRD+t5KmIKk4zAGoGd1RCbSAir/pXTDwWdh8Pt87h2aarDzuqmZymxXZ4g== + dependencies: + "@types/react" "*" + "@types/react-router-dom@^5.1.8": version "5.1.8" resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.8.tgz#bf3e1c8149b3d62eaa206d58599de82df0241192" @@ -2988,6 +3024,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +antd-country-phone-input@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/antd-country-phone-input/-/antd-country-phone-input-4.2.1.tgz#88fff9ae1e67b514fd73dcdbf2a053154956c8d4" + integrity sha512-devWNRhV8GAJ3ZFG0B527CHfHZM+C2cypevvcBYGFHkyWY2K/tlg5IZ6lVakvBMp9pKqShiJ2sLFshMv6cQYDw== + antd@*, antd@^4.16.13: version "4.16.13" resolved "https://registry.yarnpkg.com/antd/-/antd-4.16.13.tgz#e9b9b4a590db28747aae1cab98981649a35880af" @@ -3255,7 +3296,7 @@ async-validator@^3.0.3: resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== -async@^2.6.2: +async@^2.1.1, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -3794,6 +3835,11 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -4361,6 +4407,11 @@ colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -5271,6 +5322,15 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dnd-core@14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-14.0.1.tgz#76d000e41c494983210fb20a48b835f81a203c2e" + integrity sha512-+PVS2VPTgKFPYWo3vAFEA8WPbTf7/xo43TifH9G8S1KqnrQu0o77A3unrF5yOugy4mIz7K5wAVFHUcha7wsz6A== + dependencies: + "@react-dnd/asap" "^4.0.0" + "@react-dnd/invariant" "^2.0.0" + redux "^4.1.1" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -6085,6 +6145,20 @@ express-fileupload@^1.2.1: dependencies: busboy "^0.3.1" +express-geoip@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/express-geoip/-/express-geoip-2.4.0.tgz#7e583f160a2478f193a62597962fd4e7796731b8" + integrity sha512-gXKJjBtXc3e3JfUK8vU+GSbVcASFLNxho0lp0kZlQph3Lz1O3HQfxsmXc1jkSqi+mkMlXfi0lMEF/+ZbQi+yrA== + dependencies: + geoip-lite "^1.3.4" + +express-ipinfo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/express-ipinfo/-/express-ipinfo-1.0.0.tgz#201d7df0cde227cb56558ea967df326addd6197e" + integrity sha512-zN8dHll8io8MHU8bHLQTIBu9buIUbTf0R7hrKaQZYzFf2e4bQlB+pwVLcFcOn6JJMLBWrtt4eBhxe19slB4twg== + dependencies: + express-geoip "^2.3.1" + express-list-endpoints@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/express-list-endpoints/-/express-list-endpoints-6.0.0.tgz#903f000b0cc954bbc35ca44e7aa3917e5292d0c2" @@ -6224,6 +6298,13 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -6526,6 +6607,19 @@ gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +geoip-lite@^1.3.4: + version "1.4.2" + resolved "https://registry.yarnpkg.com/geoip-lite/-/geoip-lite-1.4.2.tgz#f41dc50086cce3bc31a6d2d578cad1c37f9f17b3" + integrity sha512-1rUNqar68+ldSSlSMdpLZPAM+NRokIDzB2lpQFRHSOaDVqtmy25jTAWe0lM2GqWFeaA35RiLhF8GF0vvL+qOKA== + dependencies: + async "^2.1.1" + colors "^1.1.2" + iconv-lite "^0.4.13" + ip-address "^5.8.9" + lazy "^1.0.11" + rimraf "^2.5.2" + yauzl "^2.9.2" + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -6876,7 +6970,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.1.0: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -7061,7 +7155,7 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.13, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -7277,6 +7371,15 @@ invert-kv@^1.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= +ip-address@^5.8.9: + version "5.9.4" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.9.4.tgz#4660ac261ad61bd397a860a007f7e98e4eaee386" + integrity sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw== + dependencies: + jsbn "1.1.0" + lodash "^4.17.15" + sprintf-js "1.1.2" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -8284,6 +8387,11 @@ js-yaml@^4.0.0: dependencies: argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA= + jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -8520,6 +8628,11 @@ latest-version@^5.0.0: dependencies: package-json "^6.3.0" +lazy@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" + integrity sha1-2qBoIGKCVCwIgojpdcKXwa53tpA= + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -10447,6 +10560,11 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -12017,6 +12135,24 @@ react-dev-utils@^11.0.3: strip-ansi "6.0.0" text-table "0.2.0" +react-dnd-html5-backend@*: + version "14.0.2" + resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-14.0.2.tgz#25019388f6abdeeda3a6fea835dff155abb2085c" + integrity sha512-QgN6rYrOm4UUj6tIvN8ovImu6uP48xBXF2rzVsp6tvj6d5XQ7OjHI4SJ/ZgGobOneRAU3WCX4f8DGCYx0tuhlw== + dependencies: + dnd-core "14.0.1" + +react-dnd@*, react-dnd@^14.0.4: + version "14.0.4" + resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-14.0.4.tgz#ffb4ea0e2a3a5532f9c6294d565742008a52b8b0" + integrity sha512-AFJJXzUIWp5WAhgvI85ESkDCawM0lhoVvfo/lrseLXwFdH3kEO3v8I2C81QPqBW2UEyJBIPStOhPMGYGFtq/bg== + dependencies: + "@react-dnd/invariant" "^2.0.0" + "@react-dnd/shallowequal" "^2.0.0" + dnd-core "14.0.1" + fast-deep-equal "^3.1.3" + hoist-non-react-statics "^3.3.2" + react-dom@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" @@ -12098,6 +12234,11 @@ react-native-vector-icons@^4.4.2: prop-types "^15.5.10" yargs "^8.0.2" +react-otp-input@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/react-otp-input/-/react-otp-input-2.4.0.tgz#0f0a3de1d8c8d564e2e4fbe5d6b7b56e29e3a6e6" + integrity sha512-AIgl7u4sS9BTNCxX1xlaS5fPWay/Zml8Ho5LszXZKXrH1C/TiFsTQGmtl13UecQYO3mSF3HUzG2rrDf0sjEFmg== + react-paypal-button-v2@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/react-paypal-button-v2/-/react-paypal-button-v2-2.6.3.tgz#9f037317d9f836b34b9cdbf1830d46d85392a47a" @@ -12384,6 +12525,13 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +redux@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" + integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== + dependencies: + "@babel/runtime" "^7.9.2" + reflect-metadata@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" @@ -12704,7 +12852,7 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -13345,6 +13493,11 @@ split2@^3.1.1: dependencies: readable-stream "^3.0.0" +sprintf-js@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -15039,6 +15192,11 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" +world_countries_lists@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/world_countries_lists/-/world_countries_lists-2.3.0.tgz#8eca03dc6b77c5314cd43e01c2ba5c1c50f3910e" + integrity sha512-8ZaWCBBZyZ/hQjRgUMaifF2qt7XlVQseYMXozc/r6WO7ONZPo6xlcQmB7wTMUDM7paqZqvxUcvNSewY3LTrvrA== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -15303,6 +15461,14 @@ yargs@^8.0.2: y18n "^3.2.1" yargs-parser "^7.0.0" +yauzl@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"