diff --git a/.circleci/config.yml b/.circleci/config.yml index b8d68f09b..d5bc4c70f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,13 +27,13 @@ workflows: only: /^v.*/ branches: ignore: /.*/ - test-test: + cristi-ci-test: jobs: - docker_build_and_deploy: context: main-builds filters: branches: - only: cristi/ci-test-deployment + only: cristi/ci-test jobs: test_server: @@ -86,7 +86,10 @@ jobs: name: Build Server command: env SPECKLE_SERVER_PACKAGE=server ./.circleci/build.sh - run: - name: Deploy Frontend and Server + name: Build Object Preview Service + command: env SPECKLE_SERVER_PACKAGE=preview-service ./.circleci/build.sh + - run: + name: Deploy command: ./.circleci/deploy.sh - run: name: Test deployment diff --git a/.circleci/deploy.sh b/.circleci/deploy.sh index 3fe4ab8ed..4d828e880 100755 --- a/.circleci/deploy.sh +++ b/.circleci/deploy.sh @@ -28,6 +28,13 @@ echo "$K8S_CLUSTER_CERTIFICATE" | base64 --decode > k8s_cert.crt --token=$K8S_TOKEN \ set image deployment/$TARGET_SPECKLE_DEPLOYMENT-server main=$DOCKER_IMAGE_TAG-server:$IMAGE_VERSION_TAG +./kubectl \ + --kubeconfig=/dev/null \ + --server=$K8S_SERVER \ + --certificate-authority=k8s_cert.crt \ + --token=$K8S_TOKEN \ + set image deployment/$TARGET_SPECKLE_DEPLOYMENT-preview-service main=$DOCKER_IMAGE_TAG-preview-service:$IMAGE_VERSION_TAG + # Wait for rollout to complete ./kubectl \ @@ -43,3 +50,10 @@ echo "$K8S_CLUSTER_CERTIFICATE" | base64 --decode > k8s_cert.crt --certificate-authority=k8s_cert.crt \ --token=$K8S_TOKEN \ rollout status -w deployment/$TARGET_SPECKLE_DEPLOYMENT-server --timeout=1m + +./kubectl \ + --kubeconfig=/dev/null \ + --server=$K8S_SERVER \ + --certificate-authority=k8s_cert.crt \ + --token=$K8S_TOKEN \ + rollout status -w deployment/$TARGET_SPECKLE_DEPLOYMENT-preview-service --timeout=1m diff --git a/packages/preview-service/.eslintrc.json b/packages/preview-service/.eslintrc.json new file mode 100644 index 000000000..55da7fb5a --- /dev/null +++ b/packages/preview-service/.eslintrc.json @@ -0,0 +1,41 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es2020": true + }, + "parserOptions": { + "ecmaVersion": 11 + }, + "ignorePatterns": ["node_modules/*"], + "rules": { + "arrow-spacing": [ + 2, + { + "before": true, + "after": true + } + ], + "array-bracket-spacing": [2, "always"], + "object-curly-spacing": [1, "always"], + "block-spacing": [2, "always"], + "camelcase": [ + 1, + { + "properties": "always" + } + ], + "space-in-parens": [2, "always"], + "keyword-spacing": 2, + "semi": [1, "never"], + "quotes": [1, "single"], + "indent": ["error", 2], + "space-unary-ops": [ + 2, + { + "words": true, + "nonwords": false + } + ] + } +} diff --git a/packages/preview-service/Dockerfile b/packages/preview-service/Dockerfile new file mode 100644 index 000000000..fad0fe7d7 --- /dev/null +++ b/packages/preview-service/Dockerfile @@ -0,0 +1,44 @@ +# NOTE: Docker context should be set to git root directory, to include the viewer + +FROM node:14.16.0-buster-slim as node + +RUN apt-get update && apt-get install -y \ + tini \ + && rm -rf /var/lib/apt/lists/* + +# chromium dependencies +RUN apt-get update && apt-get install -y \ + ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils \ + && rm -rf /var/lib/apt/lists/* + + +ARG NODE_ENV=production +ENV NODE_ENV=${NODE_ENV} +WORKDIR /app + + +WORKDIR /opt/objectloader +COPY packages/objectloader/package*.json ./ +RUN npm install --production=false +COPY packages/objectloader . +# RUN npm run build + +WORKDIR /opt/viewer +COPY packages/viewer/package*.json ./ +RUN npm install ../objectloader +# Install dependencies and devDependencies +RUN npm install --production=false +COPY packages/viewer . +RUN npm run build + +WORKDIR /opt/preview-service +COPY packages/preview-service/package*.json ./ +RUN npm install ../objectloader +RUN npm install ../viewer +RUN npm ci --production=false +COPY packages/preview-service . +RUN npm run build-fe + + +ENTRYPOINT [ "tini", "--" ] +CMD ["node", "bin/www"] diff --git a/packages/preview-service/app.js b/packages/preview-service/app.js new file mode 100644 index 000000000..3b2a0ca97 --- /dev/null +++ b/packages/preview-service/app.js @@ -0,0 +1,40 @@ +'use strict' + +var createError = require( 'http-errors' ) +var express = require( 'express' ) +var path = require( 'path' ) +var cookieParser = require( 'cookie-parser' ) +var logger = require( 'morgan' ) + +var indexRouter = require( './routes/index' ) +var previewRouter = require( './routes/preview' ) +var objectsRouter = require( './routes/objects' ) + +var app = express() + +app.use( logger( 'dev' ) ) +app.use( express.json() ) +app.use( express.urlencoded( { extended: false } ) ) +app.use( cookieParser() ) +app.use( express.static( path.join( __dirname, 'public' ) ) ) + +app.use( '/', indexRouter ) +app.use( '/preview', previewRouter ) +app.use( '/objects', objectsRouter ) + +// catch 404 and forward to error handler +app.use( function( req, res, next ) { + next( createError( 404 ) ) +} ) + +// error handler +app.use( function( err, req, res, next ) { + let errorText = err.message + if ( req.app.get( 'env' ) === 'development' ) { + errorText = `
${err.message}: ${err.status}\n${err.stack}
` + } + res.status( err.status || 500 ) + res.send( errorText ) +} ) + +module.exports = app diff --git a/packages/preview-service/bg_service/index.js b/packages/preview-service/bg_service/index.js new file mode 100644 index 000000000..8f784ffb5 --- /dev/null +++ b/packages/preview-service/bg_service/index.js @@ -0,0 +1,86 @@ +'use strict' + +const crypto = require( 'crypto' ) +const knex = require( '../knex' ) +const fetch = require( 'node-fetch' ) +const ObjectPreview = ( ) => knex( 'object_preview' ) +const Previews = ( ) => knex( 'previews' ) + +async function startTask() { + let { rows } = await knex.raw( ` + UPDATE object_preview + SET + "previewStatus" = 1, + "lastUpdate" = NOW() + FROM ( + SELECT "streamId", "objectId" FROM object_preview + WHERE "previewStatus" = 0 OR ("previewStatus" = 1 AND "lastUpdate" < NOW() - INTERVAL '1 HOUR') + ORDER BY "priority" ASC, "lastUpdate" ASC + LIMIT 1 + ) as task + WHERE object_preview."streamId" = task."streamId" AND object_preview."objectId" = task."objectId" + RETURNING object_preview."streamId", object_preview."objectId" + ` ) + return rows[0] +} + +async function doTask( task ) { + + let previewUrl = `http://127.0.0.1:3001/preview/${task.streamId}/${task.objectId}` + let res = await fetch( previewUrl ) + res = await res.json() + // let imgBuffer = await res.buffer() // this gets the binary response body + + let metadata = {} + + for ( let angle in res ) { + const imgBuffer = new Buffer.from( res[angle].replace( /^data:image\/\w+;base64,/, '' ), 'base64' ) + let previewId = crypto.createHash( 'md5' ).update( imgBuffer ).digest( 'hex' ) + + // Save preview image + let insertionObject = { id: previewId, data: imgBuffer } + //await Previews().insert( insertionObject ) + //let dbQuery = Previews().insert( insertionObject ).toString( ) + ' on conflict do nothing' + await knex.raw( 'INSERT INTO "previews" (id, data) VALUES (?, ?) ON CONFLICT DO NOTHING', [ previewId, imgBuffer ] ) + + metadata[angle] = previewId + } + + // Update preview metadata + await knex.raw( ` + UPDATE object_preview + SET + "previewStatus" = 2, + "lastUpdate" = NOW(), + "preview" = ? + WHERE "streamId" = ? AND "objectId" = ? + `, [ metadata, task.streamId, task.objectId ] ) + + +} + +async function tick() { + try { + let task = await startTask() + if ( !task ) { + setTimeout( tick, 1000 ) + return + } + + doTask( task ) + + // Check for another task very soon + setTimeout( tick, 10 ) + } catch ( err ) { + console.log( 'Error executing task: ', err ) + setTimeout( tick, 5000 ) + } +} + +async function startPreviewService() { + console.log( '📸 Started Preview Service' ) + + tick() +} + +module.exports = { startPreviewService } diff --git a/packages/preview-service/bin/www b/packages/preview-service/bin/www new file mode 100755 index 000000000..b13f15611 --- /dev/null +++ b/packages/preview-service/bin/www @@ -0,0 +1,94 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require( '../app' ) +var debug = require( 'debug' )( 'preview-service:server' ) +var http = require( 'http' ) +var { startPreviewService } = require( '../bg_service' ) + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort( process.env.PORT || '3001' ) +app.set( 'port', port ) + +/** + * Create HTTP server. + */ + +var server = http.createServer( app ) + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen( port, '127.0.0.1' ) +server.on( 'error', onError ) +server.on( 'listening', onListening ) + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort( val ) { + var port = parseInt( val, 10 ) + + if ( isNaN( port ) ) { + // named pipe + return val + } + + if ( port >= 0 ) { + // port number + return port + } + + return false +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError( error ) { + if ( error.syscall !== 'listen' ) { + throw error + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port + + // handle specific listen errors with friendly messages + switch ( error.code ) { + case 'EACCES': + console.error( bind + ' requires elevated privileges' ) + process.exit( 1 ) + break + case 'EADDRINUSE': + console.error( bind + ' is already in use' ) + process.exit( 1 ) + break + default: + throw error + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address() + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port + debug( 'Listening on ' + bind ) + + + startPreviewService() +} diff --git a/packages/preview-service/knex.js b/packages/preview-service/knex.js new file mode 100644 index 000000000..ff2e57488 --- /dev/null +++ b/packages/preview-service/knex.js @@ -0,0 +1,8 @@ +'use strict' + +module.exports = require( 'knex' )( { + client: 'pg', + connection: process.env.PG_CONNECTION_STRING || 'postgres://speckle:speckle@localhost/speckle', + pool: { min: 1, max: 1 } + // migrations are in managed in the server package +} ) diff --git a/packages/preview-service/package-lock.json b/packages/preview-service/package-lock.json new file mode 100644 index 000000000..4a0aa3420 --- /dev/null +++ b/packages/preview-service/package-lock.json @@ -0,0 +1,17388 @@ +{ + "name": "@speckle/preview-service", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", + "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==", + "dev": true + }, + "@babel/core": { + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", + "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.16", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.13.14", + "@babel/helpers": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.16", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", + "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", + "dev": true, + "requires": { + "@babel/types": "^7.13.16", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", + "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.15", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-transforms": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", + "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-simple-access": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", + "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.17", + "@babel/types": "^7.13.17" + } + }, + "@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "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 + } + } + }, + "@babel/parser": { + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", + "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", + "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.16", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.16", + "@babel/types": "^7.13.17", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/types": { + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", + "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "dev": true + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@speckle/objectloader": { + "version": "file:../objectloader" + }, + "@speckle/viewer": { + "version": "file:../viewer", + "requires": { + "camera-controls": "^1.28.0", + "lodash.debounce": "^4.0.8", + "three": "0.124.0" + }, + "dependencies": { + "@babel/cli": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.10.tgz", + "integrity": "sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ==", + "requires": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.12.1.tgz", + "integrity": "sha512-cc7WQHnHQY3++/bghgbDtPx+5bf6xTsokyGzV6Qzh65NLz/unv+mPQuACkQ9GFhIhcTFv6yqwNaEcfX7EkOEsg==", + "requires": { + "eslint-scope": "5.1.0", + "eslint-visitor-keys": "^1.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", + "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", + "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.12.12" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", + "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.12.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", + "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.10", + "@babel/plugin-transform-react-jsx-development": "^7.12.7", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + } + }, + "@babel/preset-typescript": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", + "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==" + }, + "@eslint/eslintrc": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", + "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==" + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", + "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@speckle/objectloader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@speckle/objectloader/-/objectloader-2.0.0.tgz", + "integrity": "sha512-s1vH5gGzB5nJgrMFESaQqGJZuzVOAViKP1Xk9ZZV/zSP2b4vpkINMDC1WQvP9j2kqzCjQcQfkl+KqM6IuGvHgg==" + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==" + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", + "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==" + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/node": { + "version": "14.14.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", + "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, + "@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==" + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" + }, + "@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==" + }, + "@types/uglify-js": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@types/webpack": { + "version": "4.41.25", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", + "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + }, + "@webassemblyjs/ast": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz", + "integrity": "sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==", + "requires": { + "@webassemblyjs/helper-module-context": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/wast-parser": "1.9.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz", + "integrity": "sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz", + "integrity": "sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz", + "integrity": "sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz", + "integrity": "sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==", + "requires": { + "@webassemblyjs/wast-printer": "1.9.1" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz", + "integrity": "sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz", + "integrity": "sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==", + "requires": { + "@webassemblyjs/ast": "1.9.1" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz", + "integrity": "sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz", + "integrity": "sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz", + "integrity": "sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz", + "integrity": "sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz", + "integrity": "sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz", + "integrity": "sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/helper-wasm-section": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1", + "@webassemblyjs/wasm-opt": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1", + "@webassemblyjs/wast-printer": "1.9.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz", + "integrity": "sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/ieee754": "1.9.1", + "@webassemblyjs/leb128": "1.9.1", + "@webassemblyjs/utf8": "1.9.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz", + "integrity": "sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz", + "integrity": "sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-api-error": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/ieee754": "1.9.1", + "@webassemblyjs/leb128": "1.9.1", + "@webassemblyjs/utf8": "1.9.1" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz", + "integrity": "sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/floating-point-hex-parser": "1.9.1", + "@webassemblyjs/helper-api-error": "1.9.1", + "@webassemblyjs/helper-code-frame": "1.9.1", + "@webassemblyjs/helper-fsm": "1.9.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz", + "integrity": "sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==", + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/wast-parser": "1.9.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/info": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.1.tgz", + "integrity": "sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ==", + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.1.tgz", + "integrity": "sha512-Zj1z6AyS+vqV6Hfi7ngCjFGdHV5EwZNIHo6QfFTNe9PyW+zBU1zJ9BiOW1pmUEq950RC4+Dym6flyA/61/vhyw==" + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "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=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-add-module-exports": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", + "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==" + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" + }, + "browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "requires": { + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camera-controls": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-1.28.0.tgz", + "integrity": "sha512-V9HIwjcdD843RpToJjW2fUZfZUQaFIA2/Wx87+zq781/tJGzjE1g1PBeMTOV8oTGl8cskS5yV8AqtBn9+HlrUQ==" + }, + "caniuse-lite": { + "version": "1.0.30001173", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", + "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "requires": { + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.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==", + "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=" + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-js-compat": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", + "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", + "requires": { + "browserslist": "^4.16.0", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "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=" + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "requires": { + "cross-spawn": "^7.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==" + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.634", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz", + "integrity": "sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==" + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz", + "integrity": "sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==" + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.17.0.tgz", + "integrity": "sha512-zJk08MiBgwuGoxes5sSQhOtibZ75pz0J35XTRlZOk9xMffhpA9BTbQZxoXZzOl5zMbleShbGwtw+1kGferfFwQ==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==" + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "requires": { + "original": "^1.0.0" + } + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "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==" + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==" + }, + "follow-redirects": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "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==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "optional": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "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==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + } + } + }, + "html-webpack-plugin": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.0.0-beta.4.tgz", + "integrity": "sha512-4CWq246BVHfS2l8Ni68q/oWquwJuaHs5s2Z+yVCmKNWadxS28RAqZo98hMtpnTLwhbhIg04psduDMcUr9JJpXg==", + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^2.0.0", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^2.0.0" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "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": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "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" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "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==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "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=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "loader-runner": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "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==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", + "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "requires": { + "has-flag": "^2.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-releases": { + "version": "1.1.69", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", + "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object-is": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "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==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "requires": { + "resolve": "^1.9.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", + "requires": { + "jest-worker": "^26.6.1", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.8" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "three": { + "version": "0.124.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.124.0.tgz", + "integrity": "sha512-ROXp1Ly7YyF+jC910DQyAWj++Qlw2lQv0qwYLNQwdDbjk4bsOXAfGO92wYTMPNei1GMJUmCxSxc3MjGBTS09Rg==" + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "v8-to-istanbul": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", + "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.11.0.tgz", + "integrity": "sha512-ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw==", + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.45", + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-module-context": "1.9.1", + "@webassemblyjs/wasm-edit": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.3.1", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "pkg-dir": "^5.0.0", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.0.3", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "requires": { + "find-up": "^5.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-cli": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.3.1.tgz", + "integrity": "sha512-/F4+9QNZM/qKzzL9/06Am8NXIkGV+/NqQ62Dx7DSqudxxpAgBqYn6V7+zp+0Y7JuWksKUbczRY3wMTd+7Uj6OA==", + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/info": "^1.2.1", + "@webpack-cli/serve": "^1.2.1", + "colorette": "^1.2.1", + "commander": "^6.2.0", + "enquirer": "^2.3.6", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "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.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" + }, + "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==" + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "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" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", + "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==" + } + } + }, + "webpack-dev-server": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", + "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", + "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs-parser": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@tokenizer/token": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", + "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" + }, + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" + }, + "@types/eslint": { + "version": "7.2.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.10.tgz", + "integrity": "sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.47", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", + "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", + "dev": true + }, + "@types/node": { + "version": "14.14.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", + "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" + }, + "@types/readable-stream": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.9.tgz", + "integrity": "sha512-sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==", + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/helper-wasm-section": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-opt": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "@webassemblyjs/wast-printer": "1.11.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "requires": { + "acorn": "^2.1.0" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ajv": { + "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", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "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" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + } + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.4.tgz", + "integrity": "sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001208", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.712", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caniuse-lite": { + "version": "1.0.30001214", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz", + "integrity": "sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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 + }, + "supports-color": { + "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" + } + } + } + }, + "character-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", + "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "clean-webpack-plugin": { + "version": "4.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0-alpha.0.tgz", + "integrity": "sha512-+X6mASBbGSVyw8L9/1rhQ+vS4uaQMopf194kX7Aes8qfezgCFL+qv5W0nwP3a0Tud5kUckARk8tFcoyOSKEjhg==", + "dev": true, + "requires": { + "del": "^4.1.1" + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "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" + } + }, + "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 + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "commander": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "constantinople": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", + "integrity": "sha1-S5RdmTeQe82Y7ldRIsOBdRZUQUE=", + "requires": { + "acorn": "^2.1.0" + } + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "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 + }, + "cross-spawn": { + "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", + "which": "^2.0.1" + } + }, + "crypto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "css": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", + "integrity": "sha1-k4aBHKgrzMnuf7WnMrHioxfIo+c=", + "requires": { + "css-parse": "1.0.4", + "css-stringify": "1.0.5" + } + }, + "css-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", + "integrity": "sha1-OLBQP7+dqfVOnB29pg4UXHcRe90=" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-stringify": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", + "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-node": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "dev": true + }, + "devtools-protocol": { + "version": "0.0.869402", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.869402.tgz", + "integrity": "sha512-VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.719", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.719.tgz", + "integrity": "sha512-heM78GKSqrIzO9Oz0/y22nTBN7bqSP1Pla2SyU9DiSnQD+Ea9SyyN5RWWlgqsqeBLNDkSlE9J9EHFmdMPzxB/g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz", + "integrity": "sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-module-lexer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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 + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "dev": true, + "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" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "extract-zip": { + "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": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "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": { + "pump": "^3.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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 + }, + "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 + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "file-type": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.3.0.tgz", + "integrity": "sha512-ZA0hV64611vJT42ltw0T9IDwHApQuxRdrmQZWTeDmeAUtZBBVSQW3nSQqhhW1cAgpXgqcJvm410BYHXJQ9AymA==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.0.3", + "token-types": "^2.0.0", + "typedarray-to-buffer": "^3.1.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getopts": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", + "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", + "dev": true, + "requires": { + "ini": "1.3.7" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "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 + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "html-webpack-plugin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-rZsVvPXUYFyME0cuGkyOHfx9hmkFa4pWfxY/mdY38PsBEaVNsRoA+Id+8z6DBDgyv3zaw6XQszdF8HLwfQvcdQ==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "html-minifier-terser": "^5.0.1", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jade": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", + "integrity": "sha1-nIDlOMEtP7lcjZu5VZ+gzAQEBf0=", + "requires": { + "character-parser": "1.2.1", + "clean-css": "^3.1.9", + "commander": "~2.6.0", + "constantinople": "~3.0.1", + "jstransformer": "0.0.2", + "mkdirp": "~0.5.0", + "transformers": "2.1.0", + "uglify-js": "^2.4.19", + "void-elements": "~2.0.1", + "with": "~4.0.0" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "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 + }, + "supports-color": { + "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" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "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 + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jstransformer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", + "integrity": "sha1-eq4pqQPRls+glz2IXT5HlH7Ndqs=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^6.0.1" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "knex": { + "version": "0.95.4", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.4.tgz", + "integrity": "sha512-IwUcHr6AkZPL707mJCOal1P4jlgxKMy17IMjJm5W23yrkM1jO2/APBM1eyw/MhQ61w8T7NpzGD+LEkr8M46mWw==", + "requires": { + "colorette": "1.2.1", + "commander": "^7.1.0", + "debug": "4.3.1", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "getopts": "2.2.5", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.4.0", + "rechoir": "^0.7.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.1", + "tildify": "2.0.0" + }, + "dependencies": { + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "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==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + }, + "mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "requires": { + "mime-db": "1.47.0" + } + }, + "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 + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "nodemon": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz", + "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==", + "dev": true, + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.3", + "update-notifier": "^4.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "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 + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "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" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "~0.0.2" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "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 + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "peek-readable": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", + "integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "pg": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.6.0.tgz", + "integrity": "sha512-qNS9u61lqljTDFvmk/N66EeGq3n6Ujzj0FFyNMGQr6XuEv4tgNTXvJQTfJdcvGit5p5/DWPu+wj920hAJFI+QQ==", + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.3.0", + "pg-protocol": "^1.5.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "dependencies": { + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + } + } + }, + "pg-connection-string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", + "integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==" + }, + "pg-cursor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.6.0.tgz", + "integrity": "sha512-BFLg40CTgBJ+LX9EwqjztUYaKxpxLffMmDTmlQNMCustX/JxMTYimxRkdhZvPYZGp++/2LjuqkKtO5DVVq0FNg==" + }, + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + }, + "pg-pool": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.3.0.tgz", + "integrity": "sha512-0O5huCql8/D6PIRFAlmccjphLYWC+JIzvUhSzXSpGaf+tjTZc4nn+Lr7mLXBbFJfvwbP0ywDv73EiaBsxn7zdg==" + }, + "pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" + }, + "pg-query-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.1.0.tgz", + "integrity": "sha512-QbupRwS1JHqRVmNLQax4dIENgi+HoT7ToEn+rCcWqsZ/fbjTVdV+RmeZJRSMIcDhza3CImb/yAsTN0g2UGy6vg==", + "requires": { + "pg-cursor": "^2.6.0" + } + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", + "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", + "requires": { + "split2": "^3.1.1" + } + }, + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": 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", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" + }, + "postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + }, + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "requires": { + "xtend": "^4.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", + "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", + "requires": { + "asap": "~1.0.0" + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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 + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "puppeteer": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.0.0.tgz", + "integrity": "sha512-Avu8SKWQRC1JKNMgfpH7d4KzzHOL/A65jRYrjNU46hxnOYGwqe4zZp/JW8qulaH0Pnbm5qyO3EbSKvqBUlfvkg==", + "requires": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.869402", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", + "integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", + "requires": { + "@types/readable-stream": "^2.3.9", + "readable-stream": "^3.6.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "requires": { + "resolve": "^1.9.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "dev": true, + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "shebang-command": { + "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" + } + }, + "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 + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "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 + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "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", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "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==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "strtok3": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", + "integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", + "requires": { + "@tokenizer/token": "^0.1.1", + "@types/debug": "^4.1.5", + "peek-readable": "^3.1.3" + } + }, + "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" + } + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "tarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.1.tgz", + "integrity": "sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw==" + }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true + }, + "terser": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", + "dev": true, + "requires": { + "jest-worker": "^26.6.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.5.1" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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 + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "token-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz", + "integrity": "sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==", + "requires": { + "@tokenizer/token": "^0.1.1", + "ieee754": "^1.2.1" + } + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, + "transformers": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", + "integrity": "sha1-XSPLNVYd2F3Gf7hIIwm0fVPM6ac=", + "requires": { + "css": "~1.0.8", + "promise": "~2.0", + "uglify-js": "~2.2.5" + }, + "dependencies": { + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + }, + "promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", + "integrity": "sha1-RmSKqdYFr10ucMMCS/WUNtoCuA4=", + "requires": { + "is-promise": "~1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "uglify-js": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", + "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", + "requires": { + "optimist": "~0.3.5", + "source-map": "~0.1.7" + } + } + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + } + }, + "uri-js": { + "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" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "watchpack": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.35.0.tgz", + "integrity": "sha512-au3gu55yYF/h6NXFr0KZPZAYxS6Nlc595BzYPke8n0CSff5WXcoixtjh5LC/8mXunkRKxhymhXmBY0+kEbR6jg==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.47", + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/wasm-edit": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.4.0", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.1", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz", + "integrity": "sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "enquirer": "^2.3.6", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.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, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "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 + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.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, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "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 + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "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" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", + "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", + "requires": { + "acorn": "^1.0.1", + "acorn-globals": "^1.0.3" + }, + "dependencies": { + "acorn": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", + "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=" + } + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "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" + } + }, + "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 + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==" + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zlib": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz", + "integrity": "sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA=" + } + } +} diff --git a/packages/preview-service/package.json b/packages/preview-service/package.json new file mode 100644 index 000000000..bc4735ae5 --- /dev/null +++ b/packages/preview-service/package.json @@ -0,0 +1,44 @@ +{ + "name": "@speckle/preview-service", + "version": "2.0.0", + "description": "Generate PNG previews of Speckle objects by using a headless viewer", + "main": "index.js", + "homepage": "https://speckle.systems", + "repository": { + "type": "git", + "url": "https://github.com/specklesystems/speckle-server.git", + "directory": "packages/preview-service" + }, + "scripts": { + "dev": "DEBUG='preview-service:*' nodemon ./bin/www", + "build-fe": "webpack --env dev --config webpack.config.render_page.js && webpack --env build --config webpack.config.render_page.js" + }, + "dependencies": { + "@speckle/objectloader": "file:../objectloader", + "@speckle/viewer": "file:../viewer", + "cookie-parser": "~1.4.4", + "crypto": "^1.0.1", + "debug": "~2.6.9", + "express": "~4.16.1", + "file-type": "^16.3.0", + "http-errors": "~1.6.3", + "jade": "~1.11.0", + "knex": "^0.95.4", + "morgan": "~1.9.1", + "node-fetch": "^2.6.1", + "pg": "^8.6.0", + "pg-query-stream": "^4.1.0", + "puppeteer": "^9.0.0", + "zlib": "^1.0.5" + }, + "devDependencies": { + "@babel/core": "^7.13.16", + "babel-loader": "^8.2.2", + "clean-webpack-plugin": "^4.0.0-alpha.0", + "html-webpack-plugin": "^5.3.1", + "nodemon": "^2.0.7", + "webpack": "^5.35.0", + "webpack-cli": "^4.6.0", + "webpack-dev-server": "^3.11.2" + } +} diff --git a/packages/preview-service/public/index.html b/packages/preview-service/public/index.html new file mode 100644 index 000000000..52cfb9ebc --- /dev/null +++ b/packages/preview-service/public/index.html @@ -0,0 +1 @@ +Speckle Object Preview Service diff --git a/packages/preview-service/public/render/index.html b/packages/preview-service/public/render/index.html new file mode 100644 index 000000000..6aecfe0c0 --- /dev/null +++ b/packages/preview-service/public/render/index.html @@ -0,0 +1,12 @@ +Speckle Viewer
\ No newline at end of file diff --git a/packages/preview-service/public/render/viewer.min.js b/packages/preview-service/public/render/viewer.min.js new file mode 100644 index 000000000..f1a5ce81e --- /dev/null +++ b/packages/preview-service/public/render/viewer.min.js @@ -0,0 +1,3 @@ +/*! For license information please see viewer.min.js.LICENSE.txt */ +(()=>{var t={676:function(t){t.exports=(()=>{var t={529:(t,e,n)=>{"use strict";n.r(e),n.d(e,{Converter:()=>eg,Viewer:()=>bg});var i={};n.r(i),n.d(i,{ACESFilmicToneMapping:()=>it,AddEquation:()=>E,AddOperation:()=>K,AdditiveAnimationBlendMode:()=>Xe,AdditiveBlending:()=>_,AlphaFormat:()=>zt,AlwaysDepth:()=>j,AlwaysStencilFunc:()=>Tn,AmbientLight:()=>Iu,AmbientLightProbe:()=>nd,AnimationClip:()=>Hh,AnimationLoader:()=>Zh,AnimationMixer:()=>Id,AnimationObjectGroup:()=>Od,AnimationUtils:()=>Lh,ArcCurve:()=>iu,ArrayCamera:()=>Oa,ArrowHelper:()=>Sp,Audio:()=>pd,AudioAnalyser:()=>xd,AudioContext:()=>$u,AudioListener:()=>dd,AudioLoader:()=>td,AxesHelper:()=>Tp,AxisHelper:()=>Mf,BackSide:()=>g,BasicDepthPacking:()=>sn,BasicShadowMap:()=>u,BinaryTextureLoader:()=>Lf,Bone:()=>gc,BooleanKeyframeTrack:()=>Ih,BoundingBoxHelper:()=>Sf,Box2:()=>Vd,Box3:()=>ei,Box3Helper:()=>xp,BoxBufferGeometry:()=>go,BoxGeometry:()=>Kc,BoxHelper:()=>yp,BufferAttribute:()=>Er,BufferGeometry:()=>Yr,BufferGeometryLoader:()=>ku,ByteType:()=>Et,Cache:()=>jh,Camera:()=>wo,CameraHelper:()=>mp,CanvasRenderer:()=>Cf,CanvasTexture:()=>Wc,CatmullRomCurve3:()=>lu,CineonToneMapping:()=>nt,CircleBufferGeometry:()=>$c,CircleGeometry:()=>tl,ClampToEdgeWrapping:()=>pt,Clock:()=>sd,ClosedSplineCurve3:()=>bf,Color:()=>xr,ColorKeyframeTrack:()=>Nh,CompressedTexture:()=>Vc,CompressedTextureLoader:()=>Jh,ConeBufferGeometry:()=>rl,ConeGeometry:()=>il,CubeCamera:()=>So,CubeGeometry:()=>Kc,CubeReflectionMapping:()=>st,CubeRefractionMapping:()=>at,CubeTexture:()=>To,CubeTextureLoader:()=>Kh,CubeUVReflectionMapping:()=>ht,CubeUVRefractionMapping:()=>ut,CubicBezierCurve:()=>pu,CubicBezierCurve3:()=>fu,CubicInterpolant:()=>Ph,CullFaceBack:()=>c,CullFaceFront:()=>l,CullFaceFrontBack:()=>h,CullFaceNone:()=>a,Curve:()=>eu,CurvePath:()=>wu,CustomBlending:()=>T,CustomToneMapping:()=>rt,CylinderBufferGeometry:()=>el,CylinderGeometry:()=>nl,Cylindrical:()=>kd,DataTexture:()=>Ao,DataTexture2DArray:()=>Qo,DataTexture3D:()=>Ko,DataTextureLoader:()=>$h,DataUtils:()=>Lp,DecrementStencilOp:()=>fn,DecrementWrapStencilOp:()=>gn,DefaultLoadingManager:()=>Wh,DepthFormat:()=>jt,DepthStencilFormat:()=>Vt,DepthTexture:()=>qc,DirectionalLight:()=>Du,DirectionalLightHelper:()=>dp,DiscreteInterpolant:()=>Oh,DodecahedronBufferGeometry:()=>sl,DodecahedronGeometry:()=>al,DoubleSide:()=>v,DstAlphaFactor:()=>z,DstColorFactor:()=>F,DynamicBufferAttribute:()=>hf,DynamicCopyUsage:()=>Dn,DynamicDrawUsage:()=>An,DynamicReadUsage:()=>Pn,EdgesGeometry:()=>dl,EdgesHelper:()=>Tf,EllipseCurve:()=>nu,EqualDepth:()=>q,EqualStencilFunc:()=>bn,EquirectangularReflectionMapping:()=>ct,EquirectangularRefractionMapping:()=>lt,Euler:()=>Ii,EventDispatcher:()=>zn,ExtrudeBufferGeometry:()=>Gl,ExtrudeGeometry:()=>kl,Face3:()=>br,Face4:()=>Yp,FaceColors:()=>Kp,FileLoader:()=>Yh,FlatShading:()=>y,Float16BufferAttribute:()=>Ir,Float32Attribute:()=>yf,Float32BufferAttribute:()=>Nr,Float64Attribute:()=>xf,Float64BufferAttribute:()=>Br,FloatType:()=>Ct,Fog:()=>Ga,FogExp2:()=>Fa,Font:()=>Zu,FontLoader:()=>Qu,FrontSide:()=>m,Frustum:()=>Po,GLBufferAttribute:()=>zd,GLSL1:()=>Nn,GLSL3:()=>Bn,GammaEncoding:()=>$e,Geometry:()=>Qc,GeometryUtils:()=>Pf,GreaterDepth:()=>Y,GreaterEqualDepth:()=>X,GreaterEqualStencilFunc:()=>Sn,GreaterStencilFunc:()=>_n,GridHelper:()=>ap,Group:()=>Da,HalfFloatType:()=>Ot,HemisphereLight:()=>Tu,HemisphereLightHelper:()=>sp,HemisphereLightProbe:()=>ed,IcosahedronBufferGeometry:()=>jl,IcosahedronGeometry:()=>Vl,ImageBitmapLoader:()=>Xu,ImageLoader:()=>Qh,ImageUtils:()=>Vn,ImmediateRenderObject:()=>Yd,IncrementStencilOp:()=>pn,IncrementWrapStencilOp:()=>mn,InstancedBufferAttribute:()=>Hu,InstancedBufferGeometry:()=>Gu,InstancedInterleavedBuffer:()=>Bd,InstancedMesh:()=>Sc,Int16Attribute:()=>ff,Int16BufferAttribute:()=>Pr,Int32Attribute:()=>gf,Int32BufferAttribute:()=>Or,Int8Attribute:()=>uf,Int8BufferAttribute:()=>Ar,IntType:()=>Rt,InterleavedBuffer:()=>ka,InterleavedBufferAttribute:()=>Va,Interpolant:()=>Rh,InterpolateDiscrete:()=>Ge,InterpolateLinear:()=>He,InterpolateSmooth:()=>ke,InvertStencilOp:()=>vn,JSONLoader:()=>Of,KeepStencilOp:()=>un,KeyframeTrack:()=>Dh,LOD:()=>lc,LatheBufferGeometry:()=>Wl,LatheGeometry:()=>ql,Layers:()=>zi,LensFlare:()=>If,LessDepth:()=>V,LessEqualDepth:()=>W,LessEqualStencilFunc:()=>wn,LessStencilFunc:()=>xn,Light:()=>Su,LightProbe:()=>zu,Line:()=>Cc,Line3:()=>Xd,LineBasicMaterial:()=>Tc,LineCurve:()=>mu,LineCurve3:()=>gu,LineDashedMaterial:()=>Eh,LineLoop:()=>Nc,LinePieces:()=>Jp,LineSegments:()=>Ic,LineStrip:()=>Zp,LinearEncoding:()=>Qe,LinearFilter:()=>bt,LinearInterpolant:()=>Ch,LinearMipMapLinearFilter:()=>St,LinearMipMapNearestFilter:()=>_t,LinearMipmapLinearFilter:()=>Mt,LinearMipmapNearestFilter:()=>wt,LinearToneMapping:()=>tt,Loader:()=>qh,LoaderUtils:()=>Fu,LoadingManager:()=>Vh,LogLuvEncoding:()=>en,LoopOnce:()=>ze,LoopPingPong:()=>Fe,LoopRepeat:()=>Ue,LuminanceAlphaFormat:()=>Ht,LuminanceFormat:()=>Gt,MOUSE:()=>o,Material:()=>_r,MaterialLoader:()=>Uu,Math:()=>Gn,MathUtils:()=>Gn,Matrix3:()=>kn,Matrix4:()=>Ei,MaxEquation:()=>P,Mesh:()=>po,MeshBasicMaterial:()=>Mr,MeshDepthMaterial:()=>Ea,MeshDistanceMaterial:()=>Aa,MeshFaceMaterial:()=>tf,MeshLambertMaterial:()=>Sh,MeshMatcapMaterial:()=>Th,MeshNormalMaterial:()=>Mh,MeshPhongMaterial:()=>wh,MeshPhysicalMaterial:()=>bh,MeshStandardMaterial:()=>xh,MeshToonMaterial:()=>_h,MinEquation:()=>R,MirroredRepeatWrapping:()=>ft,MixOperation:()=>Q,MultiMaterial:()=>ef,MultiplyBlending:()=>S,MultiplyOperation:()=>J,NearestFilter:()=>mt,NearestMipMapLinearFilter:()=>xt,NearestMipMapNearestFilter:()=>vt,NearestMipmapLinearFilter:()=>yt,NearestMipmapNearestFilter:()=>gt,NeverDepth:()=>k,NeverStencilFunc:()=>yn,NoBlending:()=>b,NoColors:()=>Qp,NoToneMapping:()=>$,NormalAnimationBlendMode:()=>qe,NormalBlending:()=>w,NotEqualDepth:()=>Z,NotEqualStencilFunc:()=>Mn,NumberKeyframeTrack:()=>Bh,Object3D:()=>Qi,ObjectLoader:()=>ju,ObjectSpaceNormalMap:()=>ln,OctahedronBufferGeometry:()=>Xl,OctahedronGeometry:()=>Yl,OneFactor:()=>O,OneMinusDstAlphaFactor:()=>U,OneMinusDstColorFactor:()=>G,OneMinusSrcAlphaFactor:()=>B,OneMinusSrcColorFactor:()=>I,OrthographicCamera:()=>Cu,PCFShadowMap:()=>d,PCFSoftShadowMap:()=>p,PMREMGenerator:()=>kp,ParametricBufferGeometry:()=>Zl,ParametricGeometry:()=>Jl,Particle:()=>rf,ParticleBasicMaterial:()=>af,ParticleSystem:()=>of,ParticleSystemMaterial:()=>cf,Path:()=>_u,PerspectiveCamera:()=>_o,Plane:()=>er,PlaneBufferGeometry:()=>Do,PlaneGeometry:()=>Ql,PlaneHelper:()=>bp,PointCloud:()=>nf,PointCloudMaterial:()=>sf,PointLight:()=>Pu,PointLightHelper:()=>np,Points:()=>Hc,PointsMaterial:()=>Bc,PolarGridHelper:()=>cp,PolyhedronBufferGeometry:()=>ol,PolyhedronGeometry:()=>Kl,PositionalAudio:()=>yd,PropertyBinding:()=>Cd,PropertyMixer:()=>bd,QuadraticBezierCurve:()=>vu,QuadraticBezierCurve3:()=>yu,Quaternion:()=>Qn,QuaternionKeyframeTrack:()=>Uh,QuaternionLinearInterpolant:()=>zh,REVISION:()=>r,RGBADepthPacking:()=>an,RGBAFormat:()=>Ft,RGBAIntegerFormat:()=>Jt,RGBA_ASTC_10x10_Format:()=>xe,RGBA_ASTC_10x5_Format:()=>ge,RGBA_ASTC_10x6_Format:()=>ve,RGBA_ASTC_10x8_Format:()=>ye,RGBA_ASTC_12x10_Format:()=>be,RGBA_ASTC_12x12_Format:()=>we,RGBA_ASTC_4x4_Format:()=>ce,RGBA_ASTC_5x4_Format:()=>le,RGBA_ASTC_5x5_Format:()=>he,RGBA_ASTC_6x5_Format:()=>ue,RGBA_ASTC_6x6_Format:()=>de,RGBA_ASTC_8x5_Format:()=>pe,RGBA_ASTC_8x6_Format:()=>fe,RGBA_ASTC_8x8_Format:()=>me,RGBA_BPTC_Format:()=>_e,RGBA_ETC2_EAC_Format:()=>ae,RGBA_PVRTC_2BPPV1_Format:()=>re,RGBA_PVRTC_4BPPV1_Format:()=>ie,RGBA_S3TC_DXT1_Format:()=>Kt,RGBA_S3TC_DXT3_Format:()=>$t,RGBA_S3TC_DXT5_Format:()=>te,RGBDEncoding:()=>on,RGBEEncoding:()=>tn,RGBEFormat:()=>kt,RGBFormat:()=>Ut,RGBIntegerFormat:()=>Zt,RGBM16Encoding:()=>rn,RGBM7Encoding:()=>nn,RGB_ETC1_Format:()=>oe,RGB_ETC2_Format:()=>se,RGB_PVRTC_2BPPV1_Format:()=>ne,RGB_PVRTC_4BPPV1_Format:()=>ee,RGB_S3TC_DXT1_Format:()=>Qt,RGFormat:()=>Xt,RGIntegerFormat:()=>Yt,RawShaderMaterial:()=>yh,Ray:()=>Ti,Raycaster:()=>Ud,RectAreaLight:()=>Nu,RedFormat:()=>Wt,RedIntegerFormat:()=>qt,ReinhardToneMapping:()=>et,RepeatWrapping:()=>dt,ReplaceStencilOp:()=>dn,ReverseSubtractEquation:()=>L,RingBufferGeometry:()=>$l,RingGeometry:()=>th,SRGB8_ALPHA8_ASTC_10x10_Format:()=>Ie,SRGB8_ALPHA8_ASTC_10x5_Format:()=>Ce,SRGB8_ALPHA8_ASTC_10x6_Format:()=>Oe,SRGB8_ALPHA8_ASTC_10x8_Format:()=>De,SRGB8_ALPHA8_ASTC_12x10_Format:()=>Ne,SRGB8_ALPHA8_ASTC_12x12_Format:()=>Be,SRGB8_ALPHA8_ASTC_4x4_Format:()=>Me,SRGB8_ALPHA8_ASTC_5x4_Format:()=>Se,SRGB8_ALPHA8_ASTC_5x5_Format:()=>Te,SRGB8_ALPHA8_ASTC_6x5_Format:()=>Ee,SRGB8_ALPHA8_ASTC_6x6_Format:()=>Ae,SRGB8_ALPHA8_ASTC_8x5_Format:()=>Le,SRGB8_ALPHA8_ASTC_8x6_Format:()=>Re,SRGB8_ALPHA8_ASTC_8x8_Format:()=>Pe,Scene:()=>Ha,SceneUtils:()=>Df,ShaderChunk:()=>Io,ShaderLib:()=>Bo,ShaderMaterial:()=>bo,ShadowMaterial:()=>vh,Shape:()=>Mu,ShapeBufferGeometry:()=>eh,ShapeGeometry:()=>nh,ShapePath:()=>Yu,ShapeUtils:()=>zl,ShortType:()=>At,Skeleton:()=>xc,SkeletonHelper:()=>tp,SkinnedMesh:()=>mc,SmoothShading:()=>x,Sphere:()=>vi,SphereBufferGeometry:()=>ih,SphereGeometry:()=>rh,Spherical:()=>Hd,SphericalHarmonics3:()=>Bu,Spline:()=>_f,SplineCurve:()=>xu,SplineCurve3:()=>wf,SpotLight:()=>Lu,SpotLightHelper:()=>Jd,Sprite:()=>oc,SpriteMaterial:()=>Wa,SrcAlphaFactor:()=>N,SrcAlphaSaturateFactor:()=>H,SrcColorFactor:()=>D,StaticCopyUsage:()=>On,StaticDrawUsage:()=>En,StaticReadUsage:()=>Rn,StereoCamera:()=>od,StreamCopyUsage:()=>In,StreamDrawUsage:()=>Ln,StreamReadUsage:()=>Cn,StringKeyframeTrack:()=>Fh,SubtractEquation:()=>A,SubtractiveBlending:()=>M,TOUCH:()=>s,TangentSpaceNormalMap:()=>cn,TetrahedronBufferGeometry:()=>oh,TetrahedronGeometry:()=>sh,TextBufferGeometry:()=>ah,TextGeometry:()=>ch,Texture:()=>qn,TextureLoader:()=>tu,TorusBufferGeometry:()=>lh,TorusGeometry:()=>hh,TorusKnotBufferGeometry:()=>uh,TorusKnotGeometry:()=>dh,Triangle:()=>dr,TriangleFanDrawMode:()=>Je,TriangleStripDrawMode:()=>Ze,TrianglesDrawMode:()=>Ye,TubeBufferGeometry:()=>ph,TubeGeometry:()=>fh,UVMapping:()=>ot,Uint16Attribute:()=>mf,Uint16BufferAttribute:()=>Cr,Uint32Attribute:()=>vf,Uint32BufferAttribute:()=>Dr,Uint8Attribute:()=>df,Uint8BufferAttribute:()=>Lr,Uint8ClampedAttribute:()=>pf,Uint8ClampedBufferAttribute:()=>Rr,Uniform:()=>Nd,UniformsLib:()=>No,UniformsUtils:()=>xo,UnsignedByteType:()=>Tt,UnsignedInt248Type:()=>Bt,UnsignedIntType:()=>Pt,UnsignedShort4444Type:()=>Dt,UnsignedShort5551Type:()=>It,UnsignedShort565Type:()=>Nt,UnsignedShortType:()=>Lt,VSMShadowMap:()=>f,Vector2:()=>Hn,Vector3:()=>Kn,Vector4:()=>Yn,VectorKeyframeTrack:()=>Gh,Vertex:()=>lf,VertexColors:()=>$p,VideoTexture:()=>jc,WebGL1Renderer:()=>Ua,WebGLCubeRenderTarget:()=>Eo,WebGLMultisampleRenderTarget:()=>Jn,WebGLRenderTarget:()=>Zn,WebGLRenderTargetCube:()=>Rf,WebGLRenderer:()=>za,WebGLUtils:()=>Ca,WireframeGeometry:()=>mh,WireframeHelper:()=>Ef,WrapAroundEnding:()=>We,XHRLoader:()=>Af,ZeroCurvatureEnding:()=>je,ZeroFactor:()=>C,ZeroSlopeEnding:()=>Ve,ZeroStencilOp:()=>hn,sRGBEncoding:()=>Ke});const r="124",o={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},s={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},a=0,c=1,l=2,h=3,u=0,d=1,p=2,f=3,m=0,g=1,v=2,y=1,x=2,b=0,w=1,_=2,M=3,S=4,T=5,E=100,A=101,L=102,R=103,P=104,C=200,O=201,D=202,I=203,N=204,B=205,z=206,U=207,F=208,G=209,H=210,k=0,j=1,V=2,W=3,q=4,X=5,Y=6,Z=7,J=0,Q=1,K=2,$=0,tt=1,et=2,nt=3,it=4,rt=5,ot=300,st=301,at=302,ct=303,lt=304,ht=306,ut=307,dt=1e3,pt=1001,ft=1002,mt=1003,gt=1004,vt=1004,yt=1005,xt=1005,bt=1006,wt=1007,_t=1007,Mt=1008,St=1008,Tt=1009,Et=1010,At=1011,Lt=1012,Rt=1013,Pt=1014,Ct=1015,Ot=1016,Dt=1017,It=1018,Nt=1019,Bt=1020,zt=1021,Ut=1022,Ft=1023,Gt=1024,Ht=1025,kt=Ft,jt=1026,Vt=1027,Wt=1028,qt=1029,Xt=1030,Yt=1031,Zt=1032,Jt=1033,Qt=33776,Kt=33777,$t=33778,te=33779,ee=35840,ne=35841,ie=35842,re=35843,oe=36196,se=37492,ae=37496,ce=37808,le=37809,he=37810,ue=37811,de=37812,pe=37813,fe=37814,me=37815,ge=37816,ve=37817,ye=37818,xe=37819,be=37820,we=37821,_e=36492,Me=37840,Se=37841,Te=37842,Ee=37843,Ae=37844,Le=37845,Re=37846,Pe=37847,Ce=37848,Oe=37849,De=37850,Ie=37851,Ne=37852,Be=37853,ze=2200,Ue=2201,Fe=2202,Ge=2300,He=2301,ke=2302,je=2400,Ve=2401,We=2402,qe=2500,Xe=2501,Ye=0,Ze=1,Je=2,Qe=3e3,Ke=3001,$e=3007,tn=3002,en=3003,nn=3004,rn=3005,on=3006,sn=3200,an=3201,cn=0,ln=1,hn=0,un=7680,dn=7681,pn=7682,fn=7683,mn=34055,gn=34056,vn=5386,yn=512,xn=513,bn=514,wn=515,_n=516,Mn=517,Sn=518,Tn=519,En=35044,An=35048,Ln=35040,Rn=35045,Pn=35049,Cn=35041,On=35046,Dn=35050,In=35042,Nn="100",Bn="300 es";function zn(){}Object.assign(zn.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)},removeEventListener:function(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}},dispatchEvent:function(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e>8&255]+Un[t>>16&255]+Un[t>>24&255]+"-"+Un[255&e]+Un[e>>8&255]+"-"+Un[e>>16&15|64]+Un[e>>24&255]+"-"+Un[63&n|128]+Un[n>>8&255]+"-"+Un[n>>16&255]+Un[n>>24&255]+Un[255&i]+Un[i>>8&255]+Un[i>>16&255]+Un[i>>24&255]).toUpperCase()},clamp:function(t,e,n){return Math.max(e,Math.min(n,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},lerp:function(t,e,n){return(1-n)*t+n*e},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(Fn=t%2147483647),Fn=16807*Fn%2147483647,(Fn-1)/2147483646},degToRad:function(t){return t*Gn.DEG2RAD},radToDeg:function(t){return t*Gn.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,e,n,i,r){const o=Math.cos,s=Math.sin,a=o(n/2),c=s(n/2),l=o((e+i)/2),h=s((e+i)/2),u=o((e-i)/2),d=s((e-i)/2),p=o((i-e)/2),f=s((i-e)/2);switch(r){case"XYX":t.set(a*h,c*u,c*d,a*l);break;case"YZY":t.set(c*d,a*h,c*u,a*l);break;case"ZXZ":t.set(c*u,c*d,a*h,a*l);break;case"XZX":t.set(a*h,c*f,c*p,a*l);break;case"YXY":t.set(c*p,a*h,c*f,a*l);break;case"ZYZ":t.set(c*f,c*p,a*h,a*l);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}};class Hn{constructor(t=0,e=0){Object.defineProperty(this,"isVector2",{value:!0}),this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*n-o*i+t.x,this.y=r*i+o*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}class kn{constructor(){Object.defineProperty(this,"isMatrix3",{value:!0}),this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,o,s,a,c){const l=this.elements;return l[0]=t,l[1]=i,l[2]=s,l[3]=e,l[4]=r,l[5]=a,l[6]=n,l[7]=o,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}clone(){return(new this.constructor).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,o=n[0],s=n[3],a=n[6],c=n[1],l=n[4],h=n[7],u=n[2],d=n[5],p=n[8],f=i[0],m=i[3],g=i[6],v=i[1],y=i[4],x=i[7],b=i[2],w=i[5],_=i[8];return r[0]=o*f+s*v+a*b,r[3]=o*m+s*y+a*w,r[6]=o*g+s*x+a*_,r[1]=c*f+l*v+h*b,r[4]=c*m+l*y+h*w,r[7]=c*g+l*x+h*_,r[2]=u*f+d*v+p*b,r[5]=u*m+d*y+p*w,r[8]=u*g+d*x+p*_,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8];return e*o*l-e*s*c-n*r*l+n*s*a+i*r*c-i*o*a}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8],h=l*o-s*c,u=s*a-l*r,d=c*r-o*a,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return t[0]=h*f,t[1]=(i*c-l*n)*f,t[2]=(s*n-i*o)*f,t[3]=u*f,t[4]=(l*e-i*a)*f,t[5]=(i*r-s*e)*f,t[6]=d*f,t[7]=(n*a-c*e)*f,t[8]=(o*e-n*r)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).copy(this).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,o,s){const a=Math.cos(r),c=Math.sin(r);return this.set(n*a,n*c,-n*(a*o+c*s)+o+t,-i*c,i*a,-i*(-c*o+a*s)+s+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],o=i[3],s=i[6],a=i[1],c=i[4],l=i[7];return i[0]=e*r+n*a,i[3]=e*o+n*c,i[6]=e*s+n*l,i[1]=-n*r+e*a,i[4]=-n*o+e*c,i[7]=-n*s+e*l,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}}let jn;const Vn={getDataURL:function(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===jn&&(jn=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),jn.width=t.width,jn.height=t.height;const n=jn.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=jn}return e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}};let Wn=0;function qn(t=qn.DEFAULT_IMAGE,e=qn.DEFAULT_MAPPING,n=pt,i=pt,r=bt,o=Mt,s=Ft,a=Tt,c=1,l=Qe){Object.defineProperty(this,"id",{value:Wn++}),this.uuid=Gn.generateUUID(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=o,this.anisotropy=c,this.format=s,this.internalFormat=null,this.type=a,this.offset=new Hn(0,0),this.repeat=new Hn(1,1),this.center=new Hn(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new kn,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=l,this.version=0,this.onUpdate=null}function Xn(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?Vn.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}qn.DEFAULT_IMAGE=void 0,qn.DEFAULT_MAPPING=ot,qn.prototype=Object.assign(Object.create(zn.prototype),{constructor:qn,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const i=this.image;if(void 0===i.uuid&&(i.uuid=Gn.generateUUID()),!e&&void 0===t.images[i.uuid]){let e;if(Array.isArray(i)){e=[];for(let t=0,n=i.length;t1)switch(this.wrapS){case dt:t.x=t.x-Math.floor(t.x);break;case pt:t.x=t.x<0?0:1;break;case ft:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case dt:t.y=t.y-Math.floor(t.y);break;case pt:t.y=t.y<0?0:1;break;case ft:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}}),Object.defineProperty(qn.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}});class Yn{constructor(t=0,e=0,n=0,i=1){Object.defineProperty(this,"isVector4",{value:!0}),this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,o=t.elements;return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*r,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*r,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*r,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const o=.01,s=.1,a=t.elements,c=a[0],l=a[4],h=a[8],u=a[1],d=a[5],p=a[9],f=a[2],m=a[6],g=a[10];if(Math.abs(l-u)a&&t>v?tv?a=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),o=Math.atan2(r,e*n);t=Math.sin(t*o)/r,s=Math.sin(s*o)/r}const r=s*n;if(a=a*t+u*r,c=c*t+d*r,l=l*t+p*r,h=h*t+f*r,t===1-s){const t=1/Math.sqrt(a*a+c*c+l*l+h*h);a*=t,c*=t,l*=t,h*=t}}t[e]=a,t[e+1]=c,t[e+2]=l,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,o){const s=n[i],a=n[i+1],c=n[i+2],l=n[i+3],h=r[o],u=r[o+1],d=r[o+2],p=r[o+3];return t[e]=s*p+l*h+a*d-c*u,t[e+1]=a*p+l*u+c*h-s*d,t[e+2]=c*p+l*d+s*u-a*h,t[e+3]=l*p-s*h-a*u-c*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,i=t._y,r=t._z,o=t._order,s=Math.cos,a=Math.sin,c=s(n/2),l=s(i/2),h=s(r/2),u=a(n/2),d=a(i/2),p=a(r/2);switch(o){case"XYZ":this._x=u*l*h+c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h-u*d*p;break;case"YXZ":this._x=u*l*h+c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h+u*d*p;break;case"ZXY":this._x=u*l*h-c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h-u*d*p;break;case"ZYX":this._x=u*l*h-c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h+u*d*p;break;case"YZX":this._x=u*l*h+c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h-u*d*p;break;case"XZY":this._x=u*l*h-c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],o=e[1],s=e[5],a=e[9],c=e[2],l=e[6],h=e[10],u=n+s+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(l-a)*t,this._y=(r-c)*t,this._z=(o-i)*t}else if(n>s&&n>h){const t=2*Math.sqrt(1+n-s-h);this._w=(l-a)/t,this._x=.25*t,this._y=(i+o)/t,this._z=(r+c)/t}else if(s>h){const t=2*Math.sqrt(1+s-n-h);this._w=(r-c)/t,this._x=(i+o)/t,this._y=.25*t,this._z=(a+l)/t}else{const t=2*Math.sqrt(1+h-n-s);this._w=(o-i)/t,this._x=(r+c)/t,this._y=(a+l)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Gn.clamp(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,o=t._w,s=e._x,a=e._y,c=e._z,l=e._w;return this._x=n*l+o*s+i*c-r*a,this._y=i*l+o*a+r*s-n*c,this._z=r*l+o*c+n*a-i*s,this._w=o*l-n*s-i*a-r*c,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,o=this._w;let s=o*t._w+n*t._x+i*t._y+r*t._z;if(s<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,s=-s):this.copy(t),s>=1)return this._w=o,this._x=n,this._y=i,this._z=r,this;const a=1-s*s;if(a<=Number.EPSILON){const t=1-e;return this._w=t*o+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(a),l=Math.atan2(c,s),h=Math.sin((1-e)*l)/c,u=Math.sin(e*l)/c;return this._w=o*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}class Kn{constructor(t=0,e=0,n=0){Object.defineProperty(this,"isVector3",{value:!0}),this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ti.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ti.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,o=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*o,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*o,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*o,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,o=t.y,s=t.z,a=t.w,c=a*e+o*i-s*n,l=a*n+s*e-r*i,h=a*i+r*n-o*e,u=-r*e-o*n-s*i;return this.x=c*a+u*-r+l*-s-h*-o,this.y=l*a+u*-o+h*-r-c*-s,this.z=h*a+u*-s+c*-o-l*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=i*a-r*s,this.y=r*o-n*a,this.z=n*s-i*o,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return $n.copy(this).projectOnVector(t),this.sub($n)}reflect(t){return this.sub($n.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Gn.clamp(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}const $n=new Kn,ti=new Qn;class ei{constructor(t,e){Object.defineProperty(this,"isBox3",{value:!0}),this.min=void 0!==t?t:new Kn(1/0,1/0,1/0),this.max=void 0!==e?e:new Kn(-1/0,-1/0,-1/0)}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,s=-1/0;for(let a=0,c=t.length;ar&&(r=c),l>o&&(o=l),h>s&&(s=h)}return this.min.set(e,n,i),this.max.set(r,o,s),this}setFromBufferAttribute(t){let e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,s=-1/0;for(let a=0,c=t.count;ar&&(r=c),l>o&&(o=l),h>s&&(s=h)}return this.min.set(e,n,i),this.max.set(r,o,s),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new Kn),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ri),ri.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(di),pi.subVectors(this.max,di),si.subVectors(t.a,di),ai.subVectors(t.b,di),ci.subVectors(t.c,di),li.subVectors(ai,si),hi.subVectors(ci,ai),ui.subVectors(si,ci);let e=[0,-li.z,li.y,0,-hi.z,hi.y,0,-ui.z,ui.y,li.z,0,-li.x,hi.z,0,-hi.x,ui.z,0,-ui.x,-li.y,li.x,0,-hi.y,hi.x,0,-ui.y,ui.x,0];return!!ni(e,si,ai,ci,pi)&&(e=[1,0,0,0,1,0,0,0,1],!!ni(e,si,ai,ci,pi)&&(fi.crossVectors(li,hi),e=[fi.x,fi.y,fi.z],ni(e,si,ai,ci,pi)))}clampPoint(t,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new Kn),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ri.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(ri).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(ii[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ii[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ii[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ii[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ii[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ii[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ii[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ii[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ii)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}function ni(t,e,n,i,r){for(let o=0,s=t.length-3;o<=s;o+=3){mi.fromArray(t,o);const s=r.x*Math.abs(mi.x)+r.y*Math.abs(mi.y)+r.z*Math.abs(mi.z),a=e.dot(mi),c=n.dot(mi),l=i.dot(mi);if(Math.max(-Math.max(a,c,l),Math.min(a,c,l))>s)return!1}return!0}const ii=[new Kn,new Kn,new Kn,new Kn,new Kn,new Kn,new Kn,new Kn],ri=new Kn,oi=new ei,si=new Kn,ai=new Kn,ci=new Kn,li=new Kn,hi=new Kn,ui=new Kn,di=new Kn,pi=new Kn,fi=new Kn,mi=new Kn,gi=new ei;class vi{constructor(t,e){this.center=void 0!==t?t:new Kn,this.radius=void 0!==e?e:-1}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):gi.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new ei),this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}}const yi=new Kn,xi=new Kn,bi=new Kn,wi=new Kn,_i=new Kn,Mi=new Kn,Si=new Kn;class Ti{constructor(t,e){this.origin=void 0!==t?t:new Kn,this.direction=void 0!==e?e:new Kn(0,0,-1)}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new Kn),e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,yi)),this}closestPointToPoint(t,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new Kn),e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=yi.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(yi.copy(this.direction).multiplyScalar(e).add(this.origin),yi.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){xi.copy(t).add(e).multiplyScalar(.5),bi.copy(e).sub(t).normalize(),wi.copy(this.origin).sub(xi);const r=.5*t.distanceTo(e),o=-this.direction.dot(bi),s=wi.dot(this.direction),a=-wi.dot(bi),c=wi.lengthSq(),l=Math.abs(1-o*o);let h,u,d,p;if(l>0)if(h=o*a-s,u=o*s-a,p=r*l,h>=0)if(u>=-p)if(u<=p){const t=1/l;h*=t,u*=t,d=h*(h+o*u+2*s)+u*(o*h+u+2*a)+c}else u=r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;else u=-r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;else u<=-p?(h=Math.max(0,-(-o*r+s)),u=h>0?-r:Math.min(Math.max(-r,-a),r),d=-h*h+u*(u+2*a)+c):u<=p?(h=0,u=Math.min(Math.max(-r,-a),r),d=u*(u+2*a)+c):(h=Math.max(0,-(o*r+s)),u=h>0?r:Math.min(Math.max(-r,-a),r),d=-h*h+u*(u+2*a)+c);else u=o>0?-r:r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(bi).multiplyScalar(u).add(xi),d}intersectSphere(t,e){yi.subVectors(t.center,this.origin);const n=yi.dot(this.direction),i=yi.dot(yi)-n*n,r=t.radius*t.radius;if(i>r)return null;const o=Math.sqrt(r-i),s=n-o,a=n+o;return s<0&&a<0?null:s<0?this.at(a,e):this.at(s,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,o,s,a;const c=1/this.direction.x,l=1/this.direction.y,h=1/this.direction.z,u=this.origin;return c>=0?(n=(t.min.x-u.x)*c,i=(t.max.x-u.x)*c):(n=(t.max.x-u.x)*c,i=(t.min.x-u.x)*c),l>=0?(r=(t.min.y-u.y)*l,o=(t.max.y-u.y)*l):(r=(t.max.y-u.y)*l,o=(t.min.y-u.y)*l),n>o||r>i?null:((r>n||n!=n)&&(n=r),(o=0?(s=(t.min.z-u.z)*h,a=(t.max.z-u.z)*h):(s=(t.max.z-u.z)*h,a=(t.min.z-u.z)*h),n>a||s>i?null:((s>n||n!=n)&&(n=s),(a=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,yi)}intersectTriangle(t,e,n,i,r){_i.subVectors(e,t),Mi.subVectors(n,t),Si.crossVectors(_i,Mi);let o,s=this.direction.dot(Si);if(s>0){if(i)return null;o=1}else{if(!(s<0))return null;o=-1,s=-s}wi.subVectors(this.origin,t);const a=o*this.direction.dot(Mi.crossVectors(wi,Mi));if(a<0)return null;const c=o*this.direction.dot(_i.cross(wi));if(c<0)return null;if(a+c>s)return null;const l=-o*wi.dot(Si);return l<0?null:this.at(l/s,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}class Ei{constructor(){Object.defineProperty(this,"isMatrix4",{value:!0}),this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,o,s,a,c,l,h,u,d,p,f,m){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=o,g[9]=s,g[13]=a,g[2]=c,g[6]=l,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=f,g[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Ei).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/Ai.setFromMatrixColumn(t,0).length(),r=1/Ai.setFromMatrixColumn(t,1).length(),o=1/Ai.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*o,e[9]=n[9]*o,e[10]=n[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,i=t.y,r=t.z,o=Math.cos(n),s=Math.sin(n),a=Math.cos(i),c=Math.sin(i),l=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=o*l,n=o*h,i=s*l,r=s*h;e[0]=a*l,e[4]=-a*h,e[8]=c,e[1]=n+i*c,e[5]=t-r*c,e[9]=-s*a,e[2]=r-t*c,e[6]=i+n*c,e[10]=o*a}else if("YXZ"===t.order){const t=a*l,n=a*h,i=c*l,r=c*h;e[0]=t+r*s,e[4]=i*s-n,e[8]=o*c,e[1]=o*h,e[5]=o*l,e[9]=-s,e[2]=n*s-i,e[6]=r+t*s,e[10]=o*a}else if("ZXY"===t.order){const t=a*l,n=a*h,i=c*l,r=c*h;e[0]=t-r*s,e[4]=-o*h,e[8]=i+n*s,e[1]=n+i*s,e[5]=o*l,e[9]=r-t*s,e[2]=-o*c,e[6]=s,e[10]=o*a}else if("ZYX"===t.order){const t=o*l,n=o*h,i=s*l,r=s*h;e[0]=a*l,e[4]=i*c-n,e[8]=t*c+r,e[1]=a*h,e[5]=r*c+t,e[9]=n*c-i,e[2]=-c,e[6]=s*a,e[10]=o*a}else if("YZX"===t.order){const t=o*a,n=o*c,i=s*a,r=s*c;e[0]=a*l,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=o*l,e[9]=-s*l,e[2]=-c*l,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=o*a,n=o*c,i=s*a,r=s*c;e[0]=a*l,e[4]=-h,e[8]=c*l,e[1]=t*h+r,e[5]=o*l,e[9]=n*h-i,e[2]=i*h-n,e[6]=s*l,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Ri,t,Pi)}lookAt(t,e,n){const i=this.elements;return Di.subVectors(t,e),0===Di.lengthSq()&&(Di.z=1),Di.normalize(),Ci.crossVectors(n,Di),0===Ci.lengthSq()&&(1===Math.abs(n.z)?Di.x+=1e-4:Di.z+=1e-4,Di.normalize(),Ci.crossVectors(n,Di)),Ci.normalize(),Oi.crossVectors(Di,Ci),i[0]=Ci.x,i[4]=Oi.x,i[8]=Di.x,i[1]=Ci.y,i[5]=Oi.y,i[9]=Di.y,i[2]=Ci.z,i[6]=Oi.z,i[10]=Di.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,o=n[0],s=n[4],a=n[8],c=n[12],l=n[1],h=n[5],u=n[9],d=n[13],p=n[2],f=n[6],m=n[10],g=n[14],v=n[3],y=n[7],x=n[11],b=n[15],w=i[0],_=i[4],M=i[8],S=i[12],T=i[1],E=i[5],A=i[9],L=i[13],R=i[2],P=i[6],C=i[10],O=i[14],D=i[3],I=i[7],N=i[11],B=i[15];return r[0]=o*w+s*T+a*R+c*D,r[4]=o*_+s*E+a*P+c*I,r[8]=o*M+s*A+a*C+c*N,r[12]=o*S+s*L+a*O+c*B,r[1]=l*w+h*T+u*R+d*D,r[5]=l*_+h*E+u*P+d*I,r[9]=l*M+h*A+u*C+d*N,r[13]=l*S+h*L+u*O+d*B,r[2]=p*w+f*T+m*R+g*D,r[6]=p*_+f*E+m*P+g*I,r[10]=p*M+f*A+m*C+g*N,r[14]=p*S+f*L+m*O+g*B,r[3]=v*w+y*T+x*R+b*D,r[7]=v*_+y*E+x*P+b*I,r[11]=v*M+y*A+x*C+b*N,r[15]=v*S+y*L+x*O+b*B,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],o=t[1],s=t[5],a=t[9],c=t[13],l=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*a*h-i*c*h-r*s*u+n*c*u+i*s*d-n*a*d)+t[7]*(+e*a*d-e*c*u+r*o*u-i*o*d+i*c*l-r*a*l)+t[11]*(+e*c*h-e*s*d-r*o*h+n*o*d+r*s*l-n*c*l)+t[15]*(-i*s*l-e*a*h+e*s*u+i*o*h-n*o*u+n*a*l)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],v=h*m*c-f*u*c+f*a*d-s*m*d-h*a*g+s*u*g,y=p*u*c-l*m*c-p*a*d+o*m*d+l*a*g-o*u*g,x=l*f*c-p*h*c+p*s*d-o*f*d-l*s*g+o*h*g,b=p*h*a-l*f*a-p*s*u+o*f*u+l*s*m-o*h*m,w=e*v+n*y+i*x+r*b;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const _=1/w;return t[0]=v*_,t[1]=(f*u*r-h*m*r-f*i*d+n*m*d+h*i*g-n*u*g)*_,t[2]=(s*m*r-f*a*r+f*i*c-n*m*c-s*i*g+n*a*g)*_,t[3]=(h*a*r-s*u*r-h*i*c+n*u*c+s*i*d-n*a*d)*_,t[4]=y*_,t[5]=(l*m*r-p*u*r+p*i*d-e*m*d-l*i*g+e*u*g)*_,t[6]=(p*a*r-o*m*r-p*i*c+e*m*c+o*i*g-e*a*g)*_,t[7]=(o*u*r-l*a*r+l*i*c-e*u*c-o*i*d+e*a*d)*_,t[8]=x*_,t[9]=(p*h*r-l*f*r-p*n*d+e*f*d+l*n*g-e*h*g)*_,t[10]=(o*f*r-p*s*r+p*n*c-e*f*c-o*n*g+e*s*g)*_,t[11]=(l*s*r-o*h*r-l*n*c+e*h*c+o*n*d-e*s*d)*_,t[12]=b*_,t[13]=(l*f*i-p*h*i+p*n*u-e*f*u-l*n*m+e*h*m)*_,t[14]=(p*s*i-o*f*i-p*n*a+e*f*a+o*n*m-e*s*m)*_,t[15]=(o*h*i-l*s*i+l*n*a-e*h*a-o*n*u+e*s*u)*_,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,o=t.x,s=t.y,a=t.z,c=r*o,l=r*s;return this.set(c*o+n,c*s-i*a,c*a+i*s,0,c*s+i*a,l*s+n,l*a-i*o,0,c*a-i*s,l*a+i*o,r*a*a+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n){return this.set(1,e,n,0,t,1,n,0,t,e,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,o=e._y,s=e._z,a=e._w,c=r+r,l=o+o,h=s+s,u=r*c,d=r*l,p=r*h,f=o*l,m=o*h,g=s*h,v=a*c,y=a*l,x=a*h,b=n.x,w=n.y,_=n.z;return i[0]=(1-(f+g))*b,i[1]=(d+x)*b,i[2]=(p-y)*b,i[3]=0,i[4]=(d-x)*w,i[5]=(1-(u+g))*w,i[6]=(m+v)*w,i[7]=0,i[8]=(p+y)*_,i[9]=(m-v)*_,i[10]=(1-(u+f))*_,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=Ai.set(i[0],i[1],i[2]).length();const o=Ai.set(i[4],i[5],i[6]).length(),s=Ai.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],Li.copy(this);const a=1/r,c=1/o,l=1/s;return Li.elements[0]*=a,Li.elements[1]*=a,Li.elements[2]*=a,Li.elements[4]*=c,Li.elements[5]*=c,Li.elements[6]*=c,Li.elements[8]*=l,Li.elements[9]*=l,Li.elements[10]*=l,e.setFromRotationMatrix(Li),n.x=r,n.y=o,n.z=s,this}makePerspective(t,e,n,i,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const s=this.elements,a=2*r/(e-t),c=2*r/(n-i),l=(e+t)/(e-t),h=(n+i)/(n-i),u=-(o+r)/(o-r),d=-2*o*r/(o-r);return s[0]=a,s[4]=0,s[8]=l,s[12]=0,s[1]=0,s[5]=c,s[9]=h,s[13]=0,s[2]=0,s[6]=0,s[10]=u,s[14]=d,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(t,e,n,i,r,o){const s=this.elements,a=1/(e-t),c=1/(n-i),l=1/(o-r),h=(e+t)*a,u=(n+i)*c,d=(o+r)*l;return s[0]=2*a,s[4]=0,s[8]=0,s[12]=-h,s[1]=0,s[5]=2*c,s[9]=0,s[13]=-u,s[2]=0,s[6]=0,s[10]=-2*l,s[14]=-d,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const Ai=new Kn,Li=new Ei,Ri=new Kn(0,0,0),Pi=new Kn(1,1,1),Ci=new Kn,Oi=new Kn,Di=new Kn;class Ii{constructor(t=0,e=0,n=0,i=Ii.DefaultOrder){Object.defineProperty(this,"isEuler",{value:!0}),this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e,n){const i=Gn.clamp,r=t.elements,o=r[0],s=r[4],a=r[8],c=r[1],l=r[5],h=r[9],u=r[2],d=r[6],p=r[10];switch(e=e||this._order){case"XYZ":this._y=Math.asin(i(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,p),this._z=Math.atan2(-s,o)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-i(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(c,l)):(this._y=Math.atan2(-u,o),this._z=0);break;case"ZXY":this._x=Math.asin(i(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(c,o));break;case"ZYX":this._y=Math.asin(-i(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(c,o)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(i(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-h,l),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-i(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(a,o)):(this._x=Math.atan2(-h,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!1!==n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Ni.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Ni,e,n)}setFromVector3(t,e){return this.set(t.x,t.y,t.z,e||this._order)}reorder(t){return Bi.setFromEuler(this),this.setFromQuaternion(Bi,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new Kn(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Ii.DefaultOrder="XYZ",Ii.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];const Ni=new Ei,Bi=new Qn;class zi{constructor(){this.mask=1}set(t){this.mask=1<1){for(let t=0;t1){for(let t=0;t0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),s.length>0&&(n.images=s),a.length>0&&(n.shapes=a),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l)}return n.object=i,n;function o(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e1?void 0:e.copy(n).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return void 0===t&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),t=new Kn),t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||tr.getNormalMatrix(t),i=this.coplanarPoint(Ki).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}const nr=new Kn,ir=new Kn,rr=new Kn,or=new Kn,sr=new Kn,ar=new Kn,cr=new Kn,lr=new Kn,hr=new Kn,ur=new Kn;class dr{constructor(t,e,n){this.a=void 0!==t?t:new Kn,this.b=void 0!==e?e:new Kn,this.c=void 0!==n?n:new Kn}static getNormal(t,e,n,i){void 0===i&&(console.warn("THREE.Triangle: .getNormal() target is now required"),i=new Kn),i.subVectors(n,e),nr.subVectors(t,e),i.cross(nr);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){nr.subVectors(i,e),ir.subVectors(n,e),rr.subVectors(t,e);const o=nr.dot(nr),s=nr.dot(ir),a=nr.dot(rr),c=ir.dot(ir),l=ir.dot(rr),h=o*c-s*s;if(void 0===r&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),r=new Kn),0===h)return r.set(-2,-1,-1);const u=1/h,d=(c*a-s*l)*u,p=(o*l-s*a)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,or),or.x>=0&&or.y>=0&&or.x+or.y<=1}static getUV(t,e,n,i,r,o,s,a){return this.getBarycoord(t,e,n,i,or),a.set(0,0),a.addScaledVector(r,or.x),a.addScaledVector(o,or.y),a.addScaledVector(s,or.z),a}static isFrontFacing(t,e,n,i){return nr.subVectors(n,e),ir.subVectors(t,e),nr.cross(ir).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return nr.subVectors(this.c,this.b),ir.subVectors(this.a,this.b),.5*nr.cross(ir).length()}getMidpoint(t){return void 0===t&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new Kn),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return dr.getNormal(this.a,this.b,this.c,t)}getPlane(t){return void 0===t&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new er),t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return dr.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return dr.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return dr.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return dr.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){void 0===e&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),e=new Kn);const n=this.a,i=this.b,r=this.c;let o,s;sr.subVectors(i,n),ar.subVectors(r,n),lr.subVectors(t,n);const a=sr.dot(lr),c=ar.dot(lr);if(a<=0&&c<=0)return e.copy(n);hr.subVectors(t,i);const l=sr.dot(hr),h=ar.dot(hr);if(l>=0&&h<=l)return e.copy(i);const u=a*h-l*c;if(u<=0&&a>=0&&l<=0)return o=a/(a-l),e.copy(n).addScaledVector(sr,o);ur.subVectors(t,r);const d=sr.dot(ur),p=ar.dot(ur);if(p>=0&&d<=p)return e.copy(r);const f=d*c-a*p;if(f<=0&&c>=0&&p<=0)return s=c/(c-p),e.copy(n).addScaledVector(ar,s);const m=l*p-d*h;if(m<=0&&h-l>=0&&d-p>=0)return cr.subVectors(r,i),s=(h-l)/(h-l+(d-p)),e.copy(i).addScaledVector(cr,s);const g=1/(m+f+u);return o=f*g,s=u*g,e.copy(n).addScaledVector(sr,o).addScaledVector(ar,s)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const pr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},fr={h:0,s:0,l:0},mr={h:0,s:0,l:0};function gr(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function vr(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function yr(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class xr{constructor(t,e,n){return Object.defineProperty(this,"isColor",{value:!0}),void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=Gn.euclideanModulo(t,1),e=Gn.clamp(e,0,1),n=Gn.clamp(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=gr(r,i,t+1/3),this.g=gr(r,i,t),this.b=gr(r,i,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){let t;const i=n[1],r=n[2];switch(i){case"rgb":case"rgba":if(t=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)){const n=parseFloat(t[1])/360,i=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,i,r)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=pr[t];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,e=2){return this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this}copyLinearToGamma(t,e=2){const n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=vr(t.r),this.g=vr(t.g),this.b=vr(t.b),this}copyLinearToSRGB(t){return this.r=yr(t.r),this.g=yr(t.g),this.b=yr(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});const e=this.r,n=this.g,i=this.b,r=Math.max(e,n,i),o=Math.min(e,n,i);let s,a;const c=(o+r)/2;if(o===r)s=0,a=0;else{const t=r-o;switch(a=c<=.5?t/(r+o):t/(2-r-o),r){case e:s=(n-i)/t+(n0&&(n.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(n.morphTargets=!0),!0===this.morphNormals&&(n.morphNormals=!0),!0===this.skinning&&(n.skinning=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(_r.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Mr.prototype=Object.create(_r.prototype),Mr.prototype.constructor=Mr,Mr.prototype.isMeshBasicMaterial=!0,Mr.prototype.copy=function(t){return _r.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this};const Sr=new Kn,Tr=new Hn;function Er(t,e,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===n,this.usage=En,this.updateRange={offset:0,count:-1},this.version=0}function Ar(t,e,n){Er.call(this,new Int8Array(t),e,n)}function Lr(t,e,n){Er.call(this,new Uint8Array(t),e,n)}function Rr(t,e,n){Er.call(this,new Uint8ClampedArray(t),e,n)}function Pr(t,e,n){Er.call(this,new Int16Array(t),e,n)}function Cr(t,e,n){Er.call(this,new Uint16Array(t),e,n)}function Or(t,e,n){Er.call(this,new Int32Array(t),e,n)}function Dr(t,e,n){Er.call(this,new Uint32Array(t),e,n)}function Ir(t,e,n){Er.call(this,new Uint16Array(t),e,n)}function Nr(t,e,n){Er.call(this,new Float32Array(t),e,n)}function Br(t,e,n){Er.call(this,new Float64Array(t),e,n)}Object.defineProperty(Er.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(Er.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this},copyAt:function(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i0,o=i[1]&&i[1].length>0,s=t.morphTargets,a=s.length;let c;if(a>0){c=[];for(let t=0;t0){u=[];for(let t=0;t0&&0===e.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(let t=0;te&&(e=t[n]);return e}const Fr={Int8Array,Uint8Array,Uint8ClampedArray:"undefined"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Gr(t,e){return new Fr[t](e)}let Hr=1;const kr=new Ei,jr=new Qi,Vr=new Kn,Wr=new ei,qr=new ei,Xr=new Kn;function Yr(){Object.defineProperty(this,"id",{value:Hr+=2}),this.uuid=Gn.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}Yr.prototype=Object.assign(Object.create(zn.prototype),{constructor:Yr,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){return Array.isArray(t)?this.index=new(Ur(t)>65535?Dr:Cr)(t,1):this.index=t,this},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,e){return this.attributes[t]=e,this},deleteAttribute:function(t){return delete this.attributes[t],this},hasAttribute:function(t){return void 0!==this.attributes[t]},addGroup:function(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix4:function(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new kn).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return kr.makeRotationX(t),this.applyMatrix4(kr),this},rotateY:function(t){return kr.makeRotationY(t),this.applyMatrix4(kr),this},rotateZ:function(t){return kr.makeRotationZ(t),this.applyMatrix4(kr),this},translate:function(t,e,n){return kr.makeTranslation(t,e,n),this.applyMatrix4(kr),this},scale:function(t,e,n){return kr.makeScale(t,e,n),this.applyMatrix4(kr),this},lookAt:function(t){return jr.lookAt(t),jr.updateMatrix(),this.applyMatrix4(jr.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Vr).negate(),this.translate(Vr.x,Vr.y,Vr.z),this},setFromObject:function(t){const e=t.geometry;if(t.isPoints||t.isLine){const t=new Nr(3*e.vertices.length,3),n=new Nr(3*e.colors.length,3);if(this.setAttribute("position",t.copyVector3sArray(e.vertices)),this.setAttribute("color",n.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){const t=new Nr(e.lineDistances.length,1);this.setAttribute("lineDistance",t.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){const e=[];for(let n=0,i=t.length;n0){const e=new Float32Array(3*t.normals.length);this.setAttribute("normal",new Er(e,3).copyVector3sArray(t.normals))}if(t.colors.length>0){const e=new Float32Array(3*t.colors.length);this.setAttribute("color",new Er(e,3).copyColorsArray(t.colors))}if(t.uvs.length>0){const e=new Float32Array(2*t.uvs.length);this.setAttribute("uv",new Er(e,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){const e=new Float32Array(2*t.uvs2.length);this.setAttribute("uv2",new Er(e,2).copyVector2sArray(t.uvs2))}this.groups=t.groups;for(const e in t.morphTargets){const n=[],i=t.morphTargets[e];for(let t=0,e=i.length;t0){const e=new Nr(4*t.skinIndices.length,4);this.setAttribute("skinIndex",e.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){const e=new Nr(4*t.skinWeights.length,4);this.setAttribute("skinWeight",e.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new ei);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new Kn(-1/0,-1/0,-1/0),new Kn(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e],r=i.toJSON(t.data);""!==i.name&&(r.name=i.name),t.data.attributes[e]=r}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],o=[];for(let e=0,i=n.length;e0&&(i[e]=o,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(t.data.groups=JSON.parse(JSON.stringify(o)));const s=this.boundingSphere;return null!==s&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t},clone:function(){return(new Yr).copy(this)},copy:function(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;tn.far?null:{distance:l,point:uo.clone(),object:t}}function mo(t,e,n,i,r,o,s,a,c,l,h,u){Kr.fromBufferAttribute(r,l),$r.fromBufferAttribute(r,h),to.fromBufferAttribute(r,u);const d=t.morphTargetInfluences;if(e.morphTargets&&o&&d){ro.set(0,0,0),oo.set(0,0,0),so.set(0,0,0);for(let t=0,e=o.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Qr.copy(n.boundingSphere),Qr.applyMatrix4(r),!1===t.ray.intersectsSphere(Qr))return;if(Zr.copy(r).invert(),Jr.copy(t.ray).applyMatrix4(Zr),null!==n.boundingBox&&!1===Jr.intersectsBox(n.boundingBox))return;let o;if(n.isBufferGeometry){const r=n.index,s=n.attributes.position,a=n.morphAttributes.position,c=n.morphTargetsRelative,l=n.attributes.uv,h=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==r)if(Array.isArray(i))for(let n=0,p=u.length;n0&&(c=l);for(let n=0,l=a.length;n0?1:-1,l.push(A.x,A.y,A.z),h.push(a/m),h.push(1-o/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e},wo.prototype=Object.assign(Object.create(Qi.prototype),{constructor:wo,isCamera:!0,copy:function(t,e){return Qi.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new Kn),this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){Qi.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()},updateWorldMatrix:function(t,e){Qi.prototype.updateWorldMatrix.call(this,t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()},clone:function(){return(new this.constructor).copy(this)}}),_o.prototype=Object.assign(Object.create(wo.prototype),{constructor:_o,isPerspectiveCamera:!0,copy:function(t,e){return wo.prototype.copy.call(this,t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){const e=.5*this.getFilmHeight()/t;this.fov=2*Gn.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){const t=Math.tan(.5*Gn.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*Gn.RAD2DEG*Math.atan(Math.tan(.5*Gn.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,e,n,i,r,o){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){const t=this.near;let e=t*Math.tan(.5*Gn.DEG2RAD*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const o=this.view;if(null!==this.view&&this.view.enabled){const t=o.fullWidth,s=o.fullHeight;r+=o.offsetX*i/t,e-=o.offsetY*n/s,i*=o.width/t,n*=o.height/s}const s=this.filmOffset;0!==s&&(r+=t*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()},toJSON:function(t){const e=Qi.prototype.toJSON.call(this,t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}});const Mo=90;function So(t,e,n){if(Qi.call(this),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const i=new _o(Mo,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new Kn(1,0,0)),this.add(i);const r=new _o(Mo,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Kn(-1,0,0)),this.add(r);const o=new _o(Mo,1,t,e);o.layers=this.layers,o.up.set(0,0,1),o.lookAt(new Kn(0,1,0)),this.add(o);const s=new _o(Mo,1,t,e);s.layers=this.layers,s.up.set(0,0,-1),s.lookAt(new Kn(0,-1,0)),this.add(s);const a=new _o(Mo,1,t,e);a.layers=this.layers,a.up.set(0,-1,0),a.lookAt(new Kn(0,0,1)),this.add(a);const c=new _o(Mo,1,t,e);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new Kn(0,0,-1)),this.add(c),this.update=function(t,e){null===this.parent&&this.updateMatrixWorld();const l=t.xr.enabled,h=t.getRenderTarget();t.xr.enabled=!1;const u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,o),t.setRenderTarget(n,3),t.render(e,s),t.setRenderTarget(n,4),t.render(e,a),n.texture.generateMipmaps=u,t.setRenderTarget(n,5),t.render(e,c),t.setRenderTarget(h),t.xr.enabled=l}}function To(t,e,n,i,r,o,s,a,c,l){t=void 0!==t?t:[],e=void 0!==e?e:st,s=void 0!==s?s:Ut,qn.call(this,t,e,n,i,r,o,s,a,c,l),this.flipY=!1,this._needsFlipEnvMap=!0}function Eo(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),Zn.call(this,t,t,e),e=e||{},this.texture=new To(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture._needsFlipEnvMap=!1}function Ao(t,e,n,i,r,o,s,a,c,l,h,u){qn.call(this,null,o,s,a,c,l,i,r,h,u),this.image={data:t||null,width:e||1,height:n||1},this.magFilter=void 0!==c?c:mt,this.minFilter=void 0!==l?l:mt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}So.prototype=Object.create(Qi.prototype),So.prototype.constructor=So,To.prototype=Object.create(qn.prototype),To.prototype.constructor=To,To.prototype.isCubeTexture=!0,Object.defineProperty(To.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}}),Eo.prototype=Object.create(Zn.prototype),Eo.prototype.constructor=Eo,Eo.prototype.isWebGLCubeRenderTarget=!0,Eo.prototype.fromEquirectangularTexture=function(t,e){this.texture.type=e.type,this.texture.format=Ft,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n=new go(5,5,5),i=new bo({name:"CubemapFromEquirect",uniforms:vo({tEquirect:{value:null}}),vertexShader:"\n\n\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t#include \n\t\t\t\t#include \n\n\t\t\t}\n\t\t",fragmentShader:"\n\n\t\t\tuniform sampler2D tEquirect;\n\n\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t}\n\t\t",side:g,blending:b});i.uniforms.tEquirect.value=e;const r=new po(n,i),o=e.minFilter;return e.minFilter===Mt&&(e.minFilter=bt),new So(1,10,this).update(t,r),e.minFilter=o,r.geometry.dispose(),r.material.dispose(),this},Eo.prototype.clear=function(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)},Ao.prototype=Object.create(qn.prototype),Ao.prototype.constructor=Ao,Ao.prototype.isDataTexture=!0;const Lo=new vi,Ro=new Kn;class Po{constructor(t,e,n,i,r,o){this.planes=[void 0!==t?t:new er,void 0!==e?e:new er,void 0!==n?n:new er,void 0!==i?i:new er,void 0!==r?r:new er,void 0!==o?o:new er]}set(t,e,n,i,r,o){const s=this.planes;return s[0].copy(t),s[1].copy(e),s[2].copy(n),s[3].copy(i),s[4].copy(r),s[5].copy(o),this}clone(){return(new this.constructor).copy(this)}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],c=n[5],l=n[6],h=n[7],u=n[8],d=n[9],p=n[10],f=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(s-i,h-a,f-u,y-m).normalize(),e[1].setComponents(s+i,h+a,f+u,y+m).normalize(),e[2].setComponents(s+r,h+c,f+d,y+g).normalize(),e[3].setComponents(s-r,h-c,f-d,y-g).normalize(),e[4].setComponents(s-o,h-l,f-p,y-v).normalize(),e[5].setComponents(s+o,h+l,f+p,y+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Lo.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(Lo)}intersectsSprite(t){return Lo.center.set(0,0,0),Lo.radius=.7071067811865476,Lo.applyMatrix4(t.matrixWorld),this.intersectsSphere(Lo)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++)if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,Ro.y=i.normal.y>0?t.max.y:t.min.y,Ro.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(Ro)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}}function Co(){let t=null,e=!1,n=null,i=null;function r(e,o){n(e,o),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Oo(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor.xyz *= color.xyz;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tmat3 tsn = mat3( S, T, N );\n\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmissionmap_fragment:"#ifdef USE_TRANSMISSIONMAP\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n#endif",transmissionmap_pars_fragment:"#ifdef USE_TRANSMISSIONMAP\n\tuniform sampler2D transmissionMap;\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"},No={common:{diffuse:{value:new xr(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new kn},uv2Transform:{value:new kn},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Hn(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new xr(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new xr(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new kn}},sprite:{diffuse:{value:new xr(15658734)},opacity:{value:1},center:{value:new Hn(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new kn}}},Bo={basic:{uniforms:yo([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.fog]),vertexShader:Io.meshbasic_vert,fragmentShader:Io.meshbasic_frag},lambert:{uniforms:yo([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.fog,No.lights,{emissive:{value:new xr(0)}}]),vertexShader:Io.meshlambert_vert,fragmentShader:Io.meshlambert_frag},phong:{uniforms:yo([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.fog,No.lights,{emissive:{value:new xr(0)},specular:{value:new xr(1118481)},shininess:{value:30}}]),vertexShader:Io.meshphong_vert,fragmentShader:Io.meshphong_frag},standard:{uniforms:yo([No.common,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.roughnessmap,No.metalnessmap,No.fog,No.lights,{emissive:{value:new xr(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Io.meshphysical_vert,fragmentShader:Io.meshphysical_frag},toon:{uniforms:yo([No.common,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.gradientmap,No.fog,No.lights,{emissive:{value:new xr(0)}}]),vertexShader:Io.meshtoon_vert,fragmentShader:Io.meshtoon_frag},matcap:{uniforms:yo([No.common,No.bumpmap,No.normalmap,No.displacementmap,No.fog,{matcap:{value:null}}]),vertexShader:Io.meshmatcap_vert,fragmentShader:Io.meshmatcap_frag},points:{uniforms:yo([No.points,No.fog]),vertexShader:Io.points_vert,fragmentShader:Io.points_frag},dashed:{uniforms:yo([No.common,No.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Io.linedashed_vert,fragmentShader:Io.linedashed_frag},depth:{uniforms:yo([No.common,No.displacementmap]),vertexShader:Io.depth_vert,fragmentShader:Io.depth_frag},normal:{uniforms:yo([No.common,No.bumpmap,No.normalmap,No.displacementmap,{opacity:{value:1}}]),vertexShader:Io.normal_vert,fragmentShader:Io.normal_frag},sprite:{uniforms:yo([No.sprite,No.fog]),vertexShader:Io.sprite_vert,fragmentShader:Io.sprite_frag},background:{uniforms:{uvTransform:{value:new kn},t2D:{value:null}},vertexShader:Io.background_vert,fragmentShader:Io.background_frag},cube:{uniforms:yo([No.envmap,{opacity:{value:1}}]),vertexShader:Io.cube_vert,fragmentShader:Io.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Io.equirect_vert,fragmentShader:Io.equirect_frag},distanceRGBA:{uniforms:yo([No.common,No.displacementmap,{referencePosition:{value:new Kn},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Io.distanceRGBA_vert,fragmentShader:Io.distanceRGBA_frag},shadow:{uniforms:yo([No.lights,No.fog,{color:{value:new xr(0)},opacity:{value:1}}]),vertexShader:Io.shadow_vert,fragmentShader:Io.shadow_frag}};function zo(t,e,n,i,r){const o=new xr(0);let s,a,c=0,l=null,h=0,u=null;function d(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,r)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),c=e,d(o,c)},getClearAlpha:function(){return c},setClearAlpha:function(t){c=t,d(o,c)},render:function(n,r,p,f){let v=!0===r.isScene?r.background:null;v&&v.isTexture&&(v=e.get(v));const y=t.xr,x=y.getSession&&y.getSession();x&&"additive"===x.environmentBlendMode&&(v=null),null===v?d(o,c):v&&v.isColor&&(d(v,1),f=!0),(t.autoClear||f)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.isWebGLCubeRenderTarget||v.mapping===ht)?(void 0===a&&(a=new po(new go(1,1,1),new bo({name:"BackgroundCubeMaterial",uniforms:vo(Bo.cube.uniforms),vertexShader:Bo.cube.vertexShader,fragmentShader:Bo.cube.fragmentShader,side:g,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),a.geometry.deleteAttribute("uv"),a.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(a.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(a)),v.isWebGLCubeRenderTarget&&(v=v.texture),a.material.uniforms.envMap.value=v,a.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v._needsFlipEnvMap?-1:1,l===v&&h===v.version&&u===t.toneMapping||(a.material.needsUpdate=!0,l=v,h=v.version,u=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null)):v&&v.isTexture&&(void 0===s&&(s=new po(new Do(2,2),new bo({name:"BackgroundMaterial",uniforms:vo(Bo.background.uniforms),vertexShader:Bo.background.vertexShader,fragmentShader:Bo.background.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),Object.defineProperty(s.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(s)),s.material.uniforms.t2D.value=v,!0===v.matrixAutoUpdate&&v.updateMatrix(),s.material.uniforms.uvTransform.value.copy(v.matrix),l===v&&h===v.version&&u===t.toneMapping||(s.material.needsUpdate=!0,l=v,h=v.version,u=t.toneMapping),n.unshift(s,s.geometry,s.material,0,0,null))}}}function Uo(t,e,n,i){const r=t.getParameter(34921),o=i.isWebGL2?null:e.get("OES_vertex_array_object"),s=i.isWebGL2||null!==o,a={},c=d(null);let l=c;function h(e){return i.isWebGL2?t.bindVertexArray(e):o.bindVertexArrayOES(e)}function u(e){return i.isWebGL2?t.deleteVertexArray(e):o.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],i=[];for(let t=0;t=0){const o=c[e];if(void 0!==o){const e=o.normalized,r=o.itemSize,s=n.get(o);if(void 0===s)continue;const c=s.buffer,l=s.type,h=s.bytesPerElement;if(o.isInterleavedBufferAttribute){const n=o.data,s=n.stride,u=o.offset;n&&n.isInstancedInterleavedBuffer?(m(i,n.meshPerAttribute),void 0===a._maxInstanceCount&&(a._maxInstanceCount=n.meshPerAttribute*n.count)):f(i),t.bindBuffer(34962,c),v(i,r,l,e,s*h,u*h)}else o.isInstancedBufferAttribute?(m(i,o.meshPerAttribute),void 0===a._maxInstanceCount&&(a._maxInstanceCount=o.meshPerAttribute*o.count)):f(i),t.bindBuffer(34962,c),v(i,r,l,e,0,0)}else if("instanceMatrix"===e){const e=n.get(r.instanceMatrix);if(void 0===e)continue;const o=e.buffer,s=e.type;m(i+0,1),m(i+1,1),m(i+2,1),m(i+3,1),t.bindBuffer(34962,o),t.vertexAttribPointer(i+0,4,s,!1,64,0),t.vertexAttribPointer(i+1,4,s,!1,64,16),t.vertexAttribPointer(i+2,4,s,!1,64,32),t.vertexAttribPointer(i+3,4,s,!1,64,48)}else if("instanceColor"===e){const e=n.get(r.instanceColor);if(void 0===e)continue;const o=e.buffer,s=e.type;m(i,1),t.bindBuffer(34962,o),t.vertexAttribPointer(i,3,s,!1,12,0)}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i,n);break;case 3:t.vertexAttrib3fv(i,n);break;case 4:t.vertexAttrib4fv(i,n);break;default:t.vertexAttrib1fv(i,n)}}}}g()}(r,c,u,y),null!==x&&t.bindBuffer(34963,n.get(x).buffer))},reset:y,resetDefaultState:x,dispose:function(){y();for(const t in a){const e=a[t];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete a[t]}},releaseStatesOfGeometry:function(t){if(void 0===a[t.id])return;const e=a[t.id];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete a[t.id]},releaseStatesOfProgram:function(t){for(const e in a){const n=a[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)u(i[t].object),delete i[t];delete n[t.id]}},initAttributes:p,enableAttribute:f,disableUnusedAttributes:g}}function Fo(t,e,n,i){const r=i.isWebGL2;let o;this.setMode=function(t){o=t},this.render=function(e,i){t.drawArrays(o,e,i),n.update(i,o,1)},this.renderInstances=function(i,s,a){if(0===a)return;let c,l;if(r)c=t,l="drawArraysInstanced";else if(c=e.get("ANGLE_instanced_arrays"),l="drawArraysInstancedANGLE",null===c)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");c[l](o,i,s,a),n.update(s,o,a)}}function Go(t,e,n){let i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const o="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let s=void 0!==n.precision?n.precision:"highp";const a=r(s);a!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",a,"instead."),s=a);const c=!0===n.logarithmicDepthBuffer,l=t.getParameter(34930),h=t.getParameter(35660),u=t.getParameter(3379),d=t.getParameter(34076),p=t.getParameter(34921),f=t.getParameter(36347),m=t.getParameter(36348),g=t.getParameter(36349),v=h>0,y=o||!!e.get("OES_texture_float");return{isWebGL2:o,getMaxAnisotropy:function(){if(void 0!==i)return i;const n=e.get("EXT_texture_filter_anisotropic");return i=null!==n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,i},getMaxPrecision:r,precision:s,logarithmicDepthBuffer:c,maxTextures:l,maxVertexTextures:h,maxTextureSize:u,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y,maxSamples:o?t.getParameter(36183):0}}function Ho(t){const e=this;let n=null,i=0,r=!1,o=!1;const s=new er,a=new kn,c={value:null,needsUpdate:!1};function l(){c.value!==n&&(c.value=n,c.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(t,n,i,r){const o=null!==t?t.length:0;let l=null;if(0!==o){if(l=c.value,!0!==r||null===l){const e=i+4*o,r=n.matrixWorldInverse;a.getNormalMatrix(r),(null===l||l.length0){const s=t.getRenderList(),a=t.getRenderTarget(),c=new Eo(o.height/2);return c.fromEquirectangularTexture(t,r),e.set(r,c),t.setRenderTarget(a),t.setRenderList(s),r.addEventListener("dispose",i),n(c.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}function jo(t){const e={};return{has:function(n){if(void 0!==e[n])return null!==e[n];let i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n)}return e[n]=i,null!==i},get:function(t){return this.has(t)||console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e[t]}}}function Vo(t,e,n,i){const r=new WeakMap,o=new WeakMap;function s(t){const a=t.target,c=r.get(a);null!==c.index&&e.remove(c.index);for(const t in c.attributes)e.remove(c.attributes[t]);a.removeEventListener("dispose",s),r.delete(a);const l=o.get(c);l&&(e.remove(l),o.delete(c)),i.releaseStatesOfGeometry(c),!0===a.isInstancedBufferGeometry&&delete a._maxInstanceCount,n.memory.geometries--}function a(t){const n=[],i=t.index,r=t.attributes.position;let s=0;if(null!==i){const t=i.array;s=i.version;for(let e=0,i=t.length;e65535?Dr:Cr)(n,1);a.version=s;const c=o.get(t);c&&e.remove(c),o.set(t,a)}return{get:function(t,e){let i=r.get(e);return i||(e.addEventListener("dispose",s),e.isBufferGeometry?i=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new Yr).setFromObject(t)),i=e._bufferGeometry),r.set(e,i),n.memory.geometries++,i)},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t0)return t;const r=e*n;let o=is[r];if(void 0===o&&(o=new Float32Array(r),is[r]=o),0!==e){i.toArray(o,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(o,r)}return o}function ls(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n/gm;function oa(t){return t.replace(ra,sa)}function sa(t,e){const n=Io[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return oa(n)}const aa=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,ca=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function la(t){return t.replace(ca,ua).replace(aa,ha)}function ha(t,e,n,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),ua(0,e,n,i)}function ua(t,e,n,i){let r="";for(let t=parseInt(e);t0?t.gammaFactor:1,g=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ea).join("\n")}(n),v=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(o),y=r.createProgram();let x,b,w=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(x=[v].filter(ea).join("\n"),x.length>0&&(x+="\n"),b=[g,v].filter(ea).join("\n"),b.length>0&&(b+="\n")):(x=[da(n),"#define SHADER_NAME "+n.shaderName,v,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+m,"#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+h:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+c:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ea).join("\n"),b=[g,da(n),"#define SHADER_NAME "+n.shaderName,v,n.alphaTest?"#define ALPHATEST "+n.alphaTest+(n.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+m,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+l:"",n.envMap?"#define "+h:"",n.envMap?"#define "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.sheen?"#define USE_SHEEN":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+c:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==$?"#define TONE_MAPPING":"",n.toneMapping!==$?Io.tonemapping_pars_fragment:"",n.toneMapping!==$?ta("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",Io.encodings_pars_fragment,n.map?Ks("mapTexelToLinear",n.mapEncoding):"",n.matcap?Ks("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?Ks("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?Ks("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.lightMap?Ks("lightMapTexelToLinear",n.lightMapEncoding):"",$s("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(ea).join("\n")),s=oa(s),s=na(s,n),s=ia(s,n),a=oa(a),a=na(a,n),a=ia(a,n),s=la(s),a=la(a),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(w="#version 300 es\n",x=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+x,b=["#define varying in",n.glslVersion===Bn?"":"out highp vec4 pc_fragColor;",n.glslVersion===Bn?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+b);const _=w+b+a,M=Ys(r,35633,w+x+s),S=Ys(r,35632,_);if(r.attachShader(y,M),r.attachShader(y,S),void 0!==n.index0AttributeName?r.bindAttribLocation(y,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(y,0,"position"),r.linkProgram(y),t.debug.checkShaderErrors){const t=r.getProgramInfoLog(y).trim(),e=r.getShaderInfoLog(M).trim(),n=r.getShaderInfoLog(S).trim();let i=!0,o=!0;if(!1===r.getProgramParameter(y,35714)){i=!1;const e=Qs(r,M,"vertex"),n=Qs(r,S,"fragment");console.error("THREE.WebGLProgram: shader error: ",r.getError(),"35715",r.getProgramParameter(y,35715),"gl.getProgramInfoLog",t,e,n)}else""!==t?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",t):""!==e&&""!==n||(o=!1);o&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:x},fragmentShader:{log:n,prefix:b}})}let T,E;return r.deleteShader(M),r.deleteShader(S),this.getUniforms=function(){return void 0===T&&(T=new Xs(r,y)),T},this.getAttributes=function(){return void 0===E&&(E=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r0,maxBones:S,useVertexTexture:l,morphTargets:r.morphTargets,morphNormals:r.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:r.dithering,shadowMapEnabled:t.shadowMap.enabled&&f.length>0,shadowMapType:t.shadowMap.type,toneMapping:r.toneMapped?t.toneMapping:$,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:r.side===v,flipSided:r.side===g,depthPacking:void 0!==r.depthPacking&&r.depthPacking,index0AttributeName:r.index0AttributeName,extensionDerivatives:r.extensions&&r.extensions.derivatives,extensionFragDepth:r.extensions&&r.extensions.fragDepth,extensionDrawBuffers:r.extensions&&r.extensions.drawBuffers,extensionShaderTextureLOD:r.extensions&&r.extensions.shaderTextureLOD,rendererExtensionFragDepth:a||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:a||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:a||n.has("EXT_shader_texture_lod"),customProgramCacheKey:r.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);if(!1===e.isRawShaderMaterial){for(let t=0;t1&&i.sort(t||ga),r.length>1&&r.sort(e||va)}}}function xa(t){let e=new WeakMap;return{get:function(n,i){const r=e.get(n);let o;return void 0===r?(o=new ya(t),e.set(n,new WeakMap),e.get(n).set(i,o)):(o=r.get(i),void 0===o&&(o=new ya(t),r.set(i,o))),o},dispose:function(){e=new WeakMap}}}function ba(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new Kn,color:new xr};break;case"SpotLight":n={position:new Kn,direction:new Kn,color:new xr,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Kn,color:new xr,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Kn,skyColor:new xr,groundColor:new xr};break;case"RectAreaLight":n={color:new xr,position:new Kn,halfWidth:new Kn,halfHeight:new Kn}}return t[e.id]=n,n}}}let wa=0;function _a(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Ma(t,e){const n=new ba,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Hn};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Hn,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)r.probe.push(new Kn);const o=new Kn,s=new Ei,a=new Ei;return{setup:function(o){let s=0,a=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let l=0,h=0,u=0,d=0,p=0,f=0,m=0,g=0;o.sort(_a);for(let t=0,e=o.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=No.LTC_FLOAT_1,r.rectAreaLTC2=No.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=No.LTC_HALF_1,r.rectAreaLTC2=No.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=s,r.ambient[1]=a,r.ambient[2]=c;const v=r.hash;v.directionalLength===l&&v.pointLength===h&&v.spotLength===u&&v.rectAreaLength===d&&v.hemiLength===p&&v.numDirectionalShadows===f&&v.numPointShadows===m&&v.numSpotShadows===g||(r.directional.length=l,r.spot.length=u,r.rectArea.length=d,r.point.length=h,r.hemi.length=p,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=g,r.spotShadowMap.length=g,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=m,r.spotShadowMatrix.length=g,v.directionalLength=l,v.pointLength=h,v.spotLength=u,v.rectAreaLength=d,v.hemiLength=p,v.numDirectionalShadows=f,v.numPointShadows=m,v.numSpotShadows=g,r.version=wa++)},setupView:function(t,e){let n=0,i=0,c=0,l=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(i).length?(o=new Sa(t,e),n.get(i).push(o)):o=n.get(i)[r],o},dispose:function(){n=new WeakMap}}}function Ea(t){_r.call(this),this.type="MeshDepthMaterial",this.depthPacking=sn,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}function Aa(t){_r.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new Kn,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}function La(t,e,n){let i=new Po;const r=new Hn,o=new Hn,s=new Yn,a=[],c=[],l={},h={0:g,1:m,2:v},u=new bo({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new Hn},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),p=u.clone();p.defines.HORIZONTAL_PASS=1;const y=new Yr;y.setAttribute("position",new Er(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const x=new po(y,u),w=this;function _(n,i){const r=e.update(x);u.uniforms.shadow_pass.value=n.map.texture,u.uniforms.resolution.value=n.mapSize,u.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,r,u,x,null),p.uniforms.shadow_pass.value=n.mapPass.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,p,x,null)}function M(t,e,n){const i=t<<0|e<<1|n<<2;let r=a[i];return void 0===r&&(r=new Ea({depthPacking:an,morphTargets:t,skinning:e}),a[i]=r),r}function S(t,e,n){const i=t<<0|e<<1|n<<2;let r=c[i];return void 0===r&&(r=new Aa({morphTargets:t,skinning:e}),c[i]=r),r}function T(e,n,i,r,o,s,a){let c=null,u=M,d=e.customDepthMaterial;if(!0===r.isPointLight&&(u=S,d=e.customDistanceMaterial),void 0===d){let t=!1;!0===i.morphTargets&&(t=n.morphAttributes&&n.morphAttributes.position&&n.morphAttributes.position.length>0);let r=!1;!0===e.isSkinnedMesh&&(!0===i.skinning?r=!0:console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e)),c=u(t,r,!0===e.isInstancedMesh)}else c=d;if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){const t=c.uuid,e=i.uuid;let n=l[t];void 0===n&&(n={},l[t]=n);let r=n[e];void 0===r&&(r=c.clone(),n[e]=r),c=r}return c.visible=i.visible,c.wireframe=i.wireframe,c.side=a===f?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:h[i.side],c.clipShadows=i.clipShadows,c.clippingPlanes=i.clippingPlanes,c.clipIntersection=i.clipIntersection,c.wireframeLinewidth=i.wireframeLinewidth,c.linewidth=i.linewidth,!0===r.isPointLight&&!0===c.isMeshDistanceMaterial&&(c.referencePosition.setFromMatrixPosition(r.matrixWorld),c.nearDistance=o,c.farDistance=s),c}function E(n,r,o,s,a){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&a===f)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let c=0,l=e.length;cn||r.y>n)&&(r.x>n&&(o.x=Math.floor(n/p.x),r.x=o.x*p.x,u.mapSize.x=o.x),r.y>n&&(o.y=Math.floor(n/p.y),r.y=o.y*p.y,u.mapSize.y=o.y)),null===u.map&&!u.isPointLightShadow&&this.type===f){const t={minFilter:bt,magFilter:bt,format:Ft};u.map=new Zn(r.x,r.y,t),u.map.texture.name=h.name+".shadowMap",u.mapPass=new Zn(r.x,r.y,t),u.camera.updateProjectionMatrix()}if(null===u.map){const t={minFilter:mt,magFilter:mt,format:Ft};u.map=new Zn(r.x,r.y,t),u.map.texture.name=h.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const m=u.getViewportCount();for(let t=0;t=1):-1!==at.indexOf("OpenGL ES")&&(st=parseFloat(/^OpenGL ES (\d)/.exec(at)[1]),ot=st>=2);let ct=null,lt={};const ht=new Yn,ut=new Yn;function dt(e,n,i){const r=new Uint8Array(4),o=t.createTexture();t.bindTexture(e,o),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;ei||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?Gn.floorPowerOfTwo:Math.floor,o=i(r*t.width),s=i(r*t.height);void 0===p&&(p=m(o,s));const a=n?m(o,s):p;return a.width=o,a.height=s,a.getContext("2d").drawImage(t,0,0,o,s),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+o+"x"+s+")."),a}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function v(t){return Gn.isPowerOfTwo(t.width)&&Gn.isPowerOfTwo(t.height)}function y(t,e){return t.generateMipmaps&&e&&t.minFilter!==mt&&t.minFilter!==bt}function x(e,n,r,o){t.generateMipmap(e),i.get(n).__maxMipLevel=Math.log(Math.max(r,o))*Math.LOG2E}function b(n,i,r){if(!1===a)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let o=i;return 6403===i&&(5126===r&&(o=33326),5131===r&&(o=33325),5121===r&&(o=33321)),6407===i&&(5126===r&&(o=34837),5131===r&&(o=34843),5121===r&&(o=32849)),6408===i&&(5126===r&&(o=34836),5131===r&&(o=34842),5121===r&&(o=32856)),33325!==o&&33326!==o&&34842!==o&&34836!==o||e.get("EXT_color_buffer_float"),o}function w(t){return t===mt||t===gt||t===yt?9728:9729}function _(e){const n=e.target;n.removeEventListener("dispose",_),function(e){const n=i.get(e);void 0!==n.__webglInit&&(t.deleteTexture(n.__webglTexture),i.remove(e))}(n),n.isVideoTexture&&d.delete(n),s.memory.textures--}function M(e){const n=e.target;n.removeEventListener("dispose",M),function(e){const n=i.get(e),r=i.get(e.texture);if(e){if(void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(n.__webglFramebuffer[e]),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[e]);else t.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer),n.__webglMultisampledFramebuffer&&t.deleteFramebuffer(n.__webglMultisampledFramebuffer),n.__webglColorRenderbuffer&&t.deleteRenderbuffer(n.__webglColorRenderbuffer),n.__webglDepthRenderbuffer&&t.deleteRenderbuffer(n.__webglDepthRenderbuffer);i.remove(e.texture),i.remove(e)}}(n),s.memory.textures--}let S=0;function T(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=s.render.frame;d.get(t)!==e&&(d.set(t,e),t.update())}(t),t.version>0&&r.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void C(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function E(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?function(e,i,r){if(6!==i.image.length)return;P(e,i),n.activeTexture(33984+r),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,i.flipY);const s=i&&(i.isCompressedTexture||i.image[0].isCompressedTexture),c=i.image[0]&&i.image[0].isDataTexture,h=[];for(let t=0;t<6;t++)h[t]=s||c?c?i.image[t].image:i.image[t]:g(i.image[t],!1,!0,l);const u=h[0],d=v(u)||a,p=o.convert(i.format),f=o.convert(i.type),m=b(i.internalFormat,p,f);let w;if(R(34067,i,d),s){for(let t=0;t<6;t++){w=h[t].mipmaps;for(let e=0;e1||i.get(o).__currentAnisotropy)&&(t.texParameterf(n,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o.anisotropy,r.getMaxAnisotropy())),i.get(o).__currentAnisotropy=o.anisotropy)}}function P(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",_),e.__webglTexture=t.createTexture(),s.memory.textures++)}function C(e,i,r){let s=3553;i.isDataTexture2DArray&&(s=35866),i.isDataTexture3D&&(s=32879),P(e,i),n.activeTexture(33984+r),n.bindTexture(s,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment);const c=function(t){return!a&&(t.wrapS!==pt||t.wrapT!==pt||t.minFilter!==mt&&t.minFilter!==bt)}(i)&&!1===v(i.image),l=g(i.image,c,!1,h),u=v(l)||a,d=o.convert(i.format);let p,f=o.convert(i.type),m=b(i.internalFormat,d,f);R(s,i,u);const w=i.mipmaps;if(i.isDepthTexture)m=6402,a?m=i.type===Ct?36012:i.type===Pt?33190:i.type===Bt?35056:33189:i.type===Ct&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===jt&&6402===m&&i.type!==Lt&&i.type!==Pt&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=Lt,f=o.convert(i.type)),i.format===Vt&&6402===m&&(m=34041,i.type!==Bt&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=Bt,f=o.convert(i.type))),n.texImage2D(3553,0,m,l.width,l.height,0,d,f,null);else if(i.isDataTexture)if(w.length>0&&u){for(let t=0,e=w.length;t0&&u){for(let t=0,e=w.length;t=c&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+c),S+=1,t},this.resetTextureUnits=function(){S=0},this.setTexture2D=T,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?C(r,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?C(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=E,this.setupRenderTarget=function(e){const r=i.get(e),c=i.get(e.texture);e.addEventListener("dispose",M),c.__webglTexture=t.createTexture(),s.memory.textures++;const l=!0===e.isWebGLCubeRenderTarget,h=!0===e.isWebGLMultisampleRenderTarget,u=v(e)||a;if(!a||e.texture.format!==Ut||e.texture.type!==Ct&&e.texture.type!==Ot||(e.texture.format=Ft,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),l){r.__webglFramebuffer=[];for(let e=0;e<6;e++)r.__webglFramebuffer[e]=t.createFramebuffer()}else if(r.__webglFramebuffer=t.createFramebuffer(),h)if(a){r.__webglMultisampledFramebuffer=t.createFramebuffer(),r.__webglColorRenderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,r.__webglColorRenderbuffer);const n=o.convert(e.texture.format),i=o.convert(e.texture.type),s=b(e.texture.internalFormat,n,i),a=I(e);t.renderbufferStorageMultisample(36161,a,s,e.width,e.height),t.bindFramebuffer(36160,r.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064,36161,r.__webglColorRenderbuffer),t.bindRenderbuffer(36161,null),e.depthBuffer&&(r.__webglDepthRenderbuffer=t.createRenderbuffer(),D(r.__webglDepthRenderbuffer,e,!0)),t.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(l){n.bindTexture(34067,c.__webglTexture),R(34067,e.texture,u);for(let t=0;t<6;t++)O(r.__webglFramebuffer[t],e,36064,34069+t);y(e.texture,u)&&x(34067,e.texture,e.width,e.height),n.bindTexture(34067,null)}else n.bindTexture(3553,c.__webglTexture),R(3553,e.texture,u),O(r.__webglFramebuffer,e,36064,3553),y(e.texture,u)&&x(3553,e.texture,e.width,e.height),n.bindTexture(3553,null);e.depthBuffer&&function(e){const n=i.get(e),r=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture){if(r)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,n){if(n&&n.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,e),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),T(n.depthTexture,0);const r=i.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===jt)t.framebufferTexture2D(36160,36096,3553,r,0);else{if(n.depthTexture.format!==Vt)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(36160,33306,3553,r,0)}}(n.__webglFramebuffer,e)}else if(r){n.__webglDepthbuffer=[];for(let i=0;i<6;i++)t.bindFramebuffer(36160,n.__webglFramebuffer[i]),n.__webglDepthbuffer[i]=t.createRenderbuffer(),D(n.__webglDepthbuffer[i],e,!1)}else t.bindFramebuffer(36160,n.__webglFramebuffer),n.__webglDepthbuffer=t.createRenderbuffer(),D(n.__webglDepthbuffer,e,!1);t.bindFramebuffer(36160,null)}(e)},this.updateRenderTargetMipmap=function(t){const e=t.texture;if(y(e,v(t)||a)){const r=t.isWebGLCubeRenderTarget?34067:3553,o=i.get(e).__webglTexture;n.bindTexture(r,o),x(r,e,t.width,t.height),n.bindTexture(r,null)}},this.updateMultisampleRenderTarget=function(e){if(e.isWebGLMultisampleRenderTarget)if(a){const n=i.get(e);t.bindFramebuffer(36008,n.__webglMultisampledFramebuffer),t.bindFramebuffer(36009,n.__webglFramebuffer);const r=e.width,o=e.height;let s=16384;e.depthBuffer&&(s|=256),e.stencilBuffer&&(s|=1024),t.blitFramebuffer(0,0,r,o,0,0,r,o,s,9728),t.bindFramebuffer(36160,n.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(t,e){t&&t.isWebGLRenderTarget&&(!1===N&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),N=!0),t=t.texture),T(t,e)},this.safeSetTextureCube=function(t,e){t&&t.isWebGLCubeRenderTarget&&(!1===B&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),B=!0),t=t.texture),E(t,e)}}function Ca(t,e,n){const i=n.isWebGL2;return{convert:function(t){let n;if(t===Tt)return 5121;if(t===Dt)return 32819;if(t===It)return 32820;if(t===Nt)return 33635;if(t===Et)return 5120;if(t===At)return 5122;if(t===Lt)return 5123;if(t===Rt)return 5124;if(t===Pt)return 5125;if(t===Ct)return 5126;if(t===Ot)return i?5131:(n=e.get("OES_texture_half_float"),null!==n?n.HALF_FLOAT_OES:null);if(t===zt)return 6406;if(t===Ut)return 6407;if(t===Ft)return 6408;if(t===Gt)return 6409;if(t===Ht)return 6410;if(t===jt)return 6402;if(t===Vt)return 34041;if(t===Wt)return 6403;if(t===qt)return 36244;if(t===Xt)return 33319;if(t===Yt)return 33320;if(t===Zt)return 36248;if(t===Jt)return 36249;if(t===Qt||t===Kt||t===$t||t===te){if(n=e.get("WEBGL_compressed_texture_s3tc"),null===n)return null;if(t===Qt)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Kt)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===$t)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===te)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(t===ee||t===ne||t===ie||t===re){if(n=e.get("WEBGL_compressed_texture_pvrtc"),null===n)return null;if(t===ee)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===ne)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===ie)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===re)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===oe)return n=e.get("WEBGL_compressed_texture_etc1"),null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null;if((t===se||t===ae)&&(n=e.get("WEBGL_compressed_texture_etc"),null!==n)){if(t===se)return n.COMPRESSED_RGB8_ETC2;if(t===ae)return n.COMPRESSED_RGBA8_ETC2_EAC}return t===ce||t===le||t===he||t===ue||t===de||t===pe||t===fe||t===me||t===ge||t===ve||t===ye||t===xe||t===be||t===we||t===Me||t===Se||t===Te||t===Ee||t===Ae||t===Le||t===Re||t===Pe||t===Ce||t===Oe||t===De||t===Ie||t===Ne||t===Be?(n=e.get("WEBGL_compressed_texture_astc"),null!==n?t:null):t===_e?(n=e.get("EXT_texture_compression_bptc"),null!==n?t:null):t===Bt?i?34042:(n=e.get("WEBGL_depth_texture"),null!==n?n.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}function Oa(t=[]){_o.call(this),this.cameras=t}function Da(){Qi.call(this),this.type="Group"}function Ia(){this._targetRay=null,this._grip=null,this._hand=null}function Na(t,e){const n=this;let i=null,r=1,o=null,s="local-floor",a=null;const c=[],l=new Map,h=new _o;h.layers.enable(1),h.viewport=new Yn;const u=new _o;u.layers.enable(2),u.viewport=new Yn;const d=[h,u],p=new Oa;p.layers.enable(1),p.layers.enable(2);let f=null,m=null;function g(t){const e=l.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function v(){l.forEach((function(t,e){t.disconnect(e)})),l.clear(),t.setFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),S.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function y(t){o=t,S.setContext(i),S.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}function x(t){const e=i.inputSources;for(let t=0;t0&&wt(o,t,e),s.length>0&&wt(s,t,e),!0===t.isScene&&t.onAfterRender(f,t,e),null!==x&&(q.updateRenderTargetMipmap(x),q.updateMultisampleRenderTarget(x)),j.buffers.depth.setTest(!0),j.buffers.depth.setMask(!0),j.buffers.color.setMask(!0),j.setPolygonOffset(!1),p.pop(),d=p.length>0?p[p.length-1]:null,u=null},this.setFramebuffer=function(t){g!==t&&null===x&<.bindFramebuffer(36160,t),g=t},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return y},this.getRenderList=function(){return u},this.setRenderList=function(t){u=t},this.getRenderTarget=function(){return x},this.setRenderTarget=function(t,e=0,n=0){x=t,v=e,y=n,t&&void 0===W.get(t).__webglFramebuffer&&q.setupRenderTarget(t);let i=g,r=!1;if(t){const n=W.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=n[e],r=!0):i=t.isWebGLMultisampleRenderTarget?W.get(t).__webglMultisampledFramebuffer:n,M.copy(t.viewport),S.copy(t.scissor),T=t.scissorTest}else M.copy(C).multiplyScalar(L).floor(),S.copy(O).multiplyScalar(L).floor(),T=D;if(b!==i&&(lt.bindFramebuffer(36160,i),b=i),j.viewport(M),j.scissor(S),j.setScissorTest(T),r){const i=W.get(t.texture);lt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}},this.readRenderTargetPixels=function(t,e,n,i,r,o,s){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let a=W.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==s&&(a=a[s]),a){let s=!1;a!==b&&(lt.bindFramebuffer(36160,a),s=!0);try{const a=t.texture,c=a.format,l=a.type;if(c!==Ft&&at.convert(c)!==lt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(l===Tt||at.convert(l)===lt.getParameter(35738)||l===Ct&&(k.isWebGL2||H.get("OES_texture_float")||H.get("WEBGL_color_buffer_float"))||l===Ot&&(k.isWebGL2?H.get("EXT_color_buffer_float"):H.get("EXT_color_buffer_half_float"))))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===lt.checkFramebufferStatus(36160)?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&<.readPixels(e,n,i,r,at.convert(c),at.convert(l),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&<.bindFramebuffer(36160,b)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),o=Math.floor(e.image.height*i),s=at.convert(e.format);q.setTexture2D(e,0),lt.copyTexImage2D(3553,n,s,t.x,t.y,r,o,0),j.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,o=e.image.height,s=at.convert(n.format),a=at.convert(n.type);q.setTexture2D(n,0),lt.pixelStorei(37440,n.flipY),lt.pixelStorei(37441,n.premultiplyAlpha),lt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?lt.texSubImage2D(3553,i,t.x,t.y,r,o,s,a,e.image.data):e.isCompressedTexture?lt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,s,e.mipmaps[0].data):lt.texSubImage2D(3553,i,t.x,t.y,s,a,e.image),0===i&&n.generateMipmaps&<.generateMipmap(3553),j.unbindTexture()},this.initTexture=function(t){q.setTexture2D(t,0),j.unbindTexture()},this.resetState=function(){j.reset(),ct.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}function Ua(t){za.call(this,t)}Ea.prototype=Object.create(_r.prototype),Ea.prototype.constructor=Ea,Ea.prototype.isMeshDepthMaterial=!0,Ea.prototype.copy=function(t){return _r.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},Aa.prototype=Object.create(_r.prototype),Aa.prototype.constructor=Aa,Aa.prototype.isMeshDistanceMaterial=!0,Aa.prototype.copy=function(t){return _r.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},Oa.prototype=Object.assign(Object.create(_o.prototype),{constructor:Oa,isArrayCamera:!0}),Da.prototype=Object.assign(Object.create(Qi.prototype),{constructor:Da,isGroup:!0}),Object.assign(Ia.prototype,{constructor:Ia,getHandSpace:function(){if(null===this._hand&&(this._hand=new Da,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints=[],this._hand.inputState={pinching:!1},window.XRHand))for(let t=0;t<=window.XRHand.LITTLE_PHALANX_TIP;t++){const t=new Da;t.matrixAutoUpdate=!1,t.visible=!1,this._hand.joints.push(t),this._hand.add(t)}return this._hand},getTargetRaySpace:function(){return null===this._targetRay&&(this._targetRay=new Da,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1),this._targetRay},getGripSpace:function(){return null===this._grip&&(this._grip=new Da,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1),this._grip},dispatchEvent:function(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this},disconnect:function(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},update:function(t,e,n){let i=null,r=null,o=null;const s=this._targetRay,a=this._grip,c=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState)if(c&&t.hand){o=!0;for(let i=0;i<=window.XRHand.LITTLE_PHALANX_TIP;i++)if(t.hand[i]){const r=e.getJointPose(t.hand[i],n),o=c.joints[i];null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.jointRadius=r.radius),o.visible=null!==r;const s=c.joints[window.XRHand.INDEX_PHALANX_TIP],a=c.joints[window.XRHand.THUMB_PHALANX_TIP],l=s.position.distanceTo(a.position),h=.02,u=.005;c.inputState.pinching&&l>h+u?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!c.inputState.pinching&&l<=h-u&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}}else null!==s&&(i=e.getPose(t.targetRaySpace,n),null!==i&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale))),null!==a&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale)));return null!==s&&(s.visible=null!==i),null!==a&&(a.visible=null!==r),null!==c&&(c.visible=null!==o),this}}),Object.assign(Na.prototype,zn.prototype),Ua.prototype=Object.assign(Object.create(za.prototype),{constructor:Ua,isWebGL1Renderer:!0});class Fa{constructor(t,e){Object.defineProperty(this,"isFogExp2",{value:!0}),this.name="",this.color=new xr(t),this.density=void 0!==e?e:25e-5}clone(){return new Fa(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Ga{constructor(t,e,n){Object.defineProperty(this,"isFog",{value:!0}),this.name="",this.color=new xr(t),this.near=void 0!==e?e:1,this.far=void 0!==n?n:1e3}clone(){return new Ga(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class Ha extends Qi{constructor(){super(),Object.defineProperty(this,"isScene",{value:!0}),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.background&&(e.object.background=this.background.toJSON(t)),null!==this.environment&&(e.object.environment=this.environment.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}function ka(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=En,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Gn.generateUUID()}Object.defineProperty(ka.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(ka.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this},copyAt:function(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;it.far||e.push({distance:a,point:Xa.clone(),uv:dr.getUV(Xa,$a,tc,ec,nc,ic,rc,new Hn),face:null,object:this})},copy:function(t){return Qi.prototype.copy.call(this,t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}});const ac=new Kn,cc=new Kn;function lc(){Qi.call(this),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}lc.prototype=Object.assign(Object.create(Qi.prototype),{constructor:lc,isLOD:!0,copy:function(t){Qi.prototype.copy.call(this,t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,i;for(n=1,i=e.length;n0){ac.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(ac);this.getObjectForDistance(n).raycast(t,e)}},update:function(t){const e=this.levels;if(e.length>1){ac.setFromMatrixPosition(t.matrixWorld),cc.setFromMatrixPosition(this.matrixWorld);const n=ac.distanceTo(cc)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i=e[i].distance;i++)e[i-1].object.visible=!1,e[i].object.visible=!0;for(this._currentLevel=i-1;is)continue;h.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(h);dt.far||e.push({distance:d,point:l.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else for(let n=0,i=r.count-1;ns)continue;h.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(h);it.far||e.push({distance:i,point:l.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else if(n.isGeometry){const i=n.vertices,r=i.length;for(let n=0;ns)continue;h.applyMatrix4(this.matrixWorld);const r=t.ray.origin.distanceTo(h);rt.far||e.push({distance:r,point:l.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}},updateMorphTargets:function(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}});const Oc=new Kn,Dc=new Kn;function Ic(t,e){Cc.call(this,t,e),this.type="LineSegments"}function Nc(t,e){Cc.call(this,t,e),this.type="LineLoop"}function Bc(t){_r.call(this),this.type="PointsMaterial",this.color=new xr(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(t)}Ic.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Ic,isLineSegments:!0,computeLineDistances:function(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;tr.far)return;o.push({distance:c,distanceToRay:Math.sqrt(a),point:n,index:e,face:null,object:s})}}function jc(t,e,n,i,r,o,s,a,c){qn.call(this,t,e,n,i,r,o,s,a,c),this.format=void 0!==s?s:Ut,this.minFilter=void 0!==o?o:bt,this.magFilter=void 0!==r?r:bt,this.generateMipmaps=!1;const l=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){l.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}function Vc(t,e,n,i,r,o,s,a,c,l,h,u){qn.call(this,null,o,s,a,c,l,i,r,h,u),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}function Wc(t,e,n,i,r,o,s,a,c){qn.call(this,t,e,n,i,r,o,s,a,c),this.needsUpdate=!0}function qc(t,e,n,i,r,o,s,a,c,l){if((l=void 0!==l?l:jt)!==jt&&l!==Vt)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&l===jt&&(n=Lt),void 0===n&&l===Vt&&(n=Bt),qn.call(this,null,i,r,o,s,a,l,n,c),this.image={width:t,height:e},this.magFilter=void 0!==s?s:mt,this.minFilter=void 0!==a?a:mt,this.flipY=!1,this.generateMipmaps=!1}Hc.prototype=Object.assign(Object.create(Qi.prototype),{constructor:Hc,isPoints:!0,copy:function(t){return Qi.prototype.copy.call(this,t),this.material=t.material,this.geometry=t.geometry,this},raycast:function(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold;if(null===n.boundingSphere&&n.computeBoundingSphere(),Fc.copy(n.boundingSphere),Fc.applyMatrix4(i),Fc.radius+=r,!1===t.ray.intersectsSphere(Fc))return;zc.copy(i).invert(),Uc.copy(t.ray).applyMatrix4(zc);const o=r/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o;if(n.isBufferGeometry){const r=n.index,o=n.attributes.position;if(null!==r){const n=r.array;for(let r=0,a=n.length;r0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}),jc.prototype=Object.assign(Object.create(qn.prototype),{constructor:jc,clone:function(){return new this.constructor(this.image).copy(this)},isVideoTexture:!0,update:function(){const t=this.image;0=="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Vc.prototype=Object.create(qn.prototype),Vc.prototype.constructor=Vc,Vc.prototype.isCompressedTexture=!0,Wc.prototype=Object.create(qn.prototype),Wc.prototype.constructor=Wc,Wc.prototype.isCanvasTexture=!0,qc.prototype=Object.create(qn.prototype),qc.prototype.constructor=qc,qc.prototype.isDepthTexture=!0;let Xc=0;const Yc=new Ei,Zc=new Qi,Jc=new Kn;function Qc(){Object.defineProperty(this,"id",{value:Xc+=2}),this.uuid=Gn.generateUUID(),this.name="",this.type="Geometry",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}Qc.prototype=Object.assign(Object.create(zn.prototype),{constructor:Qc,isGeometry:!0,applyMatrix4:function(t){const e=(new kn).getNormalMatrix(t);for(let e=0,n=this.vertices.length;e0)for(let t=0;t0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){this.computeFaceNormals();for(let t=0,e=this.faces.length;t0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){for(let t=0,e=this.faces.length;t=0;t--){const e=o[t];this.faces.splice(e,1);for(let t=0,n=this.faceVertexUvs.length;t0,a=e.vertexNormals.length>0,c=1!==e.color.r||1!==e.color.g||1!==e.color.b,p=e.vertexColors.length>0;let f=0;if(f=l(f,0,0),f=l(f,1,i),f=l(f,2,r),f=l(f,3,o),f=l(f,4,s),f=l(f,5,a),f=l(f,6,c),f=l(f,7,p),n.push(f),n.push(e.a,e.b,e.c),n.push(e.materialIndex),o){const e=this.faceVertexUvs[0][t];n.push(d(e[0]),d(e[1]),d(e[2]))}if(s&&n.push(h(e.normal)),a){const t=e.vertexNormals;n.push(h(t[0]),h(t[1]),h(t[2]))}if(c&&n.push(u(e.color)),p){const t=e.vertexColors;n.push(u(t[0]),u(t[1]),u(t[2]))}}function l(t,e,n){return n?t|1<0&&(t.data.colors=o),a.length>0&&(t.data.uvs=[a]),t.data.faces=n,t},clone:function(){return(new Qc).copy(this)},copy:function(t){this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;const e=t.vertices;for(let t=0,n=e.length;t0&&v(!0),e>0&&v(!1)),this.setIndex(l),this.setAttribute("position",new Nr(h,3)),this.setAttribute("normal",new Nr(u,3)),this.setAttribute("uv",new Nr(d,2))}}class nl extends Qc{constructor(t,e,n,i,r,o,s,a){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:s,thetaLength:a},this.fromBufferGeometry(new el(t,e,n,i,r,o,s,a)),this.mergeVertices()}}class il extends nl{constructor(t,e,n,i,r,o,s){super(0,t,e,n,i,r,o,s),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:s}}}class rl extends el{constructor(t=1,e=1,n=8,i=1,r=!1,o=0,s=2*Math.PI){super(0,t,e,n,i,r,o,s),this.type="ConeBufferGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:s}}}class ol extends Yr{constructor(t,e,n=1,i=0){super(),this.type="PolyhedronBufferGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],o=[];function s(t,e,n,i){const r=i+1,o=[];for(let i=0;i<=r;i++){o[i]=[];const s=t.clone().lerp(n,i/r),a=e.clone().lerp(n,i/r),c=r-i;for(let t=0;t<=c;t++)o[i][t]=0===t&&i===r?s:s.clone().lerp(a,t/c)}for(let t=0;t.9&&s<.1&&(e<.2&&(o[t+0]+=1),n<.2&&(o[t+2]+=1),i<.2&&(o[t+4]+=1))}}()}(),this.setAttribute("position",new Nr(r,3)),this.setAttribute("normal",new Nr(r.slice(),3)),this.setAttribute("uv",new Nr(o,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}}class sl extends ol{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronBufferGeometry",this.parameters={radius:t,detail:e}}}class al extends Qc{constructor(t,e){super(),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new sl(t,e)),this.mergeVertices()}}const cl=new Kn,ll=new Kn,hl=new Kn,ul=new dr;class dl extends Yr{constructor(t,e){super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1,t.isGeometry&&(t=(new Yr).fromGeometry(t));const n=Math.pow(10,4),i=Math.cos(Gn.DEG2RAD*e),r=t.getIndex(),o=t.getAttribute("position"),s=r?r.count:o.count,a=[0,0,0],c=["a","b","c"],l=new Array(3),h={},u=[];for(let t=0;t0)for(o=e;o=e;o-=i)s=Il(o,t[o],t[o+1],s);return s&&Ll(s,s.next)&&(Nl(s),s=s.next),s}function fl(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Ll(i,i.next)&&0!==Al(i.prev,i,i.next))i=i.next;else{if(Nl(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function ml(t,e,n,i,r,o,s){if(!t)return;!s&&o&&function(t,e,n,i){let r=t;do{null===r.z&&(r.z=Ml(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,o,s,a,c,l=1;do{for(n=t,t=null,o=null,s=0;n;){for(s++,i=n,a=0,e=0;e0||c>0&&i;)0!==a&&(0===c||!i||n.z<=i.z)?(r=n,n=n.nextZ,a--):(r=i,i=i.nextZ,c--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;n=i}o.nextZ=null,l*=2}while(s>1)}(r)}(t,i,r,o);let a,c,l=t;for(;t.prev!==t.next;)if(a=t.prev,c=t.next,o?vl(t,i,r,o):gl(t))e.push(a.i/n),e.push(t.i/n),e.push(c.i/n),Nl(t),t=c.next,l=c.next;else if((t=c)===l){s?1===s?ml(t=yl(fl(t),e,n),e,n,i,r,o,2):2===s&&xl(t,e,n,i,r,o):ml(fl(t),e,n,i,r,o,1);break}}function gl(t){const e=t.prev,n=t,i=t.next;if(Al(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(Tl(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&Al(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function vl(t,e,n,i){const r=t.prev,o=t,s=t.next;if(Al(r,o,s)>=0)return!1;const a=r.xo.x?r.x>s.x?r.x:s.x:o.x>s.x?o.x:s.x,h=r.y>o.y?r.y>s.y?r.y:s.y:o.y>s.y?o.y:s.y,u=Ml(a,c,e,n,i),d=Ml(l,h,e,n,i);let p=t.prevZ,f=t.nextZ;for(;p&&p.z>=u&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Al(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Al(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Al(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Al(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function yl(t,e,n){let i=t;do{const r=i.prev,o=i.next.next;!Ll(r,o)&&Rl(r,i,i.next,o)&&Ol(r,o)&&Ol(o,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(o.i/n),Nl(i),Nl(i.next),i=t=o),i=i.next}while(i!==t);return fl(i)}function xl(t,e,n,i,r,o){let s=t;do{let t=s.next.next;for(;t!==s.prev;){if(s.i!==t.i&&El(s,t)){let a=Dl(s,t);return s=fl(s,s.next),a=fl(a,a.next),ml(s,e,n,i,r,o),void ml(a,e,n,i,r,o)}t=t.next}s=s.next}while(s!==t)}function bl(t,e){return t.x-e.x}function wl(t,e){if(e=function(t,e){let n=e;const i=t.x,r=t.y;let o,s=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){const t=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=i&&t>s){if(s=t,t===i){if(r===n.y)return n;if(r===n.next.y)return n.next}o=n.x=n.x&&n.x>=c&&i!==n.x&&Tl(ro.x||n.x===o.x&&_l(o,n)))&&(o=n,u=h)),n=n.next}while(n!==a);return o}(t,e)){const n=Dl(e,t);fl(e,e.next),fl(n,n.next)}}function _l(t,e){return Al(t.prev,t,e.prev)<0&&Al(e.next,t,t.next)<0}function Ml(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Sl(t){let e=t,n=t;do{(e.x=0&&(t-s)*(i-a)-(n-s)*(e-a)>=0&&(n-s)*(o-a)-(r-s)*(i-a)>=0}function El(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Rl(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Ol(t,e)&&Ol(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Al(t.prev,t,e.prev)||Al(t,e.prev,e))||Ll(t,e)&&Al(t.prev,t,t.next)>0&&Al(e.prev,e,e.next)>0)}function Al(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Ll(t,e){return t.x===e.x&&t.y===e.y}function Rl(t,e,n,i){const r=Cl(Al(t,e,n)),o=Cl(Al(t,e,i)),s=Cl(Al(n,i,t)),a=Cl(Al(n,i,e));return r!==o&&s!==a||!(0!==r||!Pl(t,n,e))||!(0!==o||!Pl(t,i,e))||!(0!==s||!Pl(n,t,i))||!(0!==a||!Pl(n,e,i))}function Pl(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Cl(t){return t>0?1:t<0?-1:0}function Ol(t,e){return Al(t.prev,t,t.next)<0?Al(t,e,t.next)>=0&&Al(t,t.prev,e)>=0:Al(t,e,t.prev)<0||Al(t,t.next,e)<0}function Dl(t,e){const n=new Bl(t.i,t.x,t.y),i=new Bl(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function Il(t,e,n,i){const r=new Bl(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Nl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Bl(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}const zl={area:function(t){const e=t.length;let n=0;for(let i=e-1,r=0;r80*n){a=l=t[0],c=h=t[1];for(let e=n;el&&(l=u),d>h&&(h=d);p=Math.max(l-a,h-c),p=0!==p?1/p:0}return ml(o,s,n,a,c,p),s}(n,i);for(let t=0;t2&&t[e-1].equals(t[0])&&t.pop()}function Fl(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(c*c+l*l),p=e.x-a/u,f=e.y+s/u,m=((n.x-l/d-p)*l-(n.y+c/d-f)*c)/(s*l-a*c);i=p+s*m-t.x,r=f+a*m-t.y;const g=i*i+r*r;if(g<=2)return new Hn(i,r);o=Math.sqrt(g/2)}else{let t=!1;s>Number.EPSILON?c>Number.EPSILON&&(t=!0):s<-Number.EPSILON?c<-Number.EPSILON&&(t=!0):Math.sign(a)===Math.sign(l)&&(t=!0),t?(i=-a,r=s,o=Math.sqrt(h)):(i=s,r=a,o=Math.sqrt(h/2))}return new Hn(i/o,r/o)}const C=[];for(let t=0,e=E.length,n=e-1,i=t+1;t=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=a+2*p;t=0?(t(i-a,p,h),u.subVectors(l,h)):(t(i+a,p,h),u.subVectors(h,l)),p-a>=0?(t(i,p-a,h),d.subVectors(l,h)):(t(i,p+a,h),d.subVectors(h,l)),c.crossVectors(u,d).normalize(),o.push(c.x,c.y,c.z),s.push(i,p)}}for(let t=0;t0)&&d.push(e,r,c),(t!==n-1||a=i)){c.push(e.times[t]);for(let n=0;no.tracks[t].times[0]&&(a=o.tracks[t].times[0]);for(let t=0;t=i.times[u]){const t=u*c+a,e=t+c-a;d=Lh.arraySlice(i.values,t,e)}else{const t=i.createInterpolant(),e=a,n=c-a;t.evaluate(o),d=Lh.arraySlice(t.resultBuffer,e,n)}"quaternion"===r&&(new Qn).fromArray(d).normalize().conjugate().toArray(d);const p=s.times.length;for(let t=0;t=r)break t;{const s=e[1];t=r)break e}o=n,n=0}}for(;n>>1;te;)--o;if(++o,0!==r||o!==i){r>=o&&(o=Math.max(o,1),r=o-1);const t=this.getValueSize();this.times=Lh.arraySlice(n,r,o),this.values=Lh.arraySlice(this.values,r*t,o*t)}return this},validate:function(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let o=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==o&&o>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,o),t=!1;break}o=i}if(void 0!==i&&Lh.isTypedArray(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t},optimize:function(){const t=Lh.arraySlice(this.times),e=Lh.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===ke,r=t.length-1;let o=1;for(let s=1;s0){t[o]=t[r];for(let t=r*n,i=o*n,s=0;s!==n;++s)e[i+s]=e[t+s];++o}return o!==t.length?(this.times=Lh.arraySlice(t,0,o),this.values=Lh.arraySlice(e,0,o*n)):(this.times=t,this.values=e),this},clone:function(){const t=Lh.arraySlice(this.times,0),e=Lh.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}),Ih.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Ih,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:Ge,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Nh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Nh,ValueTypeName:"color"}),Bh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Bh,ValueTypeName:"number"}),zh.prototype=Object.assign(Object.create(Rh.prototype),{constructor:zh,interpolate_:function(t,e,n,i){const r=this.resultBuffer,o=this.sampleValues,s=this.valueSize,a=(n-e)/(i-e);let c=t*s;for(let t=c+s;c!==t;c+=4)Qn.slerpFlat(r,0,o,c-s,o,c,a);return r}}),Uh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Uh,ValueTypeName:"quaternion",DefaultInterpolation:He,InterpolantFactoryMethodLinear:function(t){return new zh(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),Fh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Fh,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:Ge,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Gh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Gh,ValueTypeName:"vector"}),Object.assign(Hh,{parse:function(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(kh(n[t]).scale(i));const r=new Hh(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r},toJSON:function(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(Dh.toJSON(n[t]));return i},CreateFromMorphTargetSequence:function(t,e,n,i){const r=e.length,o=[];for(let t=0;t1){const t=o[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const o=[];for(const t in i)o.push(Hh.CreateFromMorphTargetSequence(t,i[t],e,n));return o},parseAnimation:function(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const o=[],s=[];Lh.flattenJSON(n,o,s,i),0!==o.length&&r.push(new t(e,o,s))}},i=[],r=t.name||"default",o=t.fps||30,s=t.blendMode;let a=t.length||-1;const c=t.hierarchy||[];for(let t=0;t0||0===t.search(/^data\:image\/jpeg/);r.format=i?Ut:Ft,r.needsUpdate=!0,void 0!==e&&e(r)}),n,i),r}}),Object.assign(eu.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)},getPoints:function(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e},getSpacedPoints:function(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e},getLength:function(){const t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let o=1;o<=t;o++)n=this.getPoint(o/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){const n=this.getLengths();let i=0;const r=n.length;let o;o=e||t*n[r-1];let s,a=0,c=r-1;for(;a<=c;)if(i=Math.floor(a+(c-a)/2),s=n[i]-o,s<0)a=i+1;else{if(!(s>0)){c=i;break}c=i-1}if(i=c,n[i]===o)return i/(r-1);const l=n[i];return(i+(o-l)/(n[i+1]-l))/(r-1)},getTangent:function(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const o=this.getPoint(i),s=this.getPoint(r),a=e||(o.isVector2?new Hn:new Kn);return a.copy(s).sub(o).normalize(),a},getTangentAt:function(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)},computeFrenetFrames:function(t,e){const n=new Kn,i=[],r=[],o=[],s=new Kn,a=new Ei;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Kn),i[e].normalize()}r[0]=new Kn,o[0]=new Kn;let c=Number.MAX_VALUE;const l=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);l<=c&&(c=l,n.set(1,0,0)),h<=c&&(c=h,n.set(0,1,0)),u<=c&&n.set(0,0,1),s.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],s),o[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),o[e]=o[e-1].clone(),s.crossVectors(i[e-1],i[e]),s.length()>Number.EPSILON){s.normalize();const t=Math.acos(Gn.clamp(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(a.makeRotationAxis(s,t))}o[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(Gn.clamp(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(s.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(a.makeRotationAxis(i[n],e*n)),o[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:o}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),nu.prototype=Object.create(eu.prototype),nu.prototype.constructor=nu,nu.prototype.isEllipseCurve=!0,nu.prototype.getPoint=function(t,e){const n=e||new Hn,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const o=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(c)/r)+1)*r:0===l&&c===r-1&&(c=r-2,l=1),this.closed||c>0?s=i[(c-1)%r]:(ou.subVectors(i[0],i[1]).add(i[0]),s=ou);const h=i[c%r],u=i[(c+1)%r];if(this.closed||c+2i.length-2?i.length-1:o+1],h=i[o>i.length-3?i.length-1:o+2];return n.set(hu(s,a.x,c.x,l.x,h.x),hu(s,a.y,c.y,l.y,h.y)),n},xu.prototype.copy=function(t){eu.prototype.copy.call(this,t),this.points=[];for(let e=0,n=t.points.length;e=e){const t=n[i]-e,r=this.curves[i],o=r.getLength(),s=0===o?0:1-t/o;return r.getPointAt(s)}i++}return null},getLength:function(){const t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e},copy:function(t){eu.prototype.copy.call(this,t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=c.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(c);const l=c.getPoint(1);return this.currentPoint.copy(l),this},copy:function(t){return wu.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){const t=wu.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return wu.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),Mu.prototype=Object.assign(Object.create(_u.prototype),{constructor:Mu,getPointsHoles:function(t){const e=[];for(let n=0,i=this.holes.length;n0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=(new xr).setHex(r.value);break;case"v2":i.uniforms[e].value=(new Hn).fromArray(r.value);break;case"v3":i.uniforms[e].value=(new Kn).fromArray(r.value);break;case"v4":i.uniforms[e].value=(new Yn).fromArray(r.value);break;case"m3":i.uniforms[e].value=(new kn).fromArray(r.value);break;case"m4":i.uniforms[e].value=(new Ei).fromArray(r.value);break;default:i.uniforms[e].value=r.value}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(i.flatShading=1===t.shading),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=(new Hn).fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=(new Hn).fromArray(t.clearcoatNormalScale)),void 0!==t.transmission&&(i.transmission=t.transmission),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),i},setTextures:function(t){return this.textures=t,this}});const Fu={decodeText:function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let n=0,i=t.length;n0){const n=new Vh(e);r=new Qh(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;eNumber.EPSILON){if(c<0&&(n=e[o],a=-a,s=e[r],c=-c),t.ys.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=c*(t.x-n.x)-a*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(s.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=s.x)return!0}}return i}const r=zl.isClockWise,o=this.subPaths;if(0===o.length)return[];if(!0===e)return n(o);let s,a,c;const l=[];if(1===o.length)return a=o[0],c=new Mu,c.curves=a.curves,l.push(c),l;let h=!r(o[0].getPoints());h=t?!h:h;const u=[],d=[];let p,f,m=[],g=0;d[g]=void 0,m[g]=[];for(let e=0,n=o.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(m=u))}for(let t=0,e=d.length;t0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){s.setValue(n,i);break}},saveOriginalState:function(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0},restoreOriginalState:function(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)},_setAdditiveIdentityNumeric:function(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]},_slerp:function(t,e,n,i){Qn.slerpFlat(t,e,t,e,t,n,i)},_slerpAdditive:function(t,e,n,i,r){const o=this._workIndex*r;Qn.multiplyQuaternionsFlat(t,o,t,e,t,n),Qn.slerpFlat(t,e,t,e,t,o,i)},_lerp:function(t,e,n,i,r){const o=1-i;for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]*o+t[n+s]*i}},_lerpAdditive:function(t,e,n,i,r){for(let o=0;o!==r;++o){const r=e+o;t[r]=t[r]+t[n+o]*i}}});const wd=new RegExp("[\\[\\]\\.:\\/]","g"),_d="[^\\[\\]\\.:\\/]",Md="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",Sd=/((?:WC+[\/:])*)/.source.replace("WC",_d),Td=/(WCOD+)?/.source.replace("WCOD",Md),Ed=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",_d),Ad=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",_d),Ld=new RegExp("^"+Sd+Td+Ed+Ad+"$"),Rd=["material","materials","bones"];function Pd(t,e,n){const i=n||Cd.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}function Cd(t,e,n){this.path=e,this.parsedPath=n||Cd.parseTrackName(e),this.node=Cd.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function Od(){this.uuid=Gn.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}Object.assign(Pd.prototype,{getValue:function(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)},setValue:function(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)},bind:function(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()},unbind:function(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}),Object.assign(Cd,{Composite:Pd,create:function(t,e,n){return t&&t.isAnimationObjectGroup?new Cd.Composite(t,e,n):new Cd(t,e,n)},sanitizeNodeName:function(t){return t.replace(/\s/g,"_").replace(wd,"")},parseTrackName:function(t){const e=Ld.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==Rd.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n},findNode:function(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i=r){const o=r++,l=t[o];e[l.uuid]=c,t[c]=l,e[a]=o,t[o]=s;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[o],r=e[c];e[c]=i,e[o]=r}}}this.nCachedObjects_=r},uncache:function(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,o=t.length;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s].uuid,c=e[a];if(void 0!==c)if(delete e[a],c0&&(e[s.uuid]=c),t[c]=s,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[c]=e[r],e.pop()}}}this.nCachedObjects_=r},subscribe_:function(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const o=this._paths,s=this._parsedPaths,a=this._objects,c=a.length,l=this.nCachedObjects_,h=new Array(c);i=r.length,n[t]=i,o.push(t),s.push(e),r.push(h);for(let n=l,i=a.length;n!==i;++n){const i=a[n];h[n]=new Cd(i,t,e)}return h},unsubscribe_:function(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,o=this._bindings,s=o.length-1,a=o[s];e[t[s]]=n,o[n]=a,o.pop(),r[n]=r[s],r.pop(),i[n]=i[s],i.pop()}}});class Dd{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,o=r.length,s=new Array(o),a={endingStart:je,endingEnd:je};for(let t=0;t!==o;++t){const e=r[t].createInterpolant(null);s[t]=e,e.settings=a}this._interpolantSettings=a,this._interpolants=s,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ue,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,o=n/i;t.warp(1,r,e),this.warp(o,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,o=this.timeScale;let s=this._timeScaleInterpolant;null===s&&(s=i._lendControlInterpolant(),this._timeScaleInterpolant=s);const a=s.parameterPositions,c=s.sampleValues;return a[0]=r,a[1]=r+n,c[0]=t/o,c[1]=e/o,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;if(i<0||0===n)return;this._startTime=null,e=n*i}e*=this._updateTimeScale(t);const o=this._updateTime(e),s=this._updateWeight(t);if(s>0){const t=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case Xe:for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(o),e[n].accumulateAdditive(s);break;case qe:default:for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(o),e[n].accumulate(i,s)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;null!==n&&(e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const o=n===Fe;if(0===t)return-1===r?i:o&&1==(1&r)?e-i:i;if(n===ze){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===s){const e=t<0;this._setEndings(e,!e,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(o&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=Ve,i.endingEnd=Ve):(i.endingStart=t?this.zeroSlopeAtStart?Ve:je:We,i.endingEnd=e?this.zeroSlopeAtEnd?Ve:je:We)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const s=o.parameterPositions,a=o.sampleValues;return s[0]=r,a[0]=e,s[1]=r+t,a[1]=n,this}}function Id(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}Id.prototype=Object.assign(Object.create(zn.prototype),{constructor:Id,_bindAction:function(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,o=t._propertyBindings,s=t._interpolants,a=n.uuid,c=this._bindingsByRootAndName;let l=c[a];void 0===l&&(l={},c[a]=l);for(let t=0;t!==r;++t){const r=i[t],c=r.name;let h=l[c];if(void 0!==h)o[t]=h;else{if(h=o[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,a,c));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new bd(Cd.create(n,c,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,a,c),o[t]=h}s[t].resultBuffer=h.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this},update:function(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1;for(let s=0;s!==n;++s)e[s]._update(i,t,r,o);const s=this._bindings,a=this._nActiveBindings;for(let t=0;t!==a;++t)s[t].apply(o);return this},setTime:function(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new Hn),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new Hn),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return jd.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Wd=new Kn,qd=new Kn;class Xd{constructor(t,e){this.start=void 0!==t?t:new Kn,this.end=void 0!==e?e:new Kn}set(t,e){return this.start.copy(t),this.end.copy(e),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return void 0===t&&(console.warn("THREE.Line3: .getCenter() target is now required"),t=new Kn),t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return void 0===t&&(console.warn("THREE.Line3: .delta() target is now required"),t=new Kn),t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new Kn),this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Wd.subVectors(t,this.start),qd.subVectors(this.end,this.start);const n=qd.dot(qd);let i=qd.dot(Wd)/n;return e&&(i=Gn.clamp(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return void 0===n&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new Kn),this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}function Yd(t){Qi.call(this),this.material=t,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}Yd.prototype=Object.create(Qi.prototype),Yd.prototype.constructor=Yd,Yd.prototype.isImmediateRenderObject=!0;const Zd=new Kn;class Jd extends Qi{constructor(t,e){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const n=new Yr,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{wp.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(wp,e)}}setLength(t,e,n){void 0===e&&(e=.2*t),void 0===n&&(n=.2*e),this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}}class Tp extends Ic{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new Yr;n.setAttribute("position",new Nr(e,3)),n.setAttribute("color",new Nr([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(n,new Tc({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}}const Ep=new Float32Array(1),Ap=new Int32Array(Ep.buffer),Lp={toHalfFloat:function(t){Ep[0]=t;const e=Ap[0];let n=e>>16&32768,i=e>>12&2047;const r=e>>23&255;return r<103?n:r>142?(n|=31744,n|=(255==r?0:1)&&8388607&e,n):r<113?(i|=2048,n|=(i>>114-r)+(i>>113-r&1),n):(n|=r-112<<10|i>>1,n+=1&i,n)}},Rp=Math.pow(2,8),Pp=[.125,.215,.35,.446,.526,.582],Cp=5+Pp.length,Op={[Qe]:0,[Ke]:1,[tn]:2,[nn]:3,[rn]:4,[on]:5,[$e]:6},Dp=new Cu,{_lodPlanes:Ip,_sizeLods:Np,_sigmas:Bp}=function(){const t=[],e=[],n=[];let i=8;for(let r=0;r4?s=Pp[r-8+4-1]:0==r&&(s=0),n.push(s);const a=1/(o-1),c=-a/2,l=1+a/2,h=[c,c,l,c,l,l,c,c,l,l,c,l],u=6,d=6,p=3,f=2,m=1,g=new Float32Array(p*d*u),v=new Float32Array(f*d*u),y=new Float32Array(m*d*u);for(let t=0;t2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(i,p*d*t),v.set(h,f*d*t);const r=[t,t,t,t,t,t];y.set(r,m*d*t)}const x=new Yr;x.setAttribute("position",new Er(g,p)),x.setAttribute("uv",new Er(v,f)),x.setAttribute("faceIndex",new Er(y,m)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}(),zp=new xr;let Up=null;const Fp=(1+Math.sqrt(5))/2,Gp=1/Fp,Hp=[new Kn(1,1,1),new Kn(-1,1,1),new Kn(1,1,-1),new Kn(-1,1,-1),new Kn(0,Fp,Gp),new Kn(0,Fp,-Gp),new Kn(Gp,0,Fp),new Kn(-Gp,0,Fp),new Kn(Fp,Gp,0),new Kn(-Fp,Gp,0)];class kp{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=new yh({name:"SphericalGaussianBlur",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:new Float32Array(20)},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:new Kn(0,1,0)},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1}),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Up=this._renderer.getRenderTarget();const r=this._allocateTargets();return this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=Xp(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=qp(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?Rp:0,Rp,Rp),a.setRenderTarget(i),a.render(t,r)}a.toneMapping=l,a.outputEncoding=c,a.setClearColor(zp,h)}_textureToCubeUV(t,e){const n=this._renderer;t.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Xp()):null==this._equirectShader&&(this._equirectShader=qp());const i=t.isCubeTexture?this._cubemapShader:this._equirectShader,r=new po(Ip[0],i),o=i.uniforms;o.envMap.value=t,t.isCubeTexture||o.texelSize.value.set(1/t.image.width,1/t.image.height),o.inputEncoding.value=Op[t.encoding],o.outputEncoding.value=Op[e.texture.encoding],Wp(e,0,0,3*Rp,2*Rp),n.setRenderTarget(e),n.render(r,Dp)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e20&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const m=[];let g=0;for(let t=0;t<20;++t){const e=t/p,n=Math.exp(-e*e/2);m.push(n),0==t?g+=n:t4?i-8+4:0),3*v,2*v),a.setRenderTarget(e),a.render(l,Dp)}}function jp(t){return void 0!==t&&t.type===Tt&&(t.encoding===Qe||t.encoding===Ke||t.encoding===$e)}function Vp(t){const e=new Zn(3*Rp,3*Rp,t);return e.texture.mapping=ht,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Wp(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function qp(){return new yh({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:new Hn(1,1)},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function Xp(){return new yh({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function Yp(t,e,n,i,r,o,s){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new br(t,e,n,r,o,s)}const Zp=0,Jp=1,Qp=0,Kp=1,$p=2;function tf(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function ef(t=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function nf(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Hc(t,e)}function rf(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new oc(t)}function of(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Hc(t,e)}function sf(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Bc(t)}function af(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Bc(t)}function cf(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Bc(t)}function lf(t,e,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new Kn(t,e,n)}function hf(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new Er(t,e).setUsage(An)}function uf(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new Ar(t,e)}function df(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Lr(t,e)}function pf(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Rr(t,e)}function ff(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Pr(t,e)}function mf(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Cr(t,e)}function gf(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Or(t,e)}function vf(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Dr(t,e)}function yf(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Nr(t,e)}function xf(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Br(t,e)}function bf(t){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),lu.call(this,t),this.type="catmullrom",this.closed=!0}function wf(t){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),lu.call(this,t),this.type="catmullrom"}function _f(t){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),lu.call(this,t),this.type="catmullrom"}function Mf(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Tp(t)}function Sf(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new yp(t,e)}function Tf(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Ic(new dl(t.geometry),new Tc({color:void 0!==e?e:16777215}))}function Ef(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Ic(new mh(t.geometry),new Tc({color:void 0!==e?e:16777215}))}function Af(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Yh(t)}function Lf(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new $h(t)}function Rf(t,e,n){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new Eo(t,n)}eu.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(eu.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(wu.prototype,{createPointsGeometry:function(t){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");const e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");const e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");const e=new Qc;for(let n=0,i=t.length;n=2){var e=t,n=Qf.x-e.touches[1].clientX,c=Qf.y-e.touches[1].clientY,l=Math.sqrt(n*n+c*c);s.set(0,l);var h=.5*(e.touches[0].clientX+e.touches[1].clientX),u=.5*(e.touches[0].clientY+e.touches[1].clientY);o.set(h,u)}document.addEventListener("mousemove",x),document.addEventListener("touchmove",x,{passive:!1}),document.addEventListener("mouseup",b),document.addEventListener("touchend",b),i.dispatchEvent({type:"controlstart",originalEvent:t})}},x=function(t){if(i._enabled){t.preventDefault(),Vf(t,Qf);var e=o.x-Qf.x,n=o.y-Qf.y;switch(o.copy(Qf),i._state){case Nf.ROTATE:case Nf.TOUCH_ROTATE:l(e,n);break;case Nf.DOLLY:case Nf.ZOOM:var d=i.dollyToCursor?(r.x-a.x)/a.z*2-1:0,p=i.dollyToCursor?(r.y-a.y)/a.w*-2+1:0;i._state===Nf.DOLLY?h(n*gm,d,p):u(n*gm);break;case Nf.TOUCH_DOLLY:case Nf.TOUCH_ZOOM:case Nf.TOUCH_DOLLY_TRUCK:case Nf.TOUCH_ZOOM_TRUCK:case Nf.TOUCH_DOLLY_OFFSET:case Nf.TOUCH_ZOOM_OFFSET:var f=t,m=Qf.x-f.touches[1].clientX,g=Qf.y-f.touches[1].clientY,v=Math.sqrt(m*m+g*g),y=s.y-v;s.set(0,v),d=i.dollyToCursor?(o.x-a.x)/a.z*2-1:0,p=i.dollyToCursor?(o.y-a.y)/a.w*-2+1:0,i._state===Nf.TOUCH_DOLLY||i._state===Nf.TOUCH_DOLLY_TRUCK?h(y*gm,d,p):u(y*gm),i._state===Nf.TOUCH_DOLLY_TRUCK||i._state===Nf.TOUCH_ZOOM_TRUCK?c(e,n,!1):i._state!==Nf.TOUCH_DOLLY_OFFSET&&i._state!==Nf.TOUCH_ZOOM_OFFSET||c(e,n,!0);break;case Nf.TRUCK:case Nf.TOUCH_TRUCK:c(e,n,!1);break;case Nf.OFFSET:case Nf.TOUCH_OFFSET:c(e,n,!0)}i.dispatchEvent({type:"control",originalEvent:t})}},b=function(t){i._enabled&&(d(),i.dispatchEvent({type:"controlend",originalEvent:t}))};i._domElement.addEventListener("mousedown",p),i._domElement.addEventListener("touchstart",f),i._domElement.addEventListener("wheel",g),i._domElement.addEventListener("contextmenu",v),i._removeAllEventListeners=function(){i._domElement.removeEventListener("mousedown",p),i._domElement.removeEventListener("touchstart",f),i._domElement.removeEventListener("wheel",g),i._domElement.removeEventListener("contextmenu",v),document.removeEventListener("mousemove",x),document.removeEventListener("touchmove",x,{passive:!1}),document.removeEventListener("mouseup",b),document.removeEventListener("touchend",b)},i.cancel=function(){d(),i.dispatchEvent({type:"controlend",originalEvent:null})}}return i.update(0),i}return function(t,e){function n(){this.constructor=t}Bf(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.install=function(t){Xf=t.THREE,Yf=Object.freeze(new Xf.Vector3(0,0,0)),Zf=Object.freeze(new Xf.Vector3(0,1,0)),Jf=Object.freeze(new Xf.Vector3(0,0,1)),Qf=new Xf.Vector2,Kf=new Xf.Vector3,$f=new Xf.Vector3,tm=new Xf.Vector3,em=new Xf.Vector3,nm=new Xf.Vector3,im=new Xf.Vector3,rm=new Xf.Spherical,om=new Xf.Spherical,sm=new Xf.Box3,am=new Xf.Box3,cm=new Xf.Sphere,lm=new Xf.Quaternion,hm=new Xf.Quaternion,um=new Xf.Matrix4,dm=new Xf.Raycaster},Object.defineProperty(e,"ACTION",{get:function(){return mm},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,t||this.cancel()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentAction",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"distance",{get:function(){return this._spherical.radius},set:function(t){this._spherical.radius===t&&this._sphericalEnd.radius===t||(this._spherical.radius=t,this._sphericalEnd.radius=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"azimuthAngle",{get:function(){return this._spherical.theta},set:function(t){this._spherical.theta===t&&this._sphericalEnd.theta===t||(this._spherical.theta=t,this._sphericalEnd.theta=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"polarAngle",{get:function(){return this._spherical.phi},set:function(t){this._spherical.phi===t&&this._sphericalEnd.phi===t||(this._spherical.phi=t,this._sphericalEnd.phi=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"phiSpeed",{set:function(t){console.warn("phiSpeed was renamed. use azimuthRotateSpeed instead"),this.azimuthRotateSpeed=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"thetaSpeed",{set:function(t){console.warn("thetaSpeed was renamed. use polarRotateSpeed instead"),this.polarRotateSpeed=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"boundaryEnclosesCamera",{get:function(){return this._boundaryEnclosesCamera},set:function(t){this._boundaryEnclosesCamera=t,this._needsUpdate=!0},enumerable:!1,configurable:!0}),e.prototype.addEventListener=function(e,n){t.prototype.addEventListener.call(this,e,n)},e.prototype.removeEventListener=function(e,n){t.prototype.removeEventListener.call(this,e,n)},e.prototype.rotate=function(t,e,n){void 0===n&&(n=!1),this.rotateTo(this._sphericalEnd.theta+t,this._sphericalEnd.phi+e,n)},e.prototype.rotateTo=function(t,e,n){void 0===n&&(n=!1);var i=Xf.MathUtils.clamp(t,this.minAzimuthAngle,this.maxAzimuthAngle),r=Xf.MathUtils.clamp(e,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=i,this._sphericalEnd.phi=r,this._sphericalEnd.makeSafe(),n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi),this._needsUpdate=!0},e.prototype.dolly=function(t,e){void 0===e&&(e=!1),this.dollyTo(this._sphericalEnd.radius-t,e)},e.prototype.dollyTo=function(t,e){void 0===e&&(e=!1),Wf(this._camera,"dolly")||(this._sphericalEnd.radius=Xf.MathUtils.clamp(t,this.minDistance,this.maxDistance),e||(this._spherical.radius=this._sphericalEnd.radius),this._needsUpdate=!0)},e.prototype.zoom=function(t,e){void 0===e&&(e=!1),this.zoomTo(this._zoomEnd+t,e)},e.prototype.zoomTo=function(t,e){void 0===e&&(e=!1),this._zoomEnd=Xf.MathUtils.clamp(t,this.minZoom,this.maxZoom),e||(this._zoom=this._zoomEnd),this._needsUpdate=!0},e.prototype.pan=function(t,e,n){void 0===n&&(n=!1),console.log("`pan` has been renamed to `truck`"),this.truck(t,e,n)},e.prototype.truck=function(t,e,n){void 0===n&&(n=!1),this._camera.updateMatrix(),em.setFromMatrixColumn(this._camera.matrix,0),nm.setFromMatrixColumn(this._camera.matrix,1),em.multiplyScalar(t),nm.multiplyScalar(-e);var i=Kf.copy(em).add(nm);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),n||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.forward=function(t,e){void 0===e&&(e=!1),Kf.setFromMatrixColumn(this._camera.matrix,0),Kf.crossVectors(this._camera.up,Kf),Kf.multiplyScalar(t),this._encloseToBoundary(this._targetEnd,Kf,this.boundaryFriction),e||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.moveTo=function(t,e,n,i){void 0===i&&(i=!1),this._targetEnd.set(t,e,n),i||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.fitToBox=function(t,e,n){var i=void 0===n?{}:n,r=i.paddingLeft,o=void 0===r?0:r,s=i.paddingRight,a=void 0===s?0:s,c=i.paddingBottom,l=void 0===c?0:c,h=i.paddingTop,u=void 0===h?0:h,d=t.isBox3?sm.copy(t):sm.setFromObject(t);if(d.isEmpty())console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting");else{var p=Gf(this._sphericalEnd.theta,Uf),f=Gf(this._sphericalEnd.phi,Uf);this.rotateTo(p,f,e);var m=Kf.setFromSpherical(this._sphericalEnd).normalize(),g=lm.setFromUnitVectors(m,Jf);Ff(Math.abs(m.y)-1)&&g.multiply(hm.setFromAxisAngle(Zf,p));var v=am.makeEmpty();$f.copy(d.min).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.min).setX(d.max.x).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.min).setY(d.max.y).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.max).setZ(d.min.z).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.min).setZ(d.max.z).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.max).setY(d.min.y).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.max).setX(d.min.x).applyQuaternion(g),v.expandByPoint($f),$f.copy(d.max).applyQuaternion(g),v.expandByPoint($f),g.setFromUnitVectors(Jf,m),v.min.x-=o,v.min.y-=l,v.max.x+=a,v.max.y+=u;var y=v.getSize(Kf),x=v.getCenter($f).applyQuaternion(g),b=this._camera.isPerspectiveCamera,w=this._camera.isOrthographicCamera;if(b){var _=this.getDistanceToFitBox(y.x,y.y,y.z);return this.moveTo(x.x,x.y,x.z,e),this.dollyTo(_,e),void this.setFocalOffset(0,0,0,e)}if(w){var M=this._camera,S=M.right-M.left,T=M.top-M.bottom,E=Math.min(S/y.x,T/y.y);return this.moveTo(x.x,x.y,x.z,e),this.zoomTo(E,e),void this.setFocalOffset(0,0,0,e)}}},e.prototype.fitTo=function(t,e,n){void 0===n&&(n={}),console.warn("camera-controls: fitTo() has been renamed to fitToBox()"),this.fitToBox(t,e,n)},e.prototype.fitToSphere=function(t,e){var n=t instanceof Xf.Sphere?cm.copy(t):function(t,e){var n=e,i=n.center;t.traverse((function(t){t.isMesh&&sm.expandByObject(t)})),sm.getCenter(i);var r=0;return t.traverse((function(t){if(t.isMesh){var e=t,n=e.geometry.clone();if(n.applyMatrix4(e.matrixWorld),e.geometry.isBufferGeometry)for(var o=n.attributes.position,s=0,a=o.count;s=1))return t;if(Wf(this._camera,"_collisionTest"))return t;t=this._spherical.radius;var e=Kf.setFromSpherical(this._spherical).divideScalar(t);um.lookAt(Yf,e,this._camera.up);for(var n=0;n<4;n++){var i=$f.copy(this._nearPlaneCorners[n]);i.applyMatrix4(um);var r=tm.addVectors(this._target,i);dm.set(r,e),dm.far=t;var o=dm.intersectObjects(this.colliderMeshes);0!==o.length&&o[0].distanceh?(n=1,i=0):(n=0,i=1);var u=l-n+a,d=h-i+a,p=l-1+2*a,f=h-1+2*a,m=255&o,g=255&s,v=this.perm[m+this.perm[g]]%12,y=this.perm[m+n+this.perm[g+i]]%12,x=this.perm[m+1+this.perm[g+1]]%12,b=.5-l*l-h*h,w=.5-u*u-d*d,_=.5-p*p-f*f;return 70*((b<0?0:(b*=b)*b*this.dot(this.grad3[v],l,h))+(w<0?0:(w*=w)*w*this.dot(this.grad3[y],u,d))+(_<0?0:(_*=_)*_*this.dot(this.grad3[x],p,f)))},Lm.prototype.noise3d=function(t,e,n){var i,r,o,s,a,c,l=(t+e+n)*(1/3),h=Math.floor(t+l),u=Math.floor(e+l),d=Math.floor(n+l),p=1/6,f=(h+u+d)*p,m=t-(h-f),g=e-(u-f),v=n-(d-f);m>=g?g>=v?(i=1,r=0,o=0,s=1,a=1,c=0):m>=v?(i=1,r=0,o=0,s=1,a=0,c=1):(i=0,r=0,o=1,s=1,a=0,c=1):gL?32:0)+(A>R?16:0)+(L>R?8:0)+(A>P?4:0)+(L>P?2:0)+(R>P?1:0),O=A-(r=v[C][0]>=3?1:0)+b,D=L-(o=v[C][1]>=3?1:0)+b,I=R-(s=v[C][2]>=3?1:0)+b,N=P-(a=v[C][3]>=3?1:0)+b,B=A-(c=v[C][0]>=2?1:0)+2*b,z=L-(l=v[C][1]>=2?1:0)+2*b,U=R-(h=v[C][2]>=2?1:0)+2*b,F=P-(u=v[C][3]>=2?1:0)+2*b,G=A-(d=v[C][0]>=1?1:0)+3*b,H=L-(p=v[C][1]>=1?1:0)+3*b,k=R-(f=v[C][2]>=1?1:0)+3*b,j=P-(m=v[C][3]>=1?1:0)+3*b,V=A-1+4*b,W=L-1+4*b,q=R-1+4*b,X=P-1+4*b,Y=255&_,Z=255&M,J=255&S,Q=255&T,K=y[Y+y[Z+y[J+y[Q]]]]%32,$=y[Y+r+y[Z+o+y[J+s+y[Q+a]]]]%32,tt=y[Y+c+y[Z+l+y[J+h+y[Q+u]]]]%32,et=y[Y+d+y[Z+p+y[J+f+y[Q+m]]]]%32,nt=y[Y+1+y[Z+1+y[J+1+y[Q+1]]]]%32,it=.6-A*A-L*L-R*R-P*P,rt=.6-O*O-D*D-I*I-N*N,ot=.6-B*B-z*z-U*U-F*F,st=.6-G*G-H*H-k*k-j*j,at=.6-V*V-W*W-q*q-X*X;return 27*((it<0?0:(it*=it)*it*this.dot4(g[K],A,L,R,P))+(rt<0?0:(rt*=rt)*rt*this.dot4(g[$],O,D,I,N))+(ot<0?0:(ot*=ot)*ot*this.dot4(g[tt],B,z,U,F))+(st<0?0:(st*=st)*st*this.dot4(g[et],G,H,k,j))+(at<0?0:(at*=at)*at*this.dot4(g[nt],V,W,q,X)))};var Rm={defines:{PERSPECTIVE_CAMERA:1,KERNEL_SIZE:32},uniforms:{tDiffuse:{value:null},tNormal:{value:null},tDepth:{value:null},tNoise:{value:null},kernel:{value:null},cameraNear:{value:null},cameraFar:{value:null},resolution:{value:new Hn},cameraProjectionMatrix:{value:new Ei},cameraInverseProjectionMatrix:{value:new Ei},kernelRadius:{value:8},minDistance:{value:.005},maxDistance:{value:.05}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform sampler2D tNormal;","uniform sampler2D tDepth;","uniform sampler2D tNoise;","uniform vec3 kernel[ KERNEL_SIZE ];","uniform vec2 resolution;","uniform float cameraNear;","uniform float cameraFar;","uniform mat4 cameraProjectionMatrix;","uniform mat4 cameraInverseProjectionMatrix;","uniform float kernelRadius;","uniform float minDistance;","uniform float maxDistance;","varying vec2 vUv;","#include ","float getDepth( const in vec2 screenPosition ) {","\treturn texture2D( tDepth, screenPosition ).x;","}","float getLinearDepth( const in vec2 screenPosition ) {","\t#if PERSPECTIVE_CAMERA == 1","\t\tfloat fragCoordZ = texture2D( tDepth, screenPosition ).x;","\t\tfloat viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );","\t\treturn viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );","\t#else","\t\treturn texture2D( tDepth, screenPosition ).x;","\t#endif","}","float getViewZ( const in float depth ) {","\t#if PERSPECTIVE_CAMERA == 1","\t\treturn perspectiveDepthToViewZ( depth, cameraNear, cameraFar );","\t#else","\t\treturn orthographicDepthToViewZ( depth, cameraNear, cameraFar );","\t#endif","}","vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {","\tfloat clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];","\tvec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );","\tclipPosition *= clipW; // unprojection.","\treturn ( cameraInverseProjectionMatrix * clipPosition ).xyz;","}","vec3 getViewNormal( const in vec2 screenPosition ) {","\treturn unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );","}","void main() {","\tfloat depth = getDepth( vUv );","\tfloat viewZ = getViewZ( depth );","\tvec3 viewPosition = getViewPosition( vUv, depth, viewZ );","\tvec3 viewNormal = getViewNormal( vUv );"," vec2 noiseScale = vec2( resolution.x / 4.0, resolution.y / 4.0 );","\tvec3 random = texture2D( tNoise, vUv * noiseScale ).xyz;","\tvec3 tangent = normalize( random - viewNormal * dot( random, viewNormal ) );","\tvec3 bitangent = cross( viewNormal, tangent );","\tmat3 kernelMatrix = mat3( tangent, bitangent, viewNormal );"," float occlusion = 0.0;"," for ( int i = 0; i < KERNEL_SIZE; i ++ ) {","\t\tvec3 sampleVector = kernelMatrix * kernel[ i ];","\t\tvec3 samplePoint = viewPosition + ( sampleVector * kernelRadius );","\t\tvec4 samplePointNDC = cameraProjectionMatrix * vec4( samplePoint, 1.0 );","\t\tsamplePointNDC /= samplePointNDC.w;","\t\tvec2 samplePointUv = samplePointNDC.xy * 0.5 + 0.5;","\t\tfloat realDepth = getLinearDepth( samplePointUv );","\t\tfloat sampleDepth = viewZToOrthographicDepth( samplePoint.z, cameraNear, cameraFar );","\t\tfloat delta = sampleDepth - realDepth;","\t\tif ( delta > minDistance && delta < maxDistance ) {","\t\t\tocclusion += 1.0;","\t\t}","\t}","\tocclusion = clamp( occlusion / float( KERNEL_SIZE ), 0.0, 1.0 );","\tgl_FragColor = vec4( vec3( 1.0 - occlusion ), 1.0 );","}"].join("\n")},Pm={defines:{PERSPECTIVE_CAMERA:1},uniforms:{tDepth:{value:null},cameraNear:{value:null},cameraFar:{value:null}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDepth;","uniform float cameraNear;","uniform float cameraFar;","varying vec2 vUv;","#include ","float getLinearDepth( const in vec2 screenPosition ) {","\t#if PERSPECTIVE_CAMERA == 1","\t\tfloat fragCoordZ = texture2D( tDepth, screenPosition ).x;","\t\tfloat viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );","\t\treturn viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );","\t#else","\t\treturn texture2D( tDepth, screenPosition ).x;","\t#endif","}","void main() {","\tfloat depth = getLinearDepth( vUv );","\tgl_FragColor = vec4( vec3( 1.0 - depth ), 1.0 );","}"].join("\n")},Cm={uniforms:{tDiffuse:{value:null},resolution:{value:new Hn}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform vec2 resolution;","varying vec2 vUv;","void main() {","\tvec2 texelSize = ( 1.0 / resolution );","\tfloat result = 0.0;","\tfor ( int i = - 2; i <= 2; i ++ ) {","\t\tfor ( int j = - 2; j <= 2; j ++ ) {","\t\t\tvec2 offset = ( vec2( float( i ), float( j ) ) ) * texelSize;","\t\t\tresult += texture2D( tDiffuse, vUv + offset ).r;","\t\t}","\t}","\tgl_FragColor = vec4( vec3( result / ( 5.0 * 5.0 ) ), 1.0 );","}"].join("\n")},Om=function(t,e,n,i){_m.call(this),this.width=void 0!==n?n:512,this.height=void 0!==i?i:512,this.clear=!0,this.camera=e,this.scene=t,this.kernelRadius=8,this.kernelSize=32,this.kernel=[],this.noiseTexture=null,this.output=0,this.minDistance=.005,this.maxDistance=.1,this._visibilityCache=new Map,this.generateSampleKernel(),this.generateRandomKernelRotations();var r=new qc;r.type=Lt,r.minFilter=mt,r.maxFilter=mt,this.beautyRenderTarget=new Zn(this.width,this.height,{minFilter:bt,magFilter:bt,format:Ft}),this.normalRenderTarget=new Zn(this.width,this.height,{minFilter:mt,magFilter:mt,format:Ft,depthTexture:r}),this.ssaoRenderTarget=new Zn(this.width,this.height,{minFilter:bt,magFilter:bt,format:Ft}),this.blurRenderTarget=this.ssaoRenderTarget.clone(),void 0===Rm&&console.error("THREE.SSAOPass: The pass relies on SSAOShader."),this.ssaoMaterial=new bo({defines:Object.assign({},Rm.defines),uniforms:xo.clone(Rm.uniforms),vertexShader:Rm.vertexShader,fragmentShader:Rm.fragmentShader,blending:b}),this.ssaoMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.ssaoMaterial.uniforms.tNormal.value=this.normalRenderTarget.texture,this.ssaoMaterial.uniforms.tDepth.value=this.normalRenderTarget.depthTexture,this.ssaoMaterial.uniforms.tNoise.value=this.noiseTexture,this.ssaoMaterial.uniforms.kernel.value=this.kernel,this.ssaoMaterial.uniforms.cameraNear.value=this.camera.near,this.ssaoMaterial.uniforms.cameraFar.value=this.camera.far,this.ssaoMaterial.uniforms.resolution.value.set(this.width,this.height),this.ssaoMaterial.uniforms.cameraProjectionMatrix.value.copy(this.camera.projectionMatrix),this.ssaoMaterial.uniforms.cameraInverseProjectionMatrix.value.copy(this.camera.projectionMatrixInverse),this.normalMaterial=new Mh,this.normalMaterial.blending=b,this.blurMaterial=new bo({defines:Object.assign({},Cm.defines),uniforms:xo.clone(Cm.uniforms),vertexShader:Cm.vertexShader,fragmentShader:Cm.fragmentShader}),this.blurMaterial.uniforms.tDiffuse.value=this.ssaoRenderTarget.texture,this.blurMaterial.uniforms.resolution.value.set(this.width,this.height),this.depthRenderMaterial=new bo({defines:Object.assign({},Pm.defines),uniforms:xo.clone(Pm.uniforms),vertexShader:Pm.vertexShader,fragmentShader:Pm.fragmentShader,blending:b}),this.depthRenderMaterial.uniforms.tDepth.value=this.normalRenderTarget.depthTexture,this.depthRenderMaterial.uniforms.cameraNear.value=this.camera.near,this.depthRenderMaterial.uniforms.cameraFar.value=this.camera.far,this.copyMaterial=new bo({uniforms:xo.clone(wm.uniforms),vertexShader:wm.vertexShader,fragmentShader:wm.fragmentShader,transparent:!0,depthTest:!1,depthWrite:!1,blendSrc:F,blendDst:C,blendEquation:E,blendSrcAlpha:z,blendDstAlpha:C,blendEquationAlpha:E}),this.fsQuad=new _m.FullScreenQuad(null),this.originalClearColor=new xr};Om.prototype=Object.assign(Object.create(_m.prototype),{constructor:Om,dispose:function(){this.beautyRenderTarget.dispose(),this.normalRenderTarget.dispose(),this.ssaoRenderTarget.dispose(),this.blurRenderTarget.dispose(),this.normalMaterial.dispose(),this.blurMaterial.dispose(),this.copyMaterial.dispose(),this.depthRenderMaterial.dispose(),this.fsQuad.dispose()},render:function(t,e){switch(t.setRenderTarget(this.beautyRenderTarget),t.clear(),t.render(this.scene,this.camera),this.overrideVisibility(),this.renderOverride(t,this.normalMaterial,this.normalRenderTarget,7829503,1),this.restoreVisibility(),this.ssaoMaterial.uniforms.kernelRadius.value=this.kernelRadius,this.ssaoMaterial.uniforms.minDistance.value=this.minDistance,this.ssaoMaterial.uniforms.maxDistance.value=this.maxDistance,this.renderPass(t,this.ssaoMaterial,this.ssaoRenderTarget),this.renderPass(t,this.blurMaterial,this.blurRenderTarget),this.output){case Om.OUTPUT.SSAO:this.copyMaterial.uniforms.tDiffuse.value=this.ssaoRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Om.OUTPUT.Blur:this.copyMaterial.uniforms.tDiffuse.value=this.blurRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Om.OUTPUT.Beauty:this.copyMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Om.OUTPUT.Depth:this.renderPass(t,this.depthRenderMaterial,this.renderToScreen?null:e);break;case Om.OUTPUT.Normal:this.copyMaterial.uniforms.tDiffuse.value=this.normalRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Om.OUTPUT.Default:this.copyMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e),this.copyMaterial.uniforms.tDiffuse.value=this.blurRenderTarget.texture,this.copyMaterial.blending=T,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;default:console.warn("THREE.SSAOPass: Unknown output type.")}},renderPass:function(t,e,n,i,r){t.getClearColor(this.originalClearColor);var o=t.getClearAlpha(),s=t.autoClear;t.setRenderTarget(n),t.autoClear=!1,null!=i&&(t.setClearColor(i),t.setClearAlpha(r||0),t.clear()),this.fsQuad.material=e,this.fsQuad.render(t),t.autoClear=s,t.setClearColor(this.originalClearColor),t.setClearAlpha(o)},renderOverride:function(t,e,n,i,r){t.getClearColor(this.originalClearColor);var o=t.getClearAlpha(),s=t.autoClear;t.setRenderTarget(n),t.autoClear=!1,i=e.clearColor||i,r=e.clearAlpha||r,null!=i&&(t.setClearColor(i),t.setClearAlpha(r||0),t.clear()),this.scene.overrideMaterial=e,t.render(this.scene,this.camera),this.scene.overrideMaterial=null,t.autoClear=s,t.setClearColor(this.originalClearColor),t.setClearAlpha(o)},setSize:function(t,e){this.width=t,this.height=e,this.beautyRenderTarget.setSize(t,e),this.ssaoRenderTarget.setSize(t,e),this.normalRenderTarget.setSize(t,e),this.blurRenderTarget.setSize(t,e),this.ssaoMaterial.uniforms.resolution.value.set(t,e),this.ssaoMaterial.uniforms.cameraProjectionMatrix.value.copy(this.camera.projectionMatrix),this.ssaoMaterial.uniforms.cameraInverseProjectionMatrix.value.copy(this.camera.projectionMatrixInverse),this.blurMaterial.uniforms.resolution.value.set(t,e)},generateSampleKernel:function(){for(var t=this.kernelSize,e=this.kernel,n=0;n=o+1e3&&(a.update(1e3*s/(t-o),100),o=t,s=0,l)){var e=performance.memory;l.update(e.usedJSHeapSize/1048576,e.jsHeapSizeLimit/1048576)}return t},update:function(){r=this.end()},domElement:e,setMode:i}};Dm.Panel=function(t,e,n){var i=1/0,r=0,o=Math.round,s=o(window.devicePixelRatio||1),a=80*s,c=48*s,l=3*s,h=2*s,u=3*s,d=15*s,p=74*s,f=30*s,m=document.createElement("canvas");m.width=a,m.height=c,m.style.cssText="width:80px;height:48px";var g=m.getContext("2d");return g.font="bold "+9*s+"px Helvetica,Arial,sans-serif",g.textBaseline="top",g.fillStyle=n,g.fillRect(0,0,a,c),g.fillStyle=e,g.fillText(t,l,h),g.fillRect(u,d,p,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u,d,p,f),{dom:m,update:function(c,v){i=Math.min(i,c),r=Math.max(r,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,a,d),g.fillStyle=e,g.fillText(o(c)+" "+t+" ("+o(i)+"-"+o(r)+")",l,h),g.drawImage(m,u+s,d,p-s,f,u,d,p-s,f),g.fillRect(u+p-s,d,s,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u+p-s,d,s,o((1-c/v)*f))}}};const Im=Dm;var Nm=n(296),Bm=n.n(Nm);var zm=function(){function t(e,n){void 0===n&&(n=!1),function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewer=e,this.scene=e.scene,this.userObjects=new Da,this.solidObjects=new Da,this.lineObjects=new Da,this.pointObjects=new Da,this.transparentObjects=new Da,this.userObjects.add(this.solidObjects),this.userObjects.add(this.transparentObjects),this.userObjects.add(this.lineObjects),this.userObjects.add(this.pointObjects),this.scene.add(this.userObjects),this.solidMaterial=new xh({color:9277844,emissive:0,roughness:1,metalness:0,side:v,envMap:this.viewer.cubeCamera.renderTarget.texture}),this.transparentMaterial=new xh({color:10527912,emissive:0,roughness:0,metalness:.5,side:v,transparent:!0,opacity:.4,envMap:this.viewer.cubeCamera.renderTarget.texture}),this.lineMaterial=new Tc({color:8355711}),this.pointMaterial=new Bc({size:10,sizeAttenuation:!1,color:8355711}),this.objectIds=[],this.postLoad=Bm()((()=>{this._postLoadFunction()}),200),this.skipPostLoad=n,this.loaders=[]}var e;return(e=[{key:"addObject",value:function(t){if(t&&t.bufferGeometry){switch(t.geometryType){case"solid":if(t.meta.renderMaterial){var e=t.meta.renderMaterial,n=new xr(this._argbToRGB(e.diffuse));if(this._normaliseColor(n),1!==e.opacity){var i=this.transparentMaterial.clone();i.clippingPlanes=this.viewer.interactions.sectionBox.planes,i.color=n,i.opacity=0!==e.opacity?e.opacity:.2,this.addTransparentSolid(t,i)}else{var r=this.solidMaterial.clone();r.clippingPlanes=this.viewer.interactions.sectionBox.planes,r.color=n,r.metalness=e.metalness,0!==r.metalness&&(r.roughness=.1),r.metalness>.8&&(r.color=new xr("#CDCDCD")),this.addSolid(t,r)}}else{var o=this.solidMaterial.clone();o.clippingPlanes=this.viewer.interactions.sectionBox.planes,this.addSolid(t,o)}break;case"line":this.addLine(t);break;case"point":this.addPoint(t)}this.postLoad()}}},{key:"addSolid",value:function(t,e){var n=new po(t.bufferGeometry,e||this.solidMaterial);n.userData=t.meta,n.uuid=t.meta.id,this.objectIds.push(n.uuid),this.solidObjects.add(n)}},{key:"addTransparentSolid",value:function(t,e){var n=new po(t.bufferGeometry,e||this.transparentMaterial);n.userData=t.meta,n.uuid=t.meta.id,this.objectIds.push(n.uuid),this.transparentObjects.add(n)}},{key:"addLine",value:function(t){var e=new Cc(t.bufferGeometry,this.lineMaterial);e.userData=t.meta,e.uuid=t.meta.id,this.objectIds.push(e.uuid),this.lineObjects.add(e)}},{key:"addPoint",value:function(t){var e=new Hc(t.bufferGeometry,this.pointMaterial);e.userData=t.meta,e.uuid=t.meta.id,this.objectIds.push(e.uuid),this.pointObjects.add(e)}},{key:"removeObject",value:function(t){}},{key:"removeAllObjects",value:function(){for(var t of this.objects)t.geometry&&t.geometry.dispose();this.solidObjects.clear(),this.transparentObjects.clear(),this.lineObjects.clear(),this.pointObjects.clear(),this.viewer.interactions.deselectObjects(),this.viewer.interactions.hideSectionBox(),this.objectIds=[],this._postLoadFunction()}},{key:"_postLoadFunction",value:function(){this.skipPostLoad||(this.viewer.interactions.zoomExtents(),this.viewer.interactions.hideSectionBox(),this.viewer.reflectionsNeedUpdate=!0)}},{key:"getSceneBoundingBox",value:function(){return 0===this.objects.length?new ei(new Kn(-1,-1,-1),new Kn(1,1,1)):(new ei).setFromObject(this.userObjects)}},{key:"_argbToRGB",value:function(t){return"#"+("000000"+(16777215&t).toString(16)).slice(-6)}},{key:"_normaliseColor",value:function(t){var e={};if(t.getHSL(e),e.s+e.l>1)for(;e.s+e.l>1;)e.s-=.05,e.l-=.05;e.l>.6&&(e.l=.6),e.l<.3&&(e.l=.3),t.setHSL(e.h,e.s,e.l)}},{key:"objects",get:function(){return[...this.solidObjects.children,...this.transparentObjects.children,...this.lineObjects.children,...this.pointObjects.children]}},{key:"materials",get:function(){return[this.lineMaterial,this.pointMaterial,this.transparentMaterial,this.solidMaterial]}}])&&function(t,e){for(var n=0;nclearInterval(t.interval)))}async getObject(t){return this.buffer[t]?this.buffer[t]:new Promise(((e,n)=>{if(this.promises.push({id:t,resolve:e,reject:n}),this.intervals[t])this.intervals[t].elapsed=0;else{let e=setInterval(this.tryResolvePromise.bind(this),this.INTERVAL_MS,t);this.intervals[t]={interval:e,elapsed:0}}}))}tryResolvePromise(t){if(this.intervals[t].elapsed+=this.INTERVAL_MS,this.buffer[t]){for(let e of this.promises.filter((e=>e.id===t)))e.resolve(this.buffer[t]);return clearInterval(this.intervals[t].interval),void delete this.intervals[t]}this.intervals[t].elapsed>this.TIMEOUT_MS&&(console.warn(`Timeout resolving ${t}. HIC SVNT DRACONES.`),clearInterval(this.intervals[t].interval),this.promises.filter((e=>e.id===t)).forEach((t=>t.reject())),this.promises=this.promises.filter((t=>t.id!=t.id)))}async*getObjectIterator(){for await(let t of this.getRawObjectIterator()){let{id:e,obj:n}=this.processLine(t);this.buffer[e]=n,yield n}}processLine(t){var e=t.split("\t");return{id:e[0],obj:JSON.parse(e[1])}}async*getRawObjectIterator(){const t=new TextDecoder,e=(await fetch(this.requestUrl,{headers:this.headers})).body.getReader();let{value:n,done:i}=await e.read();n=n?t.decode(n):"";let r=/\r\n|\n|\r/gm,o=0;for(;;){let s=r.exec(n);if(s)yield n.substring(o,s.index),o=r.lastIndex;else{if(i)break;let s=n.substr(o);({value:n,done:i}=await e.read()),n=s+(n?t.decode(n):""),o=r.lastIndex=0}}o=n[i])return i-1;if(e<=n[t])return t;for(var r=t,o=i,s=Math.floor((r+o)/2);e=n[s+1];)e=b&&(x[y][0]=x[v][0]/c[M+1][_],w=x[y][0]*c[_][M]);var S=p-1<=M?b-1:n-p;for(u=_>=-1?1:-_;u<=S;++u)x[y][u]=(x[v][u]-x[v][u-1])/c[M+1][_+u],w+=x[y][u]*c[_+u][M];p<=M&&(x[y][b]=-x[v][b-1]/c[M+1][p],w+=x[y][b]*c[p][M]),a[b][p]=w,u=v,v=y,y=u}}for(p=n,b=1;b<=i;++b){for(u=0;u<=n;++u)a[b][u]*=p;p*=n-b}return a},calcBSplineDerivatives:function(t,e,n,i,r){for(var o=r[])));var f=Math.log10(1/e),m=Math.pow(10,f);for(d=0;dt*e)),3)),n.computeVertexNormals(),n.computeFaceNormals(),n.computeBoundingSphere(),delete t.vertices,delete t.faces,new km(n,t)}catch(e){throw console.warn("Failed to convert mesh with id: "+t.id),e}})),function(t){return u.apply(this,arguments)})},{key:"PointToVector3",value:function(t){var e=Qm(t.units);return t.value?new Kn(t.value[0]*e,t.value[1]*e,t.value[2]*e):new Kn(t.x*e,t.y*e,t.z*e)}},{key:"PointToBufferGeometry",value:(h=tg((function*(t){var e=this.PointToVector3(t),n=(new Yr).setFromPoints([e]);return delete t.value,delete t.speckle_type,delete t.bbox,new km(n,t,"point")})),function(t){return h.apply(this,arguments)})},{key:"LineToBufferGeometry",value:(l=tg((function*(t){if(t.value)return this.PolylineToBufferGeometry(t);var e={};Object.assign(e,t),delete t.start,delete t.end,delete t.speckle_type,delete t.bbox;var n=(new Yr).setFromPoints([this.PointToVector3(e.start),this.PointToVector3(e.end)]);return new km(n,e,"line")})),function(t){return l.apply(this,arguments)})},{key:"PolylineToBufferGeometry",value:(c=tg((function*(t){var e={};Object.assign(e,t),delete t.value,delete t.speckle_type,delete t.bbox;var n=Qm(e.units);e.value=yield this.dechunk(e.value);for(var i=[],r=0;r{this.viewer.sceneManager.addObject(t),r++})),e=!1,i=u.totalChildrenCount),n++,this.viewer.emit("load-progress",{progress:n/(i+1),id:this.objectId})}}catch(e){a=!0,t=e}finally{try{s||null==h.return||(yield h.return())}finally{if(a)throw t}}o&&(yield o),0===r&&(console.warn("Viewer: no 3d objects found in object "+this.objectId),this.viewer.emit("load-warning",{message:"No displayable objects found in object "+this.objectId+"."}))},i=function(){var t=this,e=arguments;return new Promise((function(i,r){var o=n.apply(t,e);function s(t){ng(o,i,r,s,a,"next",t)}function a(t){ng(o,i,r,s,a,"throw",t)}s(void 0)}))},function(){return i.apply(this,arguments)})}])&&function(t,e){for(var n=0;nt!==e)))}},{key:"emit",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i{t(...n)};this._events[t].forEach(r)}}},{key:"dispose",value:function(){this._events=null}}])&&function(t,e){for(var n=0;n{n.orbiting=!0})),n.viewer.controls.addEventListener("sleep",(()=>{n.orbiting=!1})),n.subset=void 0!==e&&void 0!==e.subset?e.subset:null,n.pointerDown=!1,void 0!==e&&e.hover&&n.viewer.renderer.domElement.addEventListener("pointermove",Bm()((t=>{var e=n.getClickedObjects(t);n.pointerDown?n.emit("object-drag",e,n._getNormalisedClickPosition(t)):n.emit("hovered",e,t)}),0)),void 0!==e&&e.hover&&n.viewer.renderer.domElement.addEventListener("pointerdown",Bm()((t=>{n.pointerDown=!0,n.orbiting||n.emit("mouse-down",n.getClickedObjects(t))}),100)),n.sectionBox=null,void 0!==e&&e.sectionBox&&(n.sectionBox=e.sectionBox),n.viewer.renderer.domElement.addEventListener("pointerdown",(()=>{i=(new Date).getTime()})),n.viewer.renderer.domElement.addEventListener("pointerup",(t=>{var e=(new Date).getTime()-i;if(n.pointerDown=!1,!(n.orbiting&&e>250)){var r=n.getClickedObjects(t);n.emit("object-clicked",r)}})),n.tapTimeout,n.lastTap=0,n.touchLocation,n.viewer.renderer.domElement.addEventListener("touchstart",(t=>{n.touchLocation=t.targetTouches[0]})),n.viewer.renderer.domElement.addEventListener("touchend",(t=>{var e=(new Date).getTime(),i=e-n.lastTap;if(clearTimeout(n.tapTimeout),i<500&&i>0){var r=n.getClickedObjects(n.touchLocation);n.emit("object-doubleclicked",r)}else n.tapTimeout=setTimeout((function(){clearTimeout(this.tapTimeout)}),500);n.lastTap=e})),n.viewer.renderer.domElement.addEventListener("dblclick",(t=>{var e=n.getClickedObjects(t);n.emit("object-doubleclicked",e)})),n.multiSelect=!1,document.addEventListener("keydown",(t=>{t.isComposing||229===t.keyCode||("Shift"===t.key&&(n.multiSelect=!0),"Escape"===t.key&&n.unselect())})),document.addEventListener("keyup",(t=>{t.isComposing||229===t.keyCode||"Shift"===t.key&&(n.multiSelect=!1)})),n.originalSelectionObjects=[],n}return(e=[{key:"unselect",value:function(){this.originalSelectionObjects=[]}},{key:"getClickedObjects",value:function(t){var e=this._getNormalisedClickPosition(t);this.raycaster.setFromCamera(e,this.viewer.camera);var n=this.raycaster.intersectObjects(this.subset?this._getGroupChildren(this.subset):this.viewer.sceneManager.objects);if(this.sectionBox&&this.sectionBox.display.visible){var i=(new ei).setFromObject(this.sectionBox.boxMesh);n=n.filter((t=>i.containsPoint(t.point)))}return n}},{key:"_getGroupChildren",value:function(t){var e=[];return 0===t.children.length?[t]:(t.children.forEach((t=>e=[...e,...this._getGroupChildren(t)])),e)}},{key:"_getNormalisedClickPosition",value:function(t){var e=this.viewer.renderer.domElement,n=this.viewer.renderer.domElement.getBoundingClientRect(),i=(t.clientX-n.left)*e.width/n.width,r=(t.clientY-n.top)*e.height/n.height;return{x:i/e.width*2-1,y:r/e.height*-2+1}}},{key:"dispose",value:function(){og(cg(o.prototype),"dispose",this).call(this),this.unselect(),this.originalSelectionObjects=null}}])&&function(t,e){for(var n=0;ns&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Y"!==o.name&&"XYZY"!==o.name||Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Z"!==o.name&&"XYZZ"!==o.name||Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XY"===o.name&&Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"YZ"===o.name&&Math.abs(U.copy(V).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XZ"===o.name&&Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),-1!==o.name.search("X")&&(U.copy(V).applyQuaternion(e).dot(this.eye)<0?"fwd"===o.tag?o.visible=!1:o.scale.x*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Y")&&(U.copy(W).applyQuaternion(e).dot(this.eye)<0?"fwd"===o.tag?o.visible=!1:o.scale.y*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Z")&&(U.copy(q).applyQuaternion(e).dot(this.eye)<0?"fwd"===o.tag?o.visible=!1:o.scale.z*=-1:"bwd"===o.tag&&(o.visible=!1))}else"rotate"===this.mode&&(k.copy(e),U.copy(this.eye).applyQuaternion(H.copy(e).invert()),-1!==o.name.search("E")&&o.quaternion.setFromRotationMatrix(G.lookAt(this.eye,F,W)),"X"===o.name&&(H.setFromAxisAngle(V,Math.atan2(-U.y,U.z)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)),"Y"===o.name&&(H.setFromAxisAngle(W,Math.atan2(U.x,U.z)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)),"Z"===o.name&&(H.setFromAxisAngle(q,Math.atan2(U.y,U.x)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)));o.visible=o.visible&&(-1===o.name.indexOf("X")||this.showX),o.visible=o.visible&&(-1===o.name.indexOf("Y")||this.showY),o.visible=o.visible&&(-1===o.name.indexOf("Z")||this.showZ),o.visible=o.visible&&(-1===o.name.indexOf("E")||this.showX&&this.showY&&this.showZ),o.material._opacity=o.material._opacity||o.material.opacity,o.material._color=o.material._color||o.material.color.clone(),o.material.color.copy(o.material._color),o.material.opacity=o.material._opacity,this.enabled?this.axis&&(o.name===this.axis||this.axis.split("").some((function(t){return o.name===t}))?(o.material.opacity=1,o.material.color.lerp(new xr(1,1,1),.5)):(o.material.opacity*=.25,o.material.color.lerp(new xr(1,1,1),.5))):(o.material.opacity*=.5,o.material.color.lerp(new xr(1,1,1),.5))}else o.visible=!1,"AXIS"===o.name?(o.position.copy(this.worldPositionStart),o.visible=!!this.axis,"X"===this.axis&&(H.setFromEuler(z.set(0,0,0)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(V).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),"Y"===this.axis&&(H.setFromEuler(z.set(0,0,Math.PI/2)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),"Z"===this.axis&&(H.setFromEuler(z.set(0,Math.PI/2,0)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),"XYZE"===this.axis&&(H.setFromEuler(z.set(0,Math.PI/2,0)),U.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(G.lookAt(F,U,W)),o.quaternion.multiply(H),o.visible=this.dragging),"E"===this.axis&&(o.visible=!1)):"START"===o.name?(o.position.copy(this.worldPositionStart),o.visible=this.dragging):"END"===o.name?(o.position.copy(this.worldPosition),o.visible=this.dragging):"DELTA"===o.name?(o.position.copy(this.worldPositionStart),o.quaternion.copy(this.worldQuaternionStart),B.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),B.applyQuaternion(this.worldQuaternionStart.clone().invert()),o.scale.copy(B),o.visible=this.dragging):(o.quaternion.copy(e),this.dragging?o.position.copy(this.worldPositionStart):o.position.copy(this.worldPosition),this.axis&&(o.visible=-1!==this.axis.search(o.name)))}Qi.prototype.updateMatrixWorld.call(this)}};ug.prototype=Object.assign(Object.create(Qi.prototype),{constructor:ug,isTransformControlsGizmo:!0});var dg=function(){po.call(this,new Ql(1e5,1e5,2,2),new Mr({visible:!1,wireframe:!0,side:v,transparent:!0,opacity:.1,toneMapped:!1})),this.type="TransformControlsPlane";var t=new Kn(1,0,0),e=new Kn(0,1,0),n=new Kn(0,0,1),i=new Kn,r=new Kn,o=new Kn,s=new Ei,a=new Qn;this.updateMatrixWorld=function(){var c=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(c="local"),t.set(1,0,0).applyQuaternion("local"===c?this.worldQuaternion:a),e.set(0,1,0).applyQuaternion("local"===c?this.worldQuaternion:a),n.set(0,0,1).applyQuaternion("local"===c?this.worldQuaternion:a),o.copy(e),this.mode){case"translate":case"scale":switch(this.axis){case"X":o.copy(this.eye).cross(t),r.copy(t).cross(o);break;case"Y":o.copy(this.eye).cross(e),r.copy(e).cross(o);break;case"Z":o.copy(this.eye).cross(n),r.copy(n).cross(o);break;case"XY":r.copy(n);break;case"YZ":r.copy(t);break;case"XZ":o.copy(n),r.copy(e);break;case"XYZ":case"E":r.set(0,0,0)}break;case"rotate":default:r.set(0,0,0)}0===r.length()?this.quaternion.copy(this.cameraQuaternion):(s.lookAt(i.set(0,0,0),r,o),this.quaternion.setFromRotationMatrix(s)),Qi.prototype.updateMatrixWorld.call(this)}};dg.prototype=Object.assign(Object.create(po.prototype),{constructor:dg,isTransformControlsPlane:!0});var pg=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewer=e,this.orbiting=!1,this.dragging=!1,this.display=new Da,this.viewer.controls.addEventListener("wake",(()=>{this.orbiting=!0})),this.viewer.controls.addEventListener("controlend",(()=>{this.orbiting=!1})),this.box=n||this.viewer.sceneManager.getSceneBoundingBox();var i=(new Kn).subVectors(this.box.max,this.box.min);this.boxGeo=new Kc(i.x,i.y,i.z);var r=(new Ei).setPosition(i.addVectors(this.box.min,this.box.max).multiplyScalar(.5));this.boxGeo.applyMatrix4(r),this.boxMesh=new po(this.boxGeo,new Mr),this.boxHelper=new yp(this.boxMesh,681727);var o=new Ql(1,1);this.hoverPlane=new po(o,new xh({transparent:!0,side:v,opacity:.02,color:681727,metalness:.1,roughness:.75})),this.display.add(this.boxHelper),this.display.add(this.hoverPlane),this.viewer.scene.add(this.display),this.boxMesh.userData.planes=[],this.boxMesh.userData.indices=[],this.planes=[],this._generatePlanes(),this.selectionHelper=new lg(this.viewer,{subset:this.boxMesh,hover:!0});var s=-1;this.selectionHelper.on("hovered",(t=>{if(0===t.length&&!this.dragging)return this.hoverPlane.visible=!1,this.controls.visible=!0,this.planeControls.detach(),this.viewer.controls.enabled=!0,this.viewer.interactions.preventSelection=!1,this.viewer.needsRender=!0,void(s=-1);if(!this.orbiting&&!this.dragging){this.controls.visible=!1,this.hoverPlane.visible=!0;for(var e=new Kn,n=0;n<4;n++)e.add(this.boxGeo.vertices[t[0].object.userData.indices[t[0].faceIndex][n]].clone().applyMatrix4(this.boxMesh.matrixWorld));e.multiplyScalar(.25),this.hoverPlane.position.copy(e);for(var i=0;i<4;i++){var r=this.boxGeo.vertices[t[0].object.userData.indices[t[0].faceIndex][i]].clone().applyMatrix4(this.boxMesh.matrixWorld);this.hoverPlane.geometry.vertices[i].set(r.x-e.x,r.y-e.y,r.z-e.z)}this.hoverPlane.geometry.verticesNeedUpdate=!0;var o=t[0].face.normal;this.planeControls.showX=0!==o.x,this.planeControls.showY=0!==o.y,this.planeControls.showZ=0!==o.z,this.planeControls.attach(this.hoverPlane),t[0].faceIndex!==s&&(this.viewer.needsRender=!0,s=t[0].faceIndex)}})),this._globalControlsTarget=new po(new rh(1e-4),new Mr),this._globalControlsTarget.position.copy(this.boxGeo.vertices[5].clone().multiplyScalar(1.1)),this.display.add(this._globalControlsTarget),this.controls=new hg(this.viewer.camera,this.viewer.renderer.domElement),this.controls.setSize(.5),this.controls.attach(this._globalControlsTarget),this.display.add(this.controls),this.planeControls=new hg(this.viewer.camera,this.viewer.renderer.domElement,!0),this.display.add(this.planeControls),this.prevGizmoPos=this._globalControlsTarget.position.clone(),this.controls.addEventListener("change",(()=>{this.prevGizmoPos.sub(this._globalControlsTarget.position),this.boxMesh.translateX(-this.prevGizmoPos.x),this.boxMesh.translateY(-this.prevGizmoPos.y),this.boxMesh.translateZ(-this.prevGizmoPos.z),this.prevGizmoPos=this._globalControlsTarget.position.clone(),this.setPlanesFromBox((new ei).setFromObject(this.boxMesh)),this.boxHelper.update(),this.viewer.needsRender=!0})),this.controls.addEventListener("dragging-changed",(t=>{this.viewer.controls.enabled=!t.value,this.viewer.interactions.preventSelection=!t.value,t.value||this.viewer.interactions.zoomToObject(this.boxMesh)}));var a=null;this.planeControls.addEventListener("change",(()=>{if(this.dragging&&-1!==s){null===a&&(a=this.hoverPlane.position.clone()),a.sub(this.hoverPlane.position);var t=this.boxMesh.userData.planes[s];a.negate(),t.translate(a);for(var e=this.boxMesh.userData.indices[s],n=0;n<4;n++){var i=e[n];this.boxGeo.vertices[i].add(a)}this.boxGeo.verticesNeedUpdate=!0,this.boxMesh.geometry.computeBoundingBox(),this.boxMesh.geometry.computeBoundingSphere();var r=this.boxGeo.vertices[5].clone();r.multiplyScalar(1.1),r.applyMatrix4(this.boxMesh.matrixWorld),this._globalControlsTarget.position.copy(r),this.prevGizmoPos=r,a=this.hoverPlane.position.clone(),this.boxHelper.update(),this.viewer.needsRender=!0}})),this.planeControls.addEventListener("dragging-changed",(t=>{this.viewer.controls.enabled=!t.value,this.viewer.interactions.preventSelection=!t.value,this.dragging=!!t.value,this.dragging||(a=null,this.viewer.interactions.zoomToObject(this.boxMesh),s=-1),this.viewer.needsRender=!0}))}var e;return(e=[{key:"_generatePlanes",value:function(){for(var t=0;tt.clippingPlanes=this.sectionBox.planes))}var e;return(e=[{key:"_handleDoubleClick",value:function(t){t&&0!==t.length?this.zoomToObject(t[0].object):this.zoomExtents(),this.viewer.needsRender=!0}},{key:"_handleSelect",value:function(t){if(!this.preventSelection)if(0!==t.length){switch(this.selectionHelper.multiSelect||this.deselectObjects(),t[0].object.type){case"Mesh":this.selectedObjects.add(new po(t[0].object.geometry,this.selectionMeshMaterial));break;case"Line":this.selectedObjects.add(new Cc(t[0].object.geometry,this.selectionMeshMaterial));break;case"Point":return void console.warn("Point selection not implemented.")}var e=new yp(t[0].object,2356157);e.material=this.selectionEdgesMaterial,this.selectedObjects.add(e),this.viewer.needsRender=!0}else this.deselectObjects()}},{key:"deselectObjects",value:function(){this.selectedObjects.clear(),this.viewer.needsRender=!0}},{key:"toggleSectionBox",value:function(){if(this.sectionBox.toggle(),this.sectionBox.display.visible)if(0===this.selectedObjects.children.length)this.sectionBox.setBox(this.viewer.sceneManager.getSceneBoundingBox()),this.zoomExtents();else{var t=(new ei).setFromObject(this.selectedObjects);this.sectionBox.setBox(t),this.zoomToBox(t)}else this.preventSelection=!1;this.viewer.needsRender=!0}},{key:"hideSectionBox",value:function(){this.sectionBox.display.visible&&this.toggleSectionBox()}},{key:"showSectionBox",value:function(){this.sectionBox.display.visible||this.toggleSectionBox()}},{key:"zoomToObject",value:function(t,e,n){void 0===e&&(e=1.2),void 0===n&&(n=!0);var i=(new ei).setFromObject(t);this.zoomToBox(i,e,n)}},{key:"zoomExtents",value:function(t,e){if(void 0===t&&(t=1.2),void 0===e&&(e=!0),this.sectionBox.display.visible)this.zoomToObject(this.sectionBox.boxMesh);else if(0!==this.viewer.sceneManager.objects.length){var n=(new ei).setFromObject(this.viewer.sceneManager.userObjects);this.zoomToBox(n,t,e),this.viewer.controls.setBoundary(n)}else{var i=new ei(new Kn(-1,-1,-1),new Kn(1,1,1));this.zoomToBox(i,t,e)}}},{key:"zoomToBox",value:function(t,e,n){void 0===e&&(e=1.2),void 0===n&&(n=!0);var i=e,r=t.getSize(new Kn),o=new vi;t.getBoundingSphere(o),o.radius=o.radius*i,this.viewer.controls.fitToSphere(o,n);var s=Math.max(r.x,r.y,r.z)/(2*Math.atan(Math.PI*this.viewer.camera.fov/360)),a=s/this.viewer.camera.aspect,c=i*Math.max(s,a);this.viewer.controls.minDistance=c/100,this.viewer.controls.maxDistance=100*c,this.viewer.camera.near=c/100,this.viewer.camera.far=100*c,this.viewer.camera.updateProjectionMatrix()}},{key:"rotateCamera",value:function(t,e,n){void 0===t&&(t=.261799),void 0===e&&(e=0),void 0===n&&(n=!0),this.viewer.controls.rotate(t,e,n)}},{key:"screenshot",value:function(){return this.viewer.renderer.domElement.toDataURL("image/png")}},{key:"rotateTo",value:function(t,e){void 0===e&&(e=!0);var n=.5*Math.PI,i=Math.PI;switch(t){case"front":this.viewer.controls.rotateTo(0,n,e);break;case"back":this.viewer.controls.rotateTo(i,n,e);break;case"up":case"top":this.viewer.controls.rotateTo(0,0,e);break;case"down":case"bottom":this.viewer.controls.rotateTo(0,i,e);break;case"right":this.viewer.controls.rotateTo(n,n,e);break;case"left":this.viewer.controls.rotateTo(-n,n,e)}}}])&&function(t,e){for(var n=0;n{e.pauseSSAO=!0})),e.controls.addEventListener("sleep",(()=>{e.pauseSSAO=!1,e.needsRender=!0})),e.sceneManager=new zm(yg(e)),s&&(e.stats=new Im,e.container.appendChild(e.stats.dom)),window.addEventListener("resize",e.onWindowResize.bind(yg(e)),!1),e.interactions=new fg(yg(e)),e.needsRender=!0,e.sceneLights(),e.animate(),e.loaders=[],e}return(e=[{key:"sceneLights",value:function(){var t=new Iu(16777215);this.scene.add(t);var e=[];e[0]=new Pu(16777215,.21,0),e[1]=new Pu(16777215,.21,0),e[2]=new Pu(16777215,.21,0),e[3]=new Pu(16777215,.21,0),e[0].position.set(1e3,1e3,1e3),e[1].position.set(1e3,-1e3,1e3),e[2].position.set(-1e3,-1e3,1e3),e[3].position.set(-1e3,1e3,1e3),this.scene.add(e[0]),this.scene.add(e[1]),this.scene.add(e[2]),this.scene.add(e[3]);var n=new Tu(16777215,0,.2);n.color.setHSL(1,1,1),n.groundColor.setHSL(.095,1,.75),n.up.set(0,0,1),this.scene.add(n);var i=new Tp(1);this.scene.add(i);var r=new Da;this.scene.add(r)}},{key:"onWindowResize",value:function(){this.camera.aspect=this.container.offsetWidth/this.container.offsetHeight,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.container.offsetWidth,this.container.offsetHeight),this.composer.setSize(this.container.offsetWidth,this.container.offsetHeight)}},{key:"animate",value:function(){var t=this.clock.getDelta(),e=this.controls.update(t);requestAnimationFrame(this.animate.bind(this)),(e||this.needsRender)&&(this.needsRender=!1,this.stats&&this.stats.begin(),this.render(),this.stats&&this.stats.end())}},{key:"render",value:function(){if(this.reflections&&this.reflectionsNeedUpdate){for(var t of this.sceneManager.objects)t.material.envMap=null;for(var e of(this.scene.background=new xr("#F0F3F8"),this.cubeCamera.update(this.renderer,this.scene),this.scene.background=null,this.sceneManager.objects))e.material.envMap=this.cubeCamera.renderTarget.texture;this.reflectionsNeedUpdate=!1}this.postprocessing&&!this.pauseSSAO?this.composer.render(this.scene,this.camera):this.renderer.render(this.scene,this.camera)}},{key:"loadObject",value:(n=function*(t,e){var n=new ig(this,t,e);this.loaders.push(n),yield n.load()},r=function(){var t=this,e=arguments;return new Promise((function(i,r){var o=n.apply(t,e);function s(t){mg(o,i,r,s,a,"next",t)}function a(t){mg(o,i,r,s,a,"throw",t)}s(void 0)}))},function(t,e){return r.apply(this,arguments)})},{key:"dispose",value:function(){}}])&&function(t,e){for(var n=0;n{var i=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,s=/^0o[0-7]+$/i,a=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l="object"==typeof self&&self&&self.Object===Object&&self,h=c||l||Function("return this")(),u=Object.prototype.toString,d=Math.max,p=Math.min,f=function(){return h.Date.now()};function m(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function g(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==u.call(t)}(t))return NaN;if(m(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=m(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(i,"");var n=o.test(t);return n||s.test(t)?a(t.slice(2),n?2:8):r.test(t)?NaN:+t}t.exports=function(t,e,n){var i,r,o,s,a,c,l=0,h=!1,u=!1,v=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=i,o=r;return i=r=void 0,l=e,s=t.apply(o,n)}function x(t){return l=t,a=setTimeout(w,e),h?y(t):s}function b(t){var n=t-c;return void 0===c||n>=e||n<0||u&&t-l>=o}function w(){var t=f();if(b(t))return _(t);a=setTimeout(w,function(t){var n=e-(t-c);return u?p(n,o-(t-l)):n}(t))}function _(t){return a=void 0,v&&i?y(t):(i=r=void 0,s)}function M(){var t=f(),n=b(t);if(i=arguments,r=this,c=t,n){if(void 0===a)return x(c);if(u)return a=setTimeout(w,e),y(c)}return void 0===a&&(a=setTimeout(w,e)),s}return e=g(e)||0,m(n)&&(h=!!n.leading,o=(u="maxWait"in n)?d(g(n.maxWait)||0,e):o,v="trailing"in n?!!n.trailing:v),M.cancel=function(){void 0!==a&&clearTimeout(a),l=0,i=c=r=a=void 0},M.flush=function(){return void 0===a?s:_(f())},M}}},e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}return n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(529)})()}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}(()=>{"use strict";var t=n(676);class e{constructor({serverUrl:t,streamId:e,token:n,objectId:i}){this.INTERVAL_MS=20,this.TIMEOUT_MS=18e4,this.serverUrl=t||window.location.origin,this.streamId=e,this.objectId=i,this.token=n||localStorage.getItem("AuthToken"),this.headers={Accept:"text/plain"},n&&(this.headers.Authorization=`Bearer ${this.token}`),this.requestUrl=`${this.serverUrl}/objects/${this.streamId}/${this.objectId}`,this.promises=[],this.intervals={},this.buffer=[]}dispose(){this.buffer=[],this.intervals.forEach((t=>clearInterval(t.interval)))}async getObject(t){return this.buffer[t]?this.buffer[t]:new Promise(((e,n)=>{if(this.promises.push({id:t,resolve:e,reject:n}),this.intervals[t])this.intervals[t].elapsed=0;else{let e=setInterval(this.tryResolvePromise.bind(this),this.INTERVAL_MS,t);this.intervals[t]={interval:e,elapsed:0}}}))}tryResolvePromise(t){if(this.intervals[t].elapsed+=this.INTERVAL_MS,this.buffer[t]){for(let e of this.promises.filter((e=>e.id===t)))e.resolve(this.buffer[t]);return clearInterval(this.intervals[t].interval),void delete this.intervals[t]}this.intervals[t].elapsed>this.TIMEOUT_MS&&(console.warn(`Timeout resolving ${t}. HIC SVNT DRACONES.`),clearInterval(this.intervals[t].interval),this.promises.filter((e=>e.id===t)).forEach((t=>t.reject())),this.promises=this.promises.filter((t=>t.id!=t.id)))}async*getObjectIterator(){for await(let t of this.getRawObjectIterator()){let{id:e,obj:n}=this.processLine(t);this.buffer[e]=n,yield n}}processLine(t){var e=t.split("\t");return{id:e[0],obj:JSON.parse(e[1])}}async*getRawObjectIterator(){const t=new TextDecoder,e=(await fetch(this.requestUrl,{headers:this.headers})).body.getReader();let{value:n,done:i}=await e.read();n=n?t.decode(n):"";let r=/\r\n|\n|\r/gm,o=0;for(;;){let s=r.exec(n);if(s)yield n.substring(o,s.index),o=r.lastIndex;else{if(i)break;let s=n.substr(o);({value:n,done:i}=await e.read()),n=s+(n?t.decode(n):""),o=r.lastIndex=0}}o{await s.traverseAndConvert(t,(t=>i.sceneManager.addObject(t)))})(),a=!1)},window.onload=t=>{let e=window.location.hash.substr(1);e&&LoadData(e)}})()})(); +//# sourceMappingURL=viewer.min.js.map \ No newline at end of file diff --git a/packages/preview-service/public/render/viewer.min.js.LICENSE.txt b/packages/preview-service/public/render/viewer.min.js.LICENSE.txt new file mode 100644 index 000000000..f2c23b734 --- /dev/null +++ b/packages/preview-service/public/render/viewer.min.js.LICENSE.txt @@ -0,0 +1 @@ +/*! For license information please see Speckle.js.LICENSE.txt */ diff --git a/packages/preview-service/public/render/viewer.min.js.map b/packages/preview-service/public/render/viewer.min.js.map new file mode 100644 index 000000000..edb4b4768 --- /dev/null +++ b/packages/preview-service/public/render/viewer.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://@speckle/preview-service/../viewer/dist/Speckle.js","webpack://@speckle/preview-service/webpack/bootstrap","webpack://@speckle/preview-service/../objectloader/index.js","webpack://@speckle/preview-service/./render_page/src/app.js"],"names":["module","exports","t","529","e","n","r","d","Converter","rg","Viewer","Rg","i","ACESFilmicToneMapping","it","AddEquation","E","AddOperation","K","AdditiveAnimationBlendMode","Xe","AdditiveBlending","w","AlphaFormat","zt","AlwaysDepth","j","AlwaysStencilFunc","Tn","AmbientLight","Iu","AmbientLightProbe","nd","AnimationClip","Hh","AnimationLoader","Zh","AnimationMixer","Id","AnimationObjectGroup","Od","AnimationUtils","Lh","ArcCurve","iu","ArrayCamera","Oa","ArrowHelper","Sp","Audio","pd","AudioAnalyser","xd","AudioContext","$u","AudioListener","dd","AudioLoader","td","AxesHelper","Tp","AxisHelper","Sf","BackSide","g","BasicDepthPacking","sn","BasicShadowMap","u","BinaryTextureLoader","Rf","Bone","gc","BooleanKeyframeTrack","Ih","BoundingBoxHelper","Tf","Box2","Vd","Box3","ei","Box3Helper","xp","BoxBufferGeometry","go","BoxGeometry","Kc","BoxHelper","yp","BufferAttribute","Er","BufferGeometry","Yr","BufferGeometryLoader","ku","ByteType","Et","Cache","jh","Camera","_o","CameraHelper","mp","CanvasRenderer","Of","CanvasTexture","Wc","CatmullRomCurve3","lu","CineonToneMapping","nt","CircleBufferGeometry","$c","CircleGeometry","tl","ClampToEdgeWrapping","pt","Clock","sd","ClosedSplineCurve3","_f","Color","xr","ColorKeyframeTrack","Bh","CompressedTexture","Vc","CompressedTextureLoader","Jh","ConeBufferGeometry","rl","ConeGeometry","il","CubeCamera","So","CubeGeometry","CubeReflectionMapping","st","CubeRefractionMapping","at","CubeTexture","To","CubeTextureLoader","Kh","CubeUVReflectionMapping","ht","CubeUVRefractionMapping","ut","CubicBezierCurve","pu","CubicBezierCurve3","fu","CubicInterpolant","Ph","CullFaceBack","c","CullFaceFront","l","CullFaceFrontBack","h","CullFaceNone","a","Curve","eu","CurvePath","_u","CustomBlending","T","CustomToneMapping","rt","CylinderBufferGeometry","el","CylinderGeometry","nl","Cylindrical","kd","DataTexture","Ao","DataTexture2DArray","Qo","DataTexture3D","Ko","DataTextureLoader","$h","DataUtils","Lp","DecrementStencilOp","fn","DecrementWrapStencilOp","gn","DefaultLoadingManager","Wh","DepthFormat","jt","DepthStencilFormat","Vt","DepthTexture","qc","DirectionalLight","Du","DirectionalLightHelper","dp","DiscreteInterpolant","Oh","DodecahedronBufferGeometry","sl","DodecahedronGeometry","al","DoubleSide","v","DstAlphaFactor","z","DstColorFactor","F","DynamicBufferAttribute","uf","DynamicCopyUsage","Dn","DynamicDrawUsage","An","DynamicReadUsage","Pn","EdgesGeometry","dl","EdgesHelper","Ef","EllipseCurve","nu","EqualDepth","q","EqualStencilFunc","bn","EquirectangularReflectionMapping","ct","EquirectangularRefractionMapping","lt","Euler","Ii","EventDispatcher","zn","ExtrudeBufferGeometry","Gl","ExtrudeGeometry","kl","Face3","br","Face4","Zp","FaceColors","$p","FileLoader","Yh","FlatShading","y","Float16BufferAttribute","Ir","Float32Attribute","xf","Float32BufferAttribute","Br","Float64Attribute","bf","Float64BufferAttribute","Nr","FloatType","Ct","Fog","Ga","FogExp2","Fa","Font","Zu","FontLoader","Qu","FrontSide","m","Frustum","Po","GLBufferAttribute","zd","GLSL1","Bn","GLSL3","Nn","GammaEncoding","$e","Geometry","Qc","GeometryUtils","Cf","GreaterDepth","Y","GreaterEqualDepth","X","GreaterEqualStencilFunc","Sn","GreaterStencilFunc","wn","GridHelper","ap","Group","Da","HalfFloatType","Ot","HemisphereLight","Tu","HemisphereLightHelper","sp","HemisphereLightProbe","ed","IcosahedronBufferGeometry","jl","IcosahedronGeometry","Vl","ImageBitmapLoader","Xu","ImageLoader","Qh","ImageUtils","Vn","ImmediateRenderObject","Yd","IncrementStencilOp","pn","IncrementWrapStencilOp","mn","InstancedBufferAttribute","Hu","InstancedBufferGeometry","Gu","InstancedInterleavedBuffer","Nd","InstancedMesh","Sc","Int16Attribute","mf","Int16BufferAttribute","Pr","Int32Attribute","vf","Int32BufferAttribute","Or","Int8Attribute","df","Int8BufferAttribute","Ar","IntType","Rt","InterleavedBuffer","ka","InterleavedBufferAttribute","Va","Interpolant","Rh","InterpolateDiscrete","Ge","InterpolateLinear","He","InterpolateSmooth","ke","InvertStencilOp","vn","JSONLoader","Df","KeepStencilOp","un","KeyframeTrack","Dh","LOD","lc","LatheBufferGeometry","Wl","LatheGeometry","ql","Layers","zi","LensFlare","Bf","LessDepth","V","LessEqualDepth","W","LessEqualStencilFunc","_n","LessStencilFunc","xn","Light","Su","LightProbe","zu","Line","Cc","Line3","Xd","LineBasicMaterial","Tc","LineCurve","mu","LineCurve3","gu","LineDashedMaterial","Eh","LineLoop","Bc","LinePieces","Qp","LineSegments","Ic","LineStrip","Jp","LinearEncoding","Qe","LinearFilter","bt","LinearInterpolant","Ch","LinearMipMapLinearFilter","St","LinearMipMapNearestFilter","wt","LinearMipmapLinearFilter","Mt","LinearMipmapNearestFilter","_t","LinearToneMapping","tt","Loader","qh","LoaderUtils","Fu","LoadingManager","Vh","LogLuvEncoding","en","LoopOnce","ze","LoopPingPong","Fe","LoopRepeat","Ue","LuminanceAlphaFormat","Ht","LuminanceFormat","Gt","MOUSE","o","Material","wr","MaterialLoader","Uu","Math","Gn","MathUtils","Matrix3","kn","Matrix4","Ei","MaxEquation","P","Mesh","po","MeshBasicMaterial","Mr","MeshDepthMaterial","Ea","MeshDistanceMaterial","Aa","MeshFaceMaterial","ef","MeshLambertMaterial","Sh","MeshMatcapMaterial","Th","MeshNormalMaterial","Mh","MeshPhongMaterial","_h","MeshPhysicalMaterial","bh","MeshStandardMaterial","xh","MeshToonMaterial","wh","MinEquation","R","MirroredRepeatWrapping","ft","MixOperation","Q","MultiMaterial","nf","MultiplyBlending","S","MultiplyOperation","J","NearestFilter","mt","NearestMipMapLinearFilter","xt","NearestMipMapNearestFilter","vt","NearestMipmapLinearFilter","yt","NearestMipmapNearestFilter","gt","NeverDepth","k","NeverStencilFunc","yn","NoBlending","b","NoColors","Kp","NoToneMapping","$","NormalAnimationBlendMode","qe","NormalBlending","_","NotEqualDepth","Z","NotEqualStencilFunc","Mn","NumberKeyframeTrack","Nh","Object3D","Qi","ObjectLoader","ju","ObjectSpaceNormalMap","ln","OctahedronBufferGeometry","Xl","OctahedronGeometry","Yl","OneFactor","O","OneMinusDstAlphaFactor","U","OneMinusDstColorFactor","G","OneMinusSrcAlphaFactor","N","OneMinusSrcColorFactor","I","OrthographicCamera","Cu","PCFShadowMap","PCFSoftShadowMap","p","PMREMGenerator","kp","ParametricBufferGeometry","Zl","ParametricGeometry","Jl","Particle","of","ParticleBasicMaterial","cf","ParticleSystem","sf","ParticleSystemMaterial","lf","Path","wu","PerspectiveCamera","wo","Plane","er","PlaneBufferGeometry","Do","PlaneGeometry","Ql","PlaneHelper","bp","PointCloud","rf","PointCloudMaterial","af","PointLight","Pu","PointLightHelper","np","Points","Hc","PointsMaterial","Nc","PolarGridHelper","cp","PolyhedronBufferGeometry","ol","PolyhedronGeometry","Kl","PositionalAudio","yd","PropertyBinding","Cd","PropertyMixer","bd","QuadraticBezierCurve","vu","QuadraticBezierCurve3","yu","Quaternion","Qn","QuaternionKeyframeTrack","Uh","QuaternionLinearInterpolant","zh","REVISION","RGBADepthPacking","an","RGBAFormat","Ft","RGBAIntegerFormat","Jt","RGBA_ASTC_10x10_Format","xe","RGBA_ASTC_10x5_Format","ge","RGBA_ASTC_10x6_Format","ve","RGBA_ASTC_10x8_Format","ye","RGBA_ASTC_12x10_Format","be","RGBA_ASTC_12x12_Format","_e","RGBA_ASTC_4x4_Format","ce","RGBA_ASTC_5x4_Format","le","RGBA_ASTC_5x5_Format","he","RGBA_ASTC_6x5_Format","ue","RGBA_ASTC_6x6_Format","de","RGBA_ASTC_8x5_Format","pe","RGBA_ASTC_8x6_Format","fe","RGBA_ASTC_8x8_Format","me","RGBA_BPTC_Format","we","RGBA_ETC2_EAC_Format","ae","RGBA_PVRTC_2BPPV1_Format","re","RGBA_PVRTC_4BPPV1_Format","ie","RGBA_S3TC_DXT1_Format","Kt","RGBA_S3TC_DXT3_Format","$t","RGBA_S3TC_DXT5_Format","te","RGBDEncoding","on","RGBEEncoding","tn","RGBEFormat","kt","RGBFormat","Ut","RGBIntegerFormat","Zt","RGBM16Encoding","rn","RGBM7Encoding","nn","RGB_ETC1_Format","oe","RGB_ETC2_Format","se","RGB_PVRTC_2BPPV1_Format","ne","RGB_PVRTC_4BPPV1_Format","ee","RGB_S3TC_DXT1_Format","Qt","RGFormat","Xt","RGIntegerFormat","Yt","RawShaderMaterial","yh","Ray","Ti","Raycaster","Ud","RectAreaLight","Bu","RedFormat","Wt","RedIntegerFormat","qt","ReinhardToneMapping","et","RepeatWrapping","dt","ReplaceStencilOp","dn","ReverseSubtractEquation","L","RingBufferGeometry","$l","RingGeometry","th","SRGB8_ALPHA8_ASTC_10x10_Format","Ie","SRGB8_ALPHA8_ASTC_10x5_Format","Ce","SRGB8_ALPHA8_ASTC_10x6_Format","Oe","SRGB8_ALPHA8_ASTC_10x8_Format","De","SRGB8_ALPHA8_ASTC_12x10_Format","Be","SRGB8_ALPHA8_ASTC_12x12_Format","Ne","SRGB8_ALPHA8_ASTC_4x4_Format","Me","SRGB8_ALPHA8_ASTC_5x4_Format","Se","SRGB8_ALPHA8_ASTC_5x5_Format","Te","SRGB8_ALPHA8_ASTC_6x5_Format","Ee","SRGB8_ALPHA8_ASTC_6x6_Format","Ae","SRGB8_ALPHA8_ASTC_8x5_Format","Le","SRGB8_ALPHA8_ASTC_8x6_Format","Re","SRGB8_ALPHA8_ASTC_8x8_Format","Pe","Scene","Ha","SceneUtils","If","ShaderChunk","Io","ShaderLib","No","ShaderMaterial","bo","ShadowMaterial","vh","Shape","Mu","ShapeBufferGeometry","eh","ShapeGeometry","nh","ShapePath","Yu","ShapeUtils","zl","ShortType","At","Skeleton","xc","SkeletonHelper","tp","SkinnedMesh","mc","SmoothShading","x","Sphere","vi","SphereBufferGeometry","ih","SphereGeometry","rh","Spherical","Hd","SphericalHarmonics3","Nu","Spline","Mf","SplineCurve","xu","SplineCurve3","wf","SpotLight","Lu","SpotLightHelper","Jd","Sprite","oc","SpriteMaterial","Wa","SrcAlphaFactor","B","SrcAlphaSaturateFactor","H","SrcColorFactor","D","StaticCopyUsage","On","StaticDrawUsage","En","StaticReadUsage","Rn","StereoCamera","od","StreamCopyUsage","In","StreamDrawUsage","Ln","StreamReadUsage","Cn","StringKeyframeTrack","Fh","SubtractEquation","A","SubtractiveBlending","M","TOUCH","s","TangentSpaceNormalMap","cn","TetrahedronBufferGeometry","oh","TetrahedronGeometry","sh","TextBufferGeometry","ah","TextGeometry","ch","Texture","qn","TextureLoader","tu","TorusBufferGeometry","lh","TorusGeometry","hh","TorusKnotBufferGeometry","uh","TorusKnotGeometry","dh","Triangle","dr","TriangleFanDrawMode","Je","TriangleStripDrawMode","Ze","TrianglesDrawMode","Ye","TubeBufferGeometry","ph","TubeGeometry","fh","UVMapping","ot","Uint16Attribute","gf","Uint16BufferAttribute","Cr","Uint32Attribute","yf","Uint32BufferAttribute","Dr","Uint8Attribute","pf","Uint8BufferAttribute","Lr","Uint8ClampedAttribute","ff","Uint8ClampedBufferAttribute","Rr","Uniform","Bd","UniformsLib","Bo","UniformsUtils","xo","UnsignedByteType","Tt","UnsignedInt248Type","Nt","UnsignedIntType","Pt","UnsignedShort4444Type","Dt","UnsignedShort5551Type","It","UnsignedShort565Type","Bt","UnsignedShortType","Lt","VSMShadowMap","f","Vector2","Hn","Vector3","Kn","Vector4","Yn","VectorKeyframeTrack","Gh","Vertex","hf","VertexColors","tf","VideoTexture","jc","WebGL1Renderer","Ua","WebGLCubeRenderTarget","Eo","WebGLMultisampleRenderTarget","Jn","WebGLRenderTarget","Zn","WebGLRenderTargetCube","Pf","WebGLRenderer","za","WebGLUtils","Ca","WireframeGeometry","mh","WireframeHelper","Af","WrapAroundEnding","We","XHRLoader","Lf","ZeroCurvatureEnding","je","ZeroFactor","C","ZeroSlopeEnding","Ve","ZeroStencilOp","hn","sRGBEncoding","Ke","LEFT","MIDDLE","RIGHT","ROTATE","DOLLY","PAN","DOLLY_PAN","DOLLY_ROTATE","Object","assign","prototype","addEventListener","this","_listeners","indexOf","push","hasEventListener","removeEventListener","splice","dispatchEvent","type","target","slice","length","call","Un","toString","Fn","DEG2RAD","PI","RAD2DEG","generateUUID","random","toUpperCase","clamp","max","min","euclideanModulo","mapLinear","lerp","smoothstep","smootherstep","randInt","floor","randFloat","randFloatSpread","seededRandom","degToRad","radToDeg","isPowerOfTwo","ceilPowerOfTwo","pow","ceil","log","LN2","floorPowerOfTwo","setQuaternionFromProperEuler","cos","sin","set","console","warn","constructor","defineProperty","value","setScalar","setX","setY","setComponent","Error","getComponent","clone","copy","add","addVectors","addScalar","addScaledVector","sub","subVectors","subScalar","multiply","multiplyScalar","divide","divideScalar","applyMatrix3","elements","clampScalar","clampLength","round","roundToZero","negate","dot","cross","lengthSq","sqrt","manhattanLength","abs","normalize","angle","atan2","distanceTo","distanceToSquared","manhattanDistanceTo","setLength","lerpVectors","equals","fromArray","toArray","fromBufferAttribute","getX","getY","rotateAround","arguments","error","identity","extractBasis","setFromMatrix3Column","setFromMatrix4","multiplyMatrices","premultiply","determinant","invert","transpose","getNormalMatrix","transposeIntoArray","setUvTransform","scale","rotate","translate","jn","getDataURL","test","src","HTMLCanvasElement","document","createElementNS","width","height","getContext","ImageData","putImageData","drawImage","toDataURL","Wn","DEFAULT_IMAGE","DEFAULT_MAPPING","uuid","name","image","mipmaps","mapping","wrapS","wrapT","magFilter","minFilter","anisotropy","format","internalFormat","offset","repeat","center","rotation","matrixAutoUpdate","matrix","generateMipmaps","premultiplyAlpha","flipY","unpackAlignment","encoding","version","onUpdate","Xn","HTMLImageElement","ImageBitmap","data","Array","create","isTexture","updateMatrix","toJSON","textures","metadata","generator","wrap","images","isArray","isDataTexture","url","dispose","transformUv","setZ","setW","applyMatrix4","setAxisAngleFromQuaternion","acos","setAxisAngleFromRotationMatrix","getZ","getW","scissor","scissorTest","viewport","texture","depthBuffer","stencilBuffer","depthTexture","samples","isWebGLRenderTarget","setSize","isWebGLMultisampleRenderTarget","_x","_y","_z","_w","slerp","Number","EPSILON","_onChangeCallback","setFromEuler","isEuler","_order","setFromAxisAngle","setFromRotationMatrix","setFromUnitVectors","angleTo","rotateTowards","conjugate","multiplyQuaternions","_onChange","multiplyVectors","applyEuler","applyQuaternion","ti","applyAxisAngle","applyNormalMatrix","project","matrixWorldInverse","projectionMatrix","unproject","projectionMatrixInverse","matrixWorld","transformDirection","crossVectors","projectOnVector","projectOnPlane","$n","reflect","setFromSpherical","setFromSphericalCoords","radius","phi","theta","setFromCylindrical","setFromCylindricalCoords","setFromMatrixPosition","setFromMatrixScale","setFromMatrixColumn","setFromArray","setFromBufferAttribute","count","setFromPoints","makeEmpty","expandByPoint","setFromCenterAndSize","ri","setFromObject","expandByObject","isEmpty","getCenter","getSize","expandByVector","expandByScalar","updateWorldMatrix","geometry","boundingBox","computeBoundingBox","oi","union","children","containsPoint","containsBox","getParameter","intersectsBox","intersectsSphere","clampPoint","intersectsPlane","normal","constant","intersectsTriangle","di","pi","si","ai","ci","li","hi","ui","ni","fi","distanceToPoint","getBoundingSphere","intersect","ii","mi","gi","getBoundingBox","getMaxScaleOnAxis","yi","xi","bi","_i","wi","Mi","Si","origin","direction","lookAt","recast","closestPointToPoint","distanceSqToPoint","distanceSqToSegment","intersectSphere","distanceToPlane","intersectPlane","intersectBox","intersectTriangle","copyPosition","makeBasis","extractRotation","Ai","makeRotationFromEuler","order","makeRotationFromQuaternion","compose","Ri","Pi","Di","Ci","Oi","setPosition","isVector3","makeTranslation","makeRotationX","makeRotationY","makeRotationZ","makeRotationAxis","makeScale","makeShear","decompose","Li","makePerspective","makeOrthographic","DefaultOrder","asin","setFromQuaternion","Bi","setFromVector3","reorder","Ni","toVector3","RotationOrders","mask","enable","enableAll","toggle","disable","disableAll","Ui","Fi","Gi","Hi","ki","ji","Vi","Wi","qi","Xi","Yi","Zi","Ji","parent","up","DefaultUp","defineProperties","position","configurable","enumerable","quaternion","modelViewMatrix","normalMatrix","DefaultMatrixAutoUpdate","matrixWorldNeedsUpdate","layers","visible","castShadow","receiveShadow","frustumCulled","renderOrder","animations","userData","isObject3D","onBeforeRender","onAfterRender","setRotationFromAxisAngle","setRotationFromEuler","setRotationFromMatrix","setRotationFromQuaternion","rotateOnAxis","rotateOnWorldAxis","rotateX","rotateY","rotateZ","translateOnAxis","translateX","translateY","translateZ","localToWorld","worldToLocal","isCamera","isLight","remove","clear","attach","getObjectById","getObjectByProperty","getObjectByName","getWorldPosition","getWorldQuaternion","getWorldScale","getWorldDirection","raycast","traverse","traverseVisible","traverseAncestors","updateMatrixWorld","geometries","materials","shapes","skeletons","JSON","stringify","isInstancedMesh","instanceMatrix","isMesh","isLine","isPoints","parameters","isSkinnedMesh","bindMode","bindMatrix","skeleton","material","object","parse","Ki","$i","tr","setComponents","setFromNormalAndCoplanarPoint","setFromCoplanarPoints","distanceToSphere","projectPoint","intersectLine","delta","start","intersectsLine","end","coplanarPoint","nr","ir","rr","or","sr","ar","cr","lr","hr","ur","getBarycoord","setFromPointsAndIndices","getArea","getMidpoint","getNormal","getPlane","getUV","isFrontFacing","pr","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","fr","mr","gr","vr","yr","setRGB","isColor","setHex","setStyle","setHSL","parseFloat","exec","parseInt","charAt","setColorName","copyGammaToLinear","copyLinearToGamma","convertGammaToLinear","convertLinearToGamma","copySRGBToLinear","copyLinearToSRGB","convertSRGBToLinear","convertLinearToSRGB","getHex","getHexString","getHSL","getStyle","offsetHSL","addColors","lerpHSL","normalized","NAMES","vertexNormals","color","vertexColors","materialIndex","_r","fog","blending","side","flatShading","opacity","transparent","blendSrc","blendDst","blendEquation","blendSrcAlpha","blendDstAlpha","blendEquationAlpha","depthFunc","depthTest","depthWrite","stencilWriteMask","stencilFunc","stencilRef","stencilFuncMask","stencilFail","stencilZFail","stencilZPass","stencilWrite","clippingPlanes","clipIntersection","clipShadows","shadowSide","colorWrite","precision","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","dithering","alphaTest","premultipliedAlpha","toneMapped","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","specularMap","alphaMap","envMap","combine","reflectivity","refractionRatio","wireframe","wireframeLinewidth","wireframeLinecap","wireframeLinejoin","skinning","morphTargets","setValues","isMaterial","onBeforeCompile","customProgramCacheKey","roughness","metalness","sheen","emissive","emissiveIntensity","specular","shininess","clearcoat","clearcoatRoughness","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","clearcoatNormalScale","matcap","bumpMap","bumpScale","normalMap","normalMapType","normalScale","displacementMap","displacementScale","displacementBias","roughnessMap","metalnessMap","emissiveMap","envMapIntensity","gradientMap","size","sizeAttenuation","linewidth","dashSize","gapSize","morphNormals","isMeshBasicMaterial","Sr","Tr","TypeError","array","itemSize","usage","updateRange","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","isBufferAttribute","onUploadCallback","setUsage","copyAt","copyArray","copyColorsArray","copyVector2sArray","copyVector3sArray","copyVector4sArray","setXY","setXYZ","setXYZW","onUpload","isFloat16BufferAttribute","zr","vertices","normals","colors","uvs","uvs2","groups","skinWeights","skinIndices","boundingSphere","verticesNeedUpdate","normalsNeedUpdate","colorsNeedUpdate","uvsNeedUpdate","groupsNeedUpdate","computeGroups","faces","fromGeometry","faceVertexUvs","Ur","Fr","Gr","Hr","kr","jr","Vr","Wr","qr","Xr","index","attributes","morphAttributes","morphTargetsRelative","drawRange","isBufferGeometry","getIndex","setIndex","getAttribute","setAttribute","deleteAttribute","hasAttribute","addGroup","clearGroups","setDrawRange","needsUpdate","tangent","computeBoundingSphere","lineDistances","isGeometry","updateFromObject","__directGeometry","elementsNeedUpdate","uv","lineDistancesNeedUpdate","lineDistance","fromDirectGeometry","isGLBufferAttribute","isNaN","computeFaceNormals","computeVertexNormals","normalizeNormals","merge","toNonIndexed","keys","Zr","Jr","Qr","Kr","$r","to","eo","no","io","ro","oo","so","ao","co","lo","ho","uo","updateMorphTargets","fo","ray","near","far","distance","point","mo","morphTargetInfluences","boneTransform","uv2","face","morphTargetDictionary","String","faceIndex","super","depth","widthSegments","heightSegments","depthSegments","vo","isMatrix3","isMatrix4","isVector2","isVector4","yo","defines","uniforms","vertexShader","fragmentShader","lights","clipping","extensions","derivatives","fragDepth","drawBuffers","shaderTextureLOD","defaultAttributeValues","index0AttributeName","uniformsNeedUpdate","glslVersion","fov","zoom","focus","aspect","view","filmGauge","filmOffset","updateProjectionMatrix","isShaderMaterial","isPerspectiveCamera","setFocalLength","getFilmHeight","atan","getFocalLength","getEffectiveFOV","getFilmWidth","setViewOffset","enabled","fullWidth","fullHeight","offsetX","offsetY","clearViewOffset","Mo","isWebGLCubeRenderTarget","renderTarget","update","getRenderTarget","setRenderTarget","render","_needsFlipEnvMap","isInteger","isCubeTexture","get","fromEquirectangularTexture","tEquirect","Lo","Ro","planes","setFromProjectionMatrix","intersectsObject","intersectsSprite","Co","requestAnimationFrame","stop","cancelAnimationFrame","setAnimationLoop","setContext","Oo","isWebGL2","WeakMap","isInterleavedBufferAttribute","deleteBuffer","buffer","delete","bytesPerElement","elementSize","createBuffer","bindBuffer","bufferData","BYTES_PER_ELEMENT","bufferSubData","subarray","alphamap_fragment","alphamap_pars_fragment","alphatest_fragment","aomap_fragment","aomap_pars_fragment","begin_vertex","beginnormal_vertex","bsdfs","bumpmap_pars_fragment","clipping_planes_fragment","clipping_planes_pars_fragment","clipping_planes_pars_vertex","clipping_planes_vertex","color_fragment","color_pars_fragment","color_pars_vertex","color_vertex","common","cube_uv_reflection_fragment","defaultnormal_vertex","displacementmap_pars_vertex","displacementmap_vertex","emissivemap_fragment","emissivemap_pars_fragment","encodings_fragment","encodings_pars_fragment","envmap_fragment","envmap_common_pars_fragment","envmap_pars_fragment","envmap_pars_vertex","envmap_physical_pars_fragment","envmap_vertex","fog_vertex","fog_pars_vertex","fog_fragment","fog_pars_fragment","gradientmap_pars_fragment","lightmap_fragment","lightmap_pars_fragment","lights_lambert_vertex","lights_pars_begin","lights_toon_fragment","lights_toon_pars_fragment","lights_phong_fragment","lights_phong_pars_fragment","lights_physical_fragment","lights_physical_pars_fragment","lights_fragment_begin","lights_fragment_maps","lights_fragment_end","logdepthbuf_fragment","logdepthbuf_pars_fragment","logdepthbuf_pars_vertex","logdepthbuf_vertex","map_fragment","map_pars_fragment","map_particle_fragment","map_particle_pars_fragment","metalnessmap_fragment","metalnessmap_pars_fragment","morphnormal_vertex","morphtarget_pars_vertex","morphtarget_vertex","normal_fragment_begin","normal_fragment_maps","normalmap_pars_fragment","clearcoat_normal_fragment_begin","clearcoat_normal_fragment_maps","clearcoat_pars_fragment","packing","premultiplied_alpha_fragment","project_vertex","dithering_fragment","dithering_pars_fragment","roughnessmap_fragment","roughnessmap_pars_fragment","shadowmap_pars_fragment","shadowmap_pars_vertex","shadowmap_vertex","shadowmask_pars_fragment","skinbase_vertex","skinning_pars_vertex","skinning_vertex","skinnormal_vertex","specularmap_fragment","specularmap_pars_fragment","tonemapping_fragment","tonemapping_pars_fragment","transmissionmap_fragment","transmissionmap_pars_fragment","uv_pars_fragment","uv_pars_vertex","uv_vertex","uv2_pars_fragment","uv2_pars_vertex","uv2_vertex","worldpos_vertex","background_frag","background_vert","cube_frag","cube_vert","depth_frag","depth_vert","distanceRGBA_frag","distanceRGBA_vert","equirect_frag","equirect_vert","linedashed_frag","linedashed_vert","meshbasic_frag","meshbasic_vert","meshlambert_frag","meshlambert_vert","meshmatcap_frag","meshmatcap_vert","meshtoon_frag","meshtoon_vert","meshphong_frag","meshphong_vert","meshphysical_frag","meshphysical_vert","normal_frag","normal_vert","points_frag","points_vert","shadow_frag","shadow_vert","sprite_frag","sprite_vert","diffuse","uvTransform","uv2Transform","specularmap","envmap","flipEnvMap","maxMipLevel","aomap","lightmap","emissivemap","bumpmap","normalmap","displacementmap","roughnessmap","metalnessmap","gradientmap","fogDensity","fogNear","fogFar","fogColor","ambientLightColor","lightProbe","directionalLights","properties","directionalLightShadows","shadowBias","shadowNormalBias","shadowRadius","shadowMapSize","directionalShadowMap","directionalShadowMatrix","spotLights","coneCos","penumbraCos","decay","spotLightShadows","spotShadowMap","spotShadowMatrix","pointLights","pointLightShadows","shadowCameraNear","shadowCameraFar","pointShadowMap","pointShadowMatrix","hemisphereLights","skyColor","groundColor","rectAreaLights","ltc_1","ltc_2","points","sprite","basic","lambert","phong","standard","toon","dashed","totalSize","background","t2D","cube","equirect","distanceRGBA","referencePosition","nearDistance","farDistance","shadow","zo","buffers","setClear","getClearColor","setClearColor","getClearAlpha","setClearAlpha","isScene","getSession","environmentBlendMode","autoClear","autoClearColor","autoClearDepth","autoClearStencil","toneMapping","unshift","Uo","bindVertexArray","bindVertexArrayOES","deleteVertexArray","deleteVertexArrayOES","program","newAttributes","enabledAttributes","attributeDivisors","enableVertexAttribArray","disableVertexAttribArray","vertexAttribPointer","vertexAttribIPointer","setup","id","createVertexArray","createVertexArrayOES","attribute","attributesNum","isInstancedBufferGeometry","getAttributes","stride","isInstancedInterleavedBuffer","meshPerAttribute","_maxInstanceCount","isInstancedBufferAttribute","instanceColor","vertexAttrib2fv","vertexAttrib3fv","vertexAttrib4fv","vertexAttrib1fv","reset","resetDefaultState","releaseStatesOfGeometry","releaseStatesOfProgram","initAttributes","enableAttribute","disableUnusedAttributes","Fo","setMode","drawArrays","renderInstances","Go","getShaderPrecisionFormat","WebGL2RenderingContext","WebGL2ComputeRenderingContext","logarithmicDepthBuffer","getMaxAnisotropy","MAX_TEXTURE_MAX_ANISOTROPY_EXT","getMaxPrecision","maxTextures","maxVertexTextures","maxTextureSize","maxCubemapSize","maxAttributes","maxVertexUniforms","maxVaryings","maxFragmentUniforms","vertexTextures","floatFragmentTextures","floatVertexTextures","maxSamples","Ho","numPlanes","numIntersection","uniform","init","beginShadows","endShadows","setState","clippingState","ko","has","getRenderList","setRenderList","jo","getExtension","Vo","memory","_bufferGeometry","getWireframeAttribute","Wo","drawElements","qo","frame","calls","triangles","lines","programs","autoReset","Xo","Yo","Zo","sort","MAX_SAFE_INTEGER","getUniforms","setValue","Jo","wrapR","physical","transmission","transmissionMap","isDataTexture2DArray","isDataTexture3D","$o","ts","es","ns","is","rs","os","ss","as","cs","ls","hs","us","allocateTextureUnit","ds","cache","uniform1f","addr","ps","uniform2f","uniform2fv","fs","uniform3f","uniform3fv","ms","uniform4f","uniform4fv","gs","uniformMatrix2fv","vs","uniformMatrix3fv","ys","uniformMatrix4fv","xs","uniform1i","safeSetTexture2D","bs","setTexture2DArray","_s","setTexture3D","ws","safeSetTextureCube","Ms","Ss","uniform2iv","Ts","uniform3iv","Es","uniform4iv","As","uniform1ui","Ls","uniform1fv","Rs","uniform1iv","Ps","Cs","Os","Ds","Is","Bs","Ns","zs","Us","Fs","Gs","Hs","ks","js","seq","updateCache","Vs","Ws","qs","lastIndex","Xs","getProgramParameter","getActiveUniform","getUniformLocation","Ys","createShader","shaderSource","compileShader","setOptional","upload","seqWithValue","Zs","Js","Qs","getShaderParameter","getShaderInfoLog","trim","split","join","getShaderSource","Ks","$s","ta","ea","na","replace","numDirLights","numSpotLights","numRectAreaLights","numPointLights","numHemiLights","numDirLightShadows","numSpotLightShadows","numPointLightShadows","ia","numClippingPlanes","numClipIntersection","ra","oa","sa","aa","ca","la","ua","ha","da","pa","shadowMapType","envMapMode","gammaFactor","extensionDerivatives","envMapCubeUV","tangentSpaceNormalMap","shaderID","extensionFragDepth","rendererExtensionFragDepth","extensionDrawBuffers","rendererExtensionDrawBuffers","extensionShaderTextureLOD","rendererExtensionShaderTextureLod","filter","createProgram","isRawShaderMaterial","shaderName","instancing","instancingColor","supportsVertexTextures","maxBones","useFog","fogExp2","objectSpaceNormalMap","vertexTangents","vertexUvs","uvsVertexOnly","useVertexTexture","doubleSided","flipSided","shadowMapEnabled","physicallyCorrectLights","mapEncoding","matcapEncoding","envMapEncoding","emissiveMapEncoding","lightMapEncoding","outputEncoding","depthPacking","attachShader","bindAttribLocation","linkProgram","debug","checkShaderErrors","getProgramInfoLog","getError","diagnostics","runnable","programLog","prefix","deleteShader","getActiveAttrib","getAttribLocation","destroy","deleteProgram","cacheKey","usedTimes","fa","getParameters","isMeshStandardMaterial","environment","bones","isFogExp2","maxMorphTargets","maxMorphNormals","directional","spot","rectArea","hemi","shadowMap","getProgramCacheKey","acquireProgram","releaseProgram","pop","ma","ga","groupOrder","va","ya","group","opaque","finish","xa","ba","halfWidth","halfHeight","_a","wa","Ma","hash","directionalLength","pointLength","spotLength","rectAreaLength","hemiLength","numDirectionalShadows","numPointShadows","numSpotShadows","ambient","probe","directionalShadow","spotShadow","rectAreaLTC1","rectAreaLTC2","pointShadow","intensity","isAmbientLight","isLightProbe","coefficients","isDirectionalLight","bias","normalBias","mapSize","isSpotLight","penumbra","isRectAreaLight","isPointLight","camera","isHemisphereLight","LTC_FLOAT_1","LTC_FLOAT_2","LTC_HALF_1","LTC_HALF_2","setupView","state","Sa","lightsArray","shadowsArray","setupLights","setupLightsView","pushLight","pushShadow","Ta","La","0","1","2","SAMPLE_RATE","HALF_SAMPLE_RATE","shadow_pass","resolution","HORIZONTAL_PASS","mapPass","renderBufferDirect","customDepthMaterial","customDistanceMaterial","localClippingEnabled","isMeshDistanceMaterial","autoUpdate","getActiveCubeFace","getActiveMipmapLevel","setBlending","setTest","setScissorTest","getFrameExtents","isPointLightShadow","getViewportCount","getViewport","updateMatrices","getFrustum","Ra","setMask","colorMask","setLocked","clearColor","depthMask","setFunc","clearDepth","stencilMask","setOp","stencilOp","clearStencil","createTexture","bindTexture","texParameteri","texImage2D","MIN_EXT","MAX_EXT","blendEquationSeparate","blendFuncSeparate","blendFunc","frontFace","cullFace","activeTexture","stencil","useProgram","setMaterial","setFlipSided","setCullFace","setLineWidth","lineWidth","setPolygonOffset","unbindTexture","compressedTexImage2D","apply","texImage3D","Pa","OffscreenCanvas","generateMipmap","__maxMipLevel","LOG2E","__webglInit","deleteTexture","__webglTexture","isVideoTexture","deleteFramebuffer","__webglFramebuffer","__webglDepthbuffer","deleteRenderbuffer","__webglMultisampledFramebuffer","__webglColorRenderbuffer","__webglDepthRenderbuffer","__version","complete","pixelStorei","isCompressedTexture","convert","__currentAnisotropy","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","isDepthTexture","bindFramebuffer","framebufferTexture2D","bindRenderbuffer","renderbufferStorageMultisample","renderbufferStorage","framebufferRenderbuffer","resetTextureUnits","setTexture2D","setTextureCube","setupRenderTarget","createFramebuffer","createRenderbuffer","updateRenderTargetMipmap","updateMultisampleRenderTarget","blitFramebuffer","HALF_FLOAT_OES","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","UNSIGNED_INT_24_8_WEBGL","cameras","Ia","_targetRay","_grip","_hand","Ba","Map","inputSource","forEach","disconnect","setFramebuffer","isPresenting","inputSources","removed","added","getController","getTargetRaySpace","getControllerGrip","getGripSpace","getHand","getHandSpace","setFramebufferScaleFactor","setReferenceSpaceType","getReferenceSpace","setSession","getContextAttributes","xrCompatible","makeXRCompatible","antialias","alpha","framebufferScaleFactor","XRWebGLLayer","updateRenderState","baseLayer","requestReferenceSpace","then","getCamera","depthNear","depthFar","getViewerPose","views","renderState","framebuffer","transform","Na","refreshFogUniforms","isFog","density","refreshMaterialUniforms","isMeshLambertMaterial","isMeshToonMaterial","isMeshPhongMaterial","isMeshPhysicalMaterial","isMeshMatcapMaterial","isMeshDepthMaterial","isMeshNormalMaterial","isLineBasicMaterial","isLineDashedMaterial","isPointsMaterial","isSpriteMaterial","isShadowMaterial","canvas","style","display","context","preserveDrawingBuffer","powerPreference","failIfMajorPerformanceCaveat","domElement","sortObjects","toneMappingExposure","overrideMaterial","isWebGL1Renderer","shift","rangeMin","rangeMax","message","capabilities","renderLists","info","preventDefault","forceContextLoss","loseContext","forceContextRestore","restoreContext","getPixelRatio","setPixelRatio","setViewport","getDrawingBufferSize","setDrawingBufferSize","getCurrentViewport","getScissor","setScissor","getScissorTest","setOpaqueSort","setTransparentSort","renderBufferImmediate","hasPositions","hasNormals","hasUvs","hasColors","positionArray","normalArray","uvArray","colorArray","isLineSegments","isLineLoop","isSprite","instanceCount","compile","isGroup","isLOD","isImmediateRenderObject","isArrayCamera","lightsStateVersion","needsLights","uniformsList","cameraPosition","isOrthographicCamera","boneTexture","boneMatrices","boneTextureSize","window","readRenderTargetPixels","checkFramebufferStatus","readPixels","copyFramebufferToTexture","copyTexImage2D","copyTextureToTexture","texSubImage2D","compressedTexSubImage2D","initTexture","resetState","__THREE_DEVTOOLS__","CustomEvent","detail","joints","inputState","pinching","XRHand","LITTLE_PHALANX_TIP","session","visibilityState","hand","getJointPose","jointRadius","INDEX_PHALANX_TIP","THUMB_PHALANX_TIP","handedness","getPose","targetRaySpace","gripSpace","isInterleavedBuffer","arrayBuffers","_uuid","ja","qa","interleavedBuffers","Xa","Ya","Za","Ja","Qa","Ka","$a","tc","ec","nc","ic","rc","sc","ac","cc","_currentLevel","levels","addLevel","getCurrentLevel","getObjectForDistance","hc","uc","dc","pc","fc","bindMatrixInverse","bind","calculateInverses","pose","normalizeSkinWeights","skinWeight","skinIndex","boneInverses","isBone","vc","yc","getBoneByName","fromJSON","bc","_c","wc","Mc","linecap","linejoin","getColorAt","getMatrixAt","instanceId","setColorAt","setMatrixAt","Ec","Ac","Lc","Rc","Pc","computeLineDistances","params","threshold","Oc","Dc","zc","Uc","Fc","Gc","kc","distanceToRay","requestVideoFrameCallback","readyState","HAVE_CURRENT_DATA","isCanvasTexture","Xc","Yc","Zc","Jc","fromBufferGeometry","computeFlatVertexNormals","computeMorphNormals","__originalFaceNormal","__originalVertexNormals","faceNormals","mergeMesh","mergeVertices","sortFacesByMaterialIndex","_id","segments","thetaStart","thetaLength","radiusTop","radiusBottom","radialSegments","openEnded","indices","cl","ll","hl","ul","thresholdAngle","index0","index1","pl","Il","Ll","next","Bl","fl","steiner","Al","prev","ml","Ml","prevZ","nextZ","vl","gl","yl","xl","Tl","Rl","Ol","El","Dl","bl","_l","wl","Sl","Cl","Pl","Nl","area","isClockWise","triangulateShape","Ul","Fl","options","curveSegments","steps","bevelEnabled","bevelThickness","bevelSize","bevelOffset","bevelSegments","extrudePath","UVGenerator","Hl","amount","getSpacedPoints","computeFrenetFrames","extractPoints","shape","holes","reverse","concat","sign","binormals","generateTopUV","generateSideWallUV","phiStart","phiLength","func","slices","stacks","innerRadius","outerRadius","thetaSegments","phiSegments","font","isFont","generateShapes","text","tube","tubularSegments","arc","path","closed","tangents","getPointAt","index2","gh","freeze","__proto__","STANDARD","PHYSICAL","TOON","MATCAP","Ah","arraySlice","isTypedArray","convertArray","ArrayBuffer","isView","DataView","getKeyframeOrder","sortedArray","flattenJSON","time","subclip","tracks","getValueSize","times","values","resetDuration","makeClipAdditive","ValueTypeName","find","createInterpolant","isInterpolantFactoryMethodGLTFCubicSpline","evaluate","resultBuffer","multiplyQuaternionsFlat","blendMode","parameterPositions","_cachedIndex","sampleValues","valueSize","_weightPrev","_offsetPrev","_weightNext","_offsetNext","TimeBufferType","ValueBufferType","setInterpolation","DefaultInterpolation","duration","kh","toLowerCase","interpolation","afterEnd_","beforeStart_","intervalChanged_","interpolate_","settings","DefaultSettings_","getSettings_","copySampleValue_","endingStart","endingEnd","getInterpolation","InterpolantFactoryMethodDiscrete","InterpolantFactoryMethodLinear","InterpolantFactoryMethodSmooth","validate","optimize","slerpFlat","fps","CreateFromMorphTargetSequence","findByName","CreateClipsFromMorphTargetSequences","match","parseAnimation","hierarchy","morphTarget","files","onStart","onLoad","onProgress","onError","itemStart","itemEnd","itemError","resolveURL","setURLModifier","addHandler","removeHandler","getHandler","global","manager","crossOrigin","withCredentials","resourcePath","requestHeader","load","loadAsync","Promise","setCrossOrigin","setWithCredentials","setPath","setResourcePath","setRequestHeader","Xh","arcLengthDivisions","aX","aY","xRadius","yRadius","aStartAngle","aEndAngle","aClockwise","aRotation","ru","initCatmullRom","initNonuniformCatmullRom","calc","setTimeout","decodeURIComponent","atob","responseType","charCodeAt","Blob","DOMParser","parseFromString","XMLHttpRequest","open","response","status","overrideMimeType","mimeType","send","setResponseType","setMimeType","mipmapCount","isCubemap","substr","search","getPoint","getUtoTmapping","getPoints","getLength","getLengths","cacheArcLengths","updateArcLengths","getTangent","getTangentAt","MAX_VALUE","isEllipseCurve","isArcCurve","ou","su","au","cu","curveType","tension","hu","uu","du","v0","v1","v2","v3","isCatmullRomCurve3","isCubicBezierCurve","isCubicBezierCurve3","isLineCurve","isLineCurve3","isQuadraticBezierCurve","isQuadraticBezierCurve3","isSplineCurve","bu","curves","autoClose","currentPoint","Eu","_frustum","_frameExtents","_viewportCount","_viewports","Au","Ru","_cubeDirections","_cubeUps","left","right","top","bottom","Ou","closePath","getCurveLengths","cacheLengths","moveTo","lineTo","quadraticCurveTo","bezierCurveTo","splineThru","absarc","absellipse","ellipse","getPointsHoles","_projScreenMatrix","_lightPositionWorld","_lookTarget","isSpotLightShadow","isDirectionalLightShadow","zero","getAt","getIrradianceAt","addScaledSH","shading","setTextures","decodeText","TextDecoder","decode","fromCharCode","escape","extractUrlBase","lastIndexOf","drawcalls","offsets","parseAnimations","parseShapes","parseGeometries","parseImages","parseTextures","parseMaterials","parseObject","parseSkeletons","bindSkeletons","details","Vu","Wu","qu","setTexturePath","createImageBitmap","fetch","subPaths","currentPath","Ju","glyphs","familyName","_cachedOutline","Ku","isImageBitmapLoader","setOptions","credentials","blob","catch","toShapes","froms","tos","hole","from","yMax","yMin","underlineThickness","substring","webkitAudioContext","decodeAudioData","isHemisphereLightProbe","isAmbientLightProbe","rd","eyeSep","cameraL","cameraR","_cache","autoStart","startTime","oldTime","elapsedTime","running","ad","getElapsedTime","getDelta","performance","Date","now","cd","ld","hd","ud","gain","createGain","connect","destination","timeDelta","_clock","getInput","removeFilter","getFilter","setFilter","getMasterVolume","setMasterVolume","setTargetAtTime","currentTime","listener","positionX","linearRampToValueAtTime","positionY","positionZ","forwardX","forwardY","forwardZ","upX","upY","upZ","setOrientation","autoplay","detune","loop","loopStart","loopEnd","playbackRate","isPlaying","hasPlaybackControl","source","sourceType","_startedAt","_progress","_connected","filters","getOutput","setNodeSource","setMediaElementSource","createMediaElementSource","setMediaStreamSource","createMediaStreamSource","setBuffer","play","createBufferSource","onended","onEnded","setDetune","setPlaybackRate","pause","getFilters","setFilters","getDetune","getPlaybackRate","getLoop","setLoop","setLoopStart","setLoopEnd","getVolume","setVolume","fd","md","gd","vd","panner","createPanner","panningModel","getRefDistance","refDistance","setRefDistance","getRolloffFactor","rolloffFactor","setRolloffFactor","getDistanceModel","distanceModel","setDistanceModel","getMaxDistance","maxDistance","setMaxDistance","setDirectionalCone","coneInnerAngle","coneOuterAngle","coneOuterGain","orientationX","orientationY","orientationZ","analyser","createAnalyser","fftSize","frequencyBinCount","getFrequencyData","getByteFrequencyData","getAverageFrequency","binding","_slerp","_slerpAdditive","_setAdditiveIdentityQuaternion","_workIndex","_select","_setAdditiveIdentityOther","_lerp","_lerpAdditive","_setAdditiveIdentityNumeric","_mixBufferRegion","_mixBufferRegionAdditive","_setIdentity","_origIndex","_addIndex","cumulativeWeight","cumulativeWeightAdditive","useCount","referenceCount","accumulate","accumulateAdditive","saveOriginalState","getValue","restoreOriginalState","_d","RegExp","wd","Md","Sd","Td","Ed","Ad","Ld","Rd","Pd","parseTrackName","_targetGroup","_bindings","subscribe_","parsedPath","node","findNode","nodeName","rootNode","_objects","nCachedObjects_","_indicesByUUID","_paths","_parsedPaths","_bindingsIndicesByPath","stats","objects","total","unbind","Composite","isAnimationObjectGroup","sanitizeNodeName","objectName","objectIndex","propertyName","propertyIndex","_getValue_unavailable","_setValue_unavailable","BindingType","Direct","EntireArray","ArrayElement","HasFromToArray","Versioning","None","NeedsUpdate","MatrixWorldNeedsUpdate","GetterByBindingType","resolvedProperty","SetterByBindingTypeAndVersioning","targetObject","_getValue_unbound","_setValue_unbound","uncache","unsubscribe_","Dd","_mixer","_clip","_localRoot","_interpolantSettings","_interpolants","_propertyBindings","_cacheIndex","_byClipCacheIndex","_timeScaleInterpolant","_weightInterpolant","_loopCount","_startTime","timeScale","_effectiveTimeScale","weight","_effectiveWeight","repetitions","paused","clampWhenFinished","zeroSlopeAtStart","zeroSlopeAtEnd","_activateAction","_deactivateAction","stopFading","stopWarping","isRunning","_isActiveAction","isScheduled","startAt","setEffectiveWeight","getEffectiveWeight","fadeIn","_scheduleFading","fadeOut","crossFadeFrom","warp","crossFadeTo","_takeBackControlInterpolant","setEffectiveTimeScale","getEffectiveTimeScale","setDuration","syncWith","halt","_lendControlInterpolant","getMixer","getClip","getRoot","_root","_update","_updateWeight","_updateTimeScale","_updateTime","_setEndings","action","loopDelta","_initMemoryManager","_accuIndex","_bindAction","_bindingsByRootAndName","_addInactiveBinding","_actionsByClip","knownActions","_addInactiveAction","_lendBinding","_lendAction","_takeBackBinding","_takeBackAction","_actions","_nActiveActions","_nActiveBindings","_controlInterpolants","_nActiveControlInterpolants","actions","bindings","controlInterpolants","actionByRoot","_removeInactiveAction","_removeInactiveBindingsForAction","_removeInactiveBinding","_controlInterpolantsResultBuffer","__cacheIndex","clipAction","existingAction","stopAllAction","setTime","uncacheClip","uncacheRoot","uncacheAction","Fd","Gd","setType","setItemSize","setCount","setFromCamera","intersectObject","intersectObjects","makeSafe","setFromCartesianCoords","jd","Wd","qd","distanceSq","closestPointToPointParameter","Zd","light","cone","Qd","Kd","$d","ep","isSkeletonHelper","root","ip","rp","op","lp","hp","lightPlane","targetLine","pp","fp","pointMap","gp","vp","box","plane","_p","wp","Mp","line","setDirection","setColor","Ep","Ap","toHalfFloat","Rp","Pp","Cp","Op","Dp","_lodPlanes","Ip","_sizeLods","Bp","_sigmas","Np","Vp","zp","Up","Fp","Gp","Hp","_renderer","_pingPongRenderTarget","_blurMaterial","weights","latitudinal","dTheta","mipInt","poleAxis","inputEncoding","_equirectShader","_cubemapShader","_compileMaterial","fromScene","_allocateTargets","_sceneToCubeUV","_blur","_applyPMREM","_cleanup","fromEquirectangular","_fromTexture","fromCubemap","compileCubemapShader","Yp","compileEquirectangularShader","Xp","qp","_textureToCubeUV","jp","Wp","log2","texelSize","_halfBlur","isFinite","exp","isMultiMaterial","createPointsGeometry","createGeometry","createSpacedPointsGeometry","fromPoints","initFromArray","getControlPointsArray","reparametrizeByArcLength","setColors","Handlers","empty","isIntersectionBox","isIntersectionSphere","setFromMatrix","random16","nearestPowerOfTwo","nextPowerOfTwo","flattenToArrayOffset","multiplyVector3","multiplyVector3Array","applyToBufferAttribute","applyToVector3Array","getInverse","extractPosition","getPosition","multiplyToArray","multiplyVector4","rotateAxis","crossVector","rotateByAxis","makeFrustum","isIntersectionLine","inverse","isIntersectionPlane","barycoordFromPoint","midpoint","extractAllPoints","extrude","makeGeometry","fromAttribute","distanceToManhattan","lengthManhattan","setEulerFromRotationMatrix","setEulerFromQuaternion","getPositionFromMatrix","getScaleFromMatrix","getColumnFromMatrix","applyProjection","computeTangents","applyMatrix","getChildByName","renderDepth","getWorldRotation","eulerOrder","useQuaternion","setDrawMode","drawMode","initBones","setLens","onlyShadow","shadowCameraFov","shadowCameraLeft","shadowCameraRight","shadowCameraTop","shadowCameraBottom","shadowCameraVisible","shadowDarkness","shadowMapWidth","shadowMapHeight","dynamic","setDynamic","copyIndicesArray","setArray","addIndex","addAttribute","addDrawCall","clearDrawCalls","computeOffsets","removeAttribute","maxInstancedCount","linePrecision","getArrays","addShapeList","addShape","wrapAround","overdraw","wrapRGB","metal","transparency","clearTarget","animate","getCurrentRenderTarget","getPrecision","resetGLState","supportsFloatTextures","supportsHalfFloatTextures","supportsStandardDerivatives","supportsCompressedTextureS3TC","supportsCompressedTexturePVRTC","supportsBlendMinMax","supportsInstancedArrays","enableScissorTest","initMaterial","addPrePlugin","addPostPlugin","updateShadowMap","setFaceCulling","allocTextureUnit","setTexture","getActiveMipMapLevel","shadowMapCullFace","gammaInput","gammaOutput","toneMappingWhitePoint","renderReverseSided","renderSingleSided","getData","updateCubeMap","loadTexture","loadTextureCube","loadCompressedTexture","loadCompressedTextureCube","createMultiMaterialObject","detach","revision","Nf","zf","setPrototypeOf","hasOwnProperty","NONE","TRUCK","OFFSET","ZOOM","TOUCH_ROTATE","TOUCH_TRUCK","TOUCH_OFFSET","TOUCH_DOLLY","TOUCH_ZOOM","TOUCH_DOLLY_TRUCK","TOUCH_DOLLY_OFFSET","TOUCH_ZOOM_TRUCK","TOUCH_ZOOM_OFFSET","Uf","Ff","Gf","Hf","kf","jf","Vf","TouchEvent","Wf","touches","clientX","clientY","qf","Xf","Yf","Zf","Jf","Qf","Kf","$f","tm","em","nm","im","rm","om","sm","am","cm","lm","hm","um","dm","pm","fm","removeAllEventListeners","mm","navigator","platform","gm","vm","ym","minPolarAngle","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","minDistance","infinityDolly","minZoom","maxZoom","dampingFactor","draggingDampingFactor","azimuthRotateSpeed","polarRotateSpeed","dollySpeed","truckSpeed","dollyToCursor","dragToOffset","verticalDragToForward","boundaryFriction","colliderMeshes","cancel","_enabled","_state","_viewport","_dollyControlAmount","_boundaryEnclosesCamera","_needsUpdate","_updatedLastTime","_camera","_yAxisUpSpace","_yAxisUpSpaceInverse","_domElement","_target","_targetEnd","_focalOffset","_focalOffsetEnd","_spherical","_sphericalEnd","_zoom","_zoomEnd","_nearPlaneCorners","_updateNearPlaneCorners","_boundary","_target0","_position0","_zoom0","_focalOffset0","_dollyControlCoord","mouseButtons","middle","wheel","one","two","three","setFocalOffset","truck","forward","dollyTo","zoomTo","passive","button","_getClientRect","deltaMode","deltaY","deltaX","originalEvent","_removeAllEventListeners","install","THREE","rotateTo","dolly","pan","_encloseToBoundary","fitToBox","paddingLeft","paddingRight","paddingBottom","paddingTop","isBox3","getDistanceToFitBox","fitTo","fitToSphere","getDistanceToFitSphere","setLookAt","normalizeRotations","lerpLookAt","setTarget","setBoundary","getDistanceToFit","getTarget","getFocalOffset","saveState","updateCameraUp","_collisionTest","focalOffset","target0","position0","zoom0","focalOffset0","getBoundingClientRect","xm","bm","_m","wm","tDiffuse","Mm","needsSwap","renderToScreen","FullScreenQuad","_mesh","Sm","textureID","fsQuad","Tm","scene","REPLACE","ALWAYS","EQUAL","KEEP","Em","Am","renderer","_pixelRatio","_width","_height","renderTarget1","renderTarget2","writeBuffer","readBuffer","passes","copyPass","clock","swapBuffers","addPass","insertPass","removePass","isLastEnabledPass","NOTEQUAL","Lm","Rm","grad3","grad4","perm","simplex","dot3","dot4","noise","noise3d","noise4d","Pm","PERSPECTIVE_CAMERA","KERNEL_SIZE","tNormal","tDepth","tNoise","kernel","cameraNear","cameraFar","cameraProjectionMatrix","cameraInverseProjectionMatrix","kernelRadius","Cm","Om","Dm","kernelSize","noiseTexture","output","_visibilityCache","generateSampleKernel","generateRandomKernelRotations","maxFilter","beautyRenderTarget","normalRenderTarget","ssaoRenderTarget","blurRenderTarget","ssaoMaterial","normalMaterial","blurMaterial","depthRenderMaterial","copyMaterial","originalClearColor","overrideVisibility","renderOverride","restoreVisibility","renderPass","OUTPUT","SSAO","Blur","Beauty","Depth","Normal","Default","clearAlpha","Im","createElement","appendChild","dom","cssText","Panel","self","addPanel","showPanel","begin","usedJSHeapSize","jsHeapSizeLimit","devicePixelRatio","textBaseline","fillStyle","fillRect","fillText","globalAlpha","Bm","Nm","zm","Fm","viewer","userObjects","solidObjects","lineObjects","pointObjects","transparentObjects","solidMaterial","cubeCamera","transparentMaterial","lineMaterial","pointMaterial","objectIds","postLoad","_postLoadFunction","skipPostLoad","loaders","key","bufferGeometry","geometryType","meta","renderMaterial","_argbToRGB","_normaliseColor","interactions","sectionBox","addTransparentSolid","addSolid","addLine","addPoint","deselectObjects","hideSectionBox","zoomExtents","reflectionsNeedUpdate","writable","Um","Gm","serverUrl","streamId","token","objectId","INTERVAL_MS","TIMEOUT_MS","location","localStorage","getItem","headers","Accept","Authorization","requestUrl","promises","intervals","clearInterval","interval","resolve","reject","elapsed","setInterval","tryResolvePromise","getRawObjectIterator","obj","processLine","body","getReader","done","read","Hm","findSpan","calcBasisFunctions","calcBSplinePoint","calcBasisFunctionDerivatives","calcBSplineDerivatives","calcKoverI","calcRationalCurveDerivatives","calcNURBSDerivatives","calcSurfacePoint","km","degree","knots","controlPoints","startKnot","endKnot","jm","mergeBufferGeometries","Set","mergedUserData","mergeBufferAttributes","interleaveAttributes","estimateBytesUsed","fill","log10","toTrianglesDrawMode","Vm","Wm","qm","Xm","Ym","Zm","Jm","Qm","Km","$m","tg","eg","ng","objectLoader","curveSegmentLength","referencedId","resolveReference","traverseAndConvert","all","getSpeckleType","displayMesh","displayValue","units","getObject","speckle_type","MeshToBufferGeometry","Edges","Faces","Loops","Trims","Curve2D","Curve3D","Surfaces","Vertices","dechunk","PointToVector3","bbox","PolylineToBufferGeometry","getCircularCurvePoints","startAngle","endAngle","startPoint","endPoint","midPoint","xdir","ydir","radius1","radius2","ig","og","ag","URL","pathname","loader","converter","Symbol","asyncIterator","iterator","getObjectIterator","sceneManager","addObject","totalChildrenCount","emit","progress","return","sg","lg","_events","cg","ug","Reflect","fg","getOwnPropertyDescriptor","dg","pg","ReferenceError","getPrototypeOf","mg","construct","sham","Proxy","raycaster","orbiting","controls","subset","pointerDown","hover","getClickedObjects","_getNormalisedClickPosition","getTime","tapTimeout","lastTap","touchLocation","targetTouches","clearTimeout","multiSelect","isComposing","keyCode","unselect","originalSelectionObjects","_getGroupChildren","boxMesh","hg","gg","vg","yg","mode","ownerDocument","pointerLockElement","changedTouches","pointerType","pointerHover","touchAction","pointerMove","pointerUp","axis","dragging","picker","space","rotationSnap","translationSnap","scaleSnap","eye","rotationAngle","getMode","setTranslationSnap","setRotationSnap","setScaleSnap","setSpace","isTransformControls","XYZ","XY","YZ","XZ","START","END","DELTA","XYZE","AXIS","XYZX","XYZY","XYZZ","tag","gizmo","helper","worldQuaternion","worldPosition","showX","showY","showZ","_opacity","_color","some","worldPositionStart","rotationAxis","worldQuaternionStart","isTransformControlsGizmo","cameraQuaternion","isTransformControlsPlane","bg","getSceneBoundingBox","boxGeo","boxHelper","hoverPlane","_generatePlanes","selectionHelper","planeControls","preventSelection","needsRender","_globalControlsTarget","prevGizmoPos","setPlanesFromBox","zoomToObject","xg","wg","selectionMeshMaterial","selectionLineMaterial","selectionEdgesMaterial","selectedObjects","_handleDoubleClick","_handleSelect","setBox","zoomToBox","toggleSectionBox","_g","Mg","Tg","Eg","Ag","Lg","container","postprocessing","reflections","showStats","getElementById","innerWidth","innerHeight","offsetWidth","offsetHeight","composer","ssaoPass","pauseSSAO","onWindowResize","sceneLights","Sg","296","Function","NaN","valueOf","leading","maxWait","trailing","flush","__esModule","default","globalThis","toStringTag","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","intervalId","chunk","pieces","decoder","reader","readerDone","startIndex","result","remainder","LoadData","async","loadObject","LoadDataOld","first","onload","event","testUrl"],"mappings":"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","file":"viewer.min.js","sourcesContent":["/*! For license information please see Speckle.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Speckle=e():t.Speckle=e()}(this,(function(){return(()=>{var t={529:(t,e,n)=>{\"use strict\";n.r(e),n.d(e,{Converter:()=>rg,Viewer:()=>Rg});var i={};n.r(i),n.d(i,{ACESFilmicToneMapping:()=>it,AddEquation:()=>E,AddOperation:()=>K,AdditiveAnimationBlendMode:()=>Xe,AdditiveBlending:()=>w,AlphaFormat:()=>zt,AlwaysDepth:()=>j,AlwaysStencilFunc:()=>Tn,AmbientLight:()=>Iu,AmbientLightProbe:()=>nd,AnimationClip:()=>Hh,AnimationLoader:()=>Zh,AnimationMixer:()=>Id,AnimationObjectGroup:()=>Od,AnimationUtils:()=>Lh,ArcCurve:()=>iu,ArrayCamera:()=>Oa,ArrowHelper:()=>Sp,Audio:()=>pd,AudioAnalyser:()=>xd,AudioContext:()=>$u,AudioListener:()=>dd,AudioLoader:()=>td,AxesHelper:()=>Tp,AxisHelper:()=>Sf,BackSide:()=>g,BasicDepthPacking:()=>sn,BasicShadowMap:()=>u,BinaryTextureLoader:()=>Rf,Bone:()=>gc,BooleanKeyframeTrack:()=>Ih,BoundingBoxHelper:()=>Tf,Box2:()=>Vd,Box3:()=>ei,Box3Helper:()=>xp,BoxBufferGeometry:()=>go,BoxGeometry:()=>Kc,BoxHelper:()=>yp,BufferAttribute:()=>Er,BufferGeometry:()=>Yr,BufferGeometryLoader:()=>ku,ByteType:()=>Et,Cache:()=>jh,Camera:()=>_o,CameraHelper:()=>mp,CanvasRenderer:()=>Of,CanvasTexture:()=>Wc,CatmullRomCurve3:()=>lu,CineonToneMapping:()=>nt,CircleBufferGeometry:()=>$c,CircleGeometry:()=>tl,ClampToEdgeWrapping:()=>pt,Clock:()=>sd,ClosedSplineCurve3:()=>_f,Color:()=>xr,ColorKeyframeTrack:()=>Bh,CompressedTexture:()=>Vc,CompressedTextureLoader:()=>Jh,ConeBufferGeometry:()=>rl,ConeGeometry:()=>il,CubeCamera:()=>So,CubeGeometry:()=>Kc,CubeReflectionMapping:()=>st,CubeRefractionMapping:()=>at,CubeTexture:()=>To,CubeTextureLoader:()=>Kh,CubeUVReflectionMapping:()=>ht,CubeUVRefractionMapping:()=>ut,CubicBezierCurve:()=>pu,CubicBezierCurve3:()=>fu,CubicInterpolant:()=>Ph,CullFaceBack:()=>c,CullFaceFront:()=>l,CullFaceFrontBack:()=>h,CullFaceNone:()=>a,Curve:()=>eu,CurvePath:()=>_u,CustomBlending:()=>T,CustomToneMapping:()=>rt,CylinderBufferGeometry:()=>el,CylinderGeometry:()=>nl,Cylindrical:()=>kd,DataTexture:()=>Ao,DataTexture2DArray:()=>Qo,DataTexture3D:()=>Ko,DataTextureLoader:()=>$h,DataUtils:()=>Lp,DecrementStencilOp:()=>fn,DecrementWrapStencilOp:()=>gn,DefaultLoadingManager:()=>Wh,DepthFormat:()=>jt,DepthStencilFormat:()=>Vt,DepthTexture:()=>qc,DirectionalLight:()=>Du,DirectionalLightHelper:()=>dp,DiscreteInterpolant:()=>Oh,DodecahedronBufferGeometry:()=>sl,DodecahedronGeometry:()=>al,DoubleSide:()=>v,DstAlphaFactor:()=>z,DstColorFactor:()=>F,DynamicBufferAttribute:()=>uf,DynamicCopyUsage:()=>Dn,DynamicDrawUsage:()=>An,DynamicReadUsage:()=>Pn,EdgesGeometry:()=>dl,EdgesHelper:()=>Ef,EllipseCurve:()=>nu,EqualDepth:()=>q,EqualStencilFunc:()=>bn,EquirectangularReflectionMapping:()=>ct,EquirectangularRefractionMapping:()=>lt,Euler:()=>Ii,EventDispatcher:()=>zn,ExtrudeBufferGeometry:()=>Gl,ExtrudeGeometry:()=>kl,Face3:()=>br,Face4:()=>Zp,FaceColors:()=>$p,FileLoader:()=>Yh,FlatShading:()=>y,Float16BufferAttribute:()=>Ir,Float32Attribute:()=>xf,Float32BufferAttribute:()=>Br,Float64Attribute:()=>bf,Float64BufferAttribute:()=>Nr,FloatType:()=>Ct,Fog:()=>Ga,FogExp2:()=>Fa,Font:()=>Zu,FontLoader:()=>Qu,FrontSide:()=>m,Frustum:()=>Po,GLBufferAttribute:()=>zd,GLSL1:()=>Bn,GLSL3:()=>Nn,GammaEncoding:()=>$e,Geometry:()=>Qc,GeometryUtils:()=>Cf,GreaterDepth:()=>Y,GreaterEqualDepth:()=>X,GreaterEqualStencilFunc:()=>Sn,GreaterStencilFunc:()=>wn,GridHelper:()=>ap,Group:()=>Da,HalfFloatType:()=>Ot,HemisphereLight:()=>Tu,HemisphereLightHelper:()=>sp,HemisphereLightProbe:()=>ed,IcosahedronBufferGeometry:()=>jl,IcosahedronGeometry:()=>Vl,ImageBitmapLoader:()=>Xu,ImageLoader:()=>Qh,ImageUtils:()=>Vn,ImmediateRenderObject:()=>Yd,IncrementStencilOp:()=>pn,IncrementWrapStencilOp:()=>mn,InstancedBufferAttribute:()=>Hu,InstancedBufferGeometry:()=>Gu,InstancedInterleavedBuffer:()=>Nd,InstancedMesh:()=>Sc,Int16Attribute:()=>mf,Int16BufferAttribute:()=>Pr,Int32Attribute:()=>vf,Int32BufferAttribute:()=>Or,Int8Attribute:()=>df,Int8BufferAttribute:()=>Ar,IntType:()=>Rt,InterleavedBuffer:()=>ka,InterleavedBufferAttribute:()=>Va,Interpolant:()=>Rh,InterpolateDiscrete:()=>Ge,InterpolateLinear:()=>He,InterpolateSmooth:()=>ke,InvertStencilOp:()=>vn,JSONLoader:()=>Df,KeepStencilOp:()=>un,KeyframeTrack:()=>Dh,LOD:()=>lc,LatheBufferGeometry:()=>Wl,LatheGeometry:()=>ql,Layers:()=>zi,LensFlare:()=>Bf,LessDepth:()=>V,LessEqualDepth:()=>W,LessEqualStencilFunc:()=>_n,LessStencilFunc:()=>xn,Light:()=>Su,LightProbe:()=>zu,Line:()=>Cc,Line3:()=>Xd,LineBasicMaterial:()=>Tc,LineCurve:()=>mu,LineCurve3:()=>gu,LineDashedMaterial:()=>Eh,LineLoop:()=>Bc,LinePieces:()=>Qp,LineSegments:()=>Ic,LineStrip:()=>Jp,LinearEncoding:()=>Qe,LinearFilter:()=>bt,LinearInterpolant:()=>Ch,LinearMipMapLinearFilter:()=>St,LinearMipMapNearestFilter:()=>wt,LinearMipmapLinearFilter:()=>Mt,LinearMipmapNearestFilter:()=>_t,LinearToneMapping:()=>tt,Loader:()=>qh,LoaderUtils:()=>Fu,LoadingManager:()=>Vh,LogLuvEncoding:()=>en,LoopOnce:()=>ze,LoopPingPong:()=>Fe,LoopRepeat:()=>Ue,LuminanceAlphaFormat:()=>Ht,LuminanceFormat:()=>Gt,MOUSE:()=>o,Material:()=>wr,MaterialLoader:()=>Uu,Math:()=>Gn,MathUtils:()=>Gn,Matrix3:()=>kn,Matrix4:()=>Ei,MaxEquation:()=>P,Mesh:()=>po,MeshBasicMaterial:()=>Mr,MeshDepthMaterial:()=>Ea,MeshDistanceMaterial:()=>Aa,MeshFaceMaterial:()=>ef,MeshLambertMaterial:()=>Sh,MeshMatcapMaterial:()=>Th,MeshNormalMaterial:()=>Mh,MeshPhongMaterial:()=>_h,MeshPhysicalMaterial:()=>bh,MeshStandardMaterial:()=>xh,MeshToonMaterial:()=>wh,MinEquation:()=>R,MirroredRepeatWrapping:()=>ft,MixOperation:()=>Q,MultiMaterial:()=>nf,MultiplyBlending:()=>S,MultiplyOperation:()=>J,NearestFilter:()=>mt,NearestMipMapLinearFilter:()=>xt,NearestMipMapNearestFilter:()=>vt,NearestMipmapLinearFilter:()=>yt,NearestMipmapNearestFilter:()=>gt,NeverDepth:()=>k,NeverStencilFunc:()=>yn,NoBlending:()=>b,NoColors:()=>Kp,NoToneMapping:()=>$,NormalAnimationBlendMode:()=>qe,NormalBlending:()=>_,NotEqualDepth:()=>Z,NotEqualStencilFunc:()=>Mn,NumberKeyframeTrack:()=>Nh,Object3D:()=>Qi,ObjectLoader:()=>ju,ObjectSpaceNormalMap:()=>ln,OctahedronBufferGeometry:()=>Xl,OctahedronGeometry:()=>Yl,OneFactor:()=>O,OneMinusDstAlphaFactor:()=>U,OneMinusDstColorFactor:()=>G,OneMinusSrcAlphaFactor:()=>N,OneMinusSrcColorFactor:()=>I,OrthographicCamera:()=>Cu,PCFShadowMap:()=>d,PCFSoftShadowMap:()=>p,PMREMGenerator:()=>kp,ParametricBufferGeometry:()=>Zl,ParametricGeometry:()=>Jl,Particle:()=>of,ParticleBasicMaterial:()=>cf,ParticleSystem:()=>sf,ParticleSystemMaterial:()=>lf,Path:()=>wu,PerspectiveCamera:()=>wo,Plane:()=>er,PlaneBufferGeometry:()=>Do,PlaneGeometry:()=>Ql,PlaneHelper:()=>bp,PointCloud:()=>rf,PointCloudMaterial:()=>af,PointLight:()=>Pu,PointLightHelper:()=>np,Points:()=>Hc,PointsMaterial:()=>Nc,PolarGridHelper:()=>cp,PolyhedronBufferGeometry:()=>ol,PolyhedronGeometry:()=>Kl,PositionalAudio:()=>yd,PropertyBinding:()=>Cd,PropertyMixer:()=>bd,QuadraticBezierCurve:()=>vu,QuadraticBezierCurve3:()=>yu,Quaternion:()=>Qn,QuaternionKeyframeTrack:()=>Uh,QuaternionLinearInterpolant:()=>zh,REVISION:()=>r,RGBADepthPacking:()=>an,RGBAFormat:()=>Ft,RGBAIntegerFormat:()=>Jt,RGBA_ASTC_10x10_Format:()=>xe,RGBA_ASTC_10x5_Format:()=>ge,RGBA_ASTC_10x6_Format:()=>ve,RGBA_ASTC_10x8_Format:()=>ye,RGBA_ASTC_12x10_Format:()=>be,RGBA_ASTC_12x12_Format:()=>_e,RGBA_ASTC_4x4_Format:()=>ce,RGBA_ASTC_5x4_Format:()=>le,RGBA_ASTC_5x5_Format:()=>he,RGBA_ASTC_6x5_Format:()=>ue,RGBA_ASTC_6x6_Format:()=>de,RGBA_ASTC_8x5_Format:()=>pe,RGBA_ASTC_8x6_Format:()=>fe,RGBA_ASTC_8x8_Format:()=>me,RGBA_BPTC_Format:()=>we,RGBA_ETC2_EAC_Format:()=>ae,RGBA_PVRTC_2BPPV1_Format:()=>re,RGBA_PVRTC_4BPPV1_Format:()=>ie,RGBA_S3TC_DXT1_Format:()=>Kt,RGBA_S3TC_DXT3_Format:()=>$t,RGBA_S3TC_DXT5_Format:()=>te,RGBDEncoding:()=>on,RGBEEncoding:()=>tn,RGBEFormat:()=>kt,RGBFormat:()=>Ut,RGBIntegerFormat:()=>Zt,RGBM16Encoding:()=>rn,RGBM7Encoding:()=>nn,RGB_ETC1_Format:()=>oe,RGB_ETC2_Format:()=>se,RGB_PVRTC_2BPPV1_Format:()=>ne,RGB_PVRTC_4BPPV1_Format:()=>ee,RGB_S3TC_DXT1_Format:()=>Qt,RGFormat:()=>Xt,RGIntegerFormat:()=>Yt,RawShaderMaterial:()=>yh,Ray:()=>Ti,Raycaster:()=>Ud,RectAreaLight:()=>Bu,RedFormat:()=>Wt,RedIntegerFormat:()=>qt,ReinhardToneMapping:()=>et,RepeatWrapping:()=>dt,ReplaceStencilOp:()=>dn,ReverseSubtractEquation:()=>L,RingBufferGeometry:()=>$l,RingGeometry:()=>th,SRGB8_ALPHA8_ASTC_10x10_Format:()=>Ie,SRGB8_ALPHA8_ASTC_10x5_Format:()=>Ce,SRGB8_ALPHA8_ASTC_10x6_Format:()=>Oe,SRGB8_ALPHA8_ASTC_10x8_Format:()=>De,SRGB8_ALPHA8_ASTC_12x10_Format:()=>Be,SRGB8_ALPHA8_ASTC_12x12_Format:()=>Ne,SRGB8_ALPHA8_ASTC_4x4_Format:()=>Me,SRGB8_ALPHA8_ASTC_5x4_Format:()=>Se,SRGB8_ALPHA8_ASTC_5x5_Format:()=>Te,SRGB8_ALPHA8_ASTC_6x5_Format:()=>Ee,SRGB8_ALPHA8_ASTC_6x6_Format:()=>Ae,SRGB8_ALPHA8_ASTC_8x5_Format:()=>Le,SRGB8_ALPHA8_ASTC_8x6_Format:()=>Re,SRGB8_ALPHA8_ASTC_8x8_Format:()=>Pe,Scene:()=>Ha,SceneUtils:()=>If,ShaderChunk:()=>Io,ShaderLib:()=>No,ShaderMaterial:()=>bo,ShadowMaterial:()=>vh,Shape:()=>Mu,ShapeBufferGeometry:()=>eh,ShapeGeometry:()=>nh,ShapePath:()=>Yu,ShapeUtils:()=>zl,ShortType:()=>At,Skeleton:()=>xc,SkeletonHelper:()=>tp,SkinnedMesh:()=>mc,SmoothShading:()=>x,Sphere:()=>vi,SphereBufferGeometry:()=>ih,SphereGeometry:()=>rh,Spherical:()=>Hd,SphericalHarmonics3:()=>Nu,Spline:()=>Mf,SplineCurve:()=>xu,SplineCurve3:()=>wf,SpotLight:()=>Lu,SpotLightHelper:()=>Jd,Sprite:()=>oc,SpriteMaterial:()=>Wa,SrcAlphaFactor:()=>B,SrcAlphaSaturateFactor:()=>H,SrcColorFactor:()=>D,StaticCopyUsage:()=>On,StaticDrawUsage:()=>En,StaticReadUsage:()=>Rn,StereoCamera:()=>od,StreamCopyUsage:()=>In,StreamDrawUsage:()=>Ln,StreamReadUsage:()=>Cn,StringKeyframeTrack:()=>Fh,SubtractEquation:()=>A,SubtractiveBlending:()=>M,TOUCH:()=>s,TangentSpaceNormalMap:()=>cn,TetrahedronBufferGeometry:()=>oh,TetrahedronGeometry:()=>sh,TextBufferGeometry:()=>ah,TextGeometry:()=>ch,Texture:()=>qn,TextureLoader:()=>tu,TorusBufferGeometry:()=>lh,TorusGeometry:()=>hh,TorusKnotBufferGeometry:()=>uh,TorusKnotGeometry:()=>dh,Triangle:()=>dr,TriangleFanDrawMode:()=>Je,TriangleStripDrawMode:()=>Ze,TrianglesDrawMode:()=>Ye,TubeBufferGeometry:()=>ph,TubeGeometry:()=>fh,UVMapping:()=>ot,Uint16Attribute:()=>gf,Uint16BufferAttribute:()=>Cr,Uint32Attribute:()=>yf,Uint32BufferAttribute:()=>Dr,Uint8Attribute:()=>pf,Uint8BufferAttribute:()=>Lr,Uint8ClampedAttribute:()=>ff,Uint8ClampedBufferAttribute:()=>Rr,Uniform:()=>Bd,UniformsLib:()=>Bo,UniformsUtils:()=>xo,UnsignedByteType:()=>Tt,UnsignedInt248Type:()=>Nt,UnsignedIntType:()=>Pt,UnsignedShort4444Type:()=>Dt,UnsignedShort5551Type:()=>It,UnsignedShort565Type:()=>Bt,UnsignedShortType:()=>Lt,VSMShadowMap:()=>f,Vector2:()=>Hn,Vector3:()=>Kn,Vector4:()=>Yn,VectorKeyframeTrack:()=>Gh,Vertex:()=>hf,VertexColors:()=>tf,VideoTexture:()=>jc,WebGL1Renderer:()=>Ua,WebGLCubeRenderTarget:()=>Eo,WebGLMultisampleRenderTarget:()=>Jn,WebGLRenderTarget:()=>Zn,WebGLRenderTargetCube:()=>Pf,WebGLRenderer:()=>za,WebGLUtils:()=>Ca,WireframeGeometry:()=>mh,WireframeHelper:()=>Af,WrapAroundEnding:()=>We,XHRLoader:()=>Lf,ZeroCurvatureEnding:()=>je,ZeroFactor:()=>C,ZeroSlopeEnding:()=>Ve,ZeroStencilOp:()=>hn,sRGBEncoding:()=>Ke});const r=\"124\",o={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},s={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},a=0,c=1,l=2,h=3,u=0,d=1,p=2,f=3,m=0,g=1,v=2,y=1,x=2,b=0,_=1,w=2,M=3,S=4,T=5,E=100,A=101,L=102,R=103,P=104,C=200,O=201,D=202,I=203,B=204,N=205,z=206,U=207,F=208,G=209,H=210,k=0,j=1,V=2,W=3,q=4,X=5,Y=6,Z=7,J=0,Q=1,K=2,$=0,tt=1,et=2,nt=3,it=4,rt=5,ot=300,st=301,at=302,ct=303,lt=304,ht=306,ut=307,dt=1e3,pt=1001,ft=1002,mt=1003,gt=1004,vt=1004,yt=1005,xt=1005,bt=1006,_t=1007,wt=1007,Mt=1008,St=1008,Tt=1009,Et=1010,At=1011,Lt=1012,Rt=1013,Pt=1014,Ct=1015,Ot=1016,Dt=1017,It=1018,Bt=1019,Nt=1020,zt=1021,Ut=1022,Ft=1023,Gt=1024,Ht=1025,kt=Ft,jt=1026,Vt=1027,Wt=1028,qt=1029,Xt=1030,Yt=1031,Zt=1032,Jt=1033,Qt=33776,Kt=33777,$t=33778,te=33779,ee=35840,ne=35841,ie=35842,re=35843,oe=36196,se=37492,ae=37496,ce=37808,le=37809,he=37810,ue=37811,de=37812,pe=37813,fe=37814,me=37815,ge=37816,ve=37817,ye=37818,xe=37819,be=37820,_e=37821,we=36492,Me=37840,Se=37841,Te=37842,Ee=37843,Ae=37844,Le=37845,Re=37846,Pe=37847,Ce=37848,Oe=37849,De=37850,Ie=37851,Be=37852,Ne=37853,ze=2200,Ue=2201,Fe=2202,Ge=2300,He=2301,ke=2302,je=2400,Ve=2401,We=2402,qe=2500,Xe=2501,Ye=0,Ze=1,Je=2,Qe=3e3,Ke=3001,$e=3007,tn=3002,en=3003,nn=3004,rn=3005,on=3006,sn=3200,an=3201,cn=0,ln=1,hn=0,un=7680,dn=7681,pn=7682,fn=7683,mn=34055,gn=34056,vn=5386,yn=512,xn=513,bn=514,_n=515,wn=516,Mn=517,Sn=518,Tn=519,En=35044,An=35048,Ln=35040,Rn=35045,Pn=35049,Cn=35041,On=35046,Dn=35050,In=35042,Bn=\"100\",Nn=\"300 es\";function zn(){}Object.assign(zn.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)},removeEventListener:function(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}},dispatchEvent:function(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e>8&255]+Un[t>>16&255]+Un[t>>24&255]+\"-\"+Un[255&e]+Un[e>>8&255]+\"-\"+Un[e>>16&15|64]+Un[e>>24&255]+\"-\"+Un[63&n|128]+Un[n>>8&255]+\"-\"+Un[n>>16&255]+Un[n>>24&255]+Un[255&i]+Un[i>>8&255]+Un[i>>16&255]+Un[i>>24&255]).toUpperCase()},clamp:function(t,e,n){return Math.max(e,Math.min(n,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},lerp:function(t,e,n){return(1-n)*t+n*e},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(Fn=t%2147483647),Fn=16807*Fn%2147483647,(Fn-1)/2147483646},degToRad:function(t){return t*Gn.DEG2RAD},radToDeg:function(t){return t*Gn.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,e,n,i,r){const o=Math.cos,s=Math.sin,a=o(n/2),c=s(n/2),l=o((e+i)/2),h=s((e+i)/2),u=o((e-i)/2),d=s((e-i)/2),p=o((i-e)/2),f=s((i-e)/2);switch(r){case\"XYX\":t.set(a*h,c*u,c*d,a*l);break;case\"YZY\":t.set(c*d,a*h,c*u,a*l);break;case\"ZXZ\":t.set(c*u,c*d,a*h,a*l);break;case\"XZX\":t.set(a*h,c*f,c*p,a*l);break;case\"YXY\":t.set(c*p,a*h,c*f,a*l);break;case\"ZYZ\":t.set(c*f,c*p,a*h,a*l);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+r)}}};class Hn{constructor(t=0,e=0){Object.defineProperty(this,\"isVector2\",{value:!0}),this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\"),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*n-o*i+t.x,this.y=r*i+o*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}class kn{constructor(){Object.defineProperty(this,\"isMatrix3\",{value:!0}),this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}set(t,e,n,i,r,o,s,a,c){const l=this.elements;return l[0]=t,l[1]=i,l[2]=s,l[3]=e,l[4]=r,l[5]=a,l[6]=n,l[7]=o,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}clone(){return(new this.constructor).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,o=n[0],s=n[3],a=n[6],c=n[1],l=n[4],h=n[7],u=n[2],d=n[5],p=n[8],f=i[0],m=i[3],g=i[6],v=i[1],y=i[4],x=i[7],b=i[2],_=i[5],w=i[8];return r[0]=o*f+s*v+a*b,r[3]=o*m+s*y+a*_,r[6]=o*g+s*x+a*w,r[1]=c*f+l*v+h*b,r[4]=c*m+l*y+h*_,r[7]=c*g+l*x+h*w,r[2]=u*f+d*v+p*b,r[5]=u*m+d*y+p*_,r[8]=u*g+d*x+p*w,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8];return e*o*l-e*s*c-n*r*l+n*s*a+i*r*c-i*o*a}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8],h=l*o-s*c,u=s*a-l*r,d=c*r-o*a,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return t[0]=h*f,t[1]=(i*c-l*n)*f,t[2]=(s*n-i*o)*f,t[3]=u*f,t[4]=(l*e-i*a)*f,t[5]=(i*r-s*e)*f,t[6]=d*f,t[7]=(n*a-c*e)*f,t[8]=(o*e-n*r)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).copy(this).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,o,s){const a=Math.cos(r),c=Math.sin(r);return this.set(n*a,n*c,-n*(a*o+c*s)+o+t,-i*c,i*a,-i*(-c*o+a*s)+s+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],o=i[3],s=i[6],a=i[1],c=i[4],l=i[7];return i[0]=e*r+n*a,i[3]=e*o+n*c,i[6]=e*s+n*l,i[1]=-n*r+e*a,i[4]=-n*o+e*c,i[7]=-n*s+e*l,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}}let jn;const Vn={getDataURL:function(t){if(/^data:/i.test(t.src))return t.src;if(\"undefined\"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===jn&&(jn=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\")),jn.width=t.width,jn.height=t.height;const n=jn.getContext(\"2d\");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=jn}return e.width>2048||e.height>2048?e.toDataURL(\"image/jpeg\",.6):e.toDataURL(\"image/png\")}};let Wn=0;function qn(t=qn.DEFAULT_IMAGE,e=qn.DEFAULT_MAPPING,n=pt,i=pt,r=bt,o=Mt,s=Ft,a=Tt,c=1,l=Qe){Object.defineProperty(this,\"id\",{value:Wn++}),this.uuid=Gn.generateUUID(),this.name=\"\",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=o,this.anisotropy=c,this.format=s,this.internalFormat=null,this.type=a,this.offset=new Hn(0,0),this.repeat=new Hn(1,1),this.center=new Hn(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new kn,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=l,this.version=0,this.onUpdate=null}function Xn(t){return\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap?Vn.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn(\"THREE.Texture: Unable to serialize Texture.\"),{})}qn.DEFAULT_IMAGE=void 0,qn.DEFAULT_MAPPING=ot,qn.prototype=Object.assign(Object.create(zn.prototype),{constructor:qn,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){const e=void 0===t||\"string\"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const i=this.image;if(void 0===i.uuid&&(i.uuid=Gn.generateUUID()),!e&&void 0===t.images[i.uuid]){let e;if(Array.isArray(i)){e=[];for(let t=0,n=i.length;t1)switch(this.wrapS){case dt:t.x=t.x-Math.floor(t.x);break;case pt:t.x=t.x<0?0:1;break;case ft:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case dt:t.y=t.y-Math.floor(t.y);break;case pt:t.y=t.y<0?0:1;break;case ft:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}}),Object.defineProperty(qn.prototype,\"needsUpdate\",{set:function(t){!0===t&&this.version++}});class Yn{constructor(t=0,e=0,n=0,i=1){Object.defineProperty(this,\"isVector4\",{value:!0}),this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,o=t.elements;return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*r,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*r,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*r,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const o=.01,s=.1,a=t.elements,c=a[0],l=a[4],h=a[8],u=a[1],d=a[5],p=a[9],f=a[2],m=a[6],g=a[10];if(Math.abs(l-u)a&&t>v?tv?a=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),o=Math.atan2(r,e*n);t=Math.sin(t*o)/r,s=Math.sin(s*o)/r}const r=s*n;if(a=a*t+u*r,c=c*t+d*r,l=l*t+p*r,h=h*t+f*r,t===1-s){const t=1/Math.sqrt(a*a+c*c+l*l+h*h);a*=t,c*=t,l*=t,h*=t}}t[e]=a,t[e+1]=c,t[e+2]=l,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,o){const s=n[i],a=n[i+1],c=n[i+2],l=n[i+3],h=r[o],u=r[o+1],d=r[o+2],p=r[o+3];return t[e]=s*p+l*h+a*d-c*u,t[e+1]=a*p+l*u+c*h-s*d,t[e+2]=c*p+l*d+s*u-a*h,t[e+3]=l*p-s*h-a*u-c*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");const n=t._x,i=t._y,r=t._z,o=t._order,s=Math.cos,a=Math.sin,c=s(n/2),l=s(i/2),h=s(r/2),u=a(n/2),d=a(i/2),p=a(r/2);switch(o){case\"XYZ\":this._x=u*l*h+c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h-u*d*p;break;case\"YXZ\":this._x=u*l*h+c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h+u*d*p;break;case\"ZXY\":this._x=u*l*h-c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h-u*d*p;break;case\"ZYX\":this._x=u*l*h-c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h+u*d*p;break;case\"YZX\":this._x=u*l*h+c*d*p,this._y=c*d*h+u*l*p,this._z=c*l*p-u*d*h,this._w=c*l*h-u*d*p;break;case\"XZY\":this._x=u*l*h-c*d*p,this._y=c*d*h-u*l*p,this._z=c*l*p+u*d*h,this._w=c*l*h+u*d*p;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+o)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],o=e[1],s=e[5],a=e[9],c=e[2],l=e[6],h=e[10],u=n+s+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(l-a)*t,this._y=(r-c)*t,this._z=(o-i)*t}else if(n>s&&n>h){const t=2*Math.sqrt(1+n-s-h);this._w=(l-a)/t,this._x=.25*t,this._y=(i+o)/t,this._z=(r+c)/t}else if(s>h){const t=2*Math.sqrt(1+s-n-h);this._w=(r-c)/t,this._x=(i+o)/t,this._y=.25*t,this._z=(a+l)/t}else{const t=2*Math.sqrt(1+h-n-s);this._w=(o-i)/t,this._x=(r+c)/t,this._y=(a+l)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Gn.clamp(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,o=t._w,s=e._x,a=e._y,c=e._z,l=e._w;return this._x=n*l+o*s+i*c-r*a,this._y=i*l+o*a+r*s-n*c,this._z=r*l+o*c+n*a-i*s,this._w=o*l-n*s-i*a-r*c,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,o=this._w;let s=o*t._w+n*t._x+i*t._y+r*t._z;if(s<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,s=-s):this.copy(t),s>=1)return this._w=o,this._x=n,this._y=i,this._z=r,this;const a=1-s*s;if(a<=Number.EPSILON){const t=1-e;return this._w=t*o+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(a),l=Math.atan2(c,s),h=Math.sin((1-e)*l)/c,u=Math.sin(e*l)/c;return this._w=o*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}class Kn{constructor(t=0,e=0,n=0){Object.defineProperty(this,\"isVector3\",{value:!0}),this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),this.applyQuaternion(ti.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ti.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,o=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*o,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*o,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*o,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,o=t.y,s=t.z,a=t.w,c=a*e+o*i-s*n,l=a*n+s*e-r*i,h=a*i+r*n-o*e,u=-r*e-o*n-s*i;return this.x=c*a+u*-r+l*-s-h*-o,this.y=l*a+u*-o+h*-r-c*-s,this.z=h*a+u*-s+c*-o-l*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=i*a-r*s,this.y=r*o-n*a,this.z=n*s-i*o,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return $n.copy(this).projectOnVector(t),this.sub($n)}reflect(t){return this.sub($n.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Gn.clamp(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\"),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}const $n=new Kn,ti=new Qn;class ei{constructor(t,e){Object.defineProperty(this,\"isBox3\",{value:!0}),this.min=void 0!==t?t:new Kn(1/0,1/0,1/0),this.max=void 0!==e?e:new Kn(-1/0,-1/0,-1/0)}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,s=-1/0;for(let a=0,c=t.length;ar&&(r=c),l>o&&(o=l),h>s&&(s=h)}return this.min.set(e,n,i),this.max.set(r,o,s),this}setFromBufferAttribute(t){let e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,s=-1/0;for(let a=0,c=t.count;ar&&(r=c),l>o&&(o=l),h>s&&(s=h)}return this.min.set(e,n,i),this.max.set(r,o,s),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return void 0===e&&(console.warn(\"THREE.Box3: .getParameter() target is now required\"),e=new Kn),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ri),ri.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(di),pi.subVectors(this.max,di),si.subVectors(t.a,di),ai.subVectors(t.b,di),ci.subVectors(t.c,di),li.subVectors(ai,si),hi.subVectors(ci,ai),ui.subVectors(si,ci);let e=[0,-li.z,li.y,0,-hi.z,hi.y,0,-ui.z,ui.y,li.z,0,-li.x,hi.z,0,-hi.x,ui.z,0,-ui.x,-li.y,li.x,0,-hi.y,hi.x,0,-ui.y,ui.x,0];return!!ni(e,si,ai,ci,pi)&&(e=[1,0,0,0,1,0,0,0,1],!!ni(e,si,ai,ci,pi)&&(fi.crossVectors(li,hi),e=[fi.x,fi.y,fi.z],ni(e,si,ai,ci,pi)))}clampPoint(t,e){return void 0===e&&(console.warn(\"THREE.Box3: .clampPoint() target is now required\"),e=new Kn),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ri.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return void 0===t&&console.error(\"THREE.Box3: .getBoundingSphere() target is now required\"),this.getCenter(t.center),t.radius=.5*this.getSize(ri).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(ii[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ii[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ii[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ii[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ii[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ii[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ii[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ii[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ii)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}function ni(t,e,n,i,r){for(let o=0,s=t.length-3;o<=s;o+=3){mi.fromArray(t,o);const s=r.x*Math.abs(mi.x)+r.y*Math.abs(mi.y)+r.z*Math.abs(mi.z),a=e.dot(mi),c=n.dot(mi),l=i.dot(mi);if(Math.max(-Math.max(a,c,l),Math.min(a,c,l))>s)return!1}return!0}const ii=[new Kn,new Kn,new Kn,new Kn,new Kn,new Kn,new Kn,new Kn],ri=new Kn,oi=new ei,si=new Kn,ai=new Kn,ci=new Kn,li=new Kn,hi=new Kn,ui=new Kn,di=new Kn,pi=new Kn,fi=new Kn,mi=new Kn,gi=new ei;class vi{constructor(t,e){this.center=void 0!==t?t:new Kn,this.radius=void 0!==e?e:-1}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):gi.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return void 0===t&&(console.warn(\"THREE.Sphere: .getBoundingBox() target is now required\"),t=new ei),this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}}const yi=new Kn,xi=new Kn,bi=new Kn,_i=new Kn,wi=new Kn,Mi=new Kn,Si=new Kn;class Ti{constructor(t,e){this.origin=void 0!==t?t:new Kn,this.direction=void 0!==e?e:new Kn(0,0,-1)}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return void 0===e&&(console.warn(\"THREE.Ray: .at() target is now required\"),e=new Kn),e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,yi)),this}closestPointToPoint(t,e){void 0===e&&(console.warn(\"THREE.Ray: .closestPointToPoint() target is now required\"),e=new Kn),e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=yi.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(yi.copy(this.direction).multiplyScalar(e).add(this.origin),yi.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){xi.copy(t).add(e).multiplyScalar(.5),bi.copy(e).sub(t).normalize(),_i.copy(this.origin).sub(xi);const r=.5*t.distanceTo(e),o=-this.direction.dot(bi),s=_i.dot(this.direction),a=-_i.dot(bi),c=_i.lengthSq(),l=Math.abs(1-o*o);let h,u,d,p;if(l>0)if(h=o*a-s,u=o*s-a,p=r*l,h>=0)if(u>=-p)if(u<=p){const t=1/l;h*=t,u*=t,d=h*(h+o*u+2*s)+u*(o*h+u+2*a)+c}else u=r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;else u=-r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;else u<=-p?(h=Math.max(0,-(-o*r+s)),u=h>0?-r:Math.min(Math.max(-r,-a),r),d=-h*h+u*(u+2*a)+c):u<=p?(h=0,u=Math.min(Math.max(-r,-a),r),d=u*(u+2*a)+c):(h=Math.max(0,-(o*r+s)),u=h>0?r:Math.min(Math.max(-r,-a),r),d=-h*h+u*(u+2*a)+c);else u=o>0?-r:r,h=Math.max(0,-(o*u+s)),d=-h*h+u*(u+2*a)+c;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(bi).multiplyScalar(u).add(xi),d}intersectSphere(t,e){yi.subVectors(t.center,this.origin);const n=yi.dot(this.direction),i=yi.dot(yi)-n*n,r=t.radius*t.radius;if(i>r)return null;const o=Math.sqrt(r-i),s=n-o,a=n+o;return s<0&&a<0?null:s<0?this.at(a,e):this.at(s,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,o,s,a;const c=1/this.direction.x,l=1/this.direction.y,h=1/this.direction.z,u=this.origin;return c>=0?(n=(t.min.x-u.x)*c,i=(t.max.x-u.x)*c):(n=(t.max.x-u.x)*c,i=(t.min.x-u.x)*c),l>=0?(r=(t.min.y-u.y)*l,o=(t.max.y-u.y)*l):(r=(t.max.y-u.y)*l,o=(t.min.y-u.y)*l),n>o||r>i?null:((r>n||n!=n)&&(n=r),(o=0?(s=(t.min.z-u.z)*h,a=(t.max.z-u.z)*h):(s=(t.max.z-u.z)*h,a=(t.min.z-u.z)*h),n>a||s>i?null:((s>n||n!=n)&&(n=s),(a=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,yi)}intersectTriangle(t,e,n,i,r){wi.subVectors(e,t),Mi.subVectors(n,t),Si.crossVectors(wi,Mi);let o,s=this.direction.dot(Si);if(s>0){if(i)return null;o=1}else{if(!(s<0))return null;o=-1,s=-s}_i.subVectors(this.origin,t);const a=o*this.direction.dot(Mi.crossVectors(_i,Mi));if(a<0)return null;const c=o*this.direction.dot(wi.cross(_i));if(c<0)return null;if(a+c>s)return null;const l=-o*_i.dot(Si);return l<0?null:this.at(l/s,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}class Ei{constructor(){Object.defineProperty(this,\"isMatrix4\",{value:!0}),this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}set(t,e,n,i,r,o,s,a,c,l,h,u,d,p,f,m){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=o,g[9]=s,g[13]=a,g[2]=c,g[6]=l,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=f,g[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Ei).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/Ai.setFromMatrixColumn(t,0).length(),r=1/Ai.setFromMatrixColumn(t,1).length(),o=1/Ai.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*o,e[9]=n[9]*o,e[10]=n[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error(\"THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");const e=this.elements,n=t.x,i=t.y,r=t.z,o=Math.cos(n),s=Math.sin(n),a=Math.cos(i),c=Math.sin(i),l=Math.cos(r),h=Math.sin(r);if(\"XYZ\"===t.order){const t=o*l,n=o*h,i=s*l,r=s*h;e[0]=a*l,e[4]=-a*h,e[8]=c,e[1]=n+i*c,e[5]=t-r*c,e[9]=-s*a,e[2]=r-t*c,e[6]=i+n*c,e[10]=o*a}else if(\"YXZ\"===t.order){const t=a*l,n=a*h,i=c*l,r=c*h;e[0]=t+r*s,e[4]=i*s-n,e[8]=o*c,e[1]=o*h,e[5]=o*l,e[9]=-s,e[2]=n*s-i,e[6]=r+t*s,e[10]=o*a}else if(\"ZXY\"===t.order){const t=a*l,n=a*h,i=c*l,r=c*h;e[0]=t-r*s,e[4]=-o*h,e[8]=i+n*s,e[1]=n+i*s,e[5]=o*l,e[9]=r-t*s,e[2]=-o*c,e[6]=s,e[10]=o*a}else if(\"ZYX\"===t.order){const t=o*l,n=o*h,i=s*l,r=s*h;e[0]=a*l,e[4]=i*c-n,e[8]=t*c+r,e[1]=a*h,e[5]=r*c+t,e[9]=n*c-i,e[2]=-c,e[6]=s*a,e[10]=o*a}else if(\"YZX\"===t.order){const t=o*a,n=o*c,i=s*a,r=s*c;e[0]=a*l,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=o*l,e[9]=-s*l,e[2]=-c*l,e[6]=n*h+i,e[10]=t-r*h}else if(\"XZY\"===t.order){const t=o*a,n=o*c,i=s*a,r=s*c;e[0]=a*l,e[4]=-h,e[8]=c*l,e[1]=t*h+r,e[5]=o*l,e[9]=n*h-i,e[2]=i*h-n,e[6]=s*l,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Ri,t,Pi)}lookAt(t,e,n){const i=this.elements;return Di.subVectors(t,e),0===Di.lengthSq()&&(Di.z=1),Di.normalize(),Ci.crossVectors(n,Di),0===Ci.lengthSq()&&(1===Math.abs(n.z)?Di.x+=1e-4:Di.z+=1e-4,Di.normalize(),Ci.crossVectors(n,Di)),Ci.normalize(),Oi.crossVectors(Di,Ci),i[0]=Ci.x,i[4]=Oi.x,i[8]=Di.x,i[1]=Ci.y,i[5]=Oi.y,i[9]=Di.y,i[2]=Ci.z,i[6]=Oi.z,i[10]=Di.z,this}multiply(t,e){return void 0!==e?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,o=n[0],s=n[4],a=n[8],c=n[12],l=n[1],h=n[5],u=n[9],d=n[13],p=n[2],f=n[6],m=n[10],g=n[14],v=n[3],y=n[7],x=n[11],b=n[15],_=i[0],w=i[4],M=i[8],S=i[12],T=i[1],E=i[5],A=i[9],L=i[13],R=i[2],P=i[6],C=i[10],O=i[14],D=i[3],I=i[7],B=i[11],N=i[15];return r[0]=o*_+s*T+a*R+c*D,r[4]=o*w+s*E+a*P+c*I,r[8]=o*M+s*A+a*C+c*B,r[12]=o*S+s*L+a*O+c*N,r[1]=l*_+h*T+u*R+d*D,r[5]=l*w+h*E+u*P+d*I,r[9]=l*M+h*A+u*C+d*B,r[13]=l*S+h*L+u*O+d*N,r[2]=p*_+f*T+m*R+g*D,r[6]=p*w+f*E+m*P+g*I,r[10]=p*M+f*A+m*C+g*B,r[14]=p*S+f*L+m*O+g*N,r[3]=v*_+y*T+x*R+b*D,r[7]=v*w+y*E+x*P+b*I,r[11]=v*M+y*A+x*C+b*B,r[15]=v*S+y*L+x*O+b*N,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],o=t[1],s=t[5],a=t[9],c=t[13],l=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*a*h-i*c*h-r*s*u+n*c*u+i*s*d-n*a*d)+t[7]*(+e*a*d-e*c*u+r*o*u-i*o*d+i*c*l-r*a*l)+t[11]*(+e*c*h-e*s*d-r*o*h+n*o*d+r*s*l-n*c*l)+t[15]*(-i*s*l-e*a*h+e*s*u+i*o*h-n*o*u+n*a*l)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],s=t[5],a=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],v=h*m*c-f*u*c+f*a*d-s*m*d-h*a*g+s*u*g,y=p*u*c-l*m*c-p*a*d+o*m*d+l*a*g-o*u*g,x=l*f*c-p*h*c+p*s*d-o*f*d-l*s*g+o*h*g,b=p*h*a-l*f*a-p*s*u+o*f*u+l*s*m-o*h*m,_=e*v+n*y+i*x+r*b;if(0===_)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const w=1/_;return t[0]=v*w,t[1]=(f*u*r-h*m*r-f*i*d+n*m*d+h*i*g-n*u*g)*w,t[2]=(s*m*r-f*a*r+f*i*c-n*m*c-s*i*g+n*a*g)*w,t[3]=(h*a*r-s*u*r-h*i*c+n*u*c+s*i*d-n*a*d)*w,t[4]=y*w,t[5]=(l*m*r-p*u*r+p*i*d-e*m*d-l*i*g+e*u*g)*w,t[6]=(p*a*r-o*m*r-p*i*c+e*m*c+o*i*g-e*a*g)*w,t[7]=(o*u*r-l*a*r+l*i*c-e*u*c-o*i*d+e*a*d)*w,t[8]=x*w,t[9]=(p*h*r-l*f*r-p*n*d+e*f*d+l*n*g-e*h*g)*w,t[10]=(o*f*r-p*s*r+p*n*c-e*f*c-o*n*g+e*s*g)*w,t[11]=(l*s*r-o*h*r-l*n*c+e*h*c+o*n*d-e*s*d)*w,t[12]=b*w,t[13]=(l*f*i-p*h*i+p*n*u-e*f*u-l*n*m+e*h*m)*w,t[14]=(p*s*i-o*f*i-p*n*a+e*f*a+o*n*m-e*s*m)*w,t[15]=(o*h*i-l*s*i+l*n*a-e*h*a-o*n*u+e*s*u)*w,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,o=t.x,s=t.y,a=t.z,c=r*o,l=r*s;return this.set(c*o+n,c*s-i*a,c*a+i*s,0,c*s+i*a,l*s+n,l*a-i*o,0,c*a-i*s,l*a+i*o,r*a*a+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n){return this.set(1,e,n,0,t,1,n,0,t,e,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,o=e._y,s=e._z,a=e._w,c=r+r,l=o+o,h=s+s,u=r*c,d=r*l,p=r*h,f=o*l,m=o*h,g=s*h,v=a*c,y=a*l,x=a*h,b=n.x,_=n.y,w=n.z;return i[0]=(1-(f+g))*b,i[1]=(d+x)*b,i[2]=(p-y)*b,i[3]=0,i[4]=(d-x)*_,i[5]=(1-(u+g))*_,i[6]=(m+v)*_,i[7]=0,i[8]=(p+y)*w,i[9]=(m-v)*w,i[10]=(1-(u+f))*w,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=Ai.set(i[0],i[1],i[2]).length();const o=Ai.set(i[4],i[5],i[6]).length(),s=Ai.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],Li.copy(this);const a=1/r,c=1/o,l=1/s;return Li.elements[0]*=a,Li.elements[1]*=a,Li.elements[2]*=a,Li.elements[4]*=c,Li.elements[5]*=c,Li.elements[6]*=c,Li.elements[8]*=l,Li.elements[9]*=l,Li.elements[10]*=l,e.setFromRotationMatrix(Li),n.x=r,n.y=o,n.z=s,this}makePerspective(t,e,n,i,r,o){void 0===o&&console.warn(\"THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.\");const s=this.elements,a=2*r/(e-t),c=2*r/(n-i),l=(e+t)/(e-t),h=(n+i)/(n-i),u=-(o+r)/(o-r),d=-2*o*r/(o-r);return s[0]=a,s[4]=0,s[8]=l,s[12]=0,s[1]=0,s[5]=c,s[9]=h,s[13]=0,s[2]=0,s[6]=0,s[10]=u,s[14]=d,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(t,e,n,i,r,o){const s=this.elements,a=1/(e-t),c=1/(n-i),l=1/(o-r),h=(e+t)*a,u=(n+i)*c,d=(o+r)*l;return s[0]=2*a,s[4]=0,s[8]=0,s[12]=-h,s[1]=0,s[5]=2*c,s[9]=0,s[13]=-u,s[2]=0,s[6]=0,s[10]=-2*l,s[14]=-d,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const Ai=new Kn,Li=new Ei,Ri=new Kn(0,0,0),Pi=new Kn(1,1,1),Ci=new Kn,Oi=new Kn,Di=new Kn;class Ii{constructor(t=0,e=0,n=0,i=Ii.DefaultOrder){Object.defineProperty(this,\"isEuler\",{value:!0}),this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e,n){const i=Gn.clamp,r=t.elements,o=r[0],s=r[4],a=r[8],c=r[1],l=r[5],h=r[9],u=r[2],d=r[6],p=r[10];switch(e=e||this._order){case\"XYZ\":this._y=Math.asin(i(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,p),this._z=Math.atan2(-s,o)):(this._x=Math.atan2(d,l),this._z=0);break;case\"YXZ\":this._x=Math.asin(-i(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(c,l)):(this._y=Math.atan2(-u,o),this._z=0);break;case\"ZXY\":this._x=Math.asin(i(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(c,o));break;case\"ZYX\":this._y=Math.asin(-i(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(c,o)):(this._x=0,this._z=Math.atan2(-s,l));break;case\"YZX\":this._z=Math.asin(i(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-h,l),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(a,p));break;case\"XZY\":this._z=Math.asin(-i(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(a,o)):(this._x=Math.atan2(-h,p),this._y=0);break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+e)}return this._order=e,!1!==n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Bi.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Bi,e,n)}setFromVector3(t,e){return this.set(t.x,t.y,t.z,e||this._order)}reorder(t){return Ni.setFromEuler(this),this.setFromQuaternion(Ni,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new Kn(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Ii.DefaultOrder=\"XYZ\",Ii.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"];const Bi=new Ei,Ni=new Qn;class zi{constructor(){this.mask=1}set(t){this.mask=1<1){for(let t=0;t1){for(let t=0;t0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),s.length>0&&(n.images=s),a.length>0&&(n.shapes=a),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l)}return n.object=i,n;function o(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e1?void 0:e.copy(n).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return void 0===t&&(console.warn(\"THREE.Plane: .coplanarPoint() target is now required\"),t=new Kn),t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||tr.getNormalMatrix(t),i=this.coplanarPoint(Ki).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}const nr=new Kn,ir=new Kn,rr=new Kn,or=new Kn,sr=new Kn,ar=new Kn,cr=new Kn,lr=new Kn,hr=new Kn,ur=new Kn;class dr{constructor(t,e,n){this.a=void 0!==t?t:new Kn,this.b=void 0!==e?e:new Kn,this.c=void 0!==n?n:new Kn}static getNormal(t,e,n,i){void 0===i&&(console.warn(\"THREE.Triangle: .getNormal() target is now required\"),i=new Kn),i.subVectors(n,e),nr.subVectors(t,e),i.cross(nr);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){nr.subVectors(i,e),ir.subVectors(n,e),rr.subVectors(t,e);const o=nr.dot(nr),s=nr.dot(ir),a=nr.dot(rr),c=ir.dot(ir),l=ir.dot(rr),h=o*c-s*s;if(void 0===r&&(console.warn(\"THREE.Triangle: .getBarycoord() target is now required\"),r=new Kn),0===h)return r.set(-2,-1,-1);const u=1/h,d=(c*a-s*l)*u,p=(o*l-s*a)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,or),or.x>=0&&or.y>=0&&or.x+or.y<=1}static getUV(t,e,n,i,r,o,s,a){return this.getBarycoord(t,e,n,i,or),a.set(0,0),a.addScaledVector(r,or.x),a.addScaledVector(o,or.y),a.addScaledVector(s,or.z),a}static isFrontFacing(t,e,n,i){return nr.subVectors(n,e),ir.subVectors(t,e),nr.cross(ir).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return nr.subVectors(this.c,this.b),ir.subVectors(this.a,this.b),.5*nr.cross(ir).length()}getMidpoint(t){return void 0===t&&(console.warn(\"THREE.Triangle: .getMidpoint() target is now required\"),t=new Kn),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return dr.getNormal(this.a,this.b,this.c,t)}getPlane(t){return void 0===t&&(console.warn(\"THREE.Triangle: .getPlane() target is now required\"),t=new er),t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return dr.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return dr.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return dr.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return dr.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){void 0===e&&(console.warn(\"THREE.Triangle: .closestPointToPoint() target is now required\"),e=new Kn);const n=this.a,i=this.b,r=this.c;let o,s;sr.subVectors(i,n),ar.subVectors(r,n),lr.subVectors(t,n);const a=sr.dot(lr),c=ar.dot(lr);if(a<=0&&c<=0)return e.copy(n);hr.subVectors(t,i);const l=sr.dot(hr),h=ar.dot(hr);if(l>=0&&h<=l)return e.copy(i);const u=a*h-l*c;if(u<=0&&a>=0&&l<=0)return o=a/(a-l),e.copy(n).addScaledVector(sr,o);ur.subVectors(t,r);const d=sr.dot(ur),p=ar.dot(ur);if(p>=0&&d<=p)return e.copy(r);const f=d*c-a*p;if(f<=0&&c>=0&&p<=0)return s=c/(c-p),e.copy(n).addScaledVector(ar,s);const m=l*p-d*h;if(m<=0&&h-l>=0&&d-p>=0)return cr.subVectors(r,i),s=(h-l)/(h-l+(d-p)),e.copy(i).addScaledVector(cr,s);const g=1/(m+f+u);return o=f*g,s=u*g,e.copy(n).addScaledVector(sr,o).addScaledVector(ar,s)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const pr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},fr={h:0,s:0,l:0},mr={h:0,s:0,l:0};function gr(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function vr(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function yr(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class xr{constructor(t,e,n){return Object.defineProperty(this,\"isColor\",{value:!0}),void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):\"number\"==typeof t?this.setHex(t):\"string\"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=Gn.euclideanModulo(t,1),e=Gn.clamp(e,0,1),n=Gn.clamp(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=gr(r,i,t+1/3),this.g=gr(r,i,t),this.b=gr(r,i,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn(\"THREE.Color: Alpha component of \"+t+\" will be ignored.\")}let n;if(n=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(t)){let t;const i=n[1],r=n[2];switch(i){case\"rgb\":case\"rgba\":if(t=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case\"hsl\":case\"hsla\":if(t=/^(\\d*\\.?\\d+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){const n=parseFloat(t[1])/360,i=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,i,r)}}}else if(n=/^\\#([A-Fa-f\\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=pr[t];return void 0!==e?this.setHex(e):console.warn(\"THREE.Color: Unknown color \"+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,e=2){return this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this}copyLinearToGamma(t,e=2){const n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=vr(t.r),this.g=vr(t.g),this.b=vr(t.b),this}copyLinearToSRGB(t){return this.r=yr(t.r),this.g=yr(t.g),this.b=yr(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return(\"000000\"+this.getHex().toString(16)).slice(-6)}getHSL(t){void 0===t&&(console.warn(\"THREE.Color: .getHSL() target is now required\"),t={h:0,s:0,l:0});const e=this.r,n=this.g,i=this.b,r=Math.max(e,n,i),o=Math.min(e,n,i);let s,a;const c=(o+r)/2;if(o===r)s=0,a=0;else{const t=r-o;switch(a=c<=.5?t/(r+o):t/(2-r-o),r){case e:s=(n-i)/t+(n0&&(n.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(n.morphTargets=!0),!0===this.morphNormals&&(n.morphNormals=!0),!0===this.skinning&&(n.skinning=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}}),Object.defineProperty(wr.prototype,\"needsUpdate\",{set:function(t){!0===t&&this.version++}}),Mr.prototype=Object.create(wr.prototype),Mr.prototype.constructor=Mr,Mr.prototype.isMeshBasicMaterial=!0,Mr.prototype.copy=function(t){return wr.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this};const Sr=new Kn,Tr=new Hn;function Er(t,e,n){if(Array.isArray(t))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.name=\"\",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===n,this.usage=En,this.updateRange={offset:0,count:-1},this.version=0}function Ar(t,e,n){Er.call(this,new Int8Array(t),e,n)}function Lr(t,e,n){Er.call(this,new Uint8Array(t),e,n)}function Rr(t,e,n){Er.call(this,new Uint8ClampedArray(t),e,n)}function Pr(t,e,n){Er.call(this,new Int16Array(t),e,n)}function Cr(t,e,n){Er.call(this,new Uint16Array(t),e,n)}function Or(t,e,n){Er.call(this,new Int32Array(t),e,n)}function Dr(t,e,n){Er.call(this,new Uint32Array(t),e,n)}function Ir(t,e,n){Er.call(this,new Uint16Array(t),e,n)}function Br(t,e,n){Er.call(this,new Float32Array(t),e,n)}function Nr(t,e,n){Er.call(this,new Float64Array(t),e,n)}Object.defineProperty(Er.prototype,\"needsUpdate\",{set:function(t){!0===t&&this.version++}}),Object.assign(Er.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this},copyAt:function(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i0,o=i[1]&&i[1].length>0,s=t.morphTargets,a=s.length;let c;if(a>0){c=[];for(let t=0;t0){u=[];for(let t=0;t0&&0===e.length&&console.error(\"THREE.DirectGeometry: Faceless geometries are not supported.\");for(let t=0;te&&(e=t[n]);return e}const Fr={Int8Array,Uint8Array,Uint8ClampedArray:\"undefined\"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Gr(t,e){return new Fr[t](e)}let Hr=1;const kr=new Ei,jr=new Qi,Vr=new Kn,Wr=new ei,qr=new ei,Xr=new Kn;function Yr(){Object.defineProperty(this,\"id\",{value:Hr+=2}),this.uuid=Gn.generateUUID(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}Yr.prototype=Object.assign(Object.create(zn.prototype),{constructor:Yr,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){return Array.isArray(t)?this.index=new(Ur(t)>65535?Dr:Cr)(t,1):this.index=t,this},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,e){return this.attributes[t]=e,this},deleteAttribute:function(t){return delete this.attributes[t],this},hasAttribute:function(t){return void 0!==this.attributes[t]},addGroup:function(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix4:function(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new kn).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return kr.makeRotationX(t),this.applyMatrix4(kr),this},rotateY:function(t){return kr.makeRotationY(t),this.applyMatrix4(kr),this},rotateZ:function(t){return kr.makeRotationZ(t),this.applyMatrix4(kr),this},translate:function(t,e,n){return kr.makeTranslation(t,e,n),this.applyMatrix4(kr),this},scale:function(t,e,n){return kr.makeScale(t,e,n),this.applyMatrix4(kr),this},lookAt:function(t){return jr.lookAt(t),jr.updateMatrix(),this.applyMatrix4(jr.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Vr).negate(),this.translate(Vr.x,Vr.y,Vr.z),this},setFromObject:function(t){const e=t.geometry;if(t.isPoints||t.isLine){const t=new Br(3*e.vertices.length,3),n=new Br(3*e.colors.length,3);if(this.setAttribute(\"position\",t.copyVector3sArray(e.vertices)),this.setAttribute(\"color\",n.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){const t=new Br(e.lineDistances.length,1);this.setAttribute(\"lineDistance\",t.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){const e=[];for(let n=0,i=t.length;n0){const e=new Float32Array(3*t.normals.length);this.setAttribute(\"normal\",new Er(e,3).copyVector3sArray(t.normals))}if(t.colors.length>0){const e=new Float32Array(3*t.colors.length);this.setAttribute(\"color\",new Er(e,3).copyColorsArray(t.colors))}if(t.uvs.length>0){const e=new Float32Array(2*t.uvs.length);this.setAttribute(\"uv\",new Er(e,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){const e=new Float32Array(2*t.uvs2.length);this.setAttribute(\"uv2\",new Er(e,2).copyVector2sArray(t.uvs2))}this.groups=t.groups;for(const e in t.morphTargets){const n=[],i=t.morphTargets[e];for(let t=0,e=i.length;t0){const e=new Br(4*t.skinIndices.length,4);this.setAttribute(\"skinIndex\",e.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){const e=new Br(4*t.skinWeights.length,4);this.setAttribute(\"skinWeight\",e.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new ei);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".',this),void this.boundingBox.set(new Kn(-1/0,-1/0,-1/0),new Kn(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e],r=i.toJSON(t.data);\"\"!==i.name&&(r.name=i.name),t.data.attributes[e]=r}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],o=[];for(let e=0,i=n.length;e0&&(i[e]=o,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(t.data.groups=JSON.parse(JSON.stringify(o)));const s=this.boundingSphere;return null!==s&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t},clone:function(){return(new Yr).copy(this)},copy:function(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;tn.far?null:{distance:l,point:uo.clone(),object:t}}function mo(t,e,n,i,r,o,s,a,c,l,h,u){Kr.fromBufferAttribute(r,l),$r.fromBufferAttribute(r,h),to.fromBufferAttribute(r,u);const d=t.morphTargetInfluences;if(e.morphTargets&&o&&d){ro.set(0,0,0),oo.set(0,0,0),so.set(0,0,0);for(let t=0,e=o.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error(\"THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}},raycast:function(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Qr.copy(n.boundingSphere),Qr.applyMatrix4(r),!1===t.ray.intersectsSphere(Qr))return;if(Zr.copy(r).invert(),Jr.copy(t.ray).applyMatrix4(Zr),null!==n.boundingBox&&!1===Jr.intersectsBox(n.boundingBox))return;let o;if(n.isBufferGeometry){const r=n.index,s=n.attributes.position,a=n.morphAttributes.position,c=n.morphTargetsRelative,l=n.attributes.uv,h=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==r)if(Array.isArray(i))for(let n=0,p=u.length;n0&&(c=l);for(let n=0,l=a.length;n0?1:-1,l.push(A.x,A.y,A.z),h.push(a/m),h.push(1-o/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e},_o.prototype=Object.assign(Object.create(Qi.prototype),{constructor:_o,isCamera:!0,copy:function(t,e){return Qi.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){void 0===t&&(console.warn(\"THREE.Camera: .getWorldDirection() target is now required\"),t=new Kn),this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){Qi.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()},updateWorldMatrix:function(t,e){Qi.prototype.updateWorldMatrix.call(this,t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()},clone:function(){return(new this.constructor).copy(this)}}),wo.prototype=Object.assign(Object.create(_o.prototype),{constructor:wo,isPerspectiveCamera:!0,copy:function(t,e){return _o.prototype.copy.call(this,t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){const e=.5*this.getFilmHeight()/t;this.fov=2*Gn.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){const t=Math.tan(.5*Gn.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*Gn.RAD2DEG*Math.atan(Math.tan(.5*Gn.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,e,n,i,r,o){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){const t=this.near;let e=t*Math.tan(.5*Gn.DEG2RAD*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const o=this.view;if(null!==this.view&&this.view.enabled){const t=o.fullWidth,s=o.fullHeight;r+=o.offsetX*i/t,e-=o.offsetY*n/s,i*=o.width/t,n*=o.height/s}const s=this.filmOffset;0!==s&&(r+=t*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()},toJSON:function(t){const e=Qi.prototype.toJSON.call(this,t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}});const Mo=90;function So(t,e,n){if(Qi.call(this),this.type=\"CubeCamera\",!0!==n.isWebGLCubeRenderTarget)return void console.error(\"THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.\");this.renderTarget=n;const i=new wo(Mo,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new Kn(1,0,0)),this.add(i);const r=new wo(Mo,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Kn(-1,0,0)),this.add(r);const o=new wo(Mo,1,t,e);o.layers=this.layers,o.up.set(0,0,1),o.lookAt(new Kn(0,1,0)),this.add(o);const s=new wo(Mo,1,t,e);s.layers=this.layers,s.up.set(0,0,-1),s.lookAt(new Kn(0,-1,0)),this.add(s);const a=new wo(Mo,1,t,e);a.layers=this.layers,a.up.set(0,-1,0),a.lookAt(new Kn(0,0,1)),this.add(a);const c=new wo(Mo,1,t,e);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new Kn(0,0,-1)),this.add(c),this.update=function(t,e){null===this.parent&&this.updateMatrixWorld();const l=t.xr.enabled,h=t.getRenderTarget();t.xr.enabled=!1;const u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,o),t.setRenderTarget(n,3),t.render(e,s),t.setRenderTarget(n,4),t.render(e,a),n.texture.generateMipmaps=u,t.setRenderTarget(n,5),t.render(e,c),t.setRenderTarget(h),t.xr.enabled=l}}function To(t,e,n,i,r,o,s,a,c,l){t=void 0!==t?t:[],e=void 0!==e?e:st,s=void 0!==s?s:Ut,qn.call(this,t,e,n,i,r,o,s,a,c,l),this.flipY=!1,this._needsFlipEnvMap=!0}function Eo(t,e,n){Number.isInteger(e)&&(console.warn(\"THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )\"),e=n),Zn.call(this,t,t,e),e=e||{},this.texture=new To(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture._needsFlipEnvMap=!1}function Ao(t,e,n,i,r,o,s,a,c,l,h,u){qn.call(this,null,o,s,a,c,l,i,r,h,u),this.image={data:t||null,width:e||1,height:n||1},this.magFilter=void 0!==c?c:mt,this.minFilter=void 0!==l?l:mt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}So.prototype=Object.create(Qi.prototype),So.prototype.constructor=So,To.prototype=Object.create(qn.prototype),To.prototype.constructor=To,To.prototype.isCubeTexture=!0,Object.defineProperty(To.prototype,\"images\",{get:function(){return this.image},set:function(t){this.image=t}}),Eo.prototype=Object.create(Zn.prototype),Eo.prototype.constructor=Eo,Eo.prototype.isWebGLCubeRenderTarget=!0,Eo.prototype.fromEquirectangularTexture=function(t,e){this.texture.type=e.type,this.texture.format=Ft,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={tEquirect:{value:null}},i=\"\\n\\n\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t#include \\n\\t\\t\\t\\t#include \\n\\n\\t\\t\\t}\\n\\t\\t\",r=\"\\n\\n\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t}\\n\\t\\t\",o=new go(5,5,5),s=new bo({name:\"CubemapFromEquirect\",uniforms:vo(n),vertexShader:i,fragmentShader:r,side:g,blending:b});s.uniforms.tEquirect.value=e;const a=new po(o,s),c=e.minFilter;return e.minFilter===Mt&&(e.minFilter=bt),new So(1,10,this).update(t,a),e.minFilter=c,a.geometry.dispose(),a.material.dispose(),this},Eo.prototype.clear=function(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)},Ao.prototype=Object.create(qn.prototype),Ao.prototype.constructor=Ao,Ao.prototype.isDataTexture=!0;const Lo=new vi,Ro=new Kn;class Po{constructor(t,e,n,i,r,o){this.planes=[void 0!==t?t:new er,void 0!==e?e:new er,void 0!==n?n:new er,void 0!==i?i:new er,void 0!==r?r:new er,void 0!==o?o:new er]}set(t,e,n,i,r,o){const s=this.planes;return s[0].copy(t),s[1].copy(e),s[2].copy(n),s[3].copy(i),s[4].copy(r),s[5].copy(o),this}clone(){return(new this.constructor).copy(this)}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],c=n[5],l=n[6],h=n[7],u=n[8],d=n[9],p=n[10],f=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(s-i,h-a,f-u,y-m).normalize(),e[1].setComponents(s+i,h+a,f+u,y+m).normalize(),e[2].setComponents(s+r,h+c,f+d,y+g).normalize(),e[3].setComponents(s-r,h-c,f-d,y-g).normalize(),e[4].setComponents(s-o,h-l,f-p,y-v).normalize(),e[5].setComponents(s+o,h+l,f+p,y+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Lo.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(Lo)}intersectsSprite(t){return Lo.center.set(0,0,0),Lo.radius=.7071067811865476,Lo.applyMatrix4(t.matrixWorld),this.intersectsSphere(Lo)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++)if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,Ro.y=i.normal.y>0?t.max.y:t.min.y,Ro.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(Ro)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}}function Co(){let t=null,e=!1,n=null,i=null;function r(e,o){n(e,o),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Oo(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version 0.0 ) {\\n\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t}\\n\\treturn distanceFalloff;\\n#else\\n\\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t}\\n\\treturn 1.0;\\n#endif\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\\n\\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\\n\\treturn Fr * fresnel + F0;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\\n\\treturn specularColor * brdf.x + brdf.y;\\n}\\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\\n\\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\\n\\tvec3 FssEss = F * brdf.x + brdf.y;\\n\\tfloat Ess = brdf.x + brdf.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie(float roughness, float NoH) {\\n\\tfloat invAlpha = 1.0 / roughness;\\n\\tfloat cos2h = NoH * NoH;\\n\\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\\n}\\nfloat V_Neubelt(float NoV, float NoL) {\\n\\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\\n}\\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 H = normalize( V + L );\\n\\tfloat dotNH = saturate( dot( N, H ) );\\n\\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\\n}\\n#endif\",bumpmap_pars_fragment:\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\\n\\t\\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\",clipping_planes_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\",color_fragment:\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",color_pars_vertex:\"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor.xyz *= color.xyz;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\",common:\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat linearToRelativeLuminance( const in vec3 color ) {\\n\\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n\\treturn dot( weights, color.rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_maxMipLevel 8.0\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_maxTileSize 256.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\\n\\t\\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\\n\\t\\tvec2 f = fract( uv );\\n\\t\\tuv += 0.5 - f;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tif ( mipInt < cubeUV_maxMipLevel ) {\\n\\t\\t\\tuv.y += 2.0 * cubeUV_maxTileSize;\\n\\t\\t}\\n\\t\\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\\n\\t\\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\\n\\t\\tuv *= texelSize;\\n\\t\\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\\n\\t\\tuv.x += texelSize;\\n\\t\\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\\n\\t\\tuv.y += texelSize;\\n\\t\\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\\n\\t\\tuv.x -= texelSize;\\n\\t\\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\\n\\t\\tvec3 tm = mix( tl, tr, f.x );\\n\\t\\tvec3 bm = mix( bl, br, f.x );\\n\\t\\treturn mix( tm, bm, f.y );\\n\\t}\\n\\t#define r0 1.0\\n\\t#define v0 0.339\\n\\t#define m0 - 2.0\\n\\t#define r1 0.8\\n\\t#define v1 0.276\\n\\t#define m1 - 1.0\\n\\t#define r4 0.4\\n\\t#define v4 0.046\\n\\t#define m4 2.0\\n\\t#define r5 0.305\\n\\t#define v5 0.016\\n\\t#define m5 3.0\\n\\t#define r6 0.21\\n\\t#define v6 0.0038\\n\\t#define m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= r1 ) {\\n\\t\\t\\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\\n\\t\\t} else if ( roughness >= r4 ) {\\n\\t\\t\\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\\n\\t\\t} else if ( roughness >= r5 ) {\\n\\t\\t\\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\\n\\t\\t} else if ( roughness >= r6 ) {\\n\\t\\t\\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\",defaultnormal_vertex:\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\\n#endif\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\",encodings_fragment:\"gl_FragColor = linearToOutputTexel( gl_FragColor );\",encodings_pars_fragment:\"\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n\\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n\\tfloat maxComponent = max( max( value.r, value.g ), value.b );\\n\\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n\\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\\n\\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n\\tM = ceil( M * 255.0 ) / 255.0;\\n\\treturn vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\\n\\tfloat D = max( maxRange / maxRGB, 1.0 );\\n\\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\\n\\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n\\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\\n\\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\\n\\tvec4 vResult;\\n\\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n\\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n\\tvResult.w = fract( Le );\\n\\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\\n\\treturn vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n\\tfloat Le = value.z * 255.0 + value.w;\\n\\tvec3 Xp_Y_XYZp;\\n\\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\\n\\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n\\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n\\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\\n\\treturn vec4( max( vRGB, 0.0 ), 1.0 );\\n}\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifndef ENVMAP_TYPE_CUBE_UV\\n\\t\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\",envmap_common_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\tuniform int maxMipLevel;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\",envmap_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\",envmap_physical_pars_fragment:\"#if defined( USE_ENVMAP )\\n\\t#ifdef ENVMAP_MODE_REFRACTION\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\",fog_vertex:\"#ifdef USE_FOG\\n\\tfogDepth = - mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n\\tvarying float fogDepth;\\n#endif\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float fogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\",gradientmap_pars_fragment:\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn texture2D( gradientMap, coord ).rgb;\\n\\t#else\\n\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t#endif\\n}\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n#endif\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_vertex:\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\nvIndirectFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n\\tvIndirectBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\\n#ifdef DOUBLE_SIDED\\n\\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\\n\\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\",lights_pars_begin:\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\\n\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tdirectLight.color = pointLight.color;\\n\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( angleCos > spotLight.coneCos ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\",lights_toon_fragment:\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\",lights_toon_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\\n#define Material_LightProbeLOD( material )\\t(0)\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\\n#ifdef REFLECTIVITY\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#endif\\n#ifdef CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheen;\\n#endif\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat specularRoughness;\\n\\tvec3 specularColor;\\n#ifdef CLEARCOAT\\n\\tfloat clearcoat;\\n\\tfloat clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\n\\tvec3 sheenColor;\\n#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.specularRoughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3( 0, 1, 0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifdef CLEARCOAT\\n\\t\\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = ccDotNL * directLight.color;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tccIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\\n\\t\\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\\n\\t#else\\n\\t\\tfloat clearcoatDHR = 0.0;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\\n\\t\\t\\tmaterial.specularRoughness,\\n\\t\\t\\tdirectLight.direction,\\n\\t\\t\\tgeometry,\\n\\t\\t\\tmaterial.sheenColor\\n\\t\\t);\\n\\t#else\\n\\t\\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\\n\\t#endif\\n\\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef CLEARCOAT\\n\\t\\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\\n\\t\\tfloat ccDotNL = ccDotNV;\\n\\t\\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\\n\\t#else\\n\\t\\tfloat clearcoatDHR = 0.0;\\n\\t#endif\\n\\tfloat clearcoatInv = 1.0 - clearcoatDHR;\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\\n\\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\",lights_fragment_begin:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\",lights_fragment_maps:\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\\n\\t#ifdef CLEARCOAT\\n\\t\\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\\n\\t#endif\\n#endif\",lights_fragment_end:\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\",logdepthbuf_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\",map_particle_fragment:\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, uv );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\",map_particle_pars_fragment:\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tuniform mat3 uvTransform;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n#endif\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifndef USE_MORPHNORMALS\\n\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\",normal_fragment_begin:\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t#endif\\n\\t#ifdef USE_TANGENT\\n\\t\\tvec3 tangent = normalize( vTangent );\\n\\t\\tvec3 bitangent = normalize( vBitangent );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\t\\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\t#endif\\n\\t\\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tmat3 vTBN = mat3( tangent, bitangent, normal );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\",normal_fragment_maps:\"#ifdef OBJECTSPACE_NORMALMAP\\n\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( TANGENTSPACE_NORMALMAP )\\n\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tnormal = normalize( vTBN * mapN );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef OBJECTSPACE_NORMALMAP\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\\n\\t\\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\\n\\t\\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\\n\\t\\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\\n\\t\\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\",clearcoat_normal_fragment_begin:\"#ifdef CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\",clearcoat_normal_fragment_maps:\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\\n\\t#else\\n\\t\\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN );\\n\\t#endif\\n#endif\",clearcoat_pars_fragment:\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\",project_vertex:\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\",dithering_fragment:\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\",dithering_pars_fragment:\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\",shadowmap_pars_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\",shadowmap_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\tvec4 shadowWorldPosition;\\n\\t#endif\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform highp sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\",tonemapping_pars_fragment:\"#ifndef saturate\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3( 1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108, 1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605, 1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\",transmissionmap_fragment:\"#ifdef USE_TRANSMISSIONMAP\\n\\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\\n#endif\",transmissionmap_pars_fragment:\"#ifdef USE_TRANSMISSIONMAP\\n\\tuniform sampler2D transmissionMap;\\n#endif\",uv_pars_fragment:\"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\\n\\tvarying vec2 vUv;\\n#endif\",uv_pars_vertex:\"#ifdef USE_UV\\n\\t#ifdef UVS_VERTEX_ONLY\\n\\t\\tvec2 vUv;\\n\\t#else\\n\\t\\tvarying vec2 vUv;\\n\\t#endif\\n\\tuniform mat3 uvTransform;\\n#endif\",uv_vertex:\"#ifdef USE_UV\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\",uv2_pars_fragment:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_pars_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n\\tuniform mat3 uv2Transform;\\n#endif\",uv2_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\",background_frag:\"uniform sampler2D t2D;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include \\n\\t#include \\n}\",background_vert:\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\",cube_frag:\"#include \\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 vReflect = vWorldDirection;\\n\\t#include \\n\\tgl_FragColor = envColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include \\n\\t#include \\n}\",cube_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\",distanceRGBA_frag:\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\",distanceRGBA_vert:\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition.xyz;\\n}\",equirect_frag:\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tvec4 texColor = texture2D( tEquirect, sampleUV );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include \\n\\t#include \\n}\",equirect_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\n\\t\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_frag:\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vIndirectFront;\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshmatcap_frag:\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t\\tmatcapColor = matcapTexelToLinear( matcapColor );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshmatcap_vert:\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifndef FLAT_SHADED\\n\\t\\tvNormal = normalize( transformedNormal );\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n}\",meshtoon_frag:\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshtoon_vert:\"#define TOON\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphysical_frag:\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define REFLECTIVITY\\n\\t#define CLEARCOAT\\n\\t#define TRANSMISSION\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef TRANSMISSION\\n\\tuniform float transmission;\\n#endif\\n#ifdef REFLECTIVITY\\n\\tuniform float reflectivity;\\n#endif\\n#ifdef CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheen;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#ifdef TRANSMISSION\\n\\t\\tfloat totalTransmission = transmission;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#ifdef TRANSMISSION\\n\\t\\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\\n\\t#endif\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphysical_vert:\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",normal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\",normal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_frag:\"uniform vec3 color;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_vert:\"#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_vert:\"uniform float rotation;\\nuniform vec2 center;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\"},Bo={common:{diffuse:{value:new xr(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new kn},uv2Transform:{value:new kn},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Hn(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new xr(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new xr(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new kn}},sprite:{diffuse:{value:new xr(15658734)},opacity:{value:1},center:{value:new Hn(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new kn}}},No={basic:{uniforms:yo([Bo.common,Bo.specularmap,Bo.envmap,Bo.aomap,Bo.lightmap,Bo.fog]),vertexShader:Io.meshbasic_vert,fragmentShader:Io.meshbasic_frag},lambert:{uniforms:yo([Bo.common,Bo.specularmap,Bo.envmap,Bo.aomap,Bo.lightmap,Bo.emissivemap,Bo.fog,Bo.lights,{emissive:{value:new xr(0)}}]),vertexShader:Io.meshlambert_vert,fragmentShader:Io.meshlambert_frag},phong:{uniforms:yo([Bo.common,Bo.specularmap,Bo.envmap,Bo.aomap,Bo.lightmap,Bo.emissivemap,Bo.bumpmap,Bo.normalmap,Bo.displacementmap,Bo.fog,Bo.lights,{emissive:{value:new xr(0)},specular:{value:new xr(1118481)},shininess:{value:30}}]),vertexShader:Io.meshphong_vert,fragmentShader:Io.meshphong_frag},standard:{uniforms:yo([Bo.common,Bo.envmap,Bo.aomap,Bo.lightmap,Bo.emissivemap,Bo.bumpmap,Bo.normalmap,Bo.displacementmap,Bo.roughnessmap,Bo.metalnessmap,Bo.fog,Bo.lights,{emissive:{value:new xr(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Io.meshphysical_vert,fragmentShader:Io.meshphysical_frag},toon:{uniforms:yo([Bo.common,Bo.aomap,Bo.lightmap,Bo.emissivemap,Bo.bumpmap,Bo.normalmap,Bo.displacementmap,Bo.gradientmap,Bo.fog,Bo.lights,{emissive:{value:new xr(0)}}]),vertexShader:Io.meshtoon_vert,fragmentShader:Io.meshtoon_frag},matcap:{uniforms:yo([Bo.common,Bo.bumpmap,Bo.normalmap,Bo.displacementmap,Bo.fog,{matcap:{value:null}}]),vertexShader:Io.meshmatcap_vert,fragmentShader:Io.meshmatcap_frag},points:{uniforms:yo([Bo.points,Bo.fog]),vertexShader:Io.points_vert,fragmentShader:Io.points_frag},dashed:{uniforms:yo([Bo.common,Bo.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Io.linedashed_vert,fragmentShader:Io.linedashed_frag},depth:{uniforms:yo([Bo.common,Bo.displacementmap]),vertexShader:Io.depth_vert,fragmentShader:Io.depth_frag},normal:{uniforms:yo([Bo.common,Bo.bumpmap,Bo.normalmap,Bo.displacementmap,{opacity:{value:1}}]),vertexShader:Io.normal_vert,fragmentShader:Io.normal_frag},sprite:{uniforms:yo([Bo.sprite,Bo.fog]),vertexShader:Io.sprite_vert,fragmentShader:Io.sprite_frag},background:{uniforms:{uvTransform:{value:new kn},t2D:{value:null}},vertexShader:Io.background_vert,fragmentShader:Io.background_frag},cube:{uniforms:yo([Bo.envmap,{opacity:{value:1}}]),vertexShader:Io.cube_vert,fragmentShader:Io.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Io.equirect_vert,fragmentShader:Io.equirect_frag},distanceRGBA:{uniforms:yo([Bo.common,Bo.displacementmap,{referencePosition:{value:new Kn},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Io.distanceRGBA_vert,fragmentShader:Io.distanceRGBA_frag},shadow:{uniforms:yo([Bo.lights,Bo.fog,{color:{value:new xr(0)},opacity:{value:1}}]),vertexShader:Io.shadow_vert,fragmentShader:Io.shadow_frag}};function zo(t,e,n,i,r){const o=new xr(0);let s,a,c=0,l=null,h=0,u=null;function d(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,r)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),c=e,d(o,c)},getClearAlpha:function(){return c},setClearAlpha:function(t){c=t,d(o,c)},render:function(n,r,p,f){let v=!0===r.isScene?r.background:null;v&&v.isTexture&&(v=e.get(v));const y=t.xr,x=y.getSession&&y.getSession();x&&\"additive\"===x.environmentBlendMode&&(v=null),null===v?d(o,c):v&&v.isColor&&(d(v,1),f=!0),(t.autoClear||f)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.isWebGLCubeRenderTarget||v.mapping===ht)?(void 0===a&&(a=new po(new go(1,1,1),new bo({name:\"BackgroundCubeMaterial\",uniforms:vo(No.cube.uniforms),vertexShader:No.cube.vertexShader,fragmentShader:No.cube.fragmentShader,side:g,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute(\"normal\"),a.geometry.deleteAttribute(\"uv\"),a.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(a.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}}),i.update(a)),v.isWebGLCubeRenderTarget&&(v=v.texture),a.material.uniforms.envMap.value=v,a.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v._needsFlipEnvMap?-1:1,l===v&&h===v.version&&u===t.toneMapping||(a.material.needsUpdate=!0,l=v,h=v.version,u=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null)):v&&v.isTexture&&(void 0===s&&(s=new po(new Do(2,2),new bo({name:\"BackgroundMaterial\",uniforms:vo(No.background.uniforms),vertexShader:No.background.vertexShader,fragmentShader:No.background.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute(\"normal\"),Object.defineProperty(s.material,\"map\",{get:function(){return this.uniforms.t2D.value}}),i.update(s)),s.material.uniforms.t2D.value=v,!0===v.matrixAutoUpdate&&v.updateMatrix(),s.material.uniforms.uvTransform.value.copy(v.matrix),l===v&&h===v.version&&u===t.toneMapping||(s.material.needsUpdate=!0,l=v,h=v.version,u=t.toneMapping),n.unshift(s,s.geometry,s.material,0,0,null))}}}function Uo(t,e,n,i){const r=t.getParameter(34921),o=i.isWebGL2?null:e.get(\"OES_vertex_array_object\"),s=i.isWebGL2||null!==o,a={},c=d(null);let l=c;function h(e){return i.isWebGL2?t.bindVertexArray(e):o.bindVertexArrayOES(e)}function u(e){return i.isWebGL2?t.deleteVertexArray(e):o.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],i=[];for(let t=0;t=0){const o=c[e];if(void 0!==o){const e=o.normalized,r=o.itemSize,s=n.get(o);if(void 0===s)continue;const c=s.buffer,l=s.type,h=s.bytesPerElement;if(o.isInterleavedBufferAttribute){const n=o.data,s=n.stride,u=o.offset;n&&n.isInstancedInterleavedBuffer?(m(i,n.meshPerAttribute),void 0===a._maxInstanceCount&&(a._maxInstanceCount=n.meshPerAttribute*n.count)):f(i),t.bindBuffer(34962,c),v(i,r,l,e,s*h,u*h)}else o.isInstancedBufferAttribute?(m(i,o.meshPerAttribute),void 0===a._maxInstanceCount&&(a._maxInstanceCount=o.meshPerAttribute*o.count)):f(i),t.bindBuffer(34962,c),v(i,r,l,e,0,0)}else if(\"instanceMatrix\"===e){const e=n.get(r.instanceMatrix);if(void 0===e)continue;const o=e.buffer,s=e.type;m(i+0,1),m(i+1,1),m(i+2,1),m(i+3,1),t.bindBuffer(34962,o),t.vertexAttribPointer(i+0,4,s,!1,64,0),t.vertexAttribPointer(i+1,4,s,!1,64,16),t.vertexAttribPointer(i+2,4,s,!1,64,32),t.vertexAttribPointer(i+3,4,s,!1,64,48)}else if(\"instanceColor\"===e){const e=n.get(r.instanceColor);if(void 0===e)continue;const o=e.buffer,s=e.type;m(i,1),t.bindBuffer(34962,o),t.vertexAttribPointer(i,3,s,!1,12,0)}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i,n);break;case 3:t.vertexAttrib3fv(i,n);break;case 4:t.vertexAttrib4fv(i,n);break;default:t.vertexAttrib1fv(i,n)}}}}g()}(r,c,u,y),null!==x&&t.bindBuffer(34963,n.get(x).buffer))},reset:y,resetDefaultState:x,dispose:function(){y();for(const t in a){const e=a[t];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete a[t]}},releaseStatesOfGeometry:function(t){if(void 0===a[t.id])return;const e=a[t.id];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete a[t.id]},releaseStatesOfProgram:function(t){for(const e in a){const n=a[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)u(i[t].object),delete i[t];delete n[t.id]}},initAttributes:p,enableAttribute:f,disableUnusedAttributes:g}}function Fo(t,e,n,i){const r=i.isWebGL2;let o;this.setMode=function(t){o=t},this.render=function(e,i){t.drawArrays(o,e,i),n.update(i,o,1)},this.renderInstances=function(i,s,a){if(0===a)return;let c,l;if(r)c=t,l=\"drawArraysInstanced\";else if(c=e.get(\"ANGLE_instanced_arrays\"),l=\"drawArraysInstancedANGLE\",null===c)return void console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");c[l](o,i,s,a),n.update(s,o,a)}}function Go(t,e,n){let i;function r(e){if(\"highp\"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return\"highp\";e=\"mediump\"}return\"mediump\"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?\"mediump\":\"lowp\"}const o=\"undefined\"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||\"undefined\"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let s=void 0!==n.precision?n.precision:\"highp\";const a=r(s);a!==s&&(console.warn(\"THREE.WebGLRenderer:\",s,\"not supported, using\",a,\"instead.\"),s=a);const c=!0===n.logarithmicDepthBuffer,l=t.getParameter(34930),h=t.getParameter(35660),u=t.getParameter(3379),d=t.getParameter(34076),p=t.getParameter(34921),f=t.getParameter(36347),m=t.getParameter(36348),g=t.getParameter(36349),v=h>0,y=o||!!e.get(\"OES_texture_float\");return{isWebGL2:o,getMaxAnisotropy:function(){if(void 0!==i)return i;const n=e.get(\"EXT_texture_filter_anisotropic\");return i=null!==n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,i},getMaxPrecision:r,precision:s,logarithmicDepthBuffer:c,maxTextures:l,maxVertexTextures:h,maxTextureSize:u,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y,maxSamples:o?t.getParameter(36183):0}}function Ho(t){const e=this;let n=null,i=0,r=!1,o=!1;const s=new er,a=new kn,c={value:null,needsUpdate:!1};function l(){c.value!==n&&(c.value=n,c.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(t,n,i,r){const o=null!==t?t.length:0;let l=null;if(0!==o){if(l=c.value,!0!==r||null===l){const e=i+4*o,r=n.matrixWorldInverse;a.getNormalMatrix(r),(null===l||l.length0){const s=t.getRenderList(),a=t.getRenderTarget(),c=new Eo(o.height/2);return c.fromEquirectangularTexture(t,r),e.set(r,c),t.setRenderTarget(a),t.setRenderList(s),r.addEventListener(\"dispose\",i),n(c.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}function jo(t){const e={};return{has:function(n){if(void 0!==e[n])return null!==e[n];let i;switch(n){case\"WEBGL_depth_texture\":i=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":i=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":i=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":i=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:i=t.getExtension(n)}return e[n]=i,null!==i},get:function(t){return this.has(t)||console.warn(\"THREE.WebGLRenderer: \"+t+\" extension not supported.\"),e[t]}}}function Vo(t,e,n,i){const r=new WeakMap,o=new WeakMap;function s(t){const a=t.target,c=r.get(a);null!==c.index&&e.remove(c.index);for(const t in c.attributes)e.remove(c.attributes[t]);a.removeEventListener(\"dispose\",s),r.delete(a);const l=o.get(c);l&&(e.remove(l),o.delete(c)),i.releaseStatesOfGeometry(c),!0===a.isInstancedBufferGeometry&&delete a._maxInstanceCount,n.memory.geometries--}function a(t){const n=[],i=t.index,r=t.attributes.position;let s=0;if(null!==i){const t=i.array;s=i.version;for(let e=0,i=t.length;e65535?Dr:Cr)(n,1);a.version=s;const c=o.get(t);c&&e.remove(c),o.set(t,a)}return{get:function(t,e){let i=r.get(e);return i||(e.addEventListener(\"dispose\",s),e.isBufferGeometry?i=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new Yr).setFromObject(t)),i=e._bufferGeometry),r.set(e,i),n.memory.geometries++,i)},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t0)return t;const r=e*n;let o=is[r];if(void 0===o&&(o=new Float32Array(r),is[r]=o),0!==e){i.toArray(o,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(o,r)}return o}function ls(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n/gm;function oa(t){return t.replace(ra,sa)}function sa(t,e){const n=Io[e];if(void 0===n)throw new Error(\"Can not resolve #include <\"+e+\">\");return oa(n)}const aa=/#pragma unroll_loop[\\s]+?for \\( int i \\= (\\d+)\\; i < (\\d+)\\; i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g,ca=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function la(t){return t.replace(ca,ua).replace(aa,ha)}function ha(t,e,n,i){return console.warn(\"WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.\"),ua(0,e,n,i)}function ua(t,e,n,i){let r=\"\";for(let t=parseInt(e);t0?t.gammaFactor:1,g=n.isWebGL2?\"\":function(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||\"physical\"===t.shaderID?\"#extension GL_OES_standard_derivatives : enable\":\"\",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?\"#extension GL_EXT_frag_depth : enable\":\"\",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?\"#extension GL_EXT_draw_buffers : require\":\"\",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?\"#extension GL_EXT_shader_texture_lod : enable\":\"\"].filter(ea).join(\"\\n\")}(n),v=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push(\"#define \"+n+\" \"+i)}return e.join(\"\\n\")}(o),y=r.createProgram();let x,b,_=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";n.isRawShaderMaterial?(x=[v].filter(ea).join(\"\\n\"),x.length>0&&(x+=\"\\n\"),b=[g,v].filter(ea).join(\"\\n\"),b.length>0&&(b+=\"\\n\")):(x=[da(n),\"#define SHADER_NAME \"+n.shaderName,v,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+n.maxBones,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&!1===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+c:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#ifdef USE_COLOR\",\"\\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(ea).join(\"\\n\"),b=[g,da(n),\"#define SHADER_NAME \"+n.shaderName,v,n.alphaTest?\"#define ALPHATEST \"+n.alphaTest+(n.alphaTest%1?\"\":\".0\"):\"\",\"#define GAMMA_FACTOR \"+m,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+l:\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+u:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+c:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==$?\"#define TONE_MAPPING\":\"\",n.toneMapping!==$?Io.tonemapping_pars_fragment:\"\",n.toneMapping!==$?ta(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",Io.encodings_pars_fragment,n.map?Ks(\"mapTexelToLinear\",n.mapEncoding):\"\",n.matcap?Ks(\"matcapTexelToLinear\",n.matcapEncoding):\"\",n.envMap?Ks(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMap?Ks(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.lightMap?Ks(\"lightMapTexelToLinear\",n.lightMapEncoding):\"\",$s(\"linearToOutputTexel\",n.outputEncoding),n.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(ea).join(\"\\n\")),s=oa(s),s=na(s,n),s=ia(s,n),a=oa(a),a=na(a,n),a=ia(a,n),s=la(s),a=la(a),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(_=\"#version 300 es\\n\",x=[\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+x,b=[\"#define varying in\",n.glslVersion===Nn?\"\":\"out highp vec4 pc_fragColor;\",n.glslVersion===Nn?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+b);const w=_+b+a,M=Ys(r,35633,_+x+s),S=Ys(r,35632,w);if(r.attachShader(y,M),r.attachShader(y,S),void 0!==n.index0AttributeName?r.bindAttribLocation(y,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(y,0,\"position\"),r.linkProgram(y),t.debug.checkShaderErrors){const t=r.getProgramInfoLog(y).trim(),e=r.getShaderInfoLog(M).trim(),n=r.getShaderInfoLog(S).trim();let i=!0,o=!0;if(!1===r.getProgramParameter(y,35714)){i=!1;const e=Qs(r,M,\"vertex\"),n=Qs(r,S,\"fragment\");console.error(\"THREE.WebGLProgram: shader error: \",r.getError(),\"35715\",r.getProgramParameter(y,35715),\"gl.getProgramInfoLog\",t,e,n)}else\"\"!==t?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",t):\"\"!==e&&\"\"!==n||(o=!1);o&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:x},fragmentShader:{log:n,prefix:b}})}let T,E;return r.deleteShader(M),r.deleteShader(S),this.getUniforms=function(){return void 0===T&&(T=new Xs(r,y)),T},this.getAttributes=function(){return void 0===E&&(E=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r0,maxBones:S,useVertexTexture:l,morphTargets:r.morphTargets,morphNormals:r.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:r.dithering,shadowMapEnabled:t.shadowMap.enabled&&f.length>0,shadowMapType:t.shadowMap.type,toneMapping:r.toneMapped?t.toneMapping:$,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:r.side===v,flipSided:r.side===g,depthPacking:void 0!==r.depthPacking&&r.depthPacking,index0AttributeName:r.index0AttributeName,extensionDerivatives:r.extensions&&r.extensions.derivatives,extensionFragDepth:r.extensions&&r.extensions.fragDepth,extensionDrawBuffers:r.extensions&&r.extensions.drawBuffers,extensionShaderTextureLOD:r.extensions&&r.extensions.shaderTextureLOD,rendererExtensionFragDepth:a||n.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:a||n.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:a||n.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:r.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);if(!1===e.isRawShaderMaterial){for(let t=0;t1&&i.sort(t||ga),r.length>1&&r.sort(e||va)}}}function xa(t){let e=new WeakMap;return{get:function(n,i){const r=e.get(n);let o;return void 0===r?(o=new ya(t),e.set(n,new WeakMap),e.get(n).set(i,o)):(o=r.get(i),void 0===o&&(o=new ya(t),r.set(i,o))),o},dispose:function(){e=new WeakMap}}}function ba(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case\"DirectionalLight\":n={direction:new Kn,color:new xr};break;case\"SpotLight\":n={position:new Kn,direction:new Kn,color:new xr,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Kn,color:new xr,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Kn,skyColor:new xr,groundColor:new xr};break;case\"RectAreaLight\":n={color:new xr,position:new Kn,halfWidth:new Kn,halfHeight:new Kn}}return t[e.id]=n,n}}}let _a=0;function wa(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Ma(t,e){const n=new ba,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case\"DirectionalLight\":case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Hn};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Hn,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)r.probe.push(new Kn);const o=new Kn,s=new Ei,a=new Ei;return{setup:function(o){let s=0,a=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let l=0,h=0,u=0,d=0,p=0,f=0,m=0,g=0;o.sort(wa);for(let t=0,e=o.length;t0&&(e.isWebGL2||!0===t.has(\"OES_texture_float_linear\")?(r.rectAreaLTC1=Bo.LTC_FLOAT_1,r.rectAreaLTC2=Bo.LTC_FLOAT_2):!0===t.has(\"OES_texture_half_float_linear\")?(r.rectAreaLTC1=Bo.LTC_HALF_1,r.rectAreaLTC2=Bo.LTC_HALF_2):console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\")),r.ambient[0]=s,r.ambient[1]=a,r.ambient[2]=c;const v=r.hash;v.directionalLength===l&&v.pointLength===h&&v.spotLength===u&&v.rectAreaLength===d&&v.hemiLength===p&&v.numDirectionalShadows===f&&v.numPointShadows===m&&v.numSpotShadows===g||(r.directional.length=l,r.spot.length=u,r.rectArea.length=d,r.point.length=h,r.hemi.length=p,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=g,r.spotShadowMap.length=g,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=m,r.spotShadowMatrix.length=g,v.directionalLength=l,v.pointLength=h,v.spotLength=u,v.rectAreaLength=d,v.hemiLength=p,v.numDirectionalShadows=f,v.numPointShadows=m,v.numSpotShadows=g,r.version=_a++)},setupView:function(t,e){let n=0,i=0,c=0,l=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(i).length?(o=new Sa(t,e),n.get(i).push(o)):o=n.get(i)[r],o},dispose:function(){n=new WeakMap}}}function Ea(t){wr.call(this),this.type=\"MeshDepthMaterial\",this.depthPacking=sn,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}function Aa(t){wr.call(this),this.type=\"MeshDistanceMaterial\",this.referencePosition=new Kn,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}function La(t,e,n){let i=new Po;const r=new Hn,o=new Hn,s=new Yn,a=[],c=[],l={},h={0:g,1:m,2:v},u=new bo({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new Hn},radius:{value:4}},vertexShader:\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\",fragmentShader:\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include \\nvoid main() {\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\\n\\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean * HALF_SAMPLE_RATE;\\n\\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\"}),p=u.clone();p.defines.HORIZONTAL_PASS=1;const y=new Yr;y.setAttribute(\"position\",new Er(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const x=new po(y,u),_=this;function w(n,i){const r=e.update(x);u.uniforms.shadow_pass.value=n.map.texture,u.uniforms.resolution.value=n.mapSize,u.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,r,u,x,null),p.uniforms.shadow_pass.value=n.mapPass.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,p,x,null)}function M(t,e,n){const i=t<<0|e<<1|n<<2;let r=a[i];return void 0===r&&(r=new Ea({depthPacking:an,morphTargets:t,skinning:e}),a[i]=r),r}function S(t,e,n){const i=t<<0|e<<1|n<<2;let r=c[i];return void 0===r&&(r=new Aa({morphTargets:t,skinning:e}),c[i]=r),r}function T(e,n,i,r,o,s,a){let c=null,u=M,d=e.customDepthMaterial;if(!0===r.isPointLight&&(u=S,d=e.customDistanceMaterial),void 0===d){let t=!1;!0===i.morphTargets&&(t=n.morphAttributes&&n.morphAttributes.position&&n.morphAttributes.position.length>0);let r=!1;!0===e.isSkinnedMesh&&(!0===i.skinning?r=!0:console.warn(\"THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:\",e)),c=u(t,r,!0===e.isInstancedMesh)}else c=d;if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){const t=c.uuid,e=i.uuid;let n=l[t];void 0===n&&(n={},l[t]=n);let r=n[e];void 0===r&&(r=c.clone(),n[e]=r),c=r}return c.visible=i.visible,c.wireframe=i.wireframe,c.side=a===f?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:h[i.side],c.clipShadows=i.clipShadows,c.clippingPlanes=i.clippingPlanes,c.clipIntersection=i.clipIntersection,c.wireframeLinewidth=i.wireframeLinewidth,c.linewidth=i.linewidth,!0===r.isPointLight&&!0===c.isMeshDistanceMaterial&&(c.referencePosition.setFromMatrixPosition(r.matrixWorld),c.nearDistance=o,c.farDistance=s),c}function E(n,r,o,s,a){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&a===f)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let c=0,l=e.length;cn||r.y>n)&&(r.x>n&&(o.x=Math.floor(n/p.x),r.x=o.x*p.x,u.mapSize.x=o.x),r.y>n&&(o.y=Math.floor(n/p.y),r.y=o.y*p.y,u.mapSize.y=o.y)),null===u.map&&!u.isPointLightShadow&&this.type===f){const t={minFilter:bt,magFilter:bt,format:Ft};u.map=new Zn(r.x,r.y,t),u.map.texture.name=h.name+\".shadowMap\",u.mapPass=new Zn(r.x,r.y,t),u.camera.updateProjectionMatrix()}if(null===u.map){const t={minFilter:mt,magFilter:mt,format:Ft};u.map=new Zn(r.x,r.y,t),u.map.texture.name=h.name+\".shadowMap\",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const m=u.getViewportCount();for(let t=0;t=1):-1!==at.indexOf(\"OpenGL ES\")&&(st=parseFloat(/^OpenGL ES (\\d)/.exec(at)[1]),ot=st>=2);let ct=null,lt={};const ht=new Yn,ut=new Yn;function dt(e,n,i){const r=new Uint8Array(4),o=t.createTexture();t.bindTexture(e,o),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;ei||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if(\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?Gn.floorPowerOfTwo:Math.floor,o=i(r*t.width),s=i(r*t.height);void 0===p&&(p=m(o,s));const a=n?m(o,s):p;return a.width=o,a.height=s,a.getContext(\"2d\").drawImage(t,0,0,o,s),console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+t.width+\"x\"+t.height+\") to (\"+o+\"x\"+s+\").\"),a}return\"data\"in t&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+t.width+\"x\"+t.height+\").\"),t}return t}function v(t){return Gn.isPowerOfTwo(t.width)&&Gn.isPowerOfTwo(t.height)}function y(t,e){return t.generateMipmaps&&e&&t.minFilter!==mt&&t.minFilter!==bt}function x(e,n,r,o){t.generateMipmap(e),i.get(n).__maxMipLevel=Math.log(Math.max(r,o))*Math.LOG2E}function b(n,i,r){if(!1===a)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let o=i;return 6403===i&&(5126===r&&(o=33326),5131===r&&(o=33325),5121===r&&(o=33321)),6407===i&&(5126===r&&(o=34837),5131===r&&(o=34843),5121===r&&(o=32849)),6408===i&&(5126===r&&(o=34836),5131===r&&(o=34842),5121===r&&(o=32856)),33325!==o&&33326!==o&&34842!==o&&34836!==o||e.get(\"EXT_color_buffer_float\"),o}function _(t){return t===mt||t===gt||t===yt?9728:9729}function w(e){const n=e.target;n.removeEventListener(\"dispose\",w),function(e){const n=i.get(e);void 0!==n.__webglInit&&(t.deleteTexture(n.__webglTexture),i.remove(e))}(n),n.isVideoTexture&&d.delete(n),s.memory.textures--}function M(e){const n=e.target;n.removeEventListener(\"dispose\",M),function(e){const n=i.get(e),r=i.get(e.texture);if(e){if(void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(n.__webglFramebuffer[e]),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[e]);else t.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer),n.__webglMultisampledFramebuffer&&t.deleteFramebuffer(n.__webglMultisampledFramebuffer),n.__webglColorRenderbuffer&&t.deleteRenderbuffer(n.__webglColorRenderbuffer),n.__webglDepthRenderbuffer&&t.deleteRenderbuffer(n.__webglDepthRenderbuffer);i.remove(e.texture),i.remove(e)}}(n),s.memory.textures--}let S=0;function T(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=s.render.frame;d.get(t)!==e&&(d.set(t,e),t.update())}(t),t.version>0&&r.__version!==t.version){const n=t.image;if(void 0===n)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\");else{if(!1!==n.complete)return void C(r,t,e);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function E(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?function(e,i,r){if(6!==i.image.length)return;P(e,i),n.activeTexture(33984+r),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,i.flipY);const s=i&&(i.isCompressedTexture||i.image[0].isCompressedTexture),c=i.image[0]&&i.image[0].isDataTexture,h=[];for(let t=0;t<6;t++)h[t]=s||c?c?i.image[t].image:i.image[t]:g(i.image[t],!1,!0,l);const u=h[0],d=v(u)||a,p=o.convert(i.format),f=o.convert(i.type),m=b(i.internalFormat,p,f);let _;if(R(34067,i,d),s){for(let t=0;t<6;t++){_=h[t].mipmaps;for(let e=0;e<_.length;e++){const r=_[e];i.format!==Ft&&i.format!==Ut?null!==p?n.compressedTexImage2D(34069+t,e,m,r.width,r.height,0,r.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):n.texImage2D(34069+t,e,m,r.width,r.height,0,p,f,r.data)}}e.__maxMipLevel=_.length-1}else{_=i.mipmaps;for(let t=0;t<6;t++)if(c){n.texImage2D(34069+t,0,m,h[t].width,h[t].height,0,p,f,h[t].data);for(let e=0;e<_.length;e++){const i=_[e].image[t].image;n.texImage2D(34069+t,e+1,m,i.width,i.height,0,p,f,i.data)}}else{n.texImage2D(34069+t,0,m,p,f,h[t]);for(let e=0;e<_.length;e++){const i=_[e];n.texImage2D(34069+t,e+1,m,p,f,i.image[t])}}e.__maxMipLevel=_.length}y(i,d)&&x(34067,i,u.width,u.height),e.__version=i.version,i.onUpdate&&i.onUpdate(i)}(s,e,r):(n.activeTexture(33984+r),n.bindTexture(34067,s.__webglTexture))}const A={[dt]:10497,[pt]:33071,[ft]:33648},L={[mt]:9728,[gt]:9984,[yt]:9986,[bt]:9729,[_t]:9985,[Mt]:9987};function R(n,o,s){s?(t.texParameteri(n,10242,A[o.wrapS]),t.texParameteri(n,10243,A[o.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,A[o.wrapR]),t.texParameteri(n,10240,L[o.magFilter]),t.texParameteri(n,10241,L[o.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),o.wrapS===pt&&o.wrapT===pt||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\"),t.texParameteri(n,10240,_(o.magFilter)),t.texParameteri(n,10241,_(o.minFilter)),o.minFilter!==mt&&o.minFilter!==bt&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\"));const c=e.get(\"EXT_texture_filter_anisotropic\");if(c){if(o.type===Ct&&null===e.get(\"OES_texture_float_linear\"))return;if(o.type===Ot&&null===(a||e.get(\"OES_texture_half_float_linear\")))return;(o.anisotropy>1||i.get(o).__currentAnisotropy)&&(t.texParameterf(n,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o.anisotropy,r.getMaxAnisotropy())),i.get(o).__currentAnisotropy=o.anisotropy)}}function P(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener(\"dispose\",w),e.__webglTexture=t.createTexture(),s.memory.textures++)}function C(e,i,r){let s=3553;i.isDataTexture2DArray&&(s=35866),i.isDataTexture3D&&(s=32879),P(e,i),n.activeTexture(33984+r),n.bindTexture(s,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment);const c=function(t){return!a&&(t.wrapS!==pt||t.wrapT!==pt||t.minFilter!==mt&&t.minFilter!==bt)}(i)&&!1===v(i.image),l=g(i.image,c,!1,h),u=v(l)||a,d=o.convert(i.format);let p,f=o.convert(i.type),m=b(i.internalFormat,d,f);R(s,i,u);const _=i.mipmaps;if(i.isDepthTexture)m=6402,a?m=i.type===Ct?36012:i.type===Pt?33190:i.type===Nt?35056:33189:i.type===Ct&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\"),i.format===jt&&6402===m&&i.type!==Lt&&i.type!==Pt&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),i.type=Lt,f=o.convert(i.type)),i.format===Vt&&6402===m&&(m=34041,i.type!==Nt&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),i.type=Nt,f=o.convert(i.type))),n.texImage2D(3553,0,m,l.width,l.height,0,d,f,null);else if(i.isDataTexture)if(_.length>0&&u){for(let t=0,e=_.length;t0&&u){for(let t=0,e=_.length;t=c&&console.warn(\"THREE.WebGLTextures: Trying to use \"+t+\" texture units while this GPU supports only \"+c),S+=1,t},this.resetTextureUnits=function(){S=0},this.setTexture2D=T,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?C(r,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?C(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=E,this.setupRenderTarget=function(e){const r=i.get(e),c=i.get(e.texture);e.addEventListener(\"dispose\",M),c.__webglTexture=t.createTexture(),s.memory.textures++;const l=!0===e.isWebGLCubeRenderTarget,h=!0===e.isWebGLMultisampleRenderTarget,u=v(e)||a;if(!a||e.texture.format!==Ut||e.texture.type!==Ct&&e.texture.type!==Ot||(e.texture.format=Ft,console.warn(\"THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.\")),l){r.__webglFramebuffer=[];for(let e=0;e<6;e++)r.__webglFramebuffer[e]=t.createFramebuffer()}else if(r.__webglFramebuffer=t.createFramebuffer(),h)if(a){r.__webglMultisampledFramebuffer=t.createFramebuffer(),r.__webglColorRenderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,r.__webglColorRenderbuffer);const n=o.convert(e.texture.format),i=o.convert(e.texture.type),s=b(e.texture.internalFormat,n,i),a=I(e);t.renderbufferStorageMultisample(36161,a,s,e.width,e.height),t.bindFramebuffer(36160,r.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064,36161,r.__webglColorRenderbuffer),t.bindRenderbuffer(36161,null),e.depthBuffer&&(r.__webglDepthRenderbuffer=t.createRenderbuffer(),D(r.__webglDepthRenderbuffer,e,!0)),t.bindFramebuffer(36160,null)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\");if(l){n.bindTexture(34067,c.__webglTexture),R(34067,e.texture,u);for(let t=0;t<6;t++)O(r.__webglFramebuffer[t],e,36064,34069+t);y(e.texture,u)&&x(34067,e.texture,e.width,e.height),n.bindTexture(34067,null)}else n.bindTexture(3553,c.__webglTexture),R(3553,e.texture,u),O(r.__webglFramebuffer,e,36064,3553),y(e.texture,u)&&x(3553,e.texture,e.width,e.height),n.bindTexture(3553,null);e.depthBuffer&&function(e){const n=i.get(e),r=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture){if(r)throw new Error(\"target.depthTexture not supported in Cube render targets\");!function(e,n){if(n&&n.isWebGLCubeRenderTarget)throw new Error(\"Depth Texture with cube render targets is not supported\");if(t.bindFramebuffer(36160,e),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");i.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),T(n.depthTexture,0);const r=i.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===jt)t.framebufferTexture2D(36160,36096,3553,r,0);else{if(n.depthTexture.format!==Vt)throw new Error(\"Unknown depthTexture format\");t.framebufferTexture2D(36160,33306,3553,r,0)}}(n.__webglFramebuffer,e)}else if(r){n.__webglDepthbuffer=[];for(let i=0;i<6;i++)t.bindFramebuffer(36160,n.__webglFramebuffer[i]),n.__webglDepthbuffer[i]=t.createRenderbuffer(),D(n.__webglDepthbuffer[i],e,!1)}else t.bindFramebuffer(36160,n.__webglFramebuffer),n.__webglDepthbuffer=t.createRenderbuffer(),D(n.__webglDepthbuffer,e,!1);t.bindFramebuffer(36160,null)}(e)},this.updateRenderTargetMipmap=function(t){const e=t.texture;if(y(e,v(t)||a)){const r=t.isWebGLCubeRenderTarget?34067:3553,o=i.get(e).__webglTexture;n.bindTexture(r,o),x(r,e,t.width,t.height),n.bindTexture(r,null)}},this.updateMultisampleRenderTarget=function(e){if(e.isWebGLMultisampleRenderTarget)if(a){const n=i.get(e);t.bindFramebuffer(36008,n.__webglMultisampledFramebuffer),t.bindFramebuffer(36009,n.__webglFramebuffer);const r=e.width,o=e.height;let s=16384;e.depthBuffer&&(s|=256),e.stencilBuffer&&(s|=1024),t.blitFramebuffer(0,0,r,o,0,0,r,o,s,9728),t.bindFramebuffer(36160,n.__webglMultisampledFramebuffer)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")},this.safeSetTexture2D=function(t,e){t&&t.isWebGLRenderTarget&&(!1===B&&(console.warn(\"THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.\"),B=!0),t=t.texture),T(t,e)},this.safeSetTextureCube=function(t,e){t&&t.isWebGLCubeRenderTarget&&(!1===N&&(console.warn(\"THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),N=!0),t=t.texture),E(t,e)}}function Ca(t,e,n){const i=n.isWebGL2;return{convert:function(t){let n;if(t===Tt)return 5121;if(t===Dt)return 32819;if(t===It)return 32820;if(t===Bt)return 33635;if(t===Et)return 5120;if(t===At)return 5122;if(t===Lt)return 5123;if(t===Rt)return 5124;if(t===Pt)return 5125;if(t===Ct)return 5126;if(t===Ot)return i?5131:(n=e.get(\"OES_texture_half_float\"),null!==n?n.HALF_FLOAT_OES:null);if(t===zt)return 6406;if(t===Ut)return 6407;if(t===Ft)return 6408;if(t===Gt)return 6409;if(t===Ht)return 6410;if(t===jt)return 6402;if(t===Vt)return 34041;if(t===Wt)return 6403;if(t===qt)return 36244;if(t===Xt)return 33319;if(t===Yt)return 33320;if(t===Zt)return 36248;if(t===Jt)return 36249;if(t===Qt||t===Kt||t===$t||t===te){if(n=e.get(\"WEBGL_compressed_texture_s3tc\"),null===n)return null;if(t===Qt)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Kt)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===$t)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===te)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(t===ee||t===ne||t===ie||t===re){if(n=e.get(\"WEBGL_compressed_texture_pvrtc\"),null===n)return null;if(t===ee)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===ne)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===ie)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===re)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===oe)return n=e.get(\"WEBGL_compressed_texture_etc1\"),null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null;if((t===se||t===ae)&&(n=e.get(\"WEBGL_compressed_texture_etc\"),null!==n)){if(t===se)return n.COMPRESSED_RGB8_ETC2;if(t===ae)return n.COMPRESSED_RGBA8_ETC2_EAC}return t===ce||t===le||t===he||t===ue||t===de||t===pe||t===fe||t===me||t===ge||t===ve||t===ye||t===xe||t===be||t===_e||t===Me||t===Se||t===Te||t===Ee||t===Ae||t===Le||t===Re||t===Pe||t===Ce||t===Oe||t===De||t===Ie||t===Be||t===Ne?(n=e.get(\"WEBGL_compressed_texture_astc\"),null!==n?t:null):t===we?(n=e.get(\"EXT_texture_compression_bptc\"),null!==n?t:null):t===Nt?i?34042:(n=e.get(\"WEBGL_depth_texture\"),null!==n?n.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}function Oa(t=[]){wo.call(this),this.cameras=t}function Da(){Qi.call(this),this.type=\"Group\"}function Ia(){this._targetRay=null,this._grip=null,this._hand=null}function Ba(t,e){const n=this;let i=null,r=1,o=null,s=\"local-floor\",a=null;const c=[],l=new Map,h=new wo;h.layers.enable(1),h.viewport=new Yn;const u=new wo;u.layers.enable(2),u.viewport=new Yn;const d=[h,u],p=new Oa;p.layers.enable(1),p.layers.enable(2);let f=null,m=null;function g(t){const e=l.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function v(){l.forEach((function(t,e){t.disconnect(e)})),l.clear(),t.setFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),S.stop(),n.isPresenting=!1,n.dispatchEvent({type:\"sessionend\"})}function y(t){o=t,S.setContext(i),S.start(),n.isPresenting=!0,n.dispatchEvent({type:\"sessionstart\"})}function x(t){const e=i.inputSources;for(let t=0;t0&&_t(o,t,e),s.length>0&&_t(s,t,e),!0===t.isScene&&t.onAfterRender(f,t,e),null!==x&&(q.updateRenderTargetMipmap(x),q.updateMultisampleRenderTarget(x)),j.buffers.depth.setTest(!0),j.buffers.depth.setMask(!0),j.buffers.color.setMask(!0),j.setPolygonOffset(!1),p.pop(),d=p.length>0?p[p.length-1]:null,u=null},this.setFramebuffer=function(t){g!==t&&null===x&<.bindFramebuffer(36160,t),g=t},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return y},this.getRenderList=function(){return u},this.setRenderList=function(t){u=t},this.getRenderTarget=function(){return x},this.setRenderTarget=function(t,e=0,n=0){x=t,v=e,y=n,t&&void 0===W.get(t).__webglFramebuffer&&q.setupRenderTarget(t);let i=g,r=!1;if(t){const n=W.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=n[e],r=!0):i=t.isWebGLMultisampleRenderTarget?W.get(t).__webglMultisampledFramebuffer:n,M.copy(t.viewport),S.copy(t.scissor),T=t.scissorTest}else M.copy(C).multiplyScalar(L).floor(),S.copy(O).multiplyScalar(L).floor(),T=D;if(b!==i&&(lt.bindFramebuffer(36160,i),b=i),j.viewport(M),j.scissor(S),j.setScissorTest(T),r){const i=W.get(t.texture);lt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}},this.readRenderTargetPixels=function(t,e,n,i,r,o,s){if(!t||!t.isWebGLRenderTarget)return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let a=W.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==s&&(a=a[s]),a){let s=!1;a!==b&&(lt.bindFramebuffer(36160,a),s=!0);try{const a=t.texture,c=a.format,l=a.type;if(c!==Ft&&at.convert(c)!==lt.getParameter(35739))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");if(!(l===Tt||at.convert(l)===lt.getParameter(35738)||l===Ct&&(k.isWebGL2||H.get(\"OES_texture_float\")||H.get(\"WEBGL_color_buffer_float\"))||l===Ot&&(k.isWebGL2?H.get(\"EXT_color_buffer_float\"):H.get(\"EXT_color_buffer_half_float\"))))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");36053===lt.checkFramebufferStatus(36160)?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&<.readPixels(e,n,i,r,at.convert(c),at.convert(l),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&<.bindFramebuffer(36160,b)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),o=Math.floor(e.image.height*i),s=at.convert(e.format);q.setTexture2D(e,0),lt.copyTexImage2D(3553,n,s,t.x,t.y,r,o,0),j.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,o=e.image.height,s=at.convert(n.format),a=at.convert(n.type);q.setTexture2D(n,0),lt.pixelStorei(37440,n.flipY),lt.pixelStorei(37441,n.premultiplyAlpha),lt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?lt.texSubImage2D(3553,i,t.x,t.y,r,o,s,a,e.image.data):e.isCompressedTexture?lt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,s,e.mipmaps[0].data):lt.texSubImage2D(3553,i,t.x,t.y,s,a,e.image),0===i&&n.generateMipmaps&<.generateMipmap(3553),j.unbindTexture()},this.initTexture=function(t){q.setTexture2D(t,0),j.unbindTexture()},this.resetState=function(){j.reset(),ct.reset()},\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}function Ua(t){za.call(this,t)}Ea.prototype=Object.create(wr.prototype),Ea.prototype.constructor=Ea,Ea.prototype.isMeshDepthMaterial=!0,Ea.prototype.copy=function(t){return wr.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},Aa.prototype=Object.create(wr.prototype),Aa.prototype.constructor=Aa,Aa.prototype.isMeshDistanceMaterial=!0,Aa.prototype.copy=function(t){return wr.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},Oa.prototype=Object.assign(Object.create(wo.prototype),{constructor:Oa,isArrayCamera:!0}),Da.prototype=Object.assign(Object.create(Qi.prototype),{constructor:Da,isGroup:!0}),Object.assign(Ia.prototype,{constructor:Ia,getHandSpace:function(){if(null===this._hand&&(this._hand=new Da,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints=[],this._hand.inputState={pinching:!1},window.XRHand))for(let t=0;t<=window.XRHand.LITTLE_PHALANX_TIP;t++){const t=new Da;t.matrixAutoUpdate=!1,t.visible=!1,this._hand.joints.push(t),this._hand.add(t)}return this._hand},getTargetRaySpace:function(){return null===this._targetRay&&(this._targetRay=new Da,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1),this._targetRay},getGripSpace:function(){return null===this._grip&&(this._grip=new Da,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1),this._grip},dispatchEvent:function(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this},disconnect:function(t){return this.dispatchEvent({type:\"disconnected\",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},update:function(t,e,n){let i=null,r=null,o=null;const s=this._targetRay,a=this._grip,c=this._hand;if(t&&\"visible-blurred\"!==e.session.visibilityState)if(c&&t.hand){o=!0;for(let i=0;i<=window.XRHand.LITTLE_PHALANX_TIP;i++)if(t.hand[i]){const r=e.getJointPose(t.hand[i],n),o=c.joints[i];null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.jointRadius=r.radius),o.visible=null!==r;const s=c.joints[window.XRHand.INDEX_PHALANX_TIP],a=c.joints[window.XRHand.THUMB_PHALANX_TIP],l=s.position.distanceTo(a.position),h=.02,u=.005;c.inputState.pinching&&l>h+u?(c.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:t.handedness,target:this})):!c.inputState.pinching&&l<=h-u&&(c.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:t.handedness,target:this}))}}else null!==s&&(i=e.getPose(t.targetRaySpace,n),null!==i&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale))),null!==a&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale)));return null!==s&&(s.visible=null!==i),null!==a&&(a.visible=null!==r),null!==c&&(c.visible=null!==o),this}}),Object.assign(Ba.prototype,zn.prototype),Ua.prototype=Object.assign(Object.create(za.prototype),{constructor:Ua,isWebGL1Renderer:!0});class Fa{constructor(t,e){Object.defineProperty(this,\"isFogExp2\",{value:!0}),this.name=\"\",this.color=new xr(t),this.density=void 0!==e?e:25e-5}clone(){return new Fa(this.color,this.density)}toJSON(){return{type:\"FogExp2\",color:this.color.getHex(),density:this.density}}}class Ga{constructor(t,e,n){Object.defineProperty(this,\"isFog\",{value:!0}),this.name=\"\",this.color=new xr(t),this.near=void 0!==e?e:1,this.far=void 0!==n?n:1e3}clone(){return new Ga(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",color:this.color.getHex(),near:this.near,far:this.far}}}class Ha extends Qi{constructor(){super(),Object.defineProperty(this,\"isScene\",{value:!0}),this.type=\"Scene\",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.background&&(e.object.background=this.background.toJSON(t)),null!==this.environment&&(e.object.environment=this.environment.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}function ka(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=En,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Gn.generateUUID()}Object.defineProperty(ka.prototype,\"needsUpdate\",{set:function(t){!0===t&&this.version++}}),Object.assign(ka.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this},copyAt:function(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;it.far||e.push({distance:a,point:Xa.clone(),uv:dr.getUV(Xa,$a,tc,ec,nc,ic,rc,new Hn),face:null,object:this})},copy:function(t){return Qi.prototype.copy.call(this,t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}});const ac=new Kn,cc=new Kn;function lc(){Qi.call(this),this._currentLevel=0,this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}lc.prototype=Object.assign(Object.create(Qi.prototype),{constructor:lc,isLOD:!0,copy:function(t){Qi.prototype.copy.call(this,t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,i;for(n=1,i=e.length;n0){ac.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(ac);this.getObjectForDistance(n).raycast(t,e)}},update:function(t){const e=this.levels;if(e.length>1){ac.setFromMatrixPosition(t.matrixWorld),cc.setFromMatrixPosition(this.matrixWorld);const n=ac.distanceTo(cc)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i=e[i].distance;i++)e[i-1].object.visible=!1,e[i].object.visible=!0;for(this._currentLevel=i-1;is)continue;h.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(h);dt.far||e.push({distance:d,point:l.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else for(let n=0,i=r.count-1;ns)continue;h.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(h);it.far||e.push({distance:i,point:l.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else if(n.isGeometry){const i=n.vertices,r=i.length;for(let n=0;ns)continue;h.applyMatrix4(this.matrixWorld);const r=t.ray.origin.distanceTo(h);rt.far||e.push({distance:r,point:l.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}},updateMorphTargets:function(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error(\"THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}});const Oc=new Kn,Dc=new Kn;function Ic(t,e){Cc.call(this,t,e),this.type=\"LineSegments\"}function Bc(t,e){Cc.call(this,t,e),this.type=\"LineLoop\"}function Nc(t){wr.call(this),this.type=\"PointsMaterial\",this.color=new xr(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(t)}Ic.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Ic,isLineSegments:!0,computeLineDistances:function(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;tr.far)return;o.push({distance:c,distanceToRay:Math.sqrt(a),point:n,index:e,face:null,object:s})}}function jc(t,e,n,i,r,o,s,a,c){qn.call(this,t,e,n,i,r,o,s,a,c),this.format=void 0!==s?s:Ut,this.minFilter=void 0!==o?o:bt,this.magFilter=void 0!==r?r:bt,this.generateMipmaps=!1;const l=this;\"requestVideoFrameCallback\"in t&&t.requestVideoFrameCallback((function e(){l.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}function Vc(t,e,n,i,r,o,s,a,c,l,h,u){qn.call(this,null,o,s,a,c,l,i,r,h,u),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}function Wc(t,e,n,i,r,o,s,a,c){qn.call(this,t,e,n,i,r,o,s,a,c),this.needsUpdate=!0}function qc(t,e,n,i,r,o,s,a,c,l){if((l=void 0!==l?l:jt)!==jt&&l!==Vt)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&l===jt&&(n=Lt),void 0===n&&l===Vt&&(n=Nt),qn.call(this,null,i,r,o,s,a,l,n,c),this.image={width:t,height:e},this.magFilter=void 0!==s?s:mt,this.minFilter=void 0!==a?a:mt,this.flipY=!1,this.generateMipmaps=!1}Hc.prototype=Object.assign(Object.create(Qi.prototype),{constructor:Hc,isPoints:!0,copy:function(t){return Qi.prototype.copy.call(this,t),this.material=t.material,this.geometry=t.geometry,this},raycast:function(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold;if(null===n.boundingSphere&&n.computeBoundingSphere(),Fc.copy(n.boundingSphere),Fc.applyMatrix4(i),Fc.radius+=r,!1===t.ray.intersectsSphere(Fc))return;zc.copy(i).invert(),Uc.copy(t.ray).applyMatrix4(zc);const o=r/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o;if(n.isBufferGeometry){const r=n.index,o=n.attributes.position;if(null!==r){const n=r.array;for(let r=0,a=n.length;r0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error(\"THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}),jc.prototype=Object.assign(Object.create(qn.prototype),{constructor:jc,clone:function(){return new this.constructor(this.image).copy(this)},isVideoTexture:!0,update:function(){const t=this.image;!1==\"requestVideoFrameCallback\"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Vc.prototype=Object.create(qn.prototype),Vc.prototype.constructor=Vc,Vc.prototype.isCompressedTexture=!0,Wc.prototype=Object.create(qn.prototype),Wc.prototype.constructor=Wc,Wc.prototype.isCanvasTexture=!0,qc.prototype=Object.create(qn.prototype),qc.prototype.constructor=qc,qc.prototype.isDepthTexture=!0;let Xc=0;const Yc=new Ei,Zc=new Qi,Jc=new Kn;function Qc(){Object.defineProperty(this,\"id\",{value:Xc+=2}),this.uuid=Gn.generateUUID(),this.name=\"\",this.type=\"Geometry\",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}Qc.prototype=Object.assign(Object.create(zn.prototype),{constructor:Qc,isGeometry:!0,applyMatrix4:function(t){const e=(new kn).getNormalMatrix(t);for(let e=0,n=this.vertices.length;e0)for(let t=0;t0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){this.computeFaceNormals();for(let t=0,e=this.faces.length;t0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){for(let t=0,e=this.faces.length;t=0;t--){const e=o[t];this.faces.splice(e,1);for(let t=0,n=this.faceVertexUvs.length;t0,a=e.vertexNormals.length>0,c=1!==e.color.r||1!==e.color.g||1!==e.color.b,p=e.vertexColors.length>0;let f=0;if(f=l(f,0,0),f=l(f,1,i),f=l(f,2,r),f=l(f,3,o),f=l(f,4,s),f=l(f,5,a),f=l(f,6,c),f=l(f,7,p),n.push(f),n.push(e.a,e.b,e.c),n.push(e.materialIndex),o){const e=this.faceVertexUvs[0][t];n.push(d(e[0]),d(e[1]),d(e[2]))}if(s&&n.push(h(e.normal)),a){const t=e.vertexNormals;n.push(h(t[0]),h(t[1]),h(t[2]))}if(c&&n.push(u(e.color)),p){const t=e.vertexColors;n.push(u(t[0]),u(t[1]),u(t[2]))}}function l(t,e,n){return n?t|1<0&&(t.data.colors=o),a.length>0&&(t.data.uvs=[a]),t.data.faces=n,t},clone:function(){return(new Qc).copy(this)},copy:function(t){this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;const e=t.vertices;for(let t=0,n=e.length;t0&&v(!0),e>0&&v(!1)),this.setIndex(l),this.setAttribute(\"position\",new Br(h,3)),this.setAttribute(\"normal\",new Br(u,3)),this.setAttribute(\"uv\",new Br(d,2))}}class nl extends Qc{constructor(t,e,n,i,r,o,s,a){super(),this.type=\"CylinderGeometry\",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:s,thetaLength:a},this.fromBufferGeometry(new el(t,e,n,i,r,o,s,a)),this.mergeVertices()}}class il extends nl{constructor(t,e,n,i,r,o,s){super(0,t,e,n,i,r,o,s),this.type=\"ConeGeometry\",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:s}}}class rl extends el{constructor(t=1,e=1,n=8,i=1,r=!1,o=0,s=2*Math.PI){super(0,t,e,n,i,r,o,s),this.type=\"ConeBufferGeometry\",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:s}}}class ol extends Yr{constructor(t,e,n=1,i=0){super(),this.type=\"PolyhedronBufferGeometry\",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],o=[];function s(t,e,n,i){const r=i+1,o=[];for(let i=0;i<=r;i++){o[i]=[];const s=t.clone().lerp(n,i/r),a=e.clone().lerp(n,i/r),c=r-i;for(let t=0;t<=c;t++)o[i][t]=0===t&&i===r?s:s.clone().lerp(a,t/c)}for(let t=0;t.9&&s<.1&&(e<.2&&(o[t+0]+=1),n<.2&&(o[t+2]+=1),i<.2&&(o[t+4]+=1))}}()}(),this.setAttribute(\"position\",new Br(r,3)),this.setAttribute(\"normal\",new Br(r.slice(),3)),this.setAttribute(\"uv\",new Br(o,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}}class sl extends ol{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type=\"DodecahedronBufferGeometry\",this.parameters={radius:t,detail:e}}}class al extends Qc{constructor(t,e){super(),this.type=\"DodecahedronGeometry\",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new sl(t,e)),this.mergeVertices()}}const cl=new Kn,ll=new Kn,hl=new Kn,ul=new dr;class dl extends Yr{constructor(t,e){super(),this.type=\"EdgesGeometry\",this.parameters={thresholdAngle:e},e=void 0!==e?e:1,t.isGeometry&&(t=(new Yr).fromGeometry(t));const n=Math.pow(10,4),i=Math.cos(Gn.DEG2RAD*e),r=t.getIndex(),o=t.getAttribute(\"position\"),s=r?r.count:o.count,a=[0,0,0],c=[\"a\",\"b\",\"c\"],l=new Array(3),h={},u=[];for(let t=0;t0)for(o=e;o=e;o-=i)s=Il(o,t[o],t[o+1],s);return s&&Ll(s,s.next)&&(Bl(s),s=s.next),s}function fl(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Ll(i,i.next)&&0!==Al(i.prev,i,i.next))i=i.next;else{if(Bl(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function ml(t,e,n,i,r,o,s){if(!t)return;!s&&o&&function(t,e,n,i){let r=t;do{null===r.z&&(r.z=Ml(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,o,s,a,c,l=1;do{for(n=t,t=null,o=null,s=0;n;){for(s++,i=n,a=0,e=0;e0||c>0&&i;)0!==a&&(0===c||!i||n.z<=i.z)?(r=n,n=n.nextZ,a--):(r=i,i=i.nextZ,c--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;n=i}o.nextZ=null,l*=2}while(s>1)}(r)}(t,i,r,o);let a,c,l=t;for(;t.prev!==t.next;)if(a=t.prev,c=t.next,o?vl(t,i,r,o):gl(t))e.push(a.i/n),e.push(t.i/n),e.push(c.i/n),Bl(t),t=c.next,l=c.next;else if((t=c)===l){s?1===s?ml(t=yl(fl(t),e,n),e,n,i,r,o,2):2===s&&xl(t,e,n,i,r,o):ml(fl(t),e,n,i,r,o,1);break}}function gl(t){const e=t.prev,n=t,i=t.next;if(Al(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(Tl(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&Al(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function vl(t,e,n,i){const r=t.prev,o=t,s=t.next;if(Al(r,o,s)>=0)return!1;const a=r.xo.x?r.x>s.x?r.x:s.x:o.x>s.x?o.x:s.x,h=r.y>o.y?r.y>s.y?r.y:s.y:o.y>s.y?o.y:s.y,u=Ml(a,c,e,n,i),d=Ml(l,h,e,n,i);let p=t.prevZ,f=t.nextZ;for(;p&&p.z>=u&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Al(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Al(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Al(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&Tl(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Al(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function yl(t,e,n){let i=t;do{const r=i.prev,o=i.next.next;!Ll(r,o)&&Rl(r,i,i.next,o)&&Ol(r,o)&&Ol(o,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(o.i/n),Bl(i),Bl(i.next),i=t=o),i=i.next}while(i!==t);return fl(i)}function xl(t,e,n,i,r,o){let s=t;do{let t=s.next.next;for(;t!==s.prev;){if(s.i!==t.i&&El(s,t)){let a=Dl(s,t);return s=fl(s,s.next),a=fl(a,a.next),ml(s,e,n,i,r,o),void ml(a,e,n,i,r,o)}t=t.next}s=s.next}while(s!==t)}function bl(t,e){return t.x-e.x}function _l(t,e){if(e=function(t,e){let n=e;const i=t.x,r=t.y;let o,s=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){const t=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=i&&t>s){if(s=t,t===i){if(r===n.y)return n;if(r===n.next.y)return n.next}o=n.x=n.x&&n.x>=c&&i!==n.x&&Tl(ro.x||n.x===o.x&&wl(o,n)))&&(o=n,u=h)),n=n.next}while(n!==a);return o}(t,e)){const n=Dl(e,t);fl(e,e.next),fl(n,n.next)}}function wl(t,e){return Al(t.prev,t,e.prev)<0&&Al(e.next,t,t.next)<0}function Ml(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Sl(t){let e=t,n=t;do{(e.x=0&&(t-s)*(i-a)-(n-s)*(e-a)>=0&&(n-s)*(o-a)-(r-s)*(i-a)>=0}function El(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Rl(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Ol(t,e)&&Ol(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Al(t.prev,t,e.prev)||Al(t,e.prev,e))||Ll(t,e)&&Al(t.prev,t,t.next)>0&&Al(e.prev,e,e.next)>0)}function Al(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Ll(t,e){return t.x===e.x&&t.y===e.y}function Rl(t,e,n,i){const r=Cl(Al(t,e,n)),o=Cl(Al(t,e,i)),s=Cl(Al(n,i,t)),a=Cl(Al(n,i,e));return r!==o&&s!==a||!(0!==r||!Pl(t,n,e))||!(0!==o||!Pl(t,i,e))||!(0!==s||!Pl(n,t,i))||!(0!==a||!Pl(n,e,i))}function Pl(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Cl(t){return t>0?1:t<0?-1:0}function Ol(t,e){return Al(t.prev,t,t.next)<0?Al(t,e,t.next)>=0&&Al(t,t.prev,e)>=0:Al(t,e,t.prev)<0||Al(t,t.next,e)<0}function Dl(t,e){const n=new Nl(t.i,t.x,t.y),i=new Nl(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function Il(t,e,n,i){const r=new Nl(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Bl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Nl(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}const zl={area:function(t){const e=t.length;let n=0;for(let i=e-1,r=0;r80*n){a=l=t[0],c=h=t[1];for(let e=n;el&&(l=u),d>h&&(h=d);p=Math.max(l-a,h-c),p=0!==p?1/p:0}return ml(o,s,n,a,c,p),s}(n,i);for(let t=0;t2&&t[e-1].equals(t[0])&&t.pop()}function Fl(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(c*c+l*l),p=e.x-a/u,f=e.y+s/u,m=((n.x-l/d-p)*l-(n.y+c/d-f)*c)/(s*l-a*c);i=p+s*m-t.x,r=f+a*m-t.y;const g=i*i+r*r;if(g<=2)return new Hn(i,r);o=Math.sqrt(g/2)}else{let t=!1;s>Number.EPSILON?c>Number.EPSILON&&(t=!0):s<-Number.EPSILON?c<-Number.EPSILON&&(t=!0):Math.sign(a)===Math.sign(l)&&(t=!0),t?(i=-a,r=s,o=Math.sqrt(h)):(i=s,r=a,o=Math.sqrt(h/2))}return new Hn(i/o,r/o)}const C=[];for(let t=0,e=E.length,n=e-1,i=t+1;t=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=a+2*p;t=0?(t(i-a,p,h),u.subVectors(l,h)):(t(i+a,p,h),u.subVectors(h,l)),p-a>=0?(t(i,p-a,h),d.subVectors(l,h)):(t(i,p+a,h),d.subVectors(h,l)),c.crossVectors(u,d).normalize(),o.push(c.x,c.y,c.z),s.push(i,p)}}for(let t=0;t0)&&d.push(e,r,c),(t!==n-1||a=i)){c.push(e.times[t]);for(let n=0;no.tracks[t].times[0]&&(a=o.tracks[t].times[0]);for(let t=0;t=i.times[u]){const t=u*c+a,e=t+c-a;d=Lh.arraySlice(i.values,t,e)}else{const t=i.createInterpolant(),e=a,n=c-a;t.evaluate(o),d=Lh.arraySlice(t.resultBuffer,e,n)}\"quaternion\"===r&&(new Qn).fromArray(d).normalize().conjugate().toArray(d);const p=s.times.length;for(let t=0;t=r)break t;{const s=e[1];t=r)break e}o=n,n=0}}for(;n>>1;te;)--o;if(++o,0!==r||o!==i){r>=o&&(o=Math.max(o,1),r=o-1);const t=this.getValueSize();this.times=Lh.arraySlice(n,r,o),this.values=Lh.arraySlice(this.values,r*t,o*t)}return this},validate:function(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error(\"THREE.KeyframeTrack: Track is empty.\",this),t=!1);let o=null;for(let e=0;e!==r;e++){const i=n[e];if(\"number\"==typeof i&&isNaN(i)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,e,i),t=!1;break}if(null!==o&&o>i){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,e,i,o),t=!1;break}o=i}if(void 0!==i&&Lh.isTypedArray(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,e,n),t=!1;break}}return t},optimize:function(){const t=Lh.arraySlice(this.times),e=Lh.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===ke,r=t.length-1;let o=1;for(let s=1;s0){t[o]=t[r];for(let t=r*n,i=o*n,s=0;s!==n;++s)e[i+s]=e[t+s];++o}return o!==t.length?(this.times=Lh.arraySlice(t,0,o),this.values=Lh.arraySlice(e,0,o*n)):(this.times=t,this.values=e),this},clone:function(){const t=Lh.arraySlice(this.times,0),e=Lh.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}),Ih.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Ih,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:Ge,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Bh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Bh,ValueTypeName:\"color\"}),Nh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Nh,ValueTypeName:\"number\"}),zh.prototype=Object.assign(Object.create(Rh.prototype),{constructor:zh,interpolate_:function(t,e,n,i){const r=this.resultBuffer,o=this.sampleValues,s=this.valueSize,a=(n-e)/(i-e);let c=t*s;for(let t=c+s;c!==t;c+=4)Qn.slerpFlat(r,0,o,c-s,o,c,a);return r}}),Uh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Uh,ValueTypeName:\"quaternion\",DefaultInterpolation:He,InterpolantFactoryMethodLinear:function(t){return new zh(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),Fh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Fh,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:Ge,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Gh.prototype=Object.assign(Object.create(Dh.prototype),{constructor:Gh,ValueTypeName:\"vector\"}),Object.assign(Hh,{parse:function(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(kh(n[t]).scale(i));const r=new Hh(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r},toJSON:function(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(Dh.toJSON(n[t]));return i},CreateFromMorphTargetSequence:function(t,e,n,i){const r=e.length,o=[];for(let t=0;t1){const t=o[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const o=[];for(const t in i)o.push(Hh.CreateFromMorphTargetSequence(t,i[t],e,n));return o},parseAnimation:function(t,e){if(!t)return console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\"),null;const n=function(t,e,n,i,r){if(0!==n.length){const o=[],s=[];Lh.flattenJSON(n,o,s,i),0!==o.length&&r.push(new t(e,o,s))}},i=[],r=t.name||\"default\",o=t.fps||30,s=t.blendMode;let a=t.length||-1;const c=t.hierarchy||[];for(let t=0;t0||0===t.search(/^data\\:image\\/jpeg/);r.format=i?Ut:Ft,r.needsUpdate=!0,void 0!==e&&e(r)}),n,i),r}}),Object.assign(eu.prototype,{getPoint:function(){return console.warn(\"THREE.Curve: .getPoint() not implemented.\"),null},getPointAt:function(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)},getPoints:function(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e},getSpacedPoints:function(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e},getLength:function(){const t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let o=1;o<=t;o++)n=this.getPoint(o/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){const n=this.getLengths();let i=0;const r=n.length;let o;o=e||t*n[r-1];let s,a=0,c=r-1;for(;a<=c;)if(i=Math.floor(a+(c-a)/2),s=n[i]-o,s<0)a=i+1;else{if(!(s>0)){c=i;break}c=i-1}if(i=c,n[i]===o)return i/(r-1);const l=n[i];return(i+(o-l)/(n[i+1]-l))/(r-1)},getTangent:function(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const o=this.getPoint(i),s=this.getPoint(r),a=e||(o.isVector2?new Hn:new Kn);return a.copy(s).sub(o).normalize(),a},getTangentAt:function(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)},computeFrenetFrames:function(t,e){const n=new Kn,i=[],r=[],o=[],s=new Kn,a=new Ei;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Kn),i[e].normalize()}r[0]=new Kn,o[0]=new Kn;let c=Number.MAX_VALUE;const l=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);l<=c&&(c=l,n.set(1,0,0)),h<=c&&(c=h,n.set(0,1,0)),u<=c&&n.set(0,0,1),s.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],s),o[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),o[e]=o[e-1].clone(),s.crossVectors(i[e-1],i[e]),s.length()>Number.EPSILON){s.normalize();const t=Math.acos(Gn.clamp(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(a.makeRotationAxis(s,t))}o[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(Gn.clamp(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(s.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(a.makeRotationAxis(i[n],e*n)),o[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:o}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){const t={metadata:{version:4.5,type:\"Curve\",generator:\"Curve.toJSON\"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),nu.prototype=Object.create(eu.prototype),nu.prototype.constructor=nu,nu.prototype.isEllipseCurve=!0,nu.prototype.getPoint=function(t,e){const n=e||new Hn,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const o=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(c)/r)+1)*r:0===l&&c===r-1&&(c=r-2,l=1),this.closed||c>0?s=i[(c-1)%r]:(ou.subVectors(i[0],i[1]).add(i[0]),s=ou);const h=i[c%r],u=i[(c+1)%r];if(this.closed||c+2i.length-2?i.length-1:o+1],h=i[o>i.length-3?i.length-1:o+2];return n.set(hu(s,a.x,c.x,l.x,h.x),hu(s,a.y,c.y,l.y,h.y)),n},xu.prototype.copy=function(t){eu.prototype.copy.call(this,t),this.points=[];for(let e=0,n=t.points.length;e=e){const t=n[i]-e,r=this.curves[i],o=r.getLength(),s=0===o?0:1-t/o;return r.getPointAt(s)}i++}return null},getLength:function(){const t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e},copy:function(t){eu.prototype.copy.call(this,t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=c.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(c);const l=c.getPoint(1);return this.currentPoint.copy(l),this},copy:function(t){return _u.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){const t=_u.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return _u.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),Mu.prototype=Object.assign(Object.create(wu.prototype),{constructor:Mu,getPointsHoles:function(t){const e=[];for(let n=0,i=this.holes.length;n0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case\"t\":i.uniforms[e].value=n(r.value);break;case\"c\":i.uniforms[e].value=(new xr).setHex(r.value);break;case\"v2\":i.uniforms[e].value=(new Hn).fromArray(r.value);break;case\"v3\":i.uniforms[e].value=(new Kn).fromArray(r.value);break;case\"v4\":i.uniforms[e].value=(new Yn).fromArray(r.value);break;case\"m3\":i.uniforms[e].value=(new kn).fromArray(r.value);break;case\"m4\":i.uniforms[e].value=(new Ei).fromArray(r.value);break;default:i.uniforms[e].value=r.value}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(i.flatShading=1===t.shading),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=(new Hn).fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=(new Hn).fromArray(t.clearcoatNormalScale)),void 0!==t.transmission&&(i.transmission=t.transmission),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),i},setTextures:function(t){return this.textures=t,this}});const Fu={decodeText:function(t){if(\"undefined\"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e=\"\";for(let n=0,i=t.length;n0){const n=new Vh(e);r=new Qh(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;eNumber.EPSILON){if(c<0&&(n=e[o],a=-a,s=e[r],c=-c),t.ys.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=c*(t.x-n.x)-a*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(s.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=s.x)return!0}}return i}const r=zl.isClockWise,o=this.subPaths;if(0===o.length)return[];if(!0===e)return n(o);let s,a,c;const l=[];if(1===o.length)return a=o[0],c=new Mu,c.curves=a.curves,l.push(c),l;let h=!r(o[0].getPoints());h=t?!h:h;const u=[],d=[];let p,f,m=[],g=0;d[g]=void 0,m[g]=[];for(let e=0,n=o.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(m=u))}for(let t=0,e=d.length;t0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){s.setValue(n,i);break}},saveOriginalState:function(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0},restoreOriginalState:function(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)},_setAdditiveIdentityNumeric:function(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]},_slerp:function(t,e,n,i){Qn.slerpFlat(t,e,t,e,t,n,i)},_slerpAdditive:function(t,e,n,i,r){const o=this._workIndex*r;Qn.multiplyQuaternionsFlat(t,o,t,e,t,n),Qn.slerpFlat(t,e,t,e,t,o,i)},_lerp:function(t,e,n,i,r){const o=1-i;for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]*o+t[n+s]*i}},_lerpAdditive:function(t,e,n,i,r){for(let o=0;o!==r;++o){const r=e+o;t[r]=t[r]+t[n+o]*i}}});const _d=new RegExp(\"[\\\\[\\\\]\\\\.:\\\\/]\",\"g\"),wd=\"[^\\\\[\\\\]\\\\.:\\\\/]\",Md=\"[^\"+\"\\\\[\\\\]\\\\.:\\\\/\".replace(\"\\\\.\",\"\")+\"]\",Sd=/((?:WC+[\\/:])*)/.source.replace(\"WC\",wd),Td=/(WCOD+)?/.source.replace(\"WCOD\",Md),Ed=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",wd),Ad=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",wd),Ld=new RegExp(\"^\"+Sd+Td+Ed+Ad+\"$\"),Rd=[\"material\",\"materials\",\"bones\"];function Pd(t,e,n){const i=n||Cd.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}function Cd(t,e,n){this.path=e,this.parsedPath=n||Cd.parseTrackName(e),this.node=Cd.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function Od(){this.uuid=Gn.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}Object.assign(Pd.prototype,{getValue:function(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)},setValue:function(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)},bind:function(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()},unbind:function(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}),Object.assign(Cd,{Composite:Pd,create:function(t,e,n){return t&&t.isAnimationObjectGroup?new Cd.Composite(t,e,n):new Cd(t,e,n)},sanitizeNodeName:function(t){return t.replace(/\\s/g,\"_\").replace(_d,\"\")},parseTrackName:function(t){const e=Ld.exec(t);if(!e)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==Rd.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+t);return n},findNode:function(t,e){if(!e||\"\"===e||\".\"===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i=r){const o=r++,l=t[o];e[l.uuid]=c,t[c]=l,e[a]=o,t[o]=s;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[o],r=e[c];e[c]=i,e[o]=r}}}this.nCachedObjects_=r},uncache:function(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,o=t.length;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s].uuid,c=e[a];if(void 0!==c)if(delete e[a],c0&&(e[s.uuid]=c),t[c]=s,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[c]=e[r],e.pop()}}}this.nCachedObjects_=r},subscribe_:function(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const o=this._paths,s=this._parsedPaths,a=this._objects,c=a.length,l=this.nCachedObjects_,h=new Array(c);i=r.length,n[t]=i,o.push(t),s.push(e),r.push(h);for(let n=l,i=a.length;n!==i;++n){const i=a[n];h[n]=new Cd(i,t,e)}return h},unsubscribe_:function(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,o=this._bindings,s=o.length-1,a=o[s];e[t[s]]=n,o[n]=a,o.pop(),r[n]=r[s],r.pop(),i[n]=i[s],i.pop()}}});class Dd{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,o=r.length,s=new Array(o),a={endingStart:je,endingEnd:je};for(let t=0;t!==o;++t){const e=r[t].createInterpolant(null);s[t]=e,e.settings=a}this._interpolantSettings=a,this._interpolants=s,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ue,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,o=n/i;t.warp(1,r,e),this.warp(o,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,o=this.timeScale;let s=this._timeScaleInterpolant;null===s&&(s=i._lendControlInterpolant(),this._timeScaleInterpolant=s);const a=s.parameterPositions,c=s.sampleValues;return a[0]=r,a[1]=r+n,c[0]=t/o,c[1]=e/o,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;if(i<0||0===n)return;this._startTime=null,e=n*i}e*=this._updateTimeScale(t);const o=this._updateTime(e),s=this._updateWeight(t);if(s>0){const t=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case Xe:for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(o),e[n].accumulateAdditive(s);break;case qe:default:for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(o),e[n].accumulate(i,s)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;null!==n&&(e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const o=n===Fe;if(0===t)return-1===r?i:o&&1==(1&r)?e-i:i;if(n===ze){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1});else{if(1===s){const e=t<0;this._setEndings(e,!e,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:n})}}else this.time=i;if(o&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=Ve,i.endingEnd=Ve):(i.endingStart=t?this.zeroSlopeAtStart?Ve:je:We,i.endingEnd=e?this.zeroSlopeAtEnd?Ve:je:We)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const s=o.parameterPositions,a=o.sampleValues;return s[0]=r,a[0]=e,s[1]=r+t,a[1]=n,this}}function Id(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}Id.prototype=Object.assign(Object.create(zn.prototype),{constructor:Id,_bindAction:function(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,o=t._propertyBindings,s=t._interpolants,a=n.uuid,c=this._bindingsByRootAndName;let l=c[a];void 0===l&&(l={},c[a]=l);for(let t=0;t!==r;++t){const r=i[t],c=r.name;let h=l[c];if(void 0!==h)o[t]=h;else{if(h=o[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,a,c));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new bd(Cd.create(n,c,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,a,c),o[t]=h}s[t].resultBuffer=h.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this},update:function(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1;for(let s=0;s!==n;++s)e[s]._update(i,t,r,o);const s=this._bindings,a=this._nActiveBindings;for(let t=0;t!==a;++t)s[t].apply(o);return this},setTime:function(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return void 0===e&&(console.warn(\"THREE.Box2: .getParameter() target is now required\"),e=new Hn),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return void 0===e&&(console.warn(\"THREE.Box2: .clampPoint() target is now required\"),e=new Hn),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return jd.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Wd=new Kn,qd=new Kn;class Xd{constructor(t,e){this.start=void 0!==t?t:new Kn,this.end=void 0!==e?e:new Kn}set(t,e){return this.start.copy(t),this.end.copy(e),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return void 0===t&&(console.warn(\"THREE.Line3: .getCenter() target is now required\"),t=new Kn),t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return void 0===t&&(console.warn(\"THREE.Line3: .delta() target is now required\"),t=new Kn),t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return void 0===e&&(console.warn(\"THREE.Line3: .at() target is now required\"),e=new Kn),this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Wd.subVectors(t,this.start),qd.subVectors(this.end,this.start);const n=qd.dot(qd);let i=qd.dot(Wd)/n;return e&&(i=Gn.clamp(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return void 0===n&&(console.warn(\"THREE.Line3: .closestPointToPoint() target is now required\"),n=new Kn),this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}function Yd(t){Qi.call(this),this.material=t,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}Yd.prototype=Object.create(Qi.prototype),Yd.prototype.constructor=Yd,Yd.prototype.isImmediateRenderObject=!0;const Zd=new Kn;class Jd extends Qi{constructor(t,e){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const n=new Yr,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{_p.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(_p,e)}}setLength(t,e,n){void 0===e&&(e=.2*t),void 0===n&&(n=.2*e),this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}}class Tp extends Ic{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new Yr;n.setAttribute(\"position\",new Br(e,3)),n.setAttribute(\"color\",new Br([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(n,new Tc({vertexColors:!0,toneMapped:!1})),this.type=\"AxesHelper\"}}const Ep=new Float32Array(1),Ap=new Int32Array(Ep.buffer),Lp={toHalfFloat:function(t){Ep[0]=t;const e=Ap[0];let n=e>>16&32768,i=e>>12&2047;const r=e>>23&255;return r<103?n:r>142?(n|=31744,n|=(255==r?0:1)&&8388607&e,n):r<113?(i|=2048,n|=(i>>114-r)+(i>>113-r&1),n):(n|=r-112<<10|i>>1,n+=1&i,n)}},Rp=Math.pow(2,8),Pp=[.125,.215,.35,.446,.526,.582],Cp=5+Pp.length,Op={[Qe]:0,[Ke]:1,[tn]:2,[nn]:3,[rn]:4,[on]:5,[$e]:6},Dp=new Cu,{_lodPlanes:Ip,_sizeLods:Bp,_sigmas:Np}=Vp(),zp=new xr;let Up=null;const Fp=(1+Math.sqrt(5))/2,Gp=1/Fp,Hp=[new Kn(1,1,1),new Kn(-1,1,1),new Kn(1,1,-1),new Kn(-1,1,-1),new Kn(0,Fp,Gp),new Kn(0,Fp,-Gp),new Kn(Gp,0,Fp),new Kn(-Gp,0,Fp),new Kn(Fp,Gp,0),new Kn(-Fp,Gp,0)];class kp{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=new yh({name:\"SphericalGaussianBlur\",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:new Float32Array(20)},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:new Kn(0,1,0)},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t\\n\\n\\t\\tuniform int inputEncoding;\\n\\t\\tuniform int outputEncoding;\\n\\n\\t\\t#include \\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( inputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn RGBEToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 7.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 16.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn RGBDToLinear( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn GammaToLinear( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 linearToOutputTexel( vec4 value ) {\\n\\n\\t\\t\\tif ( outputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( outputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn LinearTosRGB( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBE( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 7.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 16.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBD( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn LinearToGamma( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tgl_FragColor = linearToOutputTexel( gl_FragColor );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:b,depthTest:!1,depthWrite:!1}),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Up=this._renderer.getRenderTarget();const r=this._allocateTargets();return this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=Yp(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=Xp(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?Rp:0,Rp,Rp),a.setRenderTarget(i),a.render(t,r)}a.toneMapping=l,a.outputEncoding=c,a.setClearColor(zp,h)}_textureToCubeUV(t,e){const n=this._renderer;t.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Yp()):null==this._equirectShader&&(this._equirectShader=Xp());const i=t.isCubeTexture?this._cubemapShader:this._equirectShader,r=new po(Ip[0],i),o=i.uniforms;o.envMap.value=t,t.isCubeTexture||o.texelSize.value.set(1/t.image.width,1/t.image.height),o.inputEncoding.value=Op[t.encoding],o.outputEncoding.value=Op[e.texture.encoding],qp(e,0,0,3*Rp,2*Rp),n.setRenderTarget(e),n.render(r,Dp)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e20&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const m=[];let g=0;for(let t=0;t<20;++t){const e=t/p,n=Math.exp(-e*e/2);m.push(n),0==t?g+=n:t4?i-8+4:0),3*v,2*v),a.setRenderTarget(e),a.render(l,Dp)}}function jp(t){return void 0!==t&&t.type===Tt&&(t.encoding===Qe||t.encoding===Ke||t.encoding===$e)}function Vp(){const t=[],e=[],n=[];let i=8;for(let r=0;r4?s=Pp[r-8+4-1]:0==r&&(s=0),n.push(s);const a=1/(o-1),c=-a/2,l=1+a/2,h=[c,c,l,c,l,l,c,c,l,l,c,l],u=6,d=6,p=3,f=2,m=1,g=new Float32Array(p*d*u),v=new Float32Array(f*d*u),y=new Float32Array(m*d*u);for(let t=0;t2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(i,p*d*t),v.set(h,f*d*t);const r=[t,t,t,t,t,t];y.set(r,m*d*t)}const x=new Yr;x.setAttribute(\"position\",new Er(g,p)),x.setAttribute(\"uv\",new Er(v,f)),x.setAttribute(\"faceIndex\",new Er(y,m)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function Wp(t){const e=new Zn(3*Rp,3*Rp,t);return e.texture.mapping=ht,e.texture.name=\"PMREM.cubeUv\",e.scissorTest=!0,e}function qp(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function Xp(){return new yh({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null},texelSize:{value:new Hn(1,1)},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform vec2 texelSize;\\n\\n\\t\\t\\t\\n\\n\\t\\tuniform int inputEncoding;\\n\\t\\tuniform int outputEncoding;\\n\\n\\t\\t#include \\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( inputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn RGBEToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 7.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 16.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn RGBDToLinear( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn GammaToLinear( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 linearToOutputTexel( vec4 value ) {\\n\\n\\t\\t\\tif ( outputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( outputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn LinearTosRGB( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBE( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 7.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 16.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBD( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn LinearToGamma( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tvec2 f = fract( uv / texelSize - 0.5 );\\n\\t\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\t\\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x += texelSize.x;\\n\\t\\t\\t\\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.y += texelSize.y;\\n\\t\\t\\t\\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x -= texelSize.x;\\n\\t\\t\\t\\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\n\\t\\t\\t\\tvec3 tm = mix( tl, tr, f.x );\\n\\t\\t\\t\\tvec3 bm = mix( bl, br, f.x );\\n\\t\\t\\t\\tgl_FragColor.rgb = mix( tm, bm, f.y );\\n\\n\\t\\t\\t\\tgl_FragColor = linearToOutputTexel( gl_FragColor );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:b,depthTest:!1,depthWrite:!1})}function Yp(){return new yh({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},inputEncoding:{value:Op[Qe]},outputEncoding:{value:Op[Qe]}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\t\\n\\n\\t\\tuniform int inputEncoding;\\n\\t\\tuniform int outputEncoding;\\n\\n\\t\\t#include \\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( inputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn RGBEToLinear( value );\\n\\n\\t\\t\\t} else if ( inputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 7.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn RGBMToLinear( value, 16.0 );\\n\\n\\t\\t\\t} else if ( inputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn RGBDToLinear( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn GammaToLinear( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 linearToOutputTexel( vec4 value ) {\\n\\n\\t\\t\\tif ( outputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else if ( outputEncoding == 1 ) {\\n\\n\\t\\t\\t\\treturn LinearTosRGB( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 2 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBE( value );\\n\\n\\t\\t\\t} else if ( outputEncoding == 3 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 7.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 4 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBM( value, 16.0 );\\n\\n\\t\\t\\t} else if ( outputEncoding == 5 ) {\\n\\n\\t\\t\\t\\treturn LinearToRGBD( value, 256.0 );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn LinearToGamma( value, 2.2 );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\\n\\t\\t\\t\\tgl_FragColor = linearToOutputTexel( gl_FragColor );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:b,depthTest:!1,depthWrite:!1})}function Zp(t,e,n,i,r,o,s){return console.warn(\"THREE.Face4 has been removed. A THREE.Face3 will be created instead.\"),new br(t,e,n,r,o,s)}const Jp=0,Qp=1,Kp=0,$p=1,tf=2;function ef(t){return console.warn(\"THREE.MeshFaceMaterial has been removed. Use an Array instead.\"),t}function nf(t=[]){return console.warn(\"THREE.MultiMaterial has been removed. Use an Array instead.\"),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function rf(t,e){return console.warn(\"THREE.PointCloud has been renamed to THREE.Points.\"),new Hc(t,e)}function of(t){return console.warn(\"THREE.Particle has been renamed to THREE.Sprite.\"),new oc(t)}function sf(t,e){return console.warn(\"THREE.ParticleSystem has been renamed to THREE.Points.\"),new Hc(t,e)}function af(t){return console.warn(\"THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.\"),new Nc(t)}function cf(t){return console.warn(\"THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.\"),new Nc(t)}function lf(t){return console.warn(\"THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.\"),new Nc(t)}function hf(t,e,n){return console.warn(\"THREE.Vertex has been removed. Use THREE.Vector3 instead.\"),new Kn(t,e,n)}function uf(t,e){return console.warn(\"THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.\"),new Er(t,e).setUsage(An)}function df(t,e){return console.warn(\"THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.\"),new Ar(t,e)}function pf(t,e){return console.warn(\"THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.\"),new Lr(t,e)}function ff(t,e){return console.warn(\"THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.\"),new Rr(t,e)}function mf(t,e){return console.warn(\"THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.\"),new Pr(t,e)}function gf(t,e){return console.warn(\"THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.\"),new Cr(t,e)}function vf(t,e){return console.warn(\"THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.\"),new Or(t,e)}function yf(t,e){return console.warn(\"THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.\"),new Dr(t,e)}function xf(t,e){return console.warn(\"THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.\"),new Br(t,e)}function bf(t,e){return console.warn(\"THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.\"),new Nr(t,e)}function _f(t){console.warn(\"THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.\"),lu.call(this,t),this.type=\"catmullrom\",this.closed=!0}function wf(t){console.warn(\"THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.\"),lu.call(this,t),this.type=\"catmullrom\"}function Mf(t){console.warn(\"THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.\"),lu.call(this,t),this.type=\"catmullrom\"}function Sf(t){return console.warn(\"THREE.AxisHelper has been renamed to THREE.AxesHelper.\"),new Tp(t)}function Tf(t,e){return console.warn(\"THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.\"),new yp(t,e)}function Ef(t,e){return console.warn(\"THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.\"),new Ic(new dl(t.geometry),new Tc({color:void 0!==e?e:16777215}))}function Af(t,e){return console.warn(\"THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.\"),new Ic(new mh(t.geometry),new Tc({color:void 0!==e?e:16777215}))}function Lf(t){return console.warn(\"THREE.XHRLoader has been renamed to THREE.FileLoader.\"),new Yh(t)}function Rf(t){return console.warn(\"THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.\"),new $h(t)}function Pf(t,e,n){return console.warn(\"THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).\"),new Eo(t,n)}eu.create=function(t,e){return console.log(\"THREE.Curve.create() has been deprecated\"),t.prototype=Object.create(eu.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(_u.prototype,{createPointsGeometry:function(t){console.warn(\"THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");const e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){console.warn(\"THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");const e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){console.warn(\"THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");const e=new Qc;for(let n=0,i=t.length;n=2){var e=t,n=Kf.x-e.touches[1].clientX,c=Kf.y-e.touches[1].clientY,l=Math.sqrt(n*n+c*c);s.set(0,l);var h=.5*(e.touches[0].clientX+e.touches[1].clientX),u=.5*(e.touches[0].clientY+e.touches[1].clientY);o.set(h,u)}document.addEventListener(\"mousemove\",x),document.addEventListener(\"touchmove\",x,{passive:!1}),document.addEventListener(\"mouseup\",b),document.addEventListener(\"touchend\",b),i.dispatchEvent({type:\"controlstart\",originalEvent:t})}},x=function(t){if(i._enabled){t.preventDefault(),Wf(t,Kf);var e=o.x-Kf.x,n=o.y-Kf.y;switch(o.copy(Kf),i._state){case Nf.ROTATE:case Nf.TOUCH_ROTATE:l(e,n);break;case Nf.DOLLY:case Nf.ZOOM:var d=i.dollyToCursor?(r.x-a.x)/a.z*2-1:0,p=i.dollyToCursor?(r.y-a.y)/a.w*-2+1:0;i._state===Nf.DOLLY?h(n*vm,d,p):u(n*vm);break;case Nf.TOUCH_DOLLY:case Nf.TOUCH_ZOOM:case Nf.TOUCH_DOLLY_TRUCK:case Nf.TOUCH_ZOOM_TRUCK:case Nf.TOUCH_DOLLY_OFFSET:case Nf.TOUCH_ZOOM_OFFSET:var f=t,m=Kf.x-f.touches[1].clientX,g=Kf.y-f.touches[1].clientY,v=Math.sqrt(m*m+g*g),y=s.y-v;s.set(0,v),d=i.dollyToCursor?(o.x-a.x)/a.z*2-1:0,p=i.dollyToCursor?(o.y-a.y)/a.w*-2+1:0,i._state===Nf.TOUCH_DOLLY||i._state===Nf.TOUCH_DOLLY_TRUCK?h(y*vm,d,p):u(y*vm),i._state===Nf.TOUCH_DOLLY_TRUCK||i._state===Nf.TOUCH_ZOOM_TRUCK?c(e,n,!1):i._state!==Nf.TOUCH_DOLLY_OFFSET&&i._state!==Nf.TOUCH_ZOOM_OFFSET||c(e,n,!0);break;case Nf.TRUCK:case Nf.TOUCH_TRUCK:c(e,n,!1);break;case Nf.OFFSET:case Nf.TOUCH_OFFSET:c(e,n,!0)}i.dispatchEvent({type:\"control\",originalEvent:t})}},b=function(t){i._enabled&&(d(),i.dispatchEvent({type:\"controlend\",originalEvent:t}))};i._domElement.addEventListener(\"mousedown\",p),i._domElement.addEventListener(\"touchstart\",f),i._domElement.addEventListener(\"wheel\",g),i._domElement.addEventListener(\"contextmenu\",v),i._removeAllEventListeners=function(){i._domElement.removeEventListener(\"mousedown\",p),i._domElement.removeEventListener(\"touchstart\",f),i._domElement.removeEventListener(\"wheel\",g),i._domElement.removeEventListener(\"contextmenu\",v),document.removeEventListener(\"mousemove\",x),document.removeEventListener(\"touchmove\",x,{passive:!1}),document.removeEventListener(\"mouseup\",b),document.removeEventListener(\"touchend\",b)},i.cancel=function(){d(),i.dispatchEvent({type:\"controlend\",originalEvent:null})}}return i.update(0),i}return function(t,e){function n(){this.constructor=t}zf(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.install=function(t){Yf=t.THREE,Zf=Object.freeze(new Yf.Vector3(0,0,0)),Jf=Object.freeze(new Yf.Vector3(0,1,0)),Qf=Object.freeze(new Yf.Vector3(0,0,1)),Kf=new Yf.Vector2,$f=new Yf.Vector3,tm=new Yf.Vector3,em=new Yf.Vector3,nm=new Yf.Vector3,im=new Yf.Vector3,rm=new Yf.Vector3,om=new Yf.Spherical,sm=new Yf.Spherical,am=new Yf.Box3,cm=new Yf.Box3,lm=new Yf.Sphere,hm=new Yf.Quaternion,um=new Yf.Quaternion,dm=new Yf.Matrix4,pm=new Yf.Raycaster},Object.defineProperty(e,\"ACTION\",{get:function(){return gm},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enabled\",{get:function(){return this._enabled},set:function(t){this._enabled=t,t||this.cancel()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentAction\",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"distance\",{get:function(){return this._spherical.radius},set:function(t){this._spherical.radius===t&&this._sphericalEnd.radius===t||(this._spherical.radius=t,this._sphericalEnd.radius=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"azimuthAngle\",{get:function(){return this._spherical.theta},set:function(t){this._spherical.theta===t&&this._sphericalEnd.theta===t||(this._spherical.theta=t,this._sphericalEnd.theta=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"polarAngle\",{get:function(){return this._spherical.phi},set:function(t){this._spherical.phi===t&&this._sphericalEnd.phi===t||(this._spherical.phi=t,this._sphericalEnd.phi=t,this._needsUpdate=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"phiSpeed\",{set:function(t){console.warn(\"phiSpeed was renamed. use azimuthRotateSpeed instead\"),this.azimuthRotateSpeed=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"thetaSpeed\",{set:function(t){console.warn(\"thetaSpeed was renamed. use polarRotateSpeed instead\"),this.polarRotateSpeed=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"boundaryEnclosesCamera\",{get:function(){return this._boundaryEnclosesCamera},set:function(t){this._boundaryEnclosesCamera=t,this._needsUpdate=!0},enumerable:!1,configurable:!0}),e.prototype.addEventListener=function(e,n){t.prototype.addEventListener.call(this,e,n)},e.prototype.removeEventListener=function(e,n){t.prototype.removeEventListener.call(this,e,n)},e.prototype.rotate=function(t,e,n){void 0===n&&(n=!1),this.rotateTo(this._sphericalEnd.theta+t,this._sphericalEnd.phi+e,n)},e.prototype.rotateTo=function(t,e,n){void 0===n&&(n=!1);var i=Yf.MathUtils.clamp(t,this.minAzimuthAngle,this.maxAzimuthAngle),r=Yf.MathUtils.clamp(e,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=i,this._sphericalEnd.phi=r,this._sphericalEnd.makeSafe(),n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi),this._needsUpdate=!0},e.prototype.dolly=function(t,e){void 0===e&&(e=!1),this.dollyTo(this._sphericalEnd.radius-t,e)},e.prototype.dollyTo=function(t,e){void 0===e&&(e=!1),qf(this._camera,\"dolly\")||(this._sphericalEnd.radius=Yf.MathUtils.clamp(t,this.minDistance,this.maxDistance),e||(this._spherical.radius=this._sphericalEnd.radius),this._needsUpdate=!0)},e.prototype.zoom=function(t,e){void 0===e&&(e=!1),this.zoomTo(this._zoomEnd+t,e)},e.prototype.zoomTo=function(t,e){void 0===e&&(e=!1),this._zoomEnd=Yf.MathUtils.clamp(t,this.minZoom,this.maxZoom),e||(this._zoom=this._zoomEnd),this._needsUpdate=!0},e.prototype.pan=function(t,e,n){void 0===n&&(n=!1),console.log(\"`pan` has been renamed to `truck`\"),this.truck(t,e,n)},e.prototype.truck=function(t,e,n){void 0===n&&(n=!1),this._camera.updateMatrix(),nm.setFromMatrixColumn(this._camera.matrix,0),im.setFromMatrixColumn(this._camera.matrix,1),nm.multiplyScalar(t),im.multiplyScalar(-e);var i=$f.copy(nm).add(im);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),n||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.forward=function(t,e){void 0===e&&(e=!1),$f.setFromMatrixColumn(this._camera.matrix,0),$f.crossVectors(this._camera.up,$f),$f.multiplyScalar(t),this._encloseToBoundary(this._targetEnd,$f,this.boundaryFriction),e||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.moveTo=function(t,e,n,i){void 0===i&&(i=!1),this._targetEnd.set(t,e,n),i||this._target.copy(this._targetEnd),this._needsUpdate=!0},e.prototype.fitToBox=function(t,e,n){var i=void 0===n?{}:n,r=i.paddingLeft,o=void 0===r?0:r,s=i.paddingRight,a=void 0===s?0:s,c=i.paddingBottom,l=void 0===c?0:c,h=i.paddingTop,u=void 0===h?0:h,d=t.isBox3?am.copy(t):am.setFromObject(t);if(d.isEmpty())console.warn(\"camera-controls: fitTo() cannot be used with an empty box. Aborting\");else{var p=Hf(this._sphericalEnd.theta,Ff),f=Hf(this._sphericalEnd.phi,Ff);this.rotateTo(p,f,e);var m=$f.setFromSpherical(this._sphericalEnd).normalize(),g=hm.setFromUnitVectors(m,Qf);Gf(Math.abs(m.y)-1)&&g.multiply(um.setFromAxisAngle(Jf,p));var v=cm.makeEmpty();tm.copy(d.min).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.min).setX(d.max.x).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.min).setY(d.max.y).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.max).setZ(d.min.z).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.min).setZ(d.max.z).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.max).setY(d.min.y).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.max).setX(d.min.x).applyQuaternion(g),v.expandByPoint(tm),tm.copy(d.max).applyQuaternion(g),v.expandByPoint(tm),g.setFromUnitVectors(Qf,m),v.min.x-=o,v.min.y-=l,v.max.x+=a,v.max.y+=u;var y=v.getSize($f),x=v.getCenter(tm).applyQuaternion(g),b=this._camera.isPerspectiveCamera,_=this._camera.isOrthographicCamera;if(b){var w=this.getDistanceToFitBox(y.x,y.y,y.z);return this.moveTo(x.x,x.y,x.z,e),this.dollyTo(w,e),void this.setFocalOffset(0,0,0,e)}if(_){var M=this._camera,S=M.right-M.left,T=M.top-M.bottom,E=Math.min(S/y.x,T/y.y);return this.moveTo(x.x,x.y,x.z,e),this.zoomTo(E,e),void this.setFocalOffset(0,0,0,e)}}},e.prototype.fitTo=function(t,e,n){void 0===n&&(n={}),console.warn(\"camera-controls: fitTo() has been renamed to fitToBox()\"),this.fitToBox(t,e,n)},e.prototype.fitToSphere=function(t,e){var n=t instanceof Yf.Sphere?lm.copy(t):function(t,e){var n=e,i=n.center;t.traverse((function(t){t.isMesh&&am.expandByObject(t)})),am.getCenter(i);var r=0;return t.traverse((function(t){if(t.isMesh){var e=t,n=e.geometry.clone();if(n.applyMatrix4(e.matrixWorld),e.geometry.isBufferGeometry)for(var o=n.attributes.position,s=0,a=o.count;s=1))return t;if(qf(this._camera,\"_collisionTest\"))return t;t=this._spherical.radius;var e=$f.setFromSpherical(this._spherical).divideScalar(t);dm.lookAt(Zf,e,this._camera.up);for(var n=0;n<4;n++){var i=tm.copy(this._nearPlaneCorners[n]);i.applyMatrix4(dm);var r=em.addVectors(this._target,i);pm.set(r,e),pm.far=t;var o=pm.intersectObjects(this.colliderMeshes);0!==o.length&&o[0].distanceh?(n=1,i=0):(n=0,i=1);var u=l-n+a,d=h-i+a,p=l-1+2*a,f=h-1+2*a,m=255&o,g=255&s,v=this.perm[m+this.perm[g]]%12,y=this.perm[m+n+this.perm[g+i]]%12,x=this.perm[m+1+this.perm[g+1]]%12,b=.5-l*l-h*h,_=.5-u*u-d*d,w=.5-p*p-f*f;return 70*((b<0?0:(b*=b)*b*this.dot(this.grad3[v],l,h))+(_<0?0:(_*=_)*_*this.dot(this.grad3[y],u,d))+(w<0?0:(w*=w)*w*this.dot(this.grad3[x],p,f)))},Rm.prototype.noise3d=function(t,e,n){var i,r,o,s,a,c,l=(t+e+n)*(1/3),h=Math.floor(t+l),u=Math.floor(e+l),d=Math.floor(n+l),p=1/6,f=(h+u+d)*p,m=t-(h-f),g=e-(u-f),v=n-(d-f);m>=g?g>=v?(i=1,r=0,o=0,s=1,a=1,c=0):m>=v?(i=1,r=0,o=0,s=1,a=0,c=1):(i=0,r=0,o=1,s=1,a=0,c=1):gL?32:0)+(A>R?16:0)+(L>R?8:0)+(A>P?4:0)+(L>P?2:0)+(R>P?1:0),O=A-(r=v[C][0]>=3?1:0)+b,D=L-(o=v[C][1]>=3?1:0)+b,I=R-(s=v[C][2]>=3?1:0)+b,B=P-(a=v[C][3]>=3?1:0)+b,N=A-(c=v[C][0]>=2?1:0)+2*b,z=L-(l=v[C][1]>=2?1:0)+2*b,U=R-(h=v[C][2]>=2?1:0)+2*b,F=P-(u=v[C][3]>=2?1:0)+2*b,G=A-(d=v[C][0]>=1?1:0)+3*b,H=L-(p=v[C][1]>=1?1:0)+3*b,k=R-(f=v[C][2]>=1?1:0)+3*b,j=P-(m=v[C][3]>=1?1:0)+3*b,V=A-1+4*b,W=L-1+4*b,q=R-1+4*b,X=P-1+4*b,Y=255&w,Z=255&M,J=255&S,Q=255&T,K=y[Y+y[Z+y[J+y[Q]]]]%32,$=y[Y+r+y[Z+o+y[J+s+y[Q+a]]]]%32,tt=y[Y+c+y[Z+l+y[J+h+y[Q+u]]]]%32,et=y[Y+d+y[Z+p+y[J+f+y[Q+m]]]]%32,nt=y[Y+1+y[Z+1+y[J+1+y[Q+1]]]]%32,it=.6-A*A-L*L-R*R-P*P,rt=.6-O*O-D*D-I*I-B*B,ot=.6-N*N-z*z-U*U-F*F,st=.6-G*G-H*H-k*k-j*j,at=.6-V*V-W*W-q*q-X*X;return 27*((it<0?0:(it*=it)*it*this.dot4(g[K],A,L,R,P))+(rt<0?0:(rt*=rt)*rt*this.dot4(g[$],O,D,I,B))+(ot<0?0:(ot*=ot)*ot*this.dot4(g[tt],N,z,U,F))+(st<0?0:(st*=st)*st*this.dot4(g[et],G,H,k,j))+(at<0?0:(at*=at)*at*this.dot4(g[nt],V,W,q,X)))};var Pm={defines:{PERSPECTIVE_CAMERA:1,KERNEL_SIZE:32},uniforms:{tDiffuse:{value:null},tNormal:{value:null},tDepth:{value:null},tNoise:{value:null},kernel:{value:null},cameraNear:{value:null},cameraFar:{value:null},resolution:{value:new Hn},cameraProjectionMatrix:{value:new Ei},cameraInverseProjectionMatrix:{value:new Ei},kernelRadius:{value:8},minDistance:{value:.005},maxDistance:{value:.05}},vertexShader:[\"varying vec2 vUv;\",\"void main() {\",\"\\tvUv = uv;\",\"\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\",\"}\"].join(\"\\n\"),fragmentShader:[\"uniform sampler2D tDiffuse;\",\"uniform sampler2D tNormal;\",\"uniform sampler2D tDepth;\",\"uniform sampler2D tNoise;\",\"uniform vec3 kernel[ KERNEL_SIZE ];\",\"uniform vec2 resolution;\",\"uniform float cameraNear;\",\"uniform float cameraFar;\",\"uniform mat4 cameraProjectionMatrix;\",\"uniform mat4 cameraInverseProjectionMatrix;\",\"uniform float kernelRadius;\",\"uniform float minDistance;\",\"uniform float maxDistance;\",\"varying vec2 vUv;\",\"#include \",\"float getDepth( const in vec2 screenPosition ) {\",\"\\treturn texture2D( tDepth, screenPosition ).x;\",\"}\",\"float getLinearDepth( const in vec2 screenPosition ) {\",\"\\t#if PERSPECTIVE_CAMERA == 1\",\"\\t\\tfloat fragCoordZ = texture2D( tDepth, screenPosition ).x;\",\"\\t\\tfloat viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );\",\"\\t\\treturn viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );\",\"\\t#else\",\"\\t\\treturn texture2D( tDepth, screenPosition ).x;\",\"\\t#endif\",\"}\",\"float getViewZ( const in float depth ) {\",\"\\t#if PERSPECTIVE_CAMERA == 1\",\"\\t\\treturn perspectiveDepthToViewZ( depth, cameraNear, cameraFar );\",\"\\t#else\",\"\\t\\treturn orthographicDepthToViewZ( depth, cameraNear, cameraFar );\",\"\\t#endif\",\"}\",\"vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {\",\"\\tfloat clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];\",\"\\tvec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );\",\"\\tclipPosition *= clipW; // unprojection.\",\"\\treturn ( cameraInverseProjectionMatrix * clipPosition ).xyz;\",\"}\",\"vec3 getViewNormal( const in vec2 screenPosition ) {\",\"\\treturn unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );\",\"}\",\"void main() {\",\"\\tfloat depth = getDepth( vUv );\",\"\\tfloat viewZ = getViewZ( depth );\",\"\\tvec3 viewPosition = getViewPosition( vUv, depth, viewZ );\",\"\\tvec3 viewNormal = getViewNormal( vUv );\",\" vec2 noiseScale = vec2( resolution.x / 4.0, resolution.y / 4.0 );\",\"\\tvec3 random = texture2D( tNoise, vUv * noiseScale ).xyz;\",\"\\tvec3 tangent = normalize( random - viewNormal * dot( random, viewNormal ) );\",\"\\tvec3 bitangent = cross( viewNormal, tangent );\",\"\\tmat3 kernelMatrix = mat3( tangent, bitangent, viewNormal );\",\" float occlusion = 0.0;\",\" for ( int i = 0; i < KERNEL_SIZE; i ++ ) {\",\"\\t\\tvec3 sampleVector = kernelMatrix * kernel[ i ];\",\"\\t\\tvec3 samplePoint = viewPosition + ( sampleVector * kernelRadius );\",\"\\t\\tvec4 samplePointNDC = cameraProjectionMatrix * vec4( samplePoint, 1.0 );\",\"\\t\\tsamplePointNDC /= samplePointNDC.w;\",\"\\t\\tvec2 samplePointUv = samplePointNDC.xy * 0.5 + 0.5;\",\"\\t\\tfloat realDepth = getLinearDepth( samplePointUv );\",\"\\t\\tfloat sampleDepth = viewZToOrthographicDepth( samplePoint.z, cameraNear, cameraFar );\",\"\\t\\tfloat delta = sampleDepth - realDepth;\",\"\\t\\tif ( delta > minDistance && delta < maxDistance ) {\",\"\\t\\t\\tocclusion += 1.0;\",\"\\t\\t}\",\"\\t}\",\"\\tocclusion = clamp( occlusion / float( KERNEL_SIZE ), 0.0, 1.0 );\",\"\\tgl_FragColor = vec4( vec3( 1.0 - occlusion ), 1.0 );\",\"}\"].join(\"\\n\")},Cm={defines:{PERSPECTIVE_CAMERA:1},uniforms:{tDepth:{value:null},cameraNear:{value:null},cameraFar:{value:null}},vertexShader:[\"varying vec2 vUv;\",\"void main() {\",\"\\tvUv = uv;\",\"\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\",\"}\"].join(\"\\n\"),fragmentShader:[\"uniform sampler2D tDepth;\",\"uniform float cameraNear;\",\"uniform float cameraFar;\",\"varying vec2 vUv;\",\"#include \",\"float getLinearDepth( const in vec2 screenPosition ) {\",\"\\t#if PERSPECTIVE_CAMERA == 1\",\"\\t\\tfloat fragCoordZ = texture2D( tDepth, screenPosition ).x;\",\"\\t\\tfloat viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );\",\"\\t\\treturn viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );\",\"\\t#else\",\"\\t\\treturn texture2D( tDepth, screenPosition ).x;\",\"\\t#endif\",\"}\",\"void main() {\",\"\\tfloat depth = getLinearDepth( vUv );\",\"\\tgl_FragColor = vec4( vec3( 1.0 - depth ), 1.0 );\",\"}\"].join(\"\\n\")},Om={uniforms:{tDiffuse:{value:null},resolution:{value:new Hn}},vertexShader:[\"varying vec2 vUv;\",\"void main() {\",\"\\tvUv = uv;\",\"\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\",\"}\"].join(\"\\n\"),fragmentShader:[\"uniform sampler2D tDiffuse;\",\"uniform vec2 resolution;\",\"varying vec2 vUv;\",\"void main() {\",\"\\tvec2 texelSize = ( 1.0 / resolution );\",\"\\tfloat result = 0.0;\",\"\\tfor ( int i = - 2; i <= 2; i ++ ) {\",\"\\t\\tfor ( int j = - 2; j <= 2; j ++ ) {\",\"\\t\\t\\tvec2 offset = ( vec2( float( i ), float( j ) ) ) * texelSize;\",\"\\t\\t\\tresult += texture2D( tDiffuse, vUv + offset ).r;\",\"\\t\\t}\",\"\\t}\",\"\\tgl_FragColor = vec4( vec3( result / ( 5.0 * 5.0 ) ), 1.0 );\",\"}\"].join(\"\\n\")},Dm=function(t,e,n,i){Mm.call(this),this.width=void 0!==n?n:512,this.height=void 0!==i?i:512,this.clear=!0,this.camera=e,this.scene=t,this.kernelRadius=8,this.kernelSize=32,this.kernel=[],this.noiseTexture=null,this.output=0,this.minDistance=.005,this.maxDistance=.1,this._visibilityCache=new Map,this.generateSampleKernel(),this.generateRandomKernelRotations();var r=new qc;r.type=Lt,r.minFilter=mt,r.maxFilter=mt,this.beautyRenderTarget=new Zn(this.width,this.height,{minFilter:bt,magFilter:bt,format:Ft}),this.normalRenderTarget=new Zn(this.width,this.height,{minFilter:mt,magFilter:mt,format:Ft,depthTexture:r}),this.ssaoRenderTarget=new Zn(this.width,this.height,{minFilter:bt,magFilter:bt,format:Ft}),this.blurRenderTarget=this.ssaoRenderTarget.clone(),void 0===Pm&&console.error(\"THREE.SSAOPass: The pass relies on SSAOShader.\"),this.ssaoMaterial=new bo({defines:Object.assign({},Pm.defines),uniforms:xo.clone(Pm.uniforms),vertexShader:Pm.vertexShader,fragmentShader:Pm.fragmentShader,blending:b}),this.ssaoMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.ssaoMaterial.uniforms.tNormal.value=this.normalRenderTarget.texture,this.ssaoMaterial.uniforms.tDepth.value=this.normalRenderTarget.depthTexture,this.ssaoMaterial.uniforms.tNoise.value=this.noiseTexture,this.ssaoMaterial.uniforms.kernel.value=this.kernel,this.ssaoMaterial.uniforms.cameraNear.value=this.camera.near,this.ssaoMaterial.uniforms.cameraFar.value=this.camera.far,this.ssaoMaterial.uniforms.resolution.value.set(this.width,this.height),this.ssaoMaterial.uniforms.cameraProjectionMatrix.value.copy(this.camera.projectionMatrix),this.ssaoMaterial.uniforms.cameraInverseProjectionMatrix.value.copy(this.camera.projectionMatrixInverse),this.normalMaterial=new Mh,this.normalMaterial.blending=b,this.blurMaterial=new bo({defines:Object.assign({},Om.defines),uniforms:xo.clone(Om.uniforms),vertexShader:Om.vertexShader,fragmentShader:Om.fragmentShader}),this.blurMaterial.uniforms.tDiffuse.value=this.ssaoRenderTarget.texture,this.blurMaterial.uniforms.resolution.value.set(this.width,this.height),this.depthRenderMaterial=new bo({defines:Object.assign({},Cm.defines),uniforms:xo.clone(Cm.uniforms),vertexShader:Cm.vertexShader,fragmentShader:Cm.fragmentShader,blending:b}),this.depthRenderMaterial.uniforms.tDepth.value=this.normalRenderTarget.depthTexture,this.depthRenderMaterial.uniforms.cameraNear.value=this.camera.near,this.depthRenderMaterial.uniforms.cameraFar.value=this.camera.far,this.copyMaterial=new bo({uniforms:xo.clone(wm.uniforms),vertexShader:wm.vertexShader,fragmentShader:wm.fragmentShader,transparent:!0,depthTest:!1,depthWrite:!1,blendSrc:F,blendDst:C,blendEquation:E,blendSrcAlpha:z,blendDstAlpha:C,blendEquationAlpha:E}),this.fsQuad=new Mm.FullScreenQuad(null),this.originalClearColor=new xr};Dm.prototype=Object.assign(Object.create(Mm.prototype),{constructor:Dm,dispose:function(){this.beautyRenderTarget.dispose(),this.normalRenderTarget.dispose(),this.ssaoRenderTarget.dispose(),this.blurRenderTarget.dispose(),this.normalMaterial.dispose(),this.blurMaterial.dispose(),this.copyMaterial.dispose(),this.depthRenderMaterial.dispose(),this.fsQuad.dispose()},render:function(t,e){switch(t.setRenderTarget(this.beautyRenderTarget),t.clear(),t.render(this.scene,this.camera),this.overrideVisibility(),this.renderOverride(t,this.normalMaterial,this.normalRenderTarget,7829503,1),this.restoreVisibility(),this.ssaoMaterial.uniforms.kernelRadius.value=this.kernelRadius,this.ssaoMaterial.uniforms.minDistance.value=this.minDistance,this.ssaoMaterial.uniforms.maxDistance.value=this.maxDistance,this.renderPass(t,this.ssaoMaterial,this.ssaoRenderTarget),this.renderPass(t,this.blurMaterial,this.blurRenderTarget),this.output){case Dm.OUTPUT.SSAO:this.copyMaterial.uniforms.tDiffuse.value=this.ssaoRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Dm.OUTPUT.Blur:this.copyMaterial.uniforms.tDiffuse.value=this.blurRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Dm.OUTPUT.Beauty:this.copyMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Dm.OUTPUT.Depth:this.renderPass(t,this.depthRenderMaterial,this.renderToScreen?null:e);break;case Dm.OUTPUT.Normal:this.copyMaterial.uniforms.tDiffuse.value=this.normalRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;case Dm.OUTPUT.Default:this.copyMaterial.uniforms.tDiffuse.value=this.beautyRenderTarget.texture,this.copyMaterial.blending=b,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e),this.copyMaterial.uniforms.tDiffuse.value=this.blurRenderTarget.texture,this.copyMaterial.blending=T,this.renderPass(t,this.copyMaterial,this.renderToScreen?null:e);break;default:console.warn(\"THREE.SSAOPass: Unknown output type.\")}},renderPass:function(t,e,n,i,r){t.getClearColor(this.originalClearColor);var o=t.getClearAlpha(),s=t.autoClear;t.setRenderTarget(n),t.autoClear=!1,null!=i&&(t.setClearColor(i),t.setClearAlpha(r||0),t.clear()),this.fsQuad.material=e,this.fsQuad.render(t),t.autoClear=s,t.setClearColor(this.originalClearColor),t.setClearAlpha(o)},renderOverride:function(t,e,n,i,r){t.getClearColor(this.originalClearColor);var o=t.getClearAlpha(),s=t.autoClear;t.setRenderTarget(n),t.autoClear=!1,i=e.clearColor||i,r=e.clearAlpha||r,null!=i&&(t.setClearColor(i),t.setClearAlpha(r||0),t.clear()),this.scene.overrideMaterial=e,t.render(this.scene,this.camera),this.scene.overrideMaterial=null,t.autoClear=s,t.setClearColor(this.originalClearColor),t.setClearAlpha(o)},setSize:function(t,e){this.width=t,this.height=e,this.beautyRenderTarget.setSize(t,e),this.ssaoRenderTarget.setSize(t,e),this.normalRenderTarget.setSize(t,e),this.blurRenderTarget.setSize(t,e),this.ssaoMaterial.uniforms.resolution.value.set(t,e),this.ssaoMaterial.uniforms.cameraProjectionMatrix.value.copy(this.camera.projectionMatrix),this.ssaoMaterial.uniforms.cameraInverseProjectionMatrix.value.copy(this.camera.projectionMatrixInverse),this.blurMaterial.uniforms.resolution.value.set(t,e)},generateSampleKernel:function(){for(var t=this.kernelSize,e=this.kernel,n=0;n=o+1e3&&(a.update(1e3*s/(t-o),100),o=t,s=0,l)){var e=performance.memory;l.update(e.usedJSHeapSize/1048576,e.jsHeapSizeLimit/1048576)}return t},update:function(){r=this.end()},domElement:e,setMode:i}};Im.Panel=function(t,e,n){var i=1/0,r=0,o=Math.round,s=o(window.devicePixelRatio||1),a=80*s,c=48*s,l=3*s,h=2*s,u=3*s,d=15*s,p=74*s,f=30*s,m=document.createElement(\"canvas\");m.width=a,m.height=c,m.style.cssText=\"width:80px;height:48px\";var g=m.getContext(\"2d\");return g.font=\"bold \"+9*s+\"px Helvetica,Arial,sans-serif\",g.textBaseline=\"top\",g.fillStyle=n,g.fillRect(0,0,a,c),g.fillStyle=e,g.fillText(t,l,h),g.fillRect(u,d,p,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u,d,p,f),{dom:m,update:function(c,v){i=Math.min(i,c),r=Math.max(r,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,a,d),g.fillStyle=e,g.fillText(o(c)+\" \"+t+\" (\"+o(i)+\"-\"+o(r)+\")\",l,h),g.drawImage(m,u+s,d,p-s,f,u,d,p-s,f),g.fillRect(u+p-s,d,s,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u+p-s,d,s,o((1-c/v)*f))}}};const Bm=Im;var Nm=n(296),zm=n.n(Nm);function Um(t,e){for(var n=0;n{this._postLoadFunction()}),200),this.skipPostLoad=n,this.loaders=[]}var e,n;return e=t,(n=[{key:\"addObject\",value:function(t){if(t&&t.bufferGeometry){switch(t.geometryType){case\"solid\":if(t.meta.renderMaterial){var e=t.meta.renderMaterial,n=new xr(this._argbToRGB(e.diffuse));if(this._normaliseColor(n),1!==e.opacity){var i=this.transparentMaterial.clone();i.clippingPlanes=this.viewer.interactions.sectionBox.planes,i.color=n,i.opacity=0!==e.opacity?e.opacity:.2,this.addTransparentSolid(t,i)}else{var r=this.solidMaterial.clone();r.clippingPlanes=this.viewer.interactions.sectionBox.planes,r.color=n,r.metalness=e.metalness,0!==r.metalness&&(r.roughness=.1),r.metalness>.8&&(r.color=new xr(\"#CDCDCD\")),this.addSolid(t,r)}}else{var o=this.solidMaterial.clone();o.clippingPlanes=this.viewer.interactions.sectionBox.planes,this.addSolid(t,o)}break;case\"line\":this.addLine(t);break;case\"point\":this.addPoint(t)}this.postLoad()}}},{key:\"addSolid\",value:function(t,e){var n=new po(t.bufferGeometry,e||this.solidMaterial);n.userData=t.meta,n.uuid=t.meta.id,this.objectIds.push(n.uuid),this.solidObjects.add(n)}},{key:\"addTransparentSolid\",value:function(t,e){var n=new po(t.bufferGeometry,e||this.transparentMaterial);n.userData=t.meta,n.uuid=t.meta.id,this.objectIds.push(n.uuid),this.transparentObjects.add(n)}},{key:\"addLine\",value:function(t){var e=new Cc(t.bufferGeometry,this.lineMaterial);e.userData=t.meta,e.uuid=t.meta.id,this.objectIds.push(e.uuid),this.lineObjects.add(e)}},{key:\"addPoint\",value:function(t){var e=new Hc(t.bufferGeometry,this.pointMaterial);e.userData=t.meta,e.uuid=t.meta.id,this.objectIds.push(e.uuid),this.pointObjects.add(e)}},{key:\"removeObject\",value:function(t){}},{key:\"removeAllObjects\",value:function(){for(var t of this.objects)t.geometry&&t.geometry.dispose();this.solidObjects.clear(),this.transparentObjects.clear(),this.lineObjects.clear(),this.pointObjects.clear(),this.viewer.interactions.deselectObjects(),this.viewer.interactions.hideSectionBox(),this.objectIds=[],this._postLoadFunction()}},{key:\"_postLoadFunction\",value:function(){this.skipPostLoad||(this.viewer.interactions.zoomExtents(),this.viewer.interactions.hideSectionBox(),this.viewer.reflectionsNeedUpdate=!0)}},{key:\"getSceneBoundingBox\",value:function(){return 0===this.objects.length?new ei(new Kn(-1,-1,-1),new Kn(1,1,1)):(new ei).setFromObject(this.userObjects)}},{key:\"_argbToRGB\",value:function(t){return\"#\"+(\"000000\"+(16777215&t).toString(16)).slice(-6)}},{key:\"_normaliseColor\",value:function(t){var e={};if(t.getHSL(e),e.s+e.l>1)for(;e.s+e.l>1;)e.s-=.05,e.l-=.05;e.l>.6&&(e.l=.6),e.l<.3&&(e.l=.3),t.setHSL(e.h,e.s,e.l)}},{key:\"objects\",get:function(){return[...this.solidObjects.children,...this.transparentObjects.children,...this.lineObjects.children,...this.pointObjects.children]}},{key:\"materials\",get:function(){return[this.lineMaterial,this.pointMaterial,this.transparentMaterial,this.solidMaterial]}}])&&Um(e.prototype,n),t}();class Gm{constructor({serverUrl:t,streamId:e,token:n,objectId:i}){this.INTERVAL_MS=20,this.TIMEOUT_MS=18e4,this.serverUrl=t||window.location.origin,this.streamId=e,this.objectId=i,this.token=n||localStorage.getItem(\"AuthToken\"),this.headers={Accept:\"text/plain\"},n&&(this.headers.Authorization=`Bearer ${this.token}`),this.requestUrl=`${this.serverUrl}/objects/${this.streamId}/${this.objectId}`,this.promises=[],this.intervals={},this.buffer=[]}dispose(){this.buffer=[],this.intervals.forEach((t=>clearInterval(t.interval)))}async getObject(t){return this.buffer[t]?this.buffer[t]:new Promise(((e,n)=>{if(this.promises.push({id:t,resolve:e,reject:n}),this.intervals[t])this.intervals[t].elapsed=0;else{let e=setInterval(this.tryResolvePromise.bind(this),this.INTERVAL_MS,t);this.intervals[t]={interval:e,elapsed:0}}}))}tryResolvePromise(t){if(this.intervals[t].elapsed+=this.INTERVAL_MS,this.buffer[t]){for(let e of this.promises.filter((e=>e.id===t)))e.resolve(this.buffer[t]);return clearInterval(this.intervals[t].interval),void delete this.intervals[t]}this.intervals[t].elapsed>this.TIMEOUT_MS&&(console.warn(`Timeout resolving ${t}. HIC SVNT DRACONES.`),clearInterval(this.intervals[t].interval),this.promises.filter((e=>e.id===t)).forEach((t=>t.reject())),this.promises=this.promises.filter((t=>t.id!=t.id)))}async*getObjectIterator(){for await(let t of this.getRawObjectIterator()){let{id:e,obj:n}=this.processLine(t);this.buffer[e]=n,yield n}}processLine(t){var e=t.split(\"\\t\");return{id:e[0],obj:JSON.parse(e[1])}}async*getRawObjectIterator(){const t=new TextDecoder,e=(await fetch(this.requestUrl,{headers:this.headers})).body.getReader();let{value:n,done:i}=await e.read();n=n?t.decode(n):\"\";let r=/\\r\\n|\\n|\\r/gm,o=0;for(;;){let s=r.exec(n);if(s)yield n.substring(o,s.index),o=r.lastIndex;else{if(i)break;let s=n.substr(o);({value:n,done:i}=await e.read()),n=s+(n?t.decode(n):\"\"),o=r.lastIndex=0}}o=n[i])return i-1;if(e<=n[t])return t;for(var r=t,o=i,s=Math.floor((r+o)/2);e=n[s+1];)e=b&&(x[y][0]=x[v][0]/c[M+1][w],_=x[y][0]*c[w][M]);var S=p-1<=M?b-1:n-p;for(u=w>=-1?1:-w;u<=S;++u)x[y][u]=(x[v][u]-x[v][u-1])/c[M+1][w+u],_+=x[y][u]*c[w+u][M];p<=M&&(x[y][b]=-x[v][b-1]/c[M+1][p],_+=x[y][b]*c[p][M]),a[b][p]=_,u=v,v=y,y=u}}for(p=n,b=1;b<=i;++b){for(u=0;u<=n;++u)a[b][u]*=p;p*=n-b}return a},calcBSplineDerivatives:function(t,e,n,i,r){for(var o=r[])));var f=Math.log10(1/e),m=Math.pow(10,f);for(d=0;dt*e)),3)),n.computeVertexNormals(),n.computeFaceNormals(),n.computeBoundingSphere(),delete t.vertices,delete t.faces,new Vm(n,t)}catch(e){throw console.warn(\"Failed to convert mesh with id: \"+t.id),e}})),function(t){return u.apply(this,arguments)})},{key:\"PointToVector3\",value:function(t){var e=$m(t.units);return t.value?new Kn(t.value[0]*e,t.value[1]*e,t.value[2]*e):new Kn(t.x*e,t.y*e,t.z*e)}},{key:\"PointToBufferGeometry\",value:(h=ng((function*(t){var e=this.PointToVector3(t),n=(new Yr).setFromPoints([e]);return delete t.value,delete t.speckle_type,delete t.bbox,new Vm(n,t,\"point\")})),function(t){return h.apply(this,arguments)})},{key:\"LineToBufferGeometry\",value:(l=ng((function*(t){if(t.value)return this.PolylineToBufferGeometry(t);var e={};Object.assign(e,t),delete t.start,delete t.end,delete t.speckle_type,delete t.bbox;var n=(new Yr).setFromPoints([this.PointToVector3(e.start),this.PointToVector3(e.end)]);return new Vm(n,e,\"line\")})),function(t){return l.apply(this,arguments)})},{key:\"PolylineToBufferGeometry\",value:(c=ng((function*(t){var e={};Object.assign(e,t),delete t.value,delete t.speckle_type,delete t.bbox;var n=$m(e.units);e.value=yield this.dechunk(e.value);for(var i=[],r=0;r{this.viewer.sceneManager.addObject(t),r++})),e=!1,i=u.totalChildrenCount),n++,this.viewer.emit(\"load-progress\",{progress:n/(i+1),id:this.objectId})}}catch(e){a=!0,t=e}finally{try{s||null==h.return||(yield h.return())}finally{if(a)throw t}}o&&(yield o),0===r&&(console.warn(\"Viewer: no 3d objects found in object \"+this.objectId),this.viewer.emit(\"load-warning\",{message:\"No displayable objects found in object \"+this.objectId+\".\"}))},r=function(){var t=this,e=arguments;return new Promise((function(n,r){var o=i.apply(t,e);function s(t){og(o,n,r,s,a,\"next\",t)}function a(t){og(o,n,r,s,a,\"throw\",t)}s(void 0)}))},function(){return r.apply(this,arguments)})}])&&sg(e.prototype,n),t}();function cg(t,e){for(var n=0;nt!==e)))}},{key:\"emit\",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i{t(...n)};this._events[t].forEach(r)}}},{key:\"dispose\",value:function(){this._events=null}}])&&cg(e.prototype,n),t}();function hg(t,e){for(var n=0;n{n.orbiting=!0})),n.viewer.controls.addEventListener(\"sleep\",(()=>{n.orbiting=!1})),n.subset=void 0!==e&&void 0!==e.subset?e.subset:null,n.pointerDown=!1,void 0!==e&&e.hover&&n.viewer.renderer.domElement.addEventListener(\"pointermove\",zm()((t=>{var e=n.getClickedObjects(t);n.pointerDown?n.emit(\"object-drag\",e,n._getNormalisedClickPosition(t)):n.emit(\"hovered\",e,t)}),0)),void 0!==e&&e.hover&&n.viewer.renderer.domElement.addEventListener(\"pointerdown\",zm()((t=>{n.pointerDown=!0,n.orbiting||n.emit(\"mouse-down\",n.getClickedObjects(t))}),100)),n.sectionBox=null,void 0!==e&&e.sectionBox&&(n.sectionBox=e.sectionBox),n.viewer.renderer.domElement.addEventListener(\"pointerdown\",(()=>{i=(new Date).getTime()})),n.viewer.renderer.domElement.addEventListener(\"pointerup\",(t=>{var e=(new Date).getTime()-i;if(n.pointerDown=!1,!(n.orbiting&&e>250)){var r=n.getClickedObjects(t);n.emit(\"object-clicked\",r)}})),n.tapTimeout,n.lastTap=0,n.touchLocation,n.viewer.renderer.domElement.addEventListener(\"touchstart\",(t=>{n.touchLocation=t.targetTouches[0]})),n.viewer.renderer.domElement.addEventListener(\"touchend\",(t=>{var e=(new Date).getTime(),i=e-n.lastTap;if(clearTimeout(n.tapTimeout),i<500&&i>0){var r=n.getClickedObjects(n.touchLocation);n.emit(\"object-doubleclicked\",r)}else n.tapTimeout=setTimeout((function(){clearTimeout(this.tapTimeout)}),500);n.lastTap=e})),n.viewer.renderer.domElement.addEventListener(\"dblclick\",(t=>{var e=n.getClickedObjects(t);n.emit(\"object-doubleclicked\",e)})),n.multiSelect=!1,document.addEventListener(\"keydown\",(t=>{t.isComposing||229===t.keyCode||(\"Shift\"===t.key&&(n.multiSelect=!0),\"Escape\"===t.key&&n.unselect())})),document.addEventListener(\"keyup\",(t=>{t.isComposing||229===t.keyCode||\"Shift\"===t.key&&(n.multiSelect=!1)})),n.originalSelectionObjects=[],n}return e=s,(n=[{key:\"unselect\",value:function(){this.originalSelectionObjects=[]}},{key:\"getClickedObjects\",value:function(t){var e=this._getNormalisedClickPosition(t);this.raycaster.setFromCamera(e,this.viewer.camera);var n=this.raycaster.intersectObjects(this.subset?this._getGroupChildren(this.subset):this.viewer.sceneManager.objects);if(this.sectionBox&&this.sectionBox.display.visible){var i=(new ei).setFromObject(this.sectionBox.boxMesh);n=n.filter((t=>i.containsPoint(t.point)))}return n}},{key:\"_getGroupChildren\",value:function(t){var e=[];return 0===t.children.length?[t]:(t.children.forEach((t=>e=[...e,...this._getGroupChildren(t)])),e)}},{key:\"_getNormalisedClickPosition\",value:function(t){var e=this.viewer.renderer.domElement,n=this.viewer.renderer.domElement.getBoundingClientRect(),i=(t.clientX-n.left)*e.width/n.width,r=(t.clientY-n.top)*e.height/n.height;return{x:i/e.width*2-1,y:r/e.height*-2+1}}},{key:\"dispose\",value:function(){ug(fg(s.prototype),\"dispose\",this).call(this),this.unselect(),this.originalSelectionObjects=null}}])&&hg(e.prototype,n),s}(lg),gg=function(t,e,n){void 0===e&&(console.warn('THREE.TransformControls: The second parameter \"domElement\" is now mandatory.'),e=document),Qi.call(this),this.visible=!1,this.domElement=e;var i=new vg(n);this.add(i);var r=new yg;this.add(r);var o=this;H(\"camera\",t),H(\"object\",void 0),H(\"enabled\",!0),H(\"axis\",null),H(\"mode\",\"translate\"),H(\"translationSnap\",null),H(\"rotationSnap\",null),H(\"scaleSnap\",null),H(\"space\",\"world\"),H(\"size\",1),H(\"dragging\",!1),H(\"showX\",!0),H(\"showY\",!0),H(\"showZ\",!0);var s={type:\"change\"},a={type:\"mouseDown\"},c={type:\"mouseUp\",mode:o.mode},l={type:\"objectChange\"},h=new Ud;function u(t,e,n){for(var i=e.intersectObject(t,!0),r=0;rs&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),\"Y\"!==o.name&&\"XYZY\"!==o.name||Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),\"Z\"!==o.name&&\"XYZZ\"!==o.name||Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),\"XY\"===o.name&&Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),\"YZ\"===o.name&&Math.abs(U.copy(V).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),\"XZ\"===o.name&&Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),-1!==o.name.search(\"X\")&&(U.copy(V).applyQuaternion(e).dot(this.eye)<0?\"fwd\"===o.tag?o.visible=!1:o.scale.x*=-1:\"bwd\"===o.tag&&(o.visible=!1)),-1!==o.name.search(\"Y\")&&(U.copy(W).applyQuaternion(e).dot(this.eye)<0?\"fwd\"===o.tag?o.visible=!1:o.scale.y*=-1:\"bwd\"===o.tag&&(o.visible=!1)),-1!==o.name.search(\"Z\")&&(U.copy(q).applyQuaternion(e).dot(this.eye)<0?\"fwd\"===o.tag?o.visible=!1:o.scale.z*=-1:\"bwd\"===o.tag&&(o.visible=!1))}else\"rotate\"===this.mode&&(k.copy(e),U.copy(this.eye).applyQuaternion(H.copy(e).invert()),-1!==o.name.search(\"E\")&&o.quaternion.setFromRotationMatrix(G.lookAt(this.eye,F,W)),\"X\"===o.name&&(H.setFromAxisAngle(V,Math.atan2(-U.y,U.z)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)),\"Y\"===o.name&&(H.setFromAxisAngle(W,Math.atan2(U.x,U.z)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)),\"Z\"===o.name&&(H.setFromAxisAngle(q,Math.atan2(U.y,U.x)),H.multiplyQuaternions(k,H),o.quaternion.copy(H)));o.visible=o.visible&&(-1===o.name.indexOf(\"X\")||this.showX),o.visible=o.visible&&(-1===o.name.indexOf(\"Y\")||this.showY),o.visible=o.visible&&(-1===o.name.indexOf(\"Z\")||this.showZ),o.visible=o.visible&&(-1===o.name.indexOf(\"E\")||this.showX&&this.showY&&this.showZ),o.material._opacity=o.material._opacity||o.material.opacity,o.material._color=o.material._color||o.material.color.clone(),o.material.color.copy(o.material._color),o.material.opacity=o.material._opacity,this.enabled?this.axis&&(o.name===this.axis||this.axis.split(\"\").some((function(t){return o.name===t}))?(o.material.opacity=1,o.material.color.lerp(new xr(1,1,1),.5)):(o.material.opacity*=.25,o.material.color.lerp(new xr(1,1,1),.5))):(o.material.opacity*=.5,o.material.color.lerp(new xr(1,1,1),.5))}else o.visible=!1,\"AXIS\"===o.name?(o.position.copy(this.worldPositionStart),o.visible=!!this.axis,\"X\"===this.axis&&(H.setFromEuler(z.set(0,0,0)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(V).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),\"Y\"===this.axis&&(H.setFromEuler(z.set(0,0,Math.PI/2)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(W).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),\"Z\"===this.axis&&(H.setFromEuler(z.set(0,Math.PI/2,0)),o.quaternion.copy(e).multiply(H),Math.abs(U.copy(q).applyQuaternion(e).dot(this.eye))>.9&&(o.visible=!1)),\"XYZE\"===this.axis&&(H.setFromEuler(z.set(0,Math.PI/2,0)),U.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(G.lookAt(F,U,W)),o.quaternion.multiply(H),o.visible=this.dragging),\"E\"===this.axis&&(o.visible=!1)):\"START\"===o.name?(o.position.copy(this.worldPositionStart),o.visible=this.dragging):\"END\"===o.name?(o.position.copy(this.worldPosition),o.visible=this.dragging):\"DELTA\"===o.name?(o.position.copy(this.worldPositionStart),o.quaternion.copy(this.worldQuaternionStart),N.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),N.applyQuaternion(this.worldQuaternionStart.clone().invert()),o.scale.copy(N),o.visible=this.dragging):(o.quaternion.copy(e),this.dragging?o.position.copy(this.worldPositionStart):o.position.copy(this.worldPosition),this.axis&&(o.visible=-1!==this.axis.search(o.name)))}Qi.prototype.updateMatrixWorld.call(this)}};vg.prototype=Object.assign(Object.create(Qi.prototype),{constructor:vg,isTransformControlsGizmo:!0});var yg=function(){po.call(this,new Ql(1e5,1e5,2,2),new Mr({visible:!1,wireframe:!0,side:v,transparent:!0,opacity:.1,toneMapped:!1})),this.type=\"TransformControlsPlane\";var t=new Kn(1,0,0),e=new Kn(0,1,0),n=new Kn(0,0,1),i=new Kn,r=new Kn,o=new Kn,s=new Ei,a=new Qn;this.updateMatrixWorld=function(){var c=this.space;switch(this.position.copy(this.worldPosition),\"scale\"===this.mode&&(c=\"local\"),t.set(1,0,0).applyQuaternion(\"local\"===c?this.worldQuaternion:a),e.set(0,1,0).applyQuaternion(\"local\"===c?this.worldQuaternion:a),n.set(0,0,1).applyQuaternion(\"local\"===c?this.worldQuaternion:a),o.copy(e),this.mode){case\"translate\":case\"scale\":switch(this.axis){case\"X\":o.copy(this.eye).cross(t),r.copy(t).cross(o);break;case\"Y\":o.copy(this.eye).cross(e),r.copy(e).cross(o);break;case\"Z\":o.copy(this.eye).cross(n),r.copy(n).cross(o);break;case\"XY\":r.copy(n);break;case\"YZ\":r.copy(t);break;case\"XZ\":o.copy(n),r.copy(e);break;case\"XYZ\":case\"E\":r.set(0,0,0)}break;case\"rotate\":default:r.set(0,0,0)}0===r.length()?this.quaternion.copy(this.cameraQuaternion):(s.lookAt(i.set(0,0,0),r,o),this.quaternion.setFromRotationMatrix(s)),Qi.prototype.updateMatrixWorld.call(this)}};function xg(t,e){for(var n=0;n{this.orbiting=!0})),this.viewer.controls.addEventListener(\"controlend\",(()=>{this.orbiting=!1})),this.box=n||this.viewer.sceneManager.getSceneBoundingBox();var i=(new Kn).subVectors(this.box.max,this.box.min);this.boxGeo=new Kc(i.x,i.y,i.z);var r=(new Ei).setPosition(i.addVectors(this.box.min,this.box.max).multiplyScalar(.5));this.boxGeo.applyMatrix4(r),this.boxMesh=new po(this.boxGeo,new Mr),this.boxHelper=new yp(this.boxMesh,681727);var o=new Ql(1,1);this.hoverPlane=new po(o,new xh({transparent:!0,side:v,opacity:.02,color:681727,metalness:.1,roughness:.75})),this.display.add(this.boxHelper),this.display.add(this.hoverPlane),this.viewer.scene.add(this.display),this.boxMesh.userData.planes=[],this.boxMesh.userData.indices=[],this.planes=[],this._generatePlanes(),this.selectionHelper=new mg(this.viewer,{subset:this.boxMesh,hover:!0});var s=-1;this.selectionHelper.on(\"hovered\",(t=>{if(0===t.length&&!this.dragging)return this.hoverPlane.visible=!1,this.controls.visible=!0,this.planeControls.detach(),this.viewer.controls.enabled=!0,this.viewer.interactions.preventSelection=!1,this.viewer.needsRender=!0,void(s=-1);if(!this.orbiting&&!this.dragging){this.controls.visible=!1,this.hoverPlane.visible=!0;for(var e=new Kn,n=0;n<4;n++)e.add(this.boxGeo.vertices[t[0].object.userData.indices[t[0].faceIndex][n]].clone().applyMatrix4(this.boxMesh.matrixWorld));e.multiplyScalar(.25),this.hoverPlane.position.copy(e);for(var i=0;i<4;i++){var r=this.boxGeo.vertices[t[0].object.userData.indices[t[0].faceIndex][i]].clone().applyMatrix4(this.boxMesh.matrixWorld);this.hoverPlane.geometry.vertices[i].set(r.x-e.x,r.y-e.y,r.z-e.z)}this.hoverPlane.geometry.verticesNeedUpdate=!0;var o=t[0].face.normal;this.planeControls.showX=0!==o.x,this.planeControls.showY=0!==o.y,this.planeControls.showZ=0!==o.z,this.planeControls.attach(this.hoverPlane),t[0].faceIndex!==s&&(this.viewer.needsRender=!0,s=t[0].faceIndex)}})),this._globalControlsTarget=new po(new rh(1e-4),new Mr),this._globalControlsTarget.position.copy(this.boxGeo.vertices[5].clone().multiplyScalar(1.1)),this.display.add(this._globalControlsTarget),this.controls=new gg(this.viewer.camera,this.viewer.renderer.domElement),this.controls.setSize(.5),this.controls.attach(this._globalControlsTarget),this.display.add(this.controls),this.planeControls=new gg(this.viewer.camera,this.viewer.renderer.domElement,!0),this.display.add(this.planeControls),this.prevGizmoPos=this._globalControlsTarget.position.clone(),this.controls.addEventListener(\"change\",(()=>{this.prevGizmoPos.sub(this._globalControlsTarget.position),this.boxMesh.translateX(-this.prevGizmoPos.x),this.boxMesh.translateY(-this.prevGizmoPos.y),this.boxMesh.translateZ(-this.prevGizmoPos.z),this.prevGizmoPos=this._globalControlsTarget.position.clone(),this.setPlanesFromBox((new ei).setFromObject(this.boxMesh)),this.boxHelper.update(),this.viewer.needsRender=!0})),this.controls.addEventListener(\"dragging-changed\",(t=>{this.viewer.controls.enabled=!t.value,this.viewer.interactions.preventSelection=!t.value,t.value||this.viewer.interactions.zoomToObject(this.boxMesh)}));var a=null;this.planeControls.addEventListener(\"change\",(()=>{if(this.dragging&&-1!==s){null===a&&(a=this.hoverPlane.position.clone()),a.sub(this.hoverPlane.position);var t=this.boxMesh.userData.planes[s];a.negate(),t.translate(a);for(var e=this.boxMesh.userData.indices[s],n=0;n<4;n++){var i=e[n];this.boxGeo.vertices[i].add(a)}this.boxGeo.verticesNeedUpdate=!0,this.boxMesh.geometry.computeBoundingBox(),this.boxMesh.geometry.computeBoundingSphere();var r=this.boxGeo.vertices[5].clone();r.multiplyScalar(1.1),r.applyMatrix4(this.boxMesh.matrixWorld),this._globalControlsTarget.position.copy(r),this.prevGizmoPos=r,a=this.hoverPlane.position.clone(),this.boxHelper.update(),this.viewer.needsRender=!0}})),this.planeControls.addEventListener(\"dragging-changed\",(t=>{this.viewer.controls.enabled=!t.value,this.viewer.interactions.preventSelection=!t.value,this.dragging=!!t.value,this.dragging||(a=null,this.viewer.interactions.zoomToObject(this.boxMesh),s=-1),this.viewer.needsRender=!0}))}var e,n;return e=t,(n=[{key:\"_generatePlanes\",value:function(){for(var t=0;tt.clippingPlanes=this.sectionBox.planes))}var e,n;return e=t,(n=[{key:\"_handleDoubleClick\",value:function(t){t&&0!==t.length?this.zoomToObject(t[0].object):this.zoomExtents(),this.viewer.needsRender=!0}},{key:\"_handleSelect\",value:function(t){if(!this.preventSelection)if(0!==t.length){switch(this.selectionHelper.multiSelect||this.deselectObjects(),t[0].object.type){case\"Mesh\":this.selectedObjects.add(new po(t[0].object.geometry,this.selectionMeshMaterial));break;case\"Line\":this.selectedObjects.add(new Cc(t[0].object.geometry,this.selectionMeshMaterial));break;case\"Point\":return void console.warn(\"Point selection not implemented.\")}var e=new yp(t[0].object,2356157);e.material=this.selectionEdgesMaterial,this.selectedObjects.add(e),this.viewer.needsRender=!0}else this.deselectObjects()}},{key:\"deselectObjects\",value:function(){this.selectedObjects.clear(),this.viewer.needsRender=!0}},{key:\"toggleSectionBox\",value:function(){if(this.sectionBox.toggle(),this.sectionBox.display.visible)if(0===this.selectedObjects.children.length)this.sectionBox.setBox(this.viewer.sceneManager.getSceneBoundingBox()),this.zoomExtents();else{var t=(new ei).setFromObject(this.selectedObjects);this.sectionBox.setBox(t),this.zoomToBox(t)}else this.preventSelection=!1;this.viewer.needsRender=!0}},{key:\"hideSectionBox\",value:function(){this.sectionBox.display.visible&&this.toggleSectionBox()}},{key:\"showSectionBox\",value:function(){this.sectionBox.display.visible||this.toggleSectionBox()}},{key:\"zoomToObject\",value:function(t,e,n){void 0===e&&(e=1.2),void 0===n&&(n=!0);var i=(new ei).setFromObject(t);this.zoomToBox(i,e,n)}},{key:\"zoomExtents\",value:function(t,e){if(void 0===t&&(t=1.2),void 0===e&&(e=!0),this.sectionBox.display.visible)this.zoomToObject(this.sectionBox.boxMesh);else if(0!==this.viewer.sceneManager.objects.length){var n=(new ei).setFromObject(this.viewer.sceneManager.userObjects);this.zoomToBox(n,t,e),this.viewer.controls.setBoundary(n)}else{var i=new ei(new Kn(-1,-1,-1),new Kn(1,1,1));this.zoomToBox(i,t,e)}}},{key:\"zoomToBox\",value:function(t,e,n){void 0===e&&(e=1.2),void 0===n&&(n=!0);var i=e,r=t.getSize(new Kn),o=new vi;t.getBoundingSphere(o),o.radius=o.radius*i,this.viewer.controls.fitToSphere(o,n);var s=Math.max(r.x,r.y,r.z)/(2*Math.atan(Math.PI*this.viewer.camera.fov/360)),a=s/this.viewer.camera.aspect,c=i*Math.max(s,a);this.viewer.controls.minDistance=c/100,this.viewer.controls.maxDistance=100*c,this.viewer.camera.near=c/100,this.viewer.camera.far=100*c,this.viewer.camera.updateProjectionMatrix()}},{key:\"rotateCamera\",value:function(t,e,n){void 0===t&&(t=.261799),void 0===e&&(e=0),void 0===n&&(n=!0),this.viewer.controls.rotate(t,e,n)}},{key:\"screenshot\",value:function(){return this.viewer.renderer.domElement.toDataURL(\"image/png\")}},{key:\"rotateTo\",value:function(t,e){void 0===e&&(e=!0);var n=.5*Math.PI,i=Math.PI;switch(t){case\"front\":this.viewer.controls.rotateTo(0,n,e);break;case\"back\":this.viewer.controls.rotateTo(i,n,e);break;case\"up\":case\"top\":this.viewer.controls.rotateTo(0,0,e);break;case\"down\":case\"bottom\":this.viewer.controls.rotateTo(0,i,e);break;case\"right\":this.viewer.controls.rotateTo(n,n,e);break;case\"left\":this.viewer.controls.rotateTo(-n,n,e)}}}])&&_g(e.prototype,n),t}();function Mg(t,e,n,i,r,o,s){try{var a=t[o](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(i,r)}function Sg(t,e){for(var n=0;n{e.pauseSSAO=!0})),e.controls.addEventListener(\"sleep\",(()=>{e.pauseSSAO=!1,e.needsRender=!0})),e.sceneManager=new Fm(Ag(e)),s&&(e.stats=new Bm,e.container.appendChild(e.stats.dom)),window.addEventListener(\"resize\",e.onWindowResize.bind(Ag(e)),!1),e.interactions=new wg(Ag(e)),e.needsRender=!0,e.sceneLights(),e.animate(),e.loaders=[],e}return e=l,(n=[{key:\"sceneLights\",value:function(){var t=new Iu(16777215);this.scene.add(t);var e=[];e[0]=new Pu(16777215,.21,0),e[1]=new Pu(16777215,.21,0),e[2]=new Pu(16777215,.21,0),e[3]=new Pu(16777215,.21,0),e[0].position.set(1e3,1e3,1e3),e[1].position.set(1e3,-1e3,1e3),e[2].position.set(-1e3,-1e3,1e3),e[3].position.set(-1e3,1e3,1e3),this.scene.add(e[0]),this.scene.add(e[1]),this.scene.add(e[2]),this.scene.add(e[3]);var n=new Tu(16777215,0,.2);n.color.setHSL(1,1,1),n.groundColor.setHSL(.095,1,.75),n.up.set(0,0,1),this.scene.add(n);var i=new Tp(1);this.scene.add(i);var r=new Da;this.scene.add(r)}},{key:\"onWindowResize\",value:function(){this.camera.aspect=this.container.offsetWidth/this.container.offsetHeight,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.container.offsetWidth,this.container.offsetHeight),this.composer.setSize(this.container.offsetWidth,this.container.offsetHeight)}},{key:\"animate\",value:function(){var t=this.clock.getDelta(),e=this.controls.update(t);requestAnimationFrame(this.animate.bind(this)),(e||this.needsRender)&&(this.needsRender=!1,this.stats&&this.stats.begin(),this.render(),this.stats&&this.stats.end())}},{key:\"render\",value:function(){if(this.reflections&&this.reflectionsNeedUpdate){for(var t of this.sceneManager.objects)t.material.envMap=null;for(var e of(this.scene.background=new xr(\"#F0F3F8\"),this.cubeCamera.update(this.renderer,this.scene),this.scene.background=null,this.sceneManager.objects))e.material.envMap=this.cubeCamera.renderTarget.texture;this.reflectionsNeedUpdate=!1}this.postprocessing&&!this.pauseSSAO?this.composer.render(this.scene,this.camera):this.renderer.render(this.scene,this.camera)}},{key:\"loadObject\",value:(r=function*(t,e){var n=new ag(this,t,e);this.loaders.push(n),yield n.load()},o=function(){var t=this,e=arguments;return new Promise((function(n,i){var o=r.apply(t,e);function s(t){Mg(o,n,i,s,a,\"next\",t)}function a(t){Mg(o,n,i,s,a,\"throw\",t)}s(void 0)}))},function(t,e){return o.apply(this,arguments)})},{key:\"dispose\",value:function(){}}])&&Sg(e.prototype,n),l}(lg)},296:(t,e,n)=>{var i=/^\\s+|\\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,s=/^0o[0-7]+$/i,a=parseInt,c=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l=\"object\"==typeof self&&self&&self.Object===Object&&self,h=c||l||Function(\"return this\")(),u=Object.prototype.toString,d=Math.max,p=Math.min,f=function(){return h.Date.now()};function m(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function g(t){if(\"number\"==typeof t)return t;if(function(t){return\"symbol\"==typeof t||function(t){return!!t&&\"object\"==typeof t}(t)&&\"[object Symbol]\"==u.call(t)}(t))return NaN;if(m(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=m(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(i,\"\");var n=o.test(t);return n||s.test(t)?a(t.slice(2),n?2:8):r.test(t)?NaN:+t}t.exports=function(t,e,n){var i,r,o,s,a,c,l=0,h=!1,u=!1,v=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function y(e){var n=i,o=r;return i=r=void 0,l=e,s=t.apply(o,n)}function x(t){return l=t,a=setTimeout(_,e),h?y(t):s}function b(t){var n=t-c;return void 0===c||n>=e||n<0||u&&t-l>=o}function _(){var t=f();if(b(t))return w(t);a=setTimeout(_,function(t){var n=e-(t-c);return u?p(n,o-(t-l)):n}(t))}function w(t){return a=void 0,v&&i?y(t):(i=r=void 0,s)}function M(){var t=f(),n=b(t);if(i=arguments,r=this,c=t,n){if(void 0===a)return x(c);if(u)return a=setTimeout(_,e),y(c)}return void 0===a&&(a=setTimeout(_,e)),s}return e=g(e)||0,m(n)&&(h=!!n.leading,o=(u=\"maxWait\"in n)?d(g(n.maxWait)||0,e):o,v=\"trailing\"in n?!!n.trailing:v),M.cancel=function(){void 0!==a&&clearTimeout(a),l=0,i=c=r=a=void 0},M.flush=function(){return void 0===a?s:w(f())},M}}},e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}return n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n(529)})()}));\n//# sourceMappingURL=Speckle.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/**\n * Simple client that streams object info from a Speckle Server.\n * TODO: This should be split from the viewer into its own package.\n */\n\nexport default class ObjectLoader {\n\n constructor( { serverUrl, streamId, token, objectId } ) {\n this.INTERVAL_MS = 20\n this.TIMEOUT_MS = 180000 // three mins\n\n this.serverUrl = serverUrl || window.location.origin\n this.streamId = streamId\n this.objectId = objectId\n this.token = token || localStorage.getItem( 'AuthToken' )\n\n this.headers = {\n 'Accept': 'text/plain'\n }\n\n if( token ) {\n this.headers['Authorization'] = `Bearer ${this.token}`\n }\n\n this.requestUrl = `${this.serverUrl}/objects/${this.streamId}/${this.objectId}`\n this.promises = []\n this.intervals = {}\n this.buffer = []\n }\n\n dispose() {\n this.buffer = []\n this.intervals.forEach( i => clearInterval( i.interval ) )\n }\n\n async getObject( id ){\n if ( this.buffer[id] ) return this.buffer[id]\n\n let promise = new Promise( ( resolve, reject ) => {\n this.promises.push( { id, resolve, reject } )\n // Only create a new interval checker if none is already present!\n if ( this.intervals[id] ) {\n this.intervals[id].elapsed = 0 // reset elapsed\n } else {\n let intervalId = setInterval( this.tryResolvePromise.bind( this ), this.INTERVAL_MS, id )\n this.intervals[id] = { interval: intervalId, elapsed: 0 }\n }\n } )\n return promise\n }\n\n tryResolvePromise( id ) {\n this.intervals[id].elapsed += this.INTERVAL_MS\n if ( this.buffer[id] ) {\n for ( let p of this.promises.filter( p => p.id === id ) ) {\n p.resolve( this.buffer[id] )\n }\n\n clearInterval( this.intervals[id].interval )\n delete this.intervals[id]\n // this.promises = this.promises.filter( p => p.id !== p.id ) // clearing out promises too early seems to nuke loading\n return\n }\n\n if ( this.intervals[id].elapsed > this.TIMEOUT_MS ) {\n console.warn( `Timeout resolving ${id}. HIC SVNT DRACONES.` )\n clearInterval( this.intervals[id].interval )\n this.promises.filter( p => p.id === id ).forEach( p => p.reject() )\n this.promises = this.promises.filter( p => p.id !== p.id ) // clear out\n }\n }\n\n async * getObjectIterator( ) {\n for await ( let line of this.getRawObjectIterator() ) {\n let { id, obj } = this.processLine( line )\n this.buffer[ id ] = obj\n yield obj\n }\n }\n\n processLine( chunk ) {\n var pieces = chunk.split( '\\t' )\n return { id: pieces[0], obj: JSON.parse( pieces[1] ) }\n }\n\n async * getRawObjectIterator() {\n const decoder = new TextDecoder()\n const response = await fetch( this.requestUrl, { headers: this.headers } )\n const reader = response.body.getReader()\n let { value: chunk, done: readerDone } = await reader.read()\n chunk = chunk ? decoder.decode( chunk ) : ''\n\n let re = /\\r\\n|\\n|\\r/gm\n let startIndex = 0\n\n while ( true ) {\n let result = re.exec( chunk )\n if ( !result ) {\n if ( readerDone ) break\n let remainder = chunk.substr( startIndex );\n ( { value: chunk, done: readerDone } = await reader.read() )\n chunk = remainder + ( chunk ? decoder.decode( chunk ) : '' )\n startIndex = re.lastIndex = 0\n continue\n }\n yield chunk.substring( startIndex, result.index )\n startIndex = re.lastIndex\n }\n\n if ( startIndex < chunk.length ) {\n yield chunk.substr( startIndex )\n }\n }\n}\n","\nimport { Viewer, Converter } from '@speckle/viewer'\nimport ObjectLoader from '@speckle/objectloader'\n\nlet v = new Viewer( { container: document.getElementById( 'renderer' ), showStats: false } )\n// v.on( 'load-progress', args => console.log( args ) )\n\nwindow.v = v\n\nconst token = 'e844747dc6f6b0b5c7d5fbd82d66de6e9529531d75'\n\nwindow.LoadData = async function LoadData( url ) {\n await v.loadObject( url, token )\n}\n\nwindow.LoadDataOld = async function LoadData( id ) {\n\n // v.sceneManager.removeAllObjects()\n\n id = id || document.getElementById( 'objectIdInput' ).value\n let loader = new ObjectLoader( {\n serverUrl: 'https://staging.speckle.dev',\n streamId: '5486aa9fc7',\n token,\n objectId: id\n } )\n\n let converter = new Converter( loader )\n let first = true\n // Note: it's important the loop continues to load.\n for await ( let obj of loader.getObjectIterator() ) {\n if ( first ) {\n ( async() => {\n await converter.traverseAndConvert( obj, ( o ) => v.sceneManager.addObject( o ) )\n } )()\n first = false\n }\n }\n}\n\nwindow.onload = (event) => {\n let testUrl = window.location.hash.substr(1);\n if (testUrl) {\n LoadData(testUrl);\n };\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/preview-service/readme.md b/packages/preview-service/readme.md new file mode 100644 index 000000000..e69de29bb diff --git a/packages/preview-service/render_page/src/app.js b/packages/preview-service/render_page/src/app.js new file mode 100644 index 000000000..4e17f12b3 --- /dev/null +++ b/packages/preview-service/render_page/src/app.js @@ -0,0 +1,19 @@ + +import { Viewer, Converter } from '@speckle/viewer' +import ObjectLoader from '@speckle/objectloader' + +let v = new Viewer( { container: document.getElementById( 'renderer' ), showStats: false } ) +// v.on( 'load-progress', args => console.log( args ) ) + +window.v = v + +window.LoadData = async function LoadData( url ) { + await v.loadObject( url, token ) +} + +window.onload = (event) => { + let testUrl = window.location.hash.substr(1); + if (testUrl) { + LoadData(testUrl); + }; +}; diff --git a/packages/preview-service/render_page/src/example.html b/packages/preview-service/render_page/src/example.html new file mode 100644 index 000000000..0c744454b --- /dev/null +++ b/packages/preview-service/render_page/src/example.html @@ -0,0 +1,30 @@ + + + + + Speckle Viewer + + + + + +
+ + diff --git a/packages/preview-service/routes/index.js b/packages/preview-service/routes/index.js new file mode 100644 index 000000000..f0e28b1ee --- /dev/null +++ b/packages/preview-service/routes/index.js @@ -0,0 +1,10 @@ +'use strict' + +var express = require( 'express' ) +var router = express.Router() + +router.get( '/', function( req, res, next ) { + res.send( 'Speckle Object Preview Service' ) +} ) + +module.exports = router diff --git a/packages/preview-service/routes/objects.js b/packages/preview-service/routes/objects.js new file mode 100644 index 000000000..a45e55294 --- /dev/null +++ b/packages/preview-service/routes/objects.js @@ -0,0 +1,103 @@ +'use strict' + +const zlib = require( 'zlib' ) +var express = require( 'express' ) +var { getObject, getObjectChildrenStream } = require( './services/objects_utils' ) + +var router = express.Router() + + +// This method was copy-pasted from the server method, without authentication/authorization (this web service is an internal one) +router.get( '/:streamId/:objectId', async function( req, res, next ) { + + // Populate first object (the "commit") + let obj = await getObject( { streamId: req.params.streamId, objectId: req.params.objectId } ) + + if ( !obj ) { + return res.status( 404 ).send( `Failed to find object ${req.params.objectId}.` ) + } + + obj = obj.data + + let simpleText = req.headers.accept === 'text/plain' + + let dbStream = await getObjectChildrenStream( { streamId: req.params.streamId, objectId: req.params.objectId } ) + + let currentChunkSize = 0 + let maxChunkSize = 50000 + let chunk = simpleText ? '' : [ ] + let isFirst = true + + res.writeHead( 200, { 'Content-Encoding': 'gzip', 'Content-Type': simpleText ? 'text/plain' : 'application/json' } ) + + const gzip = zlib.createGzip( ) + + if ( !simpleText ) gzip.write( '[' ) + + // helper func to flush the gzip buffer + const writeBuffer = ( addTrailingComma ) => { + // console.log( `writing buff ${currentChunkSize}` ) + if ( simpleText ) { + gzip.write( chunk ) + } else { + gzip.write( chunk.join( ',' ) ) + if ( addTrailingComma ) { + gzip.write( ',' ) + } + } + gzip.flush( ) + chunk = simpleText ? '' : [ ] + } + + var objString = JSON.stringify( obj ) + if ( simpleText ) { + chunk += `${obj.id}\t${objString}\n` + } else { + chunk.push( objString ) + } + writeBuffer( true ) + + let k = 0 + let requestDropped = false + dbStream.on( 'data', row => { + try { + let data = JSON.stringify( row.data ) + currentChunkSize += Buffer.byteLength( data, 'utf8' ) + if ( simpleText ) { + chunk += `${row.data.id}\t${data}\n` + } else { + chunk.push( data ) + } + if ( currentChunkSize >= maxChunkSize ) { + currentChunkSize = 0 + writeBuffer( true ) + } + k++ + } catch ( e ) { + requestDropped = true + debug( 'speckle:error' )( `'Failed to find object, or object is corrupted.' ${req.params.objectId}` ) + return + } + } ) + + dbStream.on( 'error', err => { + console.log("DB ERROR ",err) + debug( 'speckle:error' )( `Error in streaming object children for ${req.params.objectId}: ${err}` ) + requestDropped = true + return + } ) + + dbStream.on( 'end', ( ) => { + if ( currentChunkSize !== 0 ) { + writeBuffer( false ) + if ( !simpleText ) gzip.write( ']' ) + } + gzip.end( ) + } ) + + // 🚬 + gzip.pipe( res ) + +} ) + +module.exports = router diff --git a/packages/preview-service/routes/preview.js b/packages/preview-service/routes/preview.js new file mode 100644 index 000000000..2d73d83d4 --- /dev/null +++ b/packages/preview-service/routes/preview.js @@ -0,0 +1,113 @@ +'use strict' + +var express = require( 'express' ) +var router = express.Router() +const puppeteer = require( 'puppeteer' ) + +function sleep( ms ) { + return new Promise( ( resolve ) => { + setTimeout( resolve, ms ) + } ) +} + +async function getScreenshot( objectUrl ) { + const browser = await puppeteer.launch( { args: [ '--no-sandbox', '--disable-setuid-sandbox' ] } ) + const page = await browser.newPage() + await page.goto( 'http://127.0.0.1:3001/render/' ) + + console.log("Page loaded") + + console.time( 'lo' ) + const scr = await page.evaluate( async ( objectUrl ) => { + waitForAnimation = async ( ms=70 ) => await new Promise( ( resolve ) => { + setTimeout( resolve, ms ) + } ) + let scr = {} + let stepAngle = 0.261799 + v.postprocessing = false + v.sceneManager.skipPostLoad = true + await v.loadObject( objectUrl, '' ) + v.interactions.zoomExtents( 0.95, false ) + await waitForAnimation() + scr['0'] = v.interactions.screenshot() + + for ( let i = 1; i < 3; i++ ) { + v.interactions.rotateCamera( stepAngle, undefined, false ) + await waitForAnimation() + scr[( -1 * i ) + ''] = v.interactions.screenshot() + } + v.interactions.rotateCamera( -2 * stepAngle, undefined, false ) + await waitForAnimation() + for ( let i = 1; i < 3; i++ ) { + v.interactions.rotateCamera( -1 * stepAngle, undefined, false ) + await waitForAnimation() + scr[i + ''] = v.interactions.screenshot() + } + /* + v.interactions.rotateCamera( 2 * stepAngle, transition=false ) + await waitForAnimation( 500 ) + + let dirArray = [ 'top', 'bottom', 'front', 'back', 'left', 'right' ] + for ( let i in dirArray ) { + let d = dirArray[i] + v.interactions.rotateTo( d ) + await waitForAnimation() + scr[d] = v.interactions.screenshot() + } + */ + return scr + }, objectUrl ) + + + return scr + + return ` + +
+
+
+
+
+ + ` + + const imageBuffer = new Buffer.from( b64Image.replace( /^data:image\/\w+;base64,/, '' ), 'base64' ) + + console.timeEnd( 'lo' ) + + // await page.waitForTimeout(500); + //var response = await page.screenshot({ + // type: 'png', + // clip: {x: 0, y: 0, width: 800, height: 800} + //}); + + // Don't await for cleanup + browser.close() + + return imageBuffer +}; + + +router.get( '/:streamId/:objectId', async function( req, res, next ) { + let objectUrl = `http://127.0.0.1:3001/streams/${req.params.streamId}/objects/${req.params.objectId}` + /* + let authToken = '' + let authorizationHeader = req.header( 'Authorization' ) + if ( authorizationHeader && authorizationHeader.toLowerCase().startsWith( 'bearer ' ) ) { + authToken = authorizationHeader.Substring( 'Bearer '.Length ).Trim() + } + // useful for testing (not the recommended way of passing the auth token) + if ( req.query.authToken ) { + authToken = req.query.authToken + } + */ + + console.log( objectUrl ) + console.time( 'test' ) + let scr = await getScreenshot( objectUrl ) + console.timeEnd( 'test' ) + // res.setHeader( 'content-type', 'image/png' ) + res.send( scr ) +} ) + +module.exports = router diff --git a/packages/preview-service/routes/services/objects_utils.js b/packages/preview-service/routes/services/objects_utils.js new file mode 100644 index 000000000..13e1b892d --- /dev/null +++ b/packages/preview-service/routes/services/objects_utils.js @@ -0,0 +1,32 @@ +'use strict' + +let debug = require( 'debug' )( 'speckle:services' ) +const knex = require( '../../knex' ) + +const Objects = ( ) => knex( 'objects' ) +const Closures = ( ) => knex( 'object_children_closure' ) + +module.exports = { + + async getObject( { streamId, objectId } ) { + let res = await Objects( ).where( { streamId: streamId, id: objectId } ).select( '*' ).first( ) + if ( !res ) return null + res.data.totalChildrenCount = res.totalChildrenCount + delete res.streamId + return res + }, + + async getObjectChildrenStream( { streamId, objectId } ) { + let q = Closures( ) + q.select( 'id' ) + q.select( 'data' ) + q.rightJoin( 'objects', function() { + this.on( 'objects.streamId', '=', 'object_children_closure.streamId' ) + .andOn( 'objects.id', '=', 'object_children_closure.child' ) + } ) + .where( knex.raw( 'object_children_closure."streamId" = ? AND parent = ?', [ streamId, objectId ] ) ) + .orderBy( 'objects.id' ) + return q.stream( ) + } + +} diff --git a/packages/preview-service/webpack.config.render_page.js b/packages/preview-service/webpack.config.render_page.js new file mode 100644 index 000000000..578d76d69 --- /dev/null +++ b/packages/preview-service/webpack.config.render_page.js @@ -0,0 +1,57 @@ +/* global __dirname, require, module*/ +const HtmlWebpackPlugin = require( 'html-webpack-plugin' ) +const { CleanWebpackPlugin } = require( 'clean-webpack-plugin' ) +const path = require( 'path' ) +const yargs = require( 'yargs' ) +const env = yargs.argv.env + +let filename = 'viewer' + +let outputFile, mode + +if ( env === 'build' ) { + mode = 'production' + outputFile = filename + '.min.js' +} else { + mode = 'development' + outputFile = filename + '.js' +} + +const config = { + mode: mode, + entry: path.resolve( __dirname + '/render_page/src/app.js' ), + target: 'web', + devtool: 'source-map', + output: { + path: path.resolve( __dirname + '/public/render' ) , + filename: outputFile, + }, + module: { + rules: [ + { + test: /(\.jsx|\.js|\.ts|\.tsx)$/, + use: { + loader: 'babel-loader', + }, + exclude: /(node_modules|bower_components)/, + }, + ], + }, + plugins: [ + new CleanWebpackPlugin( { cleanStaleWebpackAssets: false } ), + new HtmlWebpackPlugin( { title: 'Speckle Viewer Example', template: 'render_page/src/example.html', filename: 'index.html' } ) + ], + resolve: { + modules: [ path.resolve( './node_modules' ), path.resolve( '.render_page/src' ) ], + extensions: [ '.json', '.js' ], + }, + devServer: { + contentBase: path.join( __dirname, 'example' ), + compress: false, + port: 9000, + serveIndex: true, + writeToDisk: true + } +} + +module.exports = config diff --git a/packages/server/knexfile.js b/packages/server/knexfile.js index f405c3f2c..b3258793b 100644 --- a/packages/server/knexfile.js +++ b/packages/server/knexfile.js @@ -56,6 +56,7 @@ module.exports = { connection: connectionUri, migrations: { directory: migrationDirs - } + }, + pool: { min: 2, max: 4 } } } diff --git a/packages/server/modules/index.js b/packages/server/modules/index.js index ada4c32df..741d6b7ad 100644 --- a/packages/server/modules/index.js +++ b/packages/server/modules/index.js @@ -11,7 +11,7 @@ const { scalarResolvers, scalarSchemas } = require( './core/graph/scalars' ) exports.init = async ( app ) => { let dirs = fs.readdirSync( `${appRoot}/modules` ) - let moduleDirs = [ './core', './auth', './apiexplorer', './emails', './pwdreset', './serverinvites' ] // TODO: add './invites' + let moduleDirs = [ './core', './auth', './apiexplorer', './emails', './pwdreset', './serverinvites', './previews' ] // TODO: add './invites' // Stage 1: initialise all modules for ( let dir of moduleDirs ){ diff --git a/packages/server/modules/previews/assets/no_preview.png b/packages/server/modules/previews/assets/no_preview.png new file mode 100644 index 000000000..6ea8157ec Binary files /dev/null and b/packages/server/modules/previews/assets/no_preview.png differ diff --git a/packages/server/modules/previews/assets/preview_error.png b/packages/server/modules/previews/assets/preview_error.png new file mode 100644 index 000000000..4d3dcce0b Binary files /dev/null and b/packages/server/modules/previews/assets/preview_error.png differ diff --git a/packages/server/modules/previews/index.js b/packages/server/modules/previews/index.js new file mode 100644 index 000000000..ec85a7b6a --- /dev/null +++ b/packages/server/modules/previews/index.js @@ -0,0 +1,102 @@ +/* istanbul ignore file */ +'use strict' + +const debug = require( 'debug' ) +const express = require( 'express' ) +const appRoot = require( 'app-root-path' ) + +const cors = require( 'cors' ) +const { matomoMiddleware } = require( `${appRoot}/logging/matomoHelper` ) +const { contextMiddleware, validateScopes, authorizeResolver } = require( `${appRoot}/modules/shared` ) + +const { getStream } = require( '../core/services/streams' ) +const { getObject } = require( '../core/services/objects' ) +const { getPreviewImage, createObjectPreview, getObjectPreviewInfo } = require( './services/previews' ) + +exports.init = ( app, options ) => { + if ( process.env.DISABLE_PREVIEWS ) { + debug( 'speckle:modules' )( '📸 Object preview module is DISABLED' ) + } else { + debug( 'speckle:modules' )( '📸 Init object preview module' ) + } + + let sendObjectPreview = async ( req, res, streamId, objectId ) => { + if ( process.env.DISABLE_PREVIEWS ) { + return res.sendFile( `${appRoot}/modules/previews/assets/no_preview.png` ) + } + + // Check if objectId is valid + const dbObj = await getObject( { streamId, objectId } ) + if ( !dbObj ) { + return res.sendFile( `${appRoot}/modules/previews/assets/preview_error.png` ) + } + + // Get existing preview metadata + let previewInfo = await getObjectPreviewInfo( { streamId, objectId } ) + if ( !previewInfo ) { + await createObjectPreview( { streamId, objectId, priority: 0 } ) + } + + let timestampStart = Date.now() + + // Try for 10 sec of wall-clock to get the image (wait for preview generation) + while ( Date.now() < timestampStart + 10*1000 ) { + previewInfo = await getObjectPreviewInfo( { streamId, objectId } ) + if ( previewInfo.previewStatus == 2 && previewInfo.preview ) { + break + } + await new Promise( ( resolve ) => { + setTimeout( resolve, 500 ) + } ) + } + + if ( previewInfo.previewStatus != 2 || !previewInfo.preview ) { + return res.sendFile( `${appRoot}/modules/previews/assets/no_preview.png` ) + } + + let previewImgId = previewInfo.preview[req.params.angle] + if ( !previewImgId ) { + debug( 'speckle:errors' )( `Error: Preview angle '${req.params.angle}' not found for object ${streamId}:${objectId}` ) + return res.sendFile( `${appRoot}/modules/previews/assets/preview_error.png` ) + } + let previewImg = await getPreviewImage( { previewId: previewImgId } ) + if ( !previewImg ) { + debug( 'speckle:errors' )( `Error: Preview image not found: ${previewImgId}` ) + return res.sendFile( `${appRoot}/modules/previews/assets/preview_error.png` ) + } + + res.contentType( 'image/png' ) + res.send( previewImg ) + } + + app.get( '/preview/:streamId/objects/:objectId/:angle', contextMiddleware, matomoMiddleware, async ( req, res ) => { + + const stream = await getStream( { streamId: req.params.streamId, userId: req.context.userId } ) + + if ( !stream ) { + return res.status( 404 ).end() + } + + if ( !stream.isPublic && req.context.auth === false ) { + return res.status( 401 ).end( ) + } + + if ( !stream.isPublic ) { + try { + await validateScopes( req.context.scopes, 'streams:read' ) + } catch ( err ) { + return res.status( 401 ).end( ) + } + + try { + await authorizeResolver( req.context.userId, req.params.streamId, 'stream:reviewer' ) + } catch ( err ) { + return res.status( 401 ).end( ) + } + } + + return sendObjectPreview( req, res, req.params.streamId, req.params.objectId ) + } ) +} + +exports.finalize = () => {} diff --git a/packages/server/modules/previews/migrations/20210426200000-previews.js b/packages/server/modules/previews/migrations/20210426200000-previews.js new file mode 100644 index 000000000..b8ba3f4f1 --- /dev/null +++ b/packages/server/modules/previews/migrations/20210426200000-previews.js @@ -0,0 +1,25 @@ +/* istanbul ignore file */ +'use strict' + +exports.up = async knex => { + await knex.schema.createTable( 'object_preview', table => { + table.string( 'streamId', 10 ).references( 'id' ).inTable( 'streams' ).onDelete( 'cascade' ) + table.string( 'objectId' ).notNullable( ) + table.integer( 'previewStatus' ).notNullable( ).defaultTo( 0 ) + table.integer( 'priority' ).notNullable( ).defaultTo( 1 ) + table.timestamp( 'lastUpdate' ).notNullable( ).defaultTo( knex.fn.now( ) ) + table.jsonb( 'preview' ) + table.primary( [ 'streamId', 'objectId' ] ) + table.index( [ 'previewStatus', 'priority', 'lastUpdate' ] ) + } ) + + await knex.schema.createTable( 'previews', table => { + table.string( 'id' ).primary( ) + table.binary( 'data' ) + } ) +} + +exports.down = async knex => { + await knex.schema.dropTableIfExists( 'object_preview' ) + await knex.schema.dropTableIfExists( 'previews' ) +} diff --git a/packages/server/modules/previews/services/previews.js b/packages/server/modules/previews/services/previews.js new file mode 100644 index 000000000..09d333c56 --- /dev/null +++ b/packages/server/modules/previews/services/previews.js @@ -0,0 +1,35 @@ +/* istanbul ignore file */ +'use strict' + +const appRoot = require( 'app-root-path' ) +const { async } = require('crypto-random-string') +const knex = require( `${appRoot}/db/knex` ) + +const ObjectPreview = ( ) => knex( 'object_preview' ) +const Previews = ( ) => knex( 'previews' ) + +module.exports = { + + async getObjectPreviewInfo( { streamId, objectId } ) { + return await ObjectPreview( ).select( '*' ).where( { streamId, objectId } ).first( ) + }, + + async createObjectPreview ( { streamId, objectId, priority } ) { + let insertionObject = { + streamId, + objectId, + priority, + previewStatus: 0 + } + let sqlQuery = ObjectPreview( ).insert( insertionObject ).toString( ) + ' on conflict do nothing' + await knex.raw( sqlQuery ) + }, + + async getPreviewImage( { previewId } ) { + let previewRow = await Previews( ).where( { id: previewId } ).first( ).select( '*' ) + if ( !previewRow ) { + return null + } + return previewRow.data + } +}