From 769a2f596c1f4f805566104d95845d9d736c2eb5 Mon Sep 17 00:00:00 2001 From: Pilli Vamshi Date: Fri, 16 May 2025 22:42:38 +0530 Subject: [PATCH] Added summarization poc sample. --- summarization-poc/backend/README.md | 56 + .../Model/RecordingRequest.cs | 10 + .../backend/Summarization_POC/Program.cs | 567 ++ .../Properties/launchSettings.json | 29 + .../Summarization_POC.csproj | 21 + .../Summarization_POC/Summarization_POC.sln | 25 + .../Summarization_POC/appsettings.json | 20 + summarization-poc/frontend/.gitignore | 352 + summarization-poc/frontend/CHANGELOG.md | 13 + summarization-poc/frontend/CONTRIBUTING.md | 76 + summarization-poc/frontend/LICENSE.md | 21 + summarization-poc/frontend/Project/.babelrc | 13 + .../frontend/Project/.deployment | 2 + summarization-poc/frontend/Project/.gitignore | 28 + .../frontend/Project/clientConfig.json | 5 + .../frontend/Project/oAuthConfig.js | 13 + .../frontend/Project/package-lock.json | 7801 +++++++++++++++++ .../frontend/Project/package.json | 45 + .../public/OneSignalSDKUpdaterWorker.js | 1 + .../Project/public/OneSignalSDKWorker.js | 1 + .../public/assets/images/ACSBackdrop.png | Bin 0 -> 465101 bytes .../assets/images/MicrosoftLearnBackdrop.png | Bin 0 -> 326058 bytes .../Project/public/assets/images/acsIcon.png | Bin 0 -> 9713 bytes .../frontend/Project/public/index.html | 20 + .../frontend/Project/serverConfig.json | 4 + .../frontend/Project/src/App.css | 1223 +++ summarization-poc/frontend/Project/src/App.js | 46 + .../frontend/Project/src/Constants.js | 7 + .../src/MakeCall/AddParticipantPopover.js | 59 + .../AudioEffects/AudioEffectsContainer.js | 497 ++ .../Project/src/MakeCall/CallCaption.js | 150 + .../frontend/Project/src/MakeCall/CallCard.js | 1843 ++++ .../Project/src/MakeCall/CallSurvey.js | 190 + .../src/MakeCall/CurrentCallInformation.js | 43 + .../Project/src/MakeCall/DataChannelCard.js | 135 + .../src/MakeCall/FunctionalStreamRenderer.js | 178 + .../Project/src/MakeCall/IncomingCallCard.js | 89 + .../frontend/Project/src/MakeCall/Lobby.js | 72 + .../src/MakeCall/LocalVideoPreviewCard.js | 56 + .../frontend/Project/src/MakeCall/Login.js | 787 ++ .../frontend/Project/src/MakeCall/MakeCall.js | 1562 ++++ .../Project/src/MakeCall/MediaConstraint.js | 114 + .../ProxyConfiguration.js | 51 + .../NetworkConfiguration/TurnConfiguration.js | 102 + .../src/MakeCall/ParticipantMenuOptions.js | 32 + .../RawVideoAccess/CustomVideoEffects.js | 192 + .../src/MakeCall/RemoteParticipantCard.js | 236 + .../frontend/Project/src/MakeCall/Section.js | 57 + .../Project/src/MakeCall/StarRating.js | 73 + .../Project/src/MakeCall/StreamRenderer.js | 187 + .../VideoEffects/VideoEffectsContainer.js | 204 + .../VideoEffects/VideoEffectsImagePicker.js | 59 + .../Project/src/MakeCall/VideoReceiveStats.js | 67 + .../Project/src/MakeCall/VideoSendStats.js | 62 + .../Project/src/MakeCall/VolumeVisualizer.js | 61 + .../src/Summarization/RecordConstraint.js | 153 + .../src/Summarization/appsettings.json | 4 + .../src/Summarization/summarizationService.js | 60 + .../frontend/Project/src/Utils/Utils.js | 157 + .../frontend/Project/src/index.js | 11 + .../frontend/Project/src/serviceWorker.js | 137 + .../frontend/Project/webpack.config.js | 241 + summarization-poc/frontend/README.md | 56 + summarization-poc/frontend/SECURITY.md | 21 + summarization-poc/frontend/package-lock.json | 3 + 65 files changed, 18400 insertions(+) create mode 100644 summarization-poc/backend/README.md create mode 100644 summarization-poc/backend/Summarization_POC/Model/RecordingRequest.cs create mode 100644 summarization-poc/backend/Summarization_POC/Program.cs create mode 100644 summarization-poc/backend/Summarization_POC/Properties/launchSettings.json create mode 100644 summarization-poc/backend/Summarization_POC/Summarization_POC.csproj create mode 100644 summarization-poc/backend/Summarization_POC/Summarization_POC.sln create mode 100644 summarization-poc/backend/Summarization_POC/appsettings.json create mode 100644 summarization-poc/frontend/.gitignore create mode 100644 summarization-poc/frontend/CHANGELOG.md create mode 100644 summarization-poc/frontend/CONTRIBUTING.md create mode 100644 summarization-poc/frontend/LICENSE.md create mode 100644 summarization-poc/frontend/Project/.babelrc create mode 100644 summarization-poc/frontend/Project/.deployment create mode 100644 summarization-poc/frontend/Project/.gitignore create mode 100644 summarization-poc/frontend/Project/clientConfig.json create mode 100644 summarization-poc/frontend/Project/oAuthConfig.js create mode 100644 summarization-poc/frontend/Project/package-lock.json create mode 100644 summarization-poc/frontend/Project/package.json create mode 100644 summarization-poc/frontend/Project/public/OneSignalSDKUpdaterWorker.js create mode 100644 summarization-poc/frontend/Project/public/OneSignalSDKWorker.js create mode 100644 summarization-poc/frontend/Project/public/assets/images/ACSBackdrop.png create mode 100644 summarization-poc/frontend/Project/public/assets/images/MicrosoftLearnBackdrop.png create mode 100644 summarization-poc/frontend/Project/public/assets/images/acsIcon.png create mode 100644 summarization-poc/frontend/Project/public/index.html create mode 100644 summarization-poc/frontend/Project/serverConfig.json create mode 100644 summarization-poc/frontend/Project/src/App.css create mode 100644 summarization-poc/frontend/Project/src/App.js create mode 100644 summarization-poc/frontend/Project/src/Constants.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/AddParticipantPopover.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/AudioEffects/AudioEffectsContainer.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/CallCaption.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/CallCard.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/CallSurvey.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/CurrentCallInformation.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/DataChannelCard.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/FunctionalStreamRenderer.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/IncomingCallCard.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/Lobby.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/LocalVideoPreviewCard.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/Login.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/MakeCall.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/MediaConstraint.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/ProxyConfiguration.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/TurnConfiguration.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/ParticipantMenuOptions.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/RawVideoAccess/CustomVideoEffects.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/RemoteParticipantCard.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/Section.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/StarRating.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/StreamRenderer.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/VideoEffects/VideoEffectsContainer.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/VideoEffects/VideoEffectsImagePicker.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/VideoReceiveStats.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/VideoSendStats.js create mode 100644 summarization-poc/frontend/Project/src/MakeCall/VolumeVisualizer.js create mode 100644 summarization-poc/frontend/Project/src/Summarization/RecordConstraint.js create mode 100644 summarization-poc/frontend/Project/src/Summarization/appsettings.json create mode 100644 summarization-poc/frontend/Project/src/Summarization/summarizationService.js create mode 100644 summarization-poc/frontend/Project/src/Utils/Utils.js create mode 100644 summarization-poc/frontend/Project/src/index.js create mode 100644 summarization-poc/frontend/Project/src/serviceWorker.js create mode 100644 summarization-poc/frontend/Project/webpack.config.js create mode 100644 summarization-poc/frontend/README.md create mode 100644 summarization-poc/frontend/SECURITY.md create mode 100644 summarization-poc/frontend/package-lock.json diff --git a/summarization-poc/backend/README.md b/summarization-poc/backend/README.md new file mode 100644 index 00000000..63fe454a --- /dev/null +++ b/summarization-poc/backend/README.md @@ -0,0 +1,56 @@ +--- +page_type: sample +languages: +- javascript +- nodejs +products: +- azure +- azure-communication-services +--- + +# ACS Calling Tutorial + +## Prerequisites +- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +- A deployed Communication Services resource. [Create a Communication Services resource](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp). +- [NPM](https://www.npmjs.com/get-npm) +- You need to have [Node.js 18](https://nodejs.org/dist/v18.18.0/). You can use the msi installer to install it. + +## Code structure +* ./Project/src: client side source code +* ./Project/webpack.config.js: Project bundler. Has a simple local server for user token provisioning. +* ./Project/serverConfig.json: configuration file for specifying the connection strings. + +## Cloning the repo +1. Open a terminal or command prompt, and `cd` into a folder where you would like to clone this repo. The run: + - `git clone https://github.com/Azure-Samples/communication-services-web-calling-tutorial` + - `cd communication-services-web-calling-tutorial/Project` +## Running the app locally +1. Get your Azure Communication Services resource connection string from the Azure portal, and put it as the value for `connectionString` in serverConfig.json file. +2. From the terminal/command prompt, Run: + - `npm install` + - `npm run build-local` + - `npm run start-local` +3. Open localhost:5000 in a browser. (Supported browsers are Chrome, Edge, and Safari) + +## Deploying to Azure App Service +- This app has been setup to be easily deployed to Azure App Service + - webpack.config.js. + - allowedHosts: Specifies that it allows this app to be hosted in \.azurewebsites.org which is how Azure App Service hosts web apps. + - contentBase: The folder where public assets can be served from. For example, a request to your app like GET https://\.azurewebsites.org/file.txt, will serve the file.txt that resides in the contentBase folder. This app has this field set to the './public' folder. + - package.json. Azure app service will run these scripts when deploying. + - "build" script. Used by Azure App Service when deploying to build the application. + - "start" script. Used by Azure App Service when deploying. This will start server in port 8080. Port 8080 is specified in webpack.config.js. Do not change this port when deploying to Azrue App Service becaue this is the port that Azure App Service uses. +[Tutorial on how to deploy a NodeJs app to Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/quickstart-nodejs?tabs=windows&pivots=development-environment-vscode) +Note: If you want to deploy this application with a different deployment environment other than Azure App Service, you may need to change these configurations according to your deployment environment specifications. + +## Troubleshooting + - Make sure your ACS connecting string is specified in serverConfig.json or you wont be able to provision ACS User Access tokens for the app. + - If any errors occur, check the browser console logs for errors. Also, check the webpack server side console logs for errors. + - Web Push Notifications - In order to test web push notifications, we must run the app in HTTPS, hence you will need to deploy this app to a secured server that will serve the application with HTTPS. You will need to specify value in ./clientConfig.json for the key "oneSignalAppId". And you will need to specify value for "functionAppOneSignalTokenRegistrationUrl" in ./serverConfig.json. To learn how to set up a web push notification architecture for the ACS Web Calling SDK, please follow our [ACS Web Calling SDK - Web push notifications tutorial](https://github.com/Azure-Samples/communication-services-javascript-quickstarts/tree/main/calling-web-push-notifications): + +## Resources +1. Documentation on how to use the ACS Calling SDK for Javascript can be found on https://docs.microsoft.com/en-gb/azure/communication-services/quickstarts/voice-video-calling/calling-client-samples?pivots=platform-web +2. ACS Calling SDK for Javascript API reference documentation can be found on https://docs.microsoft.com/en-us/javascript/api/azure-communication-services/@azure/communication-calling/?view=azure-communication-services-js +3. Documentation on Communications Calling SDK with Teams identity can be found on https://learn.microsoft.com/en-us/azure/communication-services/concepts/teams-interop +4. Documentation on how to setup and get access tokens for teams User can be found on https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/manage-teams-identity?pivots=programming-language-javascript \ No newline at end of file diff --git a/summarization-poc/backend/Summarization_POC/Model/RecordingRequest.cs b/summarization-poc/backend/Summarization_POC/Model/RecordingRequest.cs new file mode 100644 index 00000000..fa6ca99d --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/Model/RecordingRequest.cs @@ -0,0 +1,10 @@ +namespace Summarization_POC.Model +{ + public class RecordingRequest + { + public string RecordingContent { get; set; } + public string RecordingChannel { get; set; } + public string RecordingFormat { get; set; } + public bool IsByos { get; set; } + } +} diff --git a/summarization-poc/backend/Summarization_POC/Program.cs b/summarization-poc/backend/Summarization_POC/Program.cs new file mode 100644 index 00000000..77d6b6ed --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/Program.cs @@ -0,0 +1,567 @@ +using Azure; +using Azure.AI.OpenAI; +using Azure.Communication; +using Azure.Communication.CallAutomation; +using Azure.Messaging; +using Azure.Messaging.EventGrid; +using Azure.Messaging.EventGrid.SystemEvents; +using Microsoft.AspNetCore.Mvc; +using Microsoft.CognitiveServices.Speech; +using Microsoft.CognitiveServices.Speech.Audio; +using Microsoft.VisualBasic; +using NAudio.Wave; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System.Text.Json; +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +/// Your ACS resource connection string +var acsConnectionString = ""; + +// Your ACS resource phone number will act as source number to start outbound call +var acsPhoneNumber = ""; + +// Target phone number you want to receive the call. +var targetPhoneNumber = ""; + +// Base url of the app +var callbackUriHost = ""; + +//Call back URL +var callbackUri = new Uri(new Uri(callbackUriHost), "/api/callbacks"); + +// Your cognitive service endpoint +var cognitiveServiceEndpoint = ""; + +var CognitiveServicesKey = ""; + +//Transport URL +var transportUrl = ""; + +//Bring Your Own Storage URL +var bringYourOwnStorageUrl = ""; + +string callConnectionId = string.Empty; +string recordingId = string.Empty; +string metadataLocation = string.Empty; +string contentLocation = string.Empty; +string filePath = string.Empty; +string recordingPrompt = "Recording is Started."; +bool isBYOS = false; + + +CallAutomationClient callAutomationClient = new CallAutomationClient(acsConnectionString); +var app = builder.Build(); + +app.MapPost("/createIncomingCall", async (string targetId, ILogger logger) => +{ + CommunicationUserIdentifier callee = new CommunicationUserIdentifier(targetId); + var callInvite = new CallInvite(callee); + var createCallOptions = new CreateCallOptions(callInvite, callbackUri) + { + CallIntelligenceOptions = new CallIntelligenceOptions() { CognitiveServicesEndpoint = new Uri(cognitiveServiceEndpoint) } + }; + await callAutomationClient.CreateCallAsync(createCallOptions); +}); + +app.MapPost("/outboundCall", async (ILogger logger) => +{ + PhoneNumberIdentifier target = new PhoneNumberIdentifier(targetPhoneNumber); + PhoneNumberIdentifier caller = new PhoneNumberIdentifier(acsPhoneNumber); + + CallInvite callInvite = new CallInvite(target, caller); + + //TranscriptionOptions transcriptionOptions = new TranscriptionOptions(new Uri(transportUrl), + // "en-us", true, TranscriptionTransport.Websocket); + + var createCallOptions = new CreateCallOptions(callInvite, callbackUri) + { + CallIntelligenceOptions = new CallIntelligenceOptions() { CognitiveServicesEndpoint = new Uri(cognitiveServiceEndpoint) }, + //TranscriptionOptions = transcriptionOptions + }; + + CreateCallResult createCallResult = await callAutomationClient.CreateCallAsync(createCallOptions); + + logger.LogInformation($"Created call with connection id: {createCallResult.CallConnectionProperties.CallConnectionId}"); +}); + +app.MapPost("/api/callbacks", (CloudEvent[] cloudEvents, ILogger logger) => +{ + foreach (var cloudEvent in cloudEvents) + { + CallAutomationEventBase parsedEvent = CallAutomationEventParser.Parse(cloudEvent); + logger.LogInformation( + "Received call event: {type}, callConnectionID: {connId}, serverCallId: {serverId}", + parsedEvent.GetType(), + parsedEvent.CallConnectionId, + parsedEvent.ServerCallId); + + if (parsedEvent is CallConnected callConnected) + { + logger.LogInformation($"Received call event: {callConnected.GetType()}"); + callConnectionId = callConnected.CallConnectionId; + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + logger.LogInformation($"CORRELATION ID: {callConnectionProperties.CorrelationId}"); + logger.LogInformation($"Media Streaming state: {callConnectionProperties.MediaStreamingSubscription.State}"); + logger.LogInformation($"Transcription state: {callConnectionProperties.TranscriptionSubscription.State}"); + + } + else if (parsedEvent is PlayStarted playStarted) + { + logger.LogInformation($"Received call event: {playStarted.GetType()}"); + callConnectionId = playStarted.CallConnectionId; + } + else if (parsedEvent is PlayCompleted playCompleted) + { + logger.LogInformation($"Received call event: {playCompleted.GetType()}"); + callConnectionId = playCompleted.CallConnectionId; + } + else if (parsedEvent is PlayFailed playFailed) + { + callConnectionId = playFailed.CallConnectionId; + logger.LogInformation($"Received call event: {playFailed.GetType()}, CorrelationId: {playFailed.CorrelationId}, " + + $"subCode: {playFailed.ResultInformation?.SubCode}, message: {playFailed.ResultInformation?.Message}, context: {playFailed.OperationContext}"); + } + else if (parsedEvent is PlayCanceled playCanceled) + { + logger.LogInformation($"Received call event: {playCanceled.GetType()}"); + callConnectionId = playCanceled.CallConnectionId; + } + else if (parsedEvent is TranscriptionStarted transcriptionStarted) + { + logger.LogInformation($"Received call event: {transcriptionStarted.GetType()}"); + callConnectionId = transcriptionStarted.CallConnectionId; + } + else if (parsedEvent is TranscriptionStopped transcriptionStopped) + { + logger.LogInformation($"Received call event: {transcriptionStopped.GetType()}"); + callConnectionId = transcriptionStopped.CallConnectionId; + } + else if (parsedEvent is TranscriptionUpdated transcriptionUpdated) + { + logger.LogInformation($"Received call event: {transcriptionUpdated.GetType()}"); + callConnectionId = transcriptionUpdated.CallConnectionId; + } + else if (parsedEvent is TranscriptionFailed transcriptionFailed) + { + callConnectionId = transcriptionFailed.CallConnectionId; + logger.LogInformation($"Received call event: {transcriptionFailed.GetType()}, CorrelationId: {transcriptionFailed.CorrelationId}, " + + $"subCode: {transcriptionFailed.ResultInformation?.SubCode}, message: {transcriptionFailed.ResultInformation?.Message}, context: {transcriptionFailed.OperationContext}"); + } + else if (parsedEvent is CallDisconnected callDisconnected) + { + logger.LogInformation($"Received call event: {callDisconnected.GetType()}"); + } + } + return Results.Ok(); +}).Produces(StatusCodes.Status200OK); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +/* Route for Azure Communication Service eventgrid webhooks*/ +app.MapPost("/api/events", async ([FromBody] EventGridEvent[] eventGridEvents, ILogger logger) => +{ + foreach (var eventGridEvent in eventGridEvents) + { + logger.LogInformation($"Incoming Call event received : {System.Text.Json.JsonSerializer.Serialize(eventGridEvent)}"); + + // Handle system events + if (eventGridEvent.TryGetSystemEventData(out object eventData)) + { + // Handle the subscription validation event. + if (eventData is SubscriptionValidationEventData subscriptionValidationEventData) + { + var responseData = new SubscriptionValidationResponse + { + ValidationResponse = subscriptionValidationEventData.ValidationCode + }; + return Results.Ok(responseData); + } + } + if (eventData is AcsIncomingCallEventData incomingCallEventData) + { + var incomingCallContext = incomingCallEventData?.IncomingCallContext; + + //TranscriptionOptions transcriptionOptions = new TranscriptionOptions(new Uri(transportUrl), + // "en-us", true, TranscriptionTransport.Websocket); + + var options = new AnswerCallOptions(incomingCallContext, callbackUri) + { + CallIntelligenceOptions = new CallIntelligenceOptions + { + CognitiveServicesEndpoint = new Uri(cognitiveServiceEndpoint), + }, + //TranscriptionOptions = transcriptionOptions + }; + + AnswerCallResult answerCallResult = await callAutomationClient.AnswerCallAsync(options); + var callConnectionId = answerCallResult.CallConnection.CallConnectionId; + logger.LogInformation($"Answer call result: {callConnectionId}"); + + var callConnectionMedia = answerCallResult.CallConnection.GetCallMedia(); + //Use EventProcessor to process CallConnected event + var answer_result = await answerCallResult.WaitForEventProcessorAsync(); + + if (answer_result.IsSuccess) + { + logger.LogInformation($"Call connected event received for connection id: {answer_result.SuccessResult.CallConnectionId}"); + logger.LogInformation($"CORRELATION ID: {answer_result.SuccessResult.CorrelationId}"); + } + } + + if (eventData is AcsRecordingFileStatusUpdatedEventData statusUpdated) + { + metadataLocation = statusUpdated.RecordingStorageInfo.RecordingChunks[0].MetadataLocation; + contentLocation = statusUpdated.RecordingStorageInfo.RecordingChunks[0].ContentLocation; + var deletecLocation = statusUpdated.RecordingStorageInfo.RecordingChunks[0].DeleteLocation; + logger.LogInformation($"Metadata Location:--> {metadataLocation}"); + logger.LogInformation($"Content Location:--> {contentLocation}"); + logger.LogInformation($"Delete Location:--> {deletecLocation}"); + + if (!isBYOS) + { + filePath = await downloadRecording(); + await DownloadRecordingMetadata(logger); + } + } + } + return Results.Ok(); +}); + +app.MapPost("/playMedia", async (bool isPlayToAll, ILogger logger) => +{ + Console.WriteLine(isPlayToAll); + await PlayMediaAsync(isPlayToAll); + return Results.Ok(); +}); + +app.MapPost("/startRecording", async (bool isByos, ILogger logger) => +{ + isBYOS = isByos; + await StartRecordingAsync(isByos, logger); + return Results.Ok(); +}); + +app.MapPost("/stopRecording", async (ILogger logger) => +{ + await StopRecordingAsync(logger); + return Results.Ok(); +}); + +app.MapPost("/summarize", async (ILogger logger) => +{ + string transcript = await ConvertSpeechToText(filePath); + //logger.LogInformation($"text: {transcript}"); + //return transcript; + logger.LogInformation("Get a Brief summary of the conversation"); + //string transcript = req.Query["transcript"]; + + //string requestBody = await new StreamReader(filePath).ReadToEndAsync(); + //dynamic data = JsonConvert.DeserializeObject(requestBody); + //string transcript = data?.transcript; + + + //Stream Chat Message with open AI + var openAIClient = getClient(); + + var chatCompletionsOptions = new ChatCompletionsOptions() + { + Messages = + { + new ChatMessage(ChatRole.System, recordingPrompt), + new ChatMessage(ChatRole.User, transcript), + new ChatMessage(ChatRole.User, recordingPrompt) + }, + Temperature = (float)1, + MaxTokens = 800 + }; + + + Response chatresponse = await openAIClient.GetChatCompletionsStreamingAsync( + deploymentOrModelName: "gpt-4", chatCompletionsOptions); + using StreamingChatCompletions streamingChatCompletions = chatresponse.Value; + + string responseMessage = ""; + + await foreach (StreamingChatChoice choice in streamingChatCompletions.GetChoicesStreaming()) + { + await foreach (ChatMessage message in choice.GetMessageStreaming()) + { + responseMessage = responseMessage + message.Content; + Console.Write(message.Content); + } + Console.WriteLine(); + } + return new OkObjectResult(responseMessage); +}); + +app.MapPost("/disConnectCall", async (ILogger logger) => +{ + var callConnection = callAutomationClient.GetCallConnection(callConnectionId); + await callConnection.HangUpAsync(true); + return Results.Ok(); +}); + +async Task PlayMediaAsync(bool isPlayToAll) +{ + CallMedia callMedia = GetCallMedia(); + + TextSource playSource = new TextSource("Hi, this is test source played through play source thanks. Goodbye!.") + { + VoiceName = "en-US-NancyNeural" + }; + if (isPlayToAll) + { + PlayToAllOptions playToAllOptions = new PlayToAllOptions(playSource) + { + OperationContext = "playToAllContext", + OperationCallbackUri = callbackUri + }; + await callMedia.PlayToAllAsync(playToAllOptions); + } + else + { + CommunicationIdentifier target = GetCommunicationTargetIdentifier(); + + var playTo = new List { target }; + + await callMedia.PlayAsync(playSource, playTo); + } +} + +async Task StartTranscriptionAsync() +{ + CallMedia callMedia = GetCallMedia(); + + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + + if (callConnectionProperties.TranscriptionSubscription.State.Equals("inactive")) + { + await callMedia.StartTranscriptionAsync(); + } + else + { + Console.WriteLine("Transcription is already active"); + } +} + +async Task StopTranscriptionAsync() +{ + CallMedia callMedia = GetCallMedia(); + + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + + if (callConnectionProperties.TranscriptionSubscription.State.Equals("active")) + { + await callMedia.StopTranscriptionAsync(); + } + else + { + Console.WriteLine("Transcription is not active"); + } +} + +async Task UpdateTranscriptionAsync() +{ + CallMedia callMedia = GetCallMedia(); + + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + + if (callConnectionProperties.TranscriptionSubscription.State.Equals("active")) + { + await callMedia.UpdateTranscriptionAsync("en-au"); + } + else + { + Console.WriteLine("Transcription is not active"); + } +} + +async Task StartRecordingAsync(bool isByos, ILogger logger) +{ + CallMedia callMedia = GetCallMedia(); + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator(callConnectionProperties.ServerCallId)) + { + RecordingContent = RecordingContent.Audio, + RecordingChannel = RecordingChannel.Unmixed, + RecordingFormat = RecordingFormat.Wav, + RecordingStorage = isByos && !string.IsNullOrEmpty(bringYourOwnStorageUrl) ? RecordingStorage.CreateAzureBlobContainerRecordingStorage(new Uri(bringYourOwnStorageUrl)) : null + }; + var playTask = HandlePlayAsync(callMedia, recordingPrompt, "handleRecordingPromptContext"); + + var recordingTask = callAutomationClient.GetCallRecording().StartAsync(recordingOptions); + await Task.WhenAll(playTask, recordingTask); + recordingId = recordingTask.Result.Value.RecordingId; + logger.LogInformation($"Call recording id--> {recordingId}"); +} + + +async Task StopRecordingAsync(ILogger logger) +{ + CallMedia callMedia = GetCallMedia(); + CallConnectionProperties callConnectionProperties = GetCallConnectionProperties(); + var playTask = HandlePlayAsync(callMedia, "Recording is Stopped.", "handlePromptContext"); + + await callAutomationClient.GetCallRecording().StopAsync(recordingId); + logger.LogInformation($"Recording is Stopped."); +} + +CallMedia GetCallMedia() +{ + CallMedia callMedia = !string.IsNullOrEmpty(callConnectionId) ? + callAutomationClient.GetCallConnection(callConnectionId).GetCallMedia() + : throw new ArgumentNullException("Call connection id is empty"); + + return callMedia; +} + +CallConnectionProperties GetCallConnectionProperties() +{ + CallConnectionProperties callConnectionProperties = !string.IsNullOrEmpty(callConnectionId) ? + callAutomationClient.GetCallConnection(callConnectionId).GetCallConnectionProperties() + : throw new ArgumentNullException("Call connection id is empty"); + return callConnectionProperties; +} + +CommunicationIdentifier GetCommunicationTargetIdentifier() +{ + CommunicationIdentifier target = new PhoneNumberIdentifier(targetPhoneNumber); + + return target; +} + +async Task HandlePlayAsync(CallMedia callConnectionMedia, string textToPlay, string context) +{ + var playSource = new TextSource(textToPlay) + { + VoiceName = "en-US-NancyNeural" + }; + var playOptions = new PlayToAllOptions(playSource) { OperationContext = context }; + await callConnectionMedia.PlayToAllAsync(playOptions); +} + +async Task downloadRecording() +{ + string downloadsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads"); + var recordingDownloadUri = new Uri(contentLocation); + string format = await GetFormat(); + string fileName = $"test.{format}"; + string path = Path.Combine(downloadsPath, fileName); + + var response = await callAutomationClient.GetCallRecording().DownloadToAsync(recordingDownloadUri, $"{downloadsPath}\\{fileName}"); + return path; +} + +async Task GetFormat() +{ + string format = string.Empty; + var metaDataDownloadUri = new Uri(metadataLocation); + var metaDataResponse = await callAutomationClient.GetCallRecording().DownloadStreamingAsync(metaDataDownloadUri); + using (StreamReader streamReader = new StreamReader(metaDataResponse)) + { + // Read the JSON content from the stream and parse it into an object + string jsonContent = await streamReader.ReadToEndAsync(); + + // Parse the JSON string + JObject jsonObject = JObject.Parse(jsonContent); + + // Access the "format" value from the "recordingInfo" object + format = (string)jsonObject["recordingInfo"]["format"]; + } + return format; +} + +async Task DownloadRecordingMetadata(ILogger logger) +{ + if (!string.IsNullOrEmpty(metadataLocation)) + { + string downloadsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads"); + var recordingDownloadUri = new Uri(metadataLocation); + var response = await callAutomationClient.GetCallRecording().DownloadToAsync(recordingDownloadUri, $"{downloadsPath}\\recordingMetadata.json"); + } + else + { + logger.LogError("Metadata location is empty."); + } +} + +//This function will convert the speech to text from the recorded file +//Input parameter: the path of the recorded file +async Task ConvertSpeechToText(string audioFilePath) +{ + var speechConfig = SpeechConfig.FromSubscription(CognitiveServicesKey, "eastus"); + speechConfig.OutputFormat = OutputFormat.Detailed; + + var stopRecognition = new TaskCompletionSource(); + var recognizedText = string.Empty; + AudioConfig audioConfig = null; + var fileExtension = Path.GetExtension(audioFilePath).ToLower(); + + if (fileExtension == ".wav") + { + audioConfig = AudioConfig.FromWavFileInput(audioFilePath); + } + //else if (fileExtension == ".mp3" || fileExtension == ".mp4") + //{ + // ConvertToWav(audioFilePath, "output.wav"); + // audioConfig = AudioConfig.FromWavFileInput("output.wav"); + //} + else if (fileExtension == ".mp3") + { + await ConvertMp3ToWav(audioFilePath, "output.wav"); + audioConfig = AudioConfig.FromWavFileInput("output.wav"); + } + + using var recognizer = new SpeechRecognizer(speechConfig, audioConfig); + + recognizer.Recognized += (s, e) => + { + if (e.Result.Reason == ResultReason.RecognizedSpeech) + { + recognizedText += e.Result.Text + " "; + } + else if (e.Result.Reason == ResultReason.NoMatch) + { + recognizedText += "[No match recognized] "; + } + }; + + recognizer.SessionStopped += (s, e) => + { + stopRecognition.TrySetResult(0); + }; + + recognizer.Canceled += (s, e) => + { + stopRecognition.TrySetResult(0); + }; + + await recognizer.StartContinuousRecognitionAsync(); + await stopRecognition.Task; + await recognizer.StopContinuousRecognitionAsync(); + + return recognizedText.Trim().Replace(".", "").Replace(",", ""); +} + +//This function will convert mp3 to wav which is supported by NAudio +async Task ConvertMp3ToWav(string inputFile, string outputFile) +{ + using (var reader = new Mp3FileReader(inputFile)) + using (var writer = new WaveFileWriter(outputFile, reader.WaveFormat)) + { + reader.CopyTo(writer); + } +} +static OpenAIClient getClient() +{ + return new OpenAIClient("OpenAIApiKey"); +} + +app.Run(); \ No newline at end of file diff --git a/summarization-poc/backend/Summarization_POC/Properties/launchSettings.json b/summarization-poc/backend/Summarization_POC/Properties/launchSettings.json new file mode 100644 index 00000000..5b31500d --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/Properties/launchSettings.json @@ -0,0 +1,29 @@ +{ + "profiles": { + "Summarization_POC": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7051;http://localhost:5218" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + }, + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:57202/", + "sslPort": 44323 + } + } +} \ No newline at end of file diff --git a/summarization-poc/backend/Summarization_POC/Summarization_POC.csproj b/summarization-poc/backend/Summarization_POC/Summarization_POC.csproj new file mode 100644 index 00000000..22db033e --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/Summarization_POC.csproj @@ -0,0 +1,21 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + + diff --git a/summarization-poc/backend/Summarization_POC/Summarization_POC.sln b/summarization-poc/backend/Summarization_POC/Summarization_POC.sln new file mode 100644 index 00000000..ca3f5668 --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/Summarization_POC.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35303.130 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Summarization_POC", "Summarization_POC.csproj", "{7B25A54A-13B7-405F-8ABC-8653306AE681}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7B25A54A-13B7-405F-8ABC-8653306AE681}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B25A54A-13B7-405F-8ABC-8653306AE681}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B25A54A-13B7-405F-8ABC-8653306AE681}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B25A54A-13B7-405F-8ABC-8653306AE681}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {08922EB1-B695-43B0-8203-53F9D8417E13} + EndGlobalSection +EndGlobal diff --git a/summarization-poc/backend/Summarization_POC/appsettings.json b/summarization-poc/backend/Summarization_POC/appsettings.json new file mode 100644 index 00000000..d17149f6 --- /dev/null +++ b/summarization-poc/backend/Summarization_POC/appsettings.json @@ -0,0 +1,20 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "CallbackUriHost": "", + "CognitiveServiceEndpoint": "", + "CognitiveServicesKey": "", + "AcsConnectionString": "", + "TransportUrl": "", + "AcsPhoneNumber": "", + "TargetPhoneNumber": "", + "BringYourOwnStorageUrl": "", + "OpenAIEndPoint": "", + "OpenAIKey": "", + "OpenAiModelName": "" +} diff --git a/summarization-poc/frontend/.gitignore b/summarization-poc/frontend/.gitignore new file mode 100644 index 00000000..9b70681f --- /dev/null +++ b/summarization-poc/frontend/.gitignore @@ -0,0 +1,352 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +.DS_Store diff --git a/summarization-poc/frontend/CHANGELOG.md b/summarization-poc/frontend/CHANGELOG.md new file mode 100644 index 00000000..98247527 --- /dev/null +++ b/summarization-poc/frontend/CHANGELOG.md @@ -0,0 +1,13 @@ +## [project-title] Changelog + + +# x.y.z (yyyy-mm-dd) + +*Features* +* ... + +*Bug Fixes* +* ... + +*Breaking Changes* +* ... diff --git a/summarization-poc/frontend/CONTRIBUTING.md b/summarization-poc/frontend/CONTRIBUTING.md new file mode 100644 index 00000000..a9115cf5 --- /dev/null +++ b/summarization-poc/frontend/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# Contributing to [project-title] + +This project welcomes contributions and suggestions. Most contributions require you to agree to a +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us +the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide +a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions +provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + + - [Code of Conduct](#coc) + - [Issues and Bugs](#issue) + - [Feature Requests](#feature) + - [Submission Guidelines](#submit) + +## Code of Conduct +Help us keep this project open and inclusive. Please read and follow our [Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +## Found an Issue? +If you find a bug in the source code or a mistake in the documentation, you can help us by +[submitting an issue](#submit-issue) to the GitHub Repository. Even better, you can +[submit a Pull Request](#submit-pr) with a fix. + +## Want a Feature? +You can *request* a new feature by [submitting an issue](#submit-issue) to the GitHub +Repository. If you would like to *implement* a new feature, please submit an issue with +a proposal for your work first, to be sure that we can use it. + +* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). + +## Submission Guidelines + +### Submitting an Issue +Before you submit an issue, search the archive, maybe your question was already answered. + +If your issue appears to be a bug, and hasn't been reported, open a new issue. +Help us to maximize the effort we can spend fixing issues and adding new +features, by not reporting duplicate issues. Providing the following information will increase the +chances of your issue being dealt with quickly: + +* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps +* **Version** - what version is affected (e.g. 0.1.2) +* **Motivation for or Use Case** - explain what are you trying to do and why the current behavior is a bug for you +* **Browsers and Operating System** - is this a problem with all browsers? +* **Reproduce the Error** - provide a live example or a unambiguous set of steps +* **Related Issues** - has a similar issue been reported before? +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be + causing the problem (line of code or commit) + +You can file new issues by providing the above information at the corresponding repository's issues link: https://github.com/[organization-name]/[repository-name]/issues/new]. + +### Submitting a Pull Request (PR) +Before you submit your Pull Request (PR) consider the following guidelines: + +* Search the repository (https://github.com/[organization-name]/[repository-name]/pulls) for an open or closed PR + that relates to your submission. You don't want to duplicate effort. + +* Make your changes in a new git fork: + +* Commit your changes using a descriptive commit message +* Push your fork to GitHub: +* In GitHub, create a pull request +* If we suggest changes then: + * Make the required updates. + * Rebase your fork and force push to your GitHub repository (this will update your Pull Request): + + ```shell + git rebase master -i + git push -f + ``` + +That's it! Thank you for your contribution! diff --git a/summarization-poc/frontend/LICENSE.md b/summarization-poc/frontend/LICENSE.md new file mode 100644 index 00000000..79656060 --- /dev/null +++ b/summarization-poc/frontend/LICENSE.md @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE \ No newline at end of file diff --git a/summarization-poc/frontend/Project/.babelrc b/summarization-poc/frontend/Project/.babelrc new file mode 100644 index 00000000..d1e69e5d --- /dev/null +++ b/summarization-poc/frontend/Project/.babelrc @@ -0,0 +1,13 @@ +{ + "presets": [ + "@babel/preset-env", + "@babel/preset-react" + ], + "plugins": [ + "@babel/plugin-transform-class-properties", + ["@babel/plugin-transform-runtime", + { + "regenerator": true + }] + ] +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/.deployment b/summarization-poc/frontend/Project/.deployment new file mode 100644 index 00000000..62783318 --- /dev/null +++ b/summarization-poc/frontend/Project/.deployment @@ -0,0 +1,2 @@ +[config] +SCM_DO_BUILD_DURING_DEPLOYMENT=true \ No newline at end of file diff --git a/summarization-poc/frontend/Project/.gitignore b/summarization-poc/frontend/Project/.gitignore new file mode 100644 index 00000000..29f025b7 --- /dev/null +++ b/summarization-poc/frontend/Project/.gitignore @@ -0,0 +1,28 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build +/dist + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# build dropped +sdk.bundle.js +./config.js \ No newline at end of file diff --git a/summarization-poc/frontend/Project/clientConfig.json b/summarization-poc/frontend/Project/clientConfig.json new file mode 100644 index 00000000..37be2e9a --- /dev/null +++ b/summarization-poc/frontend/Project/clientConfig.json @@ -0,0 +1,5 @@ +{ + "oneSignalAppId": "", + "oneSignalSafariWebId": "", + "appInsightsConnectionString": "" +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/oAuthConfig.js b/summarization-poc/frontend/Project/oAuthConfig.js new file mode 100644 index 00000000..ca9776a2 --- /dev/null +++ b/summarization-poc/frontend/Project/oAuthConfig.js @@ -0,0 +1,13 @@ +const authConfig = { + auth: { + clientId: 'ENTER_CLIENT_ID', + authority: 'https://login.microsoftonline.com/ENTER_TENANT_ID' + } +}; + // Add here scopes for id token to be used at MS Identity Platform endpoints. +const authScopes = { + popUpLogin: [], + m365Login: [] +}; + +module.exports = {authConfig, authScopes } \ No newline at end of file diff --git a/summarization-poc/frontend/Project/package-lock.json b/summarization-poc/frontend/Project/package-lock.json new file mode 100644 index 00000000..0354e538 --- /dev/null +++ b/summarization-poc/frontend/Project/package-lock.json @@ -0,0 +1,7801 @@ +{ + "name": "ACSCallingSample", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ACSCallingSample", + "version": "1.0.0", + "dependencies": { + "@azure/communication-calling": "1.27.1-beta.1", + "@azure/communication-calling-effects": "1.1.1-beta.1", + "@azure/communication-common": "^2.3.0", + "@azure/communication-identity": "^1.3.0", + "@azure/communication-network-traversal": "^1.1.0-beta.1", + "@azure/logger": "^1.0.3", + "@azure/msal-browser": "^2.33.0", + "@azure/msal-node": "^1.17.1", + "@fluentui/react": "^7.158.1", + "@microsoft/applicationinsights-web": "^3.0.2", + "pako": "^2.1.0", + "react": "^16.14.0", + "react-dom": "^16.14.0", + "react-onesignal": "^2.0.4", + "react-toastify": "9.0.1" + }, + "devDependencies": { + "@babel/core": "^7.8.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.8.3", + "@babel/preset-env": "^7.8.7", + "@babel/preset-react": "^7.8.3", + "@babel/runtime": "^7.8.7", + "axios": "^1.3.4", + "babel-loader": "^8.0.6", + "css-loader": "^5.2.6", + "html-loader": "^4.2.0", + "html-webpack-plugin": "^5.5.3", + "style-loader": "^1.1.3", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/communication-calling": { + "version": "1.27.1-beta.1", + "resolved": "https://registry.npmjs.org/@azure/communication-calling/-/communication-calling-1.27.1-beta.1.tgz", + "integrity": "sha512-XWQ5Udgt5TiVJETa+jJKZ7u40iPeHe+l92WZRpTVoqNcIKw/IFdKkkb8jtf/7N8mzDt8jVVQG9GLOQRpa+uvnw==", + "dependencies": { + "@azure/communication-common": "^2.3.0", + "@azure/logger": "^1.0.3" + } + }, + "node_modules/@azure/communication-calling-effects": { + "version": "1.1.1-beta.1", + "resolved": "https://registry.npmjs.org/@azure/communication-calling-effects/-/communication-calling-effects-1.1.1-beta.1.tgz", + "integrity": "sha512-hz0wEHBFSNVivS7qnDwcnJuONYqlV41VpQpEi+hEGcM4+8G4MQwC4nG7dOr2OX2AkJoX3ZTY2ZC5X3igLy9U4A==", + "dependencies": { + "@azure/logger": "^1.0.2", + "events": "3.3.0" + } + }, + "node_modules/@azure/communication-common": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@azure/communication-common/-/communication-common-2.3.0.tgz", + "integrity": "sha512-KqpdV1AsojDcmISMnvv9MTE8lNRcgz+OQukp2mFl/cm4aKjzROrGcSlayU6p9A51knRGwgoS6hXkaUdqU5cXow==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-rest-pipeline": "^1.3.2", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "events": "^3.0.0", + "jwt-decode": "^3.1.2", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/communication-identity": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/communication-identity/-/communication-identity-1.3.0.tgz", + "integrity": "sha512-SCfmOEanjXho8k93T0/SvZc1OrunD0868VZWA2gkiy9sCiYfC5HG0aDJ0tLlEw5RHNeICuXa5s7TqapwLPPThw==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/communication-common": "^2.2.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.3.0", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.3.0", + "@azure/core-tracing": "^1.0.0", + "@azure/logger": "^1.0.0", + "events": "^3.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/communication-network-traversal": { + "version": "1.1.0-beta.1", + "resolved": "https://registry.npmjs.org/@azure/communication-network-traversal/-/communication-network-traversal-1.1.0-beta.1.tgz", + "integrity": "sha512-lPVLJJY7TPh93JpuL4wvfBrdphogA+XXi7wwAqXE7btM8syr56uXdGaz0rSSbVyeSkYv3g2Um7U+SCuIDIH9aQ==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/communication-common": "^1.1.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-http": "^2.0.0", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/logger": "^1.0.0", + "events": "^3.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/communication-network-traversal/node_modules/@azure/communication-common": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/communication-common/-/communication-common-1.1.0.tgz", + "integrity": "sha512-vqTtzDtb4NG3LWoWoqlOOJApZRRIIImNUKlGyTa6c1YC+v5A7UEOL9TX8NRDxvFVUF2wDHsSnkhLBVBgkcAhIQ==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-http": "^2.0.0", + "@azure/core-tracing": "1.0.0-preview.13", + "events": "^3.0.0", + "jwt-decode": "~2.2.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/communication-network-traversal/node_modules/@azure/core-tracing": { + "version": "1.0.0-preview.13", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz", + "integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==", + "dependencies": { + "@opentelemetry/api": "^1.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/communication-network-traversal/node_modules/jwt-decode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "integrity": "sha512-86GgN2vzfUu7m9Wcj63iUkuDzFNYFVmjeDm2GzWpUk+opB0pEpMsw6ePCMrhYkumz2C1ihqtZzOMAg7FiXcNoQ==" + }, + "node_modules/@azure/core-auth": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.5.0.tgz", + "integrity": "sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.7.3.tgz", + "integrity": "sha512-kleJ1iUTxcO32Y06dH9Pfi9K4U+Tlb111WXEnbt7R/ne+NLRwppZiTGJuTD5VVoxTMK5NTbEtm5t2vcdNCFe2g==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-http": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-2.3.2.tgz", + "integrity": "sha512-Z4dfbglV9kNZO177CNx4bo5ekFuYwwsvjLiKdZI4r84bYGv3irrbQz7JC3/rUfFH2l4T/W6OFleJaa2X0IaQqw==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/core-util": "^1.1.1", + "@azure/logger": "^1.0.0", + "@types/node-fetch": "^2.5.0", + "@types/tunnel": "^0.0.3", + "form-data": "^4.0.0", + "node-fetch": "^2.6.7", + "process": "^0.11.10", + "tough-cookie": "^4.0.0", + "tslib": "^2.2.0", + "tunnel": "^0.0.6", + "uuid": "^8.3.0", + "xml2js": "^0.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-http/node_modules/@azure/core-tracing": { + "version": "1.0.0-preview.13", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz", + "integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==", + "dependencies": { + "@opentelemetry/api": "^1.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/core-lro": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.4.tgz", + "integrity": "sha512-3GJiMVH7/10bulzOKGrrLeG/uCBH/9VtxqaMcB9lIqAeamI/xYQSHJL/KcsLDuH+yTjYpro/u6D/MuRe4dN70Q==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-paging": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.5.0.tgz", + "integrity": "sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.12.1.tgz", + "integrity": "sha512-SsyWQ+T5MFQRX+M8H/66AlaI6HyCbQStGfFngx2fuiW+vKI2DkhtOvbYodPyf9fOe/ARLWWc3ohX54lQ5Kmaog==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "form-data": "^4.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", + "integrity": "sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.5.0.tgz", + "integrity": "sha512-GZBpVFDtQ/15hW1OgBcRdT4Bl7AEpcEZqLfbAvOtm1CQUncKWiYapFHVD588hmlV27NbOOtSm3cnLF3lvoHi4g==", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", + "integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "2.38.2", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.2.tgz", + "integrity": "sha512-71BeIn2we6LIgMplwCSaMq5zAwmalyJR3jFcVOZxNVfQ1saBRwOD+P77nLs5vrRCedVKTq8RMFhIOdpMLNno0A==", + "dependencies": { + "@azure/msal-common": "13.3.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", + "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.3.tgz", + "integrity": "sha512-lI1OsxNbS/gxRD4548Wyj22Dk8kS7eGMwD9GlBZvQmFV8FJUXoXySL1BiNzDsHUE96/DS/DHmA+F73p1Dkcktg==", + "dependencies": { + "@azure/msal-common": "13.3.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": "10 || 12 || 14 || 16 || 18" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz", + "integrity": "sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", + "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@fluentui/date-time-utilities": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", + "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/date-time-utilities/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/dom-utilities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", + "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/dom-utilities/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/keyboard-key": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz", + "integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==", + "dependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/keyboard-key/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react": { + "version": "7.204.0", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-7.204.0.tgz", + "integrity": "sha512-WQKHcO6cboGO0eCPsiNSzUwnMWBmAvdltu4X0tvXwb+q8W3wZzCQiU1voDVYNm4Nz/Jgiiy8jbMcesmNAq7jsw==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "office-ui-fabric-react": "^7.204.0", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-compose": { + "version": "0.19.24", + "resolved": "https://registry.npmjs.org/@fluentui/react-compose/-/react-compose-0.19.24.tgz", + "integrity": "sha512-4PO7WSIZjwBGObpknjK8d1+PhPHJGSlVSXKFHGEoBjLWVlCTMw6Xa1S4+3K6eE3TEBbe9rsqwwocMTFHjhWwtQ==", + "dependencies": { + "@types/classnames": "^2.2.9", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.38.2", + "classnames": "^2.2.6", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-compose/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react-focus": { + "version": "7.18.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.18.17.tgz", + "integrity": "sha512-W+sLIhX7wLzMsJ0jhBrDAblkG3DNbRbF8UoSieRVdAAm7xVf5HpiwJ6tb6nGqcFOnpRh8y+fjyVM+dV3K6GNHA==", + "dependencies": { + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.25.1", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-focus/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react-stylesheets": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-stylesheets/-/react-stylesheets-0.2.9.tgz", + "integrity": "sha512-6GDU/cUEG/eJ4owqQXDWPmP5L1zNh2NLEDKdEzxd7cWtGnoXLeMjbs4vF4t5wYGzGaxZmUQILOvJdgCIuc9L9Q==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-stylesheets/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react-theme-provider": { + "version": "0.19.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-theme-provider/-/react-theme-provider-0.19.16.tgz", + "integrity": "sha512-Kf7z4ZfNLS/onaFL5eQDSlizgwy2ytn6SDyjEKV+9VhxIXdDtOh8AaMXWE7dsj1cRBfBUvuGPVnsnoaGdHxJ+A==", + "dependencies": { + "@fluentui/react-compose": "^0.19.24", + "@fluentui/react-stylesheets": "^0.2.9", + "@fluentui/react-window-provider": "^1.0.6", + "@fluentui/theme": "^1.7.13", + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/react-hooks": "^7.16.4", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.38.2", + "classnames": "^2.2.6", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-theme-provider/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react-window-provider": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.6.tgz", + "integrity": "sha512-m2HoxhU2m/yWxUauf79y+XZvrrWNx+bMi7ZiL6DjiAKHjTSa8KOyvicbOXd/3dvuVzOaNTnLDdZAvhRFcelOIA==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/react-window-provider/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/react/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@fluentui/theme": { + "version": "1.7.13", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.13.tgz", + "integrity": "sha512-/1ZDHZNzV7Wgohay47DL9TAH4uuib5+B2D6Rxoc3T6ULoWcFzwLeVb+VZB/WOCTUbG+NGTrmsWPBOz5+lbuOxA==", + "dependencies": { + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@fluentui/theme/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@microsoft/applicationinsights-analytics-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-3.0.3.tgz", + "integrity": "sha512-ZVLGwcBJIwYel19++312CddNEneAGoHOuJVHxqkquwPfI3LgufI1T28QSefCYuuijuWkAsuuHOfUNr1Rl84ZZg==", + "dependencies": { + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-cfgsync-js": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-cfgsync-js/-/applicationinsights-cfgsync-js-0.0.2.tgz", + "integrity": "sha512-E48vL6lC2+x/6DtwJWaIVWJkzi/ejfyq+4DRDZCc4af7MpIfTqg00XLROPw/L6cdQRbFT3jjVmzxAW9dHPB1sQ==", + "dependencies": { + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-async": ">= 0.3.0 < 2.x", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-channel-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.3.tgz", + "integrity": "sha512-CWcJQCMKU3CxWLFIE8iPa3G5KB3v2RFkAvPICfY8/fwWZq4tWY7zosgvRPDZ+dIkz8Z/+CMy0+KblYzIKDdG4A==", + "dependencies": { + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-async": ">= 0.3.0 < 2.x", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-common": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.3.tgz", + "integrity": "sha512-GwnerHHPexry2CMTr6gP2Rjm0e3rgVXZzFCbrxcoOQk8MqrEFDWur6Xs66FwXpGFnY3KV3Zsujkfcl0oePs4Cg==", + "dependencies": { + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-core-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.3.tgz", + "integrity": "sha512-ymtdPHgUhCwIwQZx2ZN3Xw3cq+Z5KHzGmFV8QvURSdUzfaHbjYcHXIQkEZbgCCGOTMLtx9lZqP7J1gbBy0O8GQ==", + "dependencies": { + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-async": ">= 0.3.0 < 2.x", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-dependencies-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-3.0.3.tgz", + "integrity": "sha512-xIZFrZPYVXSTXAmzye/CIWrHQcynS2fjd2GQob6CvN29n29UjPJQwvcI/RSGe3z4wv9lutniXPEVNctDpxmh4w==", + "dependencies": { + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-async": ">= 0.3.0 < 2.x", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-properties-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-3.0.3.tgz", + "integrity": "sha512-jR6N2o57BzY9QUAH//Ha0HzZvVKVRUjMKWdoM5dil2gBh5oFra+Ki9cKLE6f5wMvPPnwctpaMqv1XHJYU/cB5A==", + "dependencies": { + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/applicationinsights-shims": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", + "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", + "dependencies": { + "@nevware21/ts-utils": ">= 0.9.4 < 2.x" + } + }, + "node_modules/@microsoft/applicationinsights-web": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-3.0.3.tgz", + "integrity": "sha512-4r6QUMul1nhnLCTVuJHGV9P5MOo6ionzVIkiajSQhQaHarPjBJ/PTh23TstfbwsSI5e7c3sIuHAojUP4EbCKsQ==", + "dependencies": { + "@microsoft/applicationinsights-analytics-js": "3.0.3", + "@microsoft/applicationinsights-cfgsync-js": "0.0.2", + "@microsoft/applicationinsights-channel-js": "3.0.3", + "@microsoft/applicationinsights-common": "3.0.3", + "@microsoft/applicationinsights-core-js": "3.0.3", + "@microsoft/applicationinsights-dependencies-js": "3.0.3", + "@microsoft/applicationinsights-properties-js": "3.0.3", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.2", + "@nevware21/ts-async": ">= 0.3.0 < 2.x", + "@nevware21/ts-utils": ">= 0.10.1 < 2.x" + }, + "peerDependencies": { + "tslib": "*" + } + }, + "node_modules/@microsoft/dynamicproto-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz", + "integrity": "sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==", + "dependencies": { + "@nevware21/ts-utils": ">= 0.9.4 < 2.x" + } + }, + "node_modules/@microsoft/load-themed-styles": { + "version": "1.10.295", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + }, + "node_modules/@nevware21/ts-async": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nevware21/ts-async/-/ts-async-0.3.0.tgz", + "integrity": "sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==", + "dependencies": { + "@nevware21/ts-utils": ">= 0.10.0 < 2.x" + } + }, + "node_modules/@nevware21/ts-utils": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz", + "integrity": "sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==" + }, + "node_modules/@opentelemetry/api": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.6.0.tgz", + "integrity": "sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.11.tgz", + "integrity": "sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", + "deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.", + "dependencies": { + "classnames": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.1.tgz", + "integrity": "sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.3.tgz", + "integrity": "sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.5.tgz", + "integrity": "sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.12", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.12.tgz", + "integrity": "sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.2.tgz", + "integrity": "sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.7", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.7.tgz", + "integrity": "sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog==", + "peer": true + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", + "dev": true + }, + "node_modules/@types/react": { + "version": "17.0.66", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.66.tgz", + "integrity": "sha512-azQzO1tuioq9M4vVKzzdBgG5KfLhyocYkRlJMBDcrJ7bUzyjR7QIGbZk2zH7sB5KpXRWoZJQ3CznVyhDS/swxA==", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "17.0.21", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.21.tgz", + "integrity": "sha512-3rQEFUNUUz2MYiRwJJj6UekcW7rFLOtmK7ajQP7qJpjNdggInl3I/xM4I3Hq1yYPdCGVMgax1gZsB7BBTtayXg==", + "peer": true, + "dependencies": { + "@types/react": "^17" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/scheduler": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", + "peer": true + }, + "node_modules/@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-asaEIoc6J+DbBKXtO7p2shWUpKacZOoMBEGBgPG91P8xhO53ohzHWGCs4ScZo5pQMf5ukQzVT9fhX1WzpHihig==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.34", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.34.tgz", + "integrity": "sha512-R+n7qBFnm/6jinlteC9DBL5dGiDGjWAvjo4viUanpnc/dG1y7uDoacXPIQ/PQEg1fI912SMHIa014ZjRpvDw4g==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/tunnel": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz", + "integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz", + "integrity": "sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@uifabric/foundation": { + "version": "7.10.16", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.10.16.tgz", + "integrity": "sha512-x13xS9aKh6FEWsyQP2jrjyiXmUUdgyuAfWKMLhUTK4Rsc+vJANwwVk4fqGsU021WA6pghcIirvEVpWf5MlykDQ==", + "dependencies": { + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.25.1", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@uifabric/foundation/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/icons": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.9.5.tgz", + "integrity": "sha512-0e2fEURtR7sNqoGr9gU/pzcOp24B/Lkdc05s1BSnIgXlaL2QxRszfaEsl3/E9vsNmqA3tvRwDJWbtRolDbjCpQ==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.25.1", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/icons/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/merge-styles": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.20.2.tgz", + "integrity": "sha512-cJy8hW9smlWOKgz9xSDMCz/A0yMl4mdo466pcGlIOn84vz+e94grfA7OoTuTzg3Cl0Gj6ODBSf1o0ZwIXYL1Xg==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/merge-styles/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/react-hooks": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.16.4.tgz", + "integrity": "sha512-k8RJYTMICWA6varT5Y+oCf2VDHHXN0tC2GuPD4I2XqYCTLaXtNCm4+dMcVA2x8mv1HIO7khvm/8aqKheU/tDfQ==", + "dependencies": { + "@fluentui/react-window-provider": "^1.0.6", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@uifabric/react-hooks/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/set-version": { + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", + "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", + "dependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/set-version/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/styling": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.25.1.tgz", + "integrity": "sha512-bd4QDYyb0AS0+KmzrB8VsAfOkxZg0dpEpF1YN5Ben10COmT8L1DoE4bEF5NvybHEaoTd3SKxpJ42m+ceNzehSw==", + "dependencies": { + "@fluentui/theme": "^1.7.13", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.38.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/styling/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@uifabric/utilities": { + "version": "7.38.2", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.38.2.tgz", + "integrity": "sha512-5yM4sm142VEBg3/Q5SFheBXqnrZi9CNF5rjHNoex0GgGtG3AHPuS7U8gjm+/Io1MvbuCrn6lyyIw0MDvh1Ebkw==", + "dependencies": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/@uifabric/utilities/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "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/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "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": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", + "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001541", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz", + "integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/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==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "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==", + "dev": true + }, + "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/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "peer": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.537", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.537.tgz", + "integrity": "sha512-W1+g9qs9hviII0HAwOdehGYkr+zt7KKdmCcJcjH0mYg6oL8+ioT3Skjmt7BLoAQqXhjf40AXd+HlR4oAWMlXjA==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, + "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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "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/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "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/hpack.js/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==", + "dev": true + }, + "node_modules/hpack.js/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-4.2.0.tgz", + "integrity": "sha512-OxCHD3yt+qwqng2vvcaPApCEvbx+nXWu+v69TYHx1FO8bffHn/JjHtE3TTQZmHjwvnJe4xxzuecetDVBrQR1Zg==", + "dev": true, + "dependencies": { + "html-minifier-terser": "^7.0.0", + "parse5": "^7.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "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-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "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-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/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/jest-worker/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/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonwebtoken/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "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/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "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/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/office-ui-fabric-react": { + "version": "7.204.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.204.0.tgz", + "integrity": "sha512-W1xIsYEwxPrGYojvVtGTGvSfdnUoPEm8w6hhMlW/uFr5YwIB1isG/dVk4IZxWbcbea7612u059p+jRf+RjPW0w==", + "dependencies": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.18.17", + "@fluentui/react-theme-provider": "^0.19.16", + "@fluentui/react-window-provider": "^1.0.6", + "@fluentui/theme": "^1.7.13", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.10.16", + "@uifabric/icons": "^7.9.5", + "@uifabric/merge-styles": "^7.20.2", + "@uifabric/react-hooks": "^7.16.4", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.25.1", + "@uifabric/utilities": "^7.38.2", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <18.0.0", + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" + } + }, + "node_modules/office-ui-fabric-react/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "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-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "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==", + "dev": true + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "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/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-onesignal": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-onesignal/-/react-onesignal-2.0.4.tgz", + "integrity": "sha512-llZ4PV1+EsWWZDt0BRils6gAxaxMoYP0Z3rlNivQy4xqUaiO1/PcRaIJ6CuzCci/koDsw5IzLOXEHlV4Yn+d9Q==", + "engines": { + "node": ">=8", + "npm": ">=5" + }, + "peerDependencies": { + "react": ">= 16.8" + } + }, + "node_modules/react-toastify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.0.1.tgz", + "integrity": "sha512-c2zeZHkCX+WXuItS/JRqQ/8CH8Qm/je+M0rt09xe9fnu5YPJigtNOdD8zX4fwLA093V2am3abkGfOowwpkrwOQ==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "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": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/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/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/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/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/style-loader": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.20.0.tgz", + "integrity": "sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "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/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } +} diff --git a/summarization-poc/frontend/Project/package.json b/summarization-poc/frontend/Project/package.json new file mode 100644 index 00000000..6b0cfcbd --- /dev/null +++ b/summarization-poc/frontend/Project/package.json @@ -0,0 +1,45 @@ +{ + "name": "ACSCallingSample", + "version": "1.0.0", + "private": true, + "dependencies": { + "@azure/communication-calling": "1.27.1-beta.1", + "@azure/communication-calling-effects": "1.1.1-beta.1", + "@azure/communication-common": "^2.3.0", + "@azure/communication-identity": "^1.3.0", + "@azure/communication-network-traversal": "^1.1.0-beta.1", + "@azure/logger": "^1.0.3", + "@azure/msal-browser": "^2.33.0", + "@azure/msal-node": "^1.17.1", + "@fluentui/react": "^7.158.1", + "@microsoft/applicationinsights-web": "^3.0.2", + "pako": "^2.1.0", + "react": "^16.14.0", + "react-dom": "^16.14.0", + "react-onesignal": "^2.0.4", + "react-toastify": "9.0.1" + }, + "scripts": { + "start-local": "webpack-dev-server --port 5000 --mode development", + "build-local": "webpack --mode development", + "start": "webpack-dev-server --host 0.0.0.0", + "build": "webpack" + }, + "devDependencies": { + "@babel/core": "^7.8.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.8.3", + "@babel/preset-env": "^7.8.7", + "@babel/preset-react": "^7.8.3", + "@babel/runtime": "^7.8.7", + "axios": "^1.3.4", + "babel-loader": "^8.0.6", + "css-loader": "^5.2.6", + "html-loader": "^4.2.0", + "html-webpack-plugin": "^5.5.3", + "style-loader": "^1.1.3", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.1" + } +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/public/OneSignalSDKUpdaterWorker.js b/summarization-poc/frontend/Project/public/OneSignalSDKUpdaterWorker.js new file mode 100644 index 00000000..a7dfd5a1 --- /dev/null +++ b/summarization-poc/frontend/Project/public/OneSignalSDKUpdaterWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js'); \ No newline at end of file diff --git a/summarization-poc/frontend/Project/public/OneSignalSDKWorker.js b/summarization-poc/frontend/Project/public/OneSignalSDKWorker.js new file mode 100644 index 00000000..a7dfd5a1 --- /dev/null +++ b/summarization-poc/frontend/Project/public/OneSignalSDKWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js'); \ No newline at end of file diff --git a/summarization-poc/frontend/Project/public/assets/images/ACSBackdrop.png b/summarization-poc/frontend/Project/public/assets/images/ACSBackdrop.png new file mode 100644 index 0000000000000000000000000000000000000000..37845e22f0dcbab0d68aa716204b18b868212480 GIT binary patch literal 465101 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[~Sifdt>!mBS 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

=sv7q1-Ch&nH6UV~`=7$e_{r-;or(34^5DQPG-_ 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 z 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

Q;l#e? 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

  • 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

    Fjd25aR>b8NX6hMK=${*bR3Gmpc##lM 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⪼O{v-_VJbU$uhL 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 @cBVH}=CZ^@Z{8(tqywe}?}b$NzQuxAL|l>RHe5 zd2Nye=)MMDmCHE>ir`^fG>+dUeQ8T$~4U}2ARcD z!hsHRDzASD&yM$=JU?OndwZPuHIB+&015!OuPfe`75oj@YQ_8eJGS@l5;U+??C(43 z{a57a;vmI+?Q7@bb(u;X?_ z6znQ?#4bO)FUWulKE{wa4gyHxs97mD?D_32@{KvTIT_bx*1y%;U@(a7D!=d!kn8;_ z#Hm6IgR-_RD0D-i8=C2kocj5R{PR1=e;xy1zN4xl`eEU@0^$hdaq+hgY3g=L{+UoQ zVm7OD{yq_r22id$cgF0-TL9!;EZfW+_ro%y>5e~nUUJ%In9Kg6?q2<5v$}JC(#CJpN{%L}R|pI|ukC3rwmJN7@;`TbmR5 z9q9DBtr^kH`-t*+-D#GQ&cBlW`##C@zc&VqefR9?`G@@XeEt(`?1Ij$oilzIi*Q%j z#ji+XhbKWvV-92mJFn{%-ELAe1W`=stDT>-hhi z@ppdz!usFOy_1?r`-3=f2<`+{-3o@GLjXv3WU?@u|7K-eL?zu_?$&it7+o-APRf0Y z9V`|4E888?eUqe`Do=3D-4W~L*?N`7BK`i!^Z&qg(>gpeP_W7f_jScu2=#u$zHfMc zf5+qTj&0lUcW;E3a$cY0%sy#ke!De*i>P*{;YdH~ zkxuQ`0suuEgJn}j-Gwc}KNT#)22m*mx3XX@OWY8^tZ@OhUJ+L%yy`WG;aQq?!L{Dr zI}@JY3<&n@`z}W+-rqGAg+#E-i?O;6;5O>~- zkwE&!1KknAXqXh@9>gOKq~0ga=~&}hP;8R)V!)BNd$WmWS-^RVHzxI2FicbSSpq~B zsn=+QIrhK{MTGp~!+q32nw2r!0o6zRm-AW~8+K!XrLqyrp%tSA3&yS<8fvKEW@rB` zl0)!iAC7@{12N9zndAsa{w5X-^%`LLO?G{t)y3@iYfmYE8ToHs&*t>}JIH@)>K2$( zViS0Ld{X-YMw3P1Z1M)|@}c%QpqmaJyZ ztcKl&fxiHxMgva$75@kT^lDAYSD9X^!)emZG}WM5p-?u2hsOfiSWhI{ z%`_bE9AlyRXZTB*lX;wZ3qoj;cjJG*e*CAxmxHR`FZurm9_v?1!p$^b-k9)ww7q|Q zT~1c;DL+>Mqr>N%qYSNS6(c`PM1)vlh~NTx2rNhZ!$3gV|CFkXd1GsGAVVL+|4eE? z&;KsRKa;<~-_>+duTOyf8|P8rFo;X^eeDwlL`dtTO&I21f8R=s!O*{IB5alAIptP}V`P;k}su&bTu@Ts~)TI=dbIUKHt}fHB#CdB6vQ zlBa2xeb>R4>quofzDj?=_#bg*9}|Sd`jY>D@|kqsYjw{1{J48cTK}ZaoaRRUU`Af! zZHJZ3Q>J8V?R4YVk7<@%4)_l*^RdBEI(%ID#PP{qa^8~@24L&vk@CNW|IgOH%klU8^YM=j5^=9DMXuZX_U)U*2-tUg z|NdR#1Z*4jx})wDt?qc=H{kIO5U?yOmfKx!9#|wU!0mp+?RH05Zz%USl;!4a$Q5b~ zaNZ|0rKCVqo!%AOj2?Nn-f%GGKfB!3ua}jDj0Y&4d?M-erex$=ukEg)m6ML_+w3xs!K@snTBnvYqI($;6S>dw|9GM<6*v zkEY%fgt)gP_!PPnWAM@U85ZR>27XfR;58HjtA$*_M37r4gNA@~8yU;G)?N>i z|5sUAQ`h?hqVvSmIodS?r{mm$J$9ry;I*=ce>oP6Z{7fLuA%vu*qScuL@4w?^%w!H z1|fne{z@a}5s*M7vU-~GmY8P_7Xfl!pv6!0x^0m8Un~Ee1_8|O8WX5bexIcU5%h+F z9>BTAcvb(a?bGR(SIeH3NLmh&5oYX`8$k<`x5Z`@ZiG{$Bv&=_Bv5`ae?lR6Ku@_A&l-P_RBs|6e=)oiQ#gB%{^- zysdNkKdvL^^#5A<@%{Py4`1>4D$W+EBXJ&_~GbEUi2*evMk{H9k<&J`@X9IV8gcU zcsw=@Ao##uH|+ZZ*dADD1uek3-rOtTw!UGxzhnLO4R7~5mi3NB$Ad}S@r&;LaWfiA zF!?oJy^FJ7|Cp4L?p!@FmQ}73EQ@+96mbhS`7fWrmrJHX4l`pyz6AgPa=<=`=pU}x z1j4$Mj;^e}(dFNaNqI!_ZeqU%MJ6@{5!3~vqn!Clo*ERGeB>#UMxLM4r4PSTeVwsX zfQ0l)vsZ=JuKm-q+uT5nfKoO7gA^@nK_Y?vRtbYaFNkB-?;LqRK9>!X#sD=l_}Dt% z9|1I5WQ!CH;%I2Um^dklQhXpJ!#t03$62Ee(jmp|FJqJ zdC!VZ(@!!pf_YtnmIXHM+^oWNE?cuCDA7o;rKlyEB_NB%2RQ2o8H45U{Z)lO3l!Iu z+gt`Paq-nMXZ`yjrSXa!^jpR!dmyA1HEU_ByZrzFAOJ~3K~yZrmz7_%ndGubX6k6C zhv19>q<3E-6P%aR;b+qSD|O_AGo|Hh0=+u_pVfPnKi7ZO7AErwOewzQ2FRdixW6`(Frcr1-g20KR)wNcIFd`QuyAH;0!1 z_X<$OkCUQQOpYY$3lR$CWNp9Bw^~v63Mv{j z_Q#I*^6s$#mfIWNzWoP}Z*RE2-LbBBtjh{4t6W8=XWXTEQ{>3Qu?NhmTr^Ss#XH&L zICi&w6a2F)|Dv}nS^j)P003%j66Zwm&e!wJj6J@S&nm+J8o)1h^*UK>BA*?-tFkO( z{71P5Q9nLF1irMtxw9~*gm5~avMQkkV|la6h6+2@*O5FqjN#`|{2RD{c+qiWQ63vW zw1TOjyXk-dPz~NeMfJ%5R+PiyGQ7;$fv4$Q?YusKZYSINeo?+7fTMAAWw~nQ;a?}KGGmIgpC)wJSd}6@kDgZfNK=uUi zAn8$qH+tqJW3=x5>GM>^tFRpzU>FZ4|K1ShT2buf8bFzcg&PXDxM{}9TKu)bD8)`r zu+9-{Yv{kvK0jIhJ2e2v^Q`jg#s9f@@QR>xR?*2Kc+y}#bMy?lV_r-5lZDgrCN#yO zEsQi4bwFHjnk*bB&Nz$-F_$O1)Twwf;|1V0<9N!nRUV|u>}GkiN4|M|}R$tuM_7tm`g_aZ(gq=w&*{$J_Hqlj>P zKAIUg&P9rB;#2tiKUJE_Ljt6F#P;~n+=fwJsC zd4suh!-QTy1vP^D;sPM|m8*xTqDEGiFpKP(c|KMApzApZdP_9K-Iz>LQT4`w z!sZfs-Ayxt{pbM@M;p#~%|MlZ8UH_NcgUR$8lJ-GD~r;^8Z_`fw-s;u9rbO;wtd56 zdq}JRJ&Ru}qj5vs8tT5GY&+_<;qiXM{eH*o{)XGz8}9cv(0aqV-o^8v2$IaUUm2ap z1Kjq>-MdZEUlx!?f)r&hcHZ;R08{RpdW(2)Xf4ybXvepM3qJ!3$M=~_uhGt7np5CL z{xb4-Ys+Hb*ofI?R@Y74yMNNTWqoK=aD-I*4U>nCWhQE|2JAzBRi3)*!xS=omniKj z_Zq&`fL3$|ob(L3-O*i9^hg;>QS} zHCOeRVEq;wxyk?>f{9f2$>-Z<}3P~27{0FvcRxo?a;#@#(A<}b;fKQt2ur+!h1hcSZ%V6sT!kKGv z$7s?bY)n5trtGpUaEP-?qXFQGQOt}5d50t8W*}VddUa1;v;x~p;U>X#zN=~V9I)vu z;}g((Fl>cO3@A$XRNDRGek}h=`gghnCjI>6xyofCZ5X7Vn&t&aeRV7K5v1yNUPDF&SEh(Wp* zim7Pi_yq-w#*0MuZjgXlt!f)ZgKZN6fRpvc=tRfd@P?H)S{MxjY5x0+^c}(@2m37l ze@*@ws|&bt`&pT_4H0Jl8l`2+6$KLEpKk?gS#i6);jQl2wg(=MO*{kk2Oisox>pH^ zS9d&GL)|v)@9$Wb?^y3Q+~3}CzkdV2{Rg+Z83E+FLD@;yz~9ug!NoMZ{CY3-s0}^(M%@OTAnp72#WG$G>d`7PG)h911oYD-fg6xHmzmmbJJe729Bp@QbL&mY_?k#ge^)nOZW!u0_ zZggjA0PSF`AOgfkKzDq3*CPi7Op7Xi(suFrGdOLtc7UG4m)&NARXUt(6xr1CZgDrt zitc6r<(QWMkAoWh$N(>3QXeI)&(Ef-vd)wu*(*_s0fWKKC*_o1kzIpoFgTFnVWm?y z4Xt3pp0`CFi<{#Abj}&SMH6_;n}eIiy%;tv)tz4&sE#j@ezIVGELT5z;8>C~|FB^0 zW)v_4n$5YYV@V(`I;L`kpc~F0w~&yYBo|%aFzJZ{{>QEx7sa8D1O7PR4`pgGVM?ll zeVSaZ&55xRE#U6lO=1po+^gz$8*&<@w4q^2dA(of^|3B$uGn7$L~}vrgao>A&RsgZ zO=r(o+1R!t`|9}TXFlN$%8Uw-u!VkF=czd5o!+@Up~qj&@BSS62h6Q07K8bt?P95XUm+Cms|9Kss9sk)* zWS5`&{9}9L)6xHFUp%LONk1!pvU(nC8(O`F-E$3}7eDi}I3^ zppYFfQejovA`q!NXw&ne)O06`Ae!3(szq-ZXkb>svyp5ds&}8UtWgK8?<5CjJf3#(a9<)y+vit(9q9C`n zVqI^z-*?oy;jumZO2K{Gu{WSLpw=C2-?7s>==*~Ab;bSuhHu~ggWI=nSk@bs^(MxE zWd)U0qW@F$fPoux46yUzjTwzAO4Fkyr2tjvr`8ItVgRt{P;uYIk)6OVp)IhWVtOhAmNSrSMH}wcH z%q@I=BA)Oi67`>(My@9d6ld6waUfl9tPbIYaquY4(KqFf-YZ?u+LpfAykgiD;`*!O zlUV^aCD}j0Jgm}q*)BXJs33SI+b5TOg$vfU?Y^`9j(nse#4N|6IhBp4IbH;F_lGY4 zcCO#N9>C4h+)sjIu-MN2Gwa_5c+3ExG{~_4GXVH{RrH_qS+nZ}59A&RXPeyD@?T!J ze_Z}s`-S3sg3cEkO0OdZ&+Giib3`8fqLXs<@3V!j&pS(-wSJj?iGR+P7_u_otDW@j zT#YG)`fa@0WrS=L<~uj82|R~7$d|p-CzG7-a&-7#w{g<)MM@T;=2O5IolE!IOqV%C z$XWKIJugOh5Wgqm|9l2q_fb%DkNJKi^XP!RJaTk38{Tdj=um zK%3!0Hqyhfj{H9IwEX>9dHX*0(-mWXm5M$){;xc<{PQ|y^nX?==IiUcH$0IAFq{4ZMif^>)MG@S)kl>gWDhi;JW5~WkROC$t|pHk9|NJxXg z5E9ZUAuyz%Al)@IN_WH1gVfM4FwFJvf7ZHR!^}F@_w2nt`=kT%yFT^vQOrlG%tDo5 z3Dx>kIG={&A5t8>FEBzkSkIO2=`~&`f^GFJ(y&ms6X&RnAGg~~`JK7AGe%+WtLc}j zX9Ko=BNC4#hT$Iy>j)DVC}P>KJk*x_tg4L}RBx#C#sARJl4JH5Am~{4wFQTxK>v|Q zA(U9p-$V4dxW1HJXrr_Lg1xeLxgm0lfOO)6*Sdw9D5HG;mBrKJ>O&HDKWT;<1X+hW zbyBpMz~Z$z=D%YSS6EFabo(9x-cJd2Z&`zGUPELbUqzKSlKh9vrO(QYIYW7ZL@6a2$Id&O<| z<6Uxqz38RJAb08I`R0DWMGh(xhv5WyV*Tpc-T?(3>jr&An&L4uYb0db%dWmleIF-U zukVzkDI&XOJNI7RV(?QV@lhJTI!=N~vJ95c5J?vpLR-~_ zn_r+akeQ2kngomod^8=N#bHZ6KzDk41}vf^vmWgmX(Jk$N*xt5chz&&W}5q|p%fsp zy&VSs+Op058C?)2OleZx0+lqC8J` z=J)oz3(-B2@xx%>kxnS*3|gxb`H_ye4@dC!QY_HSWlf1Rw54eNajgJ%UveqA7qo@@ zW7HHVXVlb%{`{q6p>$Z(5*PP_V5Qc*^u|ueBcONxYimqg^J?dh&k@*Lgs&pGqd^=5 zaiuY*3pr+eI07G zk{{jOjS(=9cGv)im3i&-uewwAr_M2rPm%?onoh8f!WP} zhg{ySb5~1n3>#>kxxVAsjx)73wP%#&_}y!_HEYgy*X8@vslDQ+TQp?w@QRu%m zgn8aP?x%pV>9&ijoO0U*$WW&7v!e$#-1u*S+Bek?FTz7JGHB>Zlyz*wtQc3Yqj^vd zC-<5Kn1@Eij$6!KqGG5bjBR}Df|Ix`Wt z#XN^rQVHFgk~ub;$FX=wAMgjcy4qJd5AWFXpPNRf6$L0J^nTqN3FHk{LXVsyxUOKM zz}l+jSKifN5rLR&3Nw%nWwHT!{g=p##;F&~;h8fZhQWHKcu~8@-qY4Cls^QA2cpMP z^rd$NfBVht(|_|*n3^>A9-h5;6Qupa$wiJ!lDNApzXMC;y`94?UWW#zvZ<58S3vkO zb;S@jQtd~LNTryu$>OOD1+!_1;qWQ^jBGVO0ZQieW5^msFY;A3=!nB&2$mK+Dj*_) z_rie}$-OCr1e2lzhE6`BWmWICknSBZPhfB0U>lEb`70yApT)k=cMzON>~T!(R@hQKNRaHtqWL1feAC~5LlzL1X#rrK@)5U z^#V(%Xt3(9_vbkkL925i@_@8y^1HgjDhz-UO&j~Tvb;h?6WDXe9%uf<>}T-*d9pF& zCoHe@dY~7kS6i@bZTwUZgO11vqlVwgl#1$8Q6n?hgyi`b(VypUSZdp?3Ngh#ot4dB zRzhzxDG|o+RSRVqXr34zHH7;kR_lJVs+^L9>~H(p&}|gLA{I!46&h$tc^-6HVs#u-6%3;fcQipr*-BZXI^!U&);WC?mI{b~%-?pq;^e|9>?HtUA|f)4y9787qy9y`wa_skkUJ zph27udaAcf(Ph}_jjNVuhh8znsXR1>Oj$Akp1?{dr#y%Mjg;H^c8;I$Ge6s+V8r|@ zCMcs_YgLN+uEF>W39|U(dfzYUHT?3{EB~+mQLEFw9J4Tu_fw-*`64UXOh^#!`Y-^B zbAdLv_|Q;&yTvfc_LTlY|5jt|u2e@-`5Bt&Ki*Jgj$_JSe@uTZ-kdQ_c8ZegX;$&g z5i!n<;-V!5KTCiW*no#DG$RU(k11ulxQ*#!<`kr?m|m8C{DED#(9X)O z`&5?5-CN`Pi?kCFv;E08fc8P+?@ZhG3jZ9m{le$cm3jL#;wNTgZ-;v88|vY69Z&{v z9+k8DpT#7iYYubm1rq9~4mC{ERc0~pTQ3Gkh{4#n9m7nc^oySgT-s-HuK}V{2qtU- zTmm&;r`-cjsNP)%{_>XqEb}--QI1!OF!Dt1nIzzk(0zwjmck&gcU*F3Ne95<0D?SL zulxx>`nLM992SYNI{3^GQN0Cb%>rh`cWlsJS{y-cD8*r5+=^^-Y+mYbZe(7^CI-c3 zQ@H+NRA*=LBi8C>wHj6=r-5@}Z(Tq&skKoDdbzb%;fHCwQ8uly8o;*$ubg;N)L#{aF%XytX?6jMbj!Df4C^2CmNt zkkMr(XkgxVu zrkGQf`dKb>lBQ+XowpeKRhRdf#{5=vpx_E!YALTL`g}MBvYTC}*ZiWFlTz+3#VFm$ zpk3Fu_sXA4QofKycC?7jaFd?cxFmS z=E%7I0#{BEqZoXRWW$|}YfLQj=e7M>=#Fh6Nsi^!@Xwc=qD=iB9EbU^RgfVR8>lHRb3n9}+0Yi6^~ zfdvj_s-GQqSO^eie`OA(YaR3+=AgXS{weK(Xlx+AmV2=9^69=I*7>C*sl| ziH>FSo(^a~s60Fa`=9}Bw4?MQ`yIm_7zf}I*Qmg|W1X-6R1OUV9x9O&%t6(s#S>>x zB<}^&J^e#FxssyTw@{-D$%Z?;4@juh+t4oMBB4VjvF26Iusgl}jFlb9jJFsMeXB1I z#5Z&MsTVt&`667>n7cS-V@G98A4r!0p%(PlaKaa45h?{Ls{JPy3Q}#C#Xw%XgghSs zI`9eSaWmm`aoDuqli=%5zj#Ke1GFItfb;|OJQp8I@MxjpdV7+D?Vf?7>!`5pmCDZF{ zObpZ2e51z5b1B9s?Ss-6m6E--J>{&#ykl0*{un2^Xf4!J()bLxUkrWZ{=>!J{%(+Z zhvTIq-*SeSUpAVzm5F!Q<^B3Gy&BlparVlQ7rOU}-eb0Qy!std*D+2ucwIyQ z=Q_Zku*f?K-hL<#wpFKMN}IfvWzvKzA4psh)`>bJ7g9w+@7vahx}V;WwOZS`e24j>A=5|cy{{=s2Bkk|1fBRU8 zf|$Y%!=zO)Y5!FVKGt}nMtAE6wmITPDk&|vue3Mv<{x;2C zW17oZeg!J?E8rZq=;o_s^b;lb~^-!Ge>(8>jfp~Vq-4%|- z-7gk<>(Rlu_u2cY2KygBR_||R|FK2-Ys|CO@en~kcy%m@jfBq4-*}~ z6Wf;}O61Ao+YwT{-tdVFB#?n}@3zZ_mnDMT`migvQMKZa$Ay2}6f(yvPF(|JZ($f+ zSS@`M<2j#&vDn`Ay#B8+DJ7yYIltAc`{@MxV?^**dFjC$MzPy8{O?vGm`@PgSGwtU z;F@!wC-@;z1-pnbh}QoJhUMY6g}W*U7YES!L;TI|xwiJ~FW0R5EBcR$jt}j*e7V;0 z2G#z7FQNZoXjxCz6$nyXfnk0hlkgr>EVi&(R|+wYM@^>Fx|(cuaIu->@I0|@nEK1j zqnY|B!Yoi99+TJ$u$h8VIXFs;2xNrtl+FHxc?clXyb^QbkItBEB(A|NNk98} znqs$K%c+tU!;z!NNVwtr;RG)3%$u5Cqm_ajKl6&c(^V#DwrmtSg}5hE1}v$ zEciAG^%E~k3LP7QVMuoaOCnZMdWrvz3Q??9VktahUKP$eU?LEHfm5CXT@7~@hjb<5RAl}^%dzvk-%h6bgfQA@Gv&p^m({9}v~UOUV3k%yc2<-Ys?3=S z?)8`mY=dv#dT9~SNcL^EvApK^kAJYknY^p&Mm@h9yvHJQqUUp3Ds!Zy#Gmoah05T9 zmb%NwT1L2z7?y^F^#u&-RcD=7ptcTLw<74K4ZaJVL8~L&a_)%WK+01G3oc7Z!11*p z$OlUY6Nyo}SW0jpRh(vvQ+>7%zX0kd=J3tWsh*GNi^x@ULds}Qz1LlpfhBwv!4!~) zEqnOtCW_g$+IShT`ib+KoENK$vj0n@+N7HkTVOfJ+0g=zqoghBZXi_KbAj^RW-C*` zaa&E~PE=?HBTdjyxMHmhR>t>lg`~Pe2a)XFo6<7R?*0{_vS~NH`=_4_+$^0{d>Tis zUIDS_HFN(Kg@7Q!1W68hOOEtNk7BhB%;E50*r)AS*Ogj%iO0X~WA2=#n?bSQ8}nP5 zqvpqt{#I9~ZRhWnHCWBM8}|sW5poS-T=VAv^lV6HaZix&E@TQuQ!<{e-4xOtgcJ^B zs>V`+p7^N0s)UsvCUhOJPi=wUtn91rc|R-C>MDr}`Tcl)_M&52(m7=J*bt{gIlUt) zDmLmBNr%SdpR98o%@K}&?BOu#-@4OFwm6G2dTFWZZIro&;_o=WK3^;tk>CkYb@$#| ze9krXnsFcn`{$g^SCDVh+NqyUDriUJQsN12Gv7|Ym%FmCT^h{ORs z3F%zN%Pu1tA(&exJ=TBN+VeA(wrxP4X_BZkTr;2k0$-+?O>oWA>5sOX2jN2{!S8&l zL0%WlYr)K_`x)Thh5NF#EMzlHcBt?5f@S+;fAuH2pq#+?NZ#8>Z|n`Hj1d)YA>r5S zT~lacex2#!UEB2~`d+M?3ury_g;(aT5q6nWPtfAOzaItFBNYdD$~dmx&Cd0K=eaoW zZILEGk`(;Ym=DVtYVA~!|BYn~5I?UF2R{0UC(w5=ZDT2dzNFoR98KUGwIV5Hg@jt< z{f_nS4o6h+F4XscDPs{8ulZ|!1mDCT=quymZ*rHLtqwa8f`r2migD zuuJ%a{%_P8v-=AU!vH-Q)e$$_DucD7Qjze;oKDl{L7f#9wc>{Dd2dU@;#N^{s&K*} zOqJ*R?<}d>Ky=8q%2Gk@m&ST}`y?YOP7MX0K6&$>p3DU?f0j+Ey&>g++2@IHT_U6m z6z4nJJ5bN%7}Kno(G|O_h8+#>Uwx48b!WwY5fiAkipkGiP-oNmHyCmAUad2(7w`vf zJe)nL28m-fv~BiKCneOl!t{rE*FiV!*eo5e(?OVrrQ1fG4G*6Zk;b;Jup~mW2**xc zyL&%;{AbaY`ku_S`|x5-Tk0n3WvU5=3yWxoNwyq9+Q(`#aDq}MkWuE|bHFZat((%c zV>qPFO&y1s-;D~?y;^fjTt(dAcSLeqEZ`3X!h)A3PeRvlF(nqz<_QuMtk}P1hd&iz zwjM`d@W+&&(3mCK1tlm*Us0+K_i7k6ziR6SKc^2iUa8%F*2dD#SGAs9oBzFXbxe}FZ6%s$1Y$_ z+b|oyA6dOGoVsUReLCJ#CH}xoL=bhIaKg^pdee>^2RtJ9ysn)?F|E1m*vuU`zh$^CMQGf;@ ziW2yRlEQekJ!`aK`H_YA_WgWFgY76?=O(}6W^eZWIo}|p9p-rJxMUsOT8R1DdX;F~ zaOcRcqK#Wk-fcR75S!G^6EU()k)e|WL- zbmYo@@y=f&OyOw^ZM|#XFfZ1%c{1gcWXmx~T`QOvcV(h_ocN3?^*u%%6Q&YX z&=r-{w!pBZmJEe;6jl@yo>SnAvh6F5D^c6jS4gDXmDK_xIi}d++%Bq04sF>1E|$!n*(;Q%%18 z9t`=}VnjybjWkqH#U~yo{ z7WYZNt0XZ-(PT1rYot~e6~@r>6TAq$1HyN`xa%1L66sEZm!SO1 z?;pI*1$daaf{!k-WKtWh3U)U?)l>rNcV8G~M}@z2mN4v`OO!E31wP<={uU=#EJv&~ zS;Hh7j>Am(SQ5?_eUDZWgYPLb2#!Or+{ji^Zfmf z23+Fw@e{bs;0wmHHZLl}>T@blsh!O;oMIg4yoigP1;&faT}w4Jv!$VBb>i|OUbCc5 z@CE;TL2&%38%H*tQ{AENGYlP*i0wwZk`G#TzGDS<^DWcNLqA5l*}qbdVT9QK=H3wC z8QL0P;})?}zJ9_&AxK*{&e&9IBR^;##x%#jkBfi7mR1i4Ows)GQ(9k&4$N2*!F<+i+psf;!uUw)?)l6Gc+gVD74JXv6+2q;^W9}i7`QSq z=>iJ-iiVe>weFIxlQ@Kj6w7yuZ~0awLaNQ;uIta>EPfMt>3Bamx5v!ojVgR0_a9M7 z(vAhMD12CHgbbC8UxN53{M$$*S*yuw0KnzsYhdFLhIr3I5{egP}PUwE60g9H;8iAh0rkB7Kx9Ig>$h@ zuKv%kx{qD^Tsw=`o+k{4+nXqtDxVZ&c8Arzc9ddZJ`am(+hnqT-gdM^R(r8@Am-pl zs>vaK^%=I!uPFK@<;1x82ce@&dEk2cKc7UO>hk-O1=*9wz)NTGJaf|EqKoR9Z^PY_ zVzYb7O9+D7ht@vXCi5GG5Y^4a0Q*?`Ly-oi9+rXEZb)5~X_78hB>Uo(4gvaDK| zpa0l>cz0>HTg)j32(5TK#ra=of^CLD;BuYkkM6P*w+}T`ZIpLZyN1Lxzr|Z*bdJu5 z2c&Fz=&){1jI~5#HV3hXhu9gyVq4Bsq4hjRkMF8^ap>G`g(yb{X#=0Duowh^j=*>u z`P!BjL}8cWmqm-Qk_|Rw*dX+}a=enUUGFgqHh+4R7$bhIg>KjSyc=M6BMw;JCt($5 z3mR|Rh#-AiCp({Jk@mt%PrY!q>#x1qgYP@D#3DW!mSqG=WU(^tU!0(br#cdW!n=wp08Wx@k+Yo;U zy1Ipuw#U@}YkNKbdD~*oYbA=C+|m`7T;1T>jQPYWrJMj~s}}OonL-s)ql+<~gm^kw z@a)z)G)L=%|0Y<}`Pl(0c)Wvah|6pFW4DKzG1B-#0fi69HeI{Gq4DP2i0a-MBld?U zI?2$VZp$1KaAb=Rp;?buR9RH89?aMHfXO%T^n;3I}Fx&=TW|VGqL=6>itg1 z^36ucXU&U=Rf2Ku?usc!3I9~c$1)R`G*2US{4hzQ_^f#Xe`9O~zzMwxR$b%$u(s>} zYHg}1nrSAK>FSlM)e&f|+lO+OmH)v^V=wC3^5rhAz2qLrbK1|_SVc_VF$Hx=Wi(LIY}_gNP;Sp$#wV9?TMgl4Tav7Wn1mFBJzw>uA$i2%<~ti9zJjohpLPqDwjXMk zH)~?Bn;0iztE;F7v1Y%A8FykFIe?m^unq8dzSY=bxUtnV4Pf>8qR0MY*DX0+4dMjG z{1>w%h8^pJ>f6qCZsr6)Vw&F##VFY(h7q1cwyb`N1J;U)iGvWiRVh6(_AI_HphR6>8G|VW5hzrLc5`=`(Aj83Cgyg-ms22dGh?HhP2xj#k#4g%ho)!nfd*izDr-% zYe+1)mHL0X(79Mc#uh^{nr+YrosQvgFfGV0l&}1ljfM=QLN3HEiF%v$n3Uomm3`Fu z2!9e{23G!{XJ681%X}z0>|H4jefu*r*O#~;V8|1TCN>MJZd}NU>TOlIIY`+Rw(^u8 zyK`!AIir{&J%B9@cWWC&KZuD_L5SIMz_s}md(hw#1$I4Y6T&4V@y|&Vl=?90M1@M0 z=ceIU9V=0s#9{mRVGN^OL`j0LGJloGG_%F46dyewtwS)8?kDm=PjtYdn!uaEMx3I= zA49krC!wNOr@AN@?|{@nM2YVz)as0-YKKb!DVwJMiskm#M_++MPONVFi%6oEd2$;* zqgki)!eZSsM0pDndWs3o@Cp4C`5#hj7VZ`w@7S2>y2dx8UduO)=tk`~URJ=pZY|?7 zAL9|UC7iB|CW%C|1TBgZXhp$4of1~nb~2RvZ#*HqfEUU+78u$GxPQsJ+=Qd+bk#7vh-Mr0PyLdXt?5lKhuF@ zc&pEi?ytPU_Qq5TEoB#y!?s`NcdU>1;BRjHIv&}9Ca5iJ?y(Ybw#^#G^7uHMzlyql zNc35$Szq^P?<|~`o%c~Tp{X=x6TytdJxcWrc%@p^@QSt9*}^eQfUIfkXki|sXQ;1Vw6^)&=gJ|1Z*4(vM~7F*Fuf__K(P6X*tZrI63u(^MLP(z(95wIU4;AQ z?B#SUrbqP=InF~}5@|$hw{J z&a?h-+9kN#=-OU3bb_X%HtLgfHrZs*rxLe6Jf#T}#Cy4tc)Iiuxe!PX?0|Iyd;3=H z){#d*;NF~I_}KYGIXNd07Pk#%sOckeC={_4&tF2-RGcg*P6+|>mw@)hF=Pn^&WE%4 z-%ADuyiitry5kpjOD&{0*;T5W%s2vI-NMM*UUKQ4CGl@LEH>YXpmg{AG;N4dG#rf!s?Obm3T}f1)kve9h7f?H3XDS;33Ac+|Xv$4XjHPx!z!r)IcLq1;Kf#;ZUn&rAI>^rTmh)gyzV z74T87Fm1hcvo`T3aW=F50tC;xYUP-R`IC}JwK^gcF zgmtZUce)OR77nRqPi!el=#p#iv6Xkkf_p!8wIe@ouqua*mL@O*GtyTa+tsdP_x8{F z33B`HQ7OH>tBERK!}2JZuX7<|0>bvpk@rxn2k;b19qybQclDrnu64euy-GQZa$ZvdZfjv%{zDv4z*x8;Ge>5&6y?&WpJ>q(-=ot3GN~ih~WG zZJC_*ci{**fDEPkV#v&TVk=7KO|X2)($bLu4gc$&I;vHK9|=Xv*J)s})|IizRox{% z7}mo-bvSa@-2~lkdh|gJJLUkqW}lwA^_q0*NB7jTy&~0AhVIY8?^+_{VzsaWdmciK zn7uV~6F+T2yz15oqKTTx~RzZmyPnNMO8nrECs4E_Tg)Pm{%Gx+Yf_XdC+d z7#m?lHi_5rL9Jw%r_gF3A=J>fK)AdTv{ti9TPbN}5~`K~g#Spn()?HZUNfN()0axa z7Rwv5sX(fqNbmVl=};^%>@qmFZJ#D8ohR??ruv|_`ck%vhj=ASQfABoB!fr!pDcs0 z^gNmC#I#9@I8L((8?=EuYk^3UW+8Yp(#Fo2_{m)1+M)mg6D`eX7p)R<^$FvPFP6jw z;TbnthJ`rsYHVX3AMnKPuA*${4x_eVN;3yfw_wieKF7g}e-ElujHmI0?b-S;!&%o8 z+=~%L%nK&W%yWCY;PQt9lTNLQ9xaDg1Xg=V$J(L7Z&U?QA8Q+ivLMM@>Jz&(i5G5A5P+76 z_b0>pLz@U5Ph0LXs64*cru#l3ZeUCk_g8TH+2`cXmwAk8QMK6w-_dYr3L5HxP8!*2 z`00F>4_vVYg<=#LO$-*zoQ=ZBK&Z#T7(E1RA;r+&9tbSyHoN+v)m}jpR~-sK(l9j7 z8^OkWc60f-G)?$5P5guYw@#1OH&#M_Jo7BdIr|C!RO!7e$ZtaDD$a`c_;q?<#Ml8n z{O*gy=R|U6-KB9m^IP>%fb3Lp`*0RZM>?w{oNEw-?BpjhegE>O<;kME4gRAIAJ}A` zzBNegTCuniHB@I6T=|G`xJkZ4E&PvET3wc0{YGs@LuIPOy+vPenrMR0A$*ejPcD4yt8B>cxry`U`5MF{Azf(rYE4qQ&ysJk>$v^sTykmC zz34bj1?SaATiHvtI$IevFxFddJj;6roUlxs2GAGTtdnjnV z!TLO@Hh32M&~7u1tsQXroSjxB#aD!iOB{VYYR4q~kk52PYEYyp!0e-7G*>iE%gC{r ze8R5N*QrLFSr`6HvB7eDZ-*K^E)0)YG9~P!_9t@Fd!;llC~R@PGV*P>e-G=2N0pSz z9^=^8!9u%FZP}P!fq;@0&CMVxrG2R?@>wq+L@u;5_~{v`QW}B+T68CnL?8o!HJHfJsJp0)rR3P35*I^*mGWg$0$Uvz1fIyku{ zA#|5TtnKu&-3nK@(n{dO%%t0%C(IwlCr|%gNHPPDjw|z5;fV2)WnmO`C11DMCF{0t zdtsC8dXsFEfE>mV`mWRM7xoBs`2BUFy}5oY6VKwKEC*w0f%UW12>M+S8`nB@D-{aR zGa3dtMD=MK9i6XG3qUJ`y_B6dNG&V?x+jGFi`pHRo3r0o!hymS85^d_26~BBq$+CH2 z-AG=gR57DF@gJbeMG$AuOl#D%iwF5;>lfSFn0`xPg^;l|;VOrnGXp!H3iZ&iq1-o2 z<@0hY$)4Ox_wwLvhZ?cPS_0V!-ANA81Dx)o(sX%;diA#9q~C7L1Wo=-tG_jozE}k} z#-V+nC%*zM`l~v4kk9E|2J$SeH}M5WuE(q^ZMrvp3=-p(hu2_r6rTw$fF#5@ldZqm zNZeLC%AGj=0UIUlm_zLMl}81iZDR%)j!9`I#!V7=kP;1=)Nb3L3Y+rxz#%=ymu6p5#&mUd8ak6~UwDiv zl)fB-v`6lFofJT&AAocuc(A;ljfA%2?uG3VN)`;@191}N_wwJs_Ak*6CBCs8X%btP2PyMCJD%>LgX~J3~VH&Jcrz8LK`sRIx9zqr>j-JtU-*4-R zGW!cXF(o?RrrHE86#b~kJWHjY5rX4h(i)3KnW%%_4x&8Fvho4^^ zUTd5JQND8lXO>BT>xm+qfLOFng(Qqbeq7!;g}Xbq=$~qaP18+RZo-E--{UAeiDY`E zxEb_Dep!5mW(uwYX0f+7=o<&KX#s?2GxT;)8{2${&j``1nyUv)6;qAXfsXs8F9SkHg{M+hJRWkj*iQ*~{E^`IY zXW>l-GK0x$IE9<HnHF1`vNQumOFg{Z+CVJGtXS0(8^GtZoxVZddnX0Jy~%DLC?x zE9B#W`j8@=Nbt6;cA!+ryhc{4amU$n%v#%jXOJIerDhJZAOoUL1qa3+Tue zrDJ@NwNbCh3UPNjQ0`|Q=3}nsLR}4dcx>%R9J-Hsbl$Ez|BknwBrjYiwz)5kgdYbF zZ2Jy*-Y43p@Zli*kj;i?_}mRGxm<*o#MKn?8MkU+UrP_z4fD$N$-l;vg9FQ21og_b zo+NODu9ihzVYElDr`PcNKOt8tA?)aReK4owd9_6$iyH7n(S|`=Qj|Jb@sl@#iH>9x ze_(oGe8XvY;?}R^Twbz(JsqxsZ%@C876QH=BHJwNK-!5A;&z@qY^ZtI}JmXgSm16lyyZmlY<(D^+6BGy0fRm1MN(t|vJ=8*)*lXh7Q!Xc;#}u4De?T3+a2QloAmcxF zS487gSHic2wm*%!pteO>j3$Q1!q0G*#zxGyaW7-<9|zg)Sv2=z$jj)0SUqTyPuOD2 zfO%dlE=fmN>sH80t*d*Wn34_7(S4$+y}EuCMfxJfVOJr4-9;Bda`ukokaq!pxi+-u zdTz`o-rXHPDyC;@RI?V9|ZG4dJ zda>knCcR=8IyS#G$-ejmeVp3WAhzJAgScY)JEbNo54!M&D?*i?(y;G?Nt1jS^o-q% zlfQ-(g`Z{f$?d&XDTA*!q47!T&u!o=5oq6QZwqllM=I?H9d**-+$7K_ovTplok?*R zZW6p8>7@+Gm-#u}J{ZrRGO{uD5CeznLref`w!X;|&obha`Zn6eogjU_!{uqtCXDi} z@T&1-2rEkTq=&;H|`<=b_VT+eS3GgZ975d$TjUcWU7^^0(!Oqdju0cJmzKBuiCn! zEmDkXUBC0KHNFe=;aa zxt8}7{tq-=<+f@EC_1VST93Qmd0$XnCgQ&(jOD#BIcv^CPl5Ely-N=k_&$>LZFSAG zz*eQ7+gQoC+lnVH+~(7pmhffLJ;JAhDz%i$JcGoY+ZN&TwAX?gyT5gKnxSGr zgLj%^UAcU4$P2W^fAe77P1M<0Qh#oo$Fd|AI=YKBTV)6(Ec`_TVNx$wk_3e)F5KRX z?!1V}+SZk-A+`_Im5&VBMuHRX<6LzTS)Y9f^EIGL3Mt1zhoBI)6BB(9hiuDGI90KA zx#Lhv;M~4bI_t=_ET246+TQjIbQ|))p9H8d7Ltcb@m4Hl_a87M3@tHkn9_KqFl8H> zSxZNN`A-x9W?(!@G21(ugno4JPYt^?{0-5!$Y5Gj$fH3Z(E(MgsfrsSdGb7HXk8=y z!ga{j#G_qvvfHQgZ*AyRR2@IJeNP*Ic{5`cfsgyIjghL53X&vO)fu+ndpFoK)&-JD z(eXWcwx@A8E?CcOIv6AgtuW5V{gAYhpsW|5*Y%Eu^Y zODTdt+1@hBtNcjgXh(5mMDrbz6R{;?B;%lLLyt`r7e8UpxMOZrnbSM|{8@9ZrB%}y z+oU*oO_Jcp|FM}W3sBp0o9a6fQzD#5G3qzIM1?pIpCBj1tK}bi*bfb$v*l>(rQ5la*AX;@@s0U&d^P?_z81)pTyKhw$%98Uo zD;~=sDjg^3?SWq}xSMa|F8r)4l*`rbhPvai@)AV>^rs8v!!MIq`yO$Gz3wj#w`9U_ z^FR4x6Uk?lLh|4>6eKK!X+j$^vE}LQQ`2cFa%%?1t^_jxj1WiyRPqJZ5#?>M5#pE$ zO7J}W{Lcz@HYxUsdCrF7X_W3Jpvwwy-P&$^*G)K$C|g`Yu_j<5HFBq7dOj8`y>VFB zeVj#HXAm(T;n^McZ{Nn~Ke;_-20A{wp5}S}hpIOUJ?cd)vQRhjFE&S;J#VST1@qH(0UUT6;fojLu? zhAcnxej2*IQIq4G$Y0U58lVrZHgQE7h-|LLu+Y$eO_s z5i>FSS$u6f9V8n+j11=qX9+zbnZ&tsM4T9%a|fJ6&QHBq7MK@U;=5JfL<@+|gNJf~ zYSP0>1BU+w&GZ+2<1X4JIVh1A?TTD=v!C=uQ<-GWPdyV8g>Ytr6@)f;7H%C!^b7pG zz3#JbSEQJPsIu`{!Kx_TWMt~u#OaP_FY2+F2>kTH(SHy&b^>KSI2>13XJ->&ik)>& z0&>x=o0@8`(C`I}rCSI_wl)2i?V$8x(K=&^2zv!LfC_zcIAm!(9H^VQyM4=*@zoFx|HG4ExP5s$^q4&ts-&oAN5yns~%Kl6j0LdRHzfe6U#LXY|{@4x&>2Kf*Nb z3Ka_}+TD`vC1LUQrZApWTMqL;Z>L1n0jEH7|F;8FzXvR!M<0d~D6sW(9w-MxQ_sBP zdApIZYN3-mV^1Hjruo5V-`0i~L#p_VMSezFP@0pxZRxr}J?tWyBR}|P!!$gM1;o3+^4Z->NS8qDY zIHufYeQY9aSw|0_0VbD_350y) zXMg;{@uVd(nxN(n*HAB3bn_T+0x!%ry4^J9y85@q75MlHLPBEzofoM1Gev(L6h8VN zT#WE9-YFTXNDm=m2NCVtkCPLK@LLuLi{tJew|x^Ph&|>E4ojas8zJ z)kA|Qi}IUVI;6cFi{)JMkBI`w?f>KHE!?7xw(sE?x&`SjX$b)di2)>~5v5y7q`PM5 zE+qvCC8Y(FX6TldhM~K27>1dbd++!6KF>V!2b{A%d+)W*+G_^|^#?q^776pAhkkm) zw0-Dj2#9%l;`?;L#|rqcMK^-pd8OUW%{oMe4JRa0+6OU^oFl;(%0P4@54->+p-wn?dq{|oXBem*84p=p7vR>Y|p}f?iB;? zD^T!%{bXb&kd~cw!M#*5tK7%=?dsSjtC}1hH|p`kP#}f%j3A{1t=i7B>Qk+fA#=)g z5waPp&}%)F9v9?xHZ&lU^2zWsr^l71L(AKLZOtPl1t|4LM-jh(yX7_K7awE^m8U;g z`?9JAT{Bo#J06#y!@`u7-d`G%9$epmxt#RAX4J*aX_x~A42K^}Yif|pcYx|g(50tc zt4ilA(@^?;|C6}O2*&nb;F&f~W5O(E_{jj5fu!+?Rg5R?y=Q4dx}Wid?NEthx3m}( z&u)Yxj1yEs*gmu@Sq$Mv4FxT7CLLb|FY_QveMs$uW9t?TLzZbE1(8b|PmsAR;vl~8 z%sI4BDDC&pVL`woDXsfjSyTDDc-% zvwBIYQR5!-{Z+(H<|~vp{%Ykz{@Ug%WU18j$hiRkGZaNL)WF#B1J&5HkR{VEd>)5D zn{L7qP*sbN{G$!cFMRip`nG>aim74P&i9u){xygBoiHAc{13?dJ7c;X?(+;>52|1r z(l;MmX&pZw?DnoHEnj7BGu_@+oFL;>Ixp*KFy8PO8qA)iG6Mm{ir8sFV@rzoX?Xbf zj*bLDZRr-i2(_`3dtdWOuDYe$V+d?j39guH5OOYLRR53jpkKo74%KD`?`KKlcrB}) z+50lLE&y0Ihe=*0#9alzf8UBh0(eS;ZInLwhfm6dMo9^xYkE*7`=Ym;O9B2Aa5wkn z_nz~$TVj-x$A$A8h1o#r18bQ7e5sMq7W8h$4x@lUrXKOTAYdl@= zR9c6L(4M01629}`$V4~XIP~7?>5xn7{0kbCXV~BSkaY9OK+@5(o`86W?qY&|BGm#QK{Bu_arw%be7RVR>k62Z%B%$~3T)~P6;QVPwgB2*c zXOSUC{9Q%ip3+un#K_KPF`Pc&8R-`d+<_N|X|Ebm8~G;*4S$wSTSvLLxiWTZ6V~gR zI=0Xbm; z6L@;f+g6GERun&4eG&4gdZ99~dBK1hJ5N6TZp3kK>WSnZQa^+hzpz@ZL*F-Y-aBIM zxpy15^y*M2Uq*tL-4C+BRu9me^BO|em#BNN*@(aHL;eZh+y?W~(I}p@;9Vyq z{-2GeNj#1ex$0L?N$u26k>jqe zBBSZsD&F6%0EtJtiANuLk&CT3-5$-BN~d6%g3g@+Po8oK;i;wBg?&@YKieyw%l5aa z7LCUO^#4fKR|Taz1fqTkdRAegY2VFBE-j7)>%)%dE8)sEjX(@}*HhbQJ8Yj|`=KHDi`Nd`{%05dkWiO&aKRfYYv?Y7tHUa@4j*UjLlW4n6u5ngmH$hX6SdyGv`z2n=Ibk z%to|a&BdfuF3oE;a0P6y?!#TTf;~CZY25zIAVHS)Wo7UP#Q8p%qI}|@2sjY96{e8! zIW;3GN_fNimmtI??b6F^v3iDj6M6^V9l*&y-o6HB*+3XM$Y)lDS&<{0`Cb%=mY6mW+aO{SiWoz0yERzgnde!IJl z3Mb)jhzVw%0TX(x`qte#A0C2VVld3vZ@qK97i`JdU!=rT-6wU~z7@Y7_j%l2A9C#P z8y75sV@WgehXTEDDsM_xLZX#+KzkvU7k{J_J#0C~Qkg=Jq*2}Au;lt{hF?3(mGk@c z+fPoQymwW+O+`frbK|Vi9M$%VQ?}F^oRq z93eZ-BsHcqB|?3Rhj_hl7qi>b8MmiL)Y5HbTv((Y81|N^2@dASo6dO(*>P8$P>8t$ zorC!6AP`G`gX#N9|9{|jDPR9#Tl{4kT^nV)m5&p%n-4lrA>z+NAR2kPirKmRYo>{# z{u-^l8q)${($FtNFj&RVr*Hh)%qRLi_eqmxiF`<`eJOe&1V{1fU(V#qh|rvkTjz4) zD=mJF8ob}A#=S{A8&K z(PIi@0b2y?6Ls~ec&GV^a9}xJhbHx2KeSoi?ax`lIW>icQV>_6I31eqm^`R0BG&O9 zqE1?aCj-u@{kq*c)-oa6hh8=VJ%5P%OhCk`vU!+NoL7| zQdq9wec!`j>IORd0R83p)-3iE?q3=7$w@U>a;<|QWzLk6vL@{(Q=}p;Lk9Lx8z7`$ zaH+JY$5oFy@Dn%s>AKtKtl(u6IGE+KTspZYv530*x*BsOjZJ8aO-^dSth24#wDmg< zg^+v_k?6G>chu5OBzKsx4@kqwC93)EzJ5`cIxk>T*ycM0k*J&YX0xjlOuN?XR8?oP zDRH@qHAiFfTNOR+*~y{S;imy?ymG}rfo#@pf<{Tbtj(L~QM|Qu@EuHA>P@?7EiKp9 z2+3l}wP$iH;bJM3=EDt6qR(9cWzSY39!V)J`GGu{@;W64h<%q`!v0PVXjmgL6G$Al zs`eSl*%CKQYo++%m`09==suztZ7c_+6{b^N{9LQvmd3|8&k@oh(da2?QztNQsW-=E z{MGxG5a{>F3*-{zm$cK5k|e5{VBNj^vJ0cDW7n(KzfG?uAHTq?J@p=gpZI>R7}4YU z10zJWjP(8CE(V@1D|vmJk7g&x$AXBzbmb2b=!G>xG`7f$plv9b&vy#W#?8Ox%-*8) zIp%4VTP6o$f-#UL{eRxVgL4sLA5w+A^xBl}Z{bxke+A5%i9pb@hiE!+czzig>il4` z;@fMT#I!twxXsgPXOl^XaloAlNGW~Kr8?{gJDH#_V6S}%V|I=w6KljP(1UWHrd_Ig zjt|l5S?JY<2l93qu=aiKIy!g`%^fl_fL3nvml`5QC`Lp_<31n3*a@TfH!D$ zfjcjjkb+KJ_K^O&5yV!>L;s4x!Kmiu_wPbGQF7$pHfd#uFk zms(#Xe>Nl7O^5h2|LmWmt6!JakICob3Nrkbyqdj~hTGc8I>rdLi3R%le?Oy3#0QJR zq}5W{aSIEZ<@IHrEV}7(6iPHR(X(!|{*=SJPzsN*PrG<-0T@&%U|?0o!ST$nPF;TX z*fs%T`+bgxP0FrqHZBt*zrod_I}&k<{M*SaZ>p0#>1x_xy^s_Ov zl=ADRESWqg0)ifl#mO>s-Bh6Wy=zI zUkJ}{+cfSN2B52NKx;JwV>s)yD5gQ;14sp2!n|D`%}m}fKQ4-f4BtREnV(t?XrB!i zJ4=wsr+a&@i*sy|j86bT-sRNNXQRc_6QD6GUWg^Aj2Vj3(1zq>(*F9&^zmL&Dh{h9iV>f6Yy~T6I zSCuzgiCV%?r6SWWq-i`rzen~jOVFctij%G(*r?;&Q2H5&g;~8>UX2wB68(S<3bmj{ zftk*69$=IxQe%us(6)lC+*xT_r&9l5`PBA5A!yPg|SHXVPG0j!V-)CQv2 zng0gXNo>z2Ot3K$9F~1L#VZq^qerpu>@vW38l1u5-0h2%3at_+9*LqNs}B z*-{eCbK>M&vT=yukbV-#XqZvd+ozYQd&%c$JizJ5*1V@fiAa;w>&Q4)z&scy4&UVEWtZ!wW94haziJy0b4(j9^VAp6`S%)i@stG6@1T%#)XdSd7e>`SRjVByjJ=oFr`%GCr#E zR|^yk?(+pNyjlQQN+e_I^cYgxWUnGhsO4FP+)u9kd&VG}@^Rc{@1LeOH1Dg786{#D zpCr>`&}GFr_Zc_)Vft;-97>yp1Xbbycz+=4$0px2g%RsOll{EX@5{p&00Nb$mXaW_qi4IPQ&bI){}# zNP${N+8qhsoe`4w`o|e>Ce+FmeJLu1 zqE15-AQ=-6XU%?32ogYV8H8SUmI>W_`dkuz!s$Y*@uz=dsC9_WN+>}~T*A)VKXe(d zd=0aV`uG0)2z~*!q6hN(7S|bqtN|70<)`q*m&N!X6nnf)&XK^)lEcqaZFnp1AywSf z&;EXGL(4|J@NBszaoy)UNBS>-JiYf%-fz#V>lg)xw}q8U{YIuz?uZ@)9PznI- z0V+ioL}~VIH0DcQ#w=ZxtJ0zfZIEPPcY;uB(21x?JV)@+O=hsR){_)##dT!K6W&m}q$8mh)bJ3CmAN?Hfmhl>dfkwgq z(*k5j?GjJ!e^?^F<~twX>o4ojT&X>AF;gM84OYK{{#jApcBlg!@Qp&dGlJIwkX+QC z>=yKycHyl+itc4^893uVNUkCR5hQth>AcCf{$xwQ5q*is-*)B+FltLX9T|WcIb6bK z4gCnvzddJu3JqV{K5aI;hmbGMQ6u*EkKi={=faWb4Fy=*nDZPoGp(xi+I!T!oS)KL zO;*z${OoLMVmp^4S4IZ3diOH^zK8S{5|b(({`rC&4i_1|)b70CD!LCOl?nN!Z(EmC z>L}0qsIeNx?DHtfD%pwlALMuv#G_Jq8N!n#Ec3O_?46;S+4@r8L*ZMsbdamSH~<85 z^_P3!(*6`iM9s=-?KP!|*a1$`@_#E1X_qtgFM{TH)JW!LVj5Cj(OJ-O{{1?$c8YCN z_h%gUk1xU&PmKLFuxT(U=p{FW4$oR0TTSxd0GHd45G=X78pX1E=@h>wa8k+PDY_UK zZgQGyLmiY92R_2A54;a5^R;VgktF)6T}`OQmtxaH{`U1J{c8E^bMJyea(6nI*Dwi< z?p2cBNZcg_{<%o7os*kLUikgnTc&J?4c*809E~CQMZ#GIktXG3n8&YlEXxS@LPYA{ zH2>_e{b6iy{I0%fVb3>5?f$~;BO~gk|Nd*(P+&zKrw2ek#w>V5&mK_*tzKZL82jYrOtxh zMUr!Jf~579gwMhdeL+L5TQ6+!w1~l`z@%urADVc9SL)t~!Sw(Gw=3mvHijGyOWI7& z_b|x@mf5?A&lWYFh&*7RrYj*fvdr2mZKU^~N+V`OH!Y3F%bhy*$4cH_mB33wyYu10 zt+V%v&P?_0t61Hy%zyDt5E8ucSMW#CCqW;u)e%gp%ptAVEbW5O6)f&I1xsh#J!dP) zQ7G}QH<{Npv_{!Fi`=mH(trCWVA%gmH@mK>IuHZDLVRLbdyq@Gr=bX;ueLOD>sp`l zIS!cAv_{^hYr5kHS-4S}o>ooQBR=VQw!$;=ftLhj-p)KtL;4&fmjvILN;7l^003(i zy~zCI>CZ~OoAG~&!y>|dR~ja3b03oZtYjIEbDR_~mIGJWqCXB?9FDh;cpsY})Z|+U zI~R4rNiT8bXFY6M&mJO713n)Ezq`>JE?$!2;oS%*(8L72;`1AXS(GR^pNkYunlD(3 zC0QR0e@|IWw}@QHbjEaSjp)On3|IOyG2^wx7a2r;>!tF2=9206?Ng);-)AzcHnK$- zQj`b2Ufpjg34&uzU9~q!|DqrPoR#@c4B7tLZB_Yr%bTA6?t3A>oVPWsC2HtfVJQRjU%QXa;(s7L<1^fmS|CTX$ph&5^G&|2Umx~_Q(t&gppM%<_C4}2 zRk|LIboF~nkj)@^XsJ{Mq=%ve%k(|^T~x#biQys71+52=1nP?3WcarkeQ3}jXl8+C zg4*+6pbjqavtx-B0g=VZr9yhs9S3lX^=ZKAA-v5In)6jTMjL8>OUM z+!wO*NYC$mRbBR*8Fsp8XdW269lX}ek8<)aK`v$KdFNQ_6fC+UC6To&HWsfe<9##V zgdJuVrY}jv7k;qUXVJ?ibv9VsdXNmDtykCV8NJ~7>y5q3j;Au%j%6)9?lGym&QWh2{9=O!!FQlJ2af>}+ePnjX$_UC~zO7U+=f!ce=J&NuFD-!7}J zXjt2fFYI+u&M(1g(EsV#Z{*DCZ7Sl^71u{%uC!QzCw*;h;g=tN{Mvz)ytIivC^fD6 z*;k%>Cae?r7BA?Pct|ciOYp$2KIrgJOT})Lw>dokVcm-JF%tgD*Q|2jv^8IoBH?kg z-|Pjq)r!=F(D$o%7CDjLVV>|q>s<$4HrN3DL-QAJucN+Kd};Q$yEq3C zD2)7TOY|SPjJtMC7EN2Q`SG4p$z^Dlm4!j+>=2X@(?WFx|9H1N+(L;G7?pz{-UwA$@@0*pzkHPM^C&VY_M$SC%r~q zSn9iLEzzIRefW(~tsrmvM&3Xo(t%3O$08wM{2q3@K)E2c5tPeP`7b-cls4%d!4vbZ z?~aVeQ89qBNv=|cdyJSqk;30LXvpYfK%K`?LYVVg4efK0wUxVL*^n;=X>AHgctV{- z5ORp~VlQb=2+`B`jq+4lruDQ9vCTu!TP8r|(w$QN_vcdrQSuG%68`OfUt$v>^B(?1 ze6XydA!lUo<`%HsYEqV%nAftq$ctkh$XOA>-4W+O!yossW6yXc^Yx?K-de=$K5os6 z8Taba7n;tl4t_-B7}zu^ym5R65+Nlg!Iie-8AD1)4S`ISgOE;_ko=n4le9x*yb!0AMz8+33X z)hWmV#;E~?=A#59g5``ldN4vVT;=wGZOigvm3R;KbAZ;Pzdp&D0<&5gdCu5xO}@%c zcy8b1r0X;}O$heW=5N%ZW_PcA0 zz+Q0@J2A+T#MM5$_x+>^zJ7xUgdpNo4EE37rcy>u8`p(5yZ%S;I;&m-l*GG!Why*P zyK(Rl-nMIRdUqDB3P$5iM-NQ-w_)>6oYeO%_0uz>Wm@EUB-hI>nBP)2h{I3q!G<1v zPQ2m!3drDfS1FXMRc>E!HsX{JN(FHqujw4`ANnx*h7sIm zjiiqU!O#}^Xn~J@7g7T=8!>yfn~>;VEpJk*M8tX5KID4&7p);asgMA7HTQ;yGP3Y{ z9)}J1OgsmPXVFWM0gvyPq-o4kJ|qh69$a;&?c`ZhI;?|Zdo^pDXytYL%C@izmFG{; zc(O?RZPb%BFTnwzs%dBHl=y%{^O>{!Vep@TO!^(ABPF+@K5qd}Qdi!J9fF={(sO5M z2Vi0+IMl^CVE|ESopARqWXUF+Y)-mFh=iU~x%@p~PSqrwqgjJx!dC7>MI6Yx(w|6E zAxv=f%XkVR&A#rgAwbz7c?;uCfLT2ITlv%zDsuwi5X#ss^3Rt2KrCwoUZOGD|8Uh@ zfQ9S3B4xli9t*`YmrMXgaq7y~Ka53EQ79(9*m}ha->poL1k>-@ApMbhXN_=K z7j_i!8RP_E?`B4Ej*s+aI{A7xb!Ne+wS9+i4y{K)HwTi?z7bFkB;(p?80hkJGl+I> z7V04er0_J8^|(#n8WDXN?bc;2y_H`B8Q+dKg?T(c8ULJ#Ao^{57%+;QN#$bY)DFU9 zu9e|fmcSP_@?G7@ozoU6kca$1DDufxGMW&1MLlsTC@0Idjn&K?4D@_kPsmm9jQ_1` zax{Y=H}{~St^@X4U0WTr??d=?ewTV8A1N2^UlF6i91q`LH0=_uB=Y(wkmrs~+0=@UGCx(p2Z0X2GC`<85pT7)JxiaySuUJ_LNQV6o6Jgu&`p6m7tS% zbYh3Ff_QEPjEEu26))voZ#&1PcwVAx1e&V><+>{#M@jMUQm7)H>5F`>9B-EbrSk# z4IX0qn=|V-Z_wiGCRU|y!96YjcjC)G zayb(z!IlNLh%#@}akPj$jM5ncf5?N-Ac*NC#Vh z^<$476l*fH)Dr_Xg9AgD;BMq$H7&AcUhJN4b+)U-;(_|lEvD}9n>GLBWy(TP^vYOy z6M21wJ!_mY0~da%e6BWlDEsVn<>+k$bRhCfx&}Q{@*%Th-M-|zvqvU7j<%q+R!%&5 z^p7599vBmPw;GbF++^v139(SIc!qk_bco?4?2`PoM3t61K#gTip9lNkee*d^Sy%-U-yUuCkd~5U-xtf$pgN(aA zr>5Q8XYEG;0Vd&9`Ihwj^!l$gTs3GvxH8)FO(Iv2pG=v{Mpgyi*dgI(vgZ~SX!feP zjpWnquktZ4IrPH@`olGdA?oqVbPifNgbY9*J*i-H5VHw1$yrWCHNW4$tM=fBz}rtJ z(@$(okau^`;?@ontxLFoY9mbNzU|tzoUQftNN;Qw{Z`;-X^r*=2<`1Y?I7(yH}^Pp zn=E^#%GvqjJ;A9b9zY={D8MUefV#qa>>44K1F+sA{?BJ}t_jo}8oqJfb0+%pGsa%m z36m{nCkyhtA9bv%qmtrEjhi@WA6yFs`w*(%?T*t!zY0t%e%#@odzzkW*ns5Sa;mlbuL_>}{7E4H_Ch3>p?e*c62P(v`p~#=>Ap-&5B&I(eab7mlnhfpS@aOmmvf3D~h{`gL3p#&yD9_@mZEa8|irreEE zRWH&JNo37Wbat|skJk9wZIJfiPUI!@fthFYJfC!SKEuTjJ>O{|DeiAt4V@2B0jU2hbV{#4dvrIa_Cze*$A)SpgC;WU<;$EfJqt@+8N0 zs&3rn)9^K2jL1nn?Wy8Vp7L=fD?2Wef(x@TC5?&#XM)a?Q>(~9ZEUpZZ=mr|wHi8l zI^A_8->q2QT^}>^>mu8IrH=eYvVQB7a zrNCXTzS#_CPV1IiOTBhP*xx&*OZwRTP|M5qoeJ&_+2^%Y4*C5S(S?T@m)rwD{{vY}323K7LTz;We4LdD^oLzwV+Fz54=XKnm7COe69GJMM)Q z?%jjQUr#;Lor%1QMtnXc zDdbXEY1KADA3vk>J@wWM#(_M%_=>h)|MXD*WvS&R7x>Kxjs2xG?X$rw=n&0fprs?m zwSD9Gs{FWqwwl6B^~F;?jFV2oVX{br$~%1j2ke1eW?d3A32MheZUEA?-ipRT?3{j{ z!qj^M5CjMtn%#@kE#r4Sw;vcfOKFKNG#6EI@WuUvUGJ1K{BfuM$rN$F@$YtxMevh2kc1BpetuzYsI5%dFhdAdh(e^%agxN%Et*%%4+AA4Ct~pH#j+5$j_nmRuk_{ zkHD>sq}W@QRoWwmrEeRGD!iB`G7U9m*y>ixuHMATKB3#X)+ zuZaa(^8YEm(hg&f{nVdPChaUhKEjA?87lLhf0 z1*iT^j9~Gj4X0kvS>t9hg)_4(i{0Bc1h?o;in@Vn)ka#8KHBum|kp+z0{;sq})J4wb4)! z;k=M*YK9SuUm4JlOAEJAH1^0Q1RI2u8GdLi*aq^fgl1A|5E7&wA?p3NW7!<&@aD&U zzm2q4k@%>YJqYkJSWSj&>Gw!`J;V>p2Mo734Nlv6mm?QT8dAzb-sq1E|F#!qi6Xzb z1=gZmEll?I<3@{)NACMdb^YtohXU4_`K>GE+n%|xViW?lX&*i8LFfqN74zBvlx^E0 z#Q~dT7eUNMi%G{Sv4s1|KI%9BctHm0U>JMt#Ho-5`tNk>X{S(10AXA{Mu}!;`!v#I zXkO$6y=6ePjJC=2W^U1Gaa3}-l8ZM5h$?OEh zCwM3KsUnc4_B4aQtr#(Wp`4fmHPx=5Y z(L>TOajxHH5Z%9%!~1Vzzwxh9O!`1W`gE~>4#-&|3uT{tHwQS_U>ptwR}X`DFtL=a z+Sh7$Z>WxDyNKA7twSCS;(CcTC}WxBw+*&R(Q;sfcv@+`+@bc`1>XEFBhNos?o5Ib zUXIE9_*vBUy55s-#H{kh@2E(Ey6gw1o}dxCE)>pC31wpJyyHT9g>tsKx6C5eU{cV# zWeK+;#l07aP%R<}E1_KXHL!)ZR?n7wRr1aqZiZ=xm1VwdHhU6OmJ1xb`dBso6ZVW~ z(Su23u732#z@2DMjHsh~kJ}2vR`c-mM7N%+TMB2}VuCC{az(0T5W|?06Am zRUj%D7zP@AF88$}hT=;vMSW}Kb55XY8ta>j@99c7Uw>tUZ4yY=5GLJ`v;{?PuAiPY zAlcz3$*Q+7_TWpE32}7H)tSoK1;4}!Fhw)3m{gCfJqlP^BtC7hgRfdf@PQ{qn<5*- z;yPRp_>Ai?s%Dg!iF_OOVTZZw^9-+5X6ZYO&wcU2E23gJteC2)E6$$-ntD?t8p=1-!@g#4b_NY|11F%doPC5T}5{ALEdb`Wx|=N-JH8L zCO?}(08g+FG~qw=!}9UieQi(va}VI7$A9sj(@aK@r%WIlQ)BQxT=2v8B7(W8%4?QZKdij z0W^8#DXyy4I)nCK=%?oez=N-sC!NM4_+2s6xkPk~3G=QpK4LlGzBjF?=?BEtkHbGt zZrnhYfc8Q))&M#AjW8)dEbS;QH|-k67FXJ}!PcfW_W-keGCI@)>B}%&V|YgNgAyNG z(Z^c0c~jQItMkNeadf`5!Qq80o5f-YX`c1=NG*>-Dn6xVQf z2pA6X4?(GE;TPj6^#mptJN>-+YSquInS7*feT<71WU|*gy~=(5<@Nm*S=i46+VJ(cay0r9GDZS!Ve=>gC54yNI3YQmo9GnY(<1Ew&Z(o#ivb zet|LQXU1{QEJs0Ux0{+}kwo%}#_3_oqCMb{&j3HO-jC81lYWWEytAus!MJv(o##ULFO%A|INWJ#Tn_v5>0}H~{aH?G1F^feguUB+p%QTu%*}sty`t2GSpStLzBA8| z&G?t5%{-pd=JJnrNeR!2{hy=Jzn<4cWy9rTt{cXVeedyU?(? zd^tEaVUk2q7}mLHN~8X{3l0c@i7RCyf_@%LW$b@0GbqxF$Zx$WrYGv{vwb!lGZLeV`^Ak_O`WHR z_McKzS!yEvmsXL&*L=G+=+0VOV>!~AE&xYYzc7^V#^+zk((ZnyG>ma zr)KGE+I02$Uoubn4`@Rl!JVyWhg>)8Z*Pk}bWkA0tI-+8b6u_p%%?;UZrsxf)S*^W zheIQbOKyBMT;wTP);n6<&SE*)Z7vIP_GhGm8z;Fm31O|+O@i3I9PG^bwNon6%#hyc zY0Oy|iW!bV1EN7;r%+tjLoN*_3A5Y?Zc&f8YBVm(%Fu~>%j@qE3XdYVDsb-VI~`WZ zI?IQwgFA>1FIntF1qLxGWysqqLUrrxH{R1KPJH2?_+&2AQiOXSpd4bfRL<%?_0YZZ z++Tnna&rg{1KlIuge3tecMbkufaQkOb5*%vkL3`+MuML38%c~ivIbd<0hP4fN3}q{ zd@_jbk%=FM)vmE;c=eiDFY`O}7d%SGIJ09yzWhfA1(kQofWG-S7rMyOYkWw?wjtM2M$XQurm{=ByxzL0L)o`5!&og2KK^$1j( z|8E`<+_f1Hv>JdgKKh^~p(D3FZtvgyxW_n$i3%TgYwkG)fEjs zsVu_s1P@+Mvnz6?-^SvpVi%Lnwpni{e4}+@t>j?c#p(xk0uNW1-P+KB6BoD>7hKQd z{czT_PKY`$0Lw7ew@-b;y#P~TqgZUsx_Lb%d@og(WmCD{RGehJ{aJneL2_Q2P?eY= z8~>z3^zGt1ckKe7Tg(^b0}*t90-tbB1@8&*<{S-Hqao)5&h5l>@y-^C*Dk*W4J8U! zFbgF5ymS&dGQ?kC1}Sb}R6f4FlluiL8|BMsL$Dbk7_-TPhbkcu%qnQeSxjV}d*g@a zu|QtyJs?1K?`J&6+423W?>tKvHD=>O@Ig z-M;9d<@rxq`Cp0|upm2vL$#1twLQ$gg0SJlT~!D9W1jb|{SaVd{u6Z8IC_DFeGSM+H} zt7~Wv?p7=A**d)r0`Po;HDwBSV%?;xGB}gG%k-~O)vO?45!OZ+#zPw;M~eBg&J$!i z&%9;ELm5D~Y78RLaJ=o{pLGo`-9n9b*?f}bqP~-h+AI`oAGB1T zqevr^2+0evbTQm3|&wIzJBG@dXCq*lMc^n+qkEa-XJZ z$#{&DTJqGYKUK%H@5k(K{14@rfqWzNzy8ZK{NFX85Br%{%Am4Hi@*m6F`SIU%^lCa ztQE$hXAs!c83|;2X3RUz!|{A{aHE*St{~0c?T%Jb(D06W%OiR8$>4x%O8#kW3GN33 zj$sET3CzZ*L#5@OWcy5JcwOqbBarHxprC=JSc-*FaiI~x9WmN37%KTPFI9*=uKjGZ zxGblQj!0jAu7d3Q7$!?Adx+AFkD5gp3uQ1-wSeKCAsef1XFxsZX?$Nu5tES&rQR>E zFO6P_#Ardy*&Lk zR{!fCss2IZwi-3_hHS{?_W-Nv8edsQh4vKE@|3b-{|HXH4p;n_2T7BaO9e= z$n^@d`7hblXz_nR4&8K>{!e4bMF__@x9}lH-Azb4WCyk#850ICY?mAqxCF)9;R@Lc zC2>dovQw~Awqp@tWw+w*G^P?_lDlHmLxiMt^qrpp2U;IfvkdnNEB~z=;*oC)$#^2y zg1g5QNdjO57|ZR4e4+Ya9N`+qU;wzv2yg;&(!V4L*%FBf@w+)JJ?echAHSND&K~3b zhhzDKs5YBR^(s(V{x`1!oxGqj^9xnHV1XZNTtZFK@g~^zZes-=io?lrM!Li75};V1 z0W5Ot$X-< z8kpJ$GWIn8_15Z>@E@2M{m5xTlQx<}&#C4AYx#)H{};EB|Le956jLwOUUzg3RH9w(k z6p6;|+SMbJFD!Bm-KN(G08Gh9$XFWns-|S(Zf%onObOf)ka7rdgsA%2hNx~t`eM9Q z_;u_MH9UvUoySgkhqC|(;XcIz=x>?I(yTEMaYcmnUUZ}-d=csVu{ZK))V1+AFoNMv z83{4#+GfwV;Clmpx+w?7NVnIKv|fij6HGF6!(tstC$M}D*rI~4@E?<6r)jV22^c+R zd3mts56;j={5zx;UowLgY~A`X=N8+{NMRN2~w_%qt;~>7W;~f-OMKng#fRKb^r1Gtp?^$D7*Yoxf349ZIknt`7h?@Q;*YvPvj1;m2y_{%f?PMtpu5VhNxb zN2lH|4bVT)8l1SHx~n)vYbd;LT=p=gN5V*SjjW_>cMzUbKiOC7`Of`*tdi!ICW;GHKaVqEYzmelg&MQkD7i>lS3 z-;t}T|8^b!YK>I;S~c99wqU7h(sw)%3bJc!Ho8v(2n4QElBOa+!T*aZ{_@R6`_-Opc`;o7P+2MJi@qmOrq^kdWWtX~D>J3iK z|Dd@P3ia>5z4iZ2mrLjfu98iTtQ34j4>TnIqMTy=RD!5r(D_;sK&7b$7!r_r?emTB z-%|ii#+TYOOag*8lbe`>Yu%PZw^XgwWwS$bZKw!K8^lIP{p! zk{uniX8}bgMLTabecy1| z-fR3&hwaAR4ZZYq?s-alVm!O=#`|}V_H~g3Fso%spD-8Fs4I8e&@qs8&35zSuSJAa zEz2=W@FGhaU2s510YR+sQ@+fq%8d2^B`h{Z!S@=jCBS_yVImXFvh9{SQF7obi7Ofh z4CntAw*N;q{offvo+7P$(_dx-?vq-1-H1q@*Yf^&*R%hNj=#00lVkJ4wopuHFP7GU zcV~hgjmHK!lu^5&o5e1TO*xDRBizy#NzFMl@XWUE!thI-0#o@$F|WzV*2o((atuq| z$st+TKy4uKDChP^ZH=XMdy!6A+{f_(rGv;$)z}o(mD{%%SC~E<$KAto7;=e(inUIJ ze5GmfXI~G()O~K+T)pizxc-`BG(cjgpf;_+fvJ|A|m(e zzFCsBgnfmPxfAN!Tq4aBlakVsFS$(C& zyr0)O$4#e*l}!pEV3w-;9?G6W%C-w4qc?p&BXUt3Uyut3y8-j}$4%JJ(f4xO{TRFp zaWRW-+~c2?hlSFH8;Q8T)gIa*X`?f)fYfS(wua;d`9K6JpW(fS^Nh zhk~T9iZ5|d;F13*`5{&Zb(98}B$7RKpuK|!(7C5+eBM>Pu59#{%Z$OL9$Tw1CvMF( zS2-afc_M!q6s}ublxRgpYupfQ^)e8%bnlrsTLC`v`e2$l6bc224uLf+VrgADu%T7g zOf^)^0>KQK*cLHvBb6ruv=il4ON6{py1IynrL0-+@Nzw=udLz2ATaAj38Y^*AghZt z(WP&@Sru%DiEAWEb-&w80*%voy%irA2nP3+tSG*Pg>ZuqXAz=0oA7tG znLFUkbhJ#j`(+kJJy0iYuJ_=amapZBnQO)UGajCCQzV$w-nHIF!Di6M&?+K{|7=QC zgDfpVs5*Me4km7jVNr~VW7IF#V4wWk#GiCI_T}4bb3Qino%jpN_0T;Ls!OP-ccRIs zDD(F!lVW_wtZD>WI`<(K2t|7--Ke`mDgs5qicucDAI?6lNcu_re&Oy~c8cQ7p(EO& zyLRv7=j1ax=}bl#M>TQ#p1SQnyn|1+f_|zFko1}eh^2^_r!V= z&vGiOjPjACii?|5POC+3&59Z?6tOSfa!U=HrKu4JJowzowM?xPW_b+n=VR(~dH6LYuK;#4 zg%B-1(erhku=<6ax9xvq7AvXbIc6E~v?A?zsO@}z&P=ib8}eRO#Oq+?G+Vh(JQHdy zB@7fb^Z>NnP_K5ZoiPZ?6OYIOETW;k2X^G2yR#!D4=9#lq|R?_w+5xd%?nXf7JvI`)vFNj|#H zTlyoQgze+}ilK#8er}@=oYg56a zmCtYLRYY-y@qE~xOg0JDvVP36z#lEIb(q(n9&bbmzHy$@UR_!2gZj)9ekcnW%p)^^wS$ULSLU`Zae2cW;wmSJ8L_VT5b=hSJjDNH zo0)FQ=v{xf!k%2fKU5J zswTQwDnGN~-EuTlnEDnQbM4ChBW~aAJHHdh?;%W=Tz}L))nMg?CPmUgz54OznAW9W z{Y=l!j05NxKDvPh+Yzj&Skqh!4!lhuUmhlHY64N87PPrARfj`Af2%U9dffeU)C-^m z@$r~mP`<5s=;!1$;ImT9?(t*iXzF1ka0lcWb#egozHQVwf3 zxt=ht|8*r2IZ5s*-~2gxLpkj#-PM;fz`zS41{hP8BxB;6ZqEiov$3PH!1W8K+LPo%nmes4oWe2!xBDHlx&HbDfnO^T3b?hAn zw{%7Oi|M3zg%Jp+Ve-bT4Znf&8%>-+Q}yJgUK9&~ z9GSFzm-FV=4_SOhR&#CUc+d#?lyAt(P~mDB2l$u%j}{NhH%Q8FU4y3tEI8-NL@Q~Q z!)u3lyevip4e=efBF#VG`0J+OurB&~X|mD6RnZ7emCV|XI=Pa(VQU literal 0 HcmV?d00001 diff --git a/summarization-poc/frontend/Project/public/assets/images/MicrosoftLearnBackdrop.png b/summarization-poc/frontend/Project/public/assets/images/MicrosoftLearnBackdrop.png new file mode 100644 index 0000000000000000000000000000000000000000..a174ebad3a588cd583e70d5796252372ad6ea04a GIT binary patch literal 326058 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�PoGRkXBqcE}!89MTW< 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

    1m=m}__gn*c@4PR${?(KfDZo_#$yt_FPdpe&V{ z`fGtYOWPud`RgI-%S!e2m9qj&5=wh_wGuAAYh2|K^4h)XH9saeA225_ocbO%tislL z5!@LeJ-_No)f|)%@M_EtRYPvSDq~?6DpiVL)p@NIune2?CE{c0atAMnNZU<7c-We6 z=@tvz+xCt%SZ~3zm9@{KO@L&3F5ag1Q=btyx2@M^Tl9c1g`xD&Kz)ifjQl&>e(E|A zep>GT_pf}IKJfqit#m;#{rTye*1!7&mtE3Kc5@=|J< zRW69S;5<0(GGM2kzbYvkl}~mgg--J~!O{thV#O*GsNR#Tvk)btNp4>oF80gey=fG~ z9K=b+ue+Dfo`a1O95xXE&jM6|C(Lo!LK|+Y@D-(C37Mf&?0N0JK7vVlMwyAQf;@$B z5z7AGIAKp~4LMePGmj|M7m{+bv#1Eg_Q#**_FMb0gD#K zmI63%#LNw$(2$(WVN~J`SzF*O$ zf;!5`Eq*^jLjvRtHV^U+oW=RvrY}b7m?|ZtCn^N2#~aT_Fusy7ofTID6a&uoV&djJ z6rI&rs6|{|AiWoI~8bYnlJfc=}c9 zyOD&PwtNgm!i&H$AQ%ZoT*DK9#4x5Ye^5Bxw^h)o8sNOLQVlk_^TKNR>*^P`dUG3y zx^;2#C>e~h!f{`sj*}gnMebm)dAhqrV=xT1Yuut+&Z`qYtwH*FuRK;96opMxSN`=- zFKWRpdt5@TeEyS0pDuq5lG~PFs-Hcp6l40Ef8!VE=|A=!dg`%A@O8ESkN(kbqM!fp zr|E@fpC@-j+A6wC!8h?`S)cy1_uWOnz4HJB-<^lG3NL5p45*HXK{vO)NeHgvYP!iX z!Rk4AyR6RzX@>M=RV=`3qziLaMh{jiBfM^V-*Fpzib_FGVfRdm#!`}~GmXWZyX!)E zhI@4mQ$XAvT3tI~-GT=ER2(=t96CcfL91i${S~W=2Qz|_b$VD^01Ja}ss|0~u8noe zd;J7u`$9pR5VMozNer%`GC3LTb7*ZiKl`!I(D(n~XX*F-);AKScfa*Ez5V@fr(gPs zkAhNwK%L=QSJb)dU@g}aLk-{r7R*#f5$I&qYl+q-Ue1TqwT6r{n@z23DqbSM5P%Tj z_DROK$Wq3}G062kqh7-HWurw&&wMvdlp8G@QS-znUhi!mDP%b`~{@k5m1 zl$Yfne|t?8pMNE-slJ6PzPhHt`6#%WrJla-4Ary5)(kp|)zr2F3QjK#W(h?r5;^xW zuFvX9qh>@V_UxXyaTS6>ow1=+d{yT)IHUfuuG6)07A&gb)=!&JtCh(zdmzK!rrD9O(g`EX z*r)jCyfcSjQnpn_T)Kz_y7D`mSFP&#)9EDt>A}k_q)2K z9#-`0>iy16VXv$GYnd}!{ns4;emc9q%Wl^OV@lV)vjE?T52tOjt{VFw#P^7&K7TM! z#`@B9&JvXGF4p(vFX-addHGvUq%VJ$XLNqPD}QI_y!^H6v*q_}{ax~Q)AHAT&)Q$P zW;!qVS_b~K-uipKw7>qAy0pNp@JijYR)5Jae+I8U+m-93&Q71Lzd{R$zNyxpY6R)bOnbj<22AUcA4}24{3|A&b_ zdV}N-2=|G*i(G*F=R6Sbt@=>p04;w-Z~j%dc-5*)67R{*jHk$N25Pzo|sZJWxd8J@J#zijYqwI^bqz(YTWyfzXNr6t}Ad7uQfkRF0q zFkz&ZcP*HXXhx=@*I>1+pg}2^5y*o52+9|;Z0wF~S;G;`a*NBk9gX<_yo3nSa9B;- zcL&J*VVJYzK^@Dlhp%~-kWVB@#Hy`&`?ky0Ub|JJU#sgxjyGOD)nz<9+bTIX=SyYC zHxS3|lf?~SpA@K$Dh;heb{fSTRb4fPlekGgJtc&nqFT%Tz<>DD^zmoM2gd!b@AxYE z9e@A3C^!uE`81~Pb7~fhL!geqdHFl@z#Ia0n)+a#LQsE37`Sf->N~=TgMgnM1P9Jq z9!J)H*v1S1hi z%h%7Ot@rCE=PC|+s9W>Pb3HU}51(jjhrsExc}|DT&6QWDC5%3sYQRpsFOxd!ig;;D z;b?#CUFVr71nxpP82rq#ivHjH?7fcnzx~_3x}JYvyx_mw1?uE{1Yd-pffHjB&!+6% zj+_1Bfv!X-!3Xfo$38(vrgNh0KnqDE19}VtJhaA+GC)^6R1-W=Rri>;j zLW}9I>3N&PK$|Ijzf8o*>-j4K;=B@YjD7LiGX-z~Z^^wRA@GfwDWdFS7{JsAy~H}h z@oLsF*;MIJ9M{FdLS3cP6K7gSh_Rr*HfB{4{&DvSr7>l<)z}K>cGYLdz*WY{XdgL7 zoYk_wBM8rBH?;tQN0AInV^;4b{84c4G}Xx)UQK>&`8bW1AXIH+Q(O%M(qnc!|U9SL(iD#*S&9Fyi`wd zhZ*9`D>J@JNj}h#MK}cXTU(oTYi?~*nX`wTWf6yoi9*0{0X~rjIgm8Z44L@*L0##g zQIQT0pG+7O$38%wuAb{wHYSizL^e4`&BDfpOu06P9_=iVIXXBIVJKy7z}la&mXH&2 zhE>5S*oK_w7`phd%GlkMQd6Cbk$xV4)*T0|HyU&|C0QTOz}vMYX0$cBiaJsyu4Hsv ztgKatgy05$vi(rAxy@-9RyJ&J3Q~p1*UR0&P2my#?VD1m;WYXD-SvvUpVA&amz7pVEguKT#%H-ZUslF%uYvh_S%t1c z#cgP+o|tD3&}+c#LA74fJVSuJhk%>>8UyU`*PiV)X!p;Ii3Q&K7O?M!f%pt{%6+Ks zfxiaiHPFWA`&1qS_x$Je%fWlg^&aY2kiNh1V14#au&saVD;i~`p04Uw8I~YgCom|i zq~o>f9zEe5Wr*m%`oWJ;PH%pK>8qiQz)sJkMM1Ej0`-+p*ma%C+@KC0y2qBNxZ0c zBOiti!y!(%WrfkBHfV(HiZaN}l=WD8bUL5`f(KwfRO0meh$-`(`qG8PI22*t?(!BE zBIE0m&>?o-r!C$2>z$I*I%G;5Z%Osg_VC6Z4dA}QasLvgNfiPHy5+ZBY;6a3()5O7 zp5qCab>>n7V<-vS8w~;xt}sei*&8vsY~;rwWyOaeNEbfyLfD-_Hg5ybxoGJ zZ)@O8qLQn#@N;Ze$X2|JJD3IwU|dhE#(A(IRw(SY7Sf6ZF~FF*YTC|GgwuR#V71zp<8xCS~U7~hKpt`^|#*MJ#<>#!QWkAb-6%j_%T z1%?LLxh$->&pIiv_sIb)w};@mt%8@p-h%r%1oqyKxH=y0mms_R*{b>acVjEw_*dJy zX>Dlx+QyC1YgQbKO;}ge*MlpUpnZ2X2+}3+xInO3$J6EN$N%Q9(KYqyo$r3qd4aRi zK)XAd7H7!i@JMJ&4WqstDQp=Q7tnv%)`JnD5aF8of#*<{Ni|ChK5g={(-cupMT?(x zRV&W}9hd3_@SywpayY)Z&y)z>%5$TgqC&p9?XTuF%vlmjs&5l2eMU->Xs8n@(z+l$ zx(YY>FHBy(-FR66zG%CT8>7_>G z$g9La-?32ph*MuC^ZLLL_g&2vsKMj`eCjdT%nK+Upf7$4qfOEnsf~4U@EZk~%}=Y< zYa46qt;eLT5BIIMeoiGQPdj`nsSK{`#&*D;{bGBK!|hwzuv#I~KINu4inHGp$8efx zn=mSCLTG*Jq*gls4nL7)pU$d5d40V?54&rxS}f21?LYrR^yW8w7yXuReN8ulkKbnc z)BlV2&|i4Nj{e5K`*Tzd>r#p_yf4q#uV#Q6ad5k>=Bra|2f}HeL}{$6K&xh`2h>%$ zoLXPz_DP)CN2>Kz-|tiws0Vt@GM+ZOI4xn0665WHSOAak4@IpiKcc`F-(o&(W`Z`i8#oO=pDZUGIE~{yNaKs&P&O zsrFQLhx3Zyz=CNCLv1plv=GQicEorMR=*LKF1iS4_GKCQjDYWBmHu}aR)w~#Cs5He zwXFp6hDj5`AiOh&51BLo?t&KS`$p+n%T)Ynhc4vkq=4be%i%>zVk(yi=d^Bj)pg@`rS6 z*61TTzp`{@kTCs86r>$J2~CTIL>u~WoP`LE7GE6ZkF;_Oa8MTTmF8Q_`xSzkX{ewTTx%*@TqK3K5y@( z@7uVlktESOBAR&cz6d<{@1=xD=- z17x08uREk92}Xq(Uj&k>FR^3PhP z22xw>G;Y^jtV4iTNJ$5sT2}f;k-};lsi~x@mtp{erAOQc`3Hku=&Z~DqUU{U89?=m zIUuK9lhU_M&Mz?=8=-zcav(nHBFam=NyX!oUj%w2olxX(W$ti$^!h}dg4s$u0JTwF z~pZg%a>2>Ee7E0B1 z&GYyEwkPSE-}9aHuYcb!(2xBWzr4hl*KzF9M2Ql|SIZS@%WuEB1=ckLkY(D z{tn`2K27|YA6{11@0ZUNt}lSiC0O5;)8c8mpm}DK9sg9{49Z?*DB8Y{f8z7YzcE06 z<6GAQ4X2_nbhiZZ8rd!tGDQ)kom1~-bJj+wP!f$a2wx5^OAk9|Qgyb(VJQG4=vjN$ zI*b4|>N+>B4VVD6@q*rngx+R{LnrLqzO*tVPDeDN>^h->R?oq-Wb6;agy+HJcpA=( z-4JvW?80|dF=(*HLku+Sw!?F8x?v*Is3CE}fdN;7-iB!u-Gz|)1_0n%5_EA~Lj9DE z_#L4QIdD(p^MnBUVSyQy(C3u!BsI`vPYrNn=)g11vgm=ff0a#z5^r<-4KkaaDL|$H zpUUvk+9TD7DGshXZcQ zu&uqgzLDYTchvm=C3FBdI1<%Y@n_LD@VmhRg9RTE2R2<0W_|}ciipRW9+Zil0FT0? zRlyPQ?*})$3#|x(XQhKgnuHEjgoEyEv&F7($ne4w_T%H!#u1r7!+kVZr(>`VG^c$` zrLwsiS40>>ImjRD-`Fn<+(aFE1yx|`srW+pj-GDmwlPJzw#LyO*h*dl&hUL<#Idry zRU+lbvPP+s0}PHPw4*yQa2HBA=+1Ts5HuY5Py-HX{na2!1M#|@S6?96w+Rj|0b|>6 zW6(bNiyx5Z@TAYI9_rnfCC?0@E;cpv@k-}80!@Be$hL_hT-zq-Vh zS3azqbcOM*24PL&U?%`uOR$O#{VSAe0axwM(p`Kmbdv;H#|UMaMJ zRdghXo;7fBc}ct7L^szrWLtL|p8F@hmaabV57X|>HC!zcXQzp9b?_OqCvW)Mz?1^+kdL-PC3Tlu?6l6bWr(1pq_VuSs%FuQ=;EO z&w5Tp1??D+ltm@k@%Fheu8MAb_Ea@jL2h#}SjtHTn$(Bex0V z1aMHcRed2{Ro_LXa_V&QJbkB})&2|gi^(jF(S#jkCZX6YPT)k+Yk9NrTAx#2K?6EW z9>m20#qkw^KuqInPD^^-7(7gpBbfsFb*qX^?BslkuZn3VA>WZH@36-~C*%mpI%ojL z6Zn+7C`|e?#KtoLBoTE7`mH|`6bLvm#Yk}gu;Y(WSqgs3HsyFE(OZC`8V^m6l-4nr z5C7~yl~F>o24kfGd9IHBw=H%G`2yO2*AY8ODsc-XFEzTR6Y{^39xc84^c)80 zIS9vCd1~K^jx#xGjFjm##L*Qgv1bhB*VSF!^r)X+b5Td-2#nW|37>9@*2>kNGJl@h zBACr*&(}O2PAeD!a4%*Mg5SfvebTLyHWLpH~Eu~B?0(C0L;3H~YQ*$_$J=T5_cmQ^B#*>mK<2~0JcGgkuT zR!Wtx?wHVd6I;x&R$KjLrLHW(Dlg4#J37}8-hERxn00j)P*=aIIU<3NN*=D_2RF^f zpjD_dzwN#3Cdrj1KA})g@l_`SR?XKMB{0_@ox33Y<3IOt`e*-~(4YQ4d>g&}soQ{y z57FAY_rK#Vee3`FTj-ZR{cifuk9~%I>_fjwAOFY~XuiJhfS!Ae?L< z)<7L5W=I2_I>r{969(r_Z<)Cdidc z?SIQZLANiL=j+P2)oeJ|@1)fL{AO9@-Cvc!oK{%tiuwK~1?OoyrZS050O@$AE#<*O zV8T~FTz9P3*F}H&#Op+3;k!0iI4TUVEXcOWjrNXt!MO(ETGv+I_03NW^l zoKlE-;0LovM(~1AP!kmC+24w1zGt(1eak7Y+2A1xX(EbRp6RIMI5L(Cx|rhR3d8e& z(-4bzi+YE%j9~*kZnE+0Xq&kju4o;EbqL5SNy_jI7kfuBX)R>e0h`4$pP~{$UpE|x z9ol#L<6LhblVE%F2yg{m zbgjc?_{8A)4En%WF?Xu5As!69=|9R_$6VFsP~6vZpwHy$S?R$VR0}dY;FS2^=)ksK z2X<7#*2Ce7w@}~N=1`!#Wyd030L(@a;=J|nPy(Z#OJ{k{`J3<_A~mN2M`s8@2KOC) zNHll6>Ug%5wbp>Hj2F%*By;}BXD#RxZsqiv1gXdV`eTD%%f}TQU6o;p+o8l-SH7;+ zy4Df5FGQxnLt6sQ0%wKH6qR;sO*D|5fq%8{f1V|J zp8l~v{hjpf?|D274`Q9=*I2cy?LEeCg@WFTvKe(XLWbX;~*8q87+2=CE>3ZAD$<$Ca+_ zwd-K+O5wIL-T2K0dilM$bzTatr=M4p8s*M!)BfB41l_)KiymC9E9(>V?WPUQ@=sYU zU+%B3NN!#xUV?MEX@PnP;P*uM?PX~^s;gcSR|Rd{j15|k+hl7wps+MuSD}LxvhE_$ z-6wIoy3<^1O@XoPkhGE)-+_->2NXQ@B3~v6+Uq4&hIMOw3pmt1tO55D@K5FQd=u?2 z7utRGx08JA`-}fEbMld3tv5`a722M;eNI4!Bzh)^c9Dg zvyDkaK>!XEBeG!Jo2w7qwo2eV79tO^*x?4hhXMCiKC^QpjawIx7=1v1L&@jZe*qnm z?Hu-B{}uA!92;OP$@ynol<+~DtO7Yp5NU*0hhyST8QpY44l+rSin|Uh9GV!cR#%^J zj*Y2ksB{TM1YnFjfvD5YS5@xZ}%K5;^V=z)yy{WDC0H>%MsqjX@xjBY7bJmn)FYsy|#OiJ( zGqBVf4m4~P&$t4?$;6}Kb4NmKwZy)8NCFcSJmzOL`plh3FhzUfp#dgUV2uu8HB0GC zu&~wKSrcqsLCr7`(PK$Q7{wbt1&+7Z>AkEwPQ-|}nh*en?1VMo1wo%EQcYRky*5u# zV$hJer9QzxJFZZ;6UNQv*C3a}m_sP24nYglb%LOhy1~?U!P$eyHNR{&)(JFfUuZ@{ z%h(m*NOf{Zc~Pagu9j0f_^q_1E97nKcj-L@=k~i+n{a4^zVO-S=>Pt`-%r2m4}2?q z_doEBboY`%8gb_nJEGtC&b#H0=qY*_Q?XLw-ty1KfB9wl=*OR z$MW(3t`M!I$|v)*z(WozlG#;KU(@I_Ig8o&z>13OWIP0ZF4s) zoTp~#x40J!CZG`|vO&IIJ0AeMP@c35D}a*W_If`vdfliM_KACqQGrTpWDK!RRmqK0Pj7zhPC=4xSle0a^M^CI*l8j3M~44WhPr$thfdesZLl#o@NtUMRPiMJdQo4^ z;Py!-soS~1$^Q19f0y;$*yeXo+?0 zOZl_~9%bA6j`VY7Iw_zN4z>#N| z^lk5cVmRclhFMt2{lxOmd*5-p{Qds#d=uSU7MFkaXP=}0?5}@}KKvuULRT-oNPa3i zlWt$$TtO%I!_>LT!is%-O%Oh-$M64|5FQo_id7MnxyeWJ%gdrR~km*I+_PW z9;ShZ7ybxn7K_B#!R@ABL3v5-0ggj?6Rapb7|Plr;*!hSo%HyQ5^`bW%Jy8^t}`aW zsduv<$v?2y>k^zWkpa06lZK^JV8;!IJ~ILmR3;6MQ1oQ*IZ7S+GP-j_bn=&>5rc(e z(j;ABgZ*X2wMk@`7`vb_qy1rfmFPekO?pUdho#FJj43`~+Nx3Y3B~x@(8zod;Rxbv z26jdO&hiY}4JPVrcY*a=+`hn}$0PZq++iLS+?KD?o>LN2FV6wS38`E9J)zuDq!8d~ zRSvnOI4Q4{4u%=X09`<$zc(W#HE18PHG7uXQ80oI)zhwl7InLME3Ar9-vMuf zwr)xO%qM@E`0`D~Vb{&y9!z^vLa@W4-QWNG^K^ClHFUF&olt(aV7;wix@lzE&)4*8 zFWxMxf{z6Qs%1jJ)U>P5;S%_A&a;|D&Iym%i`<*=r7lcfYore`At(4J+{_Ek9>VfG&-`u3wh%eamm4 zJGam1{tJG98+d$W66Af)J)l4M%oTl=JWkW)-GvWpnX&$k@)YxR6qGly#>jAUaBO=c zQUB>2o}e0;WP@t`YRRH{tP{Rc7KV{ zmmvM@)-o9DXVfm1!n+c*PYXTy&Ra-c_ywYNCPS6UWg>(xi_WlZ^ng;84@v6l5%eL* zwex`LN1`}!?X-+jiaE)!DR|OsD#d_O0Ae#DJcKSCZ*8J7d=RyR+5+h&@rhuD945J? z!^L%O-wto&(?;)NjSc=K=RK1p!ScW;SSKIG7q{X>c?)9=bqX9lG|Uua1ty%)_BBAE zJ)1_eE{x<_n{GSJAXqK+g*F17EsljTl|-_k-f{A%|AsQcLA%9Pp&O(&(Tip(YcU3S zNeF10>Px`lm$7r#p@tK4*WRWE*?f@s6|*;ZcWV+U_!u&1<3Q5(%vl{37&W?;_#w)s zVjHMx?9*4{fo^w@wJzLCY$62LSc!ZHeCHm;hvLAa{s8!NEMccd{4lofbj*I7)b3Z( zD@|t;tYBzTH(a;hBCRXWNb@CYoizZT;1ge3uE1$4?xPg+yrkb?kQFg*#@hL}TUlrq zZjxQea!`7lWTvw)eX?hud>OKs;tFe5pM$t$v2nZv@K-6$bRb-e_kO_%VfYSvSfvWe z>I4OQVlpTroiHq&2mPU2+I%jfk|SHS@aKbd)ig7C$A8?lv8K;|@<)w-fGZq~@fCM< z*WVW`i@n_d1?xv#UV=PV@Z8n0Eyz}0%T5-6$JrY)LR5oPJqi8vTFJNfd-0w0!Klua zCvEX~@?NR2tIwASj{O7r@gMjZ`tT2al-~1O-cJ9MKlo01&(}Rp=k%pXU-SBN`s3gI z4fMOe>uc%H{~I5npZHIIvSKQ8BTw5wKs4?vDa|xU5qm$iz7q|NwUzlbK%e(F4n+;| zo8DfgG;a3L0J+ir&U-@t)8{Ve@@%5Lv;)WvIzVk#gze_QT^BW>KDUD`X~efanS=VL zlVani2_}1Z(`Be%Bv5C?cWEgYX|qC8<6ob^;(#98mVED*lJAL&$LTefkJFu(K1Ywe zB=lGBf0CX#f2r<5DZ%+#@VwxBGrdH+J5SNg3m<9Dbh9TbUXx-k-V^n>al)BeUOy;D zQy5AH%Au@kr`3@oN5?LQ{LnW9=CiM3-elDk%28fLg4MDMR9SME23uw$9wa9LXG&nl ztS{rnC3uEC@vO zBD`uB*mV_=(YMGqP&0q(i zSvl(KMj@A7Z6vkUi<91O5_D(`qM&!W09&J|pbtZho8Efh|8pQTQou@VFY#?rpuT}h=?5*Iu)Nf_+eLgor ziHr3<8|w^TKn=G?>d+y#Axq-7!mDzuICWdH%pn4Uq{avY5v(JH?^Uy^)bpy1iYu%&%#; ztklZ>h8QLvOaANMRIALr0sZlQ8*nh|cut&pI zYA3Hp&I4c_l881wLbhQ}8n0ie5Ug%8szzqZ@N9Y3L?8g%P%QcIf!h{&gX zoc6|lOb{DLut#8y8pu{yV!n+jIE4W#Fm9Z?W&`ex1#K)HrvMxYFjZ%VRYYBV)J}P$ zggA0H76A)_f@FjEB~LOygo9o0-h*$l?I74>!C~UMecLO@IPTPuBdqWTe~T!L(!hkp zdv<;@P}1=UkNE09>d!Aato`e&VPt&`@}GqwgO=P*@uKfm0Po#M{Hg(AC-NtvZy;nsCY205SJj=?*a4=rs!0#i?6i{wC05zaiZ z6B^T+r)zwEC>)396GyXN99%d&X`3PphMu})tLaP>-ls1sFdS?J;*%-E0gaxnV)os) zPN{*A>fQGG*JL(tkvl4F+hqc>uPos3WZ&ZXIqMD?DpAW#z zb&@5rvTl4L|GKgcfm3o27&Mo(m2z$;p{X=g2s1(s(t-+*f}6B!Wj&~^!qDVSJ*G)G@ZPZ3tn2OLm~2 z(jHcXn&%gB&aWuxBp-q5_6YzY^3{U&k2YWL_4IcG*Pf@zLn501o<%?>;#N^WLTL_q z5^+QMKVSIftM9&x+eKYsO@h5XA3`gC1)dF;5b<9@mgJq9Pq-X(S074=HA zG+W}&!>8Qkxt%2t_w*`DD`5FdgrENlt8*O=M^s{PfW@*{TjvC}wQUT5pvW;cvcW}F zg(fYa_9a0{um#754s@tJWKQ~OR8%M|eGyUT&1K~m+Kh5DwpaMOQ5IErQ`ESnx{}U) z0@F;b3?E}edjuWfjrOyX66z7)mbXI_=*3qd<-xN)y7G~&;(`?#?!ec5Th5OT4_4X( zAL6|VA;mV@7&1eHLa|Opq155{<;nx&X|Oiw9s513h9m+!Y%X*CX0Z64eCI3WMVb!9}oCgX)2+`#A6IMVRdXo zz&1XpyN(^`kcV(o7WC1OXTmrqe7c5)13$<|q$14zOs`Q#Jg;vp!c}f#h(|LSznJMv zofkaxt)MCW>Ng^(TYU=pLWJAU7+??)%n+t+lcpOO6t@$SZKhv3fv#g9RyUlUO8xLj zTb=T?pIU0XHMh2@iikt293ji-8JRqIF>yJ9RVMEXm7raBND|UG@FT8_C&j_QJnbRl zck5gKLs?1yUP%IyFx)?MN(#Z~v*i$+2-KVvqDRBcH122%J@;jy?Sl<=+B>(IvX8#w z@6Ut0b!CWpQ-ctq;;o8`sIK(R%^tMxNf&v+?^0)du6m-aDwn^t?hf+W_t?zZwa;|5 zmC@@LU!Y(6h4qgqS~qXgbxAf1%e277EqdLXAE&o{-Q)Bde)F5?{qKDPef8_k4pQ>X zPu-&L{Xc#y{l)Lw(f9wQpKJ?T68dHI(#c0XM2~bey=`$XrK&t~+YQ9)YAsz84s`i% z!v46he*K>4H!ftkKVQ*){oZ_Mbf}F>tE+lU#}D;w(;pKUDM3! z-CBknSf*@Uuu)e}W@s7s4!Xz@E8|tvZw<6dLaWnu8{OJn(o>hOr}ypm^x@}!t$dbF z%BR+rG1)J?Jk1oi*xFBdMsS!INu)Sk;qdS}TArwN%!aFy^ch=1BOz8n9A|OLKv4=A z_|m0__1R=RnqE3~7#dn!M!XtMrY8{Z*3aHEN^LdUO?VQv@fZM<+LwyIBppn_r-7M> zMmn*{ZSOn*Pt!pEWBz7AqE4Q9@Hn*zwc;meImlE+8TCvAJG2#w0xOLEx$nF|)tkp9 z!8iDgeolWk#fzLDC5*zfde2B$Vvejq(=?d^e z(l8Mski1Xg`Y;sWSO!@^QW4z|6?7Z*JsDk(Wtu}PVmJcMhybOk3Bs^l zP%}IRVHsT>M^u1g$eEi!e-n`mFcP96mWU+vkK=t~(ovZX9#PmiG3-+)3=i|Dzu zQz{NOz6b98Y4zK~@Psv~&4I9yz8&Mk$pWYUx&nM`aLFoa_p9Lpc@qzOAr|K7^lg%8-aD zW_4DGqZrp+B37&g;EGKPT=j(RvT{C^$s`TbS*9l6Cczb(7OXqYPNdR9V{i`2aLwFb zy+oh;*vre`XX(d(@R#W9)&;%$18c02?gIPY`AdJB z>WZ?C|75KTYrllts0#T~qVC~oIu8f9Dzt_^Zaj|+`~D?BzqMRHe{&VaEsQV162~aM z=HZ4z%|u+;&U{fP8EkCLh~R2AMFkvq#Tq8v4k-q{=THIs{6uIX`_!8FY&q(74CHm9 z(kEd7!N#nQU)-VB-G7?iz^|dFZ|*N_cvDYwU%w&0bN%ft)W1#*Q??lRdrIPypQ7H; zvBQa!*lsfa=)jnRpjm3u5--^}&=|MIqUM|gWVh;xJq|GtkF{4Ax2IUInH3T=ol9&d{UHq^HA_&ig=_#;@4HB zaQ|FYN?I6EZ)V&lj;PQ9?(Z0v50p_nkQNam?G3KGmJ`!eR}kJh0P+xkRiHOk61IPwM zM?AzdVqL#BMMy-W->t-OI_*2a1X6o zRV5O>aXyBFTU8kxNNNJdv94756fzb4E+IIsUE{>d5}?G-BFR`j96@rsiFiR@$>l}J zl>kHC!$M=2j>`oBk4E?~tgUC%8HU=wtyN)y!o2;6D4w}@YCRyJbT!ndaz}&B1eQAP zi&{8PEEQ8j$gzs+UX>H6E8O*yVN>}e6}4}$V>RP@eBV6CPg_-P ztLRdK!X4R)xxHet_A{=cSEN91z$g7|VyoRbcf)h`j@`WcfPV6ae~EtbL%&S#_~x&n zKlI1mM<4jc@#*pFRKg$q!|yFC-hcUD|A~RQ5%NG>>_9QmT>*vA;`mq~?7zztg14q=(N?Rta-}rPezd7K$m9%B zT(1PAGH=qzR*1p0zTqSMwT4kCw%?osq;>xZu;_ z(KHdVO9*Om`7yd4t1uKVL* zn+$$AJsgYywsvfIY9Az(7xxu9QgJ^vlG;LYwu!Q!Pl!OCA`GK8(owRG&2-JZlra%H zM9Id{uJL|IJPklIuYsb0TUT~DA&gOq8q2N+pnQ^d3=bzwV%M6rWb#;0WwSNx&nUP` zSS+p+bHK@Z3$Txb#bM*enHiK^2;G4O+?*ZKApUTeMAi9nYd%xMvq)M7)G`r$ehNObWKgnm@DgWfFBUD@o@dN zIS>UL2Rip?@tjCN*vtI@GTG8 zUo$>sRg`r_XIBFM60{cvUsu-KH_4ezM&wYyPJYi|DdGvk?1pBk^NT5~_g=5_QY3JOicR>`>Wi<{xm6p{cYS-*Q-Hh`*) zqf-=NCR?B|V6wp35LfSgl^nN4azje{lVzlEh^#)nIFZ+LJLdHjj+;6j>$7RlcZqo7 zL~xuGeg%mYPt1tzjxYUR?u)o=6HL@>wNJYHD^4I&*c}11mkm`(MB)8t9be!XRq_JO z3uSoHv%lttKO+BB84sX{S7QPPOofgp_$P{^A}k39n5c5~D*;KHlp5+`YPyiJP(T41 zKlEAm?or@`V3P+j7`$11Q02Bh5>PkX;fGc2yWktir%*FC0pvIxDy-uq-crHM)t{Bk zi%95h)~f5xY;eLBcn;v>jq(&p8fq^bcVVV3ar!-~O~#VampN7+QXpr8E#wn9JtX^-1_pZ#b0i(2wH{`UZ?gI*Flm4?NdQo2B0}3= z2zb=Ash!~&haa10pwV`0>g!p*qJI&U+cAFJz>EPLVQ)B;&1y8LazG^vX~W(1VeFo{ z#97BCb{P8E?cU5s&q5Iovh$KaN!W~8Tv69&*d96~wPAFKRRLxAy@GN=$fiOHpBOP` zFl~#}4z@dAH*%@KRV2*}69|n;>*wLh>GbVC!_^LEQRNebbsRK1M*6-kj-Y5oEz7W_ zp9UeQjYn$Jt6Qt)58%w7O$K=X>8Jr9>REmx=|H3`>S~?}E1@vHp@Vp47|9V))w2on z6!HXE@oJ2sP(LFJm>AI#oRMUQnnX16(t>Q{%Iwd@0~<$fZv3W)#jV+E5Hq#+(bvEe zf_CFcUojsA=4Cs3338_j!vb}^U)$ASU4vYD@p255AqA{oH-};lKJ}Bd(ozZo#?KZTi%%8G`q) zUxz6eGH$E3VGIt=@}7&_GlQvnHfBg zEfGIqo!|=pC2F5igI;=Y9y!eh$TAejn%$5d!iF%9v z%95P)kPnoMw2>C>A>)8JmAseHtA}%fx5|}Is{6mxHx0nCLkU`Bl?aU)rMnU z_l9kksJK5G`Id;}K-eh}Y~R$75Of^aDMeMMS6Z#Qd)*1DfuqvUSx(G|_=40BaJcnX z38-h8#C~y1hz`#NQa|`ieFjcMulP@mhnTwFxiCQ zvw)+}HXU-Gayh7rw)m_+5nK(VJ3tBlzOgnyQ5KxBeD$2I;We!%^G+eU)D{G+1vwtf zDX&LJ;1@$rTv=)Ban@Qgqg9!LBrzCpbLa%?u@N}frUua8^=i-<+vsT;SA-l3=Pq&u zX_FunxU-T=cRKhO)N-mst;e)2tO2uBc4GjJaBHk}pj{b*#FdRl>wZcJfoJU$P+0N_!}HJXVX-bO{5>O15v zRjk|KDF)}<47wc>M|dclkOus9i+c;)+jR)EN56WF@2E>#H8%~QYk;+!2J5!Zrt#Zn zKlOR~XaDRE(VzUD@1PHUZ6Bns=}-O1_s}o?>}TlHzxYWC2f%4?zUH(uD5~a}4L97D zA92?m2^9I2$HU|!o%uowyDpU=DTIY6Zt-J^G9aCdslOt%%8xJ#*qCC`B4c2j*O&1XPs|3c&_H6Wfznanup3zx8gmEIqPn)WDZ)CEvZv5j8Zjr2 zpKat-GS1b9)J2`MsVrQn9v#OEu+d9;;oL+Pr!EoV3|GXc%LuI`qxEu-Ipy?;5|Zi-Pr=qHFmb@%co0ew1Wl zxH6?)%jA2a1CkKQvzBWU12XSPZuUl-ipy>xM_VxAMhg>#YDA2KB%JtJ6> zggr8f!H@$jboob`RCwD`aQLY{mv+sEa8V`8BaR($*ceQoeV|?VczLMa6fDvfSOTEw z%A&4>0w3vC_fm%`d}feFfjWFvtsPKiTf=Q-o{M3ud^(X}kV_C`Gljgo%FY_BTL53T zn^(-a>948cx}b3HvoF&B`+I+gZvL6?pznBRAEaL{fB*FV_Jj1l`;-6Sg8CKt%POs{ zhHu%fue8zK1Es%{TN2gYt^^KpSQxT!FHLnq5Znzix00};Lp{ey8rjU(O1C(TIBJJN z4FZ@|&AAl~D-PWE&FlK4W7XZ!PWVdtK!#M80);EIc2E@8v0_z2=Hjm4T9O?KmB`6a9`)O8Vy1 zL5tNz;x$o6O23EURUMUq8d^$*Lo^)dp1@L3FynJhFnHs4(B#=#G`2s;_fJu!B{qjgh5GyRDuH&)D~#e zJT|)0DY*?&1KA9nfB{u4jR3W#^!SE0(ST<Y71 z3Jp1&)S(Hm#>6<9w)yHrfI9gF^?a)w)8SESuVi$61*s6+Ekc_JOL`WEp>0FgV-1^t z`a9~`g`s2sPq4;jIkjirkDyZx5^jS>JlGt7`U?hAz*PeVbNC~^ z7MM)!EuJ|>HhKP~7!F1h!6)QZnEr?)uE5XPe#g6}N7SZmyFuM0IO;5V3W0B9uQ%WUFeU zR<~L9;P7n9LdU$+Ou%5=iY%y&fw3{Yvta`>F6x(IS*FfSWd}}48-p*WSxQ^!o6j)q znh`0Ar3M|a?18Sr=A{0!2Itcfgq>-?I89F1fgW+|6Q_Oq4OJLV0u#)#dx=? z{=+mmzWz_g->B2@lZ~z}>nj86s`T0A1)ZJk%0!6bg&@20Q^=*!y4gNsIx0(M3nb`< z0;P~=BAhr`|DDRj#5u{OEW!E>T|c;@8>7iJ@!7hXzN^67B8uYB>oFnXLki%a*bOIg zwNBSn9yFO5jNulaK|YVlL)ndRvcqHaY?u;`>*a)lDcP{5x)GKtn{nXFshn5rA!P+d zpa7Lw12HM-HZ-586y<<&Cs&C$$l9vF0Vh6FIZ}L8>8xpLcruQ#F&3vbsE5hm*ov>} zW2fDC#(wH$31-A`(tg^nL<3dxWBGs{jp%oP(|AzkfaJM*vOP+h$jF9~IVkEIupXwE zPUSsx#gm%csB{b%$W9=cP~4U)fSb#(KzS=G8-G*{xc-%8nescEaTmL9<<{*|x|OV4 z@BMdOrJUh@zA2}aufOXbm0x{c^XwP?%AsBx&tjVu2P*G+?b}MhTxGs}a!1-W=X;;M zNB{Dl`(b+e**%TYKm3Qkfo{M4^`w&t_70@}6)CQNp4a}kZl5FOD1%KUa^@kehBpIt zsM;Z}c-octD0gchBK8EK`lJen792Ld_Cw?oFwTFfrWr6rUB>Kv(uq(RYMwZGW)5?6 zHYTuTVyh!_=%bN=7-*?wrlwM*Cvlr}iIm<*a^(KhG^_{uUzGm-sNWSefYrJYx+ux6 z*sVaz>JX|Pk;oQ#)YKtWn~vpC*U%uZSG)vF)K}**&twR#sN;`MxGyaroh}887^P>@ zy@PJ6%OD%MxzZXs@>yS}u^9KPUH9rCl(E+nGCau_eJ?z*!3eRNz;lEp1Moy!X8drH z@DpLl*jBO(#+Y+PdNgR0b0Nu1GW7%OoYyVBGIc(5C98DsdYohfaUSBnsk77vXu9(J z)-Aey=QdqjT$aFf0{l1)A}4b^J?Ky9+yO=`NC)nmX#3ccsDQ~K=eoNg`j zxOMk#p~-Z9Ug@!{tgpKa)X%FV7aFRm99bVphx9`2LliF_)r~A*d70P3Goo$$cnjG_ z&|`8K_WF3L3?Kw^qdv1jKG>e4u&`|IqjU`o4JUhB4kc=~%3QE=0V85ctWB$+UMl@z z?u-RGtxOz*U`@JFl_>Tb)JUxX(Y7C=H;~g-Pw9-p1c zR(&?%7%>wn(UXGN)R%+OB^y=fSd}A%Hc=T{YN4&MfVw9)=}Iothv&Kc=z3H3WmH}^ z+CqL*MVRVvh8cOUgWqt#Q$zhv197;X>&&kP?Bz^wE4OY5-ZzB}LAgl##X$L{1?Lce z&ox*l2&m_IAA@oXzy*W&7?6`7oEw8}LAnL!dz(UjIYJOP z>2^1tgas5N?|Oli)lQzcOl!@;Fg4@Ba&)uG> zlc&yLJGI@uRd0<197cDqByCD3_YW9Vu-Q<5o^ce~QgvIv6_A*-@A@=O1_W~;2-O+Z zHn>nMC!_XzKrKs#rbj1I;-nDZN5B`k-bTB4W`WYKcfNXt$fQ8IaQu=$w~8K&t4^h! z&enkBroEh@=dy)?o=vqGtRPLfchq@y(oewjx+e})cU2I87RJm8@|__`P?MNK%aR^2 z(|EI3=8lfk9irH0wn!n$VH;S0NTG2Lq-em`6lJ>`>>ektJiuowRfXxl%Zljb8i*|c zI`c&CWpc+U43e%n$N_yr+13Fag*MP-?;~?Rro(oqu?XlbfdCZz;poOm;El5-2)%uG z3DR#bLHe!B5{SxvAN-&GOcELoXu!GRaO*e(Y3PTL&B zhs8SLW+SUs_vc;)<$c|Wc7Aa|w;zAJ1nFnDZx>q3?NtDRi3b_Tl%Wg0#<9d(IVftT z(1048L_<HaFkthH>l-l5I>9HYRM8hqeCfr^gTYRyZBt=MpZk2(R2|$7Icq^9%z=|C@Xc>QkXQ+JQc(xpsBvhhoSzugiCTsT^ z{@s{apzbqVb!^6Xf(G}tbD{QZ*3%$?LF1Sl=fbEEPT(wD{yR9eBt*#pAC}q58ukBS z;5ZVWqxw1t(m->|R^5$Y++|b}g!ET}Y5k-2dhW{e^<;JDyB2VkXYF2g z3xsvs)6Soho=o1}k24lYR597 zvxE7lG_(Ho8n9!BF_6`5?S7AtdpN4|IpHDYRVQ^wh`^0t&~=R-aYnr9YLT?!G!ssj z>cp~fG?o_%PDfrqL%ZOfyYik4DI6$~W%7_9pQN8CjM@0PPo{*)4m3-Fc^DU*QaefS zwux?R3ybTYugYMD<8@rY@D*rxoCex!sLH zZWGSSC1AWF9|GzB$w`*nIrpTu_Uk5Q1hf1b;1_4$;%L6NC`GD!lH#g$$*#ySSGY==4-KKOJ z^+26clsC#rbWVmy5>Z^jq?|+|f2IfV9$OZNX)ES)g)~j)v^&2jGp1)3%k}y$+WL3C zTmH`KcC7WCsq?AaPs`t~-A`wW9#~I%UH*3EkL&M_%PUK}scxI9*Y))w)`#*245_)vnwZ~hAr;6ojz@Q_ibAGrxICr4}9OB z{|UNx-IMvTrTy>v{qLrruuWRCWV|Q@wg_k>DbVjBinZ%Dylb^nMWv45JJ9Qd^lb3f z9U5LT{+s(xgJ&2-4- zl`Ep3?~zPC9%#d1>=F|w?;bL@kzdEmDA)-Owd(UMa2qXcw0xu-Wb+7$UnEzOh_;rP zoQnQ$e&!NbRWytMetOqZZYh@0b6ONPW)6N~#8!;f9W}Px5HUolOERu|xddCcFE6Xj z%wxVW3=s{d(U_y%+jJW>8ezaYDH9&`V-z53a|EL*L}4P?g7l6u=GD4i`G#T2|z3@spYk8R-em9O&0P_zQJYJ*9&*I&f00(&+9} zh*pE5wy95Ut*huuKQ8X*#04yPsJ4;8fDmn}1r7nX?}9d)2a_>2j@De}8>Vi8tCJT= z`I%}o(4||62XNq5aeRos3Hc~AHDH#RHk^-k%_X302MNizET%|AeLHHZwyw z377*5fr*fCR)+>iZH1ImFo-<~`wyCa9=hW)Qb&zW25$mKU`L12DQcr3_%PXBK5|7> zee9~Cmu0UhR?BpEEH zu8o{{kUusXsg(u#(0V8?y~>kL1M)gxcfExa#FE3p>5r@t9JJ&?2!4s;*VEQ83*_~V z^vT_oHV7QyW)tuIXc?lvKG78_MD=rGl2`#zL)`Td_^6qB7q#-FpiDQ4um)B(Ss9j9YE?7 zwIf3hsr2e0aRsL&$g{0*K;fYJq9MoCX&$1@W&|-QlZL@N(h*4)LP;hhl_Oib@|>oC zVoO4}?M4|y5-bu*B11hQrYywY*G2Sn#*Dq_3^VR|LV#d~ja!~N7N&>UaV(=VIj#uN zX->!aZ6j^&r;v?2KCvu~?6({M{OHN~MF#kt4%>}W&Xt2Tx?JPi18ryT2!ESXAX(Yi z1c8^+Km8=m`7%3vaeG}cuPflJhjRwx);cYCUAK)B90oVzp>S;r*zE76>$~Xl?D=&i zdu~nvyl);>xzhn}c2JzYmkz(}kJrh767*lyzvaFJ>SYW39uA1p_s@09T3j`E!z<>@ z{I!4o7iqAFPVfAxGkU|XZ%kmV@^=in%ZV9wx3P*1Gy zo*TL{CS;I$+3fH5c`S*z<@_khbL*RQ`Wv0LI0kMrLK8A9Q6F`xYp`V%=|g$tPly89 z1Xfiua1K9qgKReSXAqmkf*@9}h~n3z1a-}QAUBc@Jfje+^u z7pfO{n-AN#_yQgRqA}iD!E7>kVU6Kzycs810afe(1X@Q)C#i1k6UzTG%f4<|UQt~? zHKz5=O(5_w0ghXbeh*0Ak0o#wS7OZontY5qlloA`+UwR^4t?$pSq;_2B~#ofDG9tYOPe12X}05CPM$GDmz?Sctbmbm!HuE#0&pI*x7)arig^;*m0i3OKu* z$JOMElEF0CcxVDbAz*g#_A-*_5P)V6Gz9VrRAZrlt#4N)=l~H0WQR!Qfum zN1&%B8C;EuN!0FG_yk@J3X=wP56+OuX0DUUw82T3L?FG{ks*@ta=Wbvk4|WJ3r0V^ zmf_Tiqt)n~FEhGl%Zj-!@=6HcXA5RaFukuq_9{H3mgPjg7xWok*Npe^C;!BA*J0L zn;^(r+wom=m!takiI0AUKKh9V9o5(2{mmczDvAogWi2QQyjNw?>I9v@!=a5P8=M=| zPZM#NVRkWLx3U4O>&oa9D7)Bx3(5!DxYiyAN8`YFAO=XThUd`#Nzh~U_U=5pY{yp# zkXoSqSuvfD>m}hW={$hlD=(!bnWs&?x24KtL+`5l6>2dIDn65rbpQ(9LSO{5;BhJ> z!46=K$SNiUk8&~$6q;DohvD`dd?bj-da|LZ`Ku1 zA~#Rizs%D~Ye;BIDC(z)cwiUJM+w7}`jhie0SWxtB36Se)X_}>vT-MpPL7B1Y_QB% zU;bHN`CGk;%Uc(IFq-yZbA0OG?PU^VJrHhR-eHF(*m<$&FH(L%Jy1D<;o8fM6Lw#R zkKsPM<;a3l4W#!Ne78V-U!T|akHlBU+e&#Yv-f~qgY|Gd_wR$_%K6-a_7a%u zp>Gx5dT+sc!=+9dBsl9gU8mKoUM)kmU#GH*AslXVCpe9i(qAFTp8m#v`N<*a-}TO? z$lNZsaMUXV_0A^$)A35SZ8W@iWAk768ToD;>jD$Sce!f=Q!w~M(fGF&bB_CP?BFj( z%{4w82z79u5Bk>}DOXaZ-GaLZH`qtKp0VfR6A5H}rXUUVyY%3t$odW1vvxlxY$>$W z_4N_dP*ULs3X$Qo%3RqQwUv;NTX0TIphwKR)2z&h;Z|QskoKp*e7yU1$eoCGEl^-n zEI@bb85+G_7RSHS!>;R$U7#B3LuS}nBNF)3bVloIh#j;);HbJ@9!*~vYq%z$Tk zG_>M&UU%IwR*9ZZe-gD&-dU1e9Zzg>N`%rpZOa6*!3IklO}6+DG8;MrjTnSY68e&m zOJbBj75X4O_=s@9xT6^1<9-CR91|>71}$wRaTZAiZHDqiFhjX@d-9rH-mBJZ93RCb z``r|I3wJ_oz2b_=UdO>LD#w_in{{RiL5O04v;gwpSaN3W^|AFAq|%f?E4>7y=j*BN zI*H%)u^-{}jGpySxa+IyOk9AC{Hr)JV1oTrYbLReu{L>0O1V_*NY<;eQPy_va1m+Yf^c8#xXxMrHnv85N9VV!HUg_!9euwmId;x<#on6r7vU0vIDyv}@Xj|HQ zM7I5FcbDerlFac6vp&r*o8g$+qZ)Yn)~z-lXm!1u*Hwc%xispEVQZJI479PXi0@xm zI&)3BYFZrX^;0oxP+oqklU;VslpuX6y9Vy_LYqlfuiFN)(%ww&D%ZMe`kO!a%k(Gy zp|5x4+0wh;_hdcAZl2p%G&}|9BX}?kCZHuFRlyW;HlESZ-{h#lWFNW}9pKQ0RQjg^ z7?>k}#%tujEE&DFj`&HTm01MSp`6NT9&P|^xgZh-Q*mhunnks4Jshrv`5N3yqmS2h z^dU`lm9oFc|k+S{^(4eUh)L@?^Jv+qBSw2ETqr%eH zMRu21Muw{)6dP;;p)__L^s%uWOwAS`p9l~5Bs76Yk`LejHE#Hb3?(FxhX=Kt(WI{^ znb;K7)VjTW2{!jP*QWE-*R-7$L3DhVmrWssW_|H4A~Q%l(g~S&P?0IvOojA3ukz;j z1xO-cA{Wbmd_c^x=B_&qik?}Ytyv1-nAj(xdYKh?HldZ4~Rpo3OHD_Z%Yc7+2p zmOK@}B@a2Wk}2w9$E-mFx(wLT;EYC+gYH?+BihkTIr07$z4*e53+P=>5{0Pzx+yyp zO#;)an+78B<(kaL%<{d3zYfeSgP?(k)TJe&@NdVy-~gzzG=9el1)nJgV&*JxWEeMu z&57OU6c4ThdWtYgE;CN@)6ga*dDqo{4!HLCIw%f(66mKsH=`e#jax5mu1mxW3h0}l zbg}jAfcH@n2&LYpN2kK+g5RTc4>d4&2Kt;I0x$DYx+mZWVcG6_3$!DGM$F8bogPaO zCMav%ie$K~-#T3s={m_)R-dus>(9FSy{Lx$8-EkY8{SLu#MjV%H#L4o&LYAY?aE(F z{=V?e%b3vYtQSzL-LJ+=KjWq-Pvlxh)6@)N3mjM2>%lhb%i%9POZ@CdiNElZ#QW!$ zrsoo*uLs7h$HA}n>)~?cO}i4LUzOQLZl8*)TqeaKD^9Jb@fD-_3!izGe)Z`+z5S_p zfY?*ZLd0XQdp*7Q%x6ipgF5dl>~yxEohWJ%Cj36IJ*F@`t`Ek=Oh2r@b6Xj-JkVdJ z;{dLIA6F{&O5Q>=8XXua^9}rPKizByT^hQk~5+soD zx~R~Z0zVVApnXDg<8KBRkr}3A>O|;-w6gildVu1&`8Ph4>%`ff(E52jCY^W~gH_pc zI(h)Zp_Iv+u_`(Z;=?029nyYB>JL$s)Y(2W^iNv*YkPa$Jwrrz&|vKj=${N`_8|j!p9IA(`E%_l6ACRUrbP*;Go`pu70Bk#K)Xvfdqkxc(_^^#j&~>Z< z6pfM30EkCOlYdfboYp71voku|ozcq=9$0P}Ly5H#l`R=2^ZA+51R*kR z&SDz3p+sbCXM~csmS691))vrF>~@6LFU2e##MQcLyac8DwnNA!clkb^LZ|xOA_e^*x1!{ z9D@yYyvbY6y%1?0>B7c(0v$+2jqt0JOab1k^sEsAY=2PBJd- zokrVv0}QON;zXamFFVz128l4(?Uv)tCIXC*vk9)PoEmMY*(b-HI7(*J_l>*QZOxE~ zB0x21?Q5XA{+VRIt#GWNv!7u|ZBfSmwDdI|fA&Dwzzpv+2Ol|j!w>Q8Q@lxj-@E=cNQ_!W^ ztc6blicsElD7eCf{AgtNpuXdMXbicrlvQ%_pl=48K}XkTJ_(j}2M^*%=XcI{8Q3ZW z(%CR$3IsDYS(}MRsNnGVLz%}SfT(2f1NQJQ_4IW)=&8K;(~z2H&}pM~&;oc{m6Tij zI!Z~ix}iEOMlJ2m&&y{_%eG_#$#6bFkGFPVoBN5{*WJmKsGl<(|YV;cl+I!dMW?_V)8-BIN4+%MKfw3>_2@Cvtd}7jV#j zaWN5bjnogL!4ZKhl2Ie{XcM;Ao~?((&3i8IqzlQmNW-{D%C;^`QVXN8qKA=_zcbTt zi#x-RDiH+oQF+A!-|Eon_K%{nQPC0gMqIV&a5UMA=p7FRm2ul>9NE|d>ia@bJ|@V) zfL@xA6FOyq9*84>l635=4<$i}H<`HMh&vSoVS>>gwe7RqfMYWzx?`11NF*vbIfB@c zLP4k{tqS17{Cir%u`PMn8i#=O&G)eRgo+1f1CuMS1TW1-CuQ47a~?dqb&D=8&gkaq zCIMd^n;l)f{~slK+xyF>(AIV4BGHZScqCXQaGxm#Wl7x|GqB$#!|FveFrGrEV%ON~ zG5JExIj>XIBzLZ9e(VL3+izcf-$eY0zqSPFFVql|n;ThV;JTjfK3~@r5vhWKCuP^w z4YiD}DSqu&7GwJxs7r5r>UH$X^s8jMeeiGyT+v9z-={!5g&mJM0BnJX8bb7c)v$W- zPWaHqQ&%}T)biijYz@q3-O@+Ct)5eDYJFzJL()ndfgU%$MC8SuF*sRmu0)%l$Pr9= zgRt=!W${sfO()K^wu4k1*eR!Qr4yjTMuI+j71IiL2}B<}xS>0@cgrdc$MbkxD9PKF z1HfRU1^S}Ivs>gNp=15xLnY)uL5T&k9kDuEwFTDu_56$LdiKP+WtR@>RvF%hSS;C9 zD*${fTm4Xjr0|TFiQ++OX*UZf#XL!-a$1YA%Y*qBqYfu~WB_7duFiZ|Ul_=&2U5so z(zlfZQj`fE4w3bvm&#%z)?H;yA6A?M`s#I}MnV1@!)=^87=ein>yId7 z%Hxvzlyq(2**rnluETT!BF6{t=;U0-mg^T$1mF#wIw@P?&z7L|<^8RH=eQ#9z)#97=rfDaz*N!>+l*FjL{}964M*Hh!pXkLs`<^X8-e0h6-pVJat17ox4c zWJBN8)wHY}uixO*Q`b>I*0tFCf6qTf(>s3CGTXau6>Xo(P-la^q%;2dHxoKwMkr z-lh>PPY;Q!bQMy$7375F|L5-CqfvV7wSH~3MDI8}0XbC~b1Yu^MnkdSJn0D)BjxaQ zgq9y14Iwng0yWn(x2>GRAUmXKoX_0hRdG%-LBK(f z0N=K1V(;8%P6fDhARQL$M@k6t=IX&RE)$)d!8ht*J8|3|i%x5g7$0fS$D@_zK_T)c zde+9NoSe z3Aw)B!w!nWQfhdIVB9WY1USLs4G&UMIihGQGYxg}Stna1!Z6E&%)mU*vF#u05ZrqK z8daNilj*~1>e>EcfQL|Yhf=Rou%&*uakO}VjYLbpjg#_t=0>D_J~ZSd2{J><5tU9K z1$6ux=-)b@G}QpNma)D@P!41ZyA%|h!z1JYXg_veC-ZYF+;l;!+&K;?myOnJnt;eA z-$9~7!;C19PY=M<_!^+EuM_U#tACv>O1Md&N4p7`6#Ee-tVRPDarWzD&v*mID4&kN z%y}8V(eu7uSeJ<>akgS3g+T5^Nk^aXs@YRYbXc(hsmavK`{Vl@0&zEHQ6Ez)P+#S zDj2{Y=;bxqBtQW>yG|#^gO}Cx-IGs}ym472f79=*t%{yTzm{7A^mP^e4BBZND-vK? zpx)?t|E2L*-M$_nZjh; zkN}ZtMQYmYnjoKU(9pW6i*Fl~w=vgw(e*XjtVSP^WDmSAoChC@besc|&))ulG+Jb_ z=A#TN$TBXxMIBEiV9hX0c7-VU`=*`}>gJ<#iU7;TN@#ndo#4RR_;nZa%v=}@lA!?b z3z;~b8O-mLU9;Q%&u%ij1nI%i0q`fi~jgvvxhe{JU`26jxu=Ga5#WU6cK#h3~nJ+I)F;ZR&mo8Unmk$TuHMV z4Y6M$`y5sghBg%h&JthTqUm+7qv@$TBzM0BJ^?Zt9k{(0XRGHh*+A$p039BT7togp z4wyX-0`EK%Uk0d(q2s6#dy?xr0cc8mb$VvOmcSWmc2D(~>au2G=}_W;|5lkPlwj*2 zFo$@44-a1FX*#y>ka(boc&d(`kxzo~GDW*kuV=)i5md^!DJ_)eIQ37#!0si<&|jV8 zZDFS4bAA71y1Ej&ef!*f8I+xNpHx1fj*F9I&PN2gBUFyVwt=u#fn5;DU!4v^u%P_} zIox*%DIe5Ns?FuIMdbwQ^*{X*!w|=@p6}@fvd^RXC~NR+pd+)~k7#5z7s!LYeDD<* zTUK8K@Es*&q(u8@CkGluCo8Q&?YlbTh@1p@27EYyKO`h_@Ya#bYz|lZ#ePk@GvAfK zh{U)_9ct4chO3UD#11g`;FxK|+xE;ZdHkGRy@l5H`f0_9!eSYxPHc6~%H~29R{4TU zS@HC9JIYfN2ceN|P~D8%;~RH$LyZ$4yn&$ED5E1PE{4)kV-1s4<%lpkE2G7}Q63N_ zNO#$VD1?Q8#OP95m6PZIMCn zf!lgDl8h8VISC^@FsQY5Z#u<{9m4cq@j%`Fb5s?77Izq`%&|4=GUeM=)>S*C<*2U{ zyIVVv1SP9_i%Ej;paA0JlZjeEZo=LJ*-#hE}gMCHSu6rvnCrWaMtQrr2YCkNhrlt=rs^F2RfWI+{1D;;xebM z$RVi~__x!n6133)62N#98W4nHlmIEXLbd#P-7zqmYiTa!jEOrQnDCJ8)9(%6^kagclgN$sl; zxn3VaA$(xt&TPFwn`Rly-_;tNU)_`-hTB%%p1&e|H4wgHL}OMC6AEKo2L&hu>a#@J zq@uk)-)O`H?lSU~kDtWuIDx<~aC}m`_}8f+Uu4kI_83lyN4{YS6`&P|X+J~7a!A{x z)R8}C+_ZyF%c>7)E&3 zi|p$GO%*#%EQODhZX)e9!D^c@NZ-UjnxqK&7tp>aK4R<|4nq|Q{TPpI!a+8kYqP1G zK9ryX`duFa0JxK&%-1P#FCVyFK74`W5J~?oNyXn|43zC>S$XFEXxjDB6lOh|xY;a| z-yd>mg@pP5o81~id%iO54j^kCD2U^l)nK=3Mg3e*m52W5lNdx~D+|H|cF2%Ot3Qej z8raCM*qYB&&#j;aDw2^5!lJrIz*ff!68a{fl<5)Du}VRek9{6fP$ww6Lnug}eT)}r z3!fteWvjkjKSY~@TRBud;E2wc3?Z!tm8?PfdY}>+uP%MK{Un{g?R{n2>|TQsHrAzn zDnbGhCiSplVob-t=K(EPQMcKoX2dM0RKCRfxfu_ak=SSW71%wpD*Zc8(DcL-oZtHT z+Q#fUWew6x5GY7P=~ve*e|ypg{0Dc~z#0zE?0|pK(cwWk|FWJoAk?2y4zwlcgHZ6> zZDnIaFZpkFq_my&->H>zy`Ms0OQT6%tyd?5(T1RIhsjV%HpAM%b@{Y1EI4rx$J0@o z$$5I+ZM183_auSW-GXfDqK8QQkoo>p%F6Kz_wFyKp3&tJq)$8;B_3Nv%^UKu#FmWi z&PG)Ej?CDptOx)=_V*$6v9(t%2)7OG=Df(n_03!kLJf~3SMIb)%~e;Jwy_c#uuL`+_K*|4+`*_BVs=;4eqX;# zQqq*h^k5XjJ;Hq)b;%e-RD0+6Wg906pxp2#$@=-3II1nI^MN9h8O5M^c8Y%O(H(yZ#lV+Cu@buya1Vh(by^%8me8C*W5!Cr+V!S%1@4-Ff-k}`Mq@ed|Fn|uVQ21b?Ky# z(^i}(TNRTC?Us3t>#x3E(G0T6ad1r6-}Wv!>pNK#pbryH3}P^^?Kg`*UEC(RT(Tek z22$6*uA<|nJo5UYIBD5ag+zvz8_1Kk9*lK+hF!@pb@GI9kjPDGaGIN-;p)W1BNH68 zBl4UiURB*E9RwM$rP_fh=xuaW>ND4+Z2Urr2tLCe)LQt}RrMs3gjNC^E87aWu7)%` z)Klbh>KrP9$sg%)d8o7zv}F1XDwcou5AM?o&%L;Ak)d1bcK3WpnryFd>gnQJDe5%W zz3iZy`8d)CNfmUIa3Wp^w$+XSl$vv0Ilp;uMf3GdJ>*J*a~`%n?$Kz~OC;(ot&{!l ze7z;-LwvAO(mY5WN%&H9+;yEx?~{?I%_J_P29?84v?x31Ht`d*?!^g^__Y@ zxQ(a}P!ZxGJ4r)+UB7&A|G@*gymiZqa#{d_iFSOwfm1(Rmq#ISE2@n~%fpnmVW$N; zEQ^qMz*IqHq=iT7+J}K-$HwaBNw1b}mNA)c+81tkf*?KXlXRmxN83`}iET6;*~d&x z_Ha@f6fyH)^r0OZkN{;oYY*n6o49Izdv%extB0|dE0_a3c}f!cyE;v7JJqoQQCYWg z=&Cw#aIV5OLlsStpa+#@d*{~6`wFg*TYQN^f;BrC5OeSK_qUB&T;{~br zPkwFrI@x}{q3BH!^{YAzMuyWf#0`cbOg5-;U$1BACz&HqZ+&vFra5-TTJq|JZ7ir` z>!*Elc#--2GD*R=UcXYqCIAxmlWof#4LnX7oWe}K0x=qF7X>4SO@T@za-C9XEvcGB zC$jS>siPg{_by4jLwFiQ+l~iuJt`gT=Foc@mLbAj0iDf29VR1o7l0uFCt?m0${;~h zm*&&!0_*$eg=TB+KH-7##>T@E`tcBHgOB)VC9k-@x}q1paBrDpBf5S2k}j6juxWBx z8&;=u2r9>CQ6`8;20J>KqRqF$z>J+P&$1@K*Ft{qUn;-+T;Hspn7g8z`&VVe0`T+r!(6;$ZO*bI%H^GM+GVLPU zQ{F!INza{t(@BNQu4r?88xLNpuYTORJg2T>$C!ojB9g$8Acm& z_8RNz`MUkQd^&Kd6NkB8pN=RK9CK@1=*4?4E-UC4%ilT0_m91v>QNH`XE(~6?dxiB z=VE8$jK*91J<8+3*bMe;0l#vNBXpuzxDy0HS;cxy->?6cuSP6?yxY~Y0dUYc{cQ~v zPId*E<>sCNpOC(?)^5eEok!-}wP)_35aAPPG#P|fz`sCI7+`HKk2#`8X;LGMJN8p? zAs*O}Q0(v8)P0l$gY9~+c1ur^Y;Tn^*~}g$br|(fivXJkBFdl;(EALYsNGcO z@n!Tg$aSPhZaM1@z*<$oW)CcV^5Bg`<&~oRzfbinVon(+sZ@WTK;@V3-N(=Ty z1EH~f;xNP!1Sgl82mNdlUkAqp+oNMR53WOfhchoh?Y-w;qFc8v>1>x?)0Ei1a>)^1 zugf^Lz&hMf&ugLJUv_GUgWPEQdZv-`-_6xc*&$MRe6?G;#htyq+&T}5&2)%>Yn=x# zzPL>8-O%mFZl|8Y?k-MkvQG|KZ-BS3zp)(bnj$2PbhrxOhp~uGLBSNa%{hGB{=d z9-&G=LT~Gt#Pea4lHU{T2I{h}q>{Rq%r!8aCVT|5R&B)`gFj`R_0G0u%ODVzErBB1 z9F@kTIDROkBYhnOI*N35-h{SOKCr^JN49*l*S3<-c>yg$h_)sXMmV^OU=5JX9tt?i zU^UpvbDGc-)U1P+C?O#U_N$dp0j4Z=1%5o8P-es|iT_U00}M4DL2;;lPm+*I$#!Lt zjdDH2z;=bEVh=Eo3Sz$+f6_?>j*1x!g63&C+&P2z;J@}>8VaikO*Hrs4xFZL0tU~6 zG0PT2jT@rXO0%BUz23Cb+?CG-9j7c4r|ApYDCKv(qhu;Zj_?;#IFuILkgl!l(BKu$ z_UjIuUK)_P+#w<(KSu2Z>yxaLXLi?w|-jcrkCEq1-0udu!wzO158%Vb;Cecbg} z22FCu9mkTC35_p2`z&296B_4b*MZvZe!o|kdjN6Jm;hZCUl3DzGP%~x0^F~Q>oW;G zMVrrkK5NSZ{!AL6W2+&vL!I)~i1pQ)>o#dJ#RW#|N3=O%@?BEnK|~mZ-RYsQgC1bF z;|8B&o2p*W*OK^$&&5E){f6v~_B>cCd1w>w5};`C4#+qSTjB%HM)$eSR{j>OW99fj z-A7M$l7@X!ZJ*8B!gEoo>+oZAg=cy7Ncd+NZo6*nMRE#<`XS@pImS;ls1?ad@0 zeHA3|fGGV0$g%!ASu14H4Xc6!iVNxK+ys2b&{uH-#zIDhM33#&=RP6(<)_n5P||lOA*<=>?K;<_ z+ZC%rs0VPy?jT1<<2Pj|Jc`bF2KrYHO1vn1%H@DK3ZJ%&EycSHs#srMc~U*iCPvzD zrB9<^+a7y;Uur_BT;FdlpANjb zuHSR-zD|Iqm~G4-Nxw7&yY}J!3op_Ocka-gC+^bz+2?7GUwbiA405afIf-=}EiPIn z-60SKRYt6i6s0H-$nja=x2_G@o;M#VReiU=(jU}{+etjRO0X40Rb9Vs?a-cS~w(PbR2eR88g55cV#>x-`>M^Owm=4?B zD06%y{~`INgEJ~C)XDr1pUC@kqQsunRqrVb?s_!~Dr*NjO6CwM436)p=RCZ3*#Slp z5Z?6~oxW@!8Fg(PY3Cbs==E3?>=nAQt}@UuotiLIJQ>O{1lFiMIgC&507^GDYVdMk zt^YXfs?eiBW}K)X7%>$f%xr%c}s1Eh8R`0j+mhz_InDb^7uykHq3mz2U&69pq_^b?mom7*b8 zR1a`Nft`8V_s27utwIFD-n`vgxTOley;ExEQ7CS$f;70Wg}#;$(jdj2VV}3VwUIa# z#j)!FF;<%$H^cx%Li-aY4TF*H-~EG;u9J98S4KK}0OdMRLR(sjyFSJVKxI>%a5MZ1 zpD0GCWoB}D02dT}bXm@6+lSZ@4rzu*t_FbL?`W2lYt-$CUE$iQi})!@s@bo^+kfMLD4Y# zwf;=Wenv&r3rTh$`^$i?fslg&Jpdw6FoTe`o1=CjRZQKB81=AfaXbSE^=qmlpmtk^ zy6>jaL%V~CI7O3NyPzvMJ|s{bshdJ$nHUFb-N+%6gt2$KqLWoO4<697pMQ>C_qw}u zYvKF*FW;~8Z>hd)=w!V>qjfD;KQd?Qp9(c55NyOfI1GoOZnhg7f&Adayg*M0sHv%uAr>er zbOK>wT^GNk^n%`CE2|PD#&bm7zT(UqiHDufn8NB(c_wa|QvC`eep4b&Y*pN4i=Av1 zIA{pa=`&d%Qp(OWb`#K0Jv=9BqXF%#s98_NbsWvS0NN(chK)q_Rs(DN4Z1h9M=fZk zszWT|k2+PNrlYt|A!|)9hl5hKH`A0gj8sTC zq;I5Rq{<3{H2+1A(_K=dy_XI2IrvB;UQ$>?E0$PH^-@eT(MIdr`6muWP#&n^xx?k^ zrTg^kv-jxy;jZ0>?EPlc z%NbF!e&i;HsiPa(94_1HpZUzwMLRz6#1pie;wLmi-xDq<4(?OR1`jp62Yx;K6XZ;C zYlp3j7Y^gooU8aB;xX>VYAt@_2POTkX>K#~IZ$`@=#^j%?5TBDa?4P#G8%57 zL_ATMDim`tMLX(@hK^uPwJF?Y8JS_^plX}G7{iH&T0fQfl7i1GPk}+jXS%g5LzLiX zEAc;7xKNA+k-FvkN(x2cR}}DfGrb~?jbIY0L$~Xo6&lnE%I7p((-e~B;!l@Q9#YJhNMPTOqlyL_hhyGcThed2g; zt3^by4Zu-CUsJyo8a{%)kCJ%j4+{fF{N+$NN!t?#!)Nmt(&NfQ1Mi*cU71>5LU1sm z(}+cVveMescFePg{ho2G5e-5othPIouZ|1QFw{2tlH@qR6hemrha+>D61Q$wl;%Xu zHJ@j*J#kD=Ns@jaCdoFeW-EI?(=3hWB%C`RgX4p^6O6VKhf0}kx;FX%aH}x6o*LFU zpnG9*FjC%k1BDtwbeav3?Z=~gG{j8tI*WlEpo9KOcT4V1XnvFZOzRPNLGS2*t|Nj; z3>kq5rijDX2o0ltFF+u$DSxB5CYGM(@#6R~e*SslvmM>JbE_Vl$hG&n;~>UO zs8^)3O+1ppq?Z901$zlLb4}}qRBo>KWrcQs^`JbScI#IpCY$i0PTeKhOP%KUFyfMA zKGtKpe(->v{`Avyz4-1=y!JKA#Kw7OLRlJ##>}xb(Mf(Emk`hm^o0OvY_lMvjfnb5 zdZKi_@n85G@FkClvBWP@b~IeCtLN8O_1uo#u2*UhQB;cm(=ZQ@`7x&)SrC2c5@qQ>_h7?{xDFx$Z~^%;?GF$ATjOe5GD zFuii6)lEs__C=@-JO``TUC&~gvggwJC1CP11P`KJaib9nZAbZZnlVl=Aasf2$ZYSE z=@xvL97~vCTQbbv7N4!VFLL7ckI0cSa^T^hS2hMi&xH=9;W!3Rha@~fVyJs?)hA;s zNjaQ8Dm?7B1o;>ldecjcPNA3r_pu^Z>;`j-iz@Thpq{AfvGnp)u4b1L;wU$@hz$A# zP}C5R)@^N-j&j2Z@t}uJor-ywiiLiSs6xJBp=BwWv6?u^MfH$70-c_W- ze}IJQsCo^0+RDYc)Zu^~_UA6OOyLup#I_Ev6F@$G+I(z(Jh|4pM%G^Wnf#80x>NZ= zI#q{^wW~cn_&C#Yg`zy^oE7=JF9xz>^4pi#v)CAP@qTMV2*GVhIktpDhuwi5eLK6 z2LURJ(MXN^I=DP3$suor!KrNs=_Gi>*sm~%B zs3rO*epPqo)h|b^hg04!E9dK~`Lyy&IT&v8g~$yViU)iiHj))E^z9uU0}GjCnlBBgki>u@2q% z&2@8IG$=P>M~-FA{M~2R3V5I&Ioa0Aq%iCdi9t|b+joa6e3x9rXK3=wRO*Lddr&t# zH3Be&m$D7Y7$zEjJQZ5|iYf-sD9kJ2UavQ(7zQ(OG~>IIWB&EGkkk; zJXit*vfaxT5v*L#6OW$8v>!f($(df)9OOy>lCmD51HP`OB;$@QS)pmo4iC%@889x^ z1_95)?FbH^(yYDl?R-vdY4w zQc9IVS(%BH&C8dsx%b`Xbi4VSwN`|?|J=i4ecwLsDyx*lz59G?#fotE@bE606^n4I z{dRSNchuD;WBn-oJW$`d4&S3>;2x0$PP!AU%Rk%UT#4KcGbSb))bJvKnIvpu%pW-> zUS)!EN=appBx*ASKEX5b^0|x}6`3KEbG)f0S;Xy>kiC8ok_ib-^o=M6%IF`7MutcN zN{F0-EO1d=4W}f0RG`TTWerd>96TEJBGz-=6SwmKj0ap4p9QAx3ds`3~cA( z`a@DP23Y_DuAL+v#bP^s`FG1cVXHY6MEe=5&tWdSk z68M2QIYGz}-JZ4ndpbSsuNyq=-#WkF^{2gVusF`3Cza9?=zHoQh$%v30{zB7Ue?J_ z80hatfeNM-3)2FM8WDx|ft^vv8edEr-SKgeTa*-}`xi*FZovG?r045{?kwwOo0fm6 z$j9==R2ucTr|YodO(SFT34zq};=tQQ4b+8ZTe$E9$VCU|8aXlst6HvrL9wwY)B=W- zS#yLIf-NKDwm!>m7@QNf71f$8Oqa!gI1Y9i2O4mL0&|R7dEQ31+@gbNWIz;B&q$7%l zA5k;_d(p+TaQ$z_kbVw&kF@H5XzDUzcQv%QQlVm^rM+e)F~-cg1P4NM@m>Ha47+u?EFtbhCa z#MjIIt@Qmswr!GD`XP~q%m?8;0P}qHU8-k{{pG&!)bXCS!y2E~LHRlWJe?l*9btQ^ z>#H-3t%RIuI3+);K7n1ZGLrfuRWi^G!nU&i^*T_0y-#M`v@P#@{MbHqxJ@`1e-UKp zC*%zlU4XBh;-bkCTCFWx2>GlB(#5h~->)U`XZzc>vTvvUZ<7z(gh`vM>E~!&E$&Bx zE>%K?c1+Ooq~hG|B31j)S2=m<&~2g?2M?sXq4}{crKHCI>>``-C(4X++hHIN-MY&aL0p~ z0xi}yrnsdgZi|nf2_T!XQ6QDVHQb)*fgQNFBppEZ_*#&w0*5SO?X(Fdpgq#+t>vSHu19Mq!x*jb>HMi7iE#BANL)&f>Ma1*gU!E=~ zy@T)D<%n!>vad+k^BK6*V~mrelFCHIYWQRT?>4%q37s~soV(3(e&SOvk3)QusJ>Ie z`j-T(6PZB|hjof??N6;sI3<$FzWXV1;HuT_%YaRG_K$A&ic4rKpo*#NcBW_Bl*1$! zxBA6AC~Q}lAL*V;De@Jmgqrds1jF) zX<`616@?6&f`5`wH)(9>O4xzI1R6d1Qk&wc{3wGRNQ((>A7Ns2K@3IT5uJB&Rmxz3 zQ6d_3S#x*l($g_^8`Rx2;BHtb+p)t3xCFUQA2xE6UrJ?>Fp@6=CJ>uEHIZf0;Gpyl%Vf z`D>->cd&jYWw;mnr%g0y<~}gL0(eJ;Udu$faSX+UEpe!v;1Pv|4#bCX7IT!FSqvP& z#{eww1N)C7kC3l%vL}+(Z03Q2PsV+b*jfJr(P)cupl7-#@tF;@X)GITD&SHD2+yd7 z8|tMd4a$LSohePbzivNF`5T7~tZtrMj3N#0p_@3iyn2!dbCOg_i_d87t*-_0?L1%E# zBPn#CXI0U$PtVmllYJ(bkz`3~l8p;7yReC+BA!iv)jG#zHGh`mJZ!X_S=Kp~1P8^? z{j&)ReW#YOzJre96F+}8;_o|K`Yf{%5%iP6AGB@4BKa%SU2l7Rv$tp{_s@ZIV-ZN6= znFpOJ%AqcZWE0fVz`yB(RHpkt%$1|b-VDEh7x03A+F1qk7jeu8TkH0+y8DCJCh}^% zOLBikz(P!sYWly_O+YdI3=1mw*)`#*<9?>h%LOuCES5Nd#l6H!6zo$UOzVTLBLesM zEF6Q3f#3;XDivmguV`!stj44KAEh)v#z|zJRnLQqv+&8km5p(@@&fI|xfJx7E=+Q9 zu8%Y%l*8QQGA-Hr)kAu&F_+=KVzc{WWMQ%kZ2wTOCuNeNQ3Hmd%&5;qz8ecmLE$jy z0a$A1%tvS=In;0d_?-Rg#8i)^D4xcOLtkFnw}IyqW`{l+7=D1KXb&INBORc-YtCC3 zoDNjZc7Kw*GE(5iU-oU=V*?7c8D>Acqjg*$fUI(nM6S5pmF36@qkF^mU)?yT_KtEI z9DR8AQe;qJYo}DgsWcD;cWXMp);`^;s(QmjX_6puXU+m^7myLJCvrXRHkcNFUXqzr z2_eJ;SCMOuf{!X*N*v(ZT=)*QNYmmv&$w9)&ULgUW)Z5pMVi2LdK>J7Et2X&ZG)xqCIw4>DzTGZ^uHytP zQ4BgNd&}W!tE(`RoCiZjZVS7xtFy<6f~?NI>mtcL5iC0CB#xF-6TyjAtC@a}(lcf2 zsLs&2sn+(~-qCFZ!hpOtPw*y{q2XCZh_ci3)bUIP=Q7DR-6slLq{H)~8p18L&Gesw zZ6=0Qw*-)l5USI3U=7a^As2Ok78_I!aFwTQa-Xh~CFXMg7ZVkw9xpe%>xNs-rV zs4d*6ol#%Gh;}QJK45#qQz&v-;={tByGvgofv0-7lblEedM4*m@uUUPY`Ft)pPZU;^+aUah56J z!kc*uqd?|z&_`9B%Elg{y5u?4Bz$X$&jY)5m#ee067KhF6jl)4JcApyF7#D)O!0f` z5kBgMmQd-AGKo%BX`;ZqpgSs;oCTC+fcn&8p<4AY+{826#Xv+QPK~Glt zDS`lXe5SHYfeyYHcITaXGLG#!pM>=N<#0eF3g7+*E37GK=1#D!jE96BK*5nkeN+8s zXfDcJgtpVosjt*A7+VB%8)X`3QWY|1liC<2I@$-lqGQV1JWEH231#+I8<>x3ys>E^!MLD2I``;=zby#R8WCtbNBo|4_C#w&e-tJzl0Y$K9V z7(2?crSj=5FDD8>#@g#cZMOyni!5v@QDt#B)}OSkG97~~ zoZ}1vkfIt|_5+A0FE(L8b0IK>&?GLBs>9N6zQ%0rIF7JI4(Q3(bKb=me$LUR-EI@|HT&XEoFnED<=C1m~oK5=l6ec`@4@xajix>&Ygh;PGQtJQ!>OCY(_91 z=$211@?4Um-NMv1A6#$ejH^u}nLH5E9U`apQX(eJ#^Zau`+*~xw-<@6aNYA@L}9o- zfP(TkQ4!MI_N1iFe!iNO%N~O(6m~G?G8DI`(c>nYi3IISi6{2w!FXWCRRP)386LrjL zgDwf0tM-IhugZU^5Ff$g0J6dL_Ao^oh7%2(=~2XCvfk0~K~s=Mv`{>dsX*~hh%Ra0 zbCP^Za4v#fCA3KRJ8SWT4mY3xCrMFGLVZqJko#g64fb;h z+;;W$a0Q*fUN;`t#535#O61xD)w2^Z>wxXC=>NKZQbSTYqqCQmm$8&et&Oeuik7SX zWuU!JPUNpQY=8X>0%{Xv`UQg^{{rO=v4CAc>;#j*cnX3L?x<5Z0*$d4B9&<;D=%%k z<7oH1$b1-J8(7SPb`TYdU=_Vmw0p)lF6yVEB6XPn6@3MGB2@!09g-iE@?It2 zyIfGLq%=~Eo&ZNcxWDOQK^brWJc(9PbtCth^CZg)Yb=eD$P<4koqf(Bo z=P2vlrg(QH+h~pEP~O^v#GLz*(&%R5eQA36pyI!J={jd|;D{IxEV47+w;v5f5yk&bGz`REl;M zNusf+53T_xDeW9BWrwajVz6PgnSeN^L*=kKT-&jsT%->T$#L}qpqW*Y@~0It2FE^N zvjB_|DHUBa0-j?8oHt3*h%1AlhD>-0Z=fdvhQwqig!gTbEn5XhdDU;#!W%r4on!

    2Twa2cRBV|yhy8kis$fwmK$Nhv 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 T`SIKa00000NkvXXu0mjf{`O)K literal 0 HcmV?d00001 diff --git a/summarization-poc/frontend/Project/public/assets/images/acsIcon.png b/summarization-poc/frontend/Project/public/assets/images/acsIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb7fdc0f37c05a203bed2811125396942959aac GIT binary patch literal 9713 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 literal 0 HcmV?d00001 diff --git a/summarization-poc/frontend/Project/public/index.html b/summarization-poc/frontend/Project/public/index.html new file mode 100644 index 00000000..2bf4de62 --- /dev/null +++ b/summarization-poc/frontend/Project/public/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + ACS Calling Sample + + + +

    + + + \ No newline at end of file diff --git a/summarization-poc/frontend/Project/serverConfig.json b/summarization-poc/frontend/Project/serverConfig.json new file mode 100644 index 00000000..5ae3e9e3 --- /dev/null +++ b/summarization-poc/frontend/Project/serverConfig.json @@ -0,0 +1,4 @@ +{ + "connectionString": "", + "functionAppOneSignalTokenRegistrationUrl": "" +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/src/App.css b/summarization-poc/frontend/Project/src/App.css new file mode 100644 index 00000000..e7284ff3 --- /dev/null +++ b/summarization-poc/frontend/Project/src/App.css @@ -0,0 +1,1223 @@ +/********************************* +* Small screen * +*********************************/ +@media (max-width: 575.98px) { + .sdk-docs-header { + text-align: left; + } + + .in-call-button { + font-size: x-large; + } + + .remote-video-loading-spinner { + border: 8px solid #f3f3f3; + border-radius: 50%; + border-top: 8px solid #75b6e7; + width: 60px; + height: 60px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + transform: translate(-50%, -50%); + } + + .card { + border-top: 1px solid #605e5c; + padding-top: 1.5em; + padding-bottom: 1.5em; + padding-right: 0em; + padding-left: 0em; + } + + .login-pannel.teams { + margin-top: 10px; + } +} + +body { + margin: 0; + font-size: 14px !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: #0D1114; + color: #c5c5c5 !important; + font-weight: 500; +} + +/********************************* +* Code Examples * +*********************************/ +pre { + overflow-x: auto; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} + +/********************************* +* Headers * +*********************************/ +h1, +h2, +h3, +h4, +h5, +h6 { + color: #ffffff; + margin-top: 0; + margin-bottom: .5rem; + font-weight: unset; +} + +.header { + padding-top: 1em; + padding-bottom: 0.5em; +} + +.nav-bar-icon { + height: 5em; +} + +.sdk-docs-header { + text-align: right; + font-weight: 300; +} + +.sdk-docs-link { + color: #edebe9; + text-decoration: underline; +} + +.login-pannel { + height: 300px; +} + +input:disabled { + color: #8f8f8f !important; +} + +.loader { + border: 2px solid #edebe9; + border-top: 2px solid #75b6e7; + border-radius: 50%; + width: 14px; + height: 14px; + animation: spin 0.75s linear infinite; +} + +.ringing-loader { + border: 5px solid #edebe9; + border-top: 5px solid #75b6e7; + border-radius: 50%; + width: 30px; + height: 30px; + animation: spin 1.5s linear infinite; +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +/* Safari */ +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + } +} + +.identity { + color: #75b6e7 +} + +.ListGroup { + max-height: 15rem; + overflow: auto; +} + +.ListGroup li { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +button:focus { + outline: 0; +} + +.card { + border-top: 1px solid #605e5c; + padding-top: 3em; + padding-bottom: 3em; + padding-right: 1em; + padding-left: 1em; +} + +ul { + list-style-type: none; +} + +.pre-call-grid-container { + display: flex; + flex-wrap: wrap; +} + +.pre-call-grid { + display: flex; + flex-direction: column; + padding-right: 2em; +} + +.pre-call-grid span { + margin: 20px 20px 10px 0; +} + +.pre-call-grid-panel { + padding: 0.3em; + border: 1px solid #605e5c; + height: 100%; +} + +.ms-u-sm2 { + width: 8em +} + +.participants-panel { + max-height: 60em; + overflow-y: auto; + padding: 1em; + width: fit-content; +} + +.participants-panel-list { + padding-left: 0; + margin-top: 0; +} + +.participant-item { + padding-top: 2em; + padding-bottom: 2em; + padding-left: 1em; +} + +.participant-item:hover { + background-color: #201f1e; +} + +.ms-Persona-primaryText, +.ms-Persona-primaryText:hover { + color: #edebe9; + text-wrap: wrap; +} + +.participant-remove, +.participant-remove:hover { + color: #a4262c; + text-decoration: none; +} + +.add-participant-panel { + padding: 0.5em; + border: 1px solid #605e5c; +} + +.add-participant-button { + padding-bottom: 0.4em; + padding-right: 0.4em; + padding-left: 0.4em; + font-size: x-large; + color: #edebe9; +} + +.separator { + margin-top: 10px; + margin-bottom: 10px; + border-bottom: 1px solid #605e5c; +} + +.ms-TextField { + margin-top: 25px; + margin-bottom: 25px; +} + +.ms-TextField-fieldGroup { + border: 0px; + box-sizing: unset; + background-color: #0D1114; +} + +.ms-TextField-field { + border: 1px solid #3b3b3b !important; + background-color: #0D1114; + color: #edebe9; + border-radius: 20px; + height: 35px; + padding-left: 1em; +} + +.ms-TextField-field::placeholder { + font-size: 14px; +} + +.ms-TextField-field:hover { + background-color: #0D1114; + color: #edebe9; +} + +.ms-TextField-wrapper>label { + color: #c5c5c5; + font-weight: 400; + font-size: 12px; +} + +div.push-notification-options[disabled], +div.ms-Checkbox.is-disabled>input[type="checkbox"]+label.ms-Checkbox-label>span.ms-Checkbox-text, +.ms-TextField-field:disabled, +.ms-TextField-field::placeholder, +.ms-TextField.is-disabled>.ms-TextField-wrapper>label, +div.ms-Checkbox.is-disabled>input[type="checkbox"]+label.ms-Checkbox-label>div.ms-Checkbox-checkbox>i.ms-Checkbox-checkmark { + color: #484644 !important; +} + +div.ms-Checkbox>input[type="checkbox"]+label.ms-Checkbox-label>div.ms-Checkbox-checkbox { + background-color: #201f1e; + border: 1px solid #605e5c; +} + +div.ms-Checkbox.is-disabled>input[type="checkbox"]+label.ms-Checkbox-label>div.ms-Checkbox-checkbox { + border: 1px solid #484644; +} + +div.ms-Checkbox>input[type="checkbox"]+label.ms-Checkbox-label>span.ms-Checkbox-text { + color: white; + font-size: 0.8rem; +} + +.primary-button { + font-size: 14px; + height: 40px; + color: #000000; + background-color: #e1e1e1; + border: 1px solid #e1e1e1; + outline: none; + margin-right: 1em; + margin-bottom: 1em; + border-radius: 20px; + padding-right: 25px; + padding-left: 25px; +} + +.primary-button:hover { + color: #278cda; + background-color: #201f1e; + border: 1px solid #278cda; +} + +.primary-button:disabled { + background-color: #2f2f2f; + border-color: #4b4b4b; + outline: none; + color: #000000; +} + +.secondary-button { + font-size: 14px; + height: 40px; + color: #000000; + background-color: #e1e1e1; + border: 1px solid #e1e1e1; + outline: none; + margin-right: 1em; + margin-bottom: 1em; + border-radius: 20px; + padding-right: 25px; + padding-left: 25px; +} + +.secondary-button:hover { + color: #278cda; + background-color: #201f1e; + border: 1px solid #278cda; +} + +.call-input-panel { + padding: 0 0.6em; +} + +.call-input-panel-input-label-disabled { + color: #484644 !important; +} + +.in-call-button, +.incoming-call-button { + padding-right: 0.4em; + padding-left: 0.4em; + font-size: 24px; +} + +.incoming-call-button, +.incoming-call-label { + display: inline; +} + +.in-call-button:hover, +.incoming-call-button:hover { + cursor: pointer; +} + +.in-call-button:first-child { + border-radius: 0px; +} + +.video-grid-row { + display: grid; + gap: 1px; + padding-bottom: 25px; + grid-template-columns: repeat(auto-fit, minmax(min(99%/1, 100%/4), 1fr)); +} + +@media screen and (max-width: 1024px) { + .video-grid-row { + display: block; + } +} + +.video-grid-row>.stream-container.rendering:nth-child(3n-1):nth-last-of-type(1) { + grid-column: span 2; +} + +.video-grid-row>.stream-container.rendering:nth-child(3n-2):nth-last-of-type(1) { + grid-column: span 3; +} + +.pptLive { + display: block; + padding: 2vh 2vw; + width: 100%; + height: 50vh; +} + +.video-title { + position: absolute; + bottom: 8%; + left: 4%; + margin-bottom: 0px; + width: 50%; + background-color: #0000006e; + margin: 0.4em; + margin-left: 0.5em; + margin-right: 0.5em; + padding: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +.video-stats { + position: absolute; + top: 10%; + left: 4%; + margin-bottom: 0px; + background-color: #0000006e; + margin: 0.4em; + margin-left: 0.5em; + margin-right: 0.5em; + padding: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +.speaking-border-for-initials>.ms-Persona-coin>.ms-Persona-imageArea>.ms-Persona-initials { + box-shadow: 0px 0px 0px 3px #75b6e7, 0px 0px 20px 5px #75b6e7; +} + +.speaking-border-for-video { + box-shadow: 0px 0px 0px 3px #75b6e7; +} + +.remote-video-container { + position: relative; + height: 100%; +} + +.remote-video-container video { + object-fit: cover !important; + object-position: center center; +} + +.remote-video-loading-spinner { + border: 12px solid #f3f3f3; + border-radius: 50%; + border-top: 12px solid #75b6e7; + width: 100px; + height: 100px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + transform: translate(-50%, -50%); +} + +.icon-text-large { + vertical-align: middle; + font-size: large; +} + +.icon-text-xlarge { + vertical-align: middle; + font-size: x-large; +} + +.popover { + border: 1px solid #605e5c; + border-radius: 0; +} + +.popover-header { + background-color: #292827; + color: #edebe9; + border-bottom: 1px solid #292827; + border-radius: 0; +} + +.popover-body { + background-color: #292827; + color: #edebe9; +} + +/********************************* +* Width and Height * +*********************************/ +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +/********************************* +* Font weights * +*********************************/ +.fontweight-100 { + font-weight: 100; +} + +.fontweight-200 { + font-weight: 200; +} + +.fontweight-300 { + font-weight: 300; +} + +.fontweight-400 { + font-weight: 400; +} + +.fontweight-500 { + font-weight: 500; +} + +.fontweight-600 { + font-weight: 600; +} + +.fontweight-700 { + font-weight: 700; +} + +/********************************* +* Alignment * +**********************************/ +.align-items-center { + align-items: center; +} + +.justify-content-left { + justify-content: left; +} + +.justify-content-right { + justify-content: right; +} + +.justify-content-center { + justify-content: center; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.inline-block { + display: inline-block; + vertical-align: middle; +} + +.inline-flex { + display: inline-flex; +} + +/********************************* +* Margin and Padding * +**********************************/ +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +div.callDebugInfoJSONStringDiv { + background-color: #292827; + /* height: 500px; + width: 1350px; */ + height: auto; + width: auto; + max-width: 1350px; + max-height: 500px; + overflow-y: auto; + overflow-x: auto; +} + +.video-effects-loading-spinner { + border: 8px solid #f3f3f3; + border-radius: 50%; + border-top: 8px solid #75b6e7; + width: 50px; + height: 50px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + transform: translate(-50%, -50%); +} + +.video-effects-image-picker.disabled { + cursor: not-allowed !important; + pointer-events: none !important; +} + +.video-effects-image-picker.disabled img { + filter: brightness(20%); +} + +.video-effects-image-picker img { + width: 100%; + height: 100%; +} + +.video-effects-image-picker .selected { + border: 1px solid #f3f3f3; +} + +.video-effects-image-picker i { + position: absolute; + bottom: 10px; + right: 10px; +} + +.video-effects-image-picker .image-overlay-icon.show { + display: block; +} + +.video-effects-image-picker .image-overlay-icon.hide { + display: none; +} + +div.volumeVisualizer { + --volume: 0%; + position: relative; + width: 200px; + height: 20px; + margin: 50px; + background-color: #DDD; +} + +div.volumeVisualizer::before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: var(--volume); + background-color: #75b6e7; + transition: width 100ms linear; +} + +.volume-indicatordiv { + width: 300px; + border: 1px solid #605e5c; + padding: 8px; +} + +.stream-container { + order: 1; + display: none; + position: relative; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 100%; +} + +.stream-container[id*="ScreenSharing"] { + order: 0; + grid-column: span 3 !important; +} + +.scrollable-captions-container { + overflow: auto; + max-height: 300px; + display: flex; + flex-direction: column-reverse; +} + +.scrollable-captions-container .captions-area .caption-item { + transform: translateZ(0); +} + +.custom-video-effects-buttons:not(.outgoing) { + display: flex; + position: absolute; + top: 4%; + left: 5%; + margin-bottom: -0.5em; +} + +.custom-video-effects-buttons:not(.outgoing) button { + z-index: 999; + background-color: #0000006e; + border: none; +} + +.video-feature-sample .primary-button { + background: transparent; + border: 1px solid #fff; +} + +.video-feature-sample .primary-button.is-disabled { + border: 1px solid grey; + color: grey; +} + +.spotlightEnabled { + border: 1px solid #75b6e7; +} + +.lobby-action { + margin-top: 2px; +} + +.red-link { + color: red; +} + +.green-link { + color: green; +} + +.participantMenu, +.participantMenu:hover { + background-color: inherit; + width: fit-content; + color: white; + border: none; + margin-right: 5px; +} + +.participantMenu .ms-Icon { + font-size: 30px; + border: none; +} + +.callFeatureEnabled, +.callFeatureEnabled:hover { + color: #75b6e7; +} + +.dominant-speakers-list { + max-height: 12em; + overflow-y: auto; +} + +.dropdown-pos { + float: right; +} + +.summary-text { + background-color: #333; + color: white; + padding: 10px; + overflow-wrap: break-word; + white-space: pre-wrap; + font-size: 15px; +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/src/App.js b/summarization-poc/frontend/Project/src/App.js new file mode 100644 index 00000000..eefc1895 --- /dev/null +++ b/summarization-poc/frontend/Project/src/App.js @@ -0,0 +1,46 @@ +import React, { useState } from 'react'; +import './App.css'; +import MakeCall from './MakeCall/MakeCall' +import { initializeIcons } from '@uifabric/icons'; +import { ToastContainer } from 'react-toastify'; + +initializeIcons(); + +function App() { + let [users, setUsers] = useState([]); + + function VWebSdkVersion() { + return require('../package.json').dependencies['@azure/communication-calling']; + } + + return ( + + ); +} + +export default App; diff --git a/summarization-poc/frontend/Project/src/Constants.js b/summarization-poc/frontend/Project/src/Constants.js new file mode 100644 index 00000000..7e5c5674 --- /dev/null +++ b/summarization-poc/frontend/Project/src/Constants.js @@ -0,0 +1,7 @@ +export const URL_PARAM = { + DISPLAY_NAME: 'dn', + MEETING_LINK: 'ml', + VIDEO: 'video', + MIC: 'mic', + ON: 'on' +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/src/MakeCall/AddParticipantPopover.js b/summarization-poc/frontend/Project/src/MakeCall/AddParticipantPopover.js new file mode 100644 index 00000000..0cc0784d --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/AddParticipantPopover.js @@ -0,0 +1,59 @@ +import React, { useState } from "react"; +import { PrimaryButton, TextField } from 'office-ui-fabric-react'; +import { CallKind } from "@azure/communication-calling"; +import { createIdentifierFromRawId } from '@azure/communication-common'; + +export default function AddParticipantPopover({call}) { + const [userId, setUserId] = useState(''); + const [threadId, setThreadId] = useState(''); + const [alternateCallerId, setAlternateCallerId] = useState(''); + + function handleAddParticipant() { + console.log('handleAddParticipant', userId); + try { + let participantId = createIdentifierFromRawId(userId); + call._kind === CallKind.TeamsCall ? + call.addParticipant(participantId, {threadId}) : + call.addParticipant(participantId); + } catch (e) { + console.error(e); + } + } + + function handleAddPhoneNumber() { + console.log('handleAddPhoneNumber', userId); + try { + call.addParticipant({ phoneNumber: userId }, { alternateCallerId: { phoneNumber: alternateCallerId }}); + } catch (e) { + console.error(e); + } + } + + return ( +
    +
    +
    +
    +

    Add a participant

    +
    + setUserId(e.target.value)} /> + { + call._kind === CallKind.TeamsCall && + setThreadId(e.target.value)} /> + } + { + call._kind === CallKind.Call && + setAlternateCallerId(e.target.value)} /> + } + Add Participant + { + call._kind === CallKind.Call && + < PrimaryButton className="secondary-button mt-1" onClick={handleAddPhoneNumber}>Add Phone Number + } +
    +
    +
    +
    +
    + ); +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/src/MakeCall/AudioEffects/AudioEffectsContainer.js b/summarization-poc/frontend/Project/src/MakeCall/AudioEffects/AudioEffectsContainer.js new file mode 100644 index 00000000..e2cb87e3 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/AudioEffects/AudioEffectsContainer.js @@ -0,0 +1,497 @@ +import React from 'react'; +import { Features, LocalAudioStream } from '@azure/communication-calling'; +import { + EchoCancellationEffect, + DeepNoiseSuppressionEffect +} from '@azure/communication-calling-effects'; +import { Dropdown, PrimaryButton } from '@fluentui/react'; + +export const LoadingSpinner = () => { + return ( +
    + ); +}; + +export default class AudioEffectsContainer extends React.Component { + constructor(props) { + super(props); + this.call = props.call; + this.deviceManager = props.deviceManager; + this.localAudioStreamFeatureApi = null; + this.localAudioStream = null; + + this.state = { + supportedAudioEffects: [], + supportedAudioEffectsPopulated: false, + autoGainControl: { + startLoading: false, + stopLoading: false, + autoGainControlList: [], + currentSelected: undefined + }, + echoCancellation: { + startLoading: false, + stopLoading: false, + echoCancellationList: [], + currentSelected: undefined + }, + noiseSuppression: { + startLoading: false, + stopLoading: false, + noiseSuppressionList: [], + currentSelected: undefined + }, + activeEffects: { + autoGainControl: [], + echoCancellation: [], + noiseSuppression: [] + } + }; + + this.initLocalAudioStreamFeatureApi(); + } + + componentDidCatch(e) { + this.logError(JSON.stringify(e)); + } + + componentDidMount() { + this.populateAudioEffects(); + } + + logError(error) { + console.error(error); + } + + logWarn(error) { + console.warn(error); + } + + initLocalAudioStreamFeatureApi() { + const localAudioStream = this.call.localAudioStreams.find(a => { + return a.mediaStreamType === 'Audio'; + }); + + if (!localAudioStream) { + this.logWarn('No local audio streams found, creating a new one..'); + const selectedMicrophone = this.deviceManager.selectedMicrophone; + if (selectedMicrophone) { + this.localAudioStream = new LocalAudioStream(selectedMicrophone); + } else { + this.logWarn('No selected microphone found, cannot create LocalAudioStream'); + return; + } + } else { + this.localAudioStream = localAudioStream; + } + + const lasFeatureApi = this.localAudioStream.feature && this.localAudioStream.feature(Features?.AudioEffects); + if (!lasFeatureApi) { + this.logError('Could not get local audio stream feature API.'); + return; + } + this.localAudioStreamFeatureApi = lasFeatureApi; + + this.localAudioStreamFeatureApi.on('effectsError', (error) => { + this.logError(JSON.stringify(error)); + }); + + this.localAudioStreamFeatureApi.on('effectsStarted', (effect) => { + this.updateActiveEffects(); + console.log(`Audio effects started: ${JSON.stringify(effect?.name ?? effect)}`); + }); + + this.localAudioStreamFeatureApi.on('effectsStopped', (effect) => { + this.updateActiveEffects(); + console.log(`Audio effects stopped: ${JSON.stringify(effect?.name ?? effect)}`); + }); + } + + updateActiveEffects() { + this.setState({ + activeEffects: { + autoGainControl: this.localAudioStreamFeatureApi?.activeEffects?.autoGainControl, + echoCancellation: this.localAudioStreamFeatureApi?.activeEffects?.echoCancellation, + noiseSuppression: this.localAudioStreamFeatureApi?.activeEffects?.noiseSuppression + } + }); + } + + async populateAudioEffects() { + const supported = []; + + const autoGainControlList = []; + const echoCancellationList = []; + const noiseSuppressionList = []; + + if (this.localAudioStreamFeatureApi) { + if (await this.localAudioStreamFeatureApi.isSupported('BrowserAutoGainControl')) { + supported.push('BrowserAutoGainControl'); + autoGainControlList.push({ + key: 'BrowserAutoGainControl', + text: 'Browser Auto Gain Control' + }); + } + + if (await this.localAudioStreamFeatureApi.isSupported('BrowserEchoCancellation')) { + supported.push('BrowserEchoCancellation'); + echoCancellationList.push({ + key: 'BrowserEchoCancellation', + text: 'Browser Echo Cancellation' + }); + } + + if (await this.localAudioStreamFeatureApi.isSupported('BrowserNoiseSuppression')) { + supported.push('BrowserNoiseSuppression'); + noiseSuppressionList.push({ + key: 'BrowserNoiseSuppression', + text: 'Browser Noise Suppression' + }); + } + + const echoCancellation = new EchoCancellationEffect(); + if (await this.localAudioStreamFeatureApi.isSupported(echoCancellation)) { + supported.push(echoCancellation); + echoCancellationList.push({ + key: echoCancellation.name, + text: 'Echo Cancellation' + }); + } + + const deepNoiseSuppression = new DeepNoiseSuppressionEffect(); + if (await this.localAudioStreamFeatureApi.isSupported(deepNoiseSuppression)) { + supported.push(deepNoiseSuppression); + noiseSuppressionList.push({ + key: deepNoiseSuppression.name, + text: 'Deep Noise Suppression' + }); + } + + this.setState({ + supportedAudioEffects: [ ...supported ], + supportedAudioEffectsPopulated: true, + autoGainControl: { + ...this.state.autoGainControl, + autoGainControlList + }, + echoCancellation: { + ...this.state.echoCancellation, + echoCancellationList + }, + noiseSuppression: { + ...this.state.noiseSuppression, + noiseSuppressionList + }, + activeEffects: { + autoGainControl: this.localAudioStreamFeatureApi?.activeEffects?.autoGainControl, + echoCancellation: this.localAudioStreamFeatureApi?.activeEffects?.echoCancellation, + noiseSuppression: this.localAudioStreamFeatureApi?.activeEffects?.noiseSuppression + } + }); + } + } + + findEffectFromSupportedList(name) { + const effect = this.state.supportedAudioEffects.find((supportedEffect) => { + if (typeof supportedEffect === 'string' && supportedEffect === name) { + return true; + } else if (typeof supportedEffect === 'object' && supportedEffect.name && supportedEffect.name === name) { + return true; + } + }); + + return effect; + } + + /* ------------ AGC control functions - start ---------------- */ + agcSelectionChanged(e, item) { + const effect = this.findEffectFromSupportedList(item.key); + if (effect) { + this.setState({ + autoGainControl: { + ...this.state.autoGainControl, + currentSelected: effect + } + }); + } + } + + async startAgc() { + this.setState({ + autoGainControl: { + ...this.state.autoGainControl, + startLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.startEffects({ + autoGainControl: this.state.autoGainControl.currentSelected + }); + } + + this.setState({ + autoGainControl: { + ...this.state.autoGainControl, + startLoading: false + } + }); + } + + async stopAgc() { + this.setState({ + autoGainControl: { + ...this.state.autoGainControl, + stopLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.stopEffects({ + autoGainControl: true + }); + } + + this.setState({ + autoGainControl: { + ...this.state.autoGainControl, + stopLoading: false + } + }); + } + /* ------------ AGC control functions - end ---------------- */ + + /* ------------ EC control functions - start ---------------- */ + ecSelectionChanged(e, item) { + const effect = this.findEffectFromSupportedList(item.key); + if (effect) { + this.setState({ + echoCancellation: { + ...this.state.echoCancellation, + currentSelected: effect + } + }); + } + } + + async startEc() { + this.setState({ + echoCancellation: { + ...this.state.echoCancellation, + startLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.startEffects({ + echoCancellation: this.state.echoCancellation.currentSelected + }); + } + + this.setState({ + echoCancellation: { + ...this.state.echoCancellation, + startLoading: false + } + }); + } + + async stopEc() { + this.setState({ + echoCancellation: { + ...this.state.echoCancellation, + stopLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.stopEffects({ + echoCancellation: true + }); + } + + this.setState({ + echoCancellation: { + ...this.state.echoCancellation, + stopLoading: false + } + }); + } + /* ------------ EC control functions - end ---------------- */ + + /* ------------ NS control functions - start ---------------- */ + nsSelectionChanged(e, item) { + const effect = this.findEffectFromSupportedList(item.key); + if (effect) { + this.setState({ + noiseSuppression: { + ...this.state.noiseSuppression, + currentSelected: effect + } + }); + } + } + + async startNs() { + this.setState({ + noiseSuppression: { + ...this.state.noiseSuppression, + startLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.startEffects({ + noiseSuppression: this.state.noiseSuppression.currentSelected + }); + } + + this.setState({ + noiseSuppression: { + ...this.state.noiseSuppression, + startLoading: false + } + }); + } + + async stopNs() { + this.setState({ + noiseSuppression: { + ...this.state.noiseSuppression, + stopLoading: true + } + }); + + if (this.localAudioStreamFeatureApi) { + await this.localAudioStreamFeatureApi.stopEffects({ + noiseSuppression: true + }); + } + + this.setState({ + noiseSuppression: { + ...this.state.noiseSuppression, + stopLoading: false + } + }); + } + /* ------------ NS control functions - end ---------------- */ + + render() { + return ( + <> + {this.state.supportedAudioEffects.length > 0 ? +
    +
    +
    +

    Current active:

    +
    +
    +
    + {this.state.activeEffects.autoGainControl?.length > 0 && +
    + {this.state.activeEffects.autoGainControl[0]} +
    + } + {this.state.activeEffects.echoCancellation?.length > 0 && +
    + {this.localAudioStreamFeatureApi.activeEffects.echoCancellation[0]} +
    + } + {this.state.activeEffects.noiseSuppression?.length > 0 && +
    + {this.state.activeEffects.noiseSuppression[0]} +
    + } +
    +
    +
    + this.agcSelectionChanged(e, item)} + options={this.state.autoGainControl.autoGainControlList} + placeholder={'Select an option'} + styles={{ dropdown: { width: 300, color: 'black' }, label: { color: 'white' } }} + /> +
    +
    + this.startAgc()} + > + {this.state.autoGainControl.startLoading ? : 'Start AGC'} + + + this.stopAgc()} + > + {this.state.autoGainControl.stopLoading ? : 'Stop AGC'} + +
    +
    + +
    +
    + this.ecSelectionChanged(e, item)} + options={this.state.echoCancellation.echoCancellationList} + placeholder={'Select an option'} + styles={{ dropdown: { width: 300, color: 'black' }, label: { color: 'white' } }} + /> +
    +
    + this.startEc()} + > + {this.state.echoCancellation.startLoading ? : 'Start EC'} + + + this.stopEc()} + > + {this.state.echoCancellation.stopLoading ? : 'Stop EC'} + +
    +
    + +
    +
    + this.nsSelectionChanged(e, item)} + options={this.state.noiseSuppression.noiseSuppressionList} + placeholder={'Select an option'} + styles={{ dropdown: { width: 300, color: 'black' }, label: { color: 'white' } }} + /> +
    +
    + this.startNs()} + > + {this.state.noiseSuppression.startLoading ? : 'Start NS'} + + + this.stopNs()} + > + {this.state.noiseSuppression.stopLoading ? : 'Stop NS'} + +
    +
    +
    + : +
    + Audio effects and enhancements are not supported in the current environment.
    + They are currently only supported on Windows Chrome, Windows Edge, MacOS Chrome, MacOS Edge and MacOS Safari. +
    + } + + ) + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/CallCaption.js b/summarization-poc/frontend/Project/src/MakeCall/CallCaption.js new file mode 100644 index 00000000..cf429a82 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/CallCaption.js @@ -0,0 +1,150 @@ +import React, { useEffect, useState } from "react"; +import { Features } from '@azure/communication-calling'; +import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; + +// CallCaption react function component +const CallCaption = ({ call }) => { + const [captionsFeature, setCaptionsFeature] = useState(call.feature(Features.Captions)); + const [captions, setCaptions] = useState(captionsFeature.captions); + const [currentSpokenLanguage, setCurrentSpokenLanguage] = useState(captions.activeSpokenLanguage); + const [currentCaptionLanguage, setCurrentCaptionLanguage] = useState(captions.activeCaptionLanguage); + + useEffect(() => { + try { + startCaptions(captions); + } + catch(e) { + console.log("Captions not configured for this release version") + } + + return () => { + // cleanup + stopCaptions(captions); + captions.off('CaptionsActiveChanged', captionsActiveHandler); + captions.off('CaptionsReceived', captionsReceivedHandler); + captions.off('SpokenLanguageChanged', activeSpokenLanguageHandler); + if (captions.captionsType === 'TeamsCaptions') { + captions.off('CaptionLanguageChanged', activeCaptionLanguageHandler); + } + }; + }, []); + + const startCaptions = async () => { + try { + if (!captions.isCaptionsFeatureActive) { + await captions.startCaptions({ spokenLanguage: 'en-us' }); + } + captions.on('CaptionsActiveChanged', captionsActiveHandler); + captions.on('CaptionsReceived', captionsReceivedHandler); + captions.on('SpokenLanguageChanged', activeSpokenLanguageHandler); + if (captions.captionsType === 'TeamsCaptions') { + captions.on('CaptionLanguageChanged', activeCaptionLanguageHandler); + } + } catch (e) { + console.error('startCaptions failed', e); + } + }; + + const stopCaptions = async () => { + try { + await captions.stopCaptions(); + } catch (e) { + console.error('stopCaptions failed', e); + } + }; + + const captionsActiveHandler = () => { + console.log('CaptionsActiveChanged: ', captions.isCaptionsFeatureActive); + } + const activeSpokenLanguageHandler = () => { + setCurrentSpokenLanguage(captions.activeSpokenLanguage); + } + const activeCaptionLanguageHandler = () => { + setCurrentCaptionLanguage(captions.activeCaptionLanguage); + } + + const captionsReceivedHandler = (captionData) => { + let mri = ''; + if (captionData.speaker.identifier.kind === 'communicationUser') { + mri = captionData.speaker.identifier.communicationUserId; + } else if (captionData.speaker.identifier.kind === 'microsoftTeamsUser') { + mri = captionData.speaker.identifier.microsoftTeamsUserId; + } else if (captionData.speaker.identifier.kind === 'phoneNumber') { + mri = captionData.speaker.identifier.phoneNumber; + } + + let captionAreasContainer = document.getElementById('captionsArea'); + const newClassName = `prefix${mri.replace(/:/g, '').replace(/-/g, '').replace(/\+/g, '')}`; + const captionText = `${captionData.timestamp.toUTCString()} + ${captionData.speaker.displayName}: ${captionData.captionText ?? captionData.spokenText}`; + + let foundCaptionContainer = captionAreasContainer.querySelector(`.${newClassName}[isNotFinal='true']`); + if (!foundCaptionContainer) { + let captionContainer = document.createElement('div'); + captionContainer.setAttribute('isNotFinal', 'true'); + captionContainer.style['borderBottom'] = '1px solid'; + captionContainer.style['whiteSpace'] = 'pre-line'; + captionContainer.textContent = captionText; + captionContainer.classList.add(newClassName); + captionContainer.classList.add('caption-item') + + captionAreasContainer.appendChild(captionContainer); + + } else { + foundCaptionContainer.textContent = captionText; + + if (captionData.resultType === 'Final') { + foundCaptionContainer.setAttribute('isNotFinal', 'false'); + } + } + }; + + const spokenLanguageSelectionChanged = async (event, item) => { + const spokenLanguages = captions.supportedSpokenLanguages; + const language = spokenLanguages.find(language => { return language === item.key }); + await captions.setSpokenLanguage(language); + setCurrentSpokenLanguage(language); + }; + + const SpokenLanguageDropdown = () => { + const keyedSupportedSpokenLanguages = captions.supportedSpokenLanguages.map(language => ({key: language, text: language})); + return + } + + const captionLanguageSelectionChanged = async (event, item) => { + const captionLanguages = captions.supportedCaptionLanguages; + const language = captionLanguages.find(language => { return language === item.key }); + await captions.setCaptionLanguage(language); + setCurrentCaptionLanguage(language); + }; + + const CaptionLanguageDropdown = () => { + const keyedSupportedCaptionLanguages = captions.supportedCaptionLanguages.map(language => ({key: language, text: language})); + return + } + + return ( + <> + {captions && } + {captions && captions.captionsType === 'TeamsCaptions' && } +
    +
    +
    +
    + + ); +}; + +export default CallCaption; diff --git a/summarization-poc/frontend/Project/src/MakeCall/CallCard.js b/summarization-poc/frontend/Project/src/MakeCall/CallCard.js new file mode 100644 index 00000000..1ef61de5 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/CallCard.js @@ -0,0 +1,1843 @@ +import React from "react"; +import { MessageBar, MessageBarType } from 'office-ui-fabric-react' +import { FunctionalStreamRenderer as StreamRenderer } from "./FunctionalStreamRenderer"; +import AddParticipantPopover from "./AddParticipantPopover"; +import RemoteParticipantCard from "./RemoteParticipantCard"; +import { Panel, PanelType } from 'office-ui-fabric-react/lib/Panel'; +import { Icon } from '@fluentui/react/lib/Icon'; +import LocalVideoPreviewCard from './LocalVideoPreviewCard'; +import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; +import { LocalVideoStream, Features, LocalAudioStream } from '@azure/communication-calling'; +import { utils } from '../Utils/Utils'; +import CustomVideoEffects from "./RawVideoAccess/CustomVideoEffects"; +import VideoEffectsContainer from './VideoEffects/VideoEffectsContainer'; +import AudioEffectsContainer from './AudioEffects/AudioEffectsContainer'; +import { AzureLogger } from '@azure/logger'; +import VolumeVisualizer from "./VolumeVisualizer"; +import CurrentCallInformation from "./CurrentCallInformation"; +import DataChannelCard from './DataChannelCard'; +import CallCaption from "./CallCaption"; +import Lobby from "./Lobby"; +import { ParticipantMenuOptions } from './ParticipantMenuOptions'; +import MediaConstraint from './MediaConstraint'; +import RecordConstraint from '../Summarization/RecordConstraint'; +import { summarizationService } from "../Summarization/summarizationService"; +import '../App.css'; + +export default class CallCard extends React.Component { + constructor(props) { + super(props); + this.callFinishConnectingResolve = undefined; + this.call = props.call; + this.localVideoStream = this.call.localVideoStreams.find(lvs => { + return lvs.mediaStreamType === 'Video' || lvs.mediaStreamType === 'RawMedia' + }); + this.localScreenSharingStream = undefined; + this.deviceManager = props.deviceManager; + this.remoteVolumeLevelSubscription = undefined; + this.handleRemoteVolumeSubscription = undefined; + this.streamIsAvailableListeners = new Map(); + this.videoStreamsUpdatedListeners = new Map(); + this.identifier = props.identityMri; + this.spotlightFeature = this.call.feature(Features.Spotlight); + this.raiseHandFeature = this.call.feature(Features.RaiseHand); + this.capabilitiesFeature = this.call.feature(Features.Capabilities); + this.capabilities = this.capabilitiesFeature.capabilities; + this.dominantSpeakersFeature = this.call.feature(Features.DominantSpeakers); + this.recordingFeature = this.call.feature(Features.Recording); + this.transcriptionFeature = this.call.feature(Features.Transcription); + this.lobby = this.call.lobby; + if (Features.Reaction) { + this.meetingReaction = this.call.feature(Features.Reaction); + } + if (Features.PPTLive) { + this.pptLiveFeature = this.call.feature(Features.PPTLive); + this.pptLiveHtml = React.createRef(); + } + this.isTeamsUser = props.isTeamsUser; + this.dummyStreamTimeout = undefined; + this.state = { + ovc: 4, + callState: this.call.state, + callId: this.call.id, + remoteParticipants: [], + allRemoteParticipantStreams: [], + remoteScreenShareStream: undefined, + canOnVideo: this.capabilities.turnVideoOn?.isPresent || this.capabilities.turnVideoOn?.reason === 'FeatureNotSupported', + canUnMuteMic: this.capabilities.unmuteMic?.isPresent || this.capabilities.unmuteMic?.reason === 'FeatureNotSupported', + canShareScreen: this.capabilities.shareScreen?.isPresent || this.capabilities.shareScreen?.reason === 'FeatureNotSupported', + canRaiseHands: this.capabilities.raiseHand?.isPresent || this.capabilities.raiseHand?.reason === 'FeatureNotSupported', + canSpotlight: this.capabilities.spotlightParticipant?.isPresent || this.capabilities.spotlightParticipant?.reason === 'FeatureNotSupported', + canMuteOthers: this.capabilities.muteOthers?.isPresent || this.capabilities.muteOthers?.reason === 'FeatureNotSupported', + canReact: this.capabilities.useReactions?.isPresent || this.capabilities.useReactions?.reason === 'FeatureNotSupported', + videoOn: this.call.isLocalVideoStarted, + screenSharingOn: this.call.isScreenSharingOn, + micMuted: this.call.isMuted, + incomingAudioMuted: false, + onHold: this.call.state === 'LocalHold' || this.call.state === 'RemoteHold', + outgoingAudioMediaAccessActive: false, + cameraDeviceOptions: props.cameraDeviceOptions ? props.cameraDeviceOptions : [], + speakerDeviceOptions: props.speakerDeviceOptions ? props.speakerDeviceOptions : [], + microphoneDeviceOptions: props.microphoneDeviceOptions ? props.microphoneDeviceOptions : [], + selectedCameraDeviceId: props.selectedCameraDeviceId, + selectedSpeakerDeviceId: this.deviceManager.selectedSpeaker?.id, + selectedMicrophoneDeviceId: this.deviceManager.selectedMicrophone?.id, + isShowParticipants: false, + showSettings: false, + // StartWithNormal or StartWithDummy + localScreenSharingMode: undefined, + callMessage: undefined, + dominantSpeakerMode: false, + captionOn: false, + dominantRemoteParticipant: undefined, + logMediaStats: false, + sentResolution: '', + remoteVolumeIndicator: undefined, + remoteVolumeLevel: undefined, + mediaCollector: undefined, + isSpotlighted: false, + isHandRaised: false, + dominantSpeakersListActive: false, + dominantSpeakers: [], + showDataChannel: false, + showAddParticipantPanel: false, + reactionRows: [], + pptLiveActive: false, + isRecordingActive: false, + isTranscriptionActive: false, + lobbyParticipantsCount: this.lobby?.participants.length, + inCallRecordingConstraint: null, + isCallRecordingActive: false, + recordingStartedNotification: undefined, + recordingId: undefined, + isByos: false + }; + this.selectedRemoteParticipants = new Set(); + this.dataChannelRef = React.createRef(); + this.localVideoPreviewRef = React.createRef(); + this.localScreenSharingPreviewRef = React.createRef(); + this.isSetCallConstraints = this.call.setConstraints !== undefined; + } + + componentWillUnmount() { + this.call.off('stateChanged', () => { }); + this.deviceManager.off('videoDevicesUpdated', () => { }); + this.deviceManager.off('audioDevicesUpdated', () => { }); + this.deviceManager.off('selectedSpeakerChanged', () => { }); + this.deviceManager.off('selectedMicrophoneChanged', () => { }); + this.call.off('localVideoStreamsUpdated', () => { }); + this.call.off('idChanged', () => { }); + this.call.off('isMutedChanged', () => { }); + this.call.off('isIncomingAudioMutedChanged', () => { }); + this.call.off('isScreenSharingOnChanged', () => { }); + this.call.off('remoteParticipantsUpdated', () => { }); + this.state.mediaCollector?.off('sampleReported', () => { }); + this.state.mediaCollector?.off('summaryReported', () => { }); + this.call.feature(Features.DominantSpeakers).off('dominantSpeakersChanged', () => { }); + this.call.feature(Features.Spotlight).off('spotlightChanged', this.spotlightStateChangedHandler); + this.call.feature(Features.RaiseHand).off('raisedHandEvent', this.raiseHandChangedHandler); + this.call.feature(Features.RaiseHand).off('loweredHandEvent', this.raiseHandChangedHandler); + this.recordingFeature.off('isRecordingActiveChanged', this.isRecordingActiveChangedHandler); + this.transcriptionFeature.off('isTranscriptionActiveChanged', this.isTranscriptionActiveChangedHandler); + this.lobby?.off('lobbyParticipantsUpdated', () => { }); + if (Features.Reaction) { + this.call.feature(Features.Reaction).off('reaction', this.reactionChangeHandler); + } + if (Features.PPTLive) { + this.call.feature(Features.PPTLive).off('isActiveChanged', this.pptLiveChangedHandler); + } + this.dominantSpeakersFeature.off('dominantSpeakersChanged', this.dominantSpeakersChanged); + } + + componentDidMount() { + if (this.call) { + this.deviceManager.on('videoDevicesUpdated', async e => { + e.added.forEach(addedCameraDevice => { + const addedCameraDeviceOption = { key: addedCameraDevice.id, text: addedCameraDevice.name }; + // If there were no cameras in the system and then a camera is plugged in / enabled, select it for use. + if (this.state.cameraDeviceOptions.length === 0 && !this.state.selectedCameraDeviceId) { + this.setState({ selectedCameraDeviceId: addedCameraDevice.id }); + } + this.setState(prevState => ({ + ...prevState, + cameraDeviceOptions: [...prevState.cameraDeviceOptions, addedCameraDeviceOption] + })); + }); + + e.removed.forEach(async removedCameraDevice => { + // If the selected camera is removed, select a new camera. + // If there are no other cameras, then just set this.state.selectedCameraDeviceId to undefined. + // When the selected camera is removed, the calling sdk automatically turns video off. + // User needs to manually turn video on again. + this.setState(prevState => ({ + ...prevState, + cameraDeviceOptions: prevState.cameraDeviceOptions.filter(option => { return option.key !== removedCameraDevice.id }) + }), () => { + if (removedCameraDevice.id === this.state.selectedCameraDeviceId) { + this.setState({ selectedCameraDeviceId: this.state.cameraDeviceOptions[0]?.key }); + } + }); + }); + }); + + this.deviceManager.on('audioDevicesUpdated', e => { + e.added.forEach(addedAudioDevice => { + const addedAudioDeviceOption = { key: addedAudioDevice.id, text: addedAudioDevice.name }; + if (addedAudioDevice.deviceType === 'Speaker') { + this.setState(prevState => ({ + ...prevState, + speakerDeviceOptions: [...prevState.speakerDeviceOptions, addedAudioDeviceOption] + })); + } else if (addedAudioDevice.deviceType === 'Microphone') { + this.setState(prevState => ({ + ...prevState, + microphoneDeviceOptions: [...prevState.microphoneDeviceOptions, addedAudioDeviceOption] + })); + } + }); + + e.removed.forEach(removedAudioDevice => { + if (removedAudioDevice.deviceType === 'Speaker') { + this.setState(prevState => ({ + ...prevState, + speakerDeviceOptions: prevState.speakerDeviceOptions.filter(option => { return option.key !== removedAudioDevice.id }) + })) + } else if (removedAudioDevice.deviceType === 'Microphone') { + this.setState(prevState => ({ + ...prevState, + microphoneDeviceOptions: prevState.microphoneDeviceOptions.filter(option => { return option.key !== removedAudioDevice.id }) + })) + } + }); + }); + + this.deviceManager.on('selectedSpeakerChanged', () => { + this.setState({ selectedSpeakerDeviceId: this.deviceManager.selectedSpeaker?.id }); + }); + + this.deviceManager.on('selectedMicrophoneChanged', () => { + this.setState({ selectedMicrophoneDeviceId: this.deviceManager.selectedMicrophone?.id }); + }); + + const callStateChanged = () => { + console.log('Call state changed ', this.call.state); + if (this.call.state !== 'None' && + this.call.state !== 'Connecting' && + this.call.state !== 'Incoming') { + if (this.callFinishConnectingResolve) { + this.callFinishConnectingResolve(); + } + } + if (this.call.state !== 'Disconnected') { + this.setState({ callState: this.call.state }); + } + + if (this.call.state === 'LocalHold' || this.call.state === 'RemoteHold') { + this.setState({ canRaiseHands: false }); + this.setState({ canSpotlight: false }); + } + if (this.call.state === 'Connected') { + this.setState({ canRaiseHands: this.capabilities.raiseHand?.isPresent || this.capabilities.raiseHand?.reason === 'FeatureNotSupported' }); + this.setState({ canSpotlight: this.capabilities.spotlightParticipant?.isPresent || this.capabilities.spotlightParticipant?.reason === 'FeatureNotSupported' }); + } + } + callStateChanged(); + this.call.on('stateChanged', callStateChanged); + + this.call.on('idChanged', () => { + console.log('Call id Changed ', this.call.id); + this.setState({ callId: this.call.id }); + }); + + this.call.on('isMutedChanged', () => { + console.log('Local microphone muted changed ', this.call.isMuted); + this.setState({ micMuted: this.call.isMuted }); + }); + + this.call.on('isIncomingAudioMutedChanged', () => { + console.log('Incoming audio muted changed ', this.call.isIncomingAudioMuted); + this.setState({ incomingAudioMuted: this.call.isIncomingAudioMuted }); + }); + + this.call.on('isLocalVideoStartedChanged', () => { + this.setState({ videoOn: this.call.isLocalVideoStarted }); + }); + + this.call.on('isScreenSharingOnChanged', () => { + this.setState({ screenSharingOn: this.call.isScreenSharingOn }); + if (!this.call.isScreenSharing) { + if (this.state.localScreenSharingMode == 'StartWithDummy') { + clearTimeout(this.dummyStreamTimeout); + this.dummyStreamTimeout = undefined; + } + this.setState({ localScreenSharingMode: undefined }); + } + }); + + this.call.on('mutedByOthers', () => { + const messageBarText = 'You have been muted by someone else'; + this.setState(prevState => ({ + ...prevState, + callMessage: `${prevState.callMessage ? prevState.callMessage + `\n` : ``} ${messageBarText}.` + })); + }); + + const handleParticipant = (participant) => { + if (!this.state.remoteParticipants.find((p) => { return p === participant })) { + this.setState(prevState => ({ + ...prevState, + remoteParticipants: [...prevState.remoteParticipants, participant] + }), () => { + const handleVideoStreamAdded = (vs) => { + if (vs.isAvailable) this.updateListOfParticipantsToRender('streamIsAvailable'); + const isAvailableChangedListener = () => { + this.updateListOfParticipantsToRender('streamIsAvailableChanged'); + } + this.streamIsAvailableListeners.set(vs, isAvailableChangedListener); + vs.on('isAvailableChanged', isAvailableChangedListener) + } + + participant.videoStreams.forEach(handleVideoStreamAdded); + + const videoStreamsUpdatedListener = (e) => { + e.added.forEach(handleVideoStreamAdded); + e.removed.forEach((vs) => { + this.updateListOfParticipantsToRender('videoStreamsRemoved'); + const streamIsAvailableListener = this.streamIsAvailableListeners.get(vs); + if (streamIsAvailableListener) { + vs.off('isAvailableChanged', streamIsAvailableListener); + this.streamIsAvailableListeners.delete(vs); + } + }); + } + this.videoStreamsUpdatedListeners.set(participant, videoStreamsUpdatedListener); + participant.on('videoStreamsUpdated', videoStreamsUpdatedListener); + }); + } + } + + this.call.remoteParticipants.forEach(rp => handleParticipant(rp)); + + this.call.on('remoteParticipantsUpdated', e => { + console.log(`Call=${this.call.callId}, remoteParticipantsUpdated, added=${e.added}, removed=${e.removed}`); + e.added.forEach(participant => { + console.log('participantAdded', participant); + handleParticipant(participant) + }); + e.removed.forEach(participant => { + console.log('participantRemoved', participant); + if (participant.callEndReason) { + this.setState(prevState => ({ + ...prevState, + callMessage: `${prevState.callMessage ? prevState.callMessage + `\n` : ``} + Remote participant ${utils.getIdentifierText(participant.identifier)} disconnected: code: ${participant.callEndReason.code}, subCode: ${participant.callEndReason.subCode}.` + })); + } + this.setState({ remoteParticipants: this.state.remoteParticipants.filter(p => { return p !== participant }) }); + this.updateListOfParticipantsToRender('participantRemoved'); + const videoStreamUpdatedListener = this.videoStreamsUpdatedListeners.get(participant); + if (videoStreamUpdatedListener) { + participant.off('videoStreamsUpdated', videoStreamUpdatedListener); + this.videoStreamsUpdatedListeners.delete(participant); + } + participant.videoStreams.forEach(vs => { + const streamIsAvailableListener = this.streamIsAvailableListeners.get(vs); + if (streamIsAvailableListener) { + vs.off('isAvailableChanged', streamIsAvailableListener); + this.streamIsAvailableListeners.delete(vs); + } + }); + }); + }); + const mediaCollector = this.call.feature(Features.MediaStats).createCollector(); + this.setState({ mediaCollector }); + mediaCollector.on('sampleReported', (data) => { + if (this.state.logMediaStats) { + AzureLogger.log(`${(new Date()).toISOString()} MediaStats sample: ${JSON.stringify(data)}`); + } + let sentResolution = ''; + if (data?.video?.send?.length) { + if (data.video.send[0].frameWidthSent && data.video.send[0].frameHeightSent) { + sentResolution = `${data.video.send[0].frameWidthSent}x${data.video.send[0].frameHeightSent}` + } + } + if (this.state.sentResolution !== sentResolution) { + this.setState({ sentResolution }); + } + let stats = {}; + if (this.state.logMediaStats) { + if (data?.video?.receive?.length) { + data.video.receive.forEach(v => { + stats[v.streamId] = v; + }); + } + if (data?.screenShare?.receive?.length) { + data.screenShare.receive.forEach(v => { + stats[v.streamId] = v; + }); + } + } + this.state.allRemoteParticipantStreams.forEach(v => { + let renderer = v.streamRendererComponentRef.current; + const videoStats = stats[v.stream.id]; + const transportId = videoStats?.transportId; + const transportStats = transportId && data?.transports?.length ? data.transports.find(item => item.id === transportId) : undefined; + renderer?.updateReceiveStats(videoStats, transportStats); + }); + if (this.state.logMediaStats) { + if (data.video.send.length > 0) { + let renderer = this.localVideoPreviewRef.current; + renderer?.updateSendStats(data.video.send[0]); + } + if (data.screenShare.send.length > 0) { + let renderer = this.localScreenSharingPreviewRef.current; + renderer?.updateSendStats(data.screenShare.send[0]); + } + } + }); + mediaCollector.on('summaryReported', (data) => { + if (this.state.logMediaStats) { + AzureLogger.log(`${(new Date()).toISOString()} MediaStats summary: ${JSON.stringify(data)}`); + } + }); + + const dominantSpeakersChangedHandler = async () => { + try { + if (this.state.dominantSpeakerMode) { + + const newDominantSpeakerIdentifier = this.call.feature(Features.DominantSpeakers).dominantSpeakers.speakersList[0]; + if (newDominantSpeakerIdentifier) { + console.log(`DominantSpeaker changed, new dominant speaker: ${newDominantSpeakerIdentifier ? utils.getIdentifierText(newDominantSpeakerIdentifier) : `None`}`); + + // Set the new dominant remote participant + const newDominantRemoteParticipant = utils.getRemoteParticipantObjFromIdentifier(this.call, newDominantSpeakerIdentifier); + + // Get the new dominant remote participant's stream tuples + const streamsToRender = []; + for (const streamTuple of this.state.allRemoteParticipantStreams) { + if (streamTuple.participant === newDominantRemoteParticipant && streamTuple.stream.isAvailable) { + let view; + if (!streamTuple.streamRendererComponentRef.current.getRenderer()) { + view = await streamTuple.streamRendererComponentRef.current.createRenderer(); + }; + streamsToRender.push({ streamTuple, view }); + } + } + + const previousDominantSpeaker = this.state.dominantRemoteParticipant; + this.setState({ dominantRemoteParticipant: newDominantRemoteParticipant }); + + if (previousDominantSpeaker) { + // Remove the old dominant remote participant's streams + this.state.allRemoteParticipantStreams.forEach(streamTuple => { + if (streamTuple.participant === previousDominantSpeaker) { + streamTuple.streamRendererComponentRef.current.disposeRenderer(); + } + }); + } + + // Render the new dominany speaker's streams + streamsToRender.forEach((x) => { + x.streamTuple.streamRendererComponentRef.current.attachRenderer(x.view); + }) + + } else { + console.warn('New dominant speaker is undefined'); + } + } + } catch (error) { + console.error(error); + } + }; + + const dominantSpeakerIdentifier = this.call.feature(Features.DominantSpeakers).dominantSpeakers.speakersList[0]; + if (dominantSpeakerIdentifier) { + this.setState({ dominantRemoteParticipant: utils.getRemoteParticipantObjFromIdentifier(dominantSpeakerIdentifier) }) + } + this.call.feature(Features.DominantSpeakers).on('dominantSpeakersChanged', dominantSpeakersChangedHandler); + + const ovcFeature = this.call.feature(Features.OptimalVideoCount); + const ovcChangedHandler = () => { + if (this.state.ovc !== ovcFeature.optimalVideoCount) { + this.setState({ ovc: ovcFeature.optimalVideoCount }); + this.updateListOfParticipantsToRender('optimalVideoCountChanged'); + } + } + ovcFeature?.on('optimalVideoCountChanged', () => ovcChangedHandler()); + this.spotlightFeature.on("spotlightChanged", this.spotlightStateChangedHandler); + this.raiseHandFeature.on("loweredHandEvent", this.raiseHandChangedHandler); + this.raiseHandFeature.on("raisedHandEvent", this.raiseHandChangedHandler); + this.capabilitiesFeature.on('capabilitiesChanged', this.capabilitiesChangedHandler); + this.dominantSpeakersFeature.on('dominantSeapkersChanged', this.dominantSpeakersChanged); + this.meetingReaction?.on('reaction', this.reactionChangeHandler); + this.pptLiveFeature?.on('isActiveChanged', this.pptLiveChangedHandler); + this.recordingFeature.on('isRecordingActiveChanged', this.isRecordingActiveChangedHandler); + this.transcriptionFeature.on('isTranscriptionActiveChanged', this.isTranscriptionActiveChangedHandler); + this.lobby?.on('lobbyParticipantsUpdated', this.lobbyParticipantsUpdatedHandler); + } + } + + updateListOfParticipantsToRender(reason) { + + const ovcFeature = this.call.feature(Features.OptimalVideoCount); + const optimalVideoCount = ovcFeature.optimalVideoCount; + console.log(`updateListOfParticipantsToRender because ${reason}, ovc is ${optimalVideoCount}`); + console.log(`updateListOfParticipantsToRender currently rendering ${this.state.allRemoteParticipantStreams.length} streams`); + console.log(`updateListOfParticipantsToRender checking participants that were removed`); + let streamsToKeep = this.state.allRemoteParticipantStreams.filter(streamTuple => { + return this.state.remoteParticipants.find(participant => participant.videoStreams.find(stream => stream === streamTuple.stream && stream.isAvailable)); + }); + + let screenShareStream = this.state.remoteScreenShareStream; + console.log(`updateListOfParticipantsToRender current screen share ${!!screenShareStream}`); + screenShareStream = this.state.remoteParticipants + .filter(participant => participant.videoStreams.find(stream => stream.mediaStreamType === 'ScreenSharing' && stream.isAvailable)) + .map(participant => { + return { + stream: participant.videoStreams.filter(stream => stream.mediaStreamType === 'ScreenSharing')[0], + participant, + streamRendererComponentRef: React.createRef() + } + })[0]; + + console.log(`updateListOfParticipantsToRender streams to keep=${streamsToKeep.length}, including screen share ${!!screenShareStream}`); + + if (streamsToKeep.length > optimalVideoCount) { + console.log('updateListOfParticipantsToRender reducing number of videos to ovc=', optimalVideoCount); + streamsToKeep = streamsToKeep.slice(0, optimalVideoCount); + } + + // we can add more streams if we have less than optimalVideoCount + if (streamsToKeep.length < optimalVideoCount) { + console.log(`stack is capable of rendering ${optimalVideoCount - streamsToKeep.length} more streams, adding...`); + let streamsToAdd = []; + this.state.remoteParticipants.forEach(participant => { + const newStreams = participant.videoStreams + .flat() + .filter(stream => stream.mediaStreamType === 'Video' && stream.isAvailable) + .filter(stream => !streamsToKeep.find(streamTuple => streamTuple.stream === stream)) + .map(stream => { return { stream, participant, streamRendererComponentRef: React.createRef() } }); + streamsToAdd.push(...newStreams); + }); + streamsToAdd = streamsToAdd.slice(0, optimalVideoCount - streamsToKeep.length); + console.log(`updateListOfParticipantsToRender identified ${streamsToAdd.length} streams to add`); + streamsToKeep = streamsToKeep.concat(streamsToAdd.filter(e => !!e)); + } + console.log(`updateListOfParticipantsToRender final number of streams to render ${streamsToKeep.length}}`); + this.setState(prevState => ({ + ...prevState, + remoteScreenShareStream: screenShareStream, + allRemoteParticipantStreams: streamsToKeep + })); + } + + spotlightStateChangedHandler = (event) => { + this.setState({ + isSpotlighted: utils.isParticipantSpotlighted( + this.identifier, this.spotlightFeature.getSpotlightedParticipants()) + }) + } + + isRecordingActiveChangedHandler = (event) => { + this.setState({ isRecordingActive: this.recordingFeature.isRecordingActive }) + } + + isTranscriptionActiveChangedHandler = (event) => { + this.setState({ isTranscriptionActive: this.transcriptionFeature.isTranscriptionActive }) + } + + lobbyParticipantsUpdatedHandler = (event) => { + console.log(`lobbyParticipantsUpdated, added=${event.added}, removed=${event.removed}`); + this.state.lobbyParticipantsCount = this.lobby?.participants.length; + if (event.added.length > 0) { + event.added.forEach(participant => { + console.log('lobbyParticipantAdded', participant); + }); + } + if (event.removed.length > 0) { + event.removed.forEach(participant => { + console.log('lobbyParticipantRemoved', participant); + }); + } + }; + + raiseHandChangedHandler = (event) => { + this.setState({ isHandRaised: utils.isParticipantHandRaised(this.identifier, this.raiseHandFeature.getRaisedHands()) }) + } + + reactionChangeHandler = (event) => { + let displayName = 'Local Participant'; + let id = event.identifier; + + const idArray = id.split(':'); + id = idArray[idArray.length - 1]; + + this.state.remoteParticipants.forEach(participant => { + let pid = utils.getIdentifierText(participant.identifier); + + const pidArray = pid.split(':'); + pid = pidArray[pidArray.length - 1]; + console.log('Participant displayName - ' + participant.displayName?.trim()); + if (pid === id) { + displayName = participant.displayName?.trim(); + } + }); + + if (displayName.length == 0) { + displayName = 'Undefined'; + } + + const newEvent = { + participantIdentifier: displayName, + reaction: event.reactionMessage.reactionType, + receiveTimestamp: new Date().toLocaleString(), + } + console.log(`reaction received - ${event.reactionMessage.name}`); + + this.setState({ reactionRows: [...this.state.reactionRows, newEvent].slice(-100) }); + } + + pptLiveChangedHandler = async () => { + const pptLiveActive = this.pptLiveFeature && this.pptLiveFeature.isActive; + this.setState({ pptLiveActive }); + + if (this.pptLiveHtml) { + if (pptLiveActive) { + this.pptLiveHtml.current.appendChild(this.pptLiveFeature.target); + if (this.call.isScreenSharingOn) { + try { + await this.handleScreenSharingOnOff(); + } catch { + console.log("Cannot stop screen sharing"); + } + } + } else { + this.pptLiveHtml.current.removeChild(this.pptLiveHtml.current.lastElementChild); + if (!this.call.isScreenSharingOn && this.state.canShareScreen) { + try { + await this.handleScreenSharingOnOff(); + } catch { + console.log("Cannot start screen sharing"); + } + } + } + } + } + + capabilitiesChangedHandler = (capabilitiesChangeInfo) => { + for (const [key, value] of Object.entries(capabilitiesChangeInfo.newValue)) { + if (key === 'turnVideoOn' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canOnVideo: true }) : this.setState({ canOnVideo: false }); + continue; + } + if (key === 'unmuteMic' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canUnMuteMic: true }) : this.setState({ canUnMuteMic: false }); + continue; + } + if (key === 'shareScreen' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canShareScreen: true }) : this.setState({ canShareScreen: false }); + continue; + } + if (key === 'spotlightParticipant' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canSpotlight: true }) : this.setState({ canSpotlight: false }); + continue; + } + if (key === 'raiseHand' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canRaiseHands: true }) : this.setState({ canRaiseHands: false }); + continue; + } + if (key === 'muteOthers' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canMuteOthers: true }) : this.setState({ canMuteOthers: false }); + continue; + } + if (key === 'reaction' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canReact: true }) : this.setState({ canReact: false }); + continue; + } + } + this.capabilities = this.capabilitiesFeature.capabilities; + } + + dominantSpeakersChanged = () => { + const dominantSpeakersMris = this.dominantSpeakersFeature.dominantSpeakers.speakersList; + const remoteParticipants = dominantSpeakersMris.map(dominantSpeakerMri => { + const remoteParticipant = utils.getRemoteParticipantObjFromIdentifier(this.call, dominantSpeakerMri); + return remoteParticipant; + }); + + this.setState({ dominantSpeakers: remoteParticipants }); + } + + async handleVideoOnOff() { + try { + if (!this.state.videoOn) { + const cameras = await this.deviceManager.getCameras(); + const cameraDeviceInfo = cameras.find(cameraDeviceInfo => { + return cameraDeviceInfo.id === this.state.selectedCameraDeviceId + }); + this.localVideoStream = new LocalVideoStream(cameraDeviceInfo); + } + + if (this.call.state === 'None' || + this.call.state === 'Connecting' || + this.call.state === 'Incoming') { + if (this.state.videoOn) { + this.setState({ videoOn: false }); + } else { + this.setState({ videoOn: true }) + } + await this.watchForCallFinishConnecting(); + if (this.state.videoOn && this.state.canOnVideo) { + await this.call.startVideo(this.localVideoStream); + } else { + await this.call.stopVideo(this.localVideoStream); + } + } else { + if (!this.state.videoOn && this.state.canOnVideo) { + await this.call.startVideo(this.localVideoStream); + } else { + await this.call.stopVideo(this.localVideoStream); + } + } + } catch (e) { + console.error(e); + } + } + + async watchForCallFinishConnecting() { + return new Promise((resolve) => { + if (this.state.callState !== 'None' && this.state.callState !== 'Connecting' && this.state.callState !== 'Incoming') { + resolve(); + } else { + this.callFinishConnectingResolve = resolve; + } + }).then(() => { + this.callFinishConnectingResolve = undefined; + }); + } + + async handleMicOnOff() { + try { + if (!this.call.isMuted) { + await this.call.mute(); + } else { + await this.call.unmute(); + } + this.setState({ micMuted: this.call.isMuted }); + } catch (e) { + console.error(e); + } + } + + async handleMuteAllRemoteParticipants() { + try { + await this.call.muteAllRemoteParticipants?.(); + } catch (e) { + console.error('Failed to mute all other participants.', e); + } + } + + async handleRaiseHand() { + try { + this.state.isHandRaised ? + this.raiseHandFeature.lowerHand() : + this.raiseHandFeature.raiseHand(); + } catch (e) { + console.error(e); + } + } + + async handleClickEmoji(index) { + + if (!this.state.canReact) { + // 1:1 direct call with teams user is not supported. + const messageBarText = 'Reaction capability is not allowed for this call type'; + console.error(messageBarText); + this.setState({ callMessage: messageBarText }) + return; + } + + var reaction; + switch (index) { + case 0: + reaction = 'like'; + break; + case 1: + reaction = 'heart'; + break; + case 2: + reaction = 'laugh'; + break; + case 3: + reaction = 'applause'; + break; + case 4: + reaction = 'surprised'; + break; + default: + } + + const reactionMessage = { + reactionType: reaction + }; + try { + this.meetingReaction?.sendReaction(reactionMessage); + } catch (error) { + // Surface the error + console.error(error); + const messageBarText = JSON.stringify(error); + this.setState({ callMessage: messageBarText }) + } + } + + async handleIncomingAudioOnOff() { + try { + if (!this.call.isIncomingAudioMuted) { + await this.call.muteIncomingAudio(); + } else { + await this.call.unmuteIncomingAudio(); + } + this.setState({ incomingAudioMuted: this.call.isIncomingAudioMuted }); + } catch (e) { + console.error(e); + } + } + + async handleHoldUnhold() { + try { + if (this.call.state === 'LocalHold') { + this.call.resume(); + } else { + this.call.hold(); + } + } catch (e) { + console.error(e); + } + } + + async handleOutgoingAudioEffect() { + if (this.state.outgoingAudioMediaAccessActive) { + this.call.stopAudio(); + } else { + this.startOutgoingAudioEffect(); + } + + this.setState(prevState => ({ + ...prevState, + outgoingAudioMediaAccessActive: !prevState.outgoingAudioMediaAccessActive + })); + } + + async handleDominantSpeakersListActive() { + if (this.state.dominantSpeakersListActive) { + this.dominantSpeakersFeature.off('dominantSpeakersChanged', this.dominantSpeakersChanged) + } else { + this.dominantSpeakersFeature.on('dominantSpeakersChanged', this.dominantSpeakersChanged) + this.dominantSpeakersChanged(); + } + + this.setState(prevState => ({ + ...prevState, + dominantSpeakersListActive: !prevState.dominantSpeakersListActive + })); + } + + async handleMediaStatsLogState() { + this.setState(prevState => ({ + ...prevState, + logMediaStats: !prevState.logMediaStats + }), () => { + if (!this.state.logMediaStats) { + this.localVideoPreviewRef.current?.updateSendStats(undefined); + this.localScreenSharingPreviewRef.current?.updateSendStats(undefined); + } + }); + } + + getDummyAudioStream() { + const context = new AudioContext(); + const dest = context.createMediaStreamDestination(); + const os = context.createOscillator(); + os.type = 'sine'; + os.frequency.value = 500; + os.connect(dest); + os.start(); + const { stream } = dest; + return stream; + } + + async startOutgoingAudioEffect() { + const stream = this.getDummyAudioStream(); + const customLocalAudioStream = new LocalAudioStream(stream); + this.call.startAudio(customLocalAudioStream); + } + + async handleScreenSharingOnOff() { + try { + if (this.call.isScreenSharingOn) { + await this.call.stopScreenSharing(); + this.setState({ localScreenSharingMode: undefined }); + } else if (this.state.canShareScreen) { + await this.startScreenSharing(); + } + } catch (e) { + console.error(e); + } + } + + async startScreenSharing() { + await this.call.startScreenSharing(); + this.localScreenSharingStream = this.call.localVideoStreams.find(ss => ss.mediaStreamType === 'ScreenSharing'); + this.setState({ localScreenSharingMode: 'StartWithNormal', pptLiveActive: false }); + } + + async handleRawScreenSharingOnOff() { + try { + if (this.call.isScreenSharingOn) { + await this.call.stopScreenSharing(); + clearImmediate(this.dummyStreamTimeout); + this.dummyStreamTimeout = undefined; + this.setState({ localScreenSharingMode: undefined }); + } else { + if (this.state.canShareScreen) { + const canvas = document.createElement('canvas'); + const ctx = canvas.getContext('2d', { willReadFrequently: true }); + canvas.width = 1280; + canvas.height = 720; + ctx.fillStyle = 'blue'; + ctx.fillRect(0, 0, canvas.width, canvas.height); + + const colors = ['red', 'yellow', 'green']; + const FPS = 30; + const createShapes = function () { + try { + let begin = Date.now(); + // start processing. + if (ctx) { + ctx.fillStyle = colors[Math.floor(Math.random() * colors.length)]; + const x = Math.floor(Math.random() * canvas.width); + const y = Math.floor(Math.random() * canvas.height); + const size = 100; + ctx.fillRect(x, y, size, size); + } + // schedule the next one. + let delay = Math.abs(1000 / FPS - (Date.now() - begin)); + this.dummyStreamTimeout = setTimeout(createShapes, delay); + } catch (err) { + console.error(err); + } + }.bind(this); + + // schedule the first one. + this.dummyStreamTimeout = setTimeout(createShapes, 0); + const dummyStream = canvas.captureStream(FPS); + this.localScreenSharingStream = new LocalVideoStream(dummyStream); + await this.call.startScreenSharing(this.localScreenSharingStream); + this.setState({ localScreenSharingMode: 'StartWithDummy' }); + } + } + } catch (e) { + console.error(e); + } + } + + async toggleDominantSpeakerMode() { + try { + if (this.state.dominantSpeakerMode) { + // Turn off dominant speaker mode + this.setState({ dominantSpeakerMode: false }); + // Render all remote participants's streams + for (const streamTuple of this.state.allRemoteParticipantStreams) { + if (streamTuple.stream.isAvailable && !streamTuple.streamRendererComponentRef.current.getRenderer()) { + await streamTuple.streamRendererComponentRef.current.createRenderer(); + streamTuple.streamRendererComponentRef.current.attachRenderer(); + } + } + } else { + // Turn on dominant speaker mode + this.setState({ dominantSpeakerMode: true }); + // Dispose of all remote participants's stream renderers + const dominantSpeakerIdentifier = this.call.feature(Features.DominantSpeakers).dominantSpeakers.speakersList[0]; + if (!dominantSpeakerIdentifier) { + this.state.allRemoteParticipantStreams.forEach(v => { + v.streamRendererComponentRef.current.disposeRenderer(); + }); + + // Return, no action needed + return; + } + + // Set the dominant remote participant obj + const dominantRemoteParticipant = utils.getRemoteParticipantObjFromIdentifier(this.call, dominantSpeakerIdentifier); + this.setState({ dominantRemoteParticipant: dominantRemoteParticipant }); + // Dispose of all the remote participants's stream renderers except for the dominant speaker + this.state.allRemoteParticipantStreams.forEach(v => { + if (v.participant !== dominantRemoteParticipant) { + v.streamRendererComponentRef.current.disposeRenderer(); + } + }); + } + } catch (e) { + console.error(e); + } + } + + cameraDeviceSelectionChanged = async (event, item) => { + const cameras = await this.deviceManager.getCameras(); + const cameraDeviceInfo = cameras.find(cameraDeviceInfo => { return cameraDeviceInfo.id === item.key }); + this.setState({ selectedCameraDeviceId: cameraDeviceInfo.id }); + if (this.localVideoStream.mediaStreamType === 'RawMedia' && this.state.videoOn) { + this.localVideoStream?.switchSource(cameraDeviceInfo); + await this.call.stopVideo(this.localVideoStream); + await this.call.startVideo(this.localVideoStream); + } else { + this.localVideoStream?.switchSource(cameraDeviceInfo); + } + }; + + speakerDeviceSelectionChanged = async (event, item) => { + const speakers = await this.deviceManager.getSpeakers(); + const speakerDeviceInfo = speakers.find(speakerDeviceInfo => { return speakerDeviceInfo.id === item.key }); + this.deviceManager.selectSpeaker(speakerDeviceInfo); + this.setState({ selectedSpeakerDeviceId: speakerDeviceInfo.id }); + }; + + microphoneDeviceSelectionChanged = async (event, item) => { + const microphones = await this.deviceManager.getMicrophones(); + const microphoneDeviceInfo = microphones.find(microphoneDeviceInfo => { return microphoneDeviceInfo.id === item.key }); + this.deviceManager.selectMicrophone(microphoneDeviceInfo); + this.setState({ selectedMicrophoneDeviceId: microphoneDeviceInfo.id }); + }; + + getParticipantMenuCallBacks() { + return { + startSpotlight: async (identifier) => { + try { + await this.spotlightFeature.startSpotlight([identifier]); + } catch (error) { + console.error(error) + } + }, + stopSpotlight: async (identifier) => { + try { + await this.spotlightFeature.stopSpotlight([identifier]); + } catch (error) { + console.error(error) + } + }, + stopAllSpotlight: async () => { + try { + await this.spotlightFeature.stopAllSpotlight(); + } catch (error) { + console.error(error) + } + }, + lowerAllHands: async () => { + try { + await this.raiseHandFeature.lowerAllHands(); + } catch (error) { + console.error(error) + } + }, + meetingAudioConferenceDetails: async () => { + let messageBarText = "call in (audio only) details: \n"; + try { + const audioConferencingfeature = this.call.feature(Features.TeamsMeetingAudioConferencing); + const audioConferenceDetails = await audioConferencingfeature.getTeamsMeetingAudioConferencingDetails(); + console.log(`meetingAudioConferenceDetails: ${JSON.stringify(audioConferenceDetails)}`) + messageBarText += `Conference Id: ${audioConferenceDetails.phoneConferenceId}\n`; + + audioConferenceDetails.phoneNumbers.map(phoneNumber => { + if (phoneNumber.tollPhoneNumber) { + messageBarText += `Toll Number: ${phoneNumber.tollPhoneNumber.phoneNumber}\n`; + } + if (phoneNumber.tollFreePhoneNumber) { + messageBarText += `Toll Free Number: ${phoneNumber.tollFreePhoneNumber.phoneNumber}\n`; + } + if (phoneNumber.countryName) { + messageBarText += `Country Name: ${phoneNumber.countryName}\n`; + } + if (phoneNumber.cityName) { + messageBarText += `City Name: ${phoneNumber.cityName}\n`; + } + }); + } catch (error) { + messageBarText += JSON.stringify(error); + } + console.log(`meetingAudioConferenceDetails MessageBarText = ${messageBarText}`) + this.setState({ callMessage: messageBarText }) + }, + } + } + + getMenuItems() { + let menuCallBacks = this.getParticipantMenuCallBacks(); + let menuItems = [ + { + key: 'Teams Meeting Audio Dial-In Info', + iconProps: { iconName: 'HandsFree' }, + text: 'Teams Meeting Audio Dial-In Info', + onClick: (e) => menuCallBacks.meetingAudioConferenceDetails(e) + } + ] + if (this.state.canRaiseHands && this.raiseHandFeature.getRaisedHands().length) { + menuItems.push({ + key: 'Lower All Hands', + iconProps: { iconName: 'HandsFree' }, + text: 'Lower All Hands', + onClick: (e) => menuCallBacks.lowerAllHands(e) + }); + } + + // Include the start spotlight option only if the local participant is has the capability + // and is currently not spotlighted + if (this.state.canSpotlight) { + !this.state.isSpotlighted && + menuItems.push({ + key: 'Start Spotlight', + iconProps: { iconName: 'Focus', className: this.state.isSpotlighted ? "callFeatureEnabled" : `` }, + text: 'Start Spotlight', + onClick: (e) => menuCallBacks.startSpotlight(this.identifier, e) + }); + + } + // Include the stop all spotlight option only if the local participant has the capability + // and the current spotlighted participant count is greater than 0 + if ((this.call.role == 'Presenter' || this.call.role == 'Organizer' || this.call.role == 'Co-organizer') + && this.spotlightFeature.getSpotlightedParticipants().length) { + menuItems.push({ + key: 'Stop All Spotlight', + iconProps: { iconName: 'Focus' }, + text: 'Stop All Spotlight', + onClick: (e) => menuCallBacks.stopAllSpotlight(e) + }); + } + + // Include the stop spotlight option only if the local participant is spotlighted + this.state.isSpotlighted && + menuItems.push({ + key: 'Stop Spotlight', + iconProps: { iconName: 'Focus', className: this.state.isSpotlighted ? "callFeatureEnabled" : `` }, + text: 'Stop Spotlight', + onClick: (e) => menuCallBacks.stopSpotlight(this.identifier, e) + }); + + return menuItems.filter(item => item != 0) + } + + remoteParticipantSelectionChanged(identifier, isChecked) { + if (isChecked) { + this.selectedRemoteParticipants.add(identifier); + } else { + this.selectedRemoteParticipants.delete(identifier); + } + const selectedParticipants = []; + const allParticipants = new Set(this.call.remoteParticipants.map(rp => rp.identifier)); + this.selectedRemoteParticipants.forEach(identifier => { + if (allParticipants.has(identifier)) { + selectedParticipants.push(identifier); + } + }); + this.dataChannelRef?.current?.setParticipants(selectedParticipants); + } + + handleMediaConstraint = (constraints) => { + this.call.setConstraints(constraints); + } + + handleRecordConstraint = (constraints) => { + if (constraints) { + this.setState({ inCallRecordingConstraint: constraints }) + } + } + + handleByosCheckboxChange = () => { + this.setState((prevState) => ({ + isByos: !prevState.isByos, + })); + }; + + handleStartRecording = async () => { + const recordingContent = this.state.inCallRecordingConstraint !== null ? this.state.inCallRecordingConstraint.recordingContent : "audio"; + const recordingChannel = this.state.inCallRecordingConstraint !== null ? this.state.inCallRecordingConstraint.recordingChannel : "unmixed"; + const recordingFormat = this.state.inCallRecordingConstraint !== null ? this.state.inCallRecordingConstraint.recordingFormat : "wav"; + + const recordRequest = { + recordingContent: recordingContent, + recordingChannel: recordingChannel, + recordingFormat: recordingFormat, + isByos: this.state.isByos + }; + + try { + await summarizationService.startRecording(recordRequest); + this.setState({ isCallRecordingActive: true }); + } catch (e) { + console.error('Error recording call:', e); + } + } + + handleStopRecording = async () => { + try { + await summarizationService.stopRecording(); + this.setState({ isCallRecordingActive: false }); + } + catch (e) { + console.error('Error stop recording:', e); + } + } + + render() { + const emojis = ['👍', '❤️', '😂', '👏', '😲']; + + return ( +
    + { + this.state.callState === 'Connected' && +
    +

    Record Constraints

    + +

    +
    +

    Bring Your Own Storage

    +
    +
    + } +
    + { + this.state.callMessage && + { this.setState({ callMessage: undefined }) }} + dismissButtonAriaLabel="Close"> + {this.state.callMessage} + + } +
    +
    +
    +
    + { + this.state.callState !== 'Connected' && +
    + } +

    {this.state.callState !== 'Connected' ? `${this.state.callState}...` : `Connected`}

    + { + this.state.isRecordingActive && this.state.isTranscriptionActive ?
    Recording and transcription are active
    : + this.state.isRecordingActive ?
    Recording is active
    : + this.state.isTranscriptionActive ?
    Transcription is active
    : null + } +
    +
    + { + this.call && + + } +
    +
    +
    +

    this.setState({ isShowParticipants: !this.state.isShowParticipants })}>≡ Participants

    +
    +
    +
    + { + this.state.callState === 'Connected' && this.state.isShowParticipants && +
    +
    + {this.state.showAddParticipantPanel && + + } +
    +
    + { + (this.state.lobbyParticipantsCount > 0) && + + } +
    + { + this.state.dominantSpeakerMode && +
    + Current dominant speaker: {this.state.dominantRemoteParticipant ? utils.getIdentifierText(this.state.dominantRemoteParticipant.identifier) : `None`} +
    + } + { + this.state.remoteParticipants.length === 0 && +

    No other participants currently in the call

    + } +
      + { + this.state.remoteParticipants.map(remoteParticipant => + this.remoteParticipantSelectionChanged(identifier, isChecked)} + capabilitiesFeature={this.capabilitiesFeature} + /> + ) + } +
    + +
    + } +
    +
    + { + (this.state.callState === 'Connected' || + this.state.callState === 'LocalHold' || + this.state.callState === 'RemoteHold') && + this.state.allRemoteParticipantStreams.map(v => + + ) + } + { + ( + this.state.remoteScreenShareStream && + + ) + } +
    +
    +
    +
    +
    + this.handleVideoOnOff()}> + { + this.state.canOnVideo && this.state.videoOn && + + } + { + (!this.state.canOnVideo || !this.state.videoOn) && + + } + + this.handleMicOnOff()}> + { + this.state.canUnMuteMic && !this.state.micMuted && + + } + { + (!this.state.canUnMuteMic || this.state.micMuted) && + + } + + this.call.hangUp()}> + + + this.setState({ showSettings: true })}> + + + this.handleScreenSharingOnOff()}> + { + this.state.canShareScreen && ( + !this.state.screenSharingOn || + (this.state.screenSharingOn && this.state.localScreenSharingMode !== 'StartWithNormal') + ) && + + } + { + (!this.state.canShareScreen) || (this.state.screenSharingOn && this.state.localScreenSharingMode === 'StartWithNormal') && + + } + + this.setState({ showAddParticipantPanel: !this.state.showAddParticipantPanel })}> + { + this.state.showAddParticipantPanel && + + } + { + !this.state.showAddParticipantPanel && + + } + + this.handleMediaStatsLogState()}> + { + this.state.logMediaStats && + + } + { + !this.state.logMediaStats && + + } + + this.handleIncomingAudioOnOff()}> + { + this.state.incomingAudioMuted && + + } + { + !this.state.incomingAudioMuted && + + } + + { + this.state.canMuteOthers && + this.handleMuteAllRemoteParticipants()}> + + + } + this.handleRawScreenSharingOnOff()}> + { + this.state.canShareScreen && ( + !this.state.screenSharingOn || + (this.state.screenSharingOn && this.state.localScreenSharingMode !== 'StartWithDummy') + ) && + + } + { + (!this.state.canShareScreen) || (this.state.screenSharingOn && this.state.localScreenSharingMode === 'StartWithDummy') && + + } + + { + (this.state.callState === 'Connected' || + this.state.callState === 'LocalHold' || + this.state.callState === 'RemoteHold') && + this.handleHoldUnhold()}> + { + (this.state.callState === 'LocalHold') && + + } + { + (this.state.callState === 'Connected' || this.state.callState === 'RemoteHold') && + + } + + } + this.handleOutgoingAudioEffect()}> + { + this.state.outgoingAudioMediaAccessActive && + + } + { + !this.state.outgoingAudioMediaAccessActive && + + } + + + { this.setState({ showDataChannel: !this.state.showDataChannel }) }}> + { + this.state.showDataChannel && + + } + { + !this.state.showDataChannel && + + } + + this.handleDominantSpeakersListActive()}> + { + this.state.dominantSpeakersListActive && + + } + { + !this.state.dominantSpeakersListActive && + + } + + this.toggleDominantSpeakerMode()}> + { + this.state.dominantSpeakerMode && + + } + { + !this.state.dominantSpeakerMode && + + } + + {this.state.canRaiseHands && + this.handleRaiseHand()}> + + + } + this.handleClickEmoji(0)} + style={{ cursor: 'pointer' }}> + {emojis[0]} + + this.handleClickEmoji(1)} + style={{ cursor: 'pointer' }}> + {emojis[1]} + + this.handleClickEmoji(2)} + style={{ cursor: 'pointer' }}> + {emojis[2]} + + this.handleClickEmoji(3)} + style={{ cursor: 'pointer' }}> + {emojis[3]} + + this.handleClickEmoji(4)} + style={{ cursor: 'pointer' }}> + {emojis[4]} + + + +

    +

    + { +
    + {this.state.callState === 'Connected' && +
    + {!this.state.isCallRecordingActive && } + {this.state.isCallRecordingActive && } +
    } +
    + } + + this.setState({ showSettings: false })} + closeButtonAriaLabel="Close" + headerText="Settings"> +
    +

    Video settings

    +
    + { + this.state.callState === 'Connected' && + + } +
    +
    +
    +

    Sound Settings

    +
    + { + this.state.callState === 'Connected' && + + } + { + this.state.callState === 'Connected' && + + } +
    + { + (this.state.callState === 'Connected') && !this.state.micMuted && !this.state.incomingAudioMuted && +

    Volume Visualizer

    + } + { + (this.state.callState === 'Connected') && !this.state.micMuted && !this.state.incomingAudioMuted && + + } +
    +
    +
    +
    +
    +
    + {this.state.pptLiveActive && +
    + } + { + this.state.videoOn && this.state.canOnVideo && +
    +
    +

    Local video preview

    +
    +
    +
    + +
    +
    +

    Raw Video access

    + + + { + this.isSetCallConstraints && +
    +

    Video Send Constraints

    + +
    + } + +
    +
    + +
    +
    +
    + } + { + this.state.localScreenSharingMode && +
    +
    +

    Local screen sharing preview

    +
    +
    + { +
    + +
    + } +
    + { + this.state.localScreenSharingMode === 'StartWithNormal' && +

    Raw Screen Sharing access

    + } + { + this.state.localScreenSharingMode === 'StartWithNormal' && + + } + { + this.state.localScreenSharingMode === 'StartWithDummy' && +
    + +
    + } +
    +
    +
    + } + {this.state.dominantSpeakersListActive && +
    +
    +

    Dominant Speakers

    +
    +
    + { + this.state.dominantSpeakers.map((dominantSpeaker, index) => +
    +
    + Index {index} +
    +
    + mri: {utils.getIdentifierText(dominantSpeaker?.identifier)} +
    +
    + displayName: {dominantSpeaker?.displayName ?? 'None'} +
    +
    + ) + } +
    +
    + } + { + this.state.captionOn && +
    +
    +

    Captions

    +
    +
    + { + this.state.captionOn && + + } +
    +
    + } + { + this.state.showDataChannel && +
    +
    +

    Data Channel

    +
    +
    + { + this.state.callState === 'Connected' && + + } +
    +
    + } + { + this.state.callState === 'Connected' && +
    +
    +

    Audio effects and enhancements

    +
    +
    + +
    +
    + } + { + this.state.callState === 'Connected' && +
    +
    +

    Meeting Reactions

    +
    +
    + + + + + + + + + + { + this.state.reactionRows.map((row, index) => ( + + + + + + )) + } + +
    IdentifierReactionReceive TimeStamp
    {row.participantIdentifier}{row.reaction}{row.receiveTimestamp}
    +
    +
    + } +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/CallSurvey.js b/summarization-poc/frontend/Project/src/MakeCall/CallSurvey.js new file mode 100644 index 00000000..927b0d2c --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/CallSurvey.js @@ -0,0 +1,190 @@ +import React from "react"; +import { + PrimaryButton +} from 'office-ui-fabric-react' +import StarRating from '../MakeCall/StarRating'; +import { Features } from '@azure/communication-calling'; +import config from '../../clientConfig.json'; +import { ApplicationInsights } from '@microsoft/applicationinsights-web'; +import { TextField } from 'office-ui-fabric-react'; + +export default class CallSurvey extends React.Component { + constructor(props) { + super(props); + this.call = props.call; + this.state = { + overallIssue: '', + overallRating: 0, + audioIssue: '', + audioRating: 0, + videoIssue: '', + videoRating: 0, + screenShareIssue: '', + screenShareRating: 0, + surveyError: '', + improvementSuggestion: '' + }; + + if (config.appInsightsConnectionString) { + // Typical application will have the app insights already initialized, so that can be used here. + this.appInsights = new ApplicationInsights({ + config: { + // Use atob function to decode only if the connection string is base64. To encode: btoa("connection string") + connectionString: atob(config.appInsightsConnectionString) + } + }); + this.appInsights.loadAppInsights(); + } + + } + + componentWillUnmount() { + + } + + componentDidMount() { + + } + + captureRating(category, score) { + if (category == 'overall') { + this.setState({ overallRating: score }); + } else if (category == 'audio') { + this.setState({ audioRating: score }); + } else if (category == 'video') { + this.setState({ videoRating: score }); + } else if (category == 'screenShare') { + this.setState({ screenShareRating: score }); + } + } + + captureIssue(category, issue) { + if (category == 'overall') { + this.setState({ overallIssue: issue }); + } else if (category == 'audio') { + this.setState({ audioIssue: issue }); + } else if (category == 'video') { + this.setState({ videoIssue: issue }); + } else if (category == 'screenShare') { + this.setState({ screenShareIssue: issue }); + } + + } + + submitRating() { + const rating = {}; + rating.overallRating = { score: this.state.overallRating }; + if (this.state.overallIssue) rating.overallRating.issues = [this.state.overallIssue]; + + if (this.state.audioRating !== 0) rating.audioRating = { score: this.state.audioRating }; + if (this.state.audioIssue) rating.audioRating.issues = [this.state.audioIssue]; + + if (this.state.videoRating !== 0) rating.videoRating = { score: this.state.videoRating }; + if (this.state.videoIssue) rating.videoRating.issues = [this.state.videoIssue]; + + if (this.state.screenShareRating !== 0) rating.screenshareRating = { score: this.state.screenShareRating }; + if (this.state.screenShareIssue) rating.screenshareRating.issues = [this.state.screenShareIssue]; + + this.call.feature(Features.CallSurvey).submitSurvey(rating).then((res) => { + if (this.appInsights && this.state.improvementSuggestion !== '') { + this.appInsights.trackEvent({ + name: "CallSurvey", properties: { + // Survey ID to correlate the survey + id: res.id, + // Other custom properties as key value pair + improvementSuggestion: this.state.improvementSuggestion + } + }); + this.appInsights.flush(); + } + this.props.onSubmitted(); + }).catch((e) => { + console.error('Failed to submit survey', e); + this.setState({ surveyError: 'Failed to submit survey' + e }); + }); + } + + render() { + return ( +
    +
    +
    +

    Rate your recent call!

    + { + this.state.surveyError !== '' &&

    {this.state.surveyError}

    + } +
    +
    + this.submitRating()}> + +
    +
    +
    +
    +

    Rate your overall call experience

    +
    + this.captureIssue(category, issue)} + onRate={(category, score) => this.captureRating(category, score)} + />
    +
    +
    +
    +
    +

    Rate your audio experience (optional)

    +
    + this.captureIssue(category, issue)} + onRate={(category, score) => this.captureRating(category, score)} + />
    +
    +
    +
    +
    +

    Rate your video experience (optional)

    +
    + this.captureIssue(category, issue)} + onRate={(category, score) => this.captureRating(category, score)} + /> +
    +
    +
    +
    +
    +

    Rate your screen share experience (optional)

    +
    + this.captureIssue(category, issue)} + onRate={(category, score) => this.captureRating(category, score)} + />
    +
    +
    +
    +
    +

    How can we improve? (optional)

    +
    + { this.state.improvementSuggestion = e.target.value }}/> +
    +
    +
    +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/CurrentCallInformation.js b/summarization-poc/frontend/Project/src/MakeCall/CurrentCallInformation.js new file mode 100644 index 00000000..110538cb --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/CurrentCallInformation.js @@ -0,0 +1,43 @@ +import React, { useState, useEffect } from "react"; +import { Features } from "@azure/communication-calling"; +import { AzureLogger } from '@azure/logger'; + +const CurrentCallInformation = ({ sentResolution, call }) => { + const [ovcFeature, setOvcFeature] = useState(); + const [optimalVideoCount, setOptimalVideoCount] = useState(1); + + useEffect(() => { + try { + setOvcFeature(call.feature(Features.OptimalVideoCount)); + } catch (error) { + AzureLogger.log("Feature not implemented yet"); + } + + return () => { + ovcFeature?.off('optimalVideoCountChanged', optimalVideoCountChanged); + } + }, []); + + useEffect(() => { + ovcFeature?.on('optimalVideoCountChanged', optimalVideoCountChanged); + }, [ovcFeature]); + + const optimalVideoCountChanged = () => { + setOptimalVideoCount(ovcFeature.optimalVideoCount); + }; + + return ( +
    +
    Call Id: {call.id}
    +
    Local Participant Id: {call.info.participantId}
    + { + sentResolution &&
    Sent Resolution: {sentResolution}
    + } + { + ovcFeature &&
    Optimal Video Count: {optimalVideoCount}
    + } +
    + ); +} + +export default CurrentCallInformation; diff --git a/summarization-poc/frontend/Project/src/MakeCall/DataChannelCard.js b/summarization-poc/frontend/Project/src/MakeCall/DataChannelCard.js new file mode 100644 index 00000000..694ee7c3 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/DataChannelCard.js @@ -0,0 +1,135 @@ +import React from "react"; +import { ToastContainer, toast } from 'react-toastify'; +import { Features } from '@azure/communication-calling'; +import 'react-toastify/dist/ReactToastify.css'; +import { PrimaryButton, TextField } from 'office-ui-fabric-react'; +import { utils } from '../Utils/Utils'; + +const toastOptions = { + position: "top-right", + autoClose: 5000, + hideProgressBar: true, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + theme: "colored", +}; + +export default class DataChannelCard extends React.Component { + constructor(props) { + super(props); + this.state = { + inputMessage: '' + } + const call = props.call; + if (!Features.DataChannel) { + return; + } + const dataChannel = call.feature(Features.DataChannel); + const getDisplayName = (participantId) => { + const remoteParticipant = props.remoteParticipants.find(rp => rp.identifier.communicationUserId === participantId); + if (remoteParticipant && remoteParticipant.displayName) { + return remoteParticipant.displayName; + } + return undefined; + } + const textDecoder = new TextDecoder(); + const messageHandler = (message, remoteParticipantId) => { + const displayName = getDisplayName(remoteParticipantId); + const from = displayName ? displayName : remoteParticipantId; + const text = textDecoder.decode(message.data); + toast.info(`${from}: ${text}`, { + position: "top-left", + autoClose: 5000, + hideProgressBar: true, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + theme: "colored", + }); + }; + dataChannel.on('dataChannelReceiverCreated', receiver => { + const participantId = utils.getIdentifierText(receiver.senderParticipantIdentifier); + const displayName = getDisplayName(participantId); + const from = displayName ? `${participantId} (${displayName})` : participantId; + toast.success(`data channel id = ${receiver.channelId} from ${from} is opened`, toastOptions); + + receiver.on('close', () => { + toast.error(`data channel id = ${receiver.channelId} from ${from} is closed`, toastOptions); + }); + if (receiver.channelId === 1000) { + receiver.on('messageReady', () => { + const message = receiver.readMessage(); + messageHandler(message, participantId); + }); + } + }); + + try { + this.messageSender = dataChannel.createDataChannelSender({ + channelId: 1000 + }); + } catch(e) { + toast.error(`createDataChannelSender: ${e.message}`, toastOptions); + } + } + + setParticipants(participants) { + try { + this.messageSender.setParticipants(participants); + } catch(e) { + toast.error(`setParticipants: ${e.message}`, toastOptions); + } + } + + sendMessage() { + if (this.state.inputMessage) { + try { + this.messageSender.sendMessage((new TextEncoder()).encode(this.state.inputMessage)).then(() => { + this.setState({ + inputMessage: '' + }); + }).catch(e => { + toast.error(`sendMessage: ${e.message}`, toastOptions); + }); + } catch(e) { + toast.error(`sendMessage: ${e.message}`, toastOptions); + } + } + } + + render() { + return ( +
    +
    +
    When no remote participant checkbox is selected, message will broadcast in the channel
    +
    + { + if (ev.key === 'Enter') { + this.sendMessage(); + ev.preventDefault(); + } + }} + onChange={ev => { + this.setState({ + inputMessage: ev.target.value + }); + }} + value={this.state.inputMessage} + /> + this.sendMessage()}> + +
    +
    +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/FunctionalStreamRenderer.js b/summarization-poc/frontend/Project/src/MakeCall/FunctionalStreamRenderer.js new file mode 100644 index 00000000..f337b8ef --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/FunctionalStreamRenderer.js @@ -0,0 +1,178 @@ +import React, { useEffect, useState, useRef, useImperativeHandle, forwardRef } from "react"; +import { utils } from '../Utils/Utils'; +import { VideoStreamRenderer } from "@azure/communication-calling"; +import CustomVideoEffects from "./RawVideoAccess/CustomVideoEffects"; +import VideoReceiveStats from './VideoReceiveStats'; + +export const FunctionalStreamRenderer = forwardRef(({ + remoteParticipant, + stream, + dominantRemoteParticipant, + dominantSpeakerMode, + call, + showMediaStats +}, ref) => { + const componentId = `${utils.getIdentifierText(remoteParticipant.identifier)}-${stream.mediaStreamType}-${stream.id}`; + const videoContainerId = componentId + '-videoContainer'; + const componentContainer = useRef(null); + const videoContainer = useRef(null); + let renderer; + let view; + const [isLoading, setIsLoading] = useState(false); + const [isSpeaking, setIsSpeaking] = useState(!!remoteParticipant?.isSpeaking); + const [isMuted, setIsMuted] = useState(!!remoteParticipant?.isMuted); + const [displayName, setDisplayName] = useState(remoteParticipant?.displayName?.trim() ?? ''); + const [videoStats, setVideoStats] = useState(); + const [transportStats, setTransportStats] = useState(); + + useEffect(() => { + initializeComponent(); + return () => { + stream.off('isReceivingChanged', isReceivingChanged); + remoteParticipant.off('isSpeakingChanged', isSpeakingChanged); + remoteParticipant.off('isMutedChanged', isMutedChanged); + remoteParticipant.off('displayNameChanged', isDisplayNameChanged); + if (renderer) { + disposeRenderer(); + } + } + }, []); + + const getRenderer = () => { + return view; + } + + const createRenderer = async () => { + if (!renderer) { + renderer = new VideoStreamRenderer(stream); + view = await renderer.createView(); + return view; + } else { + throw new Error(`[App][StreamMedia][id=${stream.id}][createRenderer] stream already has a renderer`); + } + } + + const attachRenderer = (v) => { + try { + if (v) { + view = v; + } + + if (!view.target) { + throw new Error(`[App][StreamMedia][id=${stream.id}][attachRenderer] target is undefined. Must create renderer first`); + } else { + componentContainer.current.style.display = 'block'; + videoContainer.current.appendChild(view?.target); + } + } catch (e) { + console.error(e); + } + } + + const disposeRenderer = () => { + if (videoContainer.current && componentContainer.current) { + videoContainer.current.innerHTML = ''; + componentContainer.current.style.display = 'none'; + } + if (renderer) { + renderer.dispose(); + } else { + console.warn(`[App][StreamMedia][id=${stream.id}][disposeRender] no renderer to dispose`); + } + } + const isReceivingChanged = () => { + try { + if (stream?.isAvailable) { + setIsLoading(!stream.isReceiving); + } else { + setIsLoading(false); + } + + } catch (e) { + console.error(e); + } + }; + + const isMutedChanged = () => { + setIsMuted(remoteParticipant && remoteParticipant?.isMuted); + }; + + const isSpeakingChanged = () => { + setIsSpeaking(remoteParticipant && remoteParticipant.isSpeaking); + } + + const isDisplayNameChanged = () => { + setDisplayName(remoteParticipant.displayName.trim()); + } + /** + * Start stream after DOM has rendered + */ + const initializeComponent = async () => { + stream.on('isReceivingChanged', isReceivingChanged); + remoteParticipant.on('isMutedChanged', isMutedChanged); + remoteParticipant.on('isSpeakingChanged', isSpeakingChanged); + if (dominantSpeakerMode && dominantRemoteParticipant !== remoteParticipant) { + return; + } + + try { + if (stream.isAvailable && !renderer) { + await createRenderer(); + attachRenderer(); + } + } catch (e) { + console.error(e); + } + } + + useImperativeHandle(ref, () => ({ + updateReceiveStats(videoStatsReceived, transportStatsReceived) { + if (videoStatsReceived) { + if (videoStatsReceived !== videoStats && stream.isAvailable) { + setVideoStats(videoStatsReceived); + setTransportStats(transportStatsReceived); + } + } + }, + getRenderer, + createRenderer, + attachRenderer, + disposeRenderer + })); + + if (stream.isAvailable) { + return ( +
    +
    +

    + {displayName ? displayName : remoteParticipant.displayName ? remoteParticipant.displayName : utils.getIdentifierText(remoteParticipant.identifier)} +

    + + { + isLoading &&
    + } +
    + { + videoStats && showMediaStats && +

    + +

    + } +
    + ); + } + return <>; +}); diff --git a/summarization-poc/frontend/Project/src/MakeCall/IncomingCallCard.js b/summarization-poc/frontend/Project/src/MakeCall/IncomingCallCard.js new file mode 100644 index 00000000..89bd7429 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/IncomingCallCard.js @@ -0,0 +1,89 @@ +import React from "react"; +import { Icon } from '@fluentui/react/lib/Icon'; + +export default class IncomingCallCard extends React.Component { + constructor(props) { + super(props); + this.incomingCall = props.incomingCall; + this.acceptCallMicrophoneUnmutedVideoOff = props.acceptCallMicrophoneUnmutedVideoOff; + this.acceptCallMicrophoneUnmutedVideoOn = props.acceptCallMicrophoneUnmutedVideoOn; + this.acceptCallMicrophoneMutedVideoOn = props.acceptCallMicrophoneMutedVideoOn; + this.acceptCallMicrophoneMutedVideoOff = props.acceptCallMicrophoneMutedVideoOff; + } + + render() { + return ( +
    +
    +
    +

    Incoming Call...

    +
    +
    + { + this.call && +

    Call Id: {this.state.callId}

    + } +
    +
    +
    +
    +
    + {this.incomingCall?.customContext && + <> +
    +
    +

    Custom context:

    +
    +
    + {this.incomingCall.customContext.userToUser && +
    +
    + UUI: {this.incomingCall.customContext.userToUser} +
    +
    + } + {this.incomingCall.customContext.xHeaders && this.incomingCall.customContext.xHeaders + .map(header => +
    +
    + {header.key}: {header.value} +
    +
    ) + } + + } +
    + this.incomingCall.accept(await this.acceptCallMicrophoneUnmutedVideoOff())}> + + + + this.incomingCall.accept(await this.acceptCallMicrophoneUnmutedVideoOn())}> + + + + this.incomingCall.accept(await this.acceptCallMicrophoneMutedVideoOn())}> + + + + this.incomingCall.accept(await this.acceptCallMicrophoneMutedVideoOff())}> + + + + { this.incomingCall.reject(); this.props.onReject(); }}> + + +
    +
    + ); + } +} \ No newline at end of file diff --git a/summarization-poc/frontend/Project/src/MakeCall/Lobby.js b/summarization-poc/frontend/Project/src/MakeCall/Lobby.js new file mode 100644 index 00000000..e5a747d6 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/Lobby.js @@ -0,0 +1,72 @@ +import React from "react"; +import { PrimaryButton } from 'office-ui-fabric-react'; +import { Features } from '@azure/communication-calling'; + +// Lobby react function component +export default class Lobby extends React.Component { + constructor(props) { + super(props); + this.call = props.call; + this.lobby = this.call.lobby; + this.capabilitiesFeature = props.capabilitiesFeature; + this.capabilities = this.capabilitiesFeature.capabilities; + this.state = { + canManageLobby: this.capabilities.manageLobby?.isPresent || this.capabilities.manageLobby?.reason === 'FeatureNotSupported', + lobbyParticipantsCount: props.lobbyParticipantsCount + }; + } + + componentDidMount() { + this.capabilitiesFeature.on('capabilitiesChanged', this.capabilitiesChangedHandler); + } + + componentWillReceiveProps(nextProps) { + if (nextProps.lobbyParticipantsCount !== this.state.lobbyParticipantsCount) { + this.setState({ lobbyParticipantsCount: nextProps.lobbyParticipantsCount }); + } + } + + capabilitiesChangedHandler = (capabilitiesChangeInfo) => { + console.log('lobby:capabilitiesChanged'); + for (const [key, value] of Object.entries(capabilitiesChangeInfo.newValue)) { + if(key === 'manageLobby' && value.reason != 'FeatureNotSupported') { + (value.isPresent) ? this.setState({ canManageLobby: true }) : this.setState({ canManageLobby: false }); + const admitAllButton = document.getElementById('admitAllButton'); + if(this.state.canManageLobby === true){ + admitAllButton.style.display = ''; + } else { + admitAllButton.style.display = 'none'; + } + continue; + } + } + }; + + async admitAllParticipants() { + console.log('admitAllParticipants'); + try { + await this.lobby?.admitAll(); + } catch (e) { + console.error(e); + } + } + + render() { + return ( +
    +
    +
    In-Lobby participants number: {this.state.lobbyParticipantsCount}
    +
    +
    + this.admitAllParticipants()}> + +
    +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/LocalVideoPreviewCard.js b/summarization-poc/frontend/Project/src/MakeCall/LocalVideoPreviewCard.js new file mode 100644 index 00000000..e7500ef4 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/LocalVideoPreviewCard.js @@ -0,0 +1,56 @@ +import React from "react"; +import { VideoStreamRenderer} from '@azure/communication-calling'; +import { utils } from '../Utils/Utils'; +import VideoSendStats from './VideoSendStats'; + +export default class LocalVideoPreviewCard extends React.Component { + constructor(props) { + super(props); + this.identifier = props.identifier; + this.stream = props.stream; + this.type = this.stream.mediaStreamType; + this.view = undefined; + this.componentId = `${utils.getIdentifierText(this.identifier)}-local${this.type}Renderer`; + this.state = { + videoStats: undefined + }; + } + + async componentDidMount() { + try { + this.renderer = new VideoStreamRenderer(this.stream); + this.view = await this.renderer.createView(); + const targetContainer = document.getElementById(this.componentId); + if (this.type === 'ScreenSharing' || this.type === 'RawMedia') { + this.view.target.querySelector('video').style.width = targetContainer.style.width; + } + targetContainer.appendChild(this.view.target); + } catch (error) { + console.error('Failed to render preview', error); + } + } + + async componentWillUnmount() { + this.view.dispose(); + this.view = undefined; + } + + render() { + return ( +
    + { + this.state.videoStats && +

    + +

    + } +
    + ); + } + + updateSendStats(videoStats) { + if (this.state.videoStats !== videoStats) { + this.setState({ videoStats }); + } + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/Login.js b/summarization-poc/frontend/Project/src/MakeCall/Login.js new file mode 100644 index 00000000..9d3bda36 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/Login.js @@ -0,0 +1,787 @@ +import React from "react"; +import { + TextField, PrimaryButton, Checkbox, + MessageBar, MessageBarType +} from 'office-ui-fabric-react' +import { Features } from "@azure/communication-calling"; +import { utils } from "../Utils/Utils"; +import { v4 as uuid } from 'uuid'; +import OneSignal from "react-onesignal"; +import config from '../../clientConfig.json'; +import { TurnConfiguration } from './NetworkConfiguration/TurnConfiguration'; +import { ProxyConfiguration } from './NetworkConfiguration/ProxyConfiguration'; +import { URL_PARAM } from "../Constants"; + +export default class Login extends React.Component { + constructor(props) { + super(props); + this.callAgent = undefined; + this.callClient = undefined; + this.userDetailsResponse = undefined; + + // Set display name from the URL + const params = new URLSearchParams(window.location.search); + this.displayName = params.get(URL_PARAM.DISPLAY_NAME) === null ? undefined : params.get(URL_PARAM.DISPLAY_NAME); + this.clientTag = uuid(); + this.isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); + this._callAgentInitPromise = undefined; + this._callAgentInitPromiseResolve = undefined; + this.currentCustomTurnConfig = undefined; + this.teamsUserEmail= ''; + this.teamsUserPassword= ''; + this.state = { + isCallClientActiveInAnotherTab: false, + environmentInfo: undefined, + showCallClientOptions: false, + initializedOneSignal: false, + subscribedForPushNotifications: false, + initializeCallAgentAfterPushRegistration: true, + showUserProvisioningAndSdkInitializationCode: false, + showSpinner: false, + loginWarningMessage: undefined, + loginErrorMessage: undefined, + proxy: { + useProxy: false, + url: '' + }, + customTurn: { + useCustomTurn: false, + turn: null + }, + isTeamsUser: false, + isJoinOnlyToken: false + } + } + + async componentDidMount() { + try { + if (config.oneSignalAppId) { + if (location.protocol !== 'https:') { + throw new Error('Web push notifications can only be tested on trusted HTTPS.'); + } + + await OneSignal.init({ + appId: config.oneSignalAppId, + safari_web_id: config.oneSignalSafariWebId, + notifyButton: { + enable: true, + colors: { + 'circle.background': '#ca5010' + } + }, + }); + + OneSignal.addListenerForNotificationOpened(async function (event) { + console.log('Push notification clicked and app will open if it is currently closed'); + await this.handlePushNotification(event); + }.bind(this)); + + OneSignal.on('notificationDisplay', async function (event) { + console.log('Push notification displayed'); + await this.handlePushNotification(event); + }.bind(this)); + + OneSignal.on('subscriptionChange', async function(isSubscribed) { + console.log("Push notification subscription state is now: ", isSubscribed); + this.setState({ subscribedForPushNotifications: + (await OneSignal.isPushNotificationsEnabled()) && (await OneSignal.getSubscription()) + }); + }.bind(this)); + + this.setState({ initializedOneSignal: true}); + this.setState({ subscribedForPushNotifications: + (await OneSignal.isPushNotificationsEnabled()) && (await OneSignal.getSubscription()) + }); + + await OneSignal.registerForPushNotifications(); + } + } catch (error) { + this.setState({ + loginWarningMessage: error.message + }); + console.warn(error); + } + } + + async setupLoginStates() { + this.setState({ + token: this.userDetailsResponse.communicationUserToken.token + }); + this.setState({ + communicationUserId: utils.getIdentifierText(this.userDetailsResponse.userId) + }); + + if (!this.state.subscribedForPushNotifications || + (this.state.subscribedForPushNotifications && this.state.initializeCallAgentAfterPushRegistration)) { + await this.props.onLoggedIn({ + communicationUserId: this.userDetailsResponse.userId.communicationUserId, + token: this.userDetailsResponse.communicationUserToken.token, + displayName: this.displayName, + clientTag:this.clientTag, + proxy: this.state.proxy, + customTurn: this.state.customTurn, + isTeamsUser: this.state.isTeamsUser + }); + } + console.log('Login response: ', this.userDetailsResponse); + this.setState({ loggedIn: true }); + } + + async logIn() { + try { + this.setState({ isTeamsUser: false }); + this.setState({ showSpinner: true }); + if (!this.state.token && !this.state.communicationUserId) { + this.userDetailsResponse = await utils.getCommunicationUserToken(undefined, this.state.isJoinOnlyToken); + } else if (this.state.token && this.state.communicationUserId) { + this.userDetailsResponse = await utils.getOneSignalRegistrationTokenForCommunicationUserToken( + this.state.token, this.state.communicationUserId + ); + } else if (!this.state.token && this.state.communicationUserId) { + this.userDetailsResponse = await utils.getCommunicationUserToken(this.state.communicationUserId, this.state.isJoinOnlyToken); + } else if (this.state.token && !this.state.communicationUserId) { + throw new Error('You must specify the associated ACS identity for the provided ACS communication user token'); + } + if (this.state.initializedOneSignal) { + OneSignal.setExternalUserId(this.userDetailsResponse.oneSignalRegistrationToken); + } + await this.setupLoginStates() + } catch (error) { + this.setState({ + loginErrorMessage: error.message + }); + console.log(error); + } finally { + this.setState({ showSpinner: false }); + } + } + + async teamsUserOAuthLogin() { + try { + this.setState({ isTeamsUser: true }); + this.setState({ showSpinner: true }); + this.userDetailsResponse = this.teamsUserEmail && this.teamsUserPassword ? + await utils.teamsM365Login(this.teamsUserEmail, this.teamsUserPassword ): + await utils.teamsPopupLogin(); + this.teamsUserEmail = this.teamsUserPassword = ''; + await this.setupLoginStates(); + } catch (error) { + this.setState({ + loginErrorMessage: error.message + }); + console.log(error); + } finally { + this.setState({ showSpinner: false }); + } + } + + async handlePushNotification(event) { + try { + if (!this.callAgent && !!event.data.incomingCallContext) { + if (!this.state.token) { + const oneSignalRegistrationToken = await OneSignal.getExternalUserId(); + this.userDetailsResponse = await utils.getCommunicationUserTokenForOneSignalRegistrationToken(oneSignalRegistrationToken); + this.setState({ + token: this.userDetailsResponse.communicationUserToken.token + }); + this.setState({ + communicationUserId: utils.getIdentifierText(this.userDetailsResponse.userId.communicationUserId) + }); + } + this.props.onLoggedIn({ + communicationUserId: this.userDetailsResponse.communicationUserToken.user.communicationUserId, + token: this.userDetailsResponse.communicationUserToken.token, + displayName: this.displayName, + clientTag:this.clientTag, + proxy: this.state.proxy, + customTurn: this.state.customTurn + }); + this._callAgentInitPromise = new Promise((resolve) => { this._callAgentInitPromiseResolve = resolve }); + await this._callAgentInitPromise; + console.log('Login response: ', this.userDetailsResponse); + this.setState({ loggedIn: true }) + if (!this.callAgent.handlePushNotification) { + throw new Error('Handle push notification feature is not implemented in ACS Web Calling SDK yet.'); + } + await this.callAgent.handlePushNotification(event.data); + } + } catch (error) { + this.setState({ + loginErrorMessage: error.message + }); + console.log(error); + } + } + + setCallAgent(callAgent) { + this.callAgent = callAgent; + this.callAgent.on('connectionStateChanged', (args) => { + console.log('Call agent connection state changed from', args.oldValue, 'to', args.newValue); + this.setState({callAgentConnectionState: args.newValue}); + if(args.reason === 'tokenExpired') { + this.setState({ loggedIn: false }); + alert('Your token has expired. Please log in again.'); + } + }); + this.setState({callAgentConnectionState: this.callAgent.connectionState}); + + if (!!this._callAgentInitPromiseResolve) { + this._callAgentInitPromiseResolve(); + } + } + + async setCallClient(callClient) { + this.callClient = callClient; + const environmentInfo = await this.callClient.getEnvironmentInfoInternal(); + this.setState({ environmentInfo }); + const debugInfoFeature = await this.callClient.feature(Features.DebugInfo); + this.setState({ isCallClientActiveInAnotherTab: debugInfoFeature.isCallClientActiveInAnotherTab }); + debugInfoFeature.on('isCallClientActiveInAnotherTabChanged', () => { + this.setState({ isCallClientActiveInAnotherTab: debugInfoFeature.isCallClientActiveInAnotherTab }); + }); + } + + handleProxyChecked = (e, isChecked) => { + this.setState({ + ...this.state, + proxy: { + ...this.state.proxy, + useProxy: isChecked + } + }); + }; + + handleAddProxyUrl = (input) => { + if (input) { + this.setState({ + ...this.state, + proxy: { + ...this.state.proxy, + url: input + } + }); + } + }; + + handleProxyUrlReset = () => { + this.setState({ + ...this.state, + proxy: { + ...this.state.proxy, + url: '' + } + }); + }; + + handleAddTurnConfig = (iceServer) => { + const turnConfig = this.state.customTurn.turn ?? { + iceServers: [] + }; + turnConfig.iceServers.push(iceServer); + + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + turn: turnConfig + } + }); + } + + handleCustomTurnChecked = (e, isChecked) => { + if (isChecked) { + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + useCustomTurn: true + } + }); + } else { + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + useCustomTurn: false, + turn: null + } + }); + } + } + + getOrCreateCustomTurnConfiguration = async () => { + const iceServers = this.state.customTurn.turn.iceServers.map(iceServer => { + return { + urls: [...iceServer.urls], + username: iceServer.username, + credential: iceServer.credential + }; + }); + + return { iceServers }; + } + + handleTurnUrlResetToDefault = () => { + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn + } + }); + + this.getOrCreateCustomTurnConfiguration().then(res => { + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + turn: res + } + }); + }).catch(error => { + console.error(`Not able to fetch custom TURN: ${error}`); + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + useCustomTurn: false, + turn: null + } + }); + }); + } + + handleTurnUrlReset = () => { + this.setState({ + ...this.state, + customTurn: { + ...this.state.customTurn, + turn: null + } + }); + } + + render() { + const userProvisioningAndSdkInitializationCode = ` +/************************************************************************************** + * User token provisioning service should be set up in a trusted backend service. * + * Client applications will make requests to this service for gettings tokens. * + **************************************************************************************/ +import { CommunicationIdentityClient } from @azure/communication-administration; +const communicationIdentityClient = new CommunicationIdentityClient(); +app.get('/getAcsUserAccessToken', async (request, response) => { + try { + const communicationUserId = await communicationIdentityClient.createUser(); + const tokenResponse = await communicationIdentityClient.issueToken({ communicationUserId }, ['voip']); + response.json(tokenResponse); + } catch(error) { + console.log(error); + } +}); + +/******************************************************************************************************** + * Client application initializing the ACS Calling Client Web SDK after receiving token from service * + *********************************************************************************************************/ +import { CallClient, Features } from '@azure/communication-calling'; +import { AzureCommunicationTokenCredential } from '@azure/communication-common'; +import { AzureLogger, setLogLevel } from '@azure/logger'; + +export class MyCallingApp { + constructor() { + this.callClient = undefined; + this.callAgent = undefined; + this.deviceManager = undefined; + this.currentCall = undefined; + } + + public async initCallClient() { + const response = (await fetch('/getAcsUserAccessToken')).json(); + const token = response.token; + const tokenCredential = new AzureCommunicationTokenCredential(token); + + // Set log level for the logger + setLogLevel('verbose'); + // Redirect logger output to wherever desired + AzureLogger.log = (...args) => { console.log(...args); }; + // CallClient is the entrypoint for the SDK. Use it to + // to instantiate a CallClient and to access the DeviceManager + this.callClient = new CallClient(); + this.callAgent = await this.callClient.createCallAgent(tokenCredential, { displayName: 'Optional ACS user name'}); + this.deviceManager = await this.callClient.getDeviceManager(); + + // Handle Calls and RemoteParticipants + // Subscribe to 'callsUpdated' event to be when a a call is added or removed + this.callAgent.on('callsUpdated', calls => { + calls.added.foreach(addedCall => { + // Get the state of the call + addedCall.state; + + //Subscribe to call state changed event + addedCall.on('stateChanged', callStateChangedHandler); + + // Get the unique Id for this Call + addedCall.id; + + // Subscribe to call id changed event + addedCall.on('idChanged', callIdChangedHandler); + + // Wether microphone is muted or not + addedCall.isMuted; + + // Subscribe to isMuted changed event + addedCall.on('isMutedChanged', isMutedChangedHandler); + + // Subscribe to current remote participants in the call + addedCall.remoteParticipants.forEach(participant => { + subscribeToRemoteParticipant(participant) + }); + + // Subscribe to new added remote participants in the call + addedCall.on('remoteParticipantsUpdated', participants => { + participants.added.forEach(addedParticipant => { + subscribeToRemoteParticipant(addedParticipant) + }); + + participants.removed.forEach(removedParticipant => { + unsubscribeFromRemoteParticipant(removedParticipant); + }); + }); + }); + + calls.removed.foreach(removedCall => { + removedCallHandler(removedCall); + }); + }); + } + + private subscribeToRemoteParticipant(remoteParticipant) { + // Get state of this remote participant + remoteParticipant.state; + + // Subscribe to participant state changed event. + remoteParticipant.on('stateChanged', participantStateChangedHandler); + + // Whether this remote participant is muted or not + remoteParticipant.isMuted; + + // Subscribe to is muted changed event. + remoteParticipant.on('isMutedChanged', isMutedChangedHandler); + + // Get participant's display name, if it was set + remoteParticipant.displayName; + + // Subscribe to display name changed event + remoteParticipant.on('displayNameChanged', dispalyNameChangedHandler); + + // Weather the participant is speaking or not + remoteParticipant.isSpeaking; + + // Subscribe to participant is speaking changed event + remoteParticipant.on('isSpeakingChanged', isSpeakingChangedHandler); + + // Handle remote participant's current video streams + remoteParticipant.videoStreams.forEach(videoStream => { subscribeToRemoteVideoStream(videoStream) }); + + // Handle remote participants new added video streams and screen-sharing streams + remoteParticipant.on('videoStreamsUpdated', videoStreams => { + videoStream.added.forEach(addedStream => { + subscribeToRemoteVideoStream(addedStream); + }); + videoStream.removed.forEach(removedStream => { + unsubscribeFromRemoteVideoStream(removedStream); + }); + }); + } +} + +/**************************************************************************************/ +/* Environment Information */ +/**************************************************************************************/ +// Get current environment information with details if supported by ACS +this.environmentInfo = await this.callClient.getEnvironmentInfo(); + +// The returned value is an object of type EnvironmentInfo +type EnvironmentInfo = { + environment: Environment; + isSupportedPlatform: boolean; + isSupportedBrowser: boolean; + isSupportedBrowserVersion: boolean; + isSupportedEnvironment: boolean; +}; + +// The Environment type in the EnvironmentInfo type is defined as: +type Environment = { + platform: string; + browser: string; + browserVersion: string; +}; + +// The following code snippet shows how to get the current environment details +const currentOperatingSystem = this.environmentInfo.environment.platform; +const currentBrowser = this.environmentInfo.environment.browser; +const currentBrowserVersion = this.environmentInfo.environment.browserVersion; + +// The following code snippet shows how to check if environment details are supported by ACS +const isSupportedOperatingSystem = this.environmentInfo.isSupportedPlatform; +const isSupportedBrowser = this.environmentInfo.isSupportedBrowser; +const isSupportedBrowserVersion = this.environmentInfo.isSupportedBrowserVersion; +const isSupportedEnvironment = this.environmentInfo.isSupportedEnvironment; + `; + + return ( +
    +
    +
    +

    User Identity Provisioning and Calling SDK Initialization

    +
    + this.setState({showCallClientOptions: !this.state.showCallClientOptions})}> + + this.setState({showUserProvisioningAndSdkInitializationCode: !this.state.showUserProvisioningAndSdkInitializationCode})}> + +
    +
    +
    + { + this.state.loginWarningMessage && + { this.setState({ loginWarningMessage: undefined })}} + dismissButtonAriaLabel="Close"> + {this.state.loginWarningMessage} + + } +
    +
    + { + this.state.loginErrorMessage && + { this.setState({ loginErrorMessage: undefined })}} + dismissButtonAriaLabel="Close"> + {this.state.loginErrorMessage} + + } +
    + { + this.state.showUserProvisioningAndSdkInitializationCode && +
    +                                    
    +                                        {userProvisioningAndSdkInitializationCode}
    +                                    
    +                                
    + } + { + this.state.showSpinner && +
    +
    +
    Initializing SDK...
    +
    + } + { + this.state.showCallClientOptions && +
    +
    +

    Options

    +
    +
    +
    + Push Notifications options + { this.setState({ initializeCallAgentAfterPushRegistration: isChecked })}}/> +
    +
    + +
    +
    + +
    +
    +
    + } + { + this.state.loggedIn && !this.state.isTeamsUser && +
    +

    +
    Congrats! You've provisioned an ACS user identity and initialized the ACS Calling Client Web SDK. You are ready to start making calls!
    +
    The Identity you've provisioned is: {this.state.communicationUserId}
    +
    Usage is tagged with: {this.clientTag}
    +
    Connection status: {this.state.callAgentConnectionState}
    +
    + } + { + !this.state.showSpinner && !this.state.loggedIn && +
    +
    +
    +
    +
    +
    +

    ACS User Identity

    +
    +
    +
    +
    +
    The ACS Identity SDK can be used to create a user access token which authenticates the calling clients.
    +
    The example code shows how to use the ACS Identity SDK from a backend service. A walkthrough of integrating the ACS Identity SDK can be found on Microsoft Docs
    +
    +
    +
    +
    + { this.displayName = e.target.value }}/> + { this.clientTag = e.target.value }}/> + { this.state.token = e.target.value }}/> + { this.state.communicationUserId = e.target.value }}/> +
    +
    +
    +
    + this.setState({isJoinOnlyToken: isChecked})} /> +
    +
    +
    +
    + this.logIn()}> + Login ACS user and initialize SDK + +
    +
    +
    +
    +
    +
    +
    +
    +

    Teams User Identity

    +
    +
    +
    +
    +
    Microsoft Authentication Library (MSAL) is used to retrieve user token which is then exchanged to get an access + to get an access token from the communication service. The access token is then used to initialize the ACS SDK
    +
    Information and steps on how to generate access token for a Teams user can be found in the Microsoft Docs
    +
    On clicking the Login Teams User and Initialize SDK, if the Teams user email or password is not provided, Microsoft signin pop-up will be used
    +
    +
    + { + (!this.state.showSpinner && !this.state.loggedIn) && +
    +
    +
    + { this.teamsUserEmail = e.target.value }} /> + { this.teamsUserPassword = e.target.value }} /> +
    +
    +
    +
    + this.teamsUserOAuthLogin()}> + Login Teams user and Initialize SDK + +
    +
    +
    + } +
    +
    +
    +
    + } + { + this.state.loggedIn && this.state.isTeamsUser && +
    +

    +
    Congrats! Teams User was successfully logged in. You are ready to start making calls!
    +
    Teams User logged in identity is: {this.state.communicationUserId}
    + {
    Usage is tagged with: {this.clientTag}
    } +
    + } + { + this.state.loggedIn && +
    +
    +

    Environment information

    +
    +
    +
    +

    Current environment details

    +
    {`Operating system: ${this.state.environmentInfo?.environment?.platform}.`}
    +
    {`Browser: ${this.state.environmentInfo?.environment?.browser}.`}
    +
    {`Browser's version: ${this.state.environmentInfo?.environment?.browserVersion}.`}
    +
    {`Is the application loaded in many tabs: ${this.state.isCallClientActiveInAnotherTab}.`}
    +
    +
    +

    Environment support verification

    +
    {`Operating system supported: ${this.state.environmentInfo?.isSupportedPlatform}.`}
    +
    {`Browser supported: ${this.state.environmentInfo?.isSupportedBrowser}.`}
    +
    {`Browser's version supported: ${this.state.environmentInfo?.isSupportedBrowserVersion}.`}
    +
    {`Current environment supported: ${this.state.environmentInfo?.isSupportedEnvironment}.`}
    +
    +
    +
    + } +
    +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/MakeCall.js b/summarization-poc/frontend/Project/src/MakeCall/MakeCall.js new file mode 100644 index 00000000..26a03cb7 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/MakeCall.js @@ -0,0 +1,1562 @@ +import React from "react"; +import { CallClient, LocalVideoStream, Features, CallAgentKind, VideoStreamRenderer } from '@azure/communication-calling'; +import { AzureCommunicationTokenCredential, createIdentifierFromRawId } from '@azure/communication-common'; +import { + PrimaryButton, + TextField, + MessageBar, + MessageBarType +} from 'office-ui-fabric-react' +import { Icon } from '@fluentui/react/lib/Icon'; +import IncomingCallCard from './IncomingCallCard'; +import CallCard from '../MakeCall/CallCard'; +import CallSurvey from '../MakeCall/CallSurvey'; +import Login from './Login'; +import MediaConstraint from './MediaConstraint'; +import { setLogLevel, AzureLogger } from '@azure/logger'; +import { inflate } from 'pako'; +import { URL_PARAM } from "../Constants"; +import { utils } from "../Utils/Utils"; +import { summarizationService } from "../Summarization/summarizationService"; +const appsettings = require("../Summarization/appsettings.json"); +export default class MakeCall extends React.Component { + constructor(props) { + super(props); + this.callClient = null; + this.callAgent = null; + this.deviceManager = null; + this.destinationUserIds = null; + this.destinationPhoneIds = null; + this.destinationGroup = null; + this.userToUser = null; + this.xHeaders = [ + { key: null, value: null }, + { key: null, value: null }, + { key: null, value: null }, + { key: null, value: null }, + { key: null, value: null }, + ]; + this.meetingLink = null; + this.meetingId = null; + this.passcode = null; + this.roomsId = null; + this.threadId = null; + this.messageId = null; + this.organizerId = null; + this.tenantId = null; + this.callError = null; + this.logBuffer = []; + this.videoConstraints = null; + this.tokenCredential = null; + this.logInComponentRef = React.createRef(); + + this.state = { + id: undefined, + loggedIn: false, + isCallClientActiveInAnotherTab: false, + call: undefined, + callSurvey: undefined, + incomingCall: undefined, + showCallSampleCode: false, + showMuteUnmuteSampleCode: false, + showHoldUnholdCallSampleCode: false, + showPreCallDiagnosticsSampleCode: false, + showCustomContextSampleCode: false, + showPreCallDiagnostcisResults: false, + showCustomContext: false, + xHeadersCount: 1, + xHeadersMaxCount: 5, + isPreCallDiagnosticsCallInProgress: false, + selectedCameraDeviceId: null, + selectedSpeakerDeviceId: null, + selectedMicrophoneDeviceId: null, + deviceManagerWarning: null, + callError: null, + ufdMessages: [], + permissions: { + audio: null, + video: null + }, + preCallDiagnosticsResults: {}, + isTeamsUser: false, + identityMri: undefined, + summaryText: undefined + }; + + setInterval(() => { + if (this.state.ufdMessages.length > 0) { + this.setState({ ufdMessages: this.state.ufdMessages.slice(1) }); + } + }, 10000); + + // override logger to be able to dowload logs locally + AzureLogger.log = (...args) => { + this.logBuffer.push(...args); + if (args[0].startsWith('azure:ACS-calling:info')) { + console.info(...args); + } else if (args[0].startsWith('azure:ACS-calling:verbose')) { + console.debug(...args); + } else if (args[0].startsWith('azure:ACS-calling:warning')) { + console.warn(...args); + } else if (args[0].startsWith('azure:ACS-calling:error')) { + console.error(...args); + } else { + console.log(...args); + } + }; + } + + autoJoinMeetingByMeetingLink = () => { + if (this.state.loggedIn) { + const params = new URLSearchParams(window.location.search); + if (params.get(URL_PARAM.MEETING_LINK)) { + const videoOn = params.get(URL_PARAM.VIDEO) && params.get(URL_PARAM.VIDEO).toLocaleLowerCase() === URL_PARAM.ON ? true : false; + const micMuted = params.get(URL_PARAM.MIC) && params.get(URL_PARAM.MIC).toLocaleLowerCase() === URL_PARAM.ON ? false : true; + this.joinTeamsMeeting(videoOn, micMuted); + // Remove the search params from the URL + window.history.replaceState({}, document.title, "/"); + } + } + } + + handleMediaConstraint = (constraints) => { + if (constraints.video) { + this.videoConstraints = constraints.video; + } + } + + handleLogIn = async (userDetails) => { + if (userDetails) { + try { + const tokenCredential = new AzureCommunicationTokenCredential(userDetails.token); + this.tokenCredential = tokenCredential; + setLogLevel('verbose'); + + const proxyConfiguration = userDetails.proxy.useProxy ? { url: userDetails.proxy.url } : undefined; + const turnConfiguration = userDetails.customTurn.useCustomTurn ? userDetails.customTurn.turn : undefined; + this.callClient = new CallClient({ + diagnostics: { + appName: 'azure-communication-services', + appVersion: '1.3.1-beta.1', + tags: ["javascript_calling_sdk", + `#clientTag:${userDetails.clientTag}`] + }, + networkConfiguration: { + proxy: proxyConfiguration, + turn: turnConfiguration + } + }); + + this.deviceManager = await this.callClient.getDeviceManager(); + const permissions = await this.deviceManager.askDevicePermission({ audio: true, video: true }); + this.setState({ permissions: permissions }); + + this.setState({ isTeamsUser: userDetails.isTeamsUser }); + this.setState({ identityMri: createIdentifierFromRawId(userDetails.communicationUserId) }) + this.callAgent = this.state.isTeamsUser ? + await this.callClient.createTeamsCallAgent(tokenCredential) : + await this.callClient.createCallAgent(tokenCredential, { displayName: userDetails.displayName }); + + window.callAgent = this.callAgent; + window.videoStreamRenderer = VideoStreamRenderer; + this.callAgent.on('callsUpdated', e => { + console.log(`callsUpdated, added=${e.added}, removed=${e.removed}`); + + e.added.forEach(call => { + this.setState({ call: call }); + + const diagnosticChangedListener = (diagnosticInfo) => { + const rmsg = `UFD Diagnostic changed: + Diagnostic: ${diagnosticInfo.diagnostic} + Value: ${diagnosticInfo.value} + Value type: ${diagnosticInfo.valueType}`; + if (this.state.ufdMessages.length > 0) { + // limit speakingWhileMicrophoneIsMuted diagnostic until another diagnostic is received + if (diagnosticInfo.diagnostic === 'speakingWhileMicrophoneIsMuted' && this.state.ufdMessages[0].includes('speakingWhileMicrophoneIsMuted')) { + console.info(rmsg); + return; + } + this.setState({ ufdMessages: [rmsg, ...this.state.ufdMessages] }); + } else { + this.setState({ ufdMessages: [rmsg] }); + } + }; + + const remoteDiagnosticChangedListener = (diagnosticArgs) => { + diagnosticArgs.diagnostics.forEach(diagnosticInfo => { + const rmsg = `UFD Diagnostic changed: + Diagnostic: ${diagnosticInfo.diagnostic} + Value: ${diagnosticInfo.value} + Value type: ${diagnosticInfo.valueType} + Participant Id: ${diagnosticInfo.participantId} + Participant name: ${diagnosticInfo.remoteParticipant?.displayName}`; + if (this.state.ufdMessages.length > 0) { + this.setState({ ufdMessages: [rmsg, ...this.state.ufdMessages] }); + } else { + this.setState({ ufdMessages: [rmsg] }); + } + }); + }; + + call.feature(Features.UserFacingDiagnostics).media.on('diagnosticChanged', diagnosticChangedListener); + call.feature(Features.UserFacingDiagnostics).network.on('diagnosticChanged', diagnosticChangedListener); + call.feature(Features.UserFacingDiagnostics).remote?.on('diagnosticChanged', remoteDiagnosticChangedListener); + window.ufds = call.feature(Features.UserFacingDiagnostics); + }); + + e.removed.forEach(call => { + if (this.state.call && this.state.call === call) { + this.displayCallEndReason(this.state.call.callEndReason); + } + }); + }); + this.callAgent.on('incomingCall', args => { + const incomingCall = args.incomingCall; + if (this.state.call) { + incomingCall.reject(); + return; + } + + this.setState({ incomingCall: incomingCall }); + + incomingCall.on('callEnded', args => { + this.displayCallEndReason(args.callEndReason); + }); + + }); + this.setState({ loggedIn: true }); + this.logInComponentRef.current.setCallAgent(this.callAgent); + this.logInComponentRef.current.setCallClient(this.callClient); + this.autoJoinMeetingByMeetingLink(); + } catch (e) { + console.error(e); + } + } + } + + displayCallEndReason = (callEndReason) => { + if (callEndReason.code !== 0 || callEndReason.subCode !== 0) { + this.setState({ callSurvey: this.state.call, callError: `Call end reason: code: ${callEndReason.code}, subcode: ${callEndReason.subCode}` }); + } + + this.setState({ call: null, callSurvey: this.state.call, incomingCall: null }); + } + + placeCall = async (withVideo) => { + try { + let identitiesToCall = []; + const userIdsArray = this.destinationUserIds.value.split(','); + const phoneIdsArray = this.destinationPhoneIds.value.split(','); + + userIdsArray.forEach((userId, index) => { + if (userId) { + userId = userId.trim(); + if (userId === '8:echo123') { + userId = { id: userId }; + } + else { + userId = createIdentifierFromRawId(userId); + } + if (!identitiesToCall.find(id => { return id === userId })) { + identitiesToCall.push(userId); + } + } + }); + + phoneIdsArray.forEach((phoneNumberId, index) => { + if (phoneNumberId) { + phoneNumberId = phoneNumberId.trim(); + phoneNumberId = createIdentifierFromRawId(phoneNumberId); + if (!identitiesToCall.find(id => { return id === phoneNumberId })) { + identitiesToCall.push(phoneNumberId); + } + } + }); + + const callOptions = await this.getCallOptions({ video: withVideo, micMuted: false }); + + if (this.callAgent.kind === CallAgentKind.CallAgent && this.alternateCallerId.value !== '') { + callOptions.alternateCallerId = { phoneNumber: this.alternateCallerId.value.trim() }; + } + + if (identitiesToCall.length > 1) { + if (this.callAgent.kind === CallAgentKind.TeamsCallAgent && this.threadId?.value !== '') { + callOptions.threadId = this.threadId.value; + } + } + + if (this.state.showCustomContext) { + if (this.userToUser.value) { + callOptions.customContext = callOptions.customContext || {}; + callOptions.customContext.userToUser = this.userToUser.value; + } + + const xHeaders = this.xHeaders + .filter(header => !!header.key.value && !!header.value.value) + .map(header => { + return { key: header.key.value, value: header.value.value }; + }); + if (xHeaders.length > 0) { + callOptions.customContext = callOptions.customContext || {}; + callOptions.customContext.xHeaders = xHeaders; + } + } + + //Adding call automation bot. + const acsPhoneNumber = appsettings.acsPhoneNumber; + const targetPhoneNumber = `4:${appsettings.targetPhoneNumber}`; + const phoneToCall = createIdentifierFromRawId(targetPhoneNumber); + identitiesToCall.push(phoneToCall); + callOptions.alternateCallerId = { phoneNumber: acsPhoneNumber }; + + this.callAgent.startCall(identitiesToCall, callOptions); + + } catch (e) { + console.error('Failed to place a call', e); + this.setState({ callError: 'Failed to place a call: ' + e }); + } + }; + + getSummary = async () => { + const summaryText = await summarizationService.getSummary(); + this.setState({ summaryText: summaryText }); + } + + downloadLog = async () => { + const date = new Date(); + const fileName = `logs-${date.toISOString().slice(0, 19)}.txt`; + var element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(this.logBuffer.join('\n'))); + element.setAttribute('download', fileName); + + element.style.display = 'none'; + document.body.appendChild(element); + + element.click(); + document.body.removeChild(element); + this.logBuffer = []; + } + + downloadDebugInfoLogDump = async () => { + const date = new Date(); + const fileName = `logs-${date.toISOString().slice(0, 19)}.txt`; + var element = document.createElement('a'); + let newDebugInfo = null; + try { + let debugInfoFeature = this.callClient.feature(Features.DebugInfo); + let debugInfo = debugInfoFeature.dumpDebugInfo(); + let debugInfoZippedDump = debugInfo.dump; + let debugInfoDumpId = debugInfo.dumpId; + newDebugInfo = { + lastCallId: debugInfoFeature.lastCallId, + lastLocalParticipantId: debugInfoFeature.lastLocalParticipantId, + debugInfoDumpId: debugInfoDumpId, + debugInfoDumpUnzipped: JSON.parse(inflate(debugInfoZippedDump, { to: 'string' })), + } + } catch (e) { + console.error('ERROR, failed to dumpDebugInfo', e); + } + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(newDebugInfo))); + element.setAttribute('download', fileName); + + element.style.display = 'none'; + document.body.appendChild(element); + + element.click(); + document.body.removeChild(element); + } + + joinGroup = async (withVideo) => { + try { + const callOptions = await this.getCallOptions({ video: withVideo, micMuted: false }); + this.callAgent.join({ groupId: this.destinationGroup.value }, callOptions); + } catch (e) { + console.error('Failed to join a call', e); + this.setState({ callError: 'Failed to join a call: ' + e }); + } + }; + + joinRooms = async (withVideo) => { + try { + const callOptions = await this.getCallOptions({ video: withVideo, micMuted: false }); + this.callAgent.join({ roomId: this.roomsId.value }, callOptions); + } catch (e) { + console.error('Failed to join a call', e); + this.setState({ callError: 'Failed to join a call: ' + e }); + } + }; + + joinTeamsMeeting = async (withVideo, micMuted = false) => { + try { + const callOptions = await this.getCallOptions({ video: withVideo, micMuted: micMuted }); + if (this.meetingLink.value && !this.messageId.value && !this.threadId.value && this.tenantId && this.organizerId) { + this.callAgent.join({ meetingLink: this.meetingLink.value }, callOptions); + } else if (this.meetingId.value || this.passcode.value && !this.meetingLink.value && !this.messageId.value && !this.threadId.value && this.tenantId && this.organizerId) { + this.callAgent.join({ + meetingId: this.meetingId.value, + passcode: this.passcode.value + }, callOptions); + } else if (!this.meetingLink.value && this.messageId.value && this.threadId.value && this.tenantId && this.organizerId) { + this.callAgent.join({ + messageId: this.messageId.value, + threadId: this.threadId.value, + tenantId: this.tenantId.value, + organizerId: this.organizerId.value + }, callOptions); + } else { + throw new Error('Please enter Teams meeting link or Teams meeting coordinate'); + } + } catch (e) { + console.error('Failed to join teams meeting:', e); + this.setState({ callError: 'Failed to join teams meeting: ' + e }); + } + } + + async getCallOptions(options) { + let callOptions = { + videoOptions: { + localVideoStreams: undefined + }, + audioOptions: { + muted: !!options.micMuted + } + }; + + let cameraWarning = undefined; + let speakerWarning = undefined; + let microphoneWarning = undefined; + + // On iOS, device permissions are lost after a little while, so re-ask for permissions + const permissions = await this.deviceManager.askDevicePermission({ audio: true, video: true }); + this.setState({ permissions: permissions }); + + const cameras = await this.deviceManager.getCameras(); + const cameraDevice = cameras[0]; + if (cameraDevice && cameraDevice?.id !== 'camera:') { + this.setState({ + selectedCameraDeviceId: cameraDevice?.id, + cameraDeviceOptions: cameras.map(camera => { return { key: camera.id, text: camera.name } }) + }); + } + if (!!options.video) { + try { + if (!cameraDevice || cameraDevice?.id === 'camera:') { + throw new Error('No camera devices found.'); + } else if (cameraDevice) { + callOptions.videoOptions = { localVideoStreams: [new LocalVideoStream(cameraDevice)] }; + if (this.videoConstraints) { + callOptions.videoOptions.constraints = this.videoConstraints; + } + } + } catch (e) { + cameraWarning = e.message; + } + } + + try { + const speakers = await this.deviceManager.getSpeakers(); + // Select the default or first speaker device found. + const speakerDevice = speakers.find(speaker => speaker.isSystemDefault) ?? speakers[0]; + if (!speakerDevice || speakerDevice.id === 'speaker:') { + throw new Error('No speaker devices found.'); + } else if (speakerDevice) { + this.setState({ + selectedSpeakerDeviceId: speakerDevice.id, + speakerDeviceOptions: speakers.map(speaker => { return { key: speaker.id, text: speaker.name } }) + }); + await this.deviceManager.selectSpeaker(speakerDevice); + } + } catch (e) { + speakerWarning = e.message; + } + + try { + const microphones = await this.deviceManager.getMicrophones(); + // Select the default or first microphone device found. + const microphoneDevice = microphones.find(mic => mic.isSystemDefault) ?? microphones[0]; + if (!microphoneDevice || microphoneDevice.id === 'microphone:') { + throw new Error('No microphone devices found.'); + } else { + this.setState({ + selectedMicrophoneDeviceId: microphoneDevice.id, + microphoneDeviceOptions: microphones.map(microphone => { return { key: microphone.id, text: microphone.name } }) + }); + await this.deviceManager.selectMicrophone(microphoneDevice); + } + } catch (e) { + microphoneWarning = e.message; + } + + if (cameraWarning || speakerWarning || microphoneWarning) { + this.setState({ + deviceManagerWarning: + `${cameraWarning ? cameraWarning + ' ' : ''} + ${speakerWarning ? speakerWarning + ' ' : ''} + ${microphoneWarning ? microphoneWarning + ' ' : ''}` + }); + } + + return callOptions; + } + + handleCallSurveySubmitted() { + this.setState({ callSurvey: null, call: null }); + } + + async runPreCallDiagnostics() { + try { + this.setState({ + showPreCallDiagnostcisResults: false, + isPreCallDiagnosticsCall: true, + preCallDiagnosticsResults: {} + }); + const preCallDiagnosticsResult = await this.callClient.feature(Features.PreCallDiagnostics).startTest(this.tokenCredential); + + const deviceAccess = await preCallDiagnosticsResult.deviceAccess; + this.setState({ preCallDiagnosticsResults: { ...this.state.preCallDiagnosticsResults, deviceAccess } }); + + const deviceEnumeration = await preCallDiagnosticsResult.deviceEnumeration; + this.setState({ preCallDiagnosticsResults: { ...this.state.preCallDiagnosticsResults, deviceEnumeration } }); + + const inCallDiagnostics = await preCallDiagnosticsResult.inCallDiagnostics; + this.setState({ preCallDiagnosticsResults: { ...this.state.preCallDiagnosticsResults, inCallDiagnostics } }); + + const browserSupport = await preCallDiagnosticsResult.browserSupport; + this.setState({ preCallDiagnosticsResults: { ...this.state.preCallDiagnosticsResults, browserSupport } }); + + this.setState({ + showPreCallDiagnostcisResults: true, + isPreCallDiagnosticsCall: false + }); + + } catch { + throw new Error("Can't run Pre Call Diagnostics test. Please try again..."); + } + } + + xHeadersChanged = () => { + const xHeadersFilled = this.xHeaders.filter(header => !!header.key.value && !!header.value.value).length; + if (xHeadersFilled === this.state.xHeadersCount && this.state.xHeadersCount < this.state.xHeadersMaxCount) { + this.setState({ xHeadersCount: this.state.xHeadersCount + 1 }); + } + }; + + render() { + const callSampleCode = ` +/******************************/ +/* Placing a call */ +/******************************/ +// Set up CallOptions +const cameraDevice = this.callClient.getDeviceManager().getCameras()[0]; +const localVideoStream = new LocalVideoStream(cameraDevice); +this.callOptions.videoOptions = { localVideoStreams: [localVideoStream] }; + +// To place a 1:1 call to another ACS user +const userId = { communicationUserId: 'ACS_USER_ID'); +this.currentCall = this.callAgent.startCall([userId], this.callOptions); + +// Place a 1:1 call to an ACS phone number. PSTN calling is currently in private preview. +// When making PSTN calls, your Alternate Caller Id must be specified in the call options. +const phoneNumber = { phoneNumber: ); +this.callOptions.alternateCallerId = { phoneNumber: } +this.currentCall = this.callAgent.startCall([phoneNumber], this.callOptions); + +// Place a 1:N call. Specify a multiple destinations +this.currentCall = this.callAgent.startCall([userId1, phoneNumber], this.callOptions); + +/******************************/ +/* Receiving a call */ +/******************************/ +this.callAgent.on('incomingCall', async (args) => { + // accept the incoming call + const call = await args.incomingCall.accept(); + + // or reject the incoming call + args.incomingCall.reject(); +}); + +/******************************/ +/* Joining a group call */ +/******************************/ +// Set up CallOptions +const cameraDevice = this.callClient.deviceManager.getCameras()[0]; +const localVideoStream = new LocalVideoStream(cameraDevice); +this.callOptions.videoOptions = { localVideoStreams: [localVideoStream] }; + +// Join a group call +this.currentCall = this.callAgent.join({groupId: }, this.callOptions); + +/*******************************/ +/* Joining a Teams meetings */ +/*******************************/ +// Join a Teams meeting using a meeting link. To get a Teams meeting link, go to the Teams meeting and +// open the participants roster, then click on the 'Share Invite' button and then click on 'Copy link meeting' button. +this.currentCall = this.callAgent.join({meetingLink: }, this.callOptions); +// Join a Teams meeting using a meeting id. +this.currentCall = this.callAgent.join({meetingId: , passcode (optional): }, this.callOptions); +// Join a Teams meeting using meeting coordinates. Coordinates can be derived from the meeting link +// Teams meeting link example +const meetingLink = 'https://teams.microsoft.com/l/meetup-join/19:meeting_NjNiNzE3YzMtYzcxNi00ZGQ3LTk2YmYtMjNmOTE1MTVhM2Jl@thread.v2/0?context=%7B%22Tid%22:%2272f988bf-86f1-41af-91ab-2d7cd011db47%22,%22Oid%22:%227e353a91-0f71-4724-853b-b30ee4ca6a42%22%7D' +const url = new URL(meetingLink); +// Derive the coordinates (threadId, messageId, tenantId, and organizerId) +const pathNameSplit = url.pathname.split('/'); +const threadId = decodeURIComponent(pathNameSplit[3]); +const messageId = pathNameSplit[4]; +const meetingContext = JSON.parse(decodeURIComponent(url.search.replace('?context=', ''))); +const organizerId = meetingContext.Oid; +const tenantId = meetingContext.Tid; +this.currentCall = this.callAgent.join({ + threadId, + messageId, + tenantId, + organizerId + }, this.callOptions); + `; + + const preCallDiagnosticsSampleCode = ` +//Get new token or use existing token. +const response = (await fetch('getAcsUserAccessToken')).json(); +const token = response.token; +const tokenCredential = new AzureCommunicationTokenCredential(token); + +// Start Pre Call diagnostics test +const preCallDiagnosticsResult = await this.callClient.feature(Features.PreCallDiagnostics).startTest(tokenCredential); + +// Pre Call Diagnostics results +const deviceAccess = await preCallDiagnosticsResult.deviceAccess; +const audioDeviceAccess = deviceAccess.audio // boolean +const videoDeviceAccess = deviceAccess.video // boolean + +const deviceEnumeration = await preCallDiagnosticsResult.deviceEnumeration; +const microphone = deviceEnumeration.microphone // 'Available' | 'NotAvailable' | 'Unknown'; +const camera = deviceEnumeration.camera // 'Available' | 'NotAvailable' | 'Unknown'; +const speaker = deviceEnumeration.speaker // 'Available' | 'NotAvailable' | 'Unknown'; + +const inCallDiagnostics = await preCallDiagnosticsResult.inCallDiagnostics; + +const callConnected = inCallDiagnostics.connected; // boolean + +const audioJitter = inCallDiagnostics.diagnostics.audio.jitter; // 'Bad' | 'Average' | 'Good' | 'Unknown'; +const audioPacketLoss = inCallDiagnostics.diagnostics.audio.packetLoss; // 'Bad' | 'Average' | 'Good' | 'Unknown'; +const audioRtt = inCallDiagnostics.diagnostics.audio.rtt; // 'Bad' | 'Average' | 'Good' | 'Unknown'; + +const videoJitter = inCallDiagnostics.diagnostics.video.jitter; // 'Bad' | 'Average' | 'Good' | 'Unknown'; +const videoPacketLoss = inCallDiagnostics.diagnostics.video.packetLoss; // 'Bad' | 'Average' | 'Good' | 'Unknown'; +const videoRtt = inCallDiagnostics.diagnostics.video.rtt; // 'Bad' | 'Average' | 'Good' | 'Unknown'; + +const brandWidth = inCallDiagnostics.bandWidth; // 'Bad' | 'Average' | 'Good' | 'Unknown'; + +const browserSupport = await preCallDiagnosticsResult.browserSupport; +const browser = browserSupport.browser; // 'Supported' | 'NotSupported' | 'Unknown'; +const os = browserSupport.os; // 'Supported' | 'NotSupported' | 'Unknown'; + +const collector = (await preCallDiagnosticsResult.callMediaStatistics).createCollector({ + aggregationInterval: 200, + dataPointsPerAggregation: 1, +}); +collector.on("summaryReported", (mediaStats) => { + console.log(mediaStats); // Get mediaStats summary for the test call. +}); + + `; + + const streamingSampleCode = ` +/************************************************/ +/* Local Video and Local Screen-sharing */ +/************************************************/ +// To start a video, you have to enumerate cameras using the getCameras() +// method on the deviceManager object. Then create a new instance of +// LocalVideoStream passing the desired camera into the startVideo() method as +// an argument +const cameraDevice = this.callClient.getDeviceManager().getCameras()[0]; +const localVideoStream = new LocalVideoStream(cameraDevice); +await call.startVideo(localVideoStream); + +// To stop local video, pass the localVideoStream instance available in the +// localVideoStreams collection +await this.currentCall.stopVideo(localVideoStream); + +// You can use DeviceManager and Renderer to begin rendering streams from your local camera. +// This stream won't be sent to other participants; it's a local preview feed. This is an asynchronous action. +const renderer = new Renderer(localVideoStream); +const view = await renderer.createView(); +document.getElementById('someDiv').appendChild(view.target); + +// You can switch to a different camera device while video is being sent by invoking +// switchSource() on a localVideoStream instance +const cameraDevice1 = this.callClient.getDeviceManager().getCameras()[1]; +localVideoStream.switchSource(cameraDeivce1); + +// Handle 'localVideoStreamsUpdated' event +this.currentCall.on('localVideoStreamsUpdated', e => { + e.added.forEach(addedLocalVideoStream => { this.handleAddedLocalVideoStream(addedLocalVideoStream) }); + e.removed.forEach(removedLocalVideoStream => { this.handleRemovedLocalVideoStream(removedLocalVideoStream) }); +}); + +// To start sharing your screen +await this.currentCall.startScreenSharing(); + +// To stop sharing your screen +await this.currentCall.stopScreenSharing(); + +// Handle 'isScreenSharingOnChanged' event +this.currentCall.on('isScreenSharingOnChanged', this.handleIsScreenSharingOnChanged()); + + + + +/**************************************************************************************/ +/* Handling Video streams and Screen-sharing streams from remote participants */ +/**************************************************************************************/ +// Handle remote participant video and screen-sharing streams +remoteParticipant.videoStreams.forEach(videoStream => subscribeToRemoteVideoStream(videoStream)) + +// Handle remote participant 'videoStreamsUpdated' event. This is for videos and screen-shrings streams. +remoteParticipant.on('videoStreamsUpdated', videoStreams => { + videoStreams.added.forEach(addedStream => { + subscribeToRemoteVideoStream(addedStream) + }); + + videoStreams.removed.forEach(removedStream => { + unsubscribeFromRemoteVideoStream(removedStream); + }); +}); + +// Render remote streams on UI. Do this logic in a UI component. +// Please refer to /src/MakeCall/StreamMedia.js of this app for an example of how to render streams on the UI: +const subscribeToRemoteVideoStream = (stream) => { + let componentContainer = document.getElementById(this.componentId); + componentContainer.hidden = true; + + let renderer = new VideoStreamRenderer(stream); + let view; + let videoContainer; + + const renderStream = async () => { + if(!view) { + view = await renderer.createView(); + } + videoContainer = document.getElementById(this.videoContainerId); + if(!videoContainer?.hasChildNodes()) { videoContainer.appendChild(view.target); } + } + + stream.on('isAvailableChanged', async () => { + if (stream.isAvailable) { + componentContainer.hidden = false; + await renderStream(); + } else { + componentContainer.hidden = true; + } + }); + + if (stream.isAvailable) { + componentContainer.hidden = false; + await renderStream(); + } +} + +
    +
    +
    + + `; + + const muteUnmuteSampleCode = ` +// To mute your microphone +await this.currentCall.mute(); + +// To unmute your microphone +await this.currentCall.unmute(); + +// Handle remote participant isMutedChanged event +addedParticipant.on('isMutedChanged', () => { + if(remoteParticipant.isMuted) { + console.log('Remote participant is muted'); + } else { + console.log('Remote participant is unmuted'); + } +}); + `; + + const holdUnholdSampleCode = ` +/******************************/ +/* To hold the call */ +/******************************/ + // Call state changes when holding + this.currentCall.on('stateChanged', () => { + // Call state changes to 'LocalHold' or 'RemoteHold' + console.log(this.currentCall.state); + }); + + // If you hold the Call, remote participant state changes to 'Hold'. + // Handle remote participant stateChanged event + addedParticipant.on('stateChanged', () => { + console.log(addedParticipant.state); // 'Hold' + }); + + // If you want to hold the call use: + await this.currentCall.hold(); + +/******************************/ +/* To unhold the call */ +/******************************/ + // The Call state changes when unholding + this.currentCall.on('stateChanged', () => { + // Call state changes back to 'Connected' + console.log(this.currentCall.state); + }); + + // Remote participant state changes to 'Connected' + addedParticipant.on('stateChanged', () => { + console.log(addedParticipant.state); // 'Connected' + }); + + // If you want to unhold the call use: + await this.currentCall.resume(); + `; + + const deviceManagerSampleCode = ` +/*************************************/ +/* Device Manager */ +/*************************************/ +// Get the Device Manager. +// The CallAgent must be initialized first in order to be able to access the DeviceManager. +this.deviceManager = this.callClient.getDeviceManager(); + +// Get list of devices +const cameraDevices = await this.deviceManager.getCameras(); +const speakerDevices = await this.deviceManager.getSpeakers(); +const microphoneDevices = await this.deviceManager.getMicrophones(); + +// Set microphone device and speaker device to use across the call stack. +await this.deviceManager.selectSpeaker(speakerDevices[0]); +await this.deviceManager.selectMicrophone(microphoneDevices[0]); +// NOTE: Setting of video camera device to use is specified on CallAgent.startCall() and Call.join() APIs +// by passing a LocalVideoStream into the options paramter. +// To switch video camera device to use during call, use the LocalVideoStream.switchSource() method. + +// Get selected speaker and microphone +const selectedSpeaker = this.deviceManager.selectedSpeaker; +const selectedMicrophone = this.deviceManager.selectedMicrophone; + +// Handle videoDevicesUpdated event +this.callClient.deviceManager.on('videoDevicesUpdated', e => { + e.added.forEach(cameraDevice => { this.handleAddedCameraDevice(cameraDevice); }); + e.removed.forEach(removedCameraDevice => { this.handleRemovedCameraDevice(removeCameraDevice); }); +}); + +// Handle audioDevicesUpdate event +this.callClient.deviceManager.on('audioDevicesUpdated', e => { + e.added.forEach(audioDevice => { this.handleAddedAudioDevice(audioDevice); }); + e.removed.forEach(removedAudioDevice => { this.handleRemovedAudioDevice(removedAudioDevice); }); +}); + +// Handle selectedMicrophoneChanged event +this.deviceManager.on('selectedMicrophoneChanged', () => { console.log(this.deviceManager.selectedMicrophone) }); + +// Handle selectedSpeakerChanged event +this.deviceManager.on('selectedSpeakerChanged', () => { console.log(this.deviceManager.selectedSpeaker) }); + `; + + const customContextSampleCode = ` +/******************************/ +/* Placing a call */ +/******************************/ +// Set up customContext +this.callOptions.customContext = { + userToUser: , + xHeaders: [ + { key: , value: }, + ] +}; + +// To place a 1:1 call to another ACS user +const userId = { communicationUserId: 'ACS_USER_ID'); +this.currentCall = this.callAgent.startCall([userId], this.callOptions); + +// Place a 1:1 call to an ACS phone number. PSTN calling is currently in private preview. +// When making PSTN calls, your Alternate Caller Id must be specified in the call options. +const phoneNumber = { phoneNumber: ); +this.callOptions.alternateCallerId = { phoneNumber: } +this.currentCall = this.callAgent.startCall([phoneNumber], this.callOptions); + +// Place a 1:N call. Specify a multiple destinations +this.currentCall = this.callAgent.startCall([userId1, phoneNumber], this.callOptions); + +/******************************/ +/* Receiving a call */ +/******************************/ +this.callAgent.on('incomingCall', async (args) => { + // receiving customContext + const customContext = args.incomingCall.customContext; + + // accept the incoming call + const call = await args.incomingCall.accept(); + + // or reject the incoming call + args.incomingCall.reject(); +}); + `; + + // TODO: Create section component. Couldnt use the ExampleCard compoenent from uifabric because it is buggy, + // when toggling their show/hide code functionality, videos dissapear from DOM. + + return ( +
    + + { + this.state?.callSurvey && + this.handleCallSurveySubmitted()} + call={this.state.callSurvey} + /> + } +
    +
    +
    +
    +

    Placing and receiving calls

    +
    {`Permissions audio: ${this.state.permissions.audio} video: ${this.state.permissions.video}`}
    +
    +
    + + + + + + + {/* this.setState({ showCallSampleCode: !this.state.showCallSampleCode })}> + */} +
    +
    +
    +
    Having provisioned an ACS Identity and initialized the SDK from the section above, you are now ready to place calls, join group calls, and receiving calls.
    +
    + { + this.state.summaryText && +

    Summary

    + } + { + this.state.summaryText && +
    +                                
    +                                    {this.state.summaryText}
    +                                
    +                            
    + } + { + this.state.showCallSampleCode && +
    +                                
    +                                    {callSampleCode}
    +                                
    +                            
    + } + { + this.state.callError && +
    + { this.setState({ callError: undefined }) }} + dismissButtonAriaLabel="Close"> + {this.state.callError} + + +
    + } + { + this.state.deviceManagerWarning && + { this.setState({ deviceManagerWarning: undefined }) }} + dismissButtonAriaLabel="Close"> + {this.state.deviceManagerWarning} + + } + { + this.state.ufdMessages.length > 0 && + { this.setState({ ufdMessages: [] }) }} + dismissButtonAriaLabel="Close"> + {this.state.ufdMessages.map((msg, index) =>
  • {msg}
  • )} + + } + { + !this.state.incomingCall && !this.state.call && !this.state.callSurvey && +
    +
    +
    +
    +
    +

    Place a call

    +
    +
    +
    +
    + this.destinationUserIds = val} /> + this.destinationPhoneIds = val} /> + this.alternateCallerId = val} /> +
    +
    + this.placeCall(false)}> + + this.placeCall(true)}> + + this.setState({ showCustomContext: !this.state.showCustomContext })}> + +
    +
    + this.userToUser = val} /> +
    +
    + {[...Array(this.state.xHeadersMaxCount)].map((_, i) => +
    +
    + this.xHeadersChanged()} + componentRef={(val) => this.xHeaders[i].key = val} /> + this.xHeadersChanged()} + componentRef={(val) => this.xHeaders[i].value = val} /> +
    +
    + )} +
    +
    +
    +
    +
    +
    +

    Join a Teams meeting

    +
    +
    +
    +
    +
    + Enter meeting link +
    +
    + this.meetingLink = val} /> +
    +
    + Or enter meeting id (and) passcode +
    +
    + this.meetingId = val} /> + this.passcode = val} /> +
    +
    + Or enter meeting coordinates (Thread Id, Message Id, Organizer Id, and Tenant Id) +
    +
    + this.threadId = val} /> + this.messageId = val} /> + this.organizerId = val} /> + this.tenantId = val} /> +
    +
    +
    + this.joinTeamsMeeting(false)}> + + this.joinTeamsMeeting(true)}> + +
    +
    +
    +
    +
    +

    Join a group call

    +
    +
    + this.destinationGroup = val} /> +
    +
    + this.joinGroup(false)}> + + this.joinGroup(true)}> + +
    +
    +

    Join a Rooms call

    +
    +
    + this.roomsId = val} /> +
    +
    + this.joinRooms(false)}> + + this.joinRooms(true)}> + +
    +
    +
    +
    +
    +

    Video Send Constraints

    + +
    +
    +
    + + } + { + this.state.call && this.state.isPreCallDiagnosticsCallInProgress && +
    + Pre Call Diagnostics call in progress... +
    + } + { + this.state.call && !this.state.callSurvey && !this.state.isPreCallDiagnosticsCallInProgress && + { this.setState({ showCameraNotFoundWarning: show }) }} + onShowSpeakerNotFoundWarning={(show) => { this.setState({ showSpeakerNotFoundWarning: show }) }} + onShowMicrophoneNotFoundWarning={(show) => { this.setState({ showMicrophoneNotFoundWarning: show }) }} /> + } + { + this.state.incomingCall && !this.state.call && + await this.getCallOptions({ video: false, micMuted: false })} + acceptCallMicrophoneUnmutedVideoOn={async () => await this.getCallOptions({ video: true, micMuted: false })} + acceptCallMicrophoneMutedVideoOn={async () => await this.getCallOptions({ video: true, micMuted: true })} + acceptCallMicrophoneMutedVideoOff={async () => await this.getCallOptions({ video: false, micMuted: true })} + onReject={() => { this.setState({ incomingCall: undefined }) }} /> + } + + +
    +
    +
    +

    Pre Call Diagnostics

    +
    + this.runPreCallDiagnostics()}> + + this.setState({ showPreCallDiagnosticsSampleCode: !this.state.showPreCallDiagnosticsSampleCode })}> + +
    +
    + { + this.state.call && this.state.isPreCallDiagnosticsCallInProgress && +
    + Pre Call Diagnostics call in progress... +
    +
    +
    +
    + } + { + this.state.showPreCallDiagnostcisResults && +
    + { +
    + { + this.state.preCallDiagnosticsResults.deviceAccess && +
    + Device Permission: +
    +
    Audio:
    +
    {this.state.preCallDiagnosticsResults.deviceAccess.audio.toString()}
    +
    +
    +
    Video:
    +
    {this.state.preCallDiagnosticsResults.deviceAccess.video.toString()}
    +
    +
    + } + { + this.state.preCallDiagnosticsResults.deviceEnumeration && +
    + Device Access: +
    +
    Microphone:
    +
    {this.state.preCallDiagnosticsResults.deviceEnumeration.microphone}
    +
    +
    +
    Camera:
    +
    {this.state.preCallDiagnosticsResults.deviceEnumeration.camera}
    +
    +
    +
    Speaker:
    +
    {this.state.preCallDiagnosticsResults.deviceEnumeration.speaker}
    +
    +
    + } + { + this.state.preCallDiagnosticsResults.browserSupport && +
    + Browser Support: +
    +
    OS:
    +
    {this.state.preCallDiagnosticsResults.browserSupport.os}
    +
    +
    +
    Browser:
    +
    {this.state.preCallDiagnosticsResults.browserSupport.browser}
    +
    +
    + } + { + this.state.preCallDiagnosticsResults.inCallDiagnostics && +
    + Call Diagnostics: +
    +
    +
    Call Connected:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.connected.toString()}
    +
    +
    +
    BandWidth:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.bandWidth}
    +
    + +
    +
    Audio Jitter:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.audio.jitter}
    +
    +
    +
    Audio PacketLoss:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.audio.packetLoss}
    +
    +
    +
    Audio Rtt:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.audio.rtt}
    +
    + +
    +
    Video Jitter:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.video.jitter}
    +
    +
    +
    Video PacketLoss:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.video.packetLoss}
    +
    +
    +
    Video Rtt:
    +
    {this.state.preCallDiagnosticsResults.inCallDiagnostics.diagnostics.video.rtt}
    +
    +
    +
    + } +
    + } +
    + } + { + this.state.showPreCallDiagnosticsSampleCode && +
    +                                
    +                                    {
    +                                        preCallDiagnosticsSampleCode
    +                                    }
    +                                
    +                            
    + } +
    +
    +
    +
    +
    +

    Video, Screen sharing, and local video preview

    +
    + this.setState({ showStreamingSampleCode: !this.state.showStreamingSampleCode })}> + +
    +
    + { + this.state.showStreamingSampleCode && +
    +                                
    +                                    {streamingSampleCode}
    +                                
    +                            
    + } +

    + Video - try it out. +

    +
    + From your current call, toggle your video on and off by clicking on the icon. + When you start your video, remote participants can see your video by receiving a stream and rendering it in an HTML element. +
    +

    +

    + Screen sharing - try it out. +

    +
    + From your current call, toggle your screen sharing on and off by clicking on the icon. + When you start sharing your screen, remote participants can see your screen by receiving a stream and rendering it in an HTML element. +
    +
    +
    +
    +
    +
    +

    Mute / Unmute

    +
    + this.setState({ showMuteUnmuteSampleCode: !this.state.showMuteUnmuteSampleCode })}> + +
    +
    + { + this.state.showMuteUnmuteSampleCode && +
    +                                
    +                                    {muteUnmuteSampleCode}
    +                                
    +                            
    + } +

    + Try it out. +

    +
    + From your current call, toggle your microphone on and off by clicking on the icon. + When you mute or unmute your microphone, remote participants can receive an event about wether your micrphone is muted or unmuted. +
    +
    +
    +
    +
    +
    +

    Hold / Unhold

    +
    + this.setState({ showHoldUnholdSampleCode: !this.state.showHoldUnholdSampleCode })}> + +
    +
    + { + this.state.showHoldUnholdSampleCode && +
    +                                
    +                                    {holdUnholdSampleCode}
    +                                
    +                            
    + } +

    + Try it out. +

    +
    + From your current call, toggle hold call and unhold call on by clicking on the icon. + When you hold or unhold the call, remote participants can receive other participant state changed events. Also, the call state changes. +
    +
    +
    +
    +
    +
    +

    Device Manager

    +
    + this.setState({ showDeviceManagerSampleCode: !this.state.showDeviceManagerSampleCode })}> + +
    +
    + { + this.state.showDeviceManagerSampleCode && +
    +                                
    +                                    {deviceManagerSampleCode}
    +                                
    +                            
    + } +

    + Try it out. +

    +
    + From your current call, click on the icon to open up the settings panel. + The DeviceManager is used to select the devices (camera, microphone, and speakers) to use across the call stack and to preview your camera. +
    +
    +
    +
    +
    +
    +

    Custom Context

    +
    + this.setState({ showCustomContextSampleCode: !this.state.showCustomContextSampleCode })}> + +
    +
    + { + this.state.showCustomContextSampleCode && +
    +                                
    +                                    {customContextSampleCode}
    +                                
    +                            
    + } +

    + Try it out. +

    +
    + Before starting the call, click on the Custom context button to open up the settings panel. + Then you can set your user to user value and up to five custom headers. +
    +
    +
    + + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/MediaConstraint.js b/summarization-poc/frontend/Project/src/MakeCall/MediaConstraint.js new file mode 100644 index 00000000..294a8374 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/MediaConstraint.js @@ -0,0 +1,114 @@ +import React from "react"; +import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; + +export default class MediaConstraint extends React.Component { + constructor(props) { + super(props); + this.videoSendHeightMax = [ + { key: 0, text: 'None' }, + { key: 180, text: '180' }, + { key: 240, text: '240' }, + { key: 360, text: '360' }, + { key: 540, text: '540' }, + { key: 720, text: '720' } + ]; + this.videoSendBitRateConstraint = [ + { key: 0, text: 'None' }, + { key: 15000, text: '15000 (< 180p bitrate)' }, + { key: 175000, text: '175000 (~180 bitrate)' }, + { key: 400000, text: '400000 (~240p bitrate)' }, + { key: 450000, text: '800000 (<360p bitrate)' }, + { key: 575000, text: '575000 (~360p bitrate)' }, + { key: 1125000, text: '1125000 (~540p bitrate)' }, + { key: 2500000, text: '2500000 (~720p bitrate)' }, + { key: 100000000, text: '100000000 (max range for 1080p)' } + ]; + this.videoSendFrameRateConstraint = [ + { key: 0, text: 'None' }, + { key: 5, text: '5' }, + { key: 10, text: '10' }, + { key: 15, text: '15' }, + { key: 20, text: '20' }, + { key: 25, text: '25' }, + { key: 30, text: '30' } + ]; + this.state = { + videoSendHeightMax: 0, + videoSendBitRate: 0, + videoSendFrameRate: 0 + } + } + + handleChange = async(event, item) => { + const videoConstraints = { + video: { + send: { + frameHeight: { + max: this.state.videoSendHeightMax + }, + bitrate: { + max: this.state.videoSendBitRate + }, + frameRate: { + max: this.state.videoSendFrameRate + } + } + } + }; + + if(event.target.id === 'videoSendHeightMaxDropdown') { + videoConstraints.video.send.frameHeight.max = item.key; + this.setState({ + videoSendHeightMax: item.key + }); + } else if(event.target.id === 'videoSendBitRateDropdown') { + videoConstraints.video.send.bitrate.max = item.key; + this.setState({ + videoSendBitRate: item.key + }); + } else if(event.target.id === 'videoSendFrameRateDropdown') { + videoConstraints.video.send.frameRate.max = item.key; + this.setState({ + videoSendFrameRate: item.key + }); + } + + if (this.props.onChange) { + this.props.onChange(videoConstraints); + } + } + + render() { + return ( +
    + + + +
    + ); + } +} diff --git a/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/ProxyConfiguration.js b/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/ProxyConfiguration.js new file mode 100644 index 00000000..7f28d70f --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/ProxyConfiguration.js @@ -0,0 +1,51 @@ +import React, { useState } from 'react'; +import { + TextField, + PrimaryButton, + Checkbox +} from 'office-ui-fabric-react'; + +export const ProxyConfiguration = (props) => { + const [proxyUrl, setProxyUrl] = useState(''); + + return ( +
    + Proxy configuration + +
    {props.proxy.url}
    + { + setProxyUrl(e.target.value); + }} + value={proxyUrl} + > + +
    +
    + props.handleAddProxyUrl(proxyUrl)} + /> +
    +
    + { + setProxyUrl(''); + props.handleProxyUrlReset(); + }} + /> +
    +
    +
    + ); +}; diff --git a/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/TurnConfiguration.js b/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/TurnConfiguration.js new file mode 100644 index 00000000..d6d704cc --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/NetworkConfiguration/TurnConfiguration.js @@ -0,0 +1,102 @@ +import React, { useState } from 'react'; +import { + TextField, + PrimaryButton, + Checkbox +} from 'office-ui-fabric-react'; + +export const TurnConfiguration = (props) => { + const [turnUrls, setTurnUrls] = useState(''); + const [turnUsername, setTurnUsername] = useState(''); + const [turnCredential, setTurnCredential] = useState(''); + + const handleAddTurn = () => { + if (turnUrls) { + const iceServer = { + urls: !!turnUrls ? turnUrls.split(';') : [], + username: turnUsername, + credential: turnCredential + }; + + props.handleAddTurnConfig(iceServer); + } + }; + + return ( +
    + Turn configuration + +
    + {props.customTurn.turn && + props.customTurn.turn?.iceServers?.map((iceServer, key) => { + if (iceServer.urls && iceServer.urls.length > 0) { + return ( +
    + {iceServer?.urls?.map((url, key) => { + return ( +
    + {url}
    +
    + ) + })} +
    + ) + } + + return ( +
    + ) + }) + } +
    + { + setTurnUrls(e.target.value); + }} + > + + { + setTurnUsername(e.target.value); + }} + > + + { + setTurnCredential(e.target.value); + }} + > + +
    +
    + +
    +
    + +
    +
    +
    + ) +}; diff --git a/summarization-poc/frontend/Project/src/MakeCall/ParticipantMenuOptions.js b/summarization-poc/frontend/Project/src/MakeCall/ParticipantMenuOptions.js new file mode 100644 index 00000000..4b462429 --- /dev/null +++ b/summarization-poc/frontend/Project/src/MakeCall/ParticipantMenuOptions.js @@ -0,0 +1,32 @@ +import * as React from 'react'; +import { DefaultButton } from '@fluentui/react/lib/Button'; +export const ParticipantMenuOptions = ({id, appendMenuitems, menuOptionsHandler, menuOptionsState}) => { + + const emojiIcon= { iconName: 'More' }; + const isSpotlighted = menuOptionsState.isSpotlighted; + + const buttonStyles = { + root: { + minWidth: 0, + padding: '10px 4px', + alignSelf: 'stretch', + fontSize: '30px', + } + } + + let commonMenuItems = [ + ] + + + const menuProps = { + shouldFocusOnMount: true, + items: appendMenuitems ? [...commonMenuItems, ...appendMenuitems]: commonMenuItems + }; + return