From 19a64c993ac1322c5783bd1adbf3b1c9745f8a1e Mon Sep 17 00:00:00 2001 From: csantosm <4a.santos@gmail.com> Date: Mon, 21 Mar 2022 14:31:22 +0100 Subject: [PATCH] openvidu-components: Moved webcomponent e2e test to e2e directory - Unifyed the e2e test in one single directory with a common config and dependencies --- .gitignore | 9 +- .../web => e2e/webcomponent-app}/app.js | 0 .../web => e2e/webcomponent-app}/index.html | 0 .../test.ts => e2e/webcomponent.test.ts} | 185 +- .../webcomponent-test-e2e/LICENSE | 201 - .../webcomponent-test-e2e/README.md | 47 - .../webcomponent-test-e2e/package-lock.json | 3487 ----------------- .../webcomponent-test-e2e/package.json | 25 - .../webcomponent-test-e2e/tsconfig.json | 14 - .../web/assets/audio/newMessage1.mp3 | Bin 3000 -> 0 bytes .../web/assets/fonts/material-icons.woff2 | Bin 49240 -> 0 bytes .../web/assets/images/openvidu_globe.png | Bin 4106 -> 0 bytes .../web/assets/images/openvidu_logo.png | Bin 10221 -> 0 bytes .../web/assets/images/openvidu_logo_grey.png | Bin 11362 -> 0 bytes .../web/assets/images/ov_company_logo2.png | Bin 4106 -> 0 bytes .../web/assets/images/poster.png | Bin 4939 -> 0 bytes 16 files changed, 78 insertions(+), 3890 deletions(-) rename openvidu-components-angular/{webcomponent-test-e2e/web => e2e/webcomponent-app}/app.js (100%) rename openvidu-components-angular/{webcomponent-test-e2e/web => e2e/webcomponent-app}/index.html (100%) rename openvidu-components-angular/{webcomponent-test-e2e/test.ts => e2e/webcomponent.test.ts} (82%) delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/LICENSE delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/README.md delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/package-lock.json delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/package.json delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/tsconfig.json delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/audio/newMessage1.mp3 delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/fonts/material-icons.woff2 delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_globe.png delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo.png delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo_grey.png delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/images/ov_company_logo2.png delete mode 100644 openvidu-components-angular/webcomponent-test-e2e/web/assets/images/poster.png diff --git a/.gitignore b/.gitignore index beea1fd4..96ee9b9f 100644 --- a/.gitignore +++ b/.gitignore @@ -33,11 +33,6 @@ openvidu-components-angular/dist/ openvidu-components-angular/coverage/** openvidu-components-angular/openvidu-webcomponent/ openvidu-components-angular/openvidu-angular-doc/ - -openvidu-components-angular/webcomponent-test-e2e/dist/ - -openvidu-components-angular/webcomponent-test-e2e/web/openvidu-webcomponent-dev.css - -openvidu-components-angular/webcomponent-test-e2e/web/openvidu-webcomponent-dev.js - +openvidu-components-angular/e2e/webcomponent-app/openvidu-webcomponent-dev.css +openvidu-components-angular/e2e/webcomponent-app/openvidu-webcomponent-dev.js openvidu-components-angular/e2e/dist/ diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/app.js b/openvidu-components-angular/e2e/webcomponent-app/app.js similarity index 100% rename from openvidu-components-angular/webcomponent-test-e2e/web/app.js rename to openvidu-components-angular/e2e/webcomponent-app/app.js diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/index.html b/openvidu-components-angular/e2e/webcomponent-app/index.html similarity index 100% rename from openvidu-components-angular/webcomponent-test-e2e/web/index.html rename to openvidu-components-angular/e2e/webcomponent-app/index.html diff --git a/openvidu-components-angular/webcomponent-test-e2e/test.ts b/openvidu-components-angular/e2e/webcomponent.test.ts similarity index 82% rename from openvidu-components-angular/webcomponent-test-e2e/test.ts rename to openvidu-components-angular/e2e/webcomponent.test.ts index fd98c210..f8417d8e 100644 --- a/openvidu-components-angular/webcomponent-test-e2e/test.ts +++ b/openvidu-components-angular/e2e/webcomponent.test.ts @@ -1,57 +1,24 @@ -import { Builder, By, Capabilities, until, WebDriver, logging } from 'selenium-webdriver'; -import * as chrome from 'selenium-webdriver/chrome'; +import { Builder, By, until, WebDriver } from 'selenium-webdriver'; import { expect } from 'chai'; -import { LAUNCH_MODE } from './config'; +import { WebComponentConfig } from './selenium.conf'; -const url = 'http://localhost:8080/'; -const FIVE_SECONDS = 5000; - -let SELENIUM_SERVER_URL = ''; +const url = WebComponentConfig.appUrl; +const TIMEOUT = 5000; describe('Checkout localhost app', () => { let browser: WebDriver; - - const chromeOptions = new chrome.Options(); - const chromeCapabilities = Capabilities.chrome(); - - chromeOptions.addArguments('--window-size=1024,768', '--use-fake-ui-for-media-stream', '--use-fake-device-for-media-stream'); - if(LAUNCH_MODE === 'CI') { - SELENIUM_SERVER_URL = 'http://localhost:4444/wd/hub'; - chromeOptions.addArguments('--headless', '--disable-dev-shm-usage'); - } - const prefs = new logging.Preferences(); - prefs.setLevel(logging.Type.BROWSER, logging.Level.DEBUG); - chromeCapabilities.set('acceptInsecureCerts', true); - - // var firefoxOptions = new firefox.Options(); - // var firefoxCapabilities = webdriver.Capabilities.firefox(); - // firefoxOptions.addArguments('--headless'); - // firefoxOptions.setPreference('media.navigator.permission.disabled', true); - // firefoxOptions.setPreference('media.navigator.streams.fake', true); - // firefoxCapabilities.setAcceptInsecureCerts(true); - - async function createChromeBrowser(name: string): Promise { + async function createChromeBrowser(): Promise { return await new Builder() - .forBrowser(name) - .withCapabilities(chromeCapabilities) - .setChromeOptions(chromeOptions) - .usingServer(SELENIUM_SERVER_URL) + .forBrowser(WebComponentConfig.browserName) + .withCapabilities(WebComponentConfig.browserCapabilities) + .setChromeOptions(WebComponentConfig.browserOptions) + .usingServer(WebComponentConfig.seleniumAddress) .build(); } - // async function createFirefoxBrowser() { - // return await new Builder() - // .forBrowser('firefox') - // .withCapabilities(firefoxCapabilities) - // .setFirefoxOptions(firefoxOptions) - // .build(); - - // return await new Builder().forBrowser('chrome2').withCapabilities(chromeCapabilities).setChromeOptions(chromeOptions).build(); - // } - beforeEach(async () => { - browser = await createChromeBrowser('Chrome'); + browser = await createChromeBrowser(); }); afterEach(async () => { @@ -64,17 +31,17 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?minimal=true`); // Checking if prejoin page exist - element = await browser.wait(until.elementLocated(By.id('prejoin-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('prejoin-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if layout is present - element = await browser.wait(until.elementLocated(By.id('layout-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('layout-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; - element = await browser.wait(until.elementLocated(By.id('layout')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('layout')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if stream component is present - element = await browser.wait(until.elementLocated(By.css('.OT_widget-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.css('.OT_widget-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if audio detection is not displayed @@ -86,11 +53,11 @@ describe('Checkout localhost app', () => { await joinButton.click(); // Checking if session container is present - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if screenshare button is not present @@ -128,13 +95,13 @@ describe('Checkout localhost app', () => { it('should show the PREJOIN page', async () => { await browser.get(`${url}?prejoin=true`); - const element = await browser.wait(until.elementLocated(By.id('prejoin-container')), FIVE_SECONDS); + const element = await browser.wait(until.elementLocated(By.id('prejoin-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); it('should not show the PREJOIN page', async () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -145,9 +112,9 @@ describe('Checkout localhost app', () => { await browser.get(`${url}?prejoin=true&videoMuted=true`); // Checking if video is displayed - await browser.wait(until.elementLocated(By.css('video')), FIVE_SECONDS); + await browser.wait(until.elementLocated(By.css('video')), TIMEOUT); element = await browser.findElement(By.css('video')); - await browser.wait(until.elementIsVisible(element), FIVE_SECONDS); + await browser.wait(until.elementIsVisible(element), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if video track is disabled/muted @@ -175,13 +142,13 @@ describe('Checkout localhost app', () => { await browser.get(`${url}?prejoin=false&videoMuted=true`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if video is displayed - await browser.wait(until.elementLocated(By.css('video')), FIVE_SECONDS); + await browser.wait(until.elementLocated(By.css('video')), TIMEOUT); element = await browser.findElement(By.css('video')); - await browser.wait(until.elementIsVisible(element), FIVE_SECONDS); + await browser.wait(until.elementIsVisible(element), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if video track is disabled/muted @@ -199,9 +166,9 @@ describe('Checkout localhost app', () => { await browser.get(`${url}?audioMuted=true`); // Checking if video is displayed - await browser.wait(until.elementLocated(By.css('video')), FIVE_SECONDS); + await browser.wait(until.elementLocated(By.css('video')), TIMEOUT); element = await browser.findElement(By.css('video')); - await browser.wait(until.elementIsVisible(element), FIVE_SECONDS); + await browser.wait(until.elementIsVisible(element), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if audio track is disabled/muted @@ -229,13 +196,13 @@ describe('Checkout localhost app', () => { await browser.get(`${url}?prejoin=false&audioMuted=true`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if video is displayed - await browser.wait(until.elementLocated(By.css('video')), FIVE_SECONDS); + await browser.wait(until.elementLocated(By.css('video')), TIMEOUT); element = await browser.findElement(By.css('video')); - await browser.wait(until.elementIsVisible(element), FIVE_SECONDS); + await browser.wait(until.elementIsVisible(element), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if audio track is disabled/muted @@ -249,11 +216,11 @@ describe('Checkout localhost app', () => { it('should HIDE the SCREENSHARE button', async () => { let element; await browser.get(`${url}?prejoin=false&screenshareBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if screenshare button is not present @@ -264,11 +231,11 @@ describe('Checkout localhost app', () => { it('should HIDE the FULLSCREEN button', async () => { let element; await browser.get(`${url}?prejoin=false&fullscreenBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if fullscreen button is not present @@ -279,11 +246,11 @@ describe('Checkout localhost app', () => { it('should HIDE the LEAVE button', async () => { let element; await browser.get(`${url}?prejoin=false&leaveBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if leave button is not present @@ -294,11 +261,11 @@ describe('Checkout localhost app', () => { it('should HIDE the CHAT PANEL button', async () => { let element; await browser.get(`${url}?prejoin=false&chatPanelBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if chat panel button is not present @@ -309,11 +276,11 @@ describe('Checkout localhost app', () => { it('should HIDE the PARTICIPANTS PANEL button', async () => { let element; await browser.get(`${url}?prejoin=false&participantsPanelBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if participants panel button is not present @@ -324,11 +291,11 @@ describe('Checkout localhost app', () => { it('should HIDE the LOGO', async () => { let element; await browser.get(`${url}?prejoin=false&displayLogo=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('info-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('info-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if logo is not displayed @@ -339,11 +306,11 @@ describe('Checkout localhost app', () => { it('should HIDE the SESSION NAME', async () => { let element; await browser.get(`${url}?prejoin=false&displaySessionName=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('info-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('info-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if session name is not displayed @@ -354,11 +321,11 @@ describe('Checkout localhost app', () => { it('should HIDE the PARTICIPANT NAME', async () => { let element; await browser.get(`${url}?prejoin=false&displayParticipantName=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if stream component is present - element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if nickname is not displayed @@ -369,11 +336,11 @@ describe('Checkout localhost app', () => { it('should HIDE the AUDIO DETECTION element', async () => { let element; await browser.get(`${url}?prejoin=false&displayAudioDetection=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if stream component is present - element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if audio detection is not displayed @@ -384,11 +351,11 @@ describe('Checkout localhost app', () => { it('should HIDE the SETTINGS button', async () => { let element; await browser.get(`${url}?prejoin=false&settingsBtn=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if stream component is present - element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.className('OT_widget-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if settings button is not displayed @@ -401,17 +368,17 @@ describe('Checkout localhost app', () => { const sessionName = 'e2etest'; const fixedUrl = `${url}?prejoin=false&participantMuteBtn=false&sessionName=${sessionName}`; await browser.get(fixedUrl); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present and opening the participants panel - element = await browser.wait(until.elementLocated(By.id('menu-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('menu-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; const participantsButton = await browser.findElement(By.id('participants-panel-btn')); await participantsButton.click(); // Checking if participatns panel is displayed - element = await browser.wait(until.elementLocated(By.id('participants-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('participants-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking remote participants item remoteParticipantItems = await browser.findElements(By.id('remote-participant-item')); @@ -426,7 +393,7 @@ describe('Checkout localhost app', () => { browser.switchTo().window(tabs[0]); // Checking if mute button is not displayed in participant item - remoteParticipantItems = await browser.wait(until.elementsLocated(By.id('remote-participant-item')), FIVE_SECONDS); + remoteParticipantItems = await browser.wait(until.elementsLocated(By.id('remote-participant-item')), TIMEOUT); expect(remoteParticipantItems.length).equals(1); element = await browser.findElements(By.id('mute-btn')); expect(element.length).equals(0); @@ -437,7 +404,7 @@ describe('Checkout localhost app', () => { it('should receive the onJoinButtonClicked event', async () => { let element; await browser.get(`${url}`); - element = await browser.wait(until.elementLocated(By.id('prejoin-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('prejoin-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to join button @@ -446,7 +413,7 @@ describe('Checkout localhost app', () => { await joinButton.click(); // Checking if onJoinButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onJoinButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onJoinButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -454,11 +421,11 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to leave button @@ -467,7 +434,7 @@ describe('Checkout localhost app', () => { await leaveButton.click(); // Checking if onToolbarLeaveButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarLeaveButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onToolbarLeaveButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -475,11 +442,11 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to leave button @@ -488,7 +455,7 @@ describe('Checkout localhost app', () => { await cameraButton.click(); // Checking if onToolbarCameraButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarCameraButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onToolbarCameraButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -496,11 +463,11 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to leave button @@ -509,7 +476,7 @@ describe('Checkout localhost app', () => { await cameraButton.click(); // Checking if onToolbarMicrophoneButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarMicrophoneButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onToolbarMicrophoneButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -517,11 +484,11 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to leave button @@ -530,7 +497,7 @@ describe('Checkout localhost app', () => { await screenshareButton.click(); // Checking if onToolbarScreenshareButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarScreenshareButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onToolbarScreenshareButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -538,11 +505,11 @@ describe('Checkout localhost app', () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Clicking to leave button @@ -551,14 +518,14 @@ describe('Checkout localhost app', () => { await fullscreenButton.click(); // Checking if onToolbarFullscreenButtonClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarFullscreenButtonClicked')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onToolbarFullscreenButtonClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); it('should receive the onSessionCreated event', async () => { let element; await browser.get(`${url}?prejoin=false`); - element = await browser.wait(until.elementLocated(By.id('onSessionCreated')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('onSessionCreated')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; element = await browser.findElements(By.id('onJoinButtonClicked')); expect(element.length).equals(0); @@ -570,7 +537,7 @@ describe('Checkout localhost app', () => { const participantName = 'TEST_USER'; let element; await browser.get(`${url}?participantName=${participantName}`); - element = await browser.wait(until.elementLocated(By.id(`${participantName}-onParticipantCreated`)), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id(`${participantName}-onParticipantCreated`)), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -580,7 +547,7 @@ describe('Checkout localhost app', () => { const participantName = 'TEST_USER'; let element; await browser.get(`${url}?prejoin=false&participantName=${participantName}`); - element = await browser.wait(until.elementLocated(By.id(`${participantName}-connectionCreated`)), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id(`${participantName}-connectionCreated`)), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); @@ -588,18 +555,18 @@ describe('Checkout localhost app', () => { const participantName = 'TEST_USER'; let element; await browser.get(`${url}?prejoin=false&participantName=${participantName}`); - element = await browser.wait(until.elementLocated(By.id('session-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('session-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if toolbar is present - element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('media-buttons-container')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; // Checking if leave button is not present - element = await browser.wait(until.elementLocated(By.id('leave-btn')), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id('leave-btn')), TIMEOUT); await element.click(); - element = await browser.wait(until.elementLocated(By.id(`${participantName}-sessionDisconnected`)), FIVE_SECONDS); + element = await browser.wait(until.elementLocated(By.id(`${participantName}-sessionDisconnected`)), TIMEOUT); expect(await element.isDisplayed()).to.be.true; }); }); diff --git a/openvidu-components-angular/webcomponent-test-e2e/LICENSE b/openvidu-components-angular/webcomponent-test-e2e/LICENSE deleted file mode 100644 index 8dada3ed..00000000 --- a/openvidu-components-angular/webcomponent-test-e2e/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/openvidu-components-angular/webcomponent-test-e2e/README.md b/openvidu-components-angular/webcomponent-test-e2e/README.md deleted file mode 100644 index 34ac3869..00000000 --- a/openvidu-components-angular/webcomponent-test-e2e/README.md +++ /dev/null @@ -1,47 +0,0 @@ -[![License badge](https://img.shields.io/badge/license-Apache2-orange.svg)](http://www.apache.org/licenses/LICENSE-2.0) -[![Documentation Status](https://readthedocs.org/projects/openvidu/badge/?version=stable)](https://docs.openvidu.io/en/stable/?badge=stable) -[![Docker badge](https://img.shields.io/docker/pulls/openvidu/openvidu-server-kms.svg)](https://hub.docker.com/r/openvidu/openvidu-server-kms) -[![Support badge](https://img.shields.io/badge/support-sof-yellowgreen.svg)](https://openvidu.discourse.group/) - -[![][OpenViduLogo]](http://openvidu.io) - -webcomponent-e2e -=== - -[OpenViduLogo]: https://secure.gravatar.com/avatar/5daba1d43042f2e4e85849733c8e5702?s=120 - - -### How to run it (localhost) - -1) Start openvidu-server: - -``` -docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-server-kms:latest -``` - -2) _**Opnenning a new terminal**_, prepare webcomponent test. - -Run the following command under the root directory (`openvidu/openvidu-webcomponent-angular/`) - -```bash -npm run install -npm run webcomponent:prepare-test-e2e -``` - -3) Install test dependencies: - -```nash -npm run install --prefix webcomponent-test-e2e -``` - -4) _**Opnenning a new terminal**_, Run the webcomponent app. By default, the app will start on `http://localhost:8080`. - -```bash -http-server webcomponent-test-e2e/web -``` - -5) Run the E2E test: - -```bash -npm run webcomponent:e2e -``` diff --git a/openvidu-components-angular/webcomponent-test-e2e/package-lock.json b/openvidu-components-angular/webcomponent-test-e2e/package-lock.json deleted file mode 100644 index 5e6eab61..00000000 --- a/openvidu-components-angular/webcomponent-test-e2e/package-lock.json +++ /dev/null @@ -1,3487 +0,0 @@ -{ - "name": "webcomponent-test-e2e", - "version": "2.21.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "webcomponent-test-e2e", - "version": "2.21.0", - "license": "Apache-2.0", - "dependencies": { - "chromedriver": "99.0.0", - "selenium-webdriver": "4.1.1" - }, - "devDependencies": { - "@types/chai": "4.3.0", - "@types/mocha": "9.1.0", - "chai": "4.3.6", - "cross-env": "^7.0.3", - "http-server": "14.1.0", - "mocha": "9.2.2" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@testim/chrome-version": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz", - "integrity": "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==" - }, - "node_modules/@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", - "dev": true - }, - "node_modules/@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", - "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==", - "optional": true - }, - "node_modules/@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "node_modules/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==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "dependencies": { - "follow-redirects": "^1.14.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "engines": { - "node": "*" - } - }, - "node_modules/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, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chromedriver": { - "version": "99.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", - "integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", - "hasInstallScript": true, - "dependencies": { - "@testim/chrome-version": "^1.1.2", - "axios": "^0.24.0", - "del": "^6.0.0", - "extract-zip": "^2.0.1", - "https-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.1" - }, - "bin": { - "chromedriver": "bin/chromedriver" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/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 - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/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==", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/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, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/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, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-server": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.0.tgz", - "integrity": "sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==", - "dev": true, - "dependencies": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.5", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/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==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/is2": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz", - "integrity": "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==", - "dependencies": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - }, - "engines": { - "node": ">=v0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jszip": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", - "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/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 - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/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, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/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, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/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==" - }, - "node_modules/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==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/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==", - "dependencies": { - "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" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/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==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=", - "dev": true - }, - "node_modules/selenium-webdriver": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz", - "integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==", - "dependencies": { - "jszip": "^3.6.0", - "tmp": "^0.2.1", - "ws": ">=7.4.6" - }, - "engines": { - "node": ">= 10.15.0" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "dependencies": { - "debug": "4.3.1", - "is2": "^2.0.6" - } - }, - "node_modules/tcp-port-used/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "dependencies": { - "qs": "^6.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@testim/chrome-version": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz", - "integrity": "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==" - }, - "@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", - "dev": true - }, - "@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", - "dev": true - }, - "@types/node": { - "version": "17.0.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", - "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==", - "optional": true - }, - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "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" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "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" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "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" - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "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 - }, - "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==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "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" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "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" - } - } - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chromedriver": { - "version": "99.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", - "integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", - "requires": { - "@testim/chrome-version": "^1.1.2", - "axios": "^0.24.0", - "del": "^6.0.0", - "extract-zip": "^2.0.1", - "https-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.1" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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 - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", - "dev": true - }, - "cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.1" - } - }, - "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" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "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 - }, - "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" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "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" - } - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "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" - } - }, - "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" - } - }, - "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==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" - }, - "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==", - "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-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "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": "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" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "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" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.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==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "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 - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "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-server": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.0.tgz", - "integrity": "sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==", - "dev": true, - "requires": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.5", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - } - }, - "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" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "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==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "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-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==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "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-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==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "is2": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz", - "integrity": "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==", - "requires": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - } - }, - "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=", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jszip": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", - "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "requires": { - "immediate": "~3.0.5" - } - }, - "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==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, - "requires": { - "get-func-name": "^2.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, - "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==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true - }, - "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 - }, - "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "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" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "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==", - "dev": true - }, - "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-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-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "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" - } - } - } - }, - "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==" - }, - "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==" - }, - "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" - } - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "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" - } - }, - "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" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "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 - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "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" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "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==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=", - "dev": true - }, - "selenium-webdriver": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz", - "integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==", - "requires": { - "jszip": "^3.6.0", - "tmp": "^0.2.1", - "ws": ">=7.4.6" - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, - "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 - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "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" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "requires": { - "debug": "4.3.1", - "is2": "^2.0.6" - }, - "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" - } - } - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.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" - } - }, - "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==", - "dev": true - }, - "union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "requires": { - "qs": "^6.4.0" - } - }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - } - }, - "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" - } - }, - "workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "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 - } - } -} diff --git a/openvidu-components-angular/webcomponent-test-e2e/package.json b/openvidu-components-angular/webcomponent-test-e2e/package.json deleted file mode 100644 index fb8a8c44..00000000 --- a/openvidu-components-angular/webcomponent-test-e2e/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "webcomponent-test-e2e", - "version": "2.21.0", - "description": "E2E webcomponent test", - "main": "test.ts", - "scripts": { - "serve": "npx http-server web/", - "test": "tsc && mocha --recursive --timeout 30000 ./dist/test.js", - "test-ci": "cross-env LAUNCH_MODE=CI npm run test" - }, - "author": "Carlos Santos Morales", - "license": "Apache-2.0", - "dependencies": { - "chromedriver": "99.0.0", - "selenium-webdriver": "4.1.1" - }, - "devDependencies": { - "@types/chai": "4.3.0", - "@types/mocha": "9.1.0", - "chai": "4.3.6", - "cross-env": "^7.0.3", - "http-server": "14.1.0", - "mocha": "9.2.2" - } -} diff --git a/openvidu-components-angular/webcomponent-test-e2e/tsconfig.json b/openvidu-components-angular/webcomponent-test-e2e/tsconfig.json deleted file mode 100644 index e2f5fcbf..00000000 --- a/openvidu-components-angular/webcomponent-test-e2e/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "strict": true, - "outDir": "./dist", - "lib": [ - "es6" - ], - "types": [ "mocha", "node" ], - "experimentalDecorators": true, - "emitDecoratorMetadata": true - } - } \ No newline at end of file diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/assets/audio/newMessage1.mp3 b/openvidu-components-angular/webcomponent-test-e2e/web/assets/audio/newMessage1.mp3 deleted file mode 100644 index 38d074f28e69f7a60a8d83dc93518ae1f9c6935e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3000 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 diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo.png b/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo.png deleted file mode 100644 index 79daf331d6b4ba072e8a926c5e6df6b2f1d4f65d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10221 zcmc(FWmHtr`|bck_fXO`L$`EE!^}uZcS?&i2ug^QK=`|E|04m;34Nb=F?*`|Rg=_q*S{*Zy$MiP6zgCnlgH0D(Zna19kb5C{yvv*+-z z?t1sg-7pXc6Q%P|U-izt9s2j&{&xdKm;JZ%|89X|%KzU*|DP40sItFx_}Bj0x3~Y7 zA`F2*k^kG$hX3*Zss57xm;Aq~_iyy91?T@P?_H4Svi}PH*N7?w#r)F_|Hbdf|LJ2( z|BlA|?f(4m1v=~h`Y5C{o`uOHz z`h30rbiVayI&P;CBQq1LF6?X=3zS%BwweKM^S2q7|2RUwdv)~vVykTbGs~Ds#CEOL zauT@P3;Ty7x(n-UM24U@q`3qz<78*U-9l%^Qn}q6ZLKw^^OH=Wv=rp% z2M4=b9gTZG**@yDRK5DW>?s!M{S5?yTESHm^#kU1=leY<6e;@;)X8hNY91Dd5b}*;n!W+7M<)k zbM(jj>}L8`wgmF7BLA9>`OZo4clRn&(`Qca*G;}(aLSC5fqw1{y#7$0wvizB_A!%kb7{LVNf4!iZ`O~pMb3}+zBkU& z-+Enk3t+Bl+H{!$(B5#BI9Z(6qreF6r*{=ui9mSFS#(RX!?T5j!8c^PiZgb-(- zP>`@}(3O?&LlP+p8qwX-YGGMPv3nS!ER3mKVWXQ?W}vyz~t7M)nq0VW8n_G-Oz z3r?+6kVL7Kwq0Prmguz~SUWI~`$7SZxVRZH?DR!6`6hO1yfmIt5P4`lzR30|b8n3h z#=SipWQIM=|MtFm9Ouz62y|e!+OAV#gkyzbsR-TT#_m^>=(@5o+ zD%!78#DKpP;@eIyPg8NEMc%HwrcPN?7$$Zq$ z$xViU>{e97?L-_#cgo^ARH4w(x3@pBVfd$V9=xm4KN#4Aw6Ktt+?fN?SE0>b$is2N ze&2mPOq=uv#Tw16vkv0dGAO7{(Bd7e)Lqo0U_xDy@+>g%Pm&jv0if*{u#E`67R7qE zUWwX$JT9VFS%5ekAT z1czPNmaj?M{NQ*SR#b^{vmLk5s{#;u)dmDsz$5U+Mb~2PNxi2k2Ezlr&}Vtpt=8Ep z0iVA1;n>xAJgzZO`uYiiAHkx?hQ}%vdzhr+(lM(0mHnphi|eqQV6;Ag)&% zj)q8v@x<`N=)F2pLma<86Paxf&`woJRcTg&p=#@f*XPxBw zaD6z6SA^HD$R5Mw$x|Eyhyi3h_Tk_??r-Xb5|S_fM)Wdxwr7KYH`sXkow<6r}^xh3QrfMUCWuRYr8ES-mb@&;$IIM*N<>!#S&1#k!XREzNNaS zBABOcC#a3LvgV%spW1$9YKzNU>iHo>njs1mPsU08&L8g>p3YvCLDPAkON&y^?1y)D z^#$9}o6{L7hp4ZZcwc|c<*bW&*M7DB996!)_{bkaa4xXbWIF;0{L+r=Z5#S9^knF5 z{ouuLpwvi#L(&fu9Pjl{L~JgJGz$8aqTgRr6&pcDue)LJ2R$84X9~vKVmI8`9j8Ff z_0^>R((~I5@icqM@oiP*@zj)QgE?p+4&gQIk%5B8!3#tmG^nf3Fp4 zst-P4hr#SCLYq%Q%I_~@V&o!Qm_+Yi*Hc1xVqA%CJ(F-08_2KBI6~TBQh&CxJAj*C zd;Glc%?S*{={Y$Jk#~@drN-t1wWOcZa~YA-519o+Rf5iHjpH{}`JDWV>}MCBr-=zo zLmH0g`;;|#=?v2YXV`TBj;m3!=mWc`1!s6hSN1R(1xEd$Va;uXiV8A3UUN9hVHzE=25& zA1QSzViHjd-m>SV%4+;$Jp}_*4L|6RBDk|g0BLj|e{(6!)7P1cg$_%2>+#xVB~{#v zcx-?WzLI&lC1sL11tT~9S_IASb^CN^TcT1zR%I3Rmn+{OjnnRq;L`j6fO6Cs^P~e) z2I;EQg0HUdiLr^BLze~!2xRr9_;-IVY{=$ys6je zjMqCHhnXHDUC%xb3buSa7I`j`)RSxg2H0xZ1e#$7s^cVyJTdLCrQC%g;8=A$ZI62S zhliSspL(dWqu|`6C84Yqp%XGKLzkBdx2=Wg2EqL<NU*@XHiX!7!&?eI7{*)1@Fh@2kxI3{U7o^6(SJ5 zAj-lUP0Qe)8auYf)jZY;ZBS=phh0WX4Dt7$p^Eh?Oe6z; z#Bof6h>sX|tW%9&pW@-Yo6;ATN0f#(++c%;3@*llt5`_RD|VQTeH+Rc_~VqZ2eTYo08v)9$Zg2aO@K%5*i1^w0H)`Xp!Mm77$Q%=(LaHlO)IHnS`BhVJ zoY3;6>~ucK zv*5*-15X3b>L`#vC&3T4q+>>#R}g)F7oRbb*cS^Bo$2bxXNx3x&N2H|OFpzJwYVC= zaJ0~%oL=o}RGAv#z<$C2?;x9Dv;;_Vs2tI~zF^j$3jM7rcZNsSAgjl06Zh;5 zEYJC{z>;-kYJH zX$)XLj&9~{V3~?-G=&OjF6wO|d4>{!B3fOs2|_SPMrbJos;`I%K`|;PPs65)_adDYO&q&@>K@(hAncQt0Tk zzM1MqL42oO0gdm<3nBk*Ik|p>d!d#On9t2K9z~hlu$pcNw1Li^GL~yUg8exDF|T-+ zQtmn4(?FADsU-2jgiUg*bIcO&Wz74UC97Ll@(rXqoPFL15hEM{e)Y%Sfp*oFKsC%L z1yi`Vu44ymy^}d@%YG^L|uG9Y!lo z(#IW?j$<$O{M~E>LvDFm5>M$l-H->#fV_P}cs($bebc)&(N+d+ZTHfEON-^pWj9b2 zw@W)hW6@8^0ve|CM=(9#xjiO5f7Ly;by!PdLaHh+@T8qT=FdLpx`~{E3%|w@_r#Y&uhE5aWXsCAi7}H?Z`78J%13qOY)a{DI#`+dQ_OmpE31hxsqu2{`GZRQ zb-&Pw5EM=zyp+z4#Y=pmh-)VqGeFscUL!_5>!$;$*;Vl4m`(+Os6FTrBc@p)LE> z(5D3|oV0DSC%|zX|6a|2n~4eC}HS*q7yqTejxT`J&;2tAPM)vHUP2%`Wr}S zGx^CxhfcZH@Vh$)yWp__ zJfPLPPj;|G?R;cn7xH4dwh&wpbtN?=cgCi`H} z&b?^`hFI81x-H9qr|0{9w6Ftw2DlTcfUH!vDx5Gn3y)=$R)3ECo=2XX*5Z3vZ)dR0 z!T`@p>{$kfB4{L9ILQ#up`aNulbpG5Y-beSAr5_~AbbGy@tO2ZM|5wGQMZ9a=ptI{qbE)FHr>zkK&(x1H%ei9#~vKoExzDmC^#`ga<EMdrll0N%FuW};? zc=69$hH7Y&5x{17Q%tm!Gp!JZVeBO-%=VZ$Ta(8FB%Qy>_J_gsnaa2-g0vRdjiTm} zj}8*udi1^)O0tk!0h98j}8E;nx?=uXn^iX8Mk4SN`vww9<^?q4VLY)EOfq)m~#g_Z!zS z&LBq{Im!`Ekcc88-(lkt7&PIDBEjmBL~TA>xi_FOe(Squ3t!|=4k0c`4S^pke02VpMCvgUg5(}i~anE$Z$WACk-+R9Ch-sXPC2H;VIE#-ACplRm-RHO|M}W zF+^8l(T4c2uC#B4L>Jz1+7kS5^K}OEZZ{j3Q!=VZbr8xO&W5dq$ck>jo`!wXjw5~* zB)MWvf6d^$!>q3UHwhS)$Mb_Ab)G_~Bli`TRM#I*0|=zQ@`akEHKyShKZ#V1u#_nYOKgKPR~d$QeHTQ z^gbL_+QurULqbGzdKo>ptZegJp_kSEidixv&Gc>^>-j5bLPwKTsUM)|(L)@K7r!;u zQBY+x+yUudA%6r6DJ|A)q)+DdHhSpW!6z!z=wHx88{n?Px>$sjvT8rkjBc6ZeLtJ4=n-^DQ-$-O%?9I*f7xWcZ`#2K)NJ zs-;MPK@&}7;7Hg~5bP=|AQ(YBc1xW45sIE&Eb6!xQ_wSkb@2!@G{jOnI5Vrmo!-`x zR>IbHcrP0b9N`IUGm1DgZ&-&T0nwC#SIy6Gg-JFSL_Xq2o|gq$4I;ZQ58W>(vwsIS z*FExtZLx@P7Pz+ceBMVvmm`Z56QUX|X@sc@&pXQaVyIaRc|wjXY23JC{4i@GSsmj# zZt-6?O1Sx1I0qrvmQQ9apP#%=d|_2p+6fFvM*oOW{482?wakt0&hxA_d%an!xbPsv zzy$I#88{IV&N=Zzfw6k%UZJ7|Zbuv_eSnk;LG~F#0mqsh*oB#D8o02?_ILcKHd>$^ zus53up58MLBurcmDXW8$+hW(_*baB6-Mw=ibj=W?yl^3{^?7K~R{pi)D^(DTyl&|V zn+US$E9H8DP+~;90dzh$c|1~0pemgJmY>?5SgD~kgAn0bwhmQk*$6waeNy27t=eOr zBMqvwHQpdZ_u2Ou>Q~jCq%|bCj____DkFt>^RxNgSlfm)`xs+fsTlJ1xnjU4X@ns{ z(~XQbhdMwyNLq!jk@|T}_rbIdkcc#f5G9X%BWqYhN>8@J@)e`$m)mM-{UJLM%FE0x?p-0*i1uDxFR6UfvqKE=@&*Sll%LXjDqr-XP zjFoA)3}dx6&_(qvffxqnhq3ZS$qZI_O5w zV>$J~9Nyv6+zx0ZRkTS0#aU+2@T&(v`3LB={!nRk1$0qpE5ep+d>NXHLHYi|!DzFU z)pj0~8&sALt-8xXm~<;giU>oIbIX1K6PDkLr{dF?to8MajDNSKppi4Y9z<1RZ3Q3G zde*kEEV0Lu`-ZkFCE6k?d@}3X@h6PCy_nH@b`Yna!B8YYoDAsXF&>Q)%ZBj*2zP)fd?p*7l}E}ckI zDG!Q%X{cj-s31~{<2`67vZ9SHOq#nOtEo-Z2VRJLApVZ@^5vwJ_8lZ-FAcjtsDl;2 zxX#k1kYCQS6imA19@jb0KxG9O`4vLvcxaDCXW6wk3M6Ui!;Rs_Vk!JW1&kuwQ1%y9 zUwbHcW&L94FZ38^CAqbW!|!g?qXeeQN<6`@4u0oKuRIkfzWa3OhB?A&K_=W3m zUy){?iqJZjxQe-^UHUHn_V*j+mBN@+r1jvW`hh1lQkn3?!(B(X@JT69ZR*%^D&fCM zy12I1J}pGG(ya39%Bd}2b9XtcpJ6fMM8^hsS31hGs`r<`@|a<*%M>yB)}z6sovFHw zmy?@kV$eCGYZ4Lt_xYiJ603d!!KoAn;3=s=ZE8lQSHbY(XDc>5Bf|KWbI$hDtf~5t zRgaVAcii}wLFmXem*`Aqc6gmU<#AFta8+A}w7eAJT#@DytyN8nt5hzA)-ovWPYSTP z7Mt>vLGeG&MnY1-M!kcvlk;R$gvls=L4qKKuElI^f4@OqDOOzNcgK7tPe0JV=Fioka~dx1gJ- ze=YzK62m8vFk|$+wtv4Sev?W#;|3lK!wKt{(S*A0MQZ*uNivF?!;8-RuJb4FW zZmoHwB-nOqsny3%x0?qOkIoLEtJZ7fiFN|Yt{N&%z}YCQ&!9SD53s{rp^Hhz zM73JoM~A%);zs5$II8Ct1?Qn@)sUi`l6-; zUmBR7@ao4l?S6OJjr&akGP_KdA z;9JDHb(sA-XnXLevhDiRF+%UKVo?82P_u=97>*1KSBvXrw1Y?i4i8NmHsQ?tX|AE1 z`YS<=M{V-@J9Dcu{eE73cujO1$0SA6=>oskU}2_jZ0*G0q6%?+t*>xe z?aZta=(y!kXlZP?gbc|}8P?-a3Gwvp1T;yn-7B!Y3a*vo1t!eQkww-i`ukt)wDLkE z=e9TgsO9xw8F78@J-dl&7TM2>gcv_4vwI@0aQpNeH_<|RmiTTp#x?IglC8gH{who& z<21ND_R3wLIJph?gNJ}}EcHAaTfgETF|K8qIc=57E@c+}1uB+;nMZonToHm9lqedeKen`^Mm8?4(zuspeu~p+DbeesTTa zp*PP4w({M~?3#o$6>qZQg9a$hJcbkaMO8(=@;=wI4|o?C5Fkl))RmRIu?9xPIP?`( zKbE?`h>892PnvkP*e=G?gnh(*<9d+YQ477U^C6L9(EfbV$B{16e5h1w z1jtPHMP=CklXz)Li)l~Il z=)Y~s6X@%yAt51>-r8Qa_37=w28yw`m6cG~_%1SO>%Un$YF{Oe~Oo#8R%`~iDVeRH8z2OANwZRtiF+C z3a)OT=fh8$K$Ebz)jrIjp$4Uaw?E*LiGSlr*c}%{hKIU2(28&M9GsXz8Ec>ldS8Uy zYPEAdZrQg3(GjUi6i2OMtZkj<1*J9yq+h58*Y$0q1?A}p+a)1a!mc&UdwTRIIqaVkrg zt-nGvX%@_fUzFNPm~Fp8H2&8?iD?Jk6TgOzRL0yzaO?k4y~XJ{#q8~H=X{y0b~Y;` z?f=J%5142cPY)v~sEi%8jG-1nBc@q_pS*AM4Sb0qMiXxFS!cg{m-vIv>hO?FC8rU Sf6&K&5xAie+( diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo_grey.png b/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/openvidu_logo_grey.png deleted file mode 100644 index 58d739551331525cb85a7d13b37e34a672953e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11362 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 Ks{&WD4gFtFB}IV% diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/ov_company_logo2.png b/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/ov_company_logo2.png deleted file mode 100644 index 4c2bfc8534a9af5c43c6c3ac0220cee087fd5ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4106 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 diff --git a/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/poster.png b/openvidu-components-angular/webcomponent-test-e2e/web/assets/images/poster.png deleted file mode 100644 index 38294ad896fb728edfab7a7712fa29f73190f460..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4939 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 A3jhEB