From 396c606693f27435ad29eb4325c22eed3810dfe6 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:37:57 +0000 Subject: [PATCH 01/25] Farmer details: hide the association block when it has no entry An empty association section rendered a blank row with no way to save it. --- .../company-farmers-details.component.html | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/app/company/company-farmers/company-farmers-details/company-farmers-details.component.html b/src/app/company/company-farmers/company-farmers-details/company-farmers-details.component.html index 78322fea..57214ad3 100644 --- a/src/app/company/company-farmers/company-farmers-details/company-farmers-details.component.html +++ b/src/app/company/company-farmers/company-farmers-details/company-farmers-details.component.html @@ -212,7 +212,7 @@

Bank information

-
+

Companies

Companies
-
-

Associations

-
-
- - -
-
-
-
{{item.company.name}}
-
- -
-
-
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
From c1df55ea2df794dd2be966ab986c4a8fbe2c0072 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:37:57 +0000 Subject: [PATCH 02/25] docs: point project links at the agstack GitHub organisation --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cd99279a..0c89b1e8 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ digitalization of supply chains, connects every actor along the supply chain, as Project is composed of 3 parts: -* [Angular frontend](https://github.com/INATrace/fe/tree/main) -* [Java backend](https://github.com/INATrace/backend/tree/main) -* [Coffee network](https://github.com/INATrace/coffee-network/tree/main) +* [Angular frontend](https://github.com/agstack/inatrace-frontend/tree/main) +* [Java backend](https://github.com/agstack/inatrace-backend/tree/main) +* [Coffee network](https://github.com/agstack/inatrace-coffee-network/tree/main) # INATrace 2 This new major release includes new functionalities, refactorings, optimizations and bugfixes. The most important additions and changes are: From 27205a707d5603be202c130b5ac6eff3893b02b1 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:18 +0000 Subject: [PATCH 03/25] api: take the client base path from the environment The generated services hard-coded http://localhost:8080, so a build could only ever talk to a local backend. Read environment.basePath instead, and have the generator fetch the OpenAPI document from the same place. --- generate-api.js | 5 ++++- src/api/api/basicErrorController.service.ts | 19 +++++++++++-------- src/api/api/beycoOrderController.service.ts | 3 ++- src/api/api/commonController.service.ts | 3 ++- src/api/api/commonCsvController.service.ts | 3 ++- src/api/api/companyController.service.ts | 3 ++- src/api/api/currencyController.service.ts | 3 ++- src/api/api/currencyTypeController.service.ts | 3 ++- src/api/api/dashboardController.service.ts | 3 ++- src/api/api/facilityController.service.ts | 3 ++- src/api/api/facilityTypeController.service.ts | 3 ++- src/api/api/finalProductController.service.ts | 3 ++- .../api/groupStockOrderController.service.ts | 3 ++- .../api/measureUnitTypeController.service.ts | 3 ++- src/api/api/operationHandler.service.ts | 3 ++- src/api/api/paymentController.service.ts | 3 ++- .../api/processingActionController.service.ts | 3 ++- ...ocessingEvidenceFieldController.service.ts | 3 ++- ...rocessingEvidenceTypeController.service.ts | 3 ++- .../api/processingOrderController.service.ts | 3 ++- src/api/api/productController.service.ts | 3 ++- src/api/api/productOrderController.service.ts | 3 ++- src/api/api/productTypeController.service.ts | 3 ++- src/api/api/publicController.service.ts | 3 ++- src/api/api/semiProductController.service.ts | 3 ++- src/api/api/stockOrderController.service.ts | 4 +++- src/api/api/transactionController.service.ts | 2 +- src/api/api/userController.service.ts | 3 ++- src/api/api/userCustomerController.service.ts | 3 ++- src/api/api/valueChainController.service.ts | 3 ++- src/api/api/webMvcLinksHandler.service.ts | 17 +++++++++-------- 31 files changed, 80 insertions(+), 45 deletions(-) diff --git a/generate-api.js b/generate-api.js index adf0aba7..69ade22a 100644 --- a/generate-api.js +++ b/generate-api.js @@ -1,9 +1,12 @@ +import { environment} from "./src/environments/environment"; + var fs = require('fs'); var converter = require('api-spec-converter'); var child_process = require('child_process'); var fetch = require("node-fetch"); -var swagger_docs_host = 'http://localhost:8080/v3/api-docs' +var swagger_docs_host = environment.basePath+ '/v3/api-docs'; +const https = require('https'); function afterBuild(code) { if (code === 0) { diff --git a/src/api/api/basicErrorController.service.ts b/src/api/api/basicErrorController.service.ts index f28b8abf..6d3aeabe 100644 --- a/src/api/api/basicErrorController.service.ts +++ b/src/api/api/basicErrorController.service.ts @@ -19,24 +19,27 @@ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; + +import { Inject, Injectable, Optional } from '@angular/core'; import { ValidatorFn, Validators } from '@angular/forms'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent } from '@angular/common/http'; -import { CustomHttpUrlEncodingCodec } from '../encoder'; + HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; -import { Observable } from 'rxjs'; -import { catchError } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { catchError } from 'rxjs/operators'; import { ModelAndView } from '../model/modelAndView'; -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for errorHtmlUsingDELETE. */ + export namespace ErrorHtmlUsingDELETE { /** * Parameter map for errorHtmlUsingDELETE. @@ -209,7 +212,7 @@ export namespace ErrorHtmlUsingPUT { }) export class BasicErrorControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/beycoOrderController.service.ts b/src/api/api/beycoOrderController.service.ts index 0a1cf992..fe4bf27a 100644 --- a/src/api/api/beycoOrderController.service.ts +++ b/src/api/api/beycoOrderController.service.ts @@ -36,6 +36,7 @@ import { ApiResponseObject } from '../model/apiResponseObject'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for getBeycoOrderFieldsForSelectedStockOrders. @@ -230,7 +231,7 @@ export namespace SendBeycoOrder { }) export class BeycoOrderControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/commonController.service.ts b/src/api/api/commonController.service.ts index 534b3e53..af5a3ce9 100644 --- a/src/api/api/commonController.service.ts +++ b/src/api/api/commonController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiGlobalSettingsValue } from '../model/apiResponseApiGlobal import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for getCountries. @@ -349,7 +350,7 @@ export namespace UploadImage { }) export class CommonControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/commonCsvController.service.ts b/src/api/api/commonCsvController.service.ts index f7cb1533..0b01214b 100644 --- a/src/api/api/commonCsvController.service.ts +++ b/src/api/api/commonCsvController.service.ts @@ -32,6 +32,7 @@ import { catchError } from 'rxjs/operator import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for generatePaymentsByCompanyCsv. @@ -318,7 +319,7 @@ export namespace GeneratePurchasesByCompanyCsv { }) export class CommonCsvControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/companyController.service.ts b/src/api/api/companyController.service.ts index 39c4cd5e..9cd6d031 100644 --- a/src/api/api/companyController.service.ts +++ b/src/api/api/companyController.service.ts @@ -54,6 +54,7 @@ import { InlineObject } from '../model/inlineObject'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for addUserCustomer. @@ -1611,7 +1612,7 @@ export namespace UploadUserCustomerGeoData { }) export class CompanyControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/currencyController.service.ts b/src/api/api/currencyController.service.ts index e6da8f83..992b6f39 100644 --- a/src/api/api/currencyController.service.ts +++ b/src/api/api/currencyController.service.ts @@ -32,6 +32,7 @@ import { catchError } from 'rxjs/operator import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for convert. @@ -123,7 +124,7 @@ export namespace ConvertAtDate { }) export class CurrencyControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/currencyTypeController.service.ts b/src/api/api/currencyTypeController.service.ts index 44cf38fb..2e7b084b 100644 --- a/src/api/api/currencyTypeController.service.ts +++ b/src/api/api/currencyTypeController.service.ts @@ -34,6 +34,7 @@ import { ApiPaginatedResponseApiCurrencyType } from '../model/apiPaginatedRespon import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for disableCurrency. @@ -340,7 +341,7 @@ export namespace GetEnabledCurrencyTypes { }) export class CurrencyTypeControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/dashboardController.service.ts b/src/api/api/dashboardController.service.ts index dd08a2fb..523334d1 100644 --- a/src/api/api/dashboardController.service.ts +++ b/src/api/api/dashboardController.service.ts @@ -35,6 +35,7 @@ import { ApiResponseApiProcessingPerformanceTotal } from '../model/apiResponseAp import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for calculateProcessingPerformanceData. @@ -386,7 +387,7 @@ export namespace GetDeliveriesAggregatedData { }) export class DashboardControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/facilityController.service.ts b/src/api/api/facilityController.service.ts index b77a13ae..c7af5673 100644 --- a/src/api/api/facilityController.service.ts +++ b/src/api/api/facilityController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiFacility } from '../model/apiResponseApiFacility'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for activateFacility. @@ -658,7 +659,7 @@ export namespace ListFacilitiesByCompany { }) export class FacilityControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/facilityTypeController.service.ts b/src/api/api/facilityTypeController.service.ts index edb926c7..ff28c6e5 100644 --- a/src/api/api/facilityTypeController.service.ts +++ b/src/api/api/facilityTypeController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiFacilityType } from '../model/apiResponseApiFacilityType' import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateFacilityType. @@ -217,7 +218,7 @@ export namespace GetFacilityTypeList { }) export class FacilityTypeControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/finalProductController.service.ts b/src/api/api/finalProductController.service.ts index 76b542af..3162dbe5 100644 --- a/src/api/api/finalProductController.service.ts +++ b/src/api/api/finalProductController.service.ts @@ -33,6 +33,7 @@ import { ApiPaginatedResponseApiFinalProduct } from '../model/apiPaginatedRespon import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for getFinalProductsForCompany. @@ -128,7 +129,7 @@ export namespace GetFinalProductsForCompany { }) export class FinalProductControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/groupStockOrderController.service.ts b/src/api/api/groupStockOrderController.service.ts index 927c3fc5..400f96e8 100644 --- a/src/api/api/groupStockOrderController.service.ts +++ b/src/api/api/groupStockOrderController.service.ts @@ -33,6 +33,7 @@ import { ApiPaginatedResponseApiGroupStockOrder } from '../model/apiPaginatedRes import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for getGroupedStockOrderList. @@ -162,7 +163,7 @@ export namespace GetGroupedStockOrderList { }) export class GroupStockOrderControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/measureUnitTypeController.service.ts b/src/api/api/measureUnitTypeController.service.ts index 24572ff8..1a004dbd 100644 --- a/src/api/api/measureUnitTypeController.service.ts +++ b/src/api/api/measureUnitTypeController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiMeasureUnitType } from '../model/apiResponseApiMeasureUni import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateMeasurementUnitType. @@ -217,7 +218,7 @@ export namespace GetMeasurementUnitType { }) export class MeasureUnitTypeControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/operationHandler.service.ts b/src/api/api/operationHandler.service.ts index e38f4dd0..533c47db 100644 --- a/src/api/api/operationHandler.service.ts +++ b/src/api/api/operationHandler.service.ts @@ -32,6 +32,7 @@ import { catchError } from 'rxjs/operator import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for handle. @@ -108,7 +109,7 @@ export namespace HandleUsingGET { }) export class OperationHandlerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/paymentController.service.ts b/src/api/api/paymentController.service.ts index d5261250..3ad4ec79 100644 --- a/src/api/api/paymentController.service.ts +++ b/src/api/api/paymentController.service.ts @@ -40,6 +40,7 @@ import { ApiResponseApiPayment } from '../model/apiResponseApiPayment'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createBulkPayment. @@ -664,7 +665,7 @@ export namespace ListPaymentsByPurchase { }) export class PaymentControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/processingActionController.service.ts b/src/api/api/processingActionController.service.ts index 9efc4eec..5c4085c1 100644 --- a/src/api/api/processingActionController.service.ts +++ b/src/api/api/processingActionController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiProcessingAction } from '../model/apiResponseApiProcessin import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateProcessingAction. @@ -295,7 +296,7 @@ export namespace ListProcessingActionsByCompany { }) export class ProcessingActionControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/processingEvidenceFieldController.service.ts b/src/api/api/processingEvidenceFieldController.service.ts index 992a0db5..69bee02b 100644 --- a/src/api/api/processingEvidenceFieldController.service.ts +++ b/src/api/api/processingEvidenceFieldController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiProcessingEvidenceField } from '../model/apiResponseApiPr import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateProcessingEvidenceField. @@ -407,7 +408,7 @@ export namespace ListProcessingEvidenceFieldsByValueChains { }) export class ProcessingEvidenceFieldControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/processingEvidenceTypeController.service.ts b/src/api/api/processingEvidenceTypeController.service.ts index 0efceaf9..98b773f9 100644 --- a/src/api/api/processingEvidenceTypeController.service.ts +++ b/src/api/api/processingEvidenceTypeController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiProcessingEvidenceType } from '../model/apiResponseApiPro import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateProcessingEvidenceType. @@ -407,7 +408,7 @@ export namespace ListProcessingEvidenceTypesByValueChains { }) export class ProcessingEvidenceTypeControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/processingOrderController.service.ts b/src/api/api/processingOrderController.service.ts index a42765a7..b50f4fdc 100644 --- a/src/api/api/processingOrderController.service.ts +++ b/src/api/api/processingOrderController.service.ts @@ -36,6 +36,7 @@ import { ApiResponseApiProcessingOrder } from '../model/apiResponseApiProcessing import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateProcessingOrder. @@ -148,7 +149,7 @@ export namespace GetProcessingOrder { }) export class ProcessingOrderControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/productController.service.ts b/src/api/api/productController.service.ts index d39fe3cc..08096ef8 100644 --- a/src/api/api/productController.service.ts +++ b/src/api/api/productController.service.ts @@ -57,6 +57,7 @@ import { ApiResponseListApiProductLabelCompanyDocument } from '../model/apiRespo import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for addProductKnowledgeBlog. @@ -1543,7 +1544,7 @@ export namespace UpdateProductLabelValues { }) export class ProductControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/productOrderController.service.ts b/src/api/api/productOrderController.service.ts index 21091d3b..96c37c86 100644 --- a/src/api/api/productOrderController.service.ts +++ b/src/api/api/productOrderController.service.ts @@ -35,6 +35,7 @@ import { ApiResponseApiProductOrder } from '../model/apiResponseApiProductOrder' import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createProductOrder. @@ -112,7 +113,7 @@ export namespace GetProductOrder { }) export class ProductOrderControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/productTypeController.service.ts b/src/api/api/productTypeController.service.ts index 74acf7d7..73ae7354 100644 --- a/src/api/api/productTypeController.service.ts +++ b/src/api/api/productTypeController.service.ts @@ -37,6 +37,7 @@ import { ApiResponseApiProductType } from '../model/apiResponseApiProductType'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createProductType. @@ -187,7 +188,7 @@ export namespace UpdateProductType { }) export class ProductTypeControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/publicController.service.ts b/src/api/api/publicController.service.ts index e8eed4d2..6abcaa46 100644 --- a/src/api/api/publicController.service.ts +++ b/src/api/api/publicController.service.ts @@ -45,6 +45,7 @@ import { ApiResponseListApiLocation } from '../model/apiResponseListApiLocation' import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for addProductLabelFeedback. @@ -579,7 +580,7 @@ export namespace LogPublicRequest { }) export class PublicControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/semiProductController.service.ts b/src/api/api/semiProductController.service.ts index 0fd1da76..172e2d65 100644 --- a/src/api/api/semiProductController.service.ts +++ b/src/api/api/semiProductController.service.ts @@ -37,6 +37,7 @@ import { ApiSemiProduct } from '../model/apiSemiProduct'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateSemiProduct. @@ -355,7 +356,7 @@ export namespace GetSemiProductListByValueChains { }) export class SemiProductControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/stockOrderController.service.ts b/src/api/api/stockOrderController.service.ts index ea03143c..b6b0db2c 100644 --- a/src/api/api/stockOrderController.service.ts +++ b/src/api/api/stockOrderController.service.ts @@ -41,6 +41,7 @@ import { ApiStockOrder } from '../model/apiStockOrder'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateStockOrder. @@ -1136,7 +1137,8 @@ export namespace GetStockOrdersInFacilityForCustomer { }) export class StockOrderControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; + protected whispApiKey = environment.whispApiKey; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/transactionController.service.ts b/src/api/api/transactionController.service.ts index d6ccc4f9..c094924e 100644 --- a/src/api/api/transactionController.service.ts +++ b/src/api/api/transactionController.service.ts @@ -162,7 +162,7 @@ export namespace RejectTransaction { }) export class TransactionControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/userController.service.ts b/src/api/api/userController.service.ts index a31f892d..c9b45313 100644 --- a/src/api/api/userController.service.ts +++ b/src/api/api/userController.service.ts @@ -44,6 +44,7 @@ import { ApiUserUpdate } from '../model/apiUserUpdate'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for activateUser. @@ -744,7 +745,7 @@ export namespace UpdateProfile { }) export class UserControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/userCustomerController.service.ts b/src/api/api/userCustomerController.service.ts index 74408675..3a7143d2 100644 --- a/src/api/api/userCustomerController.service.ts +++ b/src/api/api/userCustomerController.service.ts @@ -34,6 +34,7 @@ import { ApiResponseApiUserCustomer } from '../model/apiResponseApiUserCustomer' import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for getUserCustomer. @@ -246,7 +247,7 @@ export namespace GetUserCustomerListUsingGET { }) export class UserCustomerControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/valueChainController.service.ts b/src/api/api/valueChainController.service.ts index a701f18b..d588da17 100644 --- a/src/api/api/valueChainController.service.ts +++ b/src/api/api/valueChainController.service.ts @@ -37,6 +37,7 @@ import { ApiValueChain } from '../model/apiValueChain'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for createOrUpdateValueChain. @@ -321,7 +322,7 @@ export namespace GetValueChainList { }) export class ValueChainControllerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); diff --git a/src/api/api/webMvcLinksHandler.service.ts b/src/api/api/webMvcLinksHandler.service.ts index b199a7b7..a6cd6e9c 100644 --- a/src/api/api/webMvcLinksHandler.service.ts +++ b/src/api/api/webMvcLinksHandler.service.ts @@ -19,19 +19,20 @@ /* tslint:disable:no-unused-variable member-ordering */ +// tslint:disable-next-line:import-spacing import { Inject, Injectable, Optional } from '@angular/core'; import { ValidatorFn, Validators } from '@angular/forms'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent } from '@angular/common/http'; -import { CustomHttpUrlEncodingCodec } from '../encoder'; +import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; -import { Observable } from 'rxjs'; -import { catchError } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { catchError } from 'rxjs/operators'; -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import {environment} from '../../environments/environment'; /** * Namespace for linksUsingGET. @@ -64,7 +65,7 @@ export namespace LinksUsingGET { }) export class WebMvcLinksHandlerService { - protected basePath = 'http://localhost:8080'; + protected basePath = environment.basePath; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); From 0a5f2028fc50aca8f948acc2e4b4d5c337ae9b2c Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:19 +0000 Subject: [PATCH 04/25] i18n: add French (FR) as a supported language Adds the French message bundle and flag, registers the fr locale, offers FR in the language pickers, and threads FR through the generated API enums. --- src/api/api/companyController.service.ts | 14 +- src/api/api/dashboardController.service.ts | 18 +- src/api/api/facilityController.service.ts | 60 +- .../api/groupStockOrderController.service.ts | 8 +- src/api/api/paymentController.service.ts | 20 +- ...rocessingEvidenceTypeController.service.ts | 40 +- .../api/processingOrderController.service.ts | 20 +- src/api/api/productController.service.ts | 10 +- src/api/api/productOrderController.service.ts | 20 +- src/api/api/productTypeController.service.ts | 20 +- src/api/api/semiProductController.service.ts | 40 +- src/api/api/stockOrderController.service.ts | 291 +- src/api/api/transactionController.service.ts | 30 +- src/api/model/apiAdminUserUpdate.ts | 1 + src/api/model/apiCompanyUpdate.ts | 1 + src/api/model/apiCompanyUser.ts | 1 + src/api/model/apiCreateUserRequest.ts | 1 + src/api/model/apiFacilityTranslation.ts | 1 + src/api/model/apiProcessingAction.ts | 1 + .../model/apiProcessingActionTranslation.ts | 1 + .../apiProcessingEvidenceFieldTranslation.ts | 1 + .../apiProcessingEvidenceTypeTranslation.ts | 1 + src/api/model/apiProductLabel.ts | 1 + src/api/model/apiProductLabelBase.ts | 1 + src/api/model/apiProductLabelUpdateValues.ts | 1 + src/api/model/apiProductLabelValues.ts | 1 + .../model/apiProductLabelValuesExtended.ts | 1 + src/api/model/apiProductSettings.ts | 1 + src/api/model/apiProductTypeTranslation.ts | 1 + src/api/model/apiSemiProductTranslation.ts | 1 + src/api/model/apiUser.ts | 1 + src/api/model/apiUserBase.ts | 1 + src/api/model/apiUserGet.ts | 1 + src/api/model/apiUserUpdate.ts | 1 + src/app/app.module.ts | 2 + .../landing-page/landing-page.component.html | 6 +- src/app/language-code-helper.ts | 2 +- .../language-for-label-modal.component.ts | 1 + .../product-label/product-label.component.ts | 1 + .../type-detail-modal.component.html | 20 + .../type-detail-modal.component.ts | 2 +- src/app/user/login/login.component.html | 2 +- .../register-activation.component.html | 2 +- src/app/user/register/register.component.html | 2 +- .../reset-password-request.component.html | 2 +- .../reset-password.component.html | 2 +- .../user-detail/user-detail.component.html | 7 +- src/assets/icons/icon-flag--french.png | Bin 0 -> 530 bytes src/assets/icons/icon-flag--french.svg | 2 + src/assets/locale/en.json | 1 + src/assets/locale/fr.json | 3197 +++++++++++++++++ src/assets/locale/rw.json | 1 + 52 files changed, 3653 insertions(+), 211 deletions(-) create mode 100644 src/assets/icons/icon-flag--french.png create mode 100644 src/assets/icons/icon-flag--french.svg create mode 100644 src/assets/locale/fr.json diff --git a/src/api/api/companyController.service.ts b/src/api/api/companyController.service.ts index 9cd6d031..e3a487cf 100644 --- a/src/api/api/companyController.service.ts +++ b/src/api/api/companyController.service.ts @@ -69,7 +69,7 @@ export namespace AddUserCustomer { */ companyId: number; ApiUserCustomer: ApiUserCustomer; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -162,7 +162,7 @@ export namespace CreateUserCustomerPlot { */ id: number; ApiPlot: ApiPlot; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -1547,7 +1547,7 @@ export namespace UpdateUserCustomer { */ export interface PartialParamMap { ApiUserCustomer: ApiUserCustomer; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -1684,10 +1684,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public addUserCustomer(companyId: number, ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling addUserCustomer.'); } diff --git a/src/api/api/dashboardController.service.ts b/src/api/api/dashboardController.service.ts index 523334d1..22c3ef4f 100644 --- a/src/api/api/dashboardController.service.ts +++ b/src/api/api/dashboardController.service.ts @@ -119,7 +119,7 @@ export namespace ExportDeliveriesData { * Production date range end */ productionDateEnd?: string; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -567,10 +567,10 @@ export class DashboardControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportDeliveriesData(companyId: number, aggregationType: 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', exportType: 'EXCEL' | 'PDF' | 'CSV', facilityIds?: Array, semiProductId?: number, farmerId?: number, collectorId?: number, isWomenShare?: boolean, organicOnly?: boolean, priceDeterminedLater?: boolean, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling exportDeliveriesData.'); } @@ -702,10 +702,10 @@ export class DashboardControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportProcessingPerformanceData(ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (ApiProcessingPerformanceRequest === null || ApiProcessingPerformanceRequest === undefined) { throw new Error('Required parameter ApiProcessingPerformanceRequest was null or undefined when calling exportProcessingPerformanceData.'); } diff --git a/src/api/api/facilityController.service.ts b/src/api/api/facilityController.service.ts index c7af5673..ee172f04 100644 --- a/src/api/api/facilityController.service.ts +++ b/src/api/api/facilityController.service.ts @@ -182,7 +182,7 @@ export namespace GetFacility { * Facility ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -221,7 +221,7 @@ export namespace GetFacilityDetail { * Facility ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -260,7 +260,7 @@ export namespace ListAllFacilitiesByCompany { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -351,7 +351,7 @@ export namespace ListAvailableSellingFacilitiesForCompany { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; /** * Semi product ID */ @@ -462,7 +462,7 @@ export namespace ListCollectingFacilitiesByCompany { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -561,7 +561,7 @@ export namespace ListFacilitiesByCompany { * Final product ID */ finalProductId?: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -1065,10 +1065,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getFacility(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getFacility.'); } @@ -1152,10 +1152,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getFacilityDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getFacilityDetail.'); } @@ -1249,10 +1249,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listAllFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listAllFacilitiesByCompany.'); } @@ -1368,10 +1368,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listAvailableSellingFacilitiesForCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', semiProductId?: number, finalProductId?: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listAvailableSellingFacilitiesForCompany.'); } @@ -1489,10 +1489,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCollectingFacilitiesByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listCollectingFacilitiesByCompany.'); } @@ -1608,10 +1608,10 @@ export class FacilityControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listFacilitiesByCompany(id: number, semiProductId?: number, finalProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listFacilitiesByCompany.'); } diff --git a/src/api/api/groupStockOrderController.service.ts b/src/api/api/groupStockOrderController.service.ts index 400f96e8..76d0c621 100644 --- a/src/api/api/groupStockOrderController.service.ts +++ b/src/api/api/groupStockOrderController.service.ts @@ -249,10 +249,10 @@ export class GroupStockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getGroupedStockOrderList(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', availableOnly?: boolean, isPurchaseOrderOnly?: boolean, semiProductId?: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (facilityId === null || facilityId === undefined) { throw new Error('Required parameter facilityId was null or undefined when calling getGroupedStockOrderList.'); } diff --git a/src/api/api/paymentController.service.ts b/src/api/api/paymentController.service.ts index 3ad4ec79..69b243d4 100644 --- a/src/api/api/paymentController.service.ts +++ b/src/api/api/paymentController.service.ts @@ -141,7 +141,7 @@ export namespace ExportBulkPaymentsByCompany { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -180,7 +180,7 @@ export namespace ExportPaymentsByCompany { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -993,10 +993,10 @@ export class PaymentControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportBulkPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling exportBulkPaymentsByCompany.'); } @@ -1081,10 +1081,10 @@ export class PaymentControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportPaymentsByCompany(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling exportPaymentsByCompany.'); } diff --git a/src/api/api/processingEvidenceTypeController.service.ts b/src/api/api/processingEvidenceTypeController.service.ts index 98b773f9..6d146668 100644 --- a/src/api/api/processingEvidenceTypeController.service.ts +++ b/src/api/api/processingEvidenceTypeController.service.ts @@ -112,7 +112,7 @@ export namespace GetProcessingEvidenceType { * Processing evidence type ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -167,7 +167,7 @@ export namespace GetProcessingEvidenceTypeList { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -251,7 +251,7 @@ export namespace ListProcessingEvidenceTypesByValueChain { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -342,7 +342,7 @@ export namespace ListProcessingEvidenceTypesByValueChains { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -648,10 +648,10 @@ export class ProcessingEvidenceTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProcessingEvidenceType.'); } @@ -743,10 +743,10 @@ export class ProcessingEvidenceTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceTypeList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (requestType !== undefined && requestType !== null) { @@ -855,10 +855,10 @@ export class ProcessingEvidenceTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceTypesByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listProcessingEvidenceTypesByValueChain.'); } @@ -970,10 +970,10 @@ export class ProcessingEvidenceTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceTypesByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (valueChainIds === null || valueChainIds === undefined) { throw new Error('Required parameter valueChainIds was null or undefined when calling listProcessingEvidenceTypesByValueChains.'); } diff --git a/src/api/api/processingOrderController.service.ts b/src/api/api/processingOrderController.service.ts index b50f4fdc..64211674 100644 --- a/src/api/api/processingOrderController.service.ts +++ b/src/api/api/processingOrderController.service.ts @@ -47,7 +47,7 @@ export namespace CreateOrUpdateProcessingOrder { */ export interface PartialParamMap { ApiProcessingOrder: ApiProcessingOrder; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -115,7 +115,7 @@ export namespace GetProcessingOrder { * ProcessingOrder ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -219,10 +219,10 @@ export class ProcessingOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createOrUpdateProcessingOrder(ApiProcessingOrder: ApiProcessingOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (ApiProcessingOrder === null || ApiProcessingOrder === undefined) { throw new Error('Required parameter ApiProcessingOrder was null or undefined when calling createOrUpdateProcessingOrder.'); } @@ -394,10 +394,10 @@ export class ProcessingOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProcessingOrder.'); } diff --git a/src/api/api/productController.service.ts b/src/api/api/productController.service.ts index 08096ef8..5fd62c3e 100644 --- a/src/api/api/productController.service.ts +++ b/src/api/api/productController.service.ts @@ -1197,7 +1197,7 @@ export namespace ListProducts { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -3933,10 +3933,10 @@ export class ProductControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProducts(name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (name !== undefined && name !== null) { diff --git a/src/api/api/productOrderController.service.ts b/src/api/api/productOrderController.service.ts index 96c37c86..97a81a05 100644 --- a/src/api/api/productOrderController.service.ts +++ b/src/api/api/productOrderController.service.ts @@ -46,7 +46,7 @@ export namespace CreateProductOrder { */ export interface PartialParamMap { ApiProductOrder: ApiProductOrder; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -79,7 +79,7 @@ export namespace GetProductOrder { * Product order ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -183,10 +183,10 @@ export class ProductOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createProductOrder(ApiProductOrder: ApiProductOrder, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (ApiProductOrder === null || ApiProductOrder === undefined) { throw new Error('Required parameter ApiProductOrder was null or undefined when calling createProductOrder.'); } @@ -276,10 +276,10 @@ export class ProductOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProductOrder.'); } diff --git a/src/api/api/productTypeController.service.ts b/src/api/api/productTypeController.service.ts index 73ae7354..ab3929dd 100644 --- a/src/api/api/productTypeController.service.ts +++ b/src/api/api/productTypeController.service.ts @@ -103,7 +103,7 @@ export namespace GetProductType { */ export interface PartialParamMap { id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -135,7 +135,7 @@ export namespace GetProductTypes { * Parameter map for getProductTypes. */ export interface PartialParamMap { - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -434,10 +434,10 @@ export class ProductTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductType(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProductType.'); } @@ -525,10 +525,10 @@ export class ProductTypeControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProductTypes(language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let headers = this.defaultHeaders; if (language !== undefined && language !== null) { diff --git a/src/api/api/semiProductController.service.ts b/src/api/api/semiProductController.service.ts index 172e2d65..e14b0806 100644 --- a/src/api/api/semiProductController.service.ts +++ b/src/api/api/semiProductController.service.ts @@ -112,7 +112,7 @@ export namespace GetSemiProduct { * Semi product ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -151,7 +151,7 @@ export namespace GetSemiProductDetails { * Semi product ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -206,7 +206,7 @@ export namespace GetSemiProductList { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -290,7 +290,7 @@ export namespace GetSemiProductListByValueChains { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -596,10 +596,10 @@ export class SemiProductControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProduct(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getSemiProduct.'); } @@ -683,10 +683,10 @@ export class SemiProductControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductDetails(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getSemiProductDetails.'); } @@ -778,10 +778,10 @@ export class SemiProductControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (requestType !== undefined && requestType !== null) { @@ -890,10 +890,10 @@ export class SemiProductControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getSemiProductListByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (valueChainIds === null || valueChainIds === undefined) { throw new Error('Required parameter valueChainIds was null or undefined when calling getSemiProductListByValueChains.'); } diff --git a/src/api/api/stockOrderController.service.ts b/src/api/api/stockOrderController.service.ts index b6b0db2c..ef195a98 100644 --- a/src/api/api/stockOrderController.service.ts +++ b/src/api/api/stockOrderController.service.ts @@ -142,7 +142,7 @@ export namespace ExportDeliveriesByCompany { * Company ID */ companyId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -181,7 +181,7 @@ export namespace ExportGeoData { * StockOrder ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -208,6 +208,45 @@ export namespace ExportGeoData { }; } +/** + * Namespace for exportPlacedOrderByCompany. + */ +export namespace exportPlacedOrderByCompany { + /** + * Parameter map for exportPlacedOrderByCompany. + */ + export interface PartialParamMap { + /** + * Company ID + */ + companyId: number; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; + } + + /** + * Enumeration of all parameters for exportPlacedOrderByCompany. + */ + export enum Parameters { + /** + * Company ID + */ + companyId = 'companyId', + language = 'language' + } + + /** + * A map of tuples with error name and `ValidatorFn` for each parameter of exportPlacedOrderByCompany + * that does not have an own model. + */ + export const ParamValidators: {[K in keyof exportPlacedOrderByCompany.PartialParamMap]?: [string, ValidatorFn][]} = { + companyId: [ + ['required', Validators.required], + ], + language: [ + ], + }; +} + /** * Namespace for getAvailableStockForStockUnitInFacility. */ @@ -268,7 +307,7 @@ export namespace GetAvailableStockForStockUnitInFacility { * Production date range end */ productionDateEnd?: string; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -413,7 +452,7 @@ export namespace GetQuoteOrdersInFacility { * Return only open stock orders */ openOnly?: boolean; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -506,7 +545,7 @@ export namespace GetStockOrder { * Return the processing order base data */ withProcessingOrder?: boolean; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -551,7 +590,7 @@ export namespace GetStockOrderAggregatedHistory { * StockOrder ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -658,7 +697,7 @@ export namespace GetStockOrderListByCompanyId { * Search by ProducerUserCustomer name */ query?: string; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -857,7 +896,7 @@ export namespace GetStockOrderListByFacilityId { * Search by ProducerUserCustomer name */ query?: string; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -982,7 +1021,7 @@ export namespace GetStockOrderProcessingOrder { * StockOrder ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -1053,7 +1092,7 @@ export namespace GetStockOrdersInFacilityForCustomer { * Return only open stock orders */ openOnly?: boolean; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -1466,10 +1505,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportDeliveriesByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling exportDeliveriesByCompany.'); } @@ -1554,10 +1593,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportGeoData(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling exportGeoData.'); } @@ -1666,10 +1705,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getAvailableStockForStockUnitInFacility(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', semiProductId?: number, finalProductId?: number, isWomenShare?: boolean, organicOnly?: boolean, internalLotName?: string, productionDateStart?: string, productionDateEnd?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (facilityId === null || facilityId === undefined) { throw new Error('Required parameter facilityId was null or undefined when calling getAvailableStockForStockUnitInFacility.'); } @@ -1808,10 +1847,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getQuoteOrdersInFacility(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, semiProductId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling getQuoteOrdersInFacility.'); } @@ -1924,10 +1963,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrder(id: number, withProcessingOrder?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getStockOrder.'); } @@ -2017,10 +2056,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderAggregatedHistory(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getStockOrderAggregatedHistory.'); } @@ -2138,10 +2177,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderListByCompanyId(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', farmerId?: number, representativeOfProducerUserCustomerId?: number, isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', orderType?: 'PURCHASE_ORDER' | 'PROCESSING_ORDER' | 'GENERAL_ORDER' | 'TRANSFER_ORDER', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling getStockOrderListByCompanyId.'); } @@ -2307,10 +2346,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderListByFacilityId(facilityId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', isOpenBalanceOnly?: boolean, isPurchaseOrderOnly?: boolean, availableOnly?: boolean, semiProductId?: number, isWomenShare?: boolean, wayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', productionDateStart?: string, productionDateEnd?: string, query?: string, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (facilityId === null || facilityId === undefined) { throw new Error('Required parameter facilityId was null or undefined when calling getStockOrderListByFacilityId.'); } @@ -2439,10 +2478,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderProcessingOrder(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getStockOrderProcessingOrder.'); } @@ -2542,10 +2581,10 @@ export class StockOrderControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrdersInFacilityForCustomer(companyId: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', facilityId?: number, companyCustomerId?: number, openOnly?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling getStockOrdersInFacilityForCustomer.'); } @@ -2615,4 +2654,156 @@ export class StockOrderControllerService { return handle; } + /** + * Export placed orders for the provided company ID + * + * @param companyId Company ID + * @param language + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public exportPlacedOrderByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportPlacedOrderByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportPlacedOrderByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportPlacedOrderByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + if (companyId === null || companyId === undefined) { + throw new Error('Required parameter companyId was null or undefined when calling exportPlacedOrderByCompany.'); + } + + let headers = this.defaultHeaders; + if (language !== undefined && language !== null) { + headers = headers.set('language', String(language)); + } + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/octet-stream' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + if (additionalHeaders) { + for(let pair of additionalHeaders) { + headers = headers.set(pair[0], pair[1]); + } + } + + const handle = this.httpClient.get(`${this.configuration.basePath}/api/chain/stock-order/export/placed-orders/company/${encodeURIComponent(String(companyId))}`, + { + responseType: "blob", + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + if(typeof this.configuration.errorHandler === 'function') { + return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'exportPlacedOrderByCompany'))); + } + return handle; + } + + /** + * Export placed orders for the provided company ID + * + * @param stockOrderId Stock Order ID + * @param language + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public exportSingleCommandHistory(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportSingleCommandHistory(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportSingleCommandHistory(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportSingleCommandHistory(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + if (stockOrderId === null || stockOrderId === undefined) { + throw new Error('Required parameter stockId was null or undefined when calling exportSingleCommandHistory.'); + } + + let headers = this.defaultHeaders; + if (language !== undefined && language !== null) { + headers = headers.set('language', String(language)); + } + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/octet-stream' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + if (additionalHeaders) { + for(let pair of additionalHeaders) { + headers = headers.set(pair[0], pair[1]); + } + } + + const handle = this.httpClient.get(`${this.configuration.basePath}/api/chain/stock-order/${encodeURIComponent(String(stockOrderId))}/aggregated-history-export`, + { + responseType: "blob", + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + if(typeof this.configuration.errorHandler === 'function') { + return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'exportSingleCommandHistory'))); + } + return handle; + } + + // Make a call to the API to export data to Whisp + public exportToWhisp( geoData: Blob, observe: any = 'body', reportProgress: boolean = false): Observable { + if (geoData === null || geoData === undefined) { + throw new Error('Required parameter geoData.'); + } + + let headers = this.defaultHeaders; + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/json' + ]; + + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + headers = headers.set('x-api-key', `${this.whispApiKey}`); + + const handle = this.httpClient.post(`${this.configuration.basePath}/external-whisp-api/api/submit/geojson`, + geoData, { headers: headers } + ); + + if(typeof this.configuration.errorHandler === 'function') { + return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'exportToWhisp'))); + } + // Construct the csv table + console.log("after call whisp inside"); + console.log(handle); + return handle; + } + } diff --git a/src/api/api/transactionController.service.ts b/src/api/api/transactionController.service.ts index c094924e..55944211 100644 --- a/src/api/api/transactionController.service.ts +++ b/src/api/api/transactionController.service.ts @@ -48,7 +48,7 @@ export namespace ApproveTransaction { * Transaction ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -87,7 +87,7 @@ export namespace GetStockOrderInputTransactions { * Company ID */ stockOrderId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -127,7 +127,7 @@ export namespace RejectTransaction { */ id: number; ApiTransaction: ApiTransaction; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -232,10 +232,10 @@ export class TransactionControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public approveTransaction(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling approveTransaction.'); } @@ -320,10 +320,10 @@ export class TransactionControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getStockOrderInputTransactions(stockOrderId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (stockOrderId === null || stockOrderId === undefined) { throw new Error('Required parameter stockOrderId was null or undefined when calling getStockOrderInputTransactions.'); } @@ -409,10 +409,10 @@ export class TransactionControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public rejectTransaction(id: number, ApiTransaction: ApiTransaction, language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling rejectTransaction.'); } diff --git a/src/api/model/apiAdminUserUpdate.ts b/src/api/model/apiAdminUserUpdate.ts index 9d8d2556..f7c9bd0e 100644 --- a/src/api/model/apiAdminUserUpdate.ts +++ b/src/api/model/apiAdminUserUpdate.ts @@ -73,6 +73,7 @@ export namespace ApiAdminUserUpdate { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiCompanyUpdate.ts b/src/api/model/apiCompanyUpdate.ts index 7f7b3932..3d2861fa 100644 --- a/src/api/model/apiCompanyUpdate.ts +++ b/src/api/model/apiCompanyUpdate.ts @@ -198,6 +198,7 @@ export namespace ApiCompanyUpdate { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiCompanyUser.ts b/src/api/model/apiCompanyUser.ts index 3086c90a..93ed0f15 100644 --- a/src/api/model/apiCompanyUser.ts +++ b/src/api/model/apiCompanyUser.ts @@ -127,6 +127,7 @@ export namespace ApiCompanyUser { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiCreateUserRequest.ts b/src/api/model/apiCreateUserRequest.ts index 151b1031..aed78466 100644 --- a/src/api/model/apiCreateUserRequest.ts +++ b/src/api/model/apiCreateUserRequest.ts @@ -81,6 +81,7 @@ export namespace ApiCreateUserRequest { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiFacilityTranslation.ts b/src/api/model/apiFacilityTranslation.ts index 2e16d8b0..aa506b07 100644 --- a/src/api/model/apiFacilityTranslation.ts +++ b/src/api/model/apiFacilityTranslation.ts @@ -59,6 +59,7 @@ export namespace ApiFacilityTranslation { export enum LanguageEnum { EN = 'EN', DE = 'DE', + FR = 'FR', RW = 'RW', ES = 'ES' } diff --git a/src/api/model/apiProcessingAction.ts b/src/api/model/apiProcessingAction.ts index 31a50cbc..e6f8df3a 100644 --- a/src/api/model/apiProcessingAction.ts +++ b/src/api/model/apiProcessingAction.ts @@ -223,6 +223,7 @@ export namespace ApiProcessingAction { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProcessingActionTranslation.ts b/src/api/model/apiProcessingActionTranslation.ts index 3d412395..b4863afd 100644 --- a/src/api/model/apiProcessingActionTranslation.ts +++ b/src/api/model/apiProcessingActionTranslation.ts @@ -68,6 +68,7 @@ export namespace ApiProcessingActionTranslation { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProcessingEvidenceFieldTranslation.ts b/src/api/model/apiProcessingEvidenceFieldTranslation.ts index 5dad4b79..358db453 100644 --- a/src/api/model/apiProcessingEvidenceFieldTranslation.ts +++ b/src/api/model/apiProcessingEvidenceFieldTranslation.ts @@ -62,6 +62,7 @@ export namespace ApiProcessingEvidenceFieldTranslation { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProcessingEvidenceTypeTranslation.ts b/src/api/model/apiProcessingEvidenceTypeTranslation.ts index de3dcab9..0e21b3c3 100644 --- a/src/api/model/apiProcessingEvidenceTypeTranslation.ts +++ b/src/api/model/apiProcessingEvidenceTypeTranslation.ts @@ -68,6 +68,7 @@ export namespace ApiProcessingEvidenceTypeTranslation { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductLabel.ts b/src/api/model/apiProductLabel.ts index 784dda7b..67cda914 100644 --- a/src/api/model/apiProductLabel.ts +++ b/src/api/model/apiProductLabel.ts @@ -109,6 +109,7 @@ export namespace ApiProductLabel { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductLabelBase.ts b/src/api/model/apiProductLabelBase.ts index 166d8a05..aa685fbd 100644 --- a/src/api/model/apiProductLabelBase.ts +++ b/src/api/model/apiProductLabelBase.ts @@ -97,6 +97,7 @@ export namespace ApiProductLabelBase { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductLabelUpdateValues.ts b/src/api/model/apiProductLabelUpdateValues.ts index 1cc4ca14..6a57a475 100644 --- a/src/api/model/apiProductLabelUpdateValues.ts +++ b/src/api/model/apiProductLabelUpdateValues.ts @@ -106,6 +106,7 @@ export namespace ApiProductLabelUpdateValues { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductLabelValues.ts b/src/api/model/apiProductLabelValues.ts index 50abe3fa..dd03fb3a 100644 --- a/src/api/model/apiProductLabelValues.ts +++ b/src/api/model/apiProductLabelValues.ts @@ -109,6 +109,7 @@ export namespace ApiProductLabelValues { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductLabelValuesExtended.ts b/src/api/model/apiProductLabelValuesExtended.ts index ddb34ed8..6fd18e96 100644 --- a/src/api/model/apiProductLabelValuesExtended.ts +++ b/src/api/model/apiProductLabelValuesExtended.ts @@ -155,6 +155,7 @@ export namespace ApiProductLabelValuesExtended { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductSettings.ts b/src/api/model/apiProductSettings.ts index 7d6c1a9a..8a6906ad 100644 --- a/src/api/model/apiProductSettings.ts +++ b/src/api/model/apiProductSettings.ts @@ -103,6 +103,7 @@ export namespace ApiProductSettings { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiProductTypeTranslation.ts b/src/api/model/apiProductTypeTranslation.ts index a628790d..f47154e6 100644 --- a/src/api/model/apiProductTypeTranslation.ts +++ b/src/api/model/apiProductTypeTranslation.ts @@ -73,6 +73,7 @@ export namespace ApiProductTypeTranslation { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiSemiProductTranslation.ts b/src/api/model/apiSemiProductTranslation.ts index 339023aa..4bf267cc 100644 --- a/src/api/model/apiSemiProductTranslation.ts +++ b/src/api/model/apiSemiProductTranslation.ts @@ -72,6 +72,7 @@ export namespace ApiSemiProductTranslation { export enum LanguageEnum { EN = 'EN', DE = 'DE', + FR = 'FR', RW = 'RW', ES = 'ES' } diff --git a/src/api/model/apiUser.ts b/src/api/model/apiUser.ts index 0cf83c9e..53e91b4e 100644 --- a/src/api/model/apiUser.ts +++ b/src/api/model/apiUser.ts @@ -119,6 +119,7 @@ export namespace ApiUser { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiUserBase.ts b/src/api/model/apiUserBase.ts index 92ebc418..6e531a85 100644 --- a/src/api/model/apiUserBase.ts +++ b/src/api/model/apiUserBase.ts @@ -119,6 +119,7 @@ export namespace ApiUserBase { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiUserGet.ts b/src/api/model/apiUserGet.ts index 1dfadc92..b875d475 100644 --- a/src/api/model/apiUserGet.ts +++ b/src/api/model/apiUserGet.ts @@ -143,6 +143,7 @@ export namespace ApiUserGet { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/api/model/apiUserUpdate.ts b/src/api/model/apiUserUpdate.ts index 79f7cf5f..b7bec372 100644 --- a/src/api/model/apiUserUpdate.ts +++ b/src/api/model/apiUserUpdate.ts @@ -65,6 +65,7 @@ export namespace ApiUserUpdate { EN = 'EN', DE = 'DE', RW = 'RW', + FR = 'FR', ES = 'ES' } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b3dd9511..dee5016b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -4,6 +4,7 @@ import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import localeDe from '@angular/common/locales/de'; import localeRw from '@angular/common/locales/rw'; import localeEs from '@angular/common/locales/es'; +import localeFr from '@angular/common/locales/fr'; import { LOCALE_ID, NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { GoogleMapsModule } from '@angular/google-maps'; @@ -84,6 +85,7 @@ export class HammerConfig extends HammerGestureConfig { registerLocaleData(localeDe); registerLocaleData(localeRw); registerLocaleData(localeEs); +registerLocaleData(localeFr); export function getConfiguration(): Configuration { return new Configuration({ diff --git a/src/app/landing-page/landing-page.component.html b/src/app/landing-page/landing-page.component.html index 239bbba2..efd033bd 100644 --- a/src/app/landing-page/landing-page.component.html +++ b/src/app/landing-page/landing-page.component.html @@ -3,10 +3,10 @@
-

+

INATrace: Make agricultural supply chains transparent and fair

-

+

INATrace is an open-source digital solution that puts the focus on people. Designed to establish transparent global agricultural supply chains in order to improve the economic circumstances of smallholders, INATrace provides end-to-end traceability that ensures fair @@ -14,7 +14,7 @@

Read more + target="_blank" rel="nofollow" i18n="@@content.readmore">Read more
diff --git a/src/app/language-code-helper.ts b/src/app/language-code-helper.ts index 3848fa6f..24c9b103 100644 --- a/src/app/language-code-helper.ts +++ b/src/app/language-code-helper.ts @@ -2,7 +2,7 @@ export abstract class LanguageCodeHelper { public static defaultLocaleId = 'en'; - public static implementedLocales = ['de', 'rw', 'es', LanguageCodeHelper.defaultLocaleId]; + public static implementedLocales = ['de', 'rw', 'es', 'fr', LanguageCodeHelper.defaultLocaleId]; public static setCurrentLocale(localeId: string) { diff --git a/src/app/m-product/product-label/language-for-label-modal/language-for-label-modal.component.ts b/src/app/m-product/product-label/language-for-label-modal/language-for-label-modal.component.ts index eb20ed58..92c68aaf 100644 --- a/src/app/m-product/product-label/language-for-label-modal/language-for-label-modal.component.ts +++ b/src/app/m-product/product-label/language-for-label-modal/language-for-label-modal.component.ts @@ -57,6 +57,7 @@ export class LanguageForLabelModalComponent implements OnInit { obj['DE'] = $localize`:@@languageForLabelModal.languageCodes.de:DE`; obj['ES'] = $localize`:@@languageForLabelModal.languageCodes.es:ES`; obj['RW'] = $localize`:@@languageForLabelModal.languageCodes.rw:RW`; + obj['FR'] = $localize`:@@languageForLabelModal.languageCodes.fr:FR`; return obj; } diff --git a/src/app/m-product/product-label/product-label.component.ts b/src/app/m-product/product-label/product-label.component.ts index 63e342d9..91c53d58 100644 --- a/src/app/m-product/product-label/product-label.component.ts +++ b/src/app/m-product/product-label/product-label.component.ts @@ -150,6 +150,7 @@ export class ProductLabelComponent extends ComponentCanDeactivate implements OnI const obj = {}; obj['EN'] = $localize`:@@productLabel.languageCodes.en:EN`; obj['DE'] = $localize`:@@productLabel.languageCodes.de:DE`; + obj['FR'] = $localize`:@@productLabel.languageCodes.fr:FR`; return obj; } diff --git a/src/app/settings/type-detail-modal/type-detail-modal.component.html b/src/app/settings/type-detail-modal/type-detail-modal.component.html index 0b2cb09f..dbe50635 100644 --- a/src/app/settings/type-detail-modal/type-detail-modal.component.html +++ b/src/app/settings/type-detail-modal/type-detail-modal.component.html @@ -29,6 +29,11 @@ Select DE lang DE
+
+ Select FR lang + FR +
Select RW lang @@ -165,6 +170,11 @@ Select DE lang DE
+
+ Select FR lang + FR +
Select RW lang @@ -310,6 +320,11 @@ Select DE lang DE
+
+ Select FR lang + FR +
Select RW lang @@ -405,6 +420,11 @@ Select DE lang DE
+
+ Select FR lang + FR +
Select RW lang diff --git a/src/app/settings/type-detail-modal/type-detail-modal.component.ts b/src/app/settings/type-detail-modal/type-detail-modal.component.ts index 338d9834..2a46bb0f 100644 --- a/src/app/settings/type-detail-modal/type-detail-modal.component.ts +++ b/src/app/settings/type-detail-modal/type-detail-modal.component.ts @@ -57,7 +57,7 @@ export class TypeDetailModalComponent implements OnInit { codebookProcessingEvidenceTypeType = EnumSifrant.fromObject(this.processingEvidenceTypeType); codebookProcessingEvidenceFieldType = EnumSifrant.fromObject(this.processingEvidenceFieldType); - languages = [LanguageEnum.EN, LanguageEnum.DE, LanguageEnum.RW, LanguageEnum.ES]; + languages = [LanguageEnum.EN, LanguageEnum.DE, LanguageEnum.RW, LanguageEnum.FR, LanguageEnum.ES]; selectedLanguage = LanguageEnum.EN; isRegionalAdmin = false; diff --git a/src/app/user/login/login.component.html b/src/app/user/login/login.component.html index a6672835..55ca5510 100644 --- a/src/app/user/login/login.component.html +++ b/src/app/user/login/login.component.html @@ -83,7 +83,7 @@
- diff --git a/src/app/user/register-activation/register-activation.component.html b/src/app/user/register-activation/register-activation.component.html index 08057cf8..293602a4 100644 --- a/src/app/user/register-activation/register-activation.component.html +++ b/src/app/user/register-activation/register-activation.component.html @@ -20,7 +20,7 @@
- +
+ + FR +
RW diff --git a/src/assets/icons/icon-flag--french.png b/src/assets/icons/icon-flag--french.png new file mode 100644 index 0000000000000000000000000000000000000000..95a5389e4b8fbe6e5a8aa0f877c14821dc62bd8a GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz>gAGW^&D*X6q*#ibJVQ8upoSx*1IXtr@Q5sC zU|<#oVMg1u=Hoy?$r9IylHmNblJdl&REF~Ma=pyF?Be9af>gcyqV(DCY@`?%82de4 z978JRyuGZ*$mGbtaIjfx0;@Aa*Mj}bO?)a2g4|!(q}J>eHs-wcCUMTZ{Rel%o`3vx z$C+~xhraLY{rh+3+>I@d-!MeXbX1UFX&NOc4TC?7TFRUey$YQg!1!bEboFyt=akR{ E0Py&O1poj5 literal 0 HcmV?d00001 diff --git a/src/assets/icons/icon-flag--french.svg b/src/assets/icons/icon-flag--french.svg new file mode 100644 index 00000000..a4bded52 --- /dev/null +++ b/src/assets/icons/icon-flag--french.svg @@ -0,0 +1,2 @@ + + diff --git a/src/assets/locale/en.json b/src/assets/locale/en.json index 880399bc..46097177 100644 --- a/src/assets/locale/en.json +++ b/src/assets/locale/en.json @@ -2177,6 +2177,7 @@ "languageForLabelModal.languageCodes.de": "DE", "languageForLabelModal.languageCodes.es": "ES", "languageForLabelModal.languageCodes.rw": "RW", + "languageForLabelModal.languageCodes.fr": "FR", "productLabel.labelSelectorCard.tryMeLabel": "TRY ME!", "productLabel.labelSelectorCard.addTitle": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}ADD TITLE", "productLabel.labelSelector.addLabel": "Add {$INTERPOLATION} label", diff --git a/src/assets/locale/fr.json b/src/assets/locale/fr.json new file mode 100644 index 00000000..8d1353b3 --- /dev/null +++ b/src/assets/locale/fr.json @@ -0,0 +1,3197 @@ +{ +"locale": "fr", +"translations": { + "organization.input.placehoder": "Sélectionner une organisation", + "additionalProofItem.datepicker.date.label": "Date", + "additionalProofItem.label.type": "Type", + "additionalProofItem.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers de type : PNG, JPG et JPEG.", + "additionalProofItem.attachment-uploader.label": "Document (JPG, PNG, PDF)", + "additionalProofItem.attachment-uploader.content": "Téléverser un document", + "additionalProofItem.datepicker.date.error": "La date est obligatoire", + "additionalProofItem.textinput.type.error": "Le type est obligatoire", + "additionalProofItem.attachment-uploader.error": "{$START_TAG_SPAN} Le document est obligatoire {$CLOSE_TAG_SPAN}", + "productLabelStockPurchaseOrdersModal.addProofs.paymentList": "Liste de paiement", + "productLabelStockPurchaseOrdersModal.addProofs.paymentOrderApproved": "Ordre de paiement approuvé", + "productLabelStockPurchaseOrdersModal.addProofs.paymentProof": "Preuve de paiement", + "productLabelStockPurchaseOrdersModal.addProofs.purchaseSheet": "Bon d'achat", + "productLabelStockPurchaseOrdersModal.addProofs.purchaseSheetBankTransfer": "Bon d'achat virement bancaire", + "productLabelStockPurchaseOrdersModal.addProofs.purchaseSheetCollector": "Bon d'achat collecteur", + "productLabelStockPurchaseOrdersModal.addProofs.receipt": "Reçu", + "productLabelStockPurchaseOrdersModal.addProofs.receiptBankTransfer": "Reçu virement bancaire", + "productLabelStockPurchaseOrdersModal.addProofs.receiptCollector": "Reçu collecteur", + "associatedCompaniesService.input.placehoder": "Sélectionner un client", + "paymentForm.datepicker.date.label": "Date de paiement", + "paymentForm.textinput.payableFromForm.label": "Payable par", + "paymentForm.textinput.payableTo.label": "Payable à", + "paymentForm.textinput.payableTo.or": "ou", + "paymentForm.textinput.payableTo.company": "Entreprise", + "paymentForm.textinput.payableTo.collector": "Collecteur", + "paymentForm.textinput.payableTo.farmer": "Agriculteur", + "paymentForm.textinput.stockOrderId.label": "Référence de commande", + "paymentForm.textinput.stockOrderId.placeholder": "Saisir la référence de commande", + "paymentForm.label.paymentPurpose": "Objet du paiement", + "paymentForm.label.paymentType": "Type de paiement", + "paymentForm.textinput.receiptNumber.label": "Numéro de reçu", + "paymentForm.textinput.receiptNumber.placeholder": "Saisir le numéro de reçu", + "paymentForm.label.receiptDocumentType": "Type", + "paymentForm.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers de type : PNG, JPG et JPEG.", + "paymentForm.attachment-uploader.content": "Téléverser un reçu signé", + "paymentForm.confirmedBy": "{$START_PARAGRAPH}Le paiement a été confirmé par : {$INTERPOLATION} {$LINE_BREAK}à ({$INTERPOLATION_1}){$CLOSE_PARAGRAPH}", + "paymentForm.datepicker.date.error": "La date de paiement est obligatoire", + "productLabelStockPayments.singleChoice.company.error.atLeastOne": "Au moins un des champs 'payable à' est obligatoire", + "productLabelStockPayments.singleChoice.company.error.onlyOne": "Un seul des champs 'payable à' est obligatoire", + "productLabelStockPayments.singleChoice.farmer.error.atLeastOne": "Au moins un des champs 'payable à' est obligatoire", + "productLabelStockPayments.singleChoice.farmer.error.onlyOne": "Un seul des champs 'payable à' est obligatoire", + "productLabelStockPurchaseOrdersModal.singleChoice.preferredWayOfPayment": "Méthode de paiement préférée", + "productLabelStockPurchaseOrdersModal.singleChoice.preferredWayOfPayment.error": "La méthode de paiement préférée est obligatoire", + "paymentForm.textinput.paymentPurpose.error": "L'objet du paiement est obligatoire", + "paymentForm.textinput.name.error": "Le type de paiement est obligatoire", + "paymentForm.textinput.purchased.label": "Acheté", + "paymentForm.textinput.balance.label": "Solde ouvert", + "paymentForm.textinput.amountAlready.label": "Montant déjà payé par le collecteur à l'agriculteur", + "paymentForm.textinput.amountAlready.placeholder": "Saisir le montant déjà payé", + "paymentForm.textinput.amountAlready.error": "Le montant déjà payé est obligatoire", + "paymentForm.textinput.amount.label": "Montant payé à l'agriculteur", + "paymentForm.textinput.amount.placeholder": "Saisir le montant payé", + "paymentForm.textinput.amount.error": "Le montant est obligatoire", + "paymentForm.textinput.amount.company.label": "Montant payé", + "paymentForm.textinput.amount.company.placeholder": "Saisir le montant", + "paymentForm.textinput.amount.currency.label": "Devise", + "paymentForm.textinput.amount.company.error": "Le montant est obligatoire", + "paymentForm.textinput.currency.error": "La devise est obligatoire", + "paymentForm.textinput.amountPaidToTheCollector.label": "Montant payé au collecteur", + "paymentForm.textinput.amountPaidToTheCollector.placeholder": "Saisir le montant payé au collecteur", + "paymentForm.textinput.amountPaidToTheCollector.error": "Le montant payé au collecteur est obligatoire", + "paymentForm.textinput.totalPaid.label": "Total payé", + "paymentForm.textinput.receiptNumber.error": "Le numéro de reçu est obligatoire", + "paymentForm.textinput.receiptDocumentType.error": "Le type est obligatoire", + "paymentForm.attachment-uploader.error": "{$START_TAG_SPAN} Le reçu signé est obligatoire {$CLOSE_TAG_SPAN}", + "paymentForm.attachment-uploader.receipt.label": "Reçu signé (PDF/PNG/JPG)", + "paymentForm.attachment-uploader.receipt.required.label": "Reçu signé (PDF/PNG/JPG)*", + "paymentForm.attachment-uploader.document.label": "Document (PDF/PNG/JPG)", + "paymentForm.attachment-uploader.document.required.label": "Document (PDF/PNG/JPG)*", + "paymentForm.paymentTypes.cash": "Espèces", + "paymentForm.paymentTypes.bank": "Banque", + "paymentForm.paymentPurposeTypes.advancedPayment": "Paiement anticipé", + "paymentForm.paymentPurposeTypes.firstInstallment": "Paiement de base", + "paymentForm.paymentPurposeTypes.secondInstallment": "Bonus membre", + "paymentForm.paymentPurposeTypes.womenPreminum": "Prime femmes", + "paymentForm.paymentPurposeTypes.invoicePayment": "Paiement de facture", + "paymentForm.paymentPurposeTypes.organicBonus": "Bonus bio", + "paymentForm.paymentPurposeTypes.ftBonus": "Bonus FT", + "paymentForm.paymentPurposeTypes.ftPremium": "Prime FT", + "paymentForm.paymentPurposeTypes.otherBonus": "Autre bonus", + "paymentForm.addProofs.purchaseSheet": "Bon d'achat", + "paymentForm.addProofs.receipt": "Reçu", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.cash": "Espèces", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.cheque": "Chèque", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.offsetting": "Compensation", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.cashViaCollector": "Espèces via collecteur", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.bankTransfer": "Virement bancaire", + "productLabelStockPurchaseOrdersModal.preferredWayOfPayment.unknown": "Inconnu", + "customerDetail.currencyCodes.eur": "EUR", + "customerDetail.currencyCodes.usd": "USD", + "customerDetail.currencyCodes.rwf": "RWF", + "activeFacility.input.placehoder": "Sélectionner un établissement", + "activeUserCustomersByOrganizationAndRole.input.placehoder": "Sélectionner ...", + "productLabelStockPurchaseOrdersModal.orderType.select.label": "Le type de commande n'est pas défini pour cette commande. Veuillez en définir un.", + "productLabelStockPurchaseOrdersModal.section.basicInfo": "Informations de base", + "productLabelStockPurchaseOrdersModal.datepicker.date.label": "Date de livraison", + "productLabelStockPurchaseOrdersModal.singleChoice.farmer": "Agriculteur", + "productLabelStockPurchaseOrdersModal.button.farmer.qrCode": "{$START_TAG_SPAN}QR code{$CLOSE_TAG_SPAN}", + "productLabelStockPurchaseOrdersModal.singleChoice.collector": "Collecteur", + "productLabelStockPurchaseOrdersModal.button.collector.qrCode": "{$START_TAG_SPAN}QR code{$CLOSE_TAG_SPAN}", + "productLabelStockPurchaseOrdersModal.textinput.facilityName.label": "Nom de l'établissement", + "productLabelStockPurchaseOrdersModal.textinput.facilityName.placeholder": "Saisir le nom de l'établissement", + "6646645616027710454": "Employé de l'entreprise", + "productLabelStockPurchaseOrdersModal.section.purchaseDetails": "Détails de la livraison", + "productLabelStockPurchaseOrdersModal.singleChoice.semiProduct": "Semi-produit", + "productLabelStockPurchaseOrdersModal.singleChoice.semiProduct.placeholder": "Sélectionner un semi-produit", + "productLabelStockPurchaseOrdersModal.checkbox.priceDeterminedLater": "Prix déterminé ultérieurement", + "productLabelStockPurchaseOrdersModal.textinput.quantityDelievered.placeholder": "Saisir la quantité", + "productLabelStockPurchaseOrdersModal.textinput.pricePerUnit.label": "Prix unitaire", + "productLabelStockPurchaseOrdersModal.textinput.pricePerUnit.placeholder": "Saisir le prix unitaire", + "productLabelStockPurchaseOrdersModal.textinput.cost.label": "Paiement de base", + "productLabelStockPurchaseOrdersModal.textinput.cost.placeholder": "Paiement de base", + "productLabelStockPurchaseOrdersModal.textinput.balance.label": "Solde ouvert", + "productLabelStockPurchaseOrdersModal.textinput.balance.placeholder": "Solde ouvert", + "productLabelStockPurchaseOrdersModal.singleChoice.womensOnly": "Uniquement femmes", + "productLabelStockPurchaseOrdersModal.section.additionalProofs": "Preuves supplémentaires", + "productLabelStockPurchaseOrdersModal.datepicker.date.error": "La date de livraison est obligatoire", + "productLabelStockPurchaseOrdersModal.singleChoice.farmer.error": "L'agriculteur est obligatoire", + "productLabelStockPurchaseOrdersModal.quantityDelieveredInKG.textinput.quantityDelieveredInKG.error": "La quantité est obligatoire", + "productLabelStockPurchaseOrdersModal.unityPrice.textinput.unityPrice.error": "Le prix unitaire est obligatoire", + "productLabelStockPurchaseOrdersModal.singleChoice.womensOnly.error": "Le champ 'Uniquement femmes' est obligatoire", + "productLabelStockPurchaseOrdersModal.list-editor.additionalProofs.label": "Liste des preuves supplémentaires", + "productLabelStockPurchaseOrdersModal.list-editor.additionalProofs.addText": "Ajouter un document", + "productLabelStockPurchaseOrdersModal.section.payments": "Paiements", + "productLabelStockPurchaseOrdersModal.section.farmers": "Agriculteurs", + "productLabelStockPurchaseOrdersModal.farmers.add": "{$START_TAG_SPAN}+{$CLOSE_TAG_SPAN}", + "productLabelStockPurchaseOrdersModal.list-editor.payments.label": "Liste des paiements", + "productLabelStockPurchaseOrdersModal.list-editor.payments.addText": "Ajouter un paiement", + "productLabelStockPurchaseOrdersModal.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_2}{$START_TAG_SPAN}Enregistrer & Fermer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelStockPurchaseOrdersModal.updateGeneralOrderTitle": "Mettre à jour l'ordre de transfert", + "productLabelStockPurchaseOrdersModal.updateProcessingOrderTitle": "Mettre à jour l'ordre de traitement", + "productLabelStockPurchaseOrdersModal.updatePurchaseOrderTitle": "Mettre à jour la livraison", + "productLabelStockPurchaseOrdersModal.updateSalesOrderTitle": "Mettre à jour l'ordre de vente", + "productLabelStockPurchaseOrdersModal.newGeneralOrderTitle": "Nouvel ordre de transfert", + "productLabelStockPurchaseOrdersModal.newProcessingOrderTitle": "Nouvel ordre de traitement", + "productLabelStockPurchaseOrdersModal.newPurchaseOrderTitle": "Nouvelle livraison", + "productLabelStockPurchaseOrdersModal.newSalesOrderTitle": "Nouvel ordre de vente", + "orderType.codebook.generalOrder": "Ordre général", + "orderType.codebook.processingOrder": "Ordre de traitement", + "orderType.codebook.purchaseOrder": "Livraison", + "orderType.codebook.salesOrder": "Ordre de vente", + "productLabelStockPurchaseOrdersModal.womensCoffeeList.yes": "Oui", + "productLabelStockPurchaseOrdersModal.womensCoffeeList.no": "Non", + "productLabelStockPurchaseOrdersModal.textinput.quantityDelievered.label": "Quantité", + "productLabelStockPurchaseOrdersModal.textinput.quantity.label": "Quantité (unités)", + "activeSemiProduct.input.placehoder": "Sélectionner un semi-produit", + "locationForm.textinput.country.label": "Pays", + "locationForm.textinput.visible.label": "Le lieu est-il visible publiquement sur une carte ?", + "locationForm.origin.helpText": "Double-cliquez sur la carte pour placer une épingle et marquer les emplacements. Cliquez droit sur le marqueur pour le supprimer.", + "locationForm.textinput.country.error": "Le pays est obligatoire.", + "locationForm.textinput.village.label": "Village", + "locationForm.textinput.village.placeholder": "Saisir le village", + "locationForm.textinput.cell.label": "Cellule", + "locationForm.textinput.cell.placeholder": "Saisir la cellule", + "locationForm.textinput.sector.label": "Secteur", + "locationForm.textinput.sector.placeholder": "Saisir le secteur", + "locationForm.textinput.village.error": "Le village est obligatoire.", + "locationForm.textinput.cell.error": "La cellule est obligatoire.", + "locationForm.sector.village.error": "Le secteur est obligatoire.", + "locationForm.textinput.farm.label": "Ferme", + "locationForm.textinput.farm.placeholder": "Saisir la ferme", + "locationForm.textinput.farm.error": "La ferme est obligatoire", + "locationForm.textinput.municipality.label": "Municipalité", + "locationForm.textinput.municipality.placeholder": "Saisir la municipalité", + "locationForm.textinput.municipality.error": "La municipalité est obligatoire", + "locationForm.textinput.department.label": "Département", + "locationForm.textinput.department.placeholder": "Saisir le département", + "locationForm.textinput.department.error": "Le département est obligatoire", + "locationForm.textinput.address.label": "Adresse", + "locationForm.textinput.address.placeholder": "Saisir l'adresse", + "locationForm.textinput.city.label": "Ville / Village", + "locationForm.textinput.city.placeholder": "Saisir la ville / le village", + "locationForm.textinput.city.error": "La ville / le village est obligatoire.", + "locationForm.textinput.state.label": "État / Province / Région", + "locationForm.textinput.state.placeholder": "Saisir l'état / la province / la région", + "locationForm.textinput.state.error": "L'état / la province / la région est obligatoire.", + "locationForm.textinput.zip.label": "Code postal / Boîte postale", + "locationForm.textinput.zip.placeholder": "Saisir le code postal / la boîte postale", + "locationForm.textinput.otherAddress.label": "Adresse supplémentaire / autre", + "locationForm.textinput.otherAddress.placeholder": "Saisir une adresse supplémentaire / autre", + "locationForm.publiclyVisible.yes": "OUI", + "locationForm.publiclyVisible.no": "NON", + "activeCompanies.input.placehoder": "Saisir le nom de l'entreprise ...", + "companySelect.modal.button.cancel": "{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}", + "companySelect.modal.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "ngb.alert.close": "Fermer", + "ngb.carousel.previous": "Précédent", + "ngb.carousel.next": "Suivant", + "ngb.datepicker.previous-month": "Mois précédent", + "ngb.datepicker.next-month": "Mois suivant", + "ngb.datepicker.select-month": "Sélectionner un mois", + "ngb.datepicker.select-year": "Sélectionner une année", + "ngb.pagination.first": "««", + "ngb.pagination.previous": "«", + "ngb.pagination.next": "»", + "ngb.pagination.last": "»»", + "ngb.pagination.first-aria": "Premier", + "ngb.pagination.previous-aria": "Précédent", + "ngb.pagination.next-aria": "Suivant", + "ngb.pagination.last-aria": "Dernier", + "ngb.progressbar.value": "{$INTERPOLATION}%", + "ngb.timepicker.HH": "HH", + "ngb.timepicker.hours": "Heures", + "ngb.timepicker.MM": "MM", + "ngb.timepicker.minutes": "Minutes", + "ngb.timepicker.increment-hours": "Augmenter les heures", + "ngb.timepicker.decrement-hours": "Diminuer les heures", + "ngb.timepicker.increment-minutes": "Augmenter les minutes", + "ngb.timepicker.decrement-minutes": "Diminuer les minutes", + "ngb.timepicker.SS": "SS", + "ngb.timepicker.seconds": "Secondes", + "ngb.timepicker.increment-seconds": "Augmenter les secondes", + "ngb.timepicker.decrement-seconds": "Diminuer les secondes", + "ngb.timepicker.PM": "{$INTERPOLATION}", + "ngb.timepicker.AM": "{$INTERPOLATION}", + "ngb.toast.close-aria": "Fermer", + "generateQrCodeModal.button.DE": "{$START_TAG_SPAN}DE{$CLOSE_TAG_SPAN}", + "generateQrCodeModal.button.EN": "{$START_TAG_SPAN}EN{$CLOSE_TAG_SPAN}", + "generateQRCode.modal.button.close": "{$START_TAG_SPAN}Fermer{$CLOSE_TAG_SPAN}", + "generateQRCode.title.orderItemQRCode": "QR code de l'article de commande", + "generateQrCodeModal.field.finalProduct.label": "Produit fini", + "generateQrCodeModal.field.finalProductLabel.label": "Étiquette du produit fini", + "generateQrCodeModal.field.finalProductLabel.placeholder": "Sélectionner une étiquette de produit fini", + "generateQrCodeModal.message.noLabelSelected": "Veuillez sélectionner une étiquette de produit fini pour voir le QR code.", + "companyUserRole.label.user": "Utilisateur", + "companyUserRole.label.role": "Rôle dans l'entreprise", + "companyUserRole.textinput.user.error": "L'utilisateur est obligatoire", + "companyUserRole.textinput.role.error": "Le rôle est obligatoire", + "companyUserRole.roles.accountant": "Comptable", + "companyUserRole.roles.manager": "Manager", + "companyUserRole.roles.companyUser": "Utilisateur entreprise", + "companyUserRole.roles.companyAdmin": "Administrateur entreprise", + "companyDetail.section.basicInfo": "Informations de base", + "companyDetail.subtitle": "Ajoutez des informations sur votre entreprise incluant son nom, logo, adresse, coordonnées, site web et liens vers les réseaux sociaux.", + "companyDetail.textinput.companyName.label": "Nom de l'entreprise", + "companyDetail.textinput.companyName.placeholder": "Saisir le nom de l'entreprise", + "companyDetail.textinput.companyAbbreviation.label": "Abréviation de l'entreprise", + "companyDetail.textinput.companyAbbreviation.placeholder": "Saisir une abréviation de 3 à 6 caractères", + "companyDetail.attachment-uploader.companyLogo.label": "Logo de l'entreprise", + "companyDetail.attachment-uploader.companyLogo.content": "Téléverser un logo", + "companyDetail.attachment-uploader.companyLogo.small": "Téléversez un logo haute résolution (jpeg, jpg, png)", + "companyDetail.section.headquartes": "Siège social", + "companyDetail.textinput.companyAddress.label": "Adresse", + "companyDetail.textinput.companyAddress.placeholder": "Saisir l'adresse", + "companyDetail.textinput.companyCity.label": "Ville", + "companyDetail.textinput.companyCity.placeholder": "Saisir la ville", + "companyDetail.textinput.companyState.label": "État / Province / Région", + "companyDetail.textinput.companyState.placeholder": "Saisir l'état / la province / la région", + "companyDetail.textinput.companyZip.label": "Code postal / Boîte postale", + "companyDetail.textinput.companyZip.placeholder": "Saisir le code postal", + "companyDetail.textinput.companyCountry.label": "Pays", + "companyDetail.section.description": "Description de l'entreprise", + "companyDetail.textinput.companyAbout.label": "À propos", + "companyDetail.textinput.companyAbout.helpText": "Décrivez brièvement votre entreprise et son historique. Incluez la mission, la vision et les valeurs principales. (max 2000 caractères)", + "companyDetail.textinput.companyManager.label": "Nom du manager / PDG", + "companyDetail.textinput.companyEmail.label": "E-mail de contact", + "companyDetail.textinput.companyEmail.placeholder": "Saisir l'e-mail de contact", + "companyDetail.textinput.companyPhone.label": "Numéro de téléphone", + "companyDetail.textinput.companyPhone.placeholder": "Saisir le numéro de téléphone", + "companyDetail.textinput.companyWebPage.label": "URL du site web", + "companyDetail.textinput.companyWebPage.placeholder": "Saisir l'URL du site web", + "companyDetail.textinput.companyInterview.label": "Interview", + "companyDetail.textinput.companyInterview.helpText": "Décrivez brièvement votre entreprise - déclaration PR. (max 2000 caractères)", + "companyDetail.list-editor.videos.label": "Vidéos", + "companyDetail.list-editor.videos.addText": "Ajouter", + "companyDetail.section.certification": "Certifications", + "companyDetail.list-editor.certificationsAndStandards.label": "Certifications", + "companyDetail.list-editor.certificationsAndStandards.addText": "Ajouter", + "companyDetail.section.productionRecord": "Enregistrements de production", + "companyDetail.list-editor.productionRecord.label": "Enregistrements", + "companyDetail.list-editor.productionRecord.addText": "Ajouter", + "companyDetail.section.meetTheFarmer": "Rencontrez les agriculteurs", + "companyDetail.list-editor.meetTheFarmer.label": "Rencontrez les agriculteurs", + "companyDetail.list-editor.meetTheFarmer.addText": "Ajouter", + "semiProductDetail.section.social": "Réseaux sociaux", + "companyDetail.socialMedia.subtitle": "Fournissez les liens vers vos comptes de réseaux sociaux (Facebook, Instagram, Twitter, YouTube, autres)", + "companyDetail.textinput.facebook.label": "URL Facebook", + "companyDetail.textinput.facebook.placeholder": "Saisir l'URL Facebook", + "companyDetail.textinput.instagram.label": "URL Instagram", + "companyDetail.textinput.instagram.placeholder": "Saisir l'URL Instagram", + "companyDetail.textinput.twitter.label": "URL Twitter", + "companyDetail.textinput.twitter.placeholder": "Saisir l'URL Twitter", + "companyDetail.textinput.youtube.label": "URL YouTube", + "companyDetail.textinput.youtube.placeholder": "Saisir l'URL YouTube", + "companyDetail.textinput.other.label": "Autre URL", + "companyDetail.textinput.other.placeholder": "Saisir une autre URL", + "companyDetail.section.cooperatives": "Utilisateurs", + "companyDetail.textinput.companyName.error": "{$START_TAG_SPAN} Le nom de l'entreprise est obligatoire {$CLOSE_TAG_SPAN}", + "companyDetail.textinput.companyAbbreviation.errorLength": "{$START_TAG_SPAN} L'abréviation doit être vide ou contenir 3-6 caractères {$CLOSE_TAG_SPAN}", + "companyDetail.attachment-uploader.companyLogo.error": "{$START_TAG_SPAN} Le logo est obligatoire {$CLOSE_TAG_SPAN}", + "companyDetail.textinput.companyAddress.error": "{$START_TAG_SPAN} L'adresse est obligatoire {$CLOSE_TAG_SPAN}", + "companyDetail.textinput.companyZip.error": "{$START_TAG_SPAN} Le texte saisi dépasse la limite autorisée {$CLOSE_TAG_SPAN}", + "companyDetail.textinput.companyAbout.errors": "{$START_TAG_DIV}{$START_TAG_SPAN} La description est obligatoire {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}{$START_TAG_DIV_1}{$START_TAG_SPAN} Le texte saisi dépasse la limite autorisée {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}", + "companyDetail.textinput.companyEmail.errors": "{$START_TAG_DIV}{$START_TAG_SPAN} Format d'e-mail incorrect {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}{$START_TAG_DIV_1} L'e-mail est obligatoire {$CLOSE_TAG_DIV}", + "companyDetail.textinput.companyPhone.error": "{$START_TAG_DIV}{$START_TAG_SPAN} Le téléphone est obligatoire {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}", + "companyDetail.list-editor.videos.title": "Vidéo", + "companyDetail.list-editor.certificationsAndStandards.title": "Certification", + "companyDetail.list-editor.productionRecord.title": "Enregistrement de production", + "companyDetail.list-editor.meetTheFarmer.title": "Rencontrez l'agriculteur", + "companyDetail.list-editor.cooperatives.label": "Utilisateurs avec rôles", + "companyDetail.list-editor.cooperatives.addText": "Ajouter", + "companyDetail.botomButtoms.saveButtonLabel": "Créer", + "companyDetail.companySection.general": "Entreprise", + "companyDetail.companySection.headquarters": "Siège social", + "companyDetail.companySection.socialMedia": "Réseaux sociaux", + "companyDetail.companySection.users": "Utilisateurs", + "companyDetail.title.edit": "Modifier l'entreprise", + "companyDetail.title.add": "Ajouter une entreprise", + "companyDetail.saveCompany.error.title": "Erreur", + "companyDetail.saveCompany.error.message": "Erreurs sur la page. Veuillez vérifier !", + "companyDetail.create.error.title": "Erreur", + "companyDetail.create.error.message": "Erreurs sur la page. Veuillez vérifier !", + "activeMeasureUnitTypes.input.placehoder": "Sélectionner un type d'unité de mesure", + "companyDetailTab.tab0.title": "Entreprise", + "companyDetailTab.tab1.title": "Traductions", + "companyDetailTab.tab2.title": "Utilisateurs", + "companyDetailTab.tab3.title": "Établissements", + "companyDetailTab.tab4.title": "Actions de traitement", + "codebookTranslations.c_facility_type.label.CBT_4ea93e07-8c97-4254-9072-95cd8ced6dc3.label": "Séchage", + "codebookTranslations.c_facility_type.label.CBT_543d877f-ae9b-4a92-9f4c-7778fa18f5f1.label": "Station de décorticage", + "codebookTranslations.c_facility_type.label.CBT_75afd30b-0e6c-477a-bfee-5acbb396ac52.label": "Stockage", + "codebookTranslations.c_facility_type.label.CBT_9cb932c4-635b-469e-8bcd-b21b149110a6.label": "Station de lavage", + "codebookTranslations.c_action_type.label.CBT_19bf7f0e-7fc1-4b99-b090-2ff7e10b26b3.label": "Traitement", + "codebookTranslations.c_action_type.label.CBT_c0855d81-38e3-4148-bd52-1323a68f2a78.label": "Expédition", + "codebookTranslations.c_grade_abbreviation.label.CBT_58f6499a-a67d-438a-b3b8-00ad99cd2f49.label": "A2", + "codebookTranslations.c_grade_abbreviation.label.CBT_eeaa0efb-c179-4fbe-856b-d98fb1409146.label": "A1", + "codebookTranslations.c_measure_unit_type.label.CBT_1fb8c66e-0648-445e-ad82-742a438fefb3.label": "kg", + "codebookTranslations.c_measure_unit_type.label.CBT_3c600369-3473-4876-9e4b-47b8118128b8.label": "Sac (60 kg)", + "codebookTranslations.c_measure_unit_type.label.CBT_61ec6cd0-5ab1-4598-9e3e-6515b7d7940b.label": "Conteneur", + "codebookTranslations.c_measure_unit_type.label.CBT_8c4da53d-824d-4d82-95ca-e42a7b1a9f40.label": "Paquet 500g", + "codebookTranslations.c_measure_unit_type.label.CBT_de6f4903-09f1-47c2-b871-f0ba7bc98874.label": "litre", + "codebookTranslations.c_process_evidence_type.label.CBT_01e1dc78-3d53-4048-bd6a-81347eeb3658.label": "Étiquette de lot", + "codebookTranslations.c_process_evidence_type.label.CBT_04890c36-7c48-4190-ad4a-65feee7b0364.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_1a46be37-6d7b-4674-9371-a99bca0f2458.label": "échantillon de bon de livraison", + "codebookTranslations.c_process_evidence_type.label.CBT_35056cb8-b40e-4576-b76c-aecc0c9e62a0.label": "Bon de livraison au torréfacteur", + "codebookTranslations.c_process_evidence_type.label.CBT_4a4bf878-a2d8-4cd3-8dff-9e6e685d3def.label": "Étiquette de fermentation", + "codebookTranslations.c_process_evidence_type.label.CBT_4e7327e2-81e8-4665-8d7b-09682f659878.label": "Bordereau de paiement CEPAR", + "codebookTranslations.c_process_evidence_type.label.CBT_4f0c12b7-e57e-44a2-bb16-46ebd7476c9f.label": "Rapport de dégustation", + "codebookTranslations.c_process_evidence_type.label.CBT_4ff40912-75e4-4d4d-9e6b-7e32c2558ee9.label": "Ticket de pesage NAEB", + "codebookTranslations.c_process_evidence_type.label.CBT_5227c211-00ff-4fb3-ae19-9d0a95c4a9b6.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_647fde97-1eb1-4ac1-9416-ce8aa753eefa.label": "Bon de livraison NAEB", + "codebookTranslations.c_process_evidence_type.label.CBT_6d099478-9abd-4b68-aa44-50fbb7b69723.label": "Information client", + "codebookTranslations.c_process_evidence_type.label.CBT_6d51ca25-0198-406f-905e-b42c980a975d.label": "Connaissement", + "codebookTranslations.c_process_evidence_type.label.CBT_6e537a6a-a8af-4eb7-b4a7-a290c3ad5f33.label": "Note de pesage arrivée station décorticage", + "codebookTranslations.c_process_evidence_type.label.CBT_713289b2-aa01-4317-a8a4-599b904ac1ed.label": "Étiquette de drainage", + "codebookTranslations.c_process_evidence_type.label.CBT_8a5b9799-8ee1-48b7-bf98-1aeeaf38a574.label": "Registre de stock", + "codebookTranslations.c_process_evidence_type.label.CBT_8aa3b0b7-5c5c-4b56-8c59-2ab20b430234.label": "Doc. Export 1 - Certificat qualité", + "codebookTranslations.c_process_evidence_type.label.CBT_923a8320-67a8-4542-981f-944f6b03a73b.label": "Dialogue échantillon", + "codebookTranslations.c_process_evidence_type.label.CBT_9862651e-3b09-40f3-8330-756480ad534a.label": "Doc. Export 4 - Certificat d'origine", + "codebookTranslations.c_process_evidence_type.label.CBT_aa3ce36a-2bdf-4377-a47f-21b033fd4611.label": "Bon de livraison acheteur", + "codebookTranslations.c_process_evidence_type.label.CBT_ababd57b-c8d2-496f-be9d-ceb910bd6554.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_abb4e96d-5118-407e-8c31-9bb62a47befc.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_b1538372-992f-4fc1-ad05-d63688359873.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_b99ae3a7-2c34-44cb-b0d8-8af93281391a.label": "Bon d'achat", + "codebookTranslations.c_process_evidence_type.label.CBT_bba7c9bc-4e9a-4428-a9d1-5ff6f4595d64.label": "Ordre de torréfaction", + "codebookTranslations.c_process_evidence_type.label.CBT_c1afb650-da5a-4263-b8dd-a63e061b1d0f.label": "Doc. Export 3 - Note de poids", + "codebookTranslations.c_process_evidence_type.label.CBT_d4e3fb5a-102c-495d-9ca1-948d5152f3a5.label": "Facture", + "codebookTranslations.c_process_evidence_type.label.CBT_e9f8f713-6c82-4dda-a893-4bacecd98da7.label": "Doc. Export 2 - Certificat phytosanitaire", + "codebookTranslations.c_process_evidence_type.label.CBT_f07711f9-e8b6-4fc2-84a1-fc84ffaa0d6d.label": "Numéro de lot d'exportation", + "codebookTranslations.c_process_evidence_type.label.CBT_f5ebd344-d623-4215-8efc-16cf280cad80.label": "Certificat Fairtrade", + "codebookTranslations.facility.name.CBT_0748745c-4baa-47b6-b6b9-560ce14b3b8c.name": "Stockage de parche Karambi", + "codebookTranslations.facility.name.CBT_20074bc5-3b3d-4ca9-a822-0be4c2136ce9.name": "Kaffeekoop GmbH Berlin", + "codebookTranslations.facility.name.CBT_25cb7b09-4812-4f44-9b8a-26b0e641a9bf.name": "Station de décorticage à Ruli", + "codebookTranslations.facility.name.CBT_2b034c38-08c0-446a-8edf-fc58fdc7fcbe.name": "Stockage de grains torréfiés", + "codebookTranslations.facility.name.CBT_2b9bb473-c7cb-4ab5-8978-877bf6a2394f.name": "Port à conteneurs de Dar es Salaam", + "codebookTranslations.facility.name.CBT_378c3cd1-60fc-4284-9a7a-1da88977402d.name": "Muganza", + "codebookTranslations.facility.name.CBT_3f8c57e6-2917-4463-b57c-3c0790cf5946.name": "Stockage torréfacteur", + "codebookTranslations.facility.name.CBT_4543138c-e905-4512-a92b-6a7102d3eb73.name": "Test1", + "codebookTranslations.facility.name.CBT_4aa6ac9e-7df9-4c6e-862e-bb6013c05251.name": "Station de lavage 1", + "codebookTranslations.facility.name.CBT_6034f469-4401-4f29-9558-a4c5d178e2db.name": "Gaseke", + "codebookTranslations.facility.name.CBT_616dc28e-7cd0-41d7-b2c7-489af10ed022.name": "Stockage café vert", + "codebookTranslations.facility.name.CBT_7208f799-b688-4cc6-a35e-15cbcd929379.name": "Stockage parche Muganza", + "codebookTranslations.facility.name.CBT_7c99ad7e-321a-4bd2-8e70-d8dea277a12c.name": "Port à conteneurs de Mombasa", + "codebookTranslations.facility.name.CBT_8f8e9dd3-3651-4564-8b3a-01df89b8aa6f.name": "Nkara", + "codebookTranslations.facility.name.CBT_9222d5d6-af86-419f-9145-4d65eae49bc9.name": "Stockage parche", + "codebookTranslations.facility.name.CBT_92c36d41-d2cb-419b-9002-5b6276b79da6.name": "1234", + "codebookTranslations.facility.name.CBT_9444a18d-7050-4e07-b5d2-740138af13a4.name": "Stockage café vert NAEB", + "codebookTranslations.facility.name.CBT_94b5a5fc-ab71-41a0-914d-e447b295821d.name": "Test3", + "codebookTranslations.facility.name.CBT_abd8e064-a94e-4fe9-98b4-d7f0c5abdf27.name": "Mbilima", + "codebookTranslations.facility.name.CBT_b925cbb3-712b-47db-bb7d-26e752fd8e2c.name": "Lit de séchage - POSTELJA", + "codebookTranslations.facility.name.CBT_bc595e75-858f-4f7a-9f09-d438e19d31c5.name": "Stockage NAEB", + "codebookTranslations.facility.name.CBT_c55b67ea-5198-4a0c-adde-0c6d0d4889ae.name": "Stockage café vert @ NAEB", + "codebookTranslations.facility.name.CBT_d1e27207-3edb-497f-8a12-fce346ed5c6a.name": "Stock", + "codebookTranslations.facility.name.CBT_d4bcc539-6683-4f44-afe9-f5e462b9c895.name": "Ruli", + "codebookTranslations.facility.name.CBT_dfbbd6c0-d826-49c0-828b-0d0884a15e80.name": "Station de décorticage", + "codebookTranslations.facility.name.CBT_e3cfb7c0-7e65-4729-91c0-7e0abba4c8a3.name": "Karambi", + "codebookTranslations.facility.name.CBT_ebccb36e-f827-489d-8d32-90b7e74ba5dc.name": "Stockage parche Gaseke", + "codebookTranslations.facility.name.CBT_edb86f54-24e0-4d4b-ac0f-e7d661da882a.name": "Stockage café vert KOAKAKA", + "codebookTranslations.facility.name.CBT_f8441cdd-7fa3-48bb-a998-54bcf1e527c8.name": "Stockage grains verts", + "codebookTranslations.semi_product.name.CBT_0058eff3-0684-4f51-8105-9d7dc84ca76b.name": "Tas de café dépulpé", + "codebookTranslations.semi_product.name.CBT_0a50fcbc-7d26-4258-abc6-537a923bfa0a.name": "Tas de café entièrement lavé", + "codebookTranslations.semi_product.name.CBT_17b178ae-7444-4436-8577-a02124be95c9.name": "AFMg", + "codebookTranslations.semi_product.name.CBT_304eb9f0-ba70-4541-b966-e6100990fca5.name": "Parche", + "codebookTranslations.semi_product.name.CBT_362fc295-e914-4253-bf2a-f308f60b56b5.name": "Tas de cerises de café non lavées", + "codebookTranslations.semi_product.name.CBT_406bc933-8b2e-4666-97b5-58c7f566d3b5.name": "Tas de café vert non trié", + "codebookTranslations.semi_product.name.CBT_478b3399-5da4-4364-a3c7-0b6b4ac65b5c.name": "indéfini", + "codebookTranslations.semi_product.name.CBT_6645006e-6cde-47f4-8729-fb3bfcc30f16.name": "Tas de café vert trié", + "codebookTranslations.semi_product.name.CBT_7216025d-32f2-49e7-abc0-160a46572790.name": "indéfini", + "codebookTranslations.semi_product.name.CBT_7b71ec7d-a838-45f6-b0da-ae680c2c7d84.name": "Tas de café vert séparé par taille", + "codebookTranslations.semi_product.name.CBT_8828802e-c9cd-42ff-be50-17ba448443b2.name": "AFEg", + "codebookTranslations.semi_product.name.CBT_88dffa36-8199-4c69-a909-b38838719207.name": "Sac blanc de café vert", + "codebookTranslations.semi_product.name.CBT_900600e4-1aa8-4ce1-b6d0-6360a5bb636c.name": "Sac blanc de parche", + "codebookTranslations.semi_product.name.CBT_99ff032d-b8e8-418b-9a1f-cf7c65723d69.name": "Tas de café vert trié par couleur", + "codebookTranslations.semi_product.name.CBT_9b5284ad-5c8f-4f90-afb3-8e923cf5894b.name": "Tas de café trié à humide et séché à l'air", + "codebookTranslations.semi_product.name.CBT_9c5d1db9-9772-44bc-9dc0-a7042b9b5256.name": "Tas de cerises de café lavées", + "codebookTranslations.semi_product.name.CBT_9e478e97-8245-41e0-bf7a-2322c615d448.name": "Cerises de café non lavées", + "codebookTranslations.semi_product.name.CBT_a1faa222-8978-402e-9983-5f7976d0ecb9.name": "LOT de café sur lit de séchage", + "codebookTranslations.semi_product.name.CBT_a94edb6b-144f-4fb2-a221-484477e245f8.name": "Sac Grainpro de café vert", + "codebookTranslations.semi_product.name.CBT_acb3ac4e-47c9-4192-b7c6-da56e0453925.name": "indéfini", + "codebookTranslations.semi_product.name.CBT_b472d3e9-65bd-4ff8-99b3-791da086bc17.name": "indéfini", + "codebookTranslations.semi_product.name.CBT_bc2b8178-162e-4389-a59c-7571edfbbbb0.name": "Sac FIBC d'export", + "codebookTranslations.semi_product.name.CBT_bfbc6c9f-72ed-4c9f-919f-c7cc09336a2b.name": "Tas de café fermenté", + "codebookTranslations.semi_product.name.CBT_ccc0f694-04a3-43f7-ac8a-46922dbbb128.name": "AFM", + "codebookTranslations.semi_product.name.CBT_dba84bb5-de08-4ed8-b02b-e4159c055368.name": "AFE", + "codebookTranslations.semi_product.name.CBT_ea17fee3-4f71-4512-bb8e-e9c0cb2a0e9a.name": "indéfini", + "codebookTranslations.semi_product.description.CBT_0058eff3-0684-4f51-8105-9d7dc84ca76b.description": "Tas de café pulpe", + "codebookTranslations.semi_product.description.CBT_0a50fcbc-7d26-4258-abc6-537a923bfa0a.description": "Tas de café entièrement lavé", + "codebookTranslations.semi_product.description.CBT_17b178ae-7444-4436-8577-a02124be95c9.description": "Café final - AFMg", + "codebookTranslations.semi_product.description.CBT_304eb9f0-ba70-4541-b966-e6100990fca5.description": "parche", + "codebookTranslations.semi_product.description.CBT_362fc295-e914-4253-bf2a-f308f60b56b5.description": "Tas de cerises de café non lavées", + "codebookTranslations.semi_product.description.CBT_406bc933-8b2e-4666-97b5-58c7f566d3b5.description": "Tas de café vert non trié", + "codebookTranslations.semi_product.description.CBT_478b3399-5da4-4364-a3c7-0b6b4ac65b5c.description": "Semi-produit1", + "codebookTranslations.semi_product.description.CBT_6645006e-6cde-47f4-8729-fb3bfcc30f16.description": "Tas de café vert non endommagé", + "codebookTranslations.semi_product.description.CBT_7216025d-32f2-49e7-abc0-160a46572790.description": "Semi-produit-3", + "codebookTranslations.semi_product.description.CBT_7b71ec7d-a838-45f6-b0da-ae680c2c7d84.description": "Tas de café vert séparé par taille", + "codebookTranslations.semi_product.description.CBT_8828802e-c9cd-42ff-be50-17ba448443b2.description": "Produit final AFEg", + "codebookTranslations.semi_product.description.CBT_88dffa36-8199-4c69-a909-b38838719207.description": "Sac blanc de café vert", + "codebookTranslations.semi_product.description.CBT_900600e4-1aa8-4ce1-b6d0-6360a5bb636c.description": "Sac blanc de parche", + "codebookTranslations.semi_product.description.CBT_99ff032d-b8e8-418b-9a1f-cf7c65723d69.description": "Tas de café vert trié par couleur", + "codebookTranslations.semi_product.description.CBT_9b5284ad-5c8f-4f90-afb3-8e923cf5894b.description": "Tas de café trié par voie humide et séché à l'air", + "codebookTranslations.semi_product.description.CBT_9c5d1db9-9772-44bc-9dc0-a7042b9b5256.description": "Tas de cerises de café lavées", + "codebookTranslations.semi_product.description.CBT_9e478e97-8245-41e0-bf7a-2322c615d448.description": "Cerises de café non lavées achetées aux agriculteurs ou à leurs collecteurs nommés et apportées aux employés de la coopérative à la station de lavage", + "codebookTranslations.semi_product.description.CBT_a1faa222-8978-402e-9983-5f7976d0ecb9.description": "LOT de café sur lit de séchage", + "codebookTranslations.semi_product.description.CBT_a94edb6b-144f-4fb2-a221-484477e245f8.description": "Sac Grainpro de café vert", + "codebookTranslations.semi_product.description.CBT_acb3ac4e-47c9-4192-b7c6-da56e0453925.description": "Semi-produit2", + "codebookTranslations.semi_product.description.CBT_b472d3e9-65bd-4ff8-99b3-791da086bc17.description": "Un produit chic", + "codebookTranslations.semi_product.description.CBT_bc2b8178-162e-4389-a59c-7571edfbbbb0.description": "Sac d'exportation FIBC", + "codebookTranslations.semi_product.description.CBT_bfbc6c9f-72ed-4c9f-919f-c7cc09336a2b.description": "Tas de café fermenté", + "codebookTranslations.semi_product.description.CBT_ccc0f694-04a3-43f7-ac8a-46922dbbb128.description": "Produit final - Café AFM", + "codebookTranslations.semi_product.description.CBT_dba84bb5-de08-4ed8-b02b-e4159c055368.description": "Café final - AFE.", + "codebookTranslations.semi_product.description.CBT_ea17fee3-4f71-4512-bb8e-e9c0cb2a0e9a.description": "cerise fraîche", + "codebookTranslations.process_action.name.CBT_0040489e-8bdb-464a-8846-a598e9ce7d41.name": "Enregistrer un lieu de livraison finale", + "codebookTranslations.process_action.name.CBT_0067b50b-d286-4d05-911c-8c8b61e06f0d.name": "Enregistrer une facture pour le client", + "codebookTranslations.process_action.name.CBT_0c2d62ea-1abc-42f2-b5fb-70a3db17deef.name": "E_Emballage café vert en sacs Grainpro", + "codebookTranslations.process_action.name.CBT_0d7ef6e4-5f0c-4f64-b2b1-c32c71a4273b.name": "RAPIDE - Cerise vers Lit de séchage", + "codebookTranslations.process_action.name.CBT_0f50af96-1852-4842-bfe0-c3a1e2987cc1.name": "4_Classement et Fermentation", + "codebookTranslations.process_action.name.CBT_0fe4e0c7-0cf3-4e08-a8c2-ce2f983c72bd.name": "D2_Déplacer sacs blancs vers NAEB", + "codebookTranslations.process_action.name.CBT_12a073ac-09e9-40bf-b16b-79d69972613c.name": "1_Pesée des cerises non lavées", + "codebookTranslations.process_action.name.CBT_16160c4e-08de-4a35-8819-63a0c6b6ee7e.name": "B_Décorticage", + "codebookTranslations.process_action.name.CBT_17fb6d6f-9ec6-4b24-a4c2-28b83e0b97a5.name": "7_Emballage café sec pour stockage parche", + "codebookTranslations.process_action.name.CBT_22ccee5c-cd67-4e8b-a028-f5c9f2bb5d26.name": "Enregistrer un ordre de torréfaction", + "codebookTranslations.process_action.name.CBT_283da52e-6b6e-4a32-ae29-bcd21a22f72e.name": "2_Lavage des cerises", + "codebookTranslations.process_action.name.CBT_2b65cb2f-e561-4b39-8999-308b68a5fc50.name": "A_Déplacer parche vers station décorticage", + "codebookTranslations.process_action.name.CBT_2e50e060-0d75-4d1a-bfb3-caff526560b0.name": "C_Triage grains verts + emballage sacs blancs", + "codebookTranslations.process_action.name.CBT_3253a4de-77c0-443e-95ea-b106073febf8.name": "RAPIDE - Cerise vers Café vert", + "codebookTranslations.process_action.name.CBT_350ebe5e-192e-4a3c-bb3e-fbd837c308e1.name": "8_Emballage café sec pour stockage parche", + "codebookTranslations.process_action.name.CBT_360b6d18-eba7-45e5-b5b9-cf95ced71859.name": "7_Déplacer café humide vers lit de séchage", + "codebookTranslations.process_action.name.CBT_3b9b5a06-4c92-41cb-a234-356edfe33a5e.name": "Enregistrer un bon de livraison au Torréfacteur", + "codebookTranslations.process_action.name.CBT_3c84ed71-faa9-46bf-8cbc-81f64d6a85a9.name": "B_Décorticage", + "codebookTranslations.process_action.name.CBT_4262adb8-8cfa-4788-a29b-cde69b25135a.name": "Ordre de torréfaction", + "codebookTranslations.process_action.name.CBT_42f9e505-5c76-4eea-b710-b3aaf35c2252.name": "5_Deuxième lavage et classement", + "codebookTranslations.process_action.name.CBT_446ac98d-e1ff-4c4d-89ad-3113b4841379.name": "Enregistrer rapport de dégustation", + "codebookTranslations.process_action.name.CBT_5f571039-98a7-428e-a343-920d55a5455f.name": "6_Tri humide et séchage à l'air", + "codebookTranslations.process_action.name.CBT_614730c9-f8bf-4b30-ab99-a3bd19943b13.name": "1_Pesée des cerises non lavées", + "codebookTranslations.process_action.name.CBT_6589d456-c8f4-4b73-9941-923170bdb128.name": "RAPIDE - Cerise vers Lit de séchage", + "codebookTranslations.process_action.name.CBT_692f2db0-ef6f-4a96-8d6c-06c7419bba3d.name": "Commander café à l'Exportateur", + "codebookTranslations.process_action.name.CBT_6a339a87-6275-4b19-86ec-0712d55d2ced.name": "RAPIDE - Lavage, dépulpage & fermentation", + "codebookTranslations.process_action.name.CBT_6b2fea70-d4e7-44e0-82d7-de6fafb67c3a.name": "Enregistrer détails et documents d'expédition", + "codebookTranslations.process_action.name.CBT_6dcc3a9a-eb3e-49f7-8b9c-be1301e88cba.name": "D_Déplacer sacs blancs vers stockage café vert", + "codebookTranslations.process_action.name.CBT_72869ef6-4f7b-46bf-9ae8-055868fd1d7c.name": "Enregistrer facture du Producteur", + "codebookTranslations.process_action.name.CBT_744f91ae-2955-48e6-bb3c-d4e3ab57311f.name": "Enregistrer une demande d'échantillon", + "codebookTranslations.process_action.name.CBT_81494442-2bb9-4fb5-a837-67b5e12400f1.name": "E2_Déplacer sacs Grainpro vers NAEB", + "codebookTranslations.process_action.name.CBT_85ec4aa5-3870-4bf4-9521-d50cba29ff69.name": "2_Lavage des cerises", + "codebookTranslations.process_action.name.CBT_8b8470aa-bd64-4c63-9491-425ce89a6a68.name": "Commander café vert au Producteur", + "codebookTranslations.process_action.name.CBT_8b9346dc-4bda-4cf7-b988-0e01c0ffdcb1.name": "6_Déplacer café humide vers lit de séchage", + "codebookTranslations.process_action.name.CBT_9377d90e-4a23-4995-bd42-8191bb7e57f3.name": "Enregistrer facture du Transporteur", + "codebookTranslations.process_action.name.CBT_9b089c60-95d6-4480-bafd-94a8f64dfb99.name": "Commander transport Port vers Torréfacteur", + "codebookTranslations.process_action.name.CBT_a04cf2ee-0da8-46be-bee5-892e6829d9f8.name": "3_Dépulpage", + "codebookTranslations.process_action.name.CBT_a7bc7270-2e16-4a76-83eb-60a1224a8aaf.name": "Enregistrer un ticket de pesée à NAEB", + "codebookTranslations.process_action.name.CBT_acf3bf52-4133-4895-93f0-b13ba8a11a82.name": "RAPIDE - Cerise vers Café vert", + "codebookTranslations.process_action.name.CBT_ae954f48-3e5a-4bfa-86aa-37292932cefb.name": "Commander expédition café vert vers Allemagne", + "codebookTranslations.process_action.name.CBT_b06531ed-3784-4474-85f9-eb75a8b02eaf.name": "D_Déplacer sacs blancs vers Stockage café vert", + "codebookTranslations.process_action.name.CBT_b091fef3-b084-4cda-ab1f-aef11146cb6e.name": "4_Fermentation", + "codebookTranslations.process_action.name.CBT_b1d888d0-d7bf-4204-8e4e-f00aa8f0e26c.name": "Enregistrer un bon de livraison à l'Acheteur", + "codebookTranslations.process_action.name.CBT_bd494a34-ccfe-4781-a8dd-bde363d1dfeb.name": "A_Déplacer parche vers station décorticage", + "codebookTranslations.process_action.name.CBT_c8149ef2-62ad-44f6-9de8-d67b4f410e9d.name": "Enregistrer documentation d'export", + "codebookTranslations.process_action.name.CBT_c8247472-af1d-4297-95a1-14a3a36fc826.name": "3_Dépulpage", + "codebookTranslations.process_action.name.CBT_c93c6cbc-1007-4927-a8b8-a779f54cdd82.name": "7b_Transport café semi-séché", + "codebookTranslations.process_action.name.CBT_cc7dcdf9-db72-4d6d-902d-d3e088010d9f.name": "Commander livraison dernier kilomètre", + "codebookTranslations.process_action.name.CBT_d298141b-4a77-4e6b-bd7c-9b21c03f7ac8.name": "Enregistrer un bon de livraison à NAEB", + "codebookTranslations.process_action.name.CBT_d3e9ecb2-5312-44a4-a0af-03e1062baf7f.name": "C_Triage grains verts + emballage en sacs blancs", + "codebookTranslations.process_action.name.CBT_d5eb4600-4de5-43b2-97a8-ebe86a4d2fc5.name": "E2_Déplacer sac Grainpro vers NAEB", + "codebookTranslations.process_action.name.CBT_d8331d11-03df-4e64-b860-7882798a9c4e.name": "Enregistrer facture pour Stockage", + "codebookTranslations.process_action.name.CBT_dd4f9274-959f-431e-9ba3-0e0ef599f9e2.name": "5_Tri humide & séchage à l'air", + "codebookTranslations.process_action.name.CBT_df55932c-9db6-4e92-acfe-37919759eb02.name": "Enregistrer document CEPAR", + "codebookTranslations.process_action.name.CBT_df98dcb0-fcc8-4d56-88b0-fb5628d8a351.name": "D2_Déplacer sacs blancs vers NAEB", + "codebookTranslations.process_action.name.CBT_e2807727-978a-4a24-8896-600d24471d09.name": "Enregistrer facture pour Acheteur", + "codebookTranslations.process_action.name.CBT_e3442ec0-f093-4e86-b01e-71174c346782.name": "RAPIDE - Lavage, Dépulpage & Fermentation", + "codebookTranslations.process_action.name.CBT_f102dc84-1dd5-451e-ac18-14bae0db2426.name": "E_Emballage café vert en sacs Grainpro", + "codebookTranslations.process_action.name.CBT_f50648e2-72bc-49a3-8518-ea22beb65fc6.name": "Enregistrer facture du Torréfacteur", + "codebookTranslations.process_action.name.CBT_fea71cf1-9ed2-406e-8235-c67c30bf5340.name": "Commander torréfaction avec QR codes", + "codebookTranslations.process_action.description.CBT_0040489e-8bdb-464a-8846-a598e9ce7d41.description": "L'acheteur enregistre un lieu de livraison finale", + "codebookTranslations.process_action.description.CBT_0067b50b-d286-4d05-911c-8c8b61e06f0d.description": "L'acheteur enregistre une facture pour le client", + "codebookTranslations.process_action.description.CBT_0c2d62ea-1abc-42f2-b5fb-70a3db17deef.description": "Emballage du café vert dans des sacs Grainpro", + "codebookTranslations.process_action.description.CBT_0d7ef6e4-5f0c-4f64-b2b1-c32c71a4273b.description": "Voie rapide - Cerise vers Lit de séchage", + "codebookTranslations.process_action.description.CBT_0f50af96-1852-4842-bfe0-c3a1e2987cc1.description": "Séparation des grades et fermentation dans un bassin de fermentation", + "codebookTranslations.process_action.description.CBT_0fe4e0c7-0cf3-4e08-a8c2-ce2f983c72bd.description": "Déplacer des sacs blancs de café vert vers NAEB", + "codebookTranslations.process_action.description.CBT_12a073ac-09e9-40bf-b16b-79d69972613c.description": "Pesée des cerises de café d'un ou plusieurs agriculteurs lors d'un jour de livraison spécifié", + "codebookTranslations.process_action.description.CBT_16160c4e-08de-4a35-8819-63a0c6b6ee7e.description": "Décorticage du café sec", + "codebookTranslations.process_action.description.CBT_17fb6d6f-9ec6-4b24-a4c2-28b83e0b97a5.description": "Déplacement du café séché vers le stockage de parche et emballage en sacs blancs", + "codebookTranslations.process_action.description.CBT_22ccee5c-cd67-4e8b-a028-f5c9f2bb5d26.description": "L'exportateur émet un ordre de torréfaction pour que le torréfacteur se prépare à la torréfaction.", + "codebookTranslations.process_action.description.CBT_283da52e-6b6e-4a32-ae29-bcd21a22f72e.description": "Le lavage du café est la première transaction de traitement", + "codebookTranslations.process_action.description.CBT_2b65cb2f-e561-4b39-8999-308b68a5fc50.description": "Déplacer la parche du stockage de parche vers la station de décorticage", + "codebookTranslations.process_action.description.CBT_2e50e060-0d75-4d1a-bfb3-caff526560b0.description": "Tri des grains verts + emballage en sacs blancs", + "codebookTranslations.process_action.description.CBT_3253a4de-77c0-443e-95ea-b106073febf8.description": "Voie rapide - Cerise vers Sac blanc de café vert", + "codebookTranslations.process_action.description.CBT_350ebe5e-192e-4a3c-bb3e-fbd837c308e1.description": "Emballage de la parche en sacs blancs", + "codebookTranslations.process_action.description.CBT_360b6d18-eba7-45e5-b5b9-cf95ced71859.description": "Déplacement du café humide vers le lit de séchage\\nAjout d'une étiquette LOT", + "codebookTranslations.process_action.description.CBT_3b9b5a06-4c92-41cb-a234-356edfe33a5e.description": "Le propriétaire enregistre une note de livraison indiquant que le café a été livré au torréfacteur.", + "codebookTranslations.process_action.description.CBT_3c84ed71-faa9-46bf-8cbc-81f64d6a85a9.description": "Décorticage de la parche", + "codebookTranslations.process_action.description.CBT_4262adb8-8cfa-4788-a29b-cde69b25135a.description": "Torréfaction vers AFE", + "codebookTranslations.process_action.description.CBT_42f9e505-5c76-4eea-b710-b3aaf35c2252.description": "Le café peut être lavé et classé plusieurs fois", + "codebookTranslations.process_action.description.CBT_446ac98d-e1ff-4c4d-89ad-3113b4841379.description": "Enregistrer un rapport de dégustation avec les résultats obtenus à partir de l'échantillon de café", + "codebookTranslations.process_action.description.CBT_5f571039-98a7-428e-a343-920d55a5455f.description": "Tri humide et séchage à l'air", + "codebookTranslations.process_action.description.CBT_614730c9-f8bf-4b30-ab99-a3bd19943b13.description": "Pesée et constitution d'un tas de café non lavé", + "codebookTranslations.process_action.description.CBT_6589d456-c8f4-4b73-9941-923170bdb128.description": "Voie rapide - Cerise vers Lit de séchage.", + "codebookTranslations.process_action.description.CBT_692f2db0-ef6f-4a96-8d6c-06c7419bba3d.description": "L'acheteur commande du café vert auprès de l'exportateur", + "codebookTranslations.process_action.description.CBT_6a339a87-6275-4b19-86ec-0712d55d2ced.description": "Voie rapide - Lavage, Dépulpage & Fermentation", + "codebookTranslations.process_action.description.CBT_6b2fea70-d4e7-44e0-82d7-de6fafb67c3a.description": "Le propriétaire organise une expédition via une agence maritime et obtient en retour un document à saisir dans le système.", + "codebookTranslations.process_action.description.CBT_6dcc3a9a-eb3e-49f7-8b9c-be1301e88cba.description": "Déplacer les sacs blancs de la station de décorticage vers le stockage de café vert", + "codebookTranslations.process_action.description.CBT_72869ef6-4f7b-46bf-9ae8-055868fd1d7c.description": "Le propriétaire reçoit une facture du Producteur", + "codebookTranslations.process_action.description.CBT_744f91ae-2955-48e6-bb3c-d4e3ab57311f.description": "Enregistrer une demande d'échantillon de café d'un producteur", + "codebookTranslations.process_action.description.CBT_81494442-2bb9-4fb5-a837-67b5e12400f1.description": "Déplacement des sacs Grainpro vers NAEB", + "codebookTranslations.process_action.description.CBT_85ec4aa5-3870-4bf4-9521-d50cba29ff69.description": "Lavage des cerises après arrivée et tri du grade C", + "codebookTranslations.process_action.description.CBT_8b8470aa-bd64-4c63-9491-425ce89a6a68.description": "Le propriétaire commande du café vert auprès d'un producteur", + "codebookTranslations.process_action.description.CBT_8b9346dc-4bda-4cf7-b988-0e01c0ffdcb1.description": "Déplacer le café des tables de tri humide vers le lit de séchage", + "codebookTranslations.process_action.description.CBT_9377d90e-4a23-4995-bd42-8191bb7e57f3.description": "Le propriétaire reçoit une facture pour l'expédition.", + "codebookTranslations.process_action.description.CBT_9b089c60-95d6-4480-bafd-94a8f64dfb99.description": "Commander le transport du Port vers le Torréfacteur en Allemagne", + "codebookTranslations.process_action.description.CBT_a04cf2ee-0da8-46be-bee5-892e6829d9f8.description": "Dépulpage", + "codebookTranslations.process_action.description.CBT_a7bc7270-2e16-4a76-83eb-60a1224a8aaf.description": "Certains producteurs livrent du café à NAEB et NAEB émet des tickets de pesée, pour plusieurs livraisons.", + "codebookTranslations.process_action.description.CBT_acf3bf52-4133-4895-93f0-b13ba8a11a82.description": "RAPIDE - Cerise vers Café vert", + "codebookTranslations.process_action.description.CBT_ae954f48-3e5a-4bfa-86aa-37292932cefb.description": "Commander l'expédition d'un conteneur de café vert vers l'Allemagne", + "codebookTranslations.process_action.description.CBT_b06531ed-3784-4474-85f9-eb75a8b02eaf.description": "Déplacer les sacs blancs non commercialisables vers le Stockage principal visible par l'Exportateur", + "codebookTranslations.process_action.description.CBT_b091fef3-b084-4cda-ab1f-aef11146cb6e.description": "Fermentation pouvant être appliquée plusieurs fois", + "codebookTranslations.process_action.description.CBT_b1d888d0-d7bf-4204-8e4e-f00aa8f0e26c.description": "L'acheteur ajoute un bon de livraison dans le système", + "codebookTranslations.process_action.description.CBT_bd494a34-ccfe-4781-a8dd-bde363d1dfeb.description": "Déplacer la parche vers la station de décorticage", + "codebookTranslations.process_action.description.CBT_c8149ef2-62ad-44f6-9de8-d67b4f410e9d.description": "Ajouter des documents d'exportation", + "codebookTranslations.process_action.description.CBT_c8247472-af1d-4297-95a1-14a3a36fc826.description": "Dépulpage des cerises", + "codebookTranslations.process_action.description.CBT_c93c6cbc-1007-4927-a8b8-a779f54cdd82.description": "Transport de café semi-séché", + "codebookTranslations.process_action.description.CBT_cc7dcdf9-db72-4d6d-902d-d3e088010d9f.description": "L'acheteur commande une livraison dernier kilomètre au client final.", + "codebookTranslations.process_action.description.CBT_d298141b-4a77-4e6b-bd7c-9b21c03f7ac8.description": "Le propriétaire enregistre un bon de livraison émis par le producteur pour livraison à NAEB", + "codebookTranslations.process_action.description.CBT_d3e9ecb2-5312-44a4-a0af-03e1062baf7f.description": "Retrait des grains cassés", + "codebookTranslations.process_action.description.CBT_d5eb4600-4de5-43b2-97a8-ebe86a4d2fc5.description": "Déplacer le sac Grainpro vers NAEB", + "codebookTranslations.process_action.description.CBT_d8331d11-03df-4e64-b860-7882798a9c4e.description": "Le propriétaire reçoit une facture pour stockage à Hambourg.", + "codebookTranslations.process_action.description.CBT_dd4f9274-959f-431e-9ba3-0e0ef599f9e2.description": "Tri humide & séchage à l'air sur lits couverts", + "codebookTranslations.process_action.description.CBT_df55932c-9db6-4e92-acfe-37919759eb02.description": "L'exportateur paie la facture pour CEPAR et enregistre cette activité dans le système.", + "codebookTranslations.process_action.description.CBT_df98dcb0-fcc8-4d56-88b0-fb5628d8a351.description": "Parfois, les sacs blancs sont déplacés vers NAEB et y sont reconditionnés en sacs Grainpro.", + "codebookTranslations.process_action.description.CBT_e2807727-978a-4a24-8896-600d24471d09.description": "Le propriétaire émet une facture pour l'Acheteur.", + "codebookTranslations.process_action.description.CBT_e3442ec0-f093-4e86-b01e-71174c346782.description": "Voie rapide - Lavage, Dépulpage & Fermentation", + "codebookTranslations.process_action.description.CBT_f102dc84-1dd5-451e-ac18-14bae0db2426.description": "Emballage du café vert en sacs Grainpro", + "codebookTranslations.process_action.description.CBT_f50648e2-72bc-49a3-8518-ea22beb65fc6.description": "Le propriétaire reçoit une facture pour torréfaction.", + "codebookTranslations.process_action.description.CBT_fea71cf1-9ed2-406e-8235-c67c30bf5340.description": "Le propriétaire commande la Torréfaction et spécifie les QR codes.", + "imageViewer.img.alt": "Titre de l'image", + "ui.textinput.napaka.forceNumeric": "Vous devez entrer un nombre dans le champ ! Utilisez des virgules décimales au lieu de points décimaux.", + "ui.textinput.napaka.longIntOverflow": "Le nombre dépasse la plage supportée par l'enregistrement informatique", + "ui.textinput.charCount.label": "Nb de caractères : {$INTERPOLATION}", + "ui.textinput.button.showMore": "Afficher plus", + "messageModalLabels.button.ok": "Confirmer", + "messageModalLabels.button.cancel": "Annuler", + "messageModalLabels.title.general": "Message", + "messageModalLabels.title.question": "Question", + "messageModalLabels.title.info": "Message", + "messageModalLabels.title.warning": "Avertissement", + "messageModalLabels.title.error": "Erreur", + "formatCompanyCerts.certificationTypes.EUorganic": "Bio UE", + "formatCompanyCerts.certificationTypes.rainforestAlliance": "Rainforest Alliance", + "formatCompanyCerts.certificationTypes.carbonNeutral": "Neutre en carbone", + "formatCompanyCerts.certificationTypes.fairtrade": "Commerce équitable", + "datepickerDate.input.placeholder": "J. M. AAAA", + "ui.createUpdateDeleteButtons.cancel.btn.label": "Annuler", + "ui.createUpdateDeleteButtons.create.btn.label": "Créer", + "ui.createUpdateDeleteButtons.update.btn.label": "Enregistrer", + "ui.createUpdateDeleteButtons.delete.btn.label": "Supprimer", + "miniButtons.button.cancel": "{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}", + "miniButtons.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "search.button.placeholder": "{$START_TAG_DIV}{$START_TAG_SPAN}{$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}{$START_TAG_SPAN_1}Rechercher{$CLOSE_TAG_SPAN}", + "searchTextinput.by": "Par {$INTERPOLATION}", + "ui.attachmentUploader.error.prisloJeDoNapake.message": "Une erreur est survenue lors du chargement", + "ui.attachmentUploader.poskusitePonovnoAliPripniteDrugoDatoteko.label": "réessayer ou attacher un autre fichier", + "ui.attachmentUploader.nalaganje.label": "Chargement {$INTERPOLATION}, {$INTERPOLATION_1}% sur {$INTERPOLATION_2}K", + "ui.attachmentUploader.poisciteInPripniteDatotekoCaps.label": "Localiser et attacher le fichier", + "ui.attachmentUploader.imeDatoteke.label": "Nom du fichier", + "ui.attachmentUploader.izbrisiPrilogo.tooltip": "Supprimer la pièce jointe", + "ui.attachmentUploader.zamenjajDatotekoPriloge.tooltip": "Remplacer la pièce jointe", + "ui.attachmentUploader.error.napaka.message": "Erreur ! {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}{$TAG_INPUT}", + "3142649024295180156": "Choisir un fichier", + "ui.attachmentUploader.allowedMimeTypeErrorMessageDefault": "Téléchargez uniquement des fichiers de type : PDF, PNG et JPG.", + "ui.attachmentUploader.nalozeno": "Téléchargé  ", + "ui.attachmentUploader.uploader.uploadResponse.error.title": "Erreur", + "ui.attachmentUploader.uploader.uploadResponse.error.message": "Quelque chose s'est mal passé côté serveur. Veuillez réessayer.", + "ui.attachmentUploader.uploader.onWhenAddingFileFailed.fileSize.error.title": "Fichier trop volumineux !", + "ui.attachmentUploader.uploader.onWhenAddingFileFailed.fileSize.error.message": "La taille du fichier {$PH} dépasse la limite de {$PH_1}.", + "ui.attachmentUploader.uploader.onWhenAddingFileFailed.mimeType.error.title": "Format de fichier incorrect !", + "transactionType.processing": "Traitement", + "transactionType.genera": "Général", + "authorisedSideNav.link.company": "Entreprise", + "authorisedSideNav.link.products": "Produits", + "authorisedSideNav.link.system": "Système", + "breadCrumb.collectors.farmer": "Agriculteur", + "breadCrumb.collectors.collector": "Collecteur", + "certAndStdItems.subform.title": "Certifications et Normes", + "certAndStdItems.textinput.description.label": "Description", + "certAndStdItems.textinput.description.helpText": "Listez et décrivez brièvement les certificats que vous détenez actuellement et les normes que vous suivez. (ex : Bio - utilisation de plants bio, engrais bio, Commerce Équitable - rémunération équitable des agriculteurs et autres membres de la chaîne d'approvisionnement...)", + "certAndStdItems.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement les types de fichiers : PNG, JPG et JPEG.", + "certAndStdItems.attachment-uploader.label": "Certificat ou Norme (PDF)", + "certAndStdItems.attachment-uploader.content": "Télécharger le certificat", + "certAndStdItems.attachment-uploader.small": "Pour chaque certificat ou norme listé ci-dessus, téléchargez des preuves PDF/image attestant de leur possession (veillez à ne pas télécharger d'informations confidentielles)", + "certAndStdItems.textinput.type.label": "Type", + "certAndStdItems.validty.labe": "Date de validité", + "certAndStdItems.attachment-uploader.error": "{$START_TAG_SPAN} Le document est obligatoire {$CLOSE_TAG_SPAN}", + "certAndStdItems.textinput.type.error": "Le type est obligatoire", + "listEditor.addText": "Ajouter", + "listEditor.emptyText": "Vide", + "aboutApp.info.button.ok": "OK", + "aboutApp.info.title": "À propos de l'application", + "aboutApp.info.message": "Version de l'application : {$PH}", + "userService.input.placehoder": "Rechercher ...", + "companyList.title.companies": "Entreprises", + "companyList.button.newCompany": "Nouvelle entreprise", + "companyList.subTitle.listOfCompanies": "Liste des entreprises", + "companyList.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "list.button.filter": "Filtrer", + "companyList.filter.showActive": "Afficher les actives", + "companyList.filter.showDeactivated": "Afficher les désactivées", + "companyList.filter.showRegistered": "Afficher les enregistrées", + "companyList.filter.showMyCompanies": "Afficher mes entreprises", + "companyList.filter.myCompanies": "Mes entreprises {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "companyList.tableCol.edit": "Modifier", + "companyList.tableCol.activate": "Activer", + "companyList.tableCol.deactivate": "Désactiver", + "companyList.tableCol.mergTo": "Fusionner avec", + "companyList.noCompanies": "Aucune entreprise trouvée", + "companyList.unauthorized": "Non autorisé à voir la liste des entreprises.", + "companyList.somethingWentWrong": "Une erreur s'est produite lors de la connexion.", + "companyList.sortOptions.name.name": "Nom", + "companyList.sortOptions.status.name": "Statut", + "companyList.sortOptions.actions.name": "Actions", + "companyList.statusList.all": "Toutes", + "companyList.statusList.registred": "Enregistrées", + "companyList.statusList.active": "Actives", + "companyList.statusList.deactivated": "Désactivées", + "companyList.activate.success.title": "Activée !", + "companyList.activate.success.message": "L'entreprise a été activée avec succès", + "companyList.activate.error.title": "Erreur", + "companyList.activate.error.message": "Impossible d'activer l'entreprise", + "companyList.deactivate.success.title": "Désactivée !", + "companyList.deactivate.success.message": "L'entreprise a été désactivée avec succès", + "companyList.deactivate.error.title": "Erreur", + "companyList.deactivate.error.message": "Impossible de désactiver l'entreprise", + "companyList.mergeTo.modal.title": "Fusionner avec une entreprise", + "companyList.mergeTo.modal.instructionsHtml": "Fusionner l'entreprise {$PH} avec :", + "companyList.mergeTo.success.title": "Fusionnée !", + "companyList.mergeTo.success.message": "L'entreprise a été fusionnée avec succès avec {$PH}.", + "cookies.clearCookiesConsent.clearingCookies": "{$START_PARAGRAPH}Effacement des cookies...{$CLOSE_PARAGRAPH}", + "cookies.cookieManagement.modal.title": "Paramètres des cookies", + "cookies.cookieManagement.modal.body.googleAnalytics": "{$START_TAG_SPAN}Google Analytics{$CLOSE_TAG_SPAN}{$START_TAG_SPAN}Cookies de performance.{$CLOSE_TAG_SPAN}", + "cookies.cookieManagement.modal.footer.buttons.backAndSave": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Retour{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "cookies.cookieManagement.modal.body.intercom": "{$START_TAG_SPAN}Intercom{$CLOSE_TAG_SPAN}{$START_TAG_SPAN}Support client avec chat en direct.{$CLOSE_TAG_SPAN}", + "cookies.cookieManagement.modal.body.rocketChat": "{$START_TAG_SPAN}Rocket Chat{$CLOSE_TAG_SPAN}{$START_TAG_SPAN}Support client avec chat en direct.{$CLOSE_TAG_SPAN}", + "cookies.cookiePage": "{$START_HEADING_LEVEL2}Politique relative aux cookies{$CLOSE_HEADING_LEVEL2}{$START_TAG_DIV}{$CLOSE_TAG_DIV}{$START_PARAGRAPH}Cette politique relative aux cookies (Politique) décrit ce que sont les cookies et comment l'Opérateur du Site (Opérateur du Site, nous, notre) les utilise sur le site web {$START_LINK}inatrace.org{$CLOSE_LINK} et tout produit ou service associé (collectivement, Site ou Services).{$LINE_BREAK} Vous devriez lire cette Politique pour comprendre quels types de cookies nous utilisons, les informations que nous collectons via les cookies et comment ces informations sont utilisées. Elle décrit également les choix qui s'offrent à vous concernant l'acceptation ou le refus de l'utilisation des cookies. Pour plus d'informations sur la manière dont nous utilisons, stockons et protégeons vos données personnelles, consultez notre Politique de confidentialité.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Que sont les cookies ?{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Les cookies sont de petits fichiers de données stockés dans des fichiers texte qui sont enregistrés sur votre ordinateur ou d'autres appareils lorsque des sites web sont chargés dans un navigateur. Ils sont largement utilisés pour vous reconnaître et mémoriser vos préférences, soit pour une seule visite (via un cookie de session), soit pour plusieurs visites répétées (en utilisant un cookie persistant).{$LINE_BREAK} Les cookies de session sont des cookies temporaires qui sont utilisés pendant votre visite sur le Site et qui expirent lorsque vous fermez le navigateur web.{$LINE_BREAK} Les cookies persistants sont utilisés pour mémoriser vos préférences sur notre Site et restent sur votre ordinateur ou appareil mobile même après avoir fermé votre navigateur ou redémarré votre ordinateur. Ils assurent une expérience cohérente et efficace lors de votre visite sur notre Site ou de l'utilisation de nos Services.{$LINE_BREAK} Les cookies peuvent être définis par le Site (cookies internes) ou par des tiers, tels que ceux qui fournissent du contenu ou des services publicitaires ou d'analyse sur le site web (cookies tiers). Ces tiers peuvent vous reconnaître lorsque vous visitez notre site web et également lorsque vous visitez certains autres sites web.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Quels types de cookies utilisons-nous ?{$CLOSE_HEADING_LEVEL5}{$START_HEADING_LEVEL6}Cookies nécessaires{$CLOSE_HEADING_LEVEL6}{$START_PARAGRAPH}Les cookies nécessaires nous permettent de vous offrir la meilleure expérience possible lors de l'accès et de la navigation sur notre Site et lors de l'utilisation de ses fonctionnalités. Par exemple, ces cookies nous permettent de reconnaître que vous avez créé un compte et que vous vous êtes connecté à ce compte pour accéder au contenu.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL6}Cookies de fonctionnalité{$CLOSE_HEADING_LEVEL6}{$START_PARAGRAPH}Les cookies de fonctionnalité nous permettent d'exploiter le Site et nos Services conformément aux choix que vous faites. Par exemple, nous reconnaîtrons votre nom d'utilisateur et nous nous souviendrons de la manière dont vous avez personnalisé le Site et les Services lors de vos visites futures.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL6}Cookies analytiques{$CLOSE_HEADING_LEVEL6}{$START_PARAGRAPH}Ces cookies nous permettent, ainsi qu'à des services tiers, de collecter des données agrégées à des fins statistiques sur la manière dont nos visiteurs utilisent le Site. Ces cookies ne contiennent pas d'informations personnelles telles que des noms et des adresses e-mail et sont utilisés pour nous aider à améliorer votre expérience utilisateur sur le Site.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL6}Cookies de réseaux sociaux{$CLOSE_HEADING_LEVEL6}{$START_PARAGRAPH}Les cookies tiers provenant de sites de réseaux sociaux (tels que Facebook, Twitter, etc.) nous permettent de suivre les utilisateurs des réseaux sociaux lorsqu'ils visitent notre Site, utilisent nos Services ou partagent du contenu, en utilisant un mécanisme de suivi fourni par ces réseaux sociaux.{$LINE_BREAK} Ces cookies sont également utilisés à des fins de suivi des événements et de remarketing. Toutes les données collectées avec ces tags seront utilisées conformément à nos politiques de confidentialité et à celles des réseaux sociaux. Nous ne collecterons ni ne partagerons aucune information personnellement identifiable de l'utilisateur.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Quelles sont vos options en matière de cookies ?{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Si vous n'aimez pas l'idée des cookies ou de certains types de cookies, vous pouvez modifier les paramètres de votre navigateur pour supprimer les cookies déjà définis et ne pas accepter de nouveaux cookies. Pour en savoir plus sur la manière de procéder ou pour en savoir plus sur les cookies, visitez {$START_LINK_1}internetcookies.org{$CLOSE_LINK}{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Modifications et amendements{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Nous nous réservons le droit de modifier cette Politique relative au Site ou aux Services à tout moment, avec effet immédiat après la publication d'une version mise à jour de cette Politique sur le Site. Lorsque nous le ferons, nous réviserons la date de mise à jour au bas de cette page. L'utilisation continue du Site après de tels changements constituera votre consentement à ces changements.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Acceptation de cette politique{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Vous reconnaissez avoir lu cette Politique et accepté tous ses termes et conditions. En utilisant le Site ou ses Services, vous acceptez d'être lié par cette Politique. Si vous n'acceptez pas de respecter les termes de cette Politique, vous n'êtes pas autorisé à utiliser ou à accéder au Site et à ses Services.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Nous contacter{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Si vous souhaitez nous contacter pour en savoir plus sur cette Politique ou si vous souhaitez nous contacter concernant toute question relative à notre utilisation des cookies, vous pouvez envoyer un e-mail à {$START_LINK_2}info@inatrace.org{$CLOSE_LINK}{$CLOSE_PARAGRAPH}{$START_PARAGRAPH_1}Ce document a été mis à jour le 2 mai 2020{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}{$START_LINK_3}Paramètres des cookies{$CLOSE_LINK}{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}{$START_LINK_4}Supprimer tous les cookies{$CLOSE_LINK}{$CLOSE_PARAGRAPH}{$START_TAG_DIV_1}{$CLOSE_TAG_DIV}", + "privacy.PrivacyPolicyPage": "{$START_HEADING_LEVEL2}Politique de confidentialité{$CLOSE_HEADING_LEVEL2}{$START_TAG_DIV}{$CLOSE_TAG_DIV}{$START_PARAGRAPH}Cette politique de confidentialité (Politique) décrit comment l'Opérateur du Site (Opérateur du Site, nous, notre) collecte, protège et utilise les informations personnellement identifiables (Informations Personnelles) que vous (Utilisateur, vous, votre) pouvez fournir sur le site web {$START_LINK}inatrace.org{$CLOSE_LINK} et tout produit ou service associé (collectivement, Site ou Services).{$LINE_BREAK} Elle décrit également les choix qui s'offrent à vous concernant notre utilisation de vos Informations Personnelles et comment vous pouvez accéder à ces informations et les mettre à jour. Cette Politique ne s'applique pas aux pratiques des entreprises que nous ne possédons pas ou ne contrôlons pas, ni aux individus que nous n'employons pas ou ne gérons pas.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Collecte automatique d'informations{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Lorsque vous visitez le Site, nos serveurs enregistrent automatiquement les informations que votre navigateur envoie. Ces données peuvent inclure des informations telles que l'adresse IP de votre appareil, le type et la version de votre navigateur, le type et la version de votre système d'exploitation, vos préférences linguistiques ou la page web que vous consultiez avant d'arriver sur notre Site, les pages de notre Site que vous visitez, le temps passé sur ces pages, les informations que vous recherchez sur notre Site, les heures et dates d'accès, et d'autres statistiques.{$LINE_BREAK} Les informations collectées automatiquement ne sont utilisées que pour identifier les cas potentiels d'abus et établir des informations statistiques concernant l'utilisation du Site. Ces informations statistiques ne sont pas autrement agrégées de manière à identifier un utilisateur particulier du système.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Collecte d'informations personnelles{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Vous pouvez visiter le Site sans nous dire qui vous êtes ni révéler aucune information permettant à quelqu'un de vous identifier comme un individu spécifique et identifiable. Cependant, si vous souhaitez utiliser certaines fonctionnalités du Site, il vous sera demandé de fournir certaines Informations Personnelles (par exemple, votre nom et votre adresse e-mail). Nous recevons et stockons toute information que vous nous fournissez volontairement lorsque vous créez un compte, publiez du contenu ou remplissez des formulaires en ligne sur le Site. Lorsque cela est nécessaire, ces informations peuvent inclure les éléments suivants : {$START_TAG_NG_CONTAINER}{$START_UNORDERED_LIST}{$START_LIST_ITEM}Détails personnels tels que nom, pays de résidence, etc.{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Informations de contact telles que adresse e-mail, adresse postale, etc.{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Détails du compte tels que nom d'utilisateur, identifiant utilisateur unique, mot de passe, etc.{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Informations sur d'autres individus tels que les membres de votre famille, amis, etc.{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Tout autre matériel que vous nous soumettez volontairement, tels que articles, images, commentaires, etc.{$CLOSE_LIST_ITEM}{$CLOSE_UNORDERED_LIST}{$CLOSE_TAG_NG_CONTAINER} Vous pouvez choisir de ne pas nous fournir vos Informations Personnelles, mais vous pourriez alors ne pas être en mesure de profiter de certaines fonctionnalités du Site. Les utilisateurs qui ne savent pas quelles informations sont obligatoires sont invités à nous contacter.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Gestion des informations personnelles{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Vous pouvez supprimer certaines Informations Personnelles que nous avons à votre sujet. Les Informations Personnelles que vous pouvez supprimer peuvent changer à mesure que le Site ou les Services évoluent. Cependant, lorsque vous supprimez des Informations Personnelles, nous pouvons conserver une copie des Informations Personnelles non révisées dans nos dossiers pour la durée nécessaire afin de nous conformer à nos obligations envers nos affiliés et partenaires, et aux fins décrites ci-dessous. Si vous souhaitez supprimer vos Informations Personnelles ou supprimer définitivement votre compte, vous pouvez le faire sur la page des paramètres de votre compte sur le Site.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Stockage des informations personnelles{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Nous conserverons et utiliserons vos Informations Personnelles pour la période nécessaire afin de nous conformer à nos obligations légales, résoudre les litiges et faire respecter nos accords, sauf si une période de conservation plus longue est requise ou autorisée par la loi. Nous pouvons utiliser toute donnée agrégée dérivée ou incorporant vos Informations Personnelles après que vous les ayez mises à jour ou supprimées, mais pas d'une manière qui permettrait de vous identifier personnellement. Une fois la période de conservation expirée, les Informations Personnelles seront supprimées. Par conséquent, le droit d'accès, le droit à l'effacement, le droit de rectification et le droit à la portabilité des données ne peuvent être exercés après l'expiration de la période de conservation.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Utilisation et traitement des informations collectées{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Afin de rendre notre Site et nos Services disponibles pour vous, ou pour remplir une obligation légale, nous avons besoin de collecter et d'utiliser certaines Informations Personnelles. Si vous ne fournissez pas les informations que nous demandons, nous pourrions ne pas être en mesure de vous fournir les produits ou services demandés. Certaines des informations que nous collectons proviennent directement de vous via notre Site. Cependant, nous pouvons également collecter des Informations Personnelles vous concernant auprès d'autres sources. Toutes les informations que nous collectons auprès de vous peuvent être utilisées aux fins suivantes : {$START_TAG_NG_CONTAINER}{$START_UNORDERED_LIST}{$START_LIST_ITEM}Créer et gérer des comptes utilisateurs{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Envoyer des informations administratives{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Répondre aux demandes et offrir un support{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Demander des commentaires aux utilisateurs{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Améliorer l'expérience utilisateur{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Administrer des tirages au sort et des concours{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Faire respecter les conditions générales et les politiques{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Protéger contre les abus et les utilisateurs malveillants{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Répondre aux demandes légales et prévenir les dommages{$CLOSE_LIST_ITEM}{$START_LIST_ITEM}Exploiter et faire fonctionner notre Site et nos Services{$CLOSE_LIST_ITEM}{$CLOSE_UNORDERED_LIST}{$CLOSE_TAG_NG_CONTAINER} Le traitement de vos Informations Personnelles dépend de la manière dont vous interagissez avec notre Site, de l'endroit où vous vous trouvez dans le monde et si l'une des conditions suivantes s'applique : (i) Vous avez donné votre consentement pour une ou plusieurs finalités spécifiques. Cela ne s'applique cependant pas lorsque le traitement des Informations Personnelles est soumis à la California Consumer Privacy Act ou à la loi européenne sur la protection des données", + "terms.termAndConditionsPage": "{$START_HEADING_LEVEL2}Conditions générales{$CLOSE_HEADING_LEVEL2}{$START_TAG_DIV}{$CLOSE_TAG_DIV}{$START_PARAGRAPH}Ces conditions générales (Conditions, Accord) constituent un accord entre l'Opérateur du Site (Opérateur du Site, nous, notre) et vous (Utilisateur, vous, votre). Cet Accord définit les conditions générales d'utilisation du site web {$START_LINK}inatrace.org{$CLOSE_LINK} et de tout produit ou service associé (collectivement, Site ou Services).{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Comptes et adhésion{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Si vous créez un compte sur le Site, vous êtes responsable de la sécurité de votre compte et vous êtes entièrement responsable de toutes les activités qui se produisent sous le compte et de toute autre action entreprise en relation avec celui-ci. Nous pouvons surveiller et examiner les nouveaux comptes avant que vous puissiez vous connecter et utiliser nos Services. Fournir de fausses informations de contact de quelque nature que ce soit peut entraîner la résiliation de votre compte. Vous devez nous informer immédiatement de toute utilisation non autorisée de votre compte ou de toute autre violation de sécurité. Nous ne serons pas responsables des actes ou omissions de votre part, y compris des dommages de toute nature résultant de tels actes ou omissions. Nous pouvons suspendre, désactiver ou supprimer votre compte (ou toute partie de celui-ci) si nous déterminons que vous avez violé une disposition du présent Accord ou que votre comportement ou votre contenu pourrait nuire à notre réputation et à notre crédibilité. Si nous supprimons votre compte pour les raisons susmentionnées, vous ne pourrez pas vous réinscrire à nos Services. Nous pouvons bloquer votre adresse e-mail et votre adresse IP pour empêcher toute nouvelle inscription.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Contenu utilisateur{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Nous ne possédons aucune donnée, information ou matériel (Contenu) que vous soumettez sur le Site dans le cadre de l'utilisation du Service. Vous êtes seul responsable de l'exactitude, de la qualité, de l'intégrité, de la légalité, de la fiabilité, de la pertinence et de la propriété intellectuelle ou du droit d'utilisation de tout Contenu soumis. Nous pouvons surveiller et examiner le Contenu sur le Site soumis ou créé en utilisant nos Services par vous. Sauf autorisation expresse de votre part, votre utilisation du Site ne nous accorde pas la licence d'utiliser, reproduire, adapter, modifier, publier ou distribuer le Contenu créé par vous ou stocké dans votre compte utilisateur à des fins commerciales, marketing ou similaires. Mais vous nous accordez la permission d'accéder, copier, distribuer, stocker, transmettre, reformater, afficher et exécuter le Contenu de votre compte utilisateur uniquement comme requis aux fins de vous fournir les Services. Sans limiter aucune de ces représentations ou garanties, nous avons le droit, mais pas l'obligation, à notre seule discrétion, de refuser ou de supprimer tout Contenu qui, selon notre opinion raisonnable, viole l'une de nos politiques ou est de quelque manière nuisible ou répréhensible.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Sauvegardes{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Nous effectuons des sauvegardes régulières du Site et du Contenu et ferons de notre mieux pour assurer l'exhaustivité et l'exactitude de ces sauvegardes. En cas de défaillance matérielle ou de perte de données, nous restaurerons automatiquement les sauvegardes pour minimiser l'impact et les temps d'arrêt.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Liens vers d'autres sites web{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}Bien que ce Site puisse contenir des liens vers d'autres sites web, nous n'impliquons, directement ou indirectement, aucune approbation, association, parrainage, endorsement ou affiliation avec tout site web lié, sauf mention contraire. Certains des liens sur le Site peuvent être des liens d'affiliation. Cela signifie que si vous cliquez sur le lien et achetez un article, l'Opérateur du Site recevra une commission d'affiliation. Nous ne sommes pas responsables de l'examen ou de l'évaluation, et nous ne garantissons pas les offres de toute entreprise ou individu ou le contenu de leurs sites web. Nous n'assumons aucune responsabilité ou obligation pour les actions, produits, services et contenus de tout autre tiers. Vous devez examiner attentivement les déclarations légales et autres conditions d'utilisation de tout site web auquel vous accédez via un lien à partir de ce Site. Votre lien vers tout autre site web externe se fait à vos propres risques.{$CLOSE_PARAGRAPH}{$START_HEADING_LEVEL5}Utilisations interdites{$CLOSE_HEADING_LEVEL5}{$START_PARAGRAPH}En plus des autres conditions énoncées dans l'Accord, il vous est interdit d'utiliser le Site ou son Contenu : (a) à toute fin illégale", + "login.title": "Bienvenue !", + "login.subtitle": "Connectez-vous pour continuer", + "login.input.username.label": "Nom d'utilisateur", + "login.input.username.placeholder": "Entrez votre nom d'utilisateur", + "login.input.password.label": "Mot de passe", + "login.input.password.placeholder": "Entrez votre mot de passe", + "login.link.forgotYourPassword": "{$START_TAG_SPAN}Mot de passe oublié ?{$CLOSE_TAG_SPAN}", + "login.button.login": "{$START_TAG_SPAN}Connexion{$CLOSE_TAG_SPAN}", + "login.input.username.error": "Le nom d'utilisateur est obligatoire", + "login.input.username.errorWrongFormat": "Le nom d'utilisateur est dans un format incorrect.", + "login.input.password.error": "{$START_TAG_SPAN} Le mot de passe est obligatoire {$CLOSE_TAG_SPAN}", + "checkBatchNumberResponse.success.text": "{$START_PARAGRAPH}{$START_TAG_SPAN}Super !{$CLOSE_TAG_SPAN}{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}Votre produit semble authentique !{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}Merci de contribuer à la lutte contre les contrefaçons.{$CLOSE_PARAGRAPH}", + "checkBatchNumberResponse.counterfeit.text": "{$START_PARAGRAPH}Il n'y a aucune information relative à ce numéro de lot. Veuillez vérifier que vous avez entré correctement le numéro de lot.{$CLOSE_PARAGRAPH}", + "checkBatchNumberResponse.modal.footer.button": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Réessayer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "checkBatchNumber.modal.label.batchNumber": "Numéro de lot", + "checkBatchNumber.modal.button.next": "{$START_TAG_SPAN}Suivant{$CLOSE_TAG_SPAN}", + "checkBatchNumber.modal.error.batchNumber": "Le numéro de lot est obligatoire", + "checkBatchNumber.modal.notProvided.authenticity": "La vérification d'authenticité n'est pas fournie", + "checkBatchNumber.modal.notProvided.origin": "La traçabilité de l'origine n'est pas fournie", + "checkBatchNumber.modal.label.expiryDate": "Date de péremption", + "checkBatchNumber.modal.select.expiryDate.month": "Mois", + "checkBatchNumber.modal.select.expiryDate.january": "Janvier", + "checkBatchNumber.modal.select.expiryDate.february": "Février", + "checkBatchNumber.modal.select.expiryDate.march": "Mars", + "checkBatchNumber.modal.select.expiryDate.april": "Avril", + "checkBatchNumber.modal.select.expiryDate.may": "Mai", + "checkBatchNumber.modal.select.expiryDate.june": "Juin", + "checkBatchNumber.modal.select.expiryDate.july": "Juillet", + "checkBatchNumber.modal.select.expiryDate.august": "Août", + "checkBatchNumber.modal.select.expiryDate.september": "Septembre", + "checkBatchNumber.modal.select.expiryDate.october": "Octobre", + "checkBatchNumber.modal.select.expiryDate.november": "Novembre", + "checkBatchNumber.modal.select.expiryDate.december": "Décembre", + "checkBatchNumber.modal.select.expiryDate.day": "Jour", + "checkBatchNumber.modal.select.expiryDate.year": "Année", + "checkBatchNumber.modal.label.productionDate": "Date de production", + "checkBatchNumber.modal.select.productionDate.month": "Mois", + "checkBatchNumber.modal.select.productionDate.january": "Janvier", + "checkBatchNumber.modal.select.productionDate.february": "Février", + "checkBatchNumber.modal.select.productionDate.march": "Mars", + "checkBatchNumber.modal.select.productionDate.april": "Avril", + "checkBatchNumber.modal.select.productionDate.may": "Mai", + "checkBatchNumber.modal.select.productionDate.june": "Juin", + "checkBatchNumber.modal.select.productionDate.july": "Juillet", + "checkBatchNumber.modal.select.productionDate.august": "Août", + "checkBatchNumber.modal.select.productionDate.september": "Septembre", + "checkBatchNumber.modal.select.productionDate.october": "Octobre", + "checkBatchNumber.modal.select.productionDate.november": "Novembre", + "checkBatchNumber.modal.select.productionDate.december": "Décembre", + "checkBatchNumber.modal.select.productionDate.day": "Jour", + "checkBatchNumber.modal.select.productionDate.year": "Année", + "checkBatchNumber.modal.required": "Tous les champs sont obligatoires", + "checkBatchNumber.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_NG_CONTAINER}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Vérifier{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$CLOSE_TAG_NG_CONTAINER}", + "checkBatchNumber.next.warning.title": "Erreur", + "checkBatchNumber.next.warning.message": "Une erreur s'est produite. Veuillez réessayer.", + "checkBatchNumber.counterfeitCase.warning.title": "Erreur", + "checkBatchNumber.counterfeitCase.warning.message": "Une erreur s'est produite. Veuillez réessayer.", + "checkBatchNumber.counterfeitCase2.warning.title": "Erreur", + "checkBatchNumber.counterfeitCase2.warning.message": "Une erreur s'est produite. Veuillez réessayer.", + "checkBatchNumber.showLocations.warning.title": "Erreur", + "checkBatchNumber.showLocations.warning.message": "Une erreur s'est produite. Veuillez réessayer.", + "checkBatchNumber.verifyAuthenticity.warning.title": "Erreur", + "checkBatchNumber.verifyAuthenticity.warning.message": "Une erreur s'est produite. Veuillez réessayer.", + "checkBatchNumber.modal.title": "Traçabilité de l'origine", + "productLabelFrontPage.unpublished": "{$INTERPOLATION}", + "productLabelFrontPage.app-section.standard": "Standard", + "productLabelFrontPage.title.productDescription": "Description du produit", + "productLabelFrontPage.app-section.product": "Produit", + "productLabelFrontPage.app-section.origin": "Origine", + "productLabelFrontPage.app-section.process": "Processus", + "productLabelFrontPage.app-section.production": "Production", + "productLabelFrontPage.app-section.certifications": "Certifications et Normes", + "productLabelFrontPage.app-section.responsibility": "Responsabilité sociale", + "productLabelFrontPage.app-section.laborPolicies": "Politiques de travail", + "productLabelFrontPage.app-section.FarmerName": "Nom de l'agriculteur ou de la communauté", + "productLabelFrontPage.app-section.farmerGroup": "Photos du groupe d'agriculteurs", + "productLabelFrontPage.app-section.story": "Histoire", + "productLabelFrontPage.app-section.sustainability": "Durabilité environnementale", + "productLabelFrontPage.app-section.packaging": "Emballage durable", + "productLabelFrontPage.app-section.footprint": "Empreinte carbone", + "productLabelFrontPage.app-section.company": "Entreprise", + "productLabelFrontPage.app-section.companyName": "Nom de l'entreprise", + "productLabelFrontPage.app-section.companyHeadquarters": "Siège social de l'entreprise", + "productLabelFrontPage.app-section.companyAbout": "À propos de l'entreprise", + "productLabelFrontPage.app-section.companyCEO": "Directeur / PDG", + "productLabelFrontPage.app-section.companyEmail": "E-mail", + "productLabelFrontPage.app-section.companyPhone": "Téléphone", + "productLabelFrontPage.app-section.companyWebPage": "Page Web", + "productLabelFrontPage.app-section.companySocial": "Réseaux sociaux", + "regiterActivation.title": "Activation du compte utilisateur", + "regiterActivation.p1": "Une vérification par e-mail a été envoyée à l'adresse e-mail indiquée. Veuillez vérifier votre e-mail.", + "regiterActivation.p2": "Après la vérification de l'e-mail, nous prendrons contact avec vous et activerons votre compte.", + "regiterActivation.button.GoToLogin": "{$START_TAG_SPAN}Aller à la connexion{$CLOSE_TAG_SPAN}", + "register.title": "Créer un compte", + "register.textinput.firstname.label": "Prénom", + "register.textinput.firstname.placeholder": "Entrez votre prénom", + "register.textinput.surname.label": "Nom", + "register.textinput.surname.placeholder": "Entrez votre nom", + "register.textinput.email.label": "E-mail", + "register.textinput.email.placeholder": "Entrez votre e-mail", + "register.textinput.password.label": "Mot de passe", + "register.textinput.password.placeholder": "Entrez votre mot de passe", + "register.link.alreadyRegistered": "{$START_TAG_SPAN}Déjà enregistré ? Connectez-vous{$CLOSE_TAG_SPAN}", + "register.button.register": "{$START_TAG_SPAN}S'inscrire{$CLOSE_TAG_SPAN}", + "register.textinput.firstname.error": "Le prénom est obligatoire", + "register.textinput.surname.error": "Le nom est obligatoire", + "register.textinput.email.errorRequired": "L'e-mail est obligatoire", + "register.textinput.password.error": "Le mot de passe doit contenir au moins 8 caractères", + "register.checkbox-input.error": "Vous devez accepter les conditions", + "register.checkbox-input.conditions.pretext": "Oui, j'accepte", + "register.checkbox-input.conditions.link": "vos conditions", + "register.error.userExists": "L'utilisateur existe déjà", + "register.error.somethingWentWrong": "Une erreur s'est produite lors de l'inscription", + "resetPasswordRequest.title": "Réinitialiser le mot de passe ?", + "resetPasswordRequest.subtitle": "Entrez l'adresse e-mail associée à votre compte, et nous vous enverrons un lien pour réinitialiser votre mot de passe.", + "resetPasswordRequest.textinput.email.label": "E-mail", + "resetPasswordRequest.textinput.email.placeholder": "Entrez votre e-mail", + "resetPasswordRequest.link.backToLogin": "{$START_TAG_SPAN}Retour à la connexion{$CLOSE_TAG_SPAN}", + "resetPasswordRequest.button.resetPassword": "{$START_TAG_SPAN}Réinitialiser le mot de passe{$CLOSE_TAG_SPAN}", + "resetPasswordRequest.emailSent": "Si un utilisateur avec cet e-mail existe dans notre système, un lien pour réinitialiser son mot de passe a été envoyé à cette adresse e-mail.", + "resetPassword.title": "Réinitialiser le mot de passe ?", + "resetPassword.textinput.password.label": "Mot de passe", + "resetPassword.textinput.password.placeholder": "Entrez un nouveau mot de passe", + "resetPassword.helperText": "Le mot de passe doit contenir au moins 8 caractères.", + "resetPassword.textinput.confirmPassword.label": "Confirmer le mot de passe", + "resetPassword.textinput.confirmPassword.placeholder": "Confirmer le mot de passe", + "resetPassword.link.backToLogin": "{$START_TAG_SPAN}Retour à la connexion{$CLOSE_TAG_SPAN}", + "resetPassword.button.resetPassword": "{$START_TAG_SPAN}Réinitialiser le mot de passe{$CLOSE_TAG_SPAN}", + "resetPassword.textinput.password.error": "{$START_TAG_SPAN} Le mot de passe doit contenir au moins 8 caractères. {$CLOSE_TAG_SPAN}", + "resetPassword.textinput.confirmPassword.error": "{$START_TAG_SPAN} Le mot de passe doit contenir au moins 8 caractères. {$CLOSE_TAG_SPAN}", + "resetPassword.textinput.confirmPassword.errorDoNotMatch": "{$START_TAG_SPAN} Les mots de passe ne correspondent pas. {$CLOSE_TAG_SPAN}", + "facilityTypeDetail.textinput.id.label": "Id", + "facilityTypeDetail.textinput.id.placeholder": "Entrez l'id", + "facilityTypeDetail.textinput.label.label": "Libellé", + "facilityTypeDetail.textinput.label.placeholder": "Entrez le libellé", + "collectorDetail.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "facilityTypeDetail.textinput.id.error": "L'Id ne doit contenir que des majuscules, chiffres et/ou underscores", + "facilityTypeDetail.textinput.id.errorRequired": "L'Id est obligatoire", + "facilityTypeDetail.textinput.label.error": "Le libellé est obligatoire", + "facilityTypeDetail.textinput.weight.label": "Poids (en kg)", + "facilityTypeDetail.textinput.weight.placeholder": "Entrez le poids", + "facilityTypeDetail.single-choice.underlyingMeasurementUnit.label": "Unité de mesure sous-jacente", + "productLabelProcessingAction.transactionType.label": "Type d'action", + "productLabelProcessingAction.evidenceFieldType.label": "Type", + "productLabelProcessingAction.singleChoice.type.error.required": "Le type est obligatoire", + "typeDetailModal.processingEvidenceType.checkbox.fairness": "Équité", + "typeDetailModal.processingEvidenceType.checkbox.provenance": "Provenance", + "typeDetailModal.processingEvidenceType.checkbox.quality": "Qualité", + "facilityTypeDetail.checkbox-input.fairness": "Équité", + "facilityTypeDetail.checkbox-input.provenance": "Provenance", + "facilityTypeDetail.checkbox-input.quality": "Qualité", + "processingEvidenceTypeType.document": "Document", + "processingEvidenceTypeType.field": "Champ", + "processingEvidenceTypeType.calculated": "Calculé", + "settingsPage.tab0.title": "Paramètres supplémentaires", + "settingsPage.tab1.title": "Types", + "settingsPage.newFacilityType.addTitle": "Ajouter un type d'installation", + "settingsPage.newMeasurementUnitType.addTitle": "Ajouter un type d'unité de mesure", + "settingsPage.newActionType.addTitle": "Ajouter un type d'action", + "settingsPage.newGradeAbbreviation.addTitle": "Ajouter une abréviation de grade", + "settingsPage.newProcessingEvidenceType.addTitle": "Ajouter un type de preuve de traitement", + "settingsPage.newProcessingEvidenceField.addTitle": "Ajouter un champ de preuve de traitement", + "settingsPage.newOrderEvidenceType.addTitle": "Ajouter un type de preuve de commande", + "settingsPage.title.additionalSettings": "Paramètres supplémentaires", + "settingsPage.unpublishedProductLabelText.save": "{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}", + "settingsPage.labelsHelperLink.label": "Informations supplémentaires pour les QR codes multiples (URL)", + "settingsPage.labelsHelperLink.placeholder": "Entrez l'URL", + "settingsPage.unpublishedProductLabelText.label": "Texte pour les produits non publiés", + "settingsPage.unpublishedProductLabelText.placeholder": "Entrez le texte", + "settingsTypes.tableCol.edit": "Modifier", + "settingsTypes.tableCol.view": "Voir", + "settingsTypes.tableCol.delete": "Supprimer", + "settingsTypes.noTypes": "Aucun type trouvé", + "settingsTypes.sortOptions.id.name": "Id", + "settingsTypes.sortOptions.label.name": "Libellé", + "settingsTypes.sortOptions.actions.name": "Actions", + "settingsTypes.sortOptions.label.type": "Type", + "settingsTypes.sortOptions.fairness.name": "Équité", + "settingsTypes.sortOptions.provenance.name": "Provenance", + "settingsTypes.sortOptions.quality.name": "Qualité", + "settingsTypes.typeList.title.facility": "Types d'installations", + "settingsTypes.typeList.title.measurement": "Types d'unités de mesure", + "settingsTypes.typeList.title.actions": "Types d'actions", + "settingsTypes.typeList.title.grades": "Abréviations de grades", + "settingsTypes.typeList.title.processingEvidenceTypes": "Types de preuves de traitement", + "settingsTypes.typeList.title.processingEvidenceFields": "Champs de preuves de traitement", + "settingsTypes.typeList.title.orderEvidenceTypes": "Types de preuves de commande", + "settingsTypes.typeList.title.semiProducts": "Semi-produits", + "settingsTypes.editFacilityType.editTitle": "Modifier le type d'installation", + "settingsTypes.editMeasurementUnitType.editTitle": "Modifier le type d'unité de mesure", + "settingsTypes.editActionType.editTitle": "Modifier le type d'action", + "settingsTypes.editGradeAbbreviation.editTitle": "Modifier l'abréviation de grade", + "settingsTypes.editProcessingEvidenceType.editTitle": "Modifier le type de preuve de traitement", + "settingsTypes.editProcessingEvidenceField.editTitle": "Modifier le champ de preuve de traitement", + "settingsTypes.editOrderEvidenceType.editTitle": "Modifier le type de preuve de commande", + "settingsTypes.editSemiProduct.editTitle": "Modifier le semi-produit", + "settingsTypes.remove.warning.message": "Êtes-vous sûr de vouloir supprimer {$PH} ?", + "settingsPage.title.facilityType": "Types d'installations", + "settingsPage.button.newFacilityType": "{$START_TAG_SPAN}+ Ajouter{$CLOSE_TAG_SPAN}", + "settingsPage.subTitle.listOfFacilitiesTypes": "Liste des types d'installations", + "settingsPage.subTitle.showingFacilitiesTypes": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "settingsPage.title.measurementUnitTypes": "Types d'unités de mesure", + "settingsPage.button.newMeasurementUnitType": "{$START_TAG_SPAN}+ Ajouter{$CLOSE_TAG_SPAN}", + "settingsPage.subTitle.listOfMeasurementUnitTypes": "Liste des types d'unités de mesure", + "settingsPage.subTitle.showingMeasurementUnitTypes": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "settingsPage.title.processingEvidenceType": "Types de preuves de traitement", + "settingsPage.title.processingEvidenceFields": "Champs de preuves de traitement", + "settingsPage.button.newProcessingEvidenceType": "{$START_TAG_SPAN}+ Ajouter{$CLOSE_TAG_SPAN}", + "settingsPage.button.newProcessingEvidenceField": "{$START_TAG_SPAN}+ Ajouter{$CLOSE_TAG_SPAN}", + "settingsPage.subTitle.listOfProcessingEvidenceType": "Liste des types de preuves de traitement", + "settingsPage.subTitle.showingProcessingEvidenceType": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "settingsPage.subTitle.listOfProcessingEvidenceField": "Liste des champs de preuves de traitement", + "settingsPage.subTitle.showingProcessingEvidenceField": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "settingsPage.title.semiProducts": "Semi-produits", + "settingsPage.subTitle.listOfSemiProducts": "Liste des semi-produits", + "settingsPage.subTitle.showingSemiProducts": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "settingsPage.newSemiProducts.addTitle": "Ajouter un nouveau semi-produit", + "userDetail.section.basicInfo": "Informations de base", + "userDetail.textinput.firstname.label": "Prénom", + "userDetail.textinput.firstname.placeholder": "Entrez votre prénom", + "userDetail.textinput.lastname.label": "Nom", + "userDetail.textinput.lastname.placeholder": "Entrez votre nom", + "userDetail.textinput.username.label": "Nom d'utilisateur", + "userDetail.button.reset": "Réinitialiser le mot de passe", + "userDetail.section.userLanguage": "Langue de l'utilisateur", + "userDetail.textinput.userSelectedLanguage.label": "Sélectionnée", + "userDetail.textinput.userAvailableLanguage.label": "Disponible", + "userDetail.myCompanies.label": "Mes entreprises", + "userDetail.adminView.companies.label": "Entreprises de l'utilisateur", + "userDetail.button.back": "Retour", + "userDetail.button.save": "Enregistrer", + "userDetail.textinput.firstname.error": "Le prénom est obligatoire", + "userDetail.textinput.lastname.error": "Le nom est obligatoire", + "userDetail.button.confirmUserEmail": "Confirmer l'email de l'utilisateur", + "userDetail.myCompanies.noCompanies": "{$START_TAG_DIV}Aucune entreprise{$CLOSE_TAG_DIV}", + "userDetail.title.edit": "Modifier mon profil", + "userDetail.adminView.title.edit": "Modifier le profil utilisateur", + "userDetail.warning.message": "Êtes-vous sûr de vouloir changer votre entreprise sélectionnée pour {$PH} ?", + "userDetail.showPassReqSentModal.message": "Êtes-vous sûr de vouloir envoyer une demande de mot de passe à {$PH}", + "userDetail.confirmEmail.error.title": "Erreur !", + "userDetail.confirmEmail.error.message": "Impossible de confirmer l'email de l'utilisateur.", + "userDetail.role.user": "Utilisateur", + "userDetail.role.manager": "Manager", + "userDetail.role.accountant": "Comptable", + "userDetail.role.admin": "Admin", + "welcomeScreen.modal.title": "Félicitations !", + "welcomeScreen.modal.bodyTodal.subtitle": "Vous vous êtes inscrit avec succès à {$INTERPOLATION} et vous êtes sur la voie de la transparence pour de meilleurs résultats pour votre entreprise !", + "welcomeScreen.modal.bodyText": "{$START_PARAGRAPH}La prochaine étape consiste à vérifier votre compte. Veuillez suivre les instructions dans l'email que vous avez reçu pour préparer la documentation nécessaire à la vérification de votre compte et de votre entreprise afin que ce processus soit aussi efficace que possible.{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}Vous pouvez également commencer à préparer votre profil en complétant vos informations personnelles ainsi qu'en ajoutant les informations de votre entreprise. Ces informations seront obligatoires une fois votre compte vérifié. Mais pour accélérer le processus, vous pouvez le faire maintenant.{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}Si votre entreprise fait déjà partie de {$INTERPOLATION}, complétez vos informations personnelles et vous serez ajouté à votre entreprise. Vous n'avez pas besoin d'ajouter une nouvelle entreprise.{$CLOSE_PARAGRAPH}{$START_PARAGRAPH}Si vous avez besoin d'aide, vous pouvez nous contacter via le chat de support (bouton vert en bas à droite) ou par email {$START_LINK}info@inatrace.org{$CLOSE_LINK}.{$CLOSE_PARAGRAPH}", + "welcomeScreen.modal.button.profile": "{$START_TAG_SPAN}Compléter votre profil{$CLOSE_TAG_SPAN}", + "welcomeScreen.modal.button.logout": "{$START_TAG_SPAN}Déconnexion{$CLOSE_TAG_SPAN}", + "welcomeScreen.modal.button.addCompany": "{$START_TAG_SPAN}Ajouter une entreprise{$CLOSE_TAG_SPAN}", + "welcomeScreen.modal.button.editCompany": "{$START_TAG_SPAN}Modifier l'entreprise{$CLOSE_TAG_SPAN}", + "selectUserCompany.modal.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "selectUserCompany.title": "Sélectionner une entreprise", + "selectUserCompany.instructionsHtml": "Sélectionnez une entreprise avec laquelle vous souhaitez continuer :", + "selectUserCompany.modal.userHasNoCompanies.message": "Actuellement, vous n'avez aucune entreprise assignée. Contactez votre administrateur.", + "selectUserCompany.modal.button.logout": "Déconnexion", + "homePage.button.showMeProducts": "Afficher les produits", + "userList.title.users": "Utilisateurs", + "userList.subTitle.listOfUsers": "Liste des utilisateurs", + "userList.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "userList.filter.showActive": "Afficher les actifs", + "userList.filter.showDeactivated": "Afficher les désactivés", + "userList.filter.showConfirmed": "Afficher les emails confirmés", + "userList.filter.showUnconfirmed": "Afficher les non confirmés", + "userList.filter.showSystemAdmin": "Afficher les administrateurs système", + "userList.filter.showRegionalAdmin": "Afficher les administrateurs régionaux", + "userList.filter.showedUsers": "Afficher l'utilisateur", + "userList.filter.showMyUsers": "Afficher mes utilisateurs", + "userList.filter.showStatus": "Afficher {$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "userList.filter.showRole": "Afficher {$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "userList.filter.myUsers": "Mes utilisateurs {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "userList.tableCol.edit": "Modifier", + "userList.tableCol.activate": "Activer", + "userList.tableCol.deactivate": "Désactiver", + "userList.tableCol.setSystemAdmin": "Définir Admin système", + "userList.tableCol.unsetSystemAdmin": "Retirer Admin système", + "userList.tableCol.setRegionalAdmin": "Définir Admin régional", + "userList.tableCol.unsetRegionalAdmin": "Retirer Admin régional", + "userList.noUsers": "Aucun utilisateur", + "userList.unauthorized": "Non autorisé à voir la liste des utilisateurs.", + "userList.somethingWentWrong": "Une erreur s'est produite lors du chargement des utilisateurs.", + "userList.sortOptions.name.name": "Nom", + "userList.sortOptions.surname.name": "Prénom", + "userList.sortOptions.email.name": "E-mail", + "userList.sortOptions.role.name": "Rôle", + "userList.sortOptions.status.name": "Statut", + "userList.sortOptions.actions.name": "Actions", + "userList.statusList.all": "Tous", + "userList.statusList.unconfirmed": "Non confirmé", + "userList.statusList.comfirmedEmail": "Email confirmé", + "userList.statusList.active": "Actif", + "userList.statusList.deactiveted": "Désactivé", + "userList.roleList.all": "Tous", + "userList.roleList.user": "Utilisateur", + "userList.roleList.admin": "Administrateur", + "userList.activate.error.title": "Erreur !", + "userList.activate.error.message": "Impossible d'activer l'utilisateur.", + "userList.deactivate.error.title": "Erreur !", + "userList.deactivate.error.message": "Impossible de désactiver l'utilisateur.", + "userList.editUser.error.title": "Erreur", + "userList.editUser.error.message": "Non autorisé. Impossible de modifier l'utilisateur.", + "userList.setAdmin.error.title": "Erreur", + "userList.setAdmin.error.message": "Impossible de modifier le rôle de l'utilisateur.", + "frontPage.privacy.title": "Politique de confidentialité", + "frontPage.terms.title": "Conditions d'utilisation", + "companyDetailTranslate.section0.translations": "Version anglaise", + "companyDetailTranslate.textinput.companyName.label": "Nom de l'entreprise (EN)", + "companyDetailTranslate.textinput.companyName.placeholder": "Entrez le nom de l'entreprise", + "companyDetailTranslate.textinput.companyAbbreviation.label": "Abréviation de l'entreprise (EN)", + "companyDetailTranslate.textinput.companyAbbreviation.placeholder": "Entrez une abréviation de 3 à 6 caractères", + "companyDetailTranslate.textinput.companyAbout.label": "À propos de l'entreprise (EN)", + "companyDetailTranslate.textinput.companyAbout.helpText": "{$START_TAG_DIV}{$START_TAG_SPAN} Requis {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}{$START_TAG_DIV_1}{$START_TAG_SPAN} Le texte dépasse le nombre maximal de caractères autorisés {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}", + "companyDetailTranslate.textinput.companyInterview.label": "Interview (EN)", + "companyDetailTranslate.textinput.companyInterview.helpText": "Décrivez brièvement votre entreprise - déclaration RP. (max 2000 caractères)", + "companyDetailTranslate.textinput.companyWebPage.label": "URL du site web (EN)", + "companyDetailTranslate.textinput.companyWebPage.placeholder": "Entrez l'URL du site web", + "companyDetailTranslate.textinput.facebook.label": "URL Facebook (EN)", + "companyDetailTranslate.textinput.facebook.placeholder": "Entrez l'URL Facebook", + "companyDetailTranslate.textinput.instagram.label": "URL Instagram (EN)", + "companyDetailTranslate.textinput.instagram.placeholder": "Entrez l'URL Instagram", + "companyDetailTranslate.textinput.twitter.label": "URL Twitter (EN)", + "companyDetailTranslate.textinput.twitter.placeholder": "Entrez l'URL Twitter", + "companyDetailTranslate.textinput.youtube.label": "URL YouTube (EN)", + "companyDetailTranslate.textinput.youtube.placeholder": "Entrez l'URL YouTube", + "companyDetailTranslate.textinput.other.label": "Autre URL (EN)", + "companyDetailTranslate.textinput.other.placeholder": "Entrez une autre URL", + "companyDetailTranslate.list-editor.videos.label": "Vidéos", + "companyDetailTranslate.list-editor.videos.addText": "Ajouter", + "companyDetailTranslate.list-editor.certificationsAndStandards.label": "Certifications", + "companyDetailTranslate.list-editor.certificationsAndStandards.addText": "Ajouter", + "companyDetailTranslate.list-editor.productionRecord.label": "Enregistrements de production", + "companyDetailTranslate.list-editor.productionRecord.addText": "Ajouter", + "companyDetailTranslate.list-editor.meetTheFarmer.label": "Rencontrez les agriculteurs", + "companyDetailTranslate.list-editor.meetTheFarmer.addText": "Ajouter", + "companyDetailTranslate.section1.translations": "Version allemande", + "companyDetailTranslate.textinput.companyName.label.de": "Nom de l'entreprise (DE)", + "companyDetailTranslate.textinput.companyName.placeholder.de": "Entrez le nom de l'entreprise", + "companyDetailTranslate.textinput.companyAbbreviation.label.de": "Abréviation de l'entreprise (DE)", + "companyDetailTranslate.textinput.companyAbbreviation.placeholder.de": "Entrez une abréviation de 3 à 6 caractères", + "companyDetailTranslate.textinput.companyAbout.label.de": "À propos de l'entreprise (DE)", + "companyDetailTranslate.textinput.companyAbout.helpText.de": "Décrivez brièvement votre entreprise et son histoire. Incluez la mission, la vision et les valeurs fondamentales. (max 2000 caractères)", + "companyDetailTranslate.textinput.companyInterview.label.de": "Interview (DE)", + "companyDetailTranslate.textinput.companyInterview.helpText.de": "Décrivez brièvement votre entreprise - déclaration RP. (max 2000 caractères)", + "companyDetailTranslate.textinput.companyWebPage.label.de": "URL du site web (DE)", + "companyDetailTranslate.textinput.companyWebPage.placeholder.de": "Entrez l'URL du site web", + "companyDetailTranslate.textinput.facebook.label.de": "URL Facebook (DE)", + "companyDetailTranslate.textinput.facebook.placeholder.de": "Entrez l'URL Facebook", + "companyDetailTranslate.textinput.instagram.label.de": "URL Instagram (DE)", + "companyDetailTranslate.textinput.instagram.placeholder.de": "Entrez l'URL Instagram", + "companyDetailTranslate.textinput.twitter.label.de": "URL Twitter (DE)", + "companyDetailTranslate.textinput.twitter.placeholder.de": "Entrez l'URL Twitter", + "companyDetailTranslate.textinput.youtube.label.de": "URL YouTube (DE)", + "companyDetailTranslate.textinput.youtube.placeholder.de": "Entrez l'URL YouTube", + "companyDetailTranslate.textinput.other.label.de": "Autre URL (DE)", + "companyDetailTranslate.textinput.other.placeholder.de": "Entrez une autre URL", + "companyDetailTranslate.list-editor.videos.label.de": "Vidéos (DE)", + "companyDetailTranslate.list-editor.videos.addText.de": "Ajouter", + "companyDetailTranslate.list-editor.certificationsAndStandards.label.de": "Certifications (DE)", + "companyDetailTranslate.list-editor.certificationsAndStandards.addText.de": "Ajouter", + "companyDetailTranslate.list-editor.productionRecord.label.de": "Enregistrements de production (DE)", + "companyDetailTranslate.list-editor.productionRecord.addText.de": "Ajouter", + "companyDetailTranslate.list-editor.meetTheFarmer.label.de": "Rencontrez les agriculteurs (DE)", + "companyDetailTranslate.list-editor.meetTheFarmer.addText.de": "Ajouter", + "companyDetailTranslate.bottom-buttons.save": "{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}", + "companyDetailTranslate.list-editor.videos.title": "Vidéo", + "companyDetailTranslate.list-editor.certificationsAndStandards.title": "Certification", + "companyDetailTranslate.list-editor.productionRecord.title": "Enregistrement de production", + "companyDetailTranslate.list-editor.meetTheFarmer.title": "Rencontrez l'agriculteur", + "companyDetailTranslate.textinput.companyAbbreviation.errorLength": "{$START_TAG_SPAN} L'abréviation peut être vide ou contenir 3-6 caractères {$CLOSE_TAG_SPAN}", + "companyDetailTranslate.textinput.companyAbout.errors": "{$START_TAG_DIV}{$START_TAG_SPAN} Requis {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}{$START_TAG_DIV_1}{$START_TAG_SPAN} Limite maximale de caractères dépassée {$CLOSE_TAG_SPAN}{$CLOSE_TAG_DIV}", + "companyDetailTranslate.list-editor.videos.title.de": "Vidéo", + "companyDetailTranslate.list-editor.certificationsAndStandards.title.de": "Certification", + "companyDetailTranslate.list-editor.productionRecord.title.de": "Enregistrement de production", + "companyDetailTranslate.list-editor.meetTheFarmer.title.de": "Rencontrez l'agriculteur", + "companyDetailTranslateTranslate.title.edit": "Traductions de l'entreprise", + "companyDetailUsers.title.edit": "Utilisateurs de l'entreprise", + "companyDetailFacilities.title.edit": "Installations de l'entreprise", + "companyDetailTranslate.saveCompany.error.title": "Erreur", + "companyDetailTranslate.saveCompany.error.message": "Erreurs sur la page. Veuillez vérifier !", + "companyDetailProcessingActions.title": "Actions de traitement", + "companyDetailProcessingActions.subTitle.listOfProcessingActions": "Liste des actions de traitement", + "companyDetailProcessingActions.subTitle.showingProcessingActions": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "companyDetailProcessingActions.title.new": "Nouvelle action de traitement", + "companyDetailProcessingActions.title.edit": "Modifier l'action de traitement", + "companyDetailProcessingActions.section0.translations": "Informations de base", + "companyDetailProcessingActions.singleChoice.valueChain.label": "Chaine de valeur", + "companyDetailProcessingActions.singleChoice.valueChain.error.required": "La chaine de valeur est requise", + "companyDetailProcessingActions.singleChoice.type.label": "Type", + "companyDetailProcessingActions.singleChoice.type.error.required": "Le type est requis", + "companyDetailProcessingActions.singleChoice.type.quote": "Devis", + "companyDetailProcessingActions.singleChoice.type.processing": "Traitement", + "companyDetailProcessingActions.singleChoice.type.finalProcessing": "Traitement final", + "companyDetailProcessingActions.singleChoice.type.transfer": "Transfert", + "companyDetailProcessingActions.singleChoice.type.generateQrCode": "Générer QR code", + "companyDetailProcessingActions.singleChoice.semiProduct.label": "Sélectionner un semi-produit", + "companyDetailProcessingActions.singleChoice.semiProduct.error.required": "Le semi-produit est requis", + "companyDetailProcessingActions.singleChoice.finalProduct.label": "Sélectionner un produit final", + "companyDetailProcessingActions.singleChoice.qrCodeForFinalProduct.label": "QR code pour produit final", + "companyDetailProcessingActions.singleChoice.finalProduct.error.required": "Le produit final est requis", + "companyDetailProcessingActions.singleChoice.qrCodeForFinalProduct.error.required": "Le QR code pour produit final est requis", + "companyDetailProcessingActions.singleChoice.inputSemiProduct.label": "Sélectionner un semi-produit d'entrée", + "companyDetailProcessingActions.singleChoice.inputSemiProduct.error.required": "Le semi-produit d'entrée est requis", + "companyDetailProcessingActions.outputSemiProducts.title": "Semi-produits de sortie", + "companyDetailProcessingActions.outputSemiProducts.select.label": "Sélectionner un semi-produit de sortie", + "companyDetailProcessingActions.outputSemiProducts.error.atLeastOneIsRequired": "Au moins un semi-produit de sortie est requis", + "companyDetailProcessingActions.outputSemiProducts.field.repackedOutput.label": "Reconditionné", + "companyDetailProcessingActions.outputSemiProducts.field.maxOutputWeight.label": "Poids max de sortie", + "companyDetailProcessingActions.outputSemiProducts.warning.onlyOneAllowed": "Un seul semi-produit de sortie est autorisé lorsque 'Sorties reconditionnées' est sélectionné.", + "companyDetailProcessingActions.singleChoice.outputFinalProduct.label": "Sélectionner un produit final de sortie", + "companyDetailProcessingActions.singleChoice.outputFinalProduct.error.required": "Le produit final de sortie est requis", + "companyDetailProcessingActions.singleChoice.repackedOutputFinalProducts.label": "Sorties reconditionnées", + "companyDetailProcessingActions.singleChoice.repackedOutputFinalProducts.yes": "Oui", + "companyDetailProcessingActions.singleChoice.repackedOutputFinalProducts.no": "Non", + "companyDetailProcessingActions.singleChoice.finalProductAction.label": "Contient un produit final ?", + "companyDetailProcessingActions.singleChoice.finalProductAction.yes": "Oui", + "companyDetailProcessingActions.singleChoice.finalProductAction.no": "Non", + "companyDetailProcessingActions.singleChoice.finalProductAction.error.required": "L'action produit final est requise", + "companyDetailProcessingActions.field.maxOutputWeight.label": "Quantité max de sortie en {$PH}", + "companyDetailProcessingActions.field.maxOutputWeight.placeholder": "Entrez la quantité max de sortie", + "companyDetailProcessingActions.field.maxOutputWeight.error": "Poids de sortie max incorrect.", + "companyDetailProcessingActions.textInput.estimatedOutputQuantity.label": "Quantité estimée de sortie par", + "companyDetailProcessingActions.textInput.estimatedOutputQuantity.placeholder": "Entrez la quantité estimée de sortie", + "companyDetailProcessingActions.textInput.prefix.label": "Préfixe de nom de lot interne", + "companyDetailProcessingActions.textInput.prefix.helpText": "Entrez un préfixe", + "companyDetailProcessingActions.textInput.prefix.error": "Le préfixe saisi est invalide", + "companyDetailProcessingActions.section1.translations": "Traductions", + "companyDetailProcessingActions.hint.translations": "Spécifiez le nom en anglais et ajoutez des traductions pour toutes les langues utilisées.", + "companyDetailProcessingActions.textInput.name.label": "Nom du processus", + "companyDetailProcessingActions.textInput.name.helpText": "Entrez un nom", + "companyDetailProcessingActions.textInput.name.error": "Le nom saisi est invalide.", + "companyDetailProcessingActions.textInput.description.label": "Description", + "companyDetailProcessingActions.textInput.description.helpText": "Entrez une brève description de l'action de traitement.", + "companyDetailProcessingActions.textInput.description.error": "La description saisie est invalide.", + "companyDetailProcessingActions.textInput.publicTimelineLabel.label": "Libellé public de timeline", + "companyDetailProcessingActions.textInput.publicTimelineLabel.helpText": "Entrez un libellé de timeline", + "companyDetailProcessingActions.textInput.publicTimelineLabel.error": "Le libellé public de timeline est invalide.", + "companyDetailProcessingActions.section2.translations": "Champs de preuve de traitement", + "companyDetailProcessingActions.hint.processingEvidenceFields": "Ajoutez des champs de preuve de traitement qui doivent être spécifiés après l'exécution de cette action de traitement.", + "companyDetailProcessingActions.hint.processingEvidenceFields.checkBox": "obligatoire / requis sur devis", + "companyDetailProcessingActions.textInput.search-field.processingEvidenceFields.placeholder": "Sélectionnez des champs de preuve...", + "companyDetailProcessingActions.section3.translations": "Documents de preuve de traitement", + "companyDetailProcessingActions.hint.processingEvidenceDocuments": "Ajoutez des documents de preuve de traitement qui doivent être spécifiés après l'exécution de cette action de traitement.", + "companyDetailProcessingActions.hint.processingEvidenceDocuments.checkBox": "obligatoire / requis sur devis / requis dans un groupe sur devis", + "companyDetailProcessingActions.textInput.search-field.processingEvidenceDocuments.placeholder": "Sélectionnez un document de preuve...", + "companyDetailProcessingActions.hint.selectValueChain": "Veuillez sélectionner une chaîne de valeur", + "companyDetailProcessingActions.button.cancel": "Annuler", + "companyDetailProcessingActions.button.save": "Enregistrer", + "companyDetailProcessingActions.supportedFacilities": "Installations où ce processus commence", + "companyDetailProcessingActions.hint.supportedFacilities": "Ajoutez les installations où cette action de traitement commence", + "processingEvidenceField.input.placeholder": "Sélectionnez un champ de preuve", + "breadCrumb.cookiesPage.home": "Accueil", + "breadCrumb.cookiesPage.cookiePolicy": "Politique de cookies", + "breadCrumb.privacyPage.home": "Accueil", + "breadCrumb.privacyPage.privacyPolicy": "Politique de confidentialité", + "breadCrumb.termsAndConditionsPage.home": "Accueil", + "breadCrumb.termsAndConditionsPage.termsAndConditions": "Conditions générales", + "breadCrumb.KnowledgeBlogFrontComponent.home": "Accueil", + "breadCrumb.KnowledgeBlogFrontComponent.knowledgeBlog": "Blog", + "cookies.cookieBanner.segmentWithButton": "{$START_PARAGRAPH}Cookies sur cette page{$CLOSE_PARAGRAPH}{$START_PARAGRAPH_1}Le site utilise des cookies à diverses fins. Certains sont essentiels au fonctionnement des services en ligne. Cependant, les cookies d'analyse et de paramétrage améliorent l'expérience utilisateur et facilitent l'utilisation du site.{$CLOSE_PARAGRAPH}{$START_PARAGRAPH_1}Vous pouvez en savoir plus sur les cookies dans {$START_LINK}Cookies{$CLOSE_LINK}. En continuant à utiliser le site, vous acceptez les cookies. Vous pouvez modifier vos {$START_LINK}paramètres de cookies ici{$CLOSE_LINK}.{$CLOSE_PARAGRAPH}{$START_TAG_DIV}{$START_LINK_1}{$START_TAG_SPAN}OK{$CLOSE_TAG_SPAN}{$CLOSE_LINK}{$CLOSE_TAG_DIV}", + "tokenInterceptor.login.message": "Nom d'utilisateur ou mot de passe incorrect", + "tokenInterceptor.login.title": "Erreur", + "tokenInterceptor.logout.message": "Votre session a expiré", + "tokenInterceptor.logout.title": "Erreur", + "tokenInterceptor.403.message": "Accès non autorisé", + "tokenInterceptor.403.title": "Erreur", + "tokenInterceptor.400.title": "Erreur de communication !", + "tokenInterceptor.other.message": "Veuillez recharger la page.", + "tokenInterceptor.other.title": "Erreur de communication !", + "tokenInterceptor.catch.message": "Veuillez recharger la page.", + "tokenInterceptor.catch.title": "Erreur de communication !", + "productLabelFrontFeedback.modal.title": "Donnez votre avis", + "productLabelFrontFeedback.modal.body.textinput.text.label": "Les producteurs de {$INTERPOLATION} attendent vos commentaires (ce que vous aimez/n'aimez pas)", + "productLabelFrontFeedback.modal.body.textinput.feedback.small": "Décrivez en 500 caractères maximum.", + "productLabelFrontFeedback.modal.body.questions": "Veuillez également répondre aux questions suivantes :", + "productLabelFrontFeedback.modal.body.taste": "1. Comment évaluez-vous le goût de {$INTERPOLATION} par rapport aux autres produits que vous consommez ?", + "productLabelFrontFeedback.checkbox-input.filterCoffee": "Café filtre", + "productLabelFrontFeedback.checkbox-input.espresso": "Machine à espresso", + "productLabelFrontFeedback.checkbox-input.frenchPress": "Cafetière à piston", + "productLabelFrontFeedback.checkbox-input.fullyAutomatic": "Machine entièrement automatique", + "productLabelFrontFeedback.checkbox-input.stovetop": "Cafetière italienne", + "productLabelFrontFeedback.modal.body.textinput.other.label": "Autre", + "productLabelFrontFeedback.modal.body.textinput.age.label": "2. Votre âge", + "productLabelFrontFeedback.modal.body.textinput.age.placeholder": "Entrez votre âge", + "productLabelFrontFeedback.modal.body.gender": "3. Genre", + "productLabelFrontFeedback.modal.body.textinput.email.label": "Si vous souhaitez une réponse de notre part, veuillez fournir votre adresse e-mail", + "productLabelFrontFeedback.modal.body.textinput.email.placeholder": "Entrez votre e-mail", + "productLabelFrontFeedback.modal.body.permissioToContact": "Autorisation de contact", + "productLabelFrontFeedback.checkbox-input.gdprConsent": "Consentement RGPD", + "productLabelFrontFeedback.modal.body.textinput.feedback.errorMaxLength": "Le commentaire ne doit pas dépasser 500 caractères.", + "productLabelFrontFeedback.modal.body.textinput.email.error": "Format d'e-mail incorrect", + "productLabelFrontFeedback.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Envoyer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelFrontFeedback.statusList.registred": "Éloge", + "productLabelFrontFeedback.statusList.active": "Suggestion", + "productLabelFrontFeedback.statusList.deactivated": "Plainte", + "customerDetail.ageCodes.male": "Homme", + "customerDetail.ageCodes.female": "Femme", + "customerDetail.ageCodes.na": "N/A", + "customerDetail.tasteCodes.better": "Meilleur", + "customerDetail.tasteCodes.same": "Pareil", + "customerDetail.tasteCodes.worse": "Pire", + "formatProcessingActionType.processing": "Traitement", + "formatProcessingActionType.finalProcessing": "Traitement final", + "formatProcessingActionType.quote": "Devis", + "formatProcessingActionType.transfer": "Transfert", + "formatProcessingActionType.generateQrCode": "Générer QR code", + "version.appVersion": "Version de l'application : {$INTERPOLATION}", + "stockOrderAvailability.available": "Disponible", + "stockOrderAvailability.notAvailable": "Non disponible", + "ui.textinputModal.close.label": "Fermer", + "compDocItem.textinput.farmerName.label": "Nom de l'agriculteur", + "compDocItem.textinput.farmerDescription.label": "Description de l'agriculteur", + "compDocItem.textinput.description.label": "Description", + "compDocItem.textinput.videoDescription.label": "Description vidéo", + "compDocItem.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers : PNG, JPG et JPEG.", + "compDocItem.farmer.attachment-uploader.label": "Photo de l'agriculteur", + "compDocItem.farmer.attachment-uploader.content": "Télécharger une photo", + "compDocItem.farmer.attachment-uploader.error": "{$START_TAG_SPAN} Une photo de l'agriculteur est requise {$CLOSE_TAG_SPAN}", + "compDocItem.attachment-uploader.label": "Photo", + "compDocItem.attachment-uploader.content": "Télécharger une photo", + "compDocItem.attachment-uploader.error": "{$START_TAG_SPAN} Une photo est requise {$CLOSE_TAG_SPAN}", + "compDocItem.textinput.link.label": "Lien", + "compDocItem.textinput.quote.label": "Citation", + "generalCodes.input.placehoder": "Sélectionnez parmi les codes...", + "genericEditableItem.save.error.title": "Erreurs ou entrées incomplètes !", + "genericEditableItem.save.error.message": "Vérifiez et corrigez les données.", + "genericEditableItem.cancel.warning.okButtonText": "Abandonner les modifications", + "genericEditableItem.cancel.warning.cancelButtonText": "Retour", + "genericEditableItem.cancel.warning.title": "Modifications non enregistrées !", + "userBox.dropdown.home": "Accueil", + "userBox.dropdown.products": "Produits", + "userBox.dropdown.userProfile": "Profil utilisateur", + "userBox.dropdown.companyProfile": "Profil entreprise", + "userBox.dropdown.logout": "Déconnexion", + "userBox.dropdown.aboutApp": "À propos", + "productLabel.sideTitle.orders": "Commandes", + "productLabel.sideTitle.stock": "Mon stock", + "productLabel.sideTitle.qrLabels": "Étiquettes QR", + "productLabel.sideTitle.knowledgeBlog": "Blog de connaissances", + "productLabel.sideTitle.stakeholders": "Parties prenantes", + "productLabel.sideTitle.finalProducts": "Produits finis", + "productLabel.sideTitle.farmers": "Agriculteurs", + "productLabel.sideTitle.collectors": "Collecteurs", + "productLabel.sideTitle.customers": "Clients", + "companyLeftPanel.farmers": "Agriculteurs", + "companyLeftPanel.collectors": "Collecteurs", + "companyLeftPanel.customers": "Clients", + "productLabelOrder.tab0.title": "Commandes reçues", + "productLabelOrder.tab1.title": "Commandes passées", + "productLabelStock.tab0.title": "Livraisons", + "productLabelStock.tab1.title": "Traitement", + "productLabelStock.tab2.title": "Paiements", + "productLabelStock.tab3.title": "Configuration", + "productLabelStock.tab4.title": "Tout le stock", + "productLabelStakeholders.tab0.title": "Chaîne de valeur", + "productLabelStakeholders.tab1.title": "Collecteurs", + "productLabelStakeholders.tab2.title": "Agriculteurs", + "productLabelStakeholders.tab3.title": "Clients", + "productLabel.sideTitle.archiveProduct": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON} Archiver le produit", + "userBox.dropdown.system": "Système", + "systemLeftPanel.sideTitle.companies": "Entreprises", + "systemLeftPanel.sideTitle.users": "Utilisateurs", + "systemLeftPanel.sideTitle.settings": "Paramètres", + "productLabel.deleteCurrentProduct.warning.message": "Êtes-vous sûr de vouloir supprimer ce produit ? Cela supprimera également toutes les étiquettes et lots associés !", + "productLabel.deleteCurrentProduct.success.title": "Supprimé", + "productLabel.deleteCurrentProduct.success.message": "Le produit a été supprimé avec succès", + "productLabel.deleteCurrentProduct.error.title": "Erreur", + "productLabel.deleteCurrentProduct.error.message": "Impossible de supprimer le produit. Veuillez réessayer.", + "enumSifrant.placeholder": "Sélectionnez une option...", + "generalSifrant.input.placehoder": "Sélectionnez une option...", + "stockOrderTypePipe.quoteOrder": "DEV", + "stockOrderTypePipe.processingOrder": "TRA", + "stockOrderTypePipe.purchaseOrder": "ACH", + "stockOrderTypePipe.salesOrder": "VEN", + "stockOrderTypePipe.transferOrder": "TRF", + "utsil.dateAndTimeFormatter.at": "{$PH} à {$PH_1}", + "lastSeenTag.lastChange": "{$START_PARAGRAPH}{$INTERPOLATION} {$LINE_BREAK}mis à jour le {$INTERPOLATION_1} à {$INTERPOLATION_2}{$CLOSE_PARAGRAPH}", + "activeProducts.input.placehoder": "Tapez le nom du produit...", + "activeValueChain.input.placehoder": "Tapez le nom de la chaîne de valeur...", + "productLabel.sideTitle.productSettings": "Paramètres du produit", + "productLabelLeftPanelContent.title": "Produit", + "front-page.footer.termsOfUse": "Conditions d'utilisation", + "front-page.footer.privacyPolicy": "Politique de confidentialité", + "front-page.footer.copyright": "Copyright © 2023 INATrace.", + "front-page.footer.allrightsreserved": "Tous droits réservés.", + "deactivateGuard.message": "Les modifications que vous avez apportées ne seront pas enregistrées. Voulez-vous continuer ?", + "wayOfPaymentPipe.cash": "Espèces", + "wayOfPaymentPipe.bank": "Banque", + "wayOfPaymentPipe.cashViaCooperative": "Espèces via coopérative", + "wayOfPaymentPipe.cashViaCollector": "Espèces via collecteur", + "wayOfPaymentPipe.bankTransfer": "Virement bancaire", + "wayOfPaymentPipe.unknown": "Inconnu", + "ui.tagList.opozorilo.niIzbir": "Aucun choix disponible !", + "frontPage.header.tab.journey": "parcours", + "frontPage.header.tab.fair-prices": "prix équitables", + "frontPage.header.tab.producers": "producteurs", + "frontPage.header.tab.quality": "qualité", + "frontPage.header.tab.feedback": "retour", + "bottomButoms.button.back": "{$START_TAG_SPAN}Retour{$CLOSE_TAG_SPAN}", + "bottomButoms.button.validationCheck": "{$START_TAG_SPAN}Vérification de validation{$CLOSE_TAG_SPAN}", + "bottomButoms.button.donwloadPDF": "Télécharger la demande en PDF", + "bottomButoms.button.completeApplication": "Compléter la demande", + "bottomButoms.button.save": "Enregistrer", + "bottomButoms.button.floatingSave": "Enregistrer", + "bottomButoms.button.floatingValidate": "Vérification de validation", + "bottomButoms.button.submit": "Soumettre", + "bottomButoms.message.onSubmit": "Voulez-vous soumettre une demande ?", + "bottomButoms.back.error.title": "Modifications non enregistrées !", + "bottomButoms.back.error.message": "Le formulaire contient des modifications non enregistrées qui seront perdues.", + "bottomButoms.validate.error.title": "Saisie invalide ou manquante !", + "bottomButoms.validate.error.message": "Vérifiez et corrigez la saisie", + "bottomButoms.submit.warning.title": "Enregistrez les données !", + "bottomButoms.submit.warning.message": "Veuillez enregistrer les données avant de continuer", + "bottomButoms.submit.error.title": "Saisie invalide ou manquante !", + "bottomButoms.submit.error.message": "Vérifiez et corrigez la saisie", + "semiProductInFacility.input.placehoder": "Sélectionner SKU", + "activeCompanyCustomersByOrganization.input.placehoder": "Sélectionner ...", + "gradeAbbreviation codebook.input.placehoder": "Sélectionner le grade", + "activeFacilityForOrganizationAndSemiProduct.input.placehoder": "Sélectionner l'établissement", + "stockOrderFieldTranslations.grade": "Grade", + "stockOrderFieldTranslations.lotExportNumber": "Numéro d'exportation du lot", + "stockOrderFieldTranslations.pricePerUnit": "Prix par unité", + "stockOrderFieldTranslations.screenSize": "Taille de tamis", + "stockOrderFieldTranslations.lotLabel": "Étiquette du lot", + "stockOrderFieldTranslations.startOfDrying": "Début de séchage", + "stockOrderFieldTranslations.clientName": "Nom du client", + "stockOrderFieldTranslations.certificates": "Certificats", + "stockOrderFieldTranslations.prefillOutputFacility": "Pré-remplir l'établissement de sortie", + "stockOrderFieldTranslations.transactionType": "Type de transaction", + "stockOrderFieldTranslations.flavourProfile": "Profil de saveur", + "productLabelProcessingAction.newProcessingAction.field.customer": "Client", + "productLabelProcessingAction.newProcessingAction.field.customer.placeholder": "Choisir un client", + "productLabelProcessingAction.newProcessingAction.field.customer.requiredMessage": "Le client est requis", + "productLabelProcessingAction.newProcessingAction.field.pricePerUnit": "Prix (RWF) / kg pour le Producteur", + "productLabelProcessingAction.newProcessingAction.field.pricePerUnit.placeholder": "Entrer le prix (RWF) / kg pour le Producteur", + "productLabelProcessingAction.newProcessingAction.field.pricePerUnit.requiredMessage": "Le prix est requis", + "productLabelProcessingAction.newProcessingAction.field.grade": "Grade", + "productLabelProcessingAction.newProcessingAction.field.grade.requiredMessage": "Le grade est requis", + "productLabelProcessingAction.newProcessingAction.field.lotExternalNumber": "Numéro de lot d'exportation", + "productLabelProcessingAction.newProcessingAction.field.lotExternalNumber.placeholder": "Entrer le numéro de lot d'exportation", + "productLabelProcessingAction.newProcessingAction.field.lotExternalNumber.requiredMessage": "Le numéro de lot d'exportation est requis", + "productLabelProcessingAction.newProcessingAction.field.screenSize": "Taille de tamis", + "productLabelProcessingAction.newProcessingAction.field.screenSize.placeholder": "Entrer la taille de tamis", + "productLabelProcessingAction.newProcessingAction.field.screenSize.requiredMessage": "La taille de tamis est requise", + "productLabelProcessingAction.newProcessingAction.field.lotLabel": "Étiquette du lot", + "productLabelProcessingAction.newProcessingAction.field.lotLabel.placeholder": "Entrer l'étiquette du lot", + "productLabelProcessingAction.newProcessingAction.field.lotLabel.requiredMessage": "L'étiquette du lot est requise", + "productLabelProcessingAction.newProcessingAction.field.startOfDrying": "Début de séchage", + "productLabelProcessingAction.newProcessingAction.field.startOfDrying.placeholder": "Entrer la date", + "productLabelProcessingAction.newProcessingAction.field.startOfDrying.requiredMessage": "Le début de séchage est requis", + "productLabelProcessingAction.newProcessingAction.field.clientName": "Nom du client", + "productLabelProcessingAction.newProcessingAction.field.clientName.requiredMessage": "Le nom du client est requis", + "productLabelProcessingAction.newProcessingAction.field.certificatesIds": "Certificats", + "productLabelProcessingAction.newProcessingAction.field.flavourProfile": "Profil de saveur", + "productLabelProcessingAction.newProcessingAction.field.flavourProfile.placeholder": "Entrer le profil de saveur", + "productLabelProcessingAction.newProcessingAction.field.flavourProfile.requiredMessage": "Le profil de saveur est requis", + "productLabelProcessingAction.newProcessingAction.field.requiredWomensCoffee": "Café réservé aux femmes requis", + "productLabelProcessingAction.newProcessingAction.field.requiredQuality": "Qualité requise", + "productLabelProcessingAction.newProcessingAction.field.requiredQuality.requiredMessage": "La qualité est requise", + "productLabelProcessingAction.newProcessingAction.field.triggerOrder": "Déclencher les commandes", + "productLabelProcessingAction.newProcessingAction.field.triggerOrder.requiredMessage": "Au moins une commande déclenchée est requise", + "productLabelProcessingAction.newProcessingAction.field.triggerOrder.placeholder": "Taper pour rechercher ...", + "productLabelProcessingAction.newProcessingAction.field.womenShare": "Part des femmes", + "productLabelProcessingAction.newProcessingAction.field.priceOwner": "Prix (USD) / kg pour le Propriétaire", + "productLabelProcessingAction.newProcessingAction.field.priceOwner.placeholder": "Entrer le prix", + "productLabelProcessingAction.newProcessingAction.field.priceOwner.requiredMessage": "Le prix est requis", + "productLabelProcessingAction.newProcessingAction.field.priceBuyer": "Prix (EUR) / kg pour l'Acheteur", + "productLabelProcessingAction.newProcessingAction.field.priceBuyer.placeholder": "Entrer le prix", + "productLabelProcessingAction.newProcessingAction.field.priceBuyer.requiredMessage": "Le prix est requis", + "productLabelProcessingAction.newProcessingAction.field.rateBuyer": "Taux de change pour l'Acheteur (1 EUR = X RWF)", + "productLabelProcessingAction.newProcessingAction.field.rateBuyer.placeholder": "Entrer le taux", + "productLabelProcessingAction.newProcessingAction.field.rateBuyer.requiredMessage": "Le taux est requis", + "productLabelProcessingAction.newProcessingAction.field.priceEndCustomer": "Prix (EUR) / kg pour le Client final", + "productLabelProcessingAction.newProcessingAction.field.priceEndCustomer.placeholder": "Entrer le prix", + "productLabelProcessingAction.newProcessingAction.field.priceEndCustomer.requiredMessage": "Le prix est requis", + "productLabelProcessingAction.newProcessingAction.field.rateEndCustomer": "Taux de change pour le Client final (1 EUR = X RWF)", + "productLabelProcessingAction.newProcessingAction.field.rateEndCustomer.placeholder": "Entrer le taux", + "productLabelProcessingAction.newProcessingAction.field.rateEndCustomer.requiredMessage": "Le taux est requis", + "productLabelProcessingAction.newProcessingAction.field.cuppingResult": "Résultats de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingResult.placeholder": "Entrer le résultat de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingResult.requiredMessage": "Le résultat de dégustation est requis", + "productLabelProcessingAction.newProcessingAction.field.cuppingGrade": "Score de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingGrade.placeholder": "Entrer le score de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingGrade.requiredMessage": "Le score de dégustation est requis", + "productLabelProcessingAction.newProcessingAction.field.cuppingFlavour": "Saveur de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingFlavour.placeholder": "Entrer la saveur de dégustation", + "productLabelProcessingAction.newProcessingAction.field.cuppingFlavour.requiredMessage": "La saveur de dégustation est requise", + "productLabelProcessingAction.newProcessingAction.field.roastingDate": "Date de torréfaction", + "productLabelProcessingAction.newProcessingAction.field.roastingDate.placeholder": "Entrer la date de torréfaction", + "productLabelProcessingAction.newProcessingAction.field.roastingDate.requiredMessage": "La date est requise", + "productLabelProcessingAction.newProcessingAction.field.roastingProfile": "Profil de torréfaction", + "productLabelProcessingAction.newProcessingAction.field.roastingProfile.placeholder": "Entrer le profil de torréfaction", + "productLabelProcessingAction.newProcessingAction.field.roastingProfile.requiredMessage": "La date est requise", + "productLabelProcessingAction.newProcessingAction.field.shipperDetails": "Détails de l'expéditeur", + "productLabelProcessingAction.newProcessingAction.field.shipperDetails.placeholder": "Entrer les détails de l'expéditeur", + "productLabelProcessingAction.newProcessingAction.field.shipperDetails.requiredMessage": "Les détails de l'expéditeur sont requis", + "productLabelProcessingAction.newProcessingAction.field.carrierDetails": "Détails du transporteur", + "productLabelProcessingAction.newProcessingAction.field.carrierDetails.placeholder": "Entrer les détails du transporteur", + "productLabelProcessingAction.newProcessingAction.field.carrierDetails.requiredMessage": "Les détails du transporteur sont requis", + "productLabelProcessingAction.newProcessingAction.field.portOfLoading": "Port de chargement", + "productLabelProcessingAction.newProcessingAction.field.portOfLoading.placeholder": "Entrer le port de chargement", + "productLabelProcessingAction.newProcessingAction.field.portOfLoading.requiredMessage": "Le port de chargement est requis", + "productLabelProcessingAction.newProcessingAction.field.portOfDischarge": "Port de déchargement", + "productLabelProcessingAction.newProcessingAction.field.portOfDischarge.placeholder": "Entrer le port de déchargement", + "productLabelProcessingAction.newProcessingAction.field.portOfDischarge.requiredMessage": "Le port de déchargement est requis", + "productLabelProcessingAction.newProcessingAction.field.LocationOfEndDelivery": "Lieu de livraison finale", + "productLabelProcessingAction.newProcessingAction.field.LocationOfEndDelivery.requiredMessage": "Le lieu est requis", + "productLabelProcessingAction.newProcessingAction.field.shippedAtDateFromOriginPort": "Date d'expédition depuis le port d'origine", + "productLabelProcessingAction.newProcessingAction.field.shippedAtDateFromOriginPort.requiredMessage": "La date est requise", + "productLabelProcessingAction.newProcessingAction.field.arrivedAtDateToDestinationPort": "Date d'arrivée au port de destination", + "productLabelProcessingAction.newProcessingAction.field.arrivedAtDateToDestinationPort.requiredMessage": "La date est requise", + "productLabelProcessingAction.newProcessingAction.document.billOfLading": "Connaissement", + "productLabelProcessingAction.newProcessingAction.document.ceparPayingSlip": "Bordereau de paiement CEPAR", + "productLabelProcessingAction.newProcessingAction.document.ClientInformation": "Informations client", + "productLabelProcessingAction.newProcessingAction.document.cuppingFormReport": "Rapport de formulaire de dégustation", + "productLabelProcessingAction.newProcessingAction.document.deliveryNoteToBuyer": "Bon de livraison à l'acheteur", + "productLabelProcessingAction.newProcessingAction.document.deliveryNoteToNAEB": "Bon de livraison à NAEB", + "productLabelProcessingAction.newProcessingAction.document.deliveryNoteToRoaster": "Bon de livraison au torréfacteur", + "productLabelProcessingAction.newProcessingAction.document.drainageLabel": "Étiquette de drainage", + "productLabelProcessingAction.newProcessingAction.document.exportDoc1QualityCertificate": "Doc. export 1 - Certificat de qualité", + "productLabelProcessingAction.newProcessingAction.document.exportDoc2PhitosanityCertificate": "Doc. export 2 - Certificat phytosanitaire", + "productLabelProcessingAction.newProcessingAction.document.exportDoc3WeightNote": "Doc. export 3 - Note de poids", + "productLabelProcessingAction.newProcessingAction.document.exportDoc4OriginCertificate": "Doc. export 4 - Certificat d'origine", + "productLabelProcessingAction.newProcessingAction.document.exportLotNumberDoc": "Numéro de lot d'exportation", + "productLabelProcessingAction.newProcessingAction.document.fairtradeCertificate": "Certificat Fairtrade", + "productLabelProcessingAction.newProcessingAction.document.fermentationLabel": "Étiquette de fermentation", + "productLabelProcessingAction.newProcessingAction.document.handSortingSheet": "Feuille de tri manuel", + "productLabelProcessingAction.newProcessingAction.document.hullingReport": "Rapport de décorticage", + "productLabelProcessingAction.newProcessingAction.document.invoiceBuyerToCustomer": "Facture : Acheteur -> Client", + "productLabelProcessingAction.newProcessingAction.document.invoiceOwnerToBuyer": "Facture : Propriétaire -> Acheteur", + "productLabelProcessingAction.newProcessingAction.document.invoiceProducerToOwner": "Facture : Producteur -> Propriétaire", + "productLabelProcessingAction.newProcessingAction.document.invoiceRoasterToOwner": "Facture : Torréfacteur -> Propriétaire", + "productLabelProcessingAction.newProcessingAction.document.invoiceShipperToOwner": "Facture : Expéditeur -> Propriétaire", + "productLabelProcessingAction.newProcessingAction.document.invoiceStorageToOwner": "Facture : Stockage -> Propriétaire", + "productLabelProcessingAction.newProcessingAction.document.lotLabel": "Étiquette de lot", + "productLabelProcessingAction.newProcessingAction.document.purchaseSheet": "Bon d'achat", + "productLabelProcessingAction.newProcessingAction.document.roastingOrder": "Commande de torréfaction", + "productLabelProcessingAction.newProcessingAction.document.sampleDeliveryNote": "Bon de livraison d'échantillon", + "productLabelProcessingAction.newProcessingAction.document.sampleDialogue": "Dialogue d'échantillon", + "productLabelProcessingAction.newProcessingAction.document.stockLedger": "Registre de stock", + "productLabelProcessingAction.newProcessingAction.document.weightArrivalHullingStation": "Note de poids à l'arrivée à la station de décorticage", + "productLabelProcessingAction.newProcessingAction.document.weightTicketAtNAEB": "Ticket de pesage à NAEB", + "productLabelPurchaseOrder.tableCol.edit": "Modifier", + "productLabelPurchaseOrder.tableCol.view": "Voir", + "productLabelPurchaseOrder.tableCol.payment": "Ajouter un paiement de solde", + "productLabelPurchaseOrder.tableCol.farmerProfile": "Profil du producteur", + "productLabelPurchaseOrder.tableCol.delete": "Supprimer", + "productLabelPurchaseOrder.noOrders": "Aucune commande trouvée", + "productLabelPurchaseOrder.sortOptions.deliveryDate.name": "Date de livraison", + "productLabelPurchaseOrder.sortOptions.production.name": "Date de production", + "productLabelPurchaseOrder.sortOptions.identifier.name": "Identifiant", + "productLabelPurchaseOrder.sortOptions.orderType.name": "Type", + "productLabelPurchaseOrder.sortOptions.farmer.name": "Producteur", + "productLabelPurchaseOrder.sortOptions.semiProduct.name": "Semi-produit", + "productLabelPurchaseOrder.sortOptions.quantity.name": "Quantité", + "productLabelPurchaseOrder.sortOptions.quantityFiledAvailable.name": "Quantité / Rempli / Disponible", + "productLabelPurchaseOrder.sortOptions.unit.name": "Unité", + "productLabelPurchaseOrder.sortOptions.payable.name": "Payable / Solde", + "productLabelPurchaseOrder.sortOptions.deliveryTime.name": "Date de livraison", + "productLabelPurchaseOrder.sortOptions.lastChange.name": "Date de dernière modification", + "productLabelPurchaseOrder.sortOptions.status.name": "Statut", + "productLabelPurchaseOrder.sortOptions.wayOfPayment.name": "Mode de paiement", + "productLabelPurchaseOrder.sortOptions.actions.name": "Actions", + "productLabelPurchaseOrder.sortOptions.sacNumber.name": "Nombre de sacs", + "productLabelPurchaseOrder.deleteProcessingOrder.gettingProcessingOrder.error.message": "Une erreur s'est produite lors de la suppression.", + "productLabelPurchaseOrder.deleteProcessingOrder.error.message": "Êtes-vous sûr de vouloir supprimer la commande ? Cela supprimera la transaction de traitement et potentiellement toutes les commandes générées à partir de celle-ci.", + "productLabelPurchaseOrder.delete.error.message": "Êtes-vous sûr de vouloir supprimer la commande ?", + "productLabelPurchaseOrder.aggregated.title": "Quantités totalisées", + "productLabelPurchaseOrder.aggregated.totalQuantity": "Quantité totale", + "productLabelPurchaseOrder.aggregated.totalAmountPaid": "Montant total payé", + "customerOrderView.tab0.title": "Détails de la commande", + "customerOrderView.tab1.title": "Discussions", + "customerOrderView.tab2.title": "Explorateur F-P-Q", + "orderLeftPanel.lineLabel.orderId": "ID de commande", + "orderLeftPanel.lineLabel.customer": "Client", + "orderLeftPanel.lineLabel.producer": "Producteur", + "orderLeftPanel.lineLabel.latestDelivery": "Dernière livraison", + "orderLeftPanel.lineTitle.productsOrderd": "Produits commandés (SKU)", + "orderLeftPanel.lineLabel.quantity": "Quantité", + "orderLeftPanel.lineLabel.womensOnly": "Réservé aux femmes", + "orderLeftPanel.lineLabel.quantityValue": "Qualité", + "orderLeftPanel.badge.onTime": "À l'heure", + "orderLeftPanel.badge.late": "En retard", + "orderLeftPanelContent.title": "Commande", + "customerOrderDetail.title.orderDetails": "Détails de la commande", + "customerOrderDetail.title.documentation": "Documentation", + "customerOrderDetails.subtitle.label.fairness": "F - Équité", + "customerOrderDetails.subtitle.label.provenance": "P - Provenance", + "customerOrderDetails.subtitle.label.quality": "Q - Qualité", + "customerOrderDetails.subtitle.label.payments": "Paiements", + "customerOrderDetails.lineLabel.producer": "Producteur", + "customerOrderDetails.lineLabel.product": "Produit", + "customerOrderDetails.lineLabel.quantity": "Quantité", + "customerOrderDetails.lineLabel.quality": "Qualité", + "customerOrderDetails.lineLabel.cuppingForms": "Formulaires de dégustation", + "customerOrderDetails.lineLabel.samplingNote": "Note d'échantillonnage", + "customerOrderDetails.lineLabel.womenShare": "Part des femmes", + "customerOrderDetails.label.manageQRCodes": "Gérer les codes QR", + "orderHistoryView.title.batchHistory": "Historique du lot", + "orderHistoryView.history.legend": "Légende :", + "orderHistoryView.history.requiredPresent": "{$START_TAG_SPAN}requis dans le processus - présent{$CLOSE_TAG_SPAN}", + "orderHistoryView.history.requiredMissing": "{$START_TAG_SPAN}requis dans le processus - manquant{$CLOSE_TAG_SPAN}", + "orderHistoryView.history.additionalDocument": "{$START_TAG_SPAN}document supplémentaire dans le processus{$CLOSE_TAG_SPAN}", + "orderHistoryView.history.requiredOnQuotePresent": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON} requis sur le devis - présent", + "orderHistoryView.history.requiredOnQuoteMissing": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON} requis sur le devis - manquant", + "orderHistoryView.history.requiredOnQuoteOneOfPresent": "{$START_TAG_DIV}G1 {$CLOSE_TAG_DIV} un des documents requis sur le devis dans le groupe G1 présent", + "orderHistoryView.history.requiredOnQuoteOneOfMissing": "{$START_TAG_DIV}G1 {$CLOSE_TAG_DIV} tous les documents requis sur le devis dans le groupe G1 manquants", + "orderHistoryView.title.history": "Historique", + "orderHistoryView.thisOrder.notice": "cette commande", + "orderHistoryView.processingOrderName.corruptedHistory": "Historique corrompu - action de traitement supprimée", + "orderHistoryView.processingOrderName.purchase": "Livraisons", + "orderHistoryView.history.timelineItem.numberOfSacs.label": "Nombre de sacs :", + "orderHistoryView.history.timelineItem.procEvidenceDocuments.title": "Documents de preuve de traitement", + "orderHistoryView.history.timelineItem.otherEvidenceDocuments.title": "Autres documents de preuve", + "actionTypesService.input.placehoder": "Sélectionner le type de transaction", + "activeProcessingAction.input.placehoder": "Sélectionner l'action de traitement", + "productLabelStockProcessingOrderDetail.pricePerUnit.textinput.error": "Prix par unité requis", + "processingEvidenceItem.datepicker.date.label": "Date", + "processingEvidenceItem.label.type": "Type", + "processingEvidenceItem.attachment-uploader.allowedMimeTypeErrorMessage": "Télécharger uniquement les types de fichiers : PNG, JPG et PDF.", + "processingEvidenceItem.attachment-uploader.label": "Document (JPG, PNG, PDF)", + "processingEvidenceItem.attachment-uploader.content": "Télécharger le document", + "processingEvidenceItem.datepicker.date.error": "La date est requise", + "processingEvidenceItem.textinput.type.error": "Le type est requis", + "processingEvidenceItem.attachment-uploader.error": "{$START_TAG_SPAN} Le document est requis {$CLOSE_TAG_SPAN}", + "productLabelStockProcessingOrderDetail.section.processing": "Choisissez l'activité que vous souhaitez enregistrer", + "productLabelStockProcessingOrderDetail.section.orderDetails": "Détails de la commande", + "productLabelStockProcessingOrderDetail.processingActionForm.label": "Traitement", + "productLabelStockProcessingOrderDetail.qrCodeForFinalProduct.label": "Code QR pour le produit final", + "productLabelStockProcessingOrderDetail.section.input": "Matière à enregistrer", + "productLabelStockProcessingOrderDetail.section.supplierDetails": "Détails du fournisseur", + "productLabelStockProcessingOrderDetail.section.output.commonFieldsSectionTitle": "Résultats de l'enregistrement", + "productLabelStockProcessingOrderDetail.section.output.outputsSectionTitle": "Sorties de ce traitement", + "productLabelStockProcessingOrderDetail.section.output.button.addAdditionalOutput": "Ajouter une sortie supplémentaire", + "productLabelStockProcessingOrderDetail.section.processingEvidence": "Preuve de traitement", + "productLabelStockProcessingOrderDetail.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelStockProcessingOrderDetail.processingActionForm.error": "L'action est requise", + "productLabelStockProcessingOrderDetail.inputFacilityForm.label": "Établissement", + "productLabelStockProcessingOrderDetail.inputFacilityForm.error": "L'établissement d'entrée est requis", + "productLabelStockProcessingOrderDetail.filterSemiProduct.label": "Sélectionner un semi-produit", + "productLabelStockProcessingOrderDetail.datepicker.date.from": "De", + "productLabelStockProcessingOrderDetail.datepicker.date.to": "À", + "productLabelStockProcessingOrderDetail.button.search": "Rechercher", + "productLabelStockProcessingOrderDetail.datepicker.date.error": "La date de livraison est requise", + "productLabelStockProcessingOrderDetail.filter": "Filtrer", + "productLabelStockProcessingOrderDetail.filter.womensOnlyCoffee": "Café réservé aux femmes", + "productLabelStockProcessingOrderDetail.filter.nonWomensOnlyCoffee": "Café non réservé aux femmes", + "productLabelStockProcessingOrderDetail.filter.organicOnlyCoffee": "Café biologique uniquement", + "productLabelStockProcessingOrderDetail.filter.nonOrganicOnlyCoffee": "Café conventionnel", + "productLabelStockProcessingOrderDetail.icon.womensCoffee.title": "Café des femmes", + "productLabelStockProcessingOrderDetail.icon.organicCoffee.title": "Café biologique", + "productLabelStockProcessingOrderDetail.addNewTransactions": "Ajouter de nouvelles transactions", + "productLabelStockProcessingOrderDetail.checkbox.selectAll": "Tout sélectionner ({$INTERPOLATION})", + "productLabelStockProcessingOrderDetail.noStock": "Aucun stock pertinent pour ajouter des transactions dans l'établissement", + "productLabelStockProcessingOrderDetail.inputSemiProducts.error": "Au moins un semi-produit d'entrée est requis", + "productLabelStockProcessingOrderDetail.datepicker.date.processingDate": "Date de traitement", + "productLabelStockProcessingOrderDetail.datepicker.date.orderDate": "Date de commande", + "productLabelStockProcessingOrderDetail.outputsSemiProductForm.label": "Type de semi-produit", + "productLabelStockProcessingOrderDetail.outputsSemiProductForm.error": "Le semi-produit de sortie est requis", + "productLabelStockProcessingOrderDetail.textinput.finalProductType.label": "Type de produit final", + "productLabelStockProcessingOrderDetail.textinput.comments.label": "Commentaires", + "productLabelStockProcessingOrderDetail.orderID.label": "ID de commande :", + "productLabelStockProcessingOrderDetail.outputFacilityForm.label": "Établissement", + "productLabelStockProcessingOrderDetail.outputFacilityForm.error": "L'établissement de sortie est requis", + "productLabelStockProcessingOrderDetail.textinput.orderId.label": "ID de commande", + "productLabelStockProcessingOrderDetail.textinput.orderId.placeholder": "Entrer l'ID de commande", + "productLabelStockProcessingOrderDetail.textinput.lotPrefix.label": "Préfixe", + "productLabelStockProcessingOrderDetail.textinput.internalLotNumber.label": "Nom interne du lot", + "productLabelStockProcessingOrderDetail.textinput.internalLotNumber.placeholder": "Entrer le nom interne du lot", + "productLabelStockProcessingOrderDetail.internalLotNumber.textinput.error": "Le nom interne du lot est requis", + "productLabelStockProcessingOrderDetail.datepicker.processingDate.error": "La date de traitement est requise", + "productLabelStockProcessingOrderDetail.textinput.remainingQuantityLabelWithUnits.label": "Quantité restante en {$PH}", + "productLabelStockProcessingOrderDetail.textinput.totalOutputQuantityLabelWithUnits.label": "Quantité totale de sortie en {$PH}", + "productLabelStockProcessingOrderDetail.textinput.totalOrderedQuantityLabelWithUnits.label": "Quantité totale commandée en {$PH}", + "productLabelStockProcessingOrderDetail.textinput.outputQuantity.placeholder": "Entrer la quantité", + "productLabelStockProcessingOrderDetail.textinput.outputQuantity.expectedOutputHelpText": "Plage de quantité de sortie attendue :", + "productLabelStockProcessingOrderDetail.outputQuantity.textinput.error.required": "La quantité est requise", + "productLabelStockProcessingOrderDetail.outputQuantity.textinput.error.requiredOnQuote": "Entrer la quantité de sortie souhaitée", + "productLabelStockProcessingOrderDetail.outputQuantity.textinput.error.notAllOutputQuantityIsUsed": "La quantité de sortie entrée n'est pas complètement utilisée", + "productLabelStockProcessingOrderDetail.outputQuantity.textinput.error.notInExpectedRange": "La quantité de sortie n'est pas dans la plage attendue", + "productLabelStockProcessingOrderDetail.outputQuantityDesiredFirst.textinput.error": "Entrer d'abord la quantité de sortie souhaitée", + "productLabelStockProcessingOrderDetail.totalOutputQuantity.textinput.error.quantityTooLarge": "La quantité de sortie dépasse la quantité d'entrée. Souhaitez-vous continuer ?", + "productLabelStockProcessingOrderDetail.invalidFormat.textinput.error": "Format de nombre invalide", + "productLabelStockProcessingOrderDetail.checkbox.useInput.label": "Utiliser l'entrée", + "productLabelStockProcessingOrderDetail.checkbox.clipOrder.label": "Limiter la quantité d'entrée", + "productLabelStockProcessingOrderDetail.textinput.preferedDeliveryDate.label": "Date de livraison préférée", + "productLabelStockProcessingOrderDetail.preferedDeliveryDate.textinput.error": "La date de livraison préférée est requise", + "productLabelStockProcessingOrderDetail.outputStockOrders.outputs.label": "Sorties", + "productLabelStockProcessingOrderDetail.outputStockOrders.add": "{$START_TAG_SPAN}+{$CLOSE_TAG_SPAN}", + "productLabelStockProcessingOrderDetail.outputStockOrders.prefill": "{$START_TAG_SPAN}Préremplir{$CLOSE_TAG_SPAN}", + "productLabelStockProcessingOrderDetail.textinput.sacNumber": "Numéro de sac", + "productLabelStockProcessingOrderDetail.textinput.sacNumber.required.error": "Le numéro de sac est requis", + "productLabelStockProcessingOrderDetail.textinput.quantity.max.error": "L'entrée dépasse la valeur maximale", + "productLabelStockProcessingOrderDetail.textinput.quantity.required.error": "La quantité est requise", + "productLabelStockProcessingOrderDetail.outputs.atLeastOne.error": "Au moins un champ non vide est requis", + "productLabelStockProcessingOrderDetail.label.type": "Type", + "productLabelStockProcessingOrderDetail.attachment-uploader.allowedMimeTypeErrorMessage": "Télécharger uniquement les types de fichiers : PNG, JPG et JPEG.", + "productLabelStockProcessingOrderDetail.attachment-uploader.label": "Document (JPG, PNG, PDF)", + "productLabelStockProcessingOrderDetail.attachment-uploader.content": "Télécharger le document", + "productLabelStockProcessingOrderDetail.attachment-uploader.error": "{$START_TAG_SPAN} Le document est requis {$CLOSE_TAG_SPAN}", + "productLabelStockProcessingOrderDetail.list-editor.processingEvidence.label": "Autres documents de preuve", + "productLabelStockProcessingOrderDetail.list-editor.processingEvidence.addText": "Ajouter un document", + "productLabelStockProcessingOrderDetail.section.certificationId": "Certificats", + "productLabelStockProcessingOrderDetail.section.certificationId.label": "Certificats", + "productLabelStockProcessingOrderDetail.section.certificationId.addText": "Ajouter un document", + "roductLabelStockProcessingOrderDetail.section.certificationId.title": "Certification", + "productLabelStockProcessingOrderDetail.updateQuoteOrderTitle": "Mettre à jour la commande existante", + "productLabelStockProcessingOrderDetail.fulfillQuoteOrderTitle": "Exécuter la commande", + "productLabelStockProcessingOrderDetail.updateTransferTitle": "Mettre à jour l'action de transfert", + "productLabelStockProcessingOrderDetail.updateProcessingTitle": "Mettre à jour l'action de traitement", + "productLabelStockProcessingOrderDetail.updateFinalProcessingTitle": "Mettre à jour l'action de traitement final", + "productLabelStockProcessingOrderDetail.newQuoteOrderTitle": "Passer une nouvelle commande", + "productLabelStockProcessingOrderDetail.newTransferTitle": "Ajouter une action de transfert", + "productLabelStockProcessingOrderDetail.newProcessingTitle": "Ajouter une nouvelle action de traitement", + "productLabelStockProcessingOrderDetail.newFinalProcessingTitle": "Ajouter une action de traitement final", + "productLabelStockProcessingOrderDetail.womensOnlyStatus.womenCoffee": "Café des femmes", + "productLabelStockProcessingOrderDetail.womensOnlyStatus.nonWomenCoffee": "Café non réservé aux femmes", + "productLabelStockProcessingOrderDetail.organicOnlyStatus.organicCoffee": "Café biologique", + "productLabelStockProcessingOrderDetail.organicOnlyStatus.nonOrganicCoffee": "Café conventionnel", + "productLabelStockProcessingOrderDetail.itemNetWeightLabel": "Quantité (max. {$PH} {$PH_1})", + "productLabelStockProcessingOrderDetail.textinput.inputQuantityLabelWithUnits.label": "Quantité d'entrée en {$PH}", + "productLabelStockProcessingOrderDetail.textinput.fulfilledQuantityLabelWithUnits.label": "Quantité fournie par le fournisseur en {$PH}", + "productLabelStockProcessingOrderDetail.textinput.outputQuantityLabelWithUnits.label": "Quantité de sortie en", + "productLabelStockProcessingOrderDetail.textinput.orderedQuantityLabelWithUnits.label": "Quantité commandée en", + "productLabelStockProcessingFacilityList.noFacilities": "Aucun établissement", + "productLabelStock.title.processingOrders": "Actions de traitement", + "productLabelStock.button.newProcessingOrders": "{$START_TAG_SPAN}+ Ajouter une action de traitement{$CLOSE_TAG_SPAN}", + "productLabelStock.title.processingOrders.facilitySelectedTitle": "Liste des établissements", + "productLabelStock.title.processingOrders.facility.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.tab.notAuth": "Non autorisé à voir le contenu.", + "breadCrumb.processing.myStock": "Mon stock", + "breadCrumb.processing.order": "Commande de traitement", + "activeFacilityTypes.input.placehoder": "Sélectionner le type d'établissement", + "productLabelStockFacilityModal.section.basicInfo": "Informations de base", + "productLabelStockFacilityModal.textinput.name.label": "Nom de l'établissement", + "productLabelStockFacilityModal.textinput.name.placeholder": "Entrer le nom de l'établissement", + "productLabelStockFacilityModal.facilityType.label": "Type d'établissement", + "productLabelStockFacilityModal.section.location": "Localisation", + "productLabelStockFacilityModal.section.additional": "Attributs supplémentaires", + "productLabelStockFacilityModal.textinput.collection.semi-product.label": "Est-ce un établissement de collecte ?", + "productLabelStockFacilityModal.textinput.sellable.semi-products.label": "Contient des semi-produits ou produits finaux vendables ?", + "productLabelStockFacilityModal.section.semi-products": "Semi-produits contenus", + "productLabelStockFacilityModal.section.final-products": "Produits finaux contenus", + "productLabelStockFacilityModal.textinput.search-field.placeholder": "Taper un semi-produit ...", + "productLabelStockFacilityModal.finalProduct.search-field.placeholder": "Taper un produit final ...", + "productLabelStockFacilityModal.section.suggestePrice": "Prix suggérés pour les semi-produits", + "productLabelStockFacilityModal.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelStockFacilityModal.modal.footer.button.cancel": "Annuler", + "productLabelStockFacilityModal.modal.footer.button.save": "Enregistrer", + "productLabelStockFacilityModal.newFacility.newTitle": "Nouvel établissement", + "productLabelStockFacilityModal.newFacility.editTitle": "Modifier l'établissement", + "productLabelStockFacilityModal.publiclyVisible.yes": "OUI", + "productLabelStockFacilityModal.publiclyVisible.no": "NON", + "productLabelProcessingAction.section.basicInfo": "Informations de base", + "productLabelProcessingAction.textinput.name.label": "Nom du processus", + "productLabelProcessingAction.textinput.name.helpText": "Entrer le nom", + "productLabelProcessingAction.textinput.description.label": "Description", + "productLabelProcessingAction.textinput.description.helpText": "Entrer une courte description de l'action de traitement", + "productLabelProcessingAction.section.settings": "Paramètres", + "productLabelProcessingAction.textinput.prefix.label": "Préfixe du nom interne de lot", + "productLabelProcessingAction.textinput.prefix.helpText": "Entrer le préfixe", + "productLabelProcessingAction.textinput.timeline.label": "Libellé de la chronologie publique", + "productLabelProcessingAction.textinput.timeline.helpText": "Entrer le libellé de la chronologie", + "productLabelProcessingAction.textinput.search-field-docs.label": "Types de documents de preuve de traitement requis (obligatoire/requis sur devis/requis un dans le groupe sur devis)", + "productLabelProcessingAction.textinput.search-field.placeholder": "Sélectionner le type de document...", + "customerDetail.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelProcessingAction.semiProduct.label": "Sélectionner un semi-produit", + "productLabelProcessingAction.singleChoice.inputSemiProduct.error.requred": "Le semi-produit est requis", + "productLabelProcessingAction.inputSemiProduct.label": "Sélectionner le semi-produit d'entrée", + "productLabelProcessingAction.outputSemiProduct.label": "Sélectionner le semi-produit de sortie", + "productLabelProcessingAction.singleChoice.outputSemiProduct.error.requred": "Le semi-produit de sortie est requis", + "productLabelProcessingAction.textinput.timelineLocation.label": "Emplacement de la chronologie publique", + "productLabelProcessingAction.textinput.timelineLocation.helpText": "Entrer l'emplacement de la chronologie", + "productLabelProcessingAction.textinput.timelineIcon.label": "Icône de la chronologie publique", + "productLabelProcessingAction.selectRequiredMandatoryQuoteRequiredFields": "Sélectionner les champs requis/obligatoires/requis sur devis :", + "productLabelProcessingAction.selectRequiredMandatoryFields": "Sélectionner les champs requis/obligatoires :", + "productLabelProcessingAction.singleChoice.repackedOutputs": "Sorties reconditionnées", + "productLabelProcessingAction.textinput.maxOutputWeight.placeholder": "Entrer le poids maximal de sortie en kg", + "productLabelProcessingAction.repackedOutputs.yes": "Oui", + "productLabelProcessingAction.repackedOutputs.no": "Non", + "productLabelProcessingAction.newProcessingAction.newTitle": "Nouvelle action de traitement", + "productLabelProcessingAction.newProcessingAction.editTitle": "Modifier l'action de traitement", + "productLabelProcessingAction.newProcessingAction.field.maxOutputQuantityLabel": "Quantité maximale de sortie en {$PH}", + "productLabelProcessingAction.newProcessingAction.field.prefillOutputFacility": "Préremplir l'établissement de sortie avec l'établissement d'entrée", + "productLabelProcessingAction.procesingTransactionType.quote": "Devis", + "productLabelProcessingAction.procesingTransactionType.processing": "Traitement", + "productLabelProcessingAction.procesingTransactionType.transfer": "Transfert", + "productLabelProcessingAction.timelineIcon.ship": "Navire", + "productLabelProcessingAction.timelineIcon.leaf": "Feuille", + "productLabelProcessingAction.timelineIcon.warehouse": "Entrepôt", + "productLabelProcessingAction.timelineIcon.qrCode": "QR code", + "productLabelProcessingAction.timelineIcon.other": "Autre", + "semiProductDetail.section.basicInfo": "Informations de base", + "semiProductDetail.textinput.name.label": "Nom", + "semiProductDetail.textinput.name.placeholder": "Entrer le nom", + "semiProductDetail.textinput.description.label": "Description", + "semiProductDetail.textinput.description.helpText": "Entrer une courte description du semi-produit", + "productLabelStockSKUModal.measurementUnitType.label": "Sélectionner le type d'unité de mesure", + "semiProductDetail.checkbox-input.isSemiProductBuyable": "Achetable chez le producteur", + "semiProductDetail.checkbox-input.isSemiProductSKU": "Unité de stock chez le producteur", + "semiProductDetail.checkbox-input.isSemiProductSKUEndCustomer": "Unité de stock chez le client final", + "semiProductDetail.singleChoice.measurementUnit.error.requred": "L'unité de mesure est requise", + "semiProductDetail.semiProduct.newTitle": "Nouveau semi-produit", + "semiProductDetail.semiProduct.editTitle": "Modifier le semi-produit", + "productLabelFacilities.tableCol.edit": "Modifier", + "productLabelFacilities.noFacilities": "Aucun établissement trouvé", + "productLabelFacilities.sortOptions.name.name": "Nom", + "productLabelFacilities.sortOptions.type.name": "Type d'établissement", + "productLabelFacilities.sortOptions.sellabaleSemiProducts.name": "Semi-produits ou produits finaux vendables", + "productLabelFacilities.sortOptions.location.name": "Localisation", + "productLabelFacilities.sortOptions.actions.name": "Actions", + "productLabelStockFacilityModal.deleteFacility.error.message": "Êtes-vous sûr de vouloir supprimer l'établissement ?", + "productLabelStockFacilityModal.removeSemiOrFinalProduct.confirm.message": "Êtes-vous sûr de vouloir supprimer le produit final/semi-produit ? Le traitement sur ces produits ne fonctionnera plus.", + "semiProductListing.tableCol.edit": "Modifier", + "semiProductListing.tableCol.delete": "Supprimer", + "semiProductListing.noSemiProducts": "Aucun semi-produit trouvé", + "semiProductListing.sortOptions.name.name": "Nom", + "semiProductListing.sortOptions.buyable.name": "Achetable", + "semiProductListing.sortOptions.sku.name": "SKU (chez le producteur)", + "semiProductListing.sortOptions.skuEndCustomer.name": "SKU (chez le client final)", + "semiProductListing.sortOptions.actions.name": "Actions", + "semiProductListing.deleteCustomer.error.message": "Êtes-vous sûr de vouloir supprimer le semi-produit ?", + "processingActionList.tableCol.edit": "Modifier", + "processingActionList.noSemiProducts": "Aucune action de traitement trouvée", + "processingActionList.sortOptions.description.name": "Nom du processus", + "processingActionList.sortOptions.type.name": "Type", + "processingActionList.sortOptions.inputSemiProduct.name": "Semi-produit/produit final d'entrée", + "processingActionList.sortOptions.outputSemiProducts.name": "Semi-produits/produits finaux de sortie", + "processingActionList.sortOptions.actions.name": "Actions", + "processingActionList.deleteProcessingAction.error.message": "Êtes-vous sûr de vouloir le supprimer ?", + "productLabelStock.title.facilities": "Établissements", + "productLabelStock.button.newFacility": "{$START_TAG_SPAN}+ Ajouter un établissement{$CLOSE_TAG_SPAN}", + "productLabelStock.subTitle.listOfFacilities": "Liste des établissements", + "productLabelStock.subTitle.showingFacilities": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.title.semiProduct": "Semi-produits", + "productLabelStock.button.newSemiProduct": "{$START_TAG_SPAN}+ Ajouter un semi-produit{$CLOSE_TAG_SPAN}", + "productLabelStock.subTitle.listOfSemiProduct": "Liste des semi-produits", + "productLabelStock.subTitle.showingSemiProduct": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.filter.buyable": "Achetable", + "productLabelStock.filter.sku": "SKU", + "productLabelStock.title.processingActions": "Action de traitement", + "productLabelStock.button.newProcessingActions": "{$START_TAG_SPAN}+ Ajouter une action de traitement{$CLOSE_TAG_SPAN}", + "productLabelStock.subTitle.listOfProcessingActions": "Liste des actions de traitement", + "productLabelStock.subTitle.showingProcessingActions": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.filter.buyable.label": "Achetable {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelStock.filter.sku.label": "SKU {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "breadCrumb.facility.myStock": "Mon stock", + "breadCrumb.facility.facility": "Établissement", + "breadCrumb.semiProduct.myStock": "Mon stock", + "breadCrumb.semiProduct.semiProduct": "Semi-produit", + "breadCrumb.processingAction.myStock": "Mon stock", + "breadCrumb.processingAction.processingAction": "Action de traitement", + "orderProcessingActionsForProductAndOrganization.input.placehoder": "Sélectionner SKU", + "stockOrderItem.textinput.quantity.placeholder": "Entrer la quantité", + "stockOrderItem.textinput.internalLotName.label": "Nom interne de lot", + "stockOrderItem.textinput.pricePerUnitForEndCustomer.label": "Prix brut par article chez le client final", + "stockOrderItem.textinput.pricePerUnitForEndCustomer.placeholder": "Entrer le prix en", + "stockOrderItem.textinput.currencyForEndCustomer.label": "Devise pour le client final", + "stockOrderItem.textinput.currencyForEndCustomer.error.required": "La devise pour le client final est requise", + "stockOrderItem.processingAction.label": "Produit final", + "stockOrderItem.singleChoice.finalProduct.error": "Le produit final est requis", + "stockOrderItem.inputFacilityForm.label": "Commander depuis", + "stockOrderItem.inputFacilityForm.error.required": "L'établissement d'entrée est requis", + "stockOrderItem.quantity.textinput.error": "La quantité est requise", + "stockOrderItem.pricePerUnitForEndCustomer.textinput.error": "Le prix est requis", + "stockOrderItem.textinput.quantityLabelWithUnits.label": "Quantité en", + "stockOrderItem.textinput.quantity.label": "Quantité", + "globalOrderEdit.textinput.orderID.label": "ID de commande", + "globalOrderEdit.textinput.orderID.placeholder": "Entrer l'ID", + "globalOrderEdit.textinput.customer.label": "Client", + "globalOrderEdit.singleChoice.quality.label": "Grade requis", + "globalOrderEdit.checkbox.womensCoffee.label": "Réservé aux femmes", + "globalOrderEdit.checkbox.requiredOrganic.label": "Biologique uniquement", + "globalOrderEdit.datepicker.latestDateOfDelivery.label": "Date de livraison maximale", + "globalOrderEdit.textinput.orderID.error.required": "L'ID de commande est requis", + "globalOrderEdit.textinput.customer.error.required": "Le client est requis", + "stockOrderItem.outputFacilityForm.label": "Commander vers", + "stockOrderItem.outputFacilityForm.error.required": "L'établissement de sortie est requis", + "globalOrderEdit.singleChoice.quality.error": "Le grade requis est requis", + "globalOrderEdit.datepicker.latestDateOfDelivery.error.required": "La date de livraison maximale est requise", + "globalOrderEdit.list-editor.orderItems.label": "Liste des articles de commande", + "globalOrderEdit.list-editor.orderItems.addText": "Ajouter un article de commande", + "globalOrderEdit.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_2}{$START_TAG_SPAN}Enregistrer & Fermer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "globalOrderEdit.updateTitle": "Mettre à jour la commande", + "globalOrderEdit.newTitle": "Nouvelle commande", + "rejectTransaction.modal.button.cancel": "{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}", + "rejectTransaction.modal.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "rejectTransaction.modal.approved.all": "Tous approuvés", + "productLabelPurchaseOrder.tableCol.approveRejectOrder": "Approuver/Rejeter", + "productLabelPurchaseOrder.tableCol.qr": "QR", + "orderList.sortOptions.dateOfDelivery.name": "Date de livraison", + "orderList.sortOptions.semiProduct.name": "SKU", + "orderList.sortOptions.client.name": "Client", + "orderList.sortOptions.customer.name": "Client", + "orderList.sortOptions.orderId.name": "ID de commande", + "orderList.sortOptions.toFacility.name": "Vers l'établissement", + "orderList.sortOptions.orderedTo.name": "Commandé à", + "orderList.sortOptions.quantityFulfilled.name": "Quantité / Exécutée", + "orderList.sortOptions.unit.name": "Unité", + "orderList.sortOptions.kgs.name": "kg", + "orderList.sortOptions.lastChange.name": "Heure de dernière modification", + "orderList.sortOptions.actions.name": "Actions", + "orderList.deleteProcessingOrder.gettingProcessingOrder.error.message": "Une erreur s'est produite lors de la suppression.", + "orderList.deleteProcessingOrder.error.message": "Êtes-vous sûr de vouloir supprimer la commande ? Cela supprimera la transaction de traitement et potentiellement toutes les commandes générées à partir de celle-ci.", + "orderList.delete.error.message": "Êtes-vous sûr de vouloir supprimer la commande ?", + "orderHistoryView.rejectTransaction.modal.title": "Approuver/rejeter les transactions", + "orderHistoryView.rejectTransaction.modal.instructionsHtml": "Commentaire", + "ordersAllOrders.title.receivedOrders": "Commandes reçues", + "ordersAllOrders.subTitle.listOfOrders": "Liste des commandes", + "ordersAllOrders.subTitle.showingOrders": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "ordersAllOrders.selectedFacility.singleChoice.label": "Établissement sélectionné", + "ordersAllOrders.selectedSKU.singleChoice.label": "SKU sélectionné", + "ordersAllOrders.filter.openOnly.filter": "Ouvert uniquement {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "ordersAllOrders.filter.openOnly.button": "Ouvert uniquement", + "myOrders.title.placedOrders": "Commandes passées", + "myOrders.button.addCustomerOrder": "{$START_TAG_SPAN}+ Commander un produit final{$CLOSE_TAG_SPAN}", + "myOrders.button.placeQuoteOrder": "{$START_TAG_SPAN}+ Commander un semi-produit{$CLOSE_TAG_SPAN}", + "myOrders..subTitle.listOfOrders": "Liste des commandes", + "myOrders..subTitle.showingOrders": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "myOrders..selectedFacility.singleChoice.label": "Établissement sélectionné", + "myOrders..selectedCustomer.singleChoice.label": "Client", + "myOrders..filter.openOnly.filter": "Ouvert uniquement {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "myOrders..filter.openOnly.button": "Ouvert uniquement", + "orderCard.dueDeliveryDate.label": "échéance", + "orderCard.womansOnly.label": "Réservé aux femmes :", + "orderCard.womensOnly.yes": " Oui", + "orderCard.womensOnly.no": " Non", + "productLabelStockProcessingFacilityList.noOrders": " Aucune commande ", + "ordersDashboard.title.allOrders": "Toutes les commandes", + "ordersDashboard.subTitle.listOfOrders": "Liste des commandes", + "ordersDashboard.subTitle.showingOrders": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "ordersDashboard.selectedFacility.singleChoice.label": "Établissement sélectionné", + "ordersDashboard.filter.openOnly.filter": "Ouvert uniquement {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "ordersDashboard.filter.openOnly.button": "Ouvert uniquement", + "breadCrumb.purchasesOrders.myStock": "Mon stock", + "breadCrumb.orders.globalOrder": "Commande", + "producersItem.label.customer": "Fournisseur de", + "producersItem.label.role": "Rôle", + "producersItem.textinput.customer.error": "L'organisation du producteur est requise", + "producersItem.textinput.role.error": "Le rôle est requis", + "collectorDetail.roles.farmer": "Agriculteur", + "collectorDetail.roles.collector": "Collecteur", + "collectorDetail.section.basicInfo": "Informations de base", + "collectorDetail.textinput.name.label": "Prénom", + "collectorDetail.textinput.name.placeholder": "Entrer le prénom", + "collectorDetail.textinput.surname.label": "Nom de famille", + "collectorDetail.textinput.surname.placeholder": "Entrer le nom de famille", + "collectorDetail.label.gender": "Genre", + "collectorDetail.section.address": "Adresse", + "collectorDetail.section.additionalInfo": "Informations supplémentaires sur l'utilisateur", + "collectorDetail.textinput.phone.label": "Numéro de téléphone", + "collectorDetail.textinput.phone.placeholder": "Entrer le numéro de téléphone", + "collectorDetail.textinput.email.label": "E-mail", + "collectorDetail.textinput.email.placeholder": "Entrez l'adresse e-mail", + "collectorDetail.checkbox-input.hasSmartPhone": "Smartphone", + "collectorDetail.section.bankInfo": "Informations bancaires", + "collectorDetail.textinput.accountHoldersName.label": "Nom du titulaire du compte", + "collectorDetail.textinput.accountHoldersName.placeholder": "Entrez le nom du titulaire du compte", + "collectorDetail.textinput.accountNumber.label": "Numéro de compte", + "collectorDetail.textinput.accountNumber.placeholder": "Entrez le numéro de compte", + "collectorDetail.textinput.bankName.label": "Nom de la banque", + "collectorDetail.textinput.bankName.placeholder": "Entrez le nom de la banque", + "collectorDetail.textinput.additionalInfo.label": "Informations supplémentaires", + "collectorDetail.textinput.additionalInfo.placeholder": "Entrez des informations supplémentaires", + "collectorDetail.bankAccountInfo.country.label": "Pays", + "collectorDetail.section.cooperatives": "Organisations de producteurs", + "collectorDetail.section.associations": "Associations", + "collectorDetail.section.companies": "Entreprises", + "collectorDetail.textinput.assoc.label": "Membre d'associations", + "collectorDetail.textinput.assoc.placeholder": "Tapez une association...", + "collectorDetail.section.farmInfo": "Informations supplémentaires sur la ferme", + "collectorDetail.textinput.farmSize.label": "Taille de la ferme", + "collectorDetail.textinput.areaUnit.label": "Unité de surface", + "collectorDetail.textinput.areaUnit.placeholder": "Entrez l'unité de surface", + "collectorDetail.textinput.totalCultivatedArea.label": "Superficie totale de la ferme", + "collectorDetail.textinput.totalCultivatedArea.placeholder": "Entrez la superficie totale de la ferme", + "collectorDetail.textinput.farmSize.helpText": "Entrez la taille de la ferme.", + "collectorDetail.textinput.organic.label": "Ferme biologique", + "collectorDetail.textinput.organic.placeholder": "Cochez si la ferme est biologique", + "collectorDetail.textinput.areaOrganicCertified.label": "Superficie certifiée biologique", + "collectorDetail.textinput.areaOrganicCertified.placeholder": "Entrez la superficie certifiée biologique", + "collectorDetail.textinput.startTransitionToOrganic.label": "Transition vers le bio commencée", + "collectorDetail.textinput.startTransitionToOrganic.placeholder": "Entrez la date de début de transition vers le bio", + "collectorDetail.checkbox-input.organicFarm": "Ferme biologique", + "collectorDetail.textinput.fertilizerDescription.label": "Description des engrais", + "collectorDetail.textinput.fertilizerDescription.helpText": "Entrez la description des engrais.", + "collectorDetail.textinput.additionalInfo.helpText": "Entrez des informations supplémentaires.", + "collectorDetail.textinput.name.error": "Le nom est requis", + "collectorDetail.textinput.areaUnit.required.error": "L'unité de surface est requise", + "collectorDetail.textinput.userCustomerId.label": "ID utilisateur", + "collectorDetail.textinput.farmerCompanyInternalId.label": "ID interne du fermier", + "collectorDetail.textinput.farmerCompanyInternalId.placeholder": "Entrez l'ID interne du fermier", + "collectorDetail.textinput.farmerCompanyInternalId.error": "L'ID interne du fermier est requis", + "collectorDetail.list-editor.cooperatives.label": "Fournisseur de", + "collectorDetail.list-editor.cooperatives.addText": "Ajouter nouveau", + "collectorDetail.section.balance": "Solde du fermier", + "collectorDetail.textinput.openBalance.label": "Solde ouvert (RWF)", + "collectorDetail.textinput.totalPaidToFarmer.label": "Total payé au fermier (RWF)", + "collectorDetail.textinput.kgBrought.label": "Total apporté par le fermier (kg)", + "collectorDetail.section.purchaseOrders": "Livraisons", + "collectorDetail.filter.openBalanceOnly.filter": "Solde ouvert {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "collectorDetail.filter.openBalanceOnly.button": "Solde ouvert", + "collectorDetail.noPurchaseOrders": "Aucune commande trouvée", + "collectorDetail.section.payments": "Paiements", + "collectorDetail.noPayments": "Aucun paiement trouvé", + "collectorDetail.sortOptionsPO.date.name": "Date", + "collectorDetail.sortOptionsPO.identifier.name": "Nom", + "collectorDetail.sortOptionsPO.quantity.name": "Quantité (kg)", + "collectorDetail.sortOptionsPO.payableAndBalance.name": "Payable / Solde", + "collectorDetail.sortOptionsPay.date.name": "Date", + "collectorDetail.sortOptionsPay.number.name": "Numéro de reçu", + "collectorDetail.sortOptionsPay.purpose.name": "Objet du paiement", + "collectorDetail.sortOptionsPay.amount.name": "Montant payé au fermier (RWF)", + "collectorDetail.sortOptionsPay.amountCollector.name": "Montant payé au collecteur (RWF)", + "collectorDetail.sortOptionsPay.purchase.name": "Livraisons", + "collectorDetail.sortOptionsPay.status.name": "Statut", + "collectorDetail.newFarmer.title": "Nouveau fermier", + "collectorDetail.newCollector.title": "Nouveau collecteur", + "collectorDetail.editFarmer.title": "Modifier fermier", + "collectorDetail.editCollector.title": "Modifier collecteur", + "collectorDetail.gender.male": "Homme", + "collectorDetail.gender.female": "Femme", + "collectorDetail.gender.diverse": "Divers", + "customerDetail.section.basicInfo": "Informations de base", + "customerDetail.textinput.name.label": "Nom de l'entreprise", + "customerDetail.textinput.name.placeholder": "Entrez le nom de l'entreprise", + "customerDetail.textinput.officialCompanyName.label": "Nom officiel de l'entreprise", + "customerDetail.textinput.officialCompanyName.placeholder": "Entrez le nom officiel de l'entreprise", + "customerDetail.textinput.vatId.label": "TVA de l'entreprise", + "customerDetail.textinput.vatId.placeholder": "Entrez la TVA de l'entreprise", + "customerDetail.textinput.contact.label": "Contact", + "customerDetail.textinput.contact.placeholder": "Entrez le contact", + "customerDetail.textinput.email.label": "E-mail", + "customerDetail.textinput.email.placeholder": "Entrez l'adresse e-mail", + "customerDetail.textinput.phone.label": "Numéro de téléphone", + "customerDetail.textinput.phone.placeholder": "Entrez le numéro de téléphone", + "customerDetail.section.location": "Localisation", + "customerDetail.section.skuPrices": "Prix SKU", + "customerDetail.textinput.name.error": "Le nom de l'entreprise est requis", + "customerDetail.textinput.email.error": "{$START_TAG_SPAN} L'e-mail est dans un format incorrect {$CLOSE_TAG_SPAN}", + "customerDetail.button.skuPrices.add": "{$START_TAG_SPAN}+{$CLOSE_TAG_SPAN}", + "customerDetail.textinput.skuPrices.from": "De", + "customerDetail.textinput.skuPrices.to": "À", + "customerDetail.textinput.skuPrices.price.label": "Prix", + "customerDetail.textinput.skuPrices.price.placeholder": "Entrez le prix", + "customerDetail.textinput.skuPrices.currency.label": "Devise", + "customerDetail.newCustomer.title": "Nouveau client", + "customerDetail.updateCustomer.title": "Modifier client", + "productLabelStakeholdersCollectors.tableCol.edit": "Modifier", + "productLabelStakeholdersCollectors.tableCol.delete": "Supprimer", + "productLabelStakeholdersCollectors.sortOptions.name.name": "Prénom", + "productLabelStakeholdersCollectors.sortOptions.surname.name": "Nom", + "productLabelStakeholdersCollectors.sortOptions.gender.name": "Genre", + "productLabelStakeholdersCollectors.sortOptions.id.name": "Id", + "productLabelStakeholdersCollectors.sortOptions.village.name": "Village", + "productLabelStakeholdersCollectors.sortOptions.cell.name": "Cellule", + "productLabelStakeholdersCollectors.sortOptions.city.name": "Ville/Village", + "productLabelStakeholdersCollectors.sortOptions.state.name": "État/Province/Région", + "productLabelStakeholdersCollectors.sortOptions.actions.name": "Actions", + "productLabelStakeholdersCollectors.deleteCollector.error.message": "Êtes-vous sûr de vouloir supprimer le collecteur ?", + "productLabelStakeholdersCollectors.noCollectors": "Aucun collecteur trouvé", + "productLabelStakeholdersCollectors.noFarmers": "Aucun fermier trouvé", + "productLabelStakeholdersCustomers.tableCol.edit": "Modifier", + "productLabelStakeholdersCustomers.tableCol.delete": "Supprimer", + "productLabelStakeholdersCustomers.noCustomers": "Aucun client trouvé", + "productLabelStakeholdersCustomers.sortOptions.companyName.name": "Nom de l'entreprise", + "productLabelStakeholdersCustomers.sortOptions.contact.name": "Contact", + "productLabelStakeholdersCustomers.sortOptions.email.name": "E-mail", + "productLabelStakeholdersCustomers.sortOptions.actions.name": "Actions", + "productLabelStakeholdersCustomers.deleteCustomer.error.message": "Êtes-vous sûr de vouloir supprimer le client ?", + "productLabelStakeholders.title.buyers": "Acheteurs", + "productLabelStakeholders.button.newBuyer": "{$START_TAG_SPAN}+ Ajouter acheteur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.owners": "Administrateurs produit", + "productLabelStakeholders.dataSharingAgreements.title": "Accords de partage de données", + "productLabelStakeholders.dataSharingAgreements.label": "Accords de partage de données", + "productLabelStakeholders.dataSharingAgreements.addNew": "Ajouter nouveau", + "productLabelStakeholders.dataSharingAgreements.listEditor.title": "Accord de partage de données", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.description.label": "Description", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.description.error": "La description est requise", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.attachment-uploader.label": "Document", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers PDF.", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.attachment-uploader.content": "Télécharger le document d'accord de partage de données", + "productLabelStakeholders.dataSharingAgreements.listEditor.item.attachment-uploader.error": "Le document est requis", + "productLabelStakeholders.button.newOwner": "{$START_TAG_SPAN}+ Ajouter admin produit{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.producers": "Producteurs", + "productLabelStakeholders.button.newProducer": "{$START_TAG_SPAN}+ Ajouter producteur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.roasters": "Torréfacteurs", + "productLabelStakeholders.button.newRoaster": "{$START_TAG_SPAN}+ Ajouter torréfacteur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.associations": "Associations", + "productLabelStakeholders.button.newAssociation": "{$START_TAG_SPAN}+ Ajouter association{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.collectors": "Collecteurs", + "productLabelStakeholders.button.newCollector": "{$START_TAG_SPAN}+ Ajouter collecteur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.subTitle.listOfCollectors": "Liste des collecteurs", + "productLabelStakeholders.subTitle.showingCollectors": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStakeholders.title.farmers": "Fermiers", + "productLabelStakeholders.button.newFarmer": "{$START_TAG_SPAN}+ Ajouter fermier{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.button.exportFarmerData": "{$START_TAG_SPAN}Exporter données fermiers{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.subTitle.listOfFarmers": "Liste des fermiers", + "productLabelStakeholders.subTitle.showingFarmers": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStakeholders.title.customers": "Clients", + "productLabelStakeholders.button.newCustomer": "{$START_TAG_SPAN}+ Ajouter client{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.subTitle.listOfCustomers": "Liste des clients", + "productLabelStakeholders.subTitle.showingCustomers": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStakeholders.search.firstName": "Prénom", + "productLabelStakeholders.search.lastName": "Nom", + "productLabelStakeholders.search.id": "id", + "productLabelStakeholders.search.customerName": "Nom du client", + "productLabelStakeholders.modal.buyer.title": "Ajouter acheteur", + "productLabelStakeholders.modal.buyer.instructionsHtml": "Sélectionnez l'entreprise acheteuse", + "productLabelStakeholders.modal.producer.title": "Ajouter producteur", + "productLabelStakeholders.modal.producer.instructionsHtml": "Sélectionnez l'entreprise productrice", + "productLabelStakeholders.modal.owner.title": "Ajouter administrateur produit", + "productLabelStakeholders.modal.owner.instructionsHtml": "Sélectionnez l'entreprise administrateur", + "productLabelStakeholders.modal.association.title": "Ajouter association", + "productLabelStakeholders.modal.association.instructionsHtml": "Sélectionnez l'entreprise association", + "productLabelStakeholders.modal.roaster.title": "Ajouter torréfacteur", + "productLabelStakeholders.modal.roaster.instructionsHtml": "Sélectionnez l'entreprise torréfacteur", + "productLabelStakeholders.remove.warning.message": "Êtes-vous sûr de vouloir supprimer {$PH} ?", + "productLabelStakeholders.warning.button.ok": "OK", + "productLabelStakeholders.warning.title": "Entreprise manquante", + "productLabelStakeholders.warning.message": "Veuillez sélectionner une entreprise avant de continuer", + "breadCrumb.customers.stakeholders": "Parties prenantes", + "breadCrumb.customers.customer": "Client", + "breadCrumb.collectors.stakeholders": "Parties prenantes", + "productLabelTransaction.tableCol.view": "Voir", + "productLabelTransaction.tableCol.input": "Vers entrée", + "productLabelTransaction.tableCol.output": "Vers sortie", + "productLabelTransaction.tableCol.execute": "Exécuter", + "productLabelTransaction.tableCol.cancel": "Annuler", + "productLabelTransaction.tableCol.delete": "Supprimer", + "productLabelTransaction.noTransactions": "Aucune transaction trouvée", + "productLabelTransactions.sortOptions.lastChanged.name": "Date", + "productLabelTransactions.sortOptions.transactionType.name": "Type", + "productLabelTransactions.sortOptions.status.name": "Statut", + "productLabelTransactions.sortOptions.inputQuantity.name": "Quantité entrée", + "productLabelTransactions.sortOptions.outputQuantity.name": "Semi-produit", + "productLabelTransactions.sortOptions.sourceFacility.name": "De", + "productLabelTransactions.sortOptions.targetFacility.name": "Vers", + "productLabelTransactions.sortOptions.actions.name": "Actions", + "productLabelTransactions.delete.error.message": "Êtes-vous sûr de vouloir supprimer la transaction ?", + "processingOrderList.tableCol.view": "Voir", + "processingOrderList.tableCol.edit": "Modifier", + "processingOrderList.tableCol.delete": "Supprimer", + "processingOrderList.noOrders": "Aucune commande trouvée", + "productLabelProcessingOrder.sortOptions.date.name": "Date", + "productLabelProcessingOrder.sortOptions.procesingAction.name": "Action de traitement", + "productLabelProcessingOrder.sortOptions.actions.name": "Actions", + "productLabelProcessingOrder.delete.error.message": "Êtes-vous sûr de vouloir supprimer la commande de traitement ?", + "productLabelStock.title.transactions": "Transactions", + "productLabelStock.subTitle.listOfTransactions": "Liste des transactions", + "productLabelStock.subTitle.showingTransactions": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.button.deleteTransactions": "Supprimer transactions", + "productLabelStock.title.processingOrders.processing transactions": "Liste des transactions de traitement", + "productLabelStock.title.processingOrders.orders.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStockPurchaseOrdersModal.singleChoice.inputFacility": "Installation d'entrée", + "productLabelStockPurchaseOrdersModal.singleChoice.outputFacility": "Installation de sortie", + "productLabelStock.filter.openBalanceOnly.filter": "Solde ouvert {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelStock.filter.openBalanceOnly.button": "Solde ouvert", + "productLabelStock.title.purchaseOrders": "Livraisons", + "productLabelStock.title.purchaseOrdersBulk": "Livraisons en vrac", + "productLabelStock.button.newPurchaseOrders": "{$START_TAG_SPAN}+ Ajouter livraison{$CLOSE_TAG_SPAN}", + "productLabelStock.button.newPurchaseOrdersBulk": "{$START_TAG_SPAN}+ Ajouter livraison en vrac{$CLOSE_TAG_SPAN}", + "productLabelStock.subTitle.listOfPurchaseOrders": "À définir", + "productLabelStock.subTitle.showingPurchaseOrders": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.filter.wayOfPayment.cash": "Espèces", + "productLabelStock.filter.wayOfPayment.cashViaCollector": "Espèces via collecteur", + "productLabelStock.filter.wayOfPayment.bankTransfer": "Virement bancaire", + "productLabelStock.filter.wayOfPayment.unknown": "Inconnu", + "productLabelStock.filter.womensOnly.yes": "Café exclusivement féminin", + "productLabelStock.filter.womensOnly.no": "Café non exclusivement féminin", + "productLabelStock.button.bulkPayments": "Ajouter paiements", + "productLabelStock.datepicker.date.from": "De", + "productLabelStock.datepicker.date.to": "À", + "productLabelStock.label.producer": "Producteur", + "productLabelStock.label.order": "Commandes", + "productLabelStock.checkbox-input.orderListCheckbox": " Inclure toutes les commandes ", + "productLabelStockPurchaseOrdersModal.singleChoice.facilityForStockOrder": "Sélectionner l'installation", + "productLabelStock.filter.wayOfPayment.wayOfPayment": "{$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelStock.textinput.producer.error": " Le producteur est requis ", + "productLabelStock.textinput.order.error": " La commande est requise ", + "productLabelStock.noData": " Aucune donnée trouvée ", + "breadCrumb.purchaseOrders.purchase": "Livraison", + "knowledgeBlogDocument.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers : PNG, JPG et JPEG.", + "knowledgeBlogDocument.attachment-uploader.label": "Documents (PDF, PNG, JPG et JPEG)", + "knowledgeBlogDocument.attachment-uploader.content": "Télécharger document", + "knowledgeBlogPart.title.label": "Titre", + "knowledgeBlogPart.title.placeholder": "Entrez le titre", + "knowledgeBlogPart.summary.label": "Résumé", + "knowledgeBlogPart.content.label": "Contenu", + "knowledgeBlogPart.date.label": "Date", + "knowledgeBlogPart.youtubeURL.label": "URL YouTube", + "knowledgeBlogPart.youtubeURL.placeholder": "Entrez l'URL YouTube", + "knowledgeBlogPart.list-editor.label": "Documents", + "knowledgeBlogPart.list-editor.addText": "Ajouter nouveau", + "knowledgeBlogPart.list-editor.item.title": "Documents", + "knowledgeBlogPart.title.edit": "Modifier", + "knowledgeBlogPart.title.fairness": "Équité", + "knowledgeBlogPart.title.quality": "Qualité", + "knowledgeBlogPart.title.provenance": "Provenance", + "knowledgeBlogPart.save.error.title": "Erreur", + "knowledgeBlogPart.save.error.message": "Erreurs sur la page. Veuillez vérifier !", + "knowledgeBLogSelectSection.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelFrontFeedback.statusList.fairness": "Équité", + "productLabelFrontFeedback.statusList.quality": "Qualité", + "productLabelFrontFeedback.statusList.provenance": "Provenance", + "productLabelKnowledgeBlog.title.knowledgeBlogs": "Blogs de connaissances", + "productLabelKnowledgeBlog.button.new": "Nouveau", + "productLabelKnowledgeBlog.subTitle.listOfKnowledgeBlogs": "Liste des blogs de connaissances", + "productLabelKnowledgeBlog.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelKnowledgeBlog.filter.showFairness": "Afficher l'équité", + "productLabelKnowledgeBlog.filter.showQuality": "Afficher la qualité", + "productLabelKnowledgeBlog.filter.showProvenance": "Afficher la provenance", + "productLabelKnowledgeBlog.tableCol.edit": "Modifier", + "productLabelKnowledgeBlog.noFairnessItems": "Aucun élément trouvé", + "productLabelKnowledgeBlog.sortOptions.title.name": "Titre", + "productLabelKnowledgeBlog.sortOptions.date.name": "Date", + "productLabelKnowledgeBlog.sortOptions.type.name": "Type", + "productLabelKnowledgeBlog.sortOptions.actions.name": "Actions", + "productLabelKnowledgeBlog.title.fairness": "Équité", + "productLabelKnowledgeBlog.title.quality": "Qualité", + "productLabelKnowledgeBlog.title.provenance": "Provenance", + "productLabelKnowledgeBlog.type.all": "Tous", + "productLabelKnowledgeBlog.type.fairness": "Équité", + "productLabelKnowledgeBlog.type.quality": "Qualité", + "productLabelKnowledgeBlog.type.provenance": "Provenance", + "productLabelKnowledgeBlog.selectSection.title": "Sélection du type", + "productLabelKnowledgeBlog.selectSection.instructionsHtml": "Sélectionnez le type", + "batchDetails.prefillLocationFromProduct.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "batchDetail.textinput.number.label": "Numéro de lot", + "batchDetail.textinput.number.placeholder": "Entrez le numéro de lot", + "batchDetail.checkbox-input.checkAuthenticity": "Vérifier l'authenticité", + "batchDetail.checkbox-input.traceOrigin": "Tracer l'origine", + "batchDetail.textinput.number.error": "Le numéro de lot est requis", + "batchDetail.datepicker.productionDate.label": "Date de production", + "batchDetail.datepicker.expiryDate.label": "Date d'expiration", + "batchDetail.attachment-uploader.batchImage.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers : PNG, JPG et JPEG.", + "batchDetail.attachment-uploader.batchImage.label": "Image d'instructions", + "batchDetail.attachment-uploader.batchImage.content": "Télécharger photo du produit", + "batchDetail.datepicker.productionDate.error": "Au moins une des dates est requise", + "batchDetail.datepicker.expiryDate.errors": "{$START_TAG_DIV} La date d'expiration doit être postérieure à la date de production {$CLOSE_TAG_DIV}{$START_TAG_DIV_1} Au moins une des dates est requise {$CLOSE_TAG_DIV}", + "batchDetail.button.prefill": "Préremplir les localisations depuis le produit", + "batchDetail.locations.small": "Double-cliquez sur la carte pour placer une épingle et marquer les localisations des fermiers/fournisseurs. Indiquez le nombre de fermiers/fournisseurs avec lesquels vous travaillez directement ou indirectement à chaque localisation. Vous pouvez également nommer chaque localisation.", + "batchDetail.locations.pinName": "Nom de l'épingle", + "batchDetail.locations.numberOfFarmers": "# de fermiers", + "batchDetail.locations.error": "Au moins une localisation est requise", + "batchDetail.botomButtoms.saveButtonLabel": "Créer", + "batchDetail.title.new": "Ajouter lot", + "batchDetail.title.edit": "Modifier lot", + "batchDetail.saveBatch.error.title": "Erreur", + "batchDetail.saveBatch.error.message": "Erreurs sur la page. Veuillez vérifier !", + "batchDetail.createBatch.error.title": "Erreur", + "batchDetail.createBatch.error.message": "Erreurs sur la page. Veuillez vérifier !", + "batchDetail.prefillFromProduct.title": "Préremplir les localisations depuis le produit ?", + "batchDetail.prefillFromProduct.instructionsHtml": "Cette action remplacera toutes vos localisations actuelles par celles du produit", + "batchesList.title.batches": "Lots", + "batchesList.button.newBatch": "{$START_TAG_SPAN}Nouveau lot{$CLOSE_TAG_SPAN}", + "batchesList.subTitle.listOfBatches": "Liste des lots", + "batchesList.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "batchesList.tableCol.edit": "Modifier", + "batchesList.tableCol.delete": "Supprimer", + "batchesList.noBatches": "Aucun lot trouvé", + "batchesList.sortOptions.number.name": "Numéro de lot", + "batchesList.sortOptions.productionDate.name": "Date de production", + "batchesList.sortOptions.expiryDate.name": "Date d'expiration", + "batchesList.sortOptions.actions.name": "Actions", + "batchesList.deleteBatch.error.message": "Êtes-vous sûr de vouloir supprimer le lot ?", + "productLabelFeedback.title.feedbacks": "Retours", + "productLabelFeedback.subTitle.listOfFeedbacks": "Liste des retours", + "productLabelFeedback.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelFeedback.button.downloadfeedbackEmails": "Télécharger emails", + "productLabelFeedback.tableCol.view": "Voir", + "productLabelFeedback.noFeedbacks": "Aucun retour trouvé", + "productLabelFeedback.sortOptions.email.name": "Email", + "productLabelFeedback.sortOptions.gender.name": "Genre", + "productLabelFeedback.sortOptions.age.name": "Âge", + "productLabelFeedback.sortOptions.feedback.name": "Retour", + "productLabelFeedback.sortOptions.gdpr.name": "RGPD", + "productLabelFeedback.sortOptions.actions.name": "Actions", + "productLabelFeedback.statusList.all": "Tous", + "productLabelFeedback.statusList.registred": "Éloge", + "productLabelFeedback.statusList.active": "Proposition", + "productLabelFeedback.statusList.deactivated": "Plainte", + "productLabelFeedback.deleteFeedback.error.message": "Êtes-vous sûr de vouloir supprimer le retour ?", + "productLabelStatistics.title": "Statistiques", + "productLabelStatistics.title.qrCodeVisits": "Visites de page", + "productLabelStatistics.card.qrCodeVisits": "Nombre de visites via QR code", + "productLabelStatistics.title.locations": "Localisations des scans", + "productLabelStatistics.checkbox-input.pageVisits": "Visites de page", + "productLabelStatistics.title.authenticity": "Vérifier l'authenticité", + "productLabelStatistics.card.authenticityChecks": "Nombre de vérifications d'authenticité", + "productLabelStatistics.card.authenticChecks": "Nombre de vérifications authentiques", + "productLabelStatistics.card.counterfeitChecks": "Nombre de vérifications de contrefaçon", + "productLabelStatistics.title.origin": "Tracer l'origine", + "productLabelStatistics.card.originChecks": "Nombre de traçages d'origine", + "productLabelStatistics.card.successfullOriginChecks": "Nombre de traçages d'origine réussis", + "productLabelStatistics.card.unsuccessfullOriginChecks": "Nombre de traçages d'origine échoués", + "productLabelStatistics.checkbox-input.authenticityClicks": "Clics sur Vérifier l'authenticité", + "productLabelStatistics.checkbox-input.originClicks": "Clics sur Tracer l'origine", + "5398748280082448669": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "languageForLabelModal.modal.button.cancel": "{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}", + "languageForLabelModal.modal.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "languageForLabelModal.languageCodes.en": "EN", + "languageForLabelModal.languageCodes.de": "DE", + "languageForLabelModal.languageCodes.es": "ES", + "languageForLabelModal.languageCodes.rw": "RW", + "languageForLabelModal.languageCodes.fr": "FR", + "productLabel.labelSelectorCard.tryMeLabel": "ESSAYEZ-MOI !", + "productLabel.labelSelectorCard.addTitle": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}AJOUTER TITRE", + "productLabel.labelSelector.addLabel": "Ajouter étiquette {$INTERPOLATION}", + "productionRecordItem.textinput.description.label": "Description", + "productionRecordItem.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers : PNG, JPG et JPEG.", + "productionRecordItem.attachment-uploader.label": "Enregistrement de production (PDF/PNG/JPG)", + "productionRecordItem.attachment-uploader.content": "Télécharger document", + "productionRecordItem.attachment-uploader.small": "Téléchargez un pdf/image de vos enregistrements de production (registres agricoles, protocoles de production...)", + "productionRecordItem.attachment-uploader.error": "{$START_TAG_SPAN} Le document est requis {$CLOSE_TAG_SPAN}", + "farmerStoryPhotos.textinput.description.label": "Description", + "farmerStoryPhotos.attachment-uploader.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers : PNG, JPG et JPEG.", + "farmerStoryPhotos.attachment-uploader.label": "Photo de fermier ou groupe de fermiers (PNG/JPG)", + "farmerStoryPhotos.attachment-uploader.content": "Télécharger document", + "farmerStoryPhotos.attachment-uploader.small": "Téléchargez une photo de haute qualité du fermier ou du groupe de fermiers qui représente le mieux votre entreprise/marque.", + "farmerStoryPhotos.textinput.description.error": "{$START_TAG_SPAN} La description est requise {$CLOSE_TAG_SPAN}", + "farmerStoryPhotos.attachment-uploader.error": "{$START_TAG_SPAN} Le document est requis {$CLOSE_TAG_SPAN}", + "productLabel.section.process": "Processus", + "productLabel.section.socialResponsibility": "Responsabilité sociale", + "productLabel.button.prefillFromOther.resp.prefill": "Préremplir", + "productLabel.section.environmentalSustainability": "Durabilité environnementale", + "productLabel.button.prefillFromOther.sust.prefill": "Préremplir", + "productLabel.section.pricingTransparency": "Description de la transparence des prix", + "productLabel.section.comparisonOfPrice": "Comparaison des prix", + "productLabel.section.settings": "Paramètres", + "productLabel.section.company": "Entreprise", + "productLabel.title.qrLabels": "Étiquettes QR", + "productLabel.title.productSettings": "Paramètres du produit", + "productLabel.section.qrLabels": "Étiquettes QR", + "productLabel.labelActions.textinput.editLabelName": "Entrez le nom de l'étiquette", + "productLabel.labelActions.viewPage": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Voir la page (seules les données de l'étiquette sont visibles)", + "productLabel.labelActions.feedback": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Retours", + "productLabel.labelActions.statistics": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Statistiques", + "productLabel.labelActions.batches": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Lots", + "productLabel.button.reorder": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Réorganiser", + "productLabel.section.productData": "Données produit", + "productLabel.section.labelData": "Données d'étiquette", + "productLabel.companySection.subtitle": "{$START_PARAGRAPH}Si vous souhaitez modifier les détails de l'entreprise, veuillez d'abord sauvegarder toutes les modifications et accéder à la {$START_LINK}section entreprise{$CLOSE_LINK}. Notez que les informations de l'entreprise changeront sur tous vos produits.{$CLOSE_PARAGRAPH}", + "productLabel.botomButtoms.saveButtonLabel": "Créer", + "productLabel.textinput.productName.error": "{$START_TAG_SPAN} Le nom du produit est requis {$CLOSE_TAG_SPAN}", + "productLabel.attachment-uploader.productPhoto.comment": "Veuillez télécharger une photo de haute qualité de votre produit - assurez-vous que la photo est de qualité marketing. (72dpi et 1200x2000px recommandés)", + "productLabel.textinput.productDesc.helpText": "Décrivez brièvement le produit ET les raisons pour lesquelles votre produit vaut la peine d'être acheté. (exemple : propriétés spéciales, bénéfices santé, excellent rapport qualité-prix, production biologique...)", + "productLabel.textinput.origin.label": "Origine", + "productLabel.textinput.originText.helpText": "Décrivez brièvement d'où provient le produit ou ses ingrédients.", + "productLabel.origin.helpText": "Double-cliquez sur la carte pour placer une épingle et marquer les localisations des fermiers/fournisseurs. Indiquez le nombre de fermiers/fournisseurs avec lesquels vous travaillez directement ou indirectement à chaque localisation. Vous pouvez également nommer chaque localisation.", + "productLabel.button.resetMap": "Réinitialiser la carte", + "productLabel.textinput.originText.error": "{$START_TAG_SPAN} L'origine est requise {$CLOSE_TAG_SPAN}", + "productLabel.origin.error": "{$START_TAG_SPAN} L'origine est requise {$CLOSE_TAG_SPAN}", + "productLabel.textinput.origin.pinName": "Nom de l'épingle", + "productLabel.textinput.origin.numberOfFarmers": "# de fermiers", + "productLabel.textinput.production.label": "Production", + "productLabel.textinput.production.helpText": "Décrivez brièvement votre processus de production. Si les ingrédients sont biologiques, expliquez comment vous y parvenez (ex : plants bio, pas d'engrais chimiques, etc.)", + "productLabel.button.prefillCertsFromOther.certs.prefill": "Préremplir", + "productLabel.textinput.laborPolicies.label": "Politiques de travail", + "productLabel.textinput.laborPolicies.helpText": "Décrivez brièvement les politiques de travail de votre entreprise et les activités que vous menez pour les mettre en œuvre (ex : inclusion des femmes, pas de travail des enfants, etc.)", + "productLabel.textinput.laborPolicies.error": "{$START_TAG_SPAN} Les politiques de travail sont requises {$CLOSE_TAG_SPAN}", + "productLabel.textinput.environmentalyFriendlyProduction.label": "Production respectueuse de l'environnement", + "productLabel.textinput.environmentalyFriendlyProduction.helpText": "Décrivez l'impact de votre production sur l'environnement et comment vous réduisez la pollution, utilisez vos déchets, pratiquez une production circulaire... (max 1000 caractères)", + "productLabel.textinput.environmentalyFriendlyProduction.errorLimit": "{$START_TAG_SPAN} Le texte dépasse la limite de caractères autorisée {$CLOSE_TAG_SPAN}", + "productLabel.textinput.sustainablePackaging.label": "Emballage durable", + "productLabel.textinput.sustainablePackaging.helpText": "Décrivez la durabilité environnementale de votre emballage - utilisez-vous des matériaux recyclés, votre emballage est-il recyclable, le collectez-vous pour le réutiliser ? (max 1000 caractères)", + "productLabel.textinput.sustainablePackaging.error": "{$START_TAG_SPAN} Le texte dépasse la limite de caractères autorisée {$CLOSE_TAG_SPAN}", + "productLabel.textinput.co2Footprint.label": "Empreinte CO2", + "productLabel.textinput.co2Footprint.helpText": "Si vous avez calculé l'empreinte CO2 de votre entreprise, veuillez ajouter cette information. N'oubliez pas d'inclure votre empreinte CO2 annuelle.", + "productLabel.languge.label": "Langue", + "productLabel.textinput.gdprText.label": "Texte RGPD", + "productLabel.textinput.privacyPolicyText.label": "Texte de politique de confidentialité", + "productLabel.textinput.termsOfUseText.label": "Texte des conditions d'utilisation", + "productLabel.tinymce.comparisonOfPriceDescription.label": "Description", + "productLabel.textinput.comparisonOfPrice.worldMarket": "Prix du marché mondial (USD/livre)", + "productLabel.textinput.comparisonOfPrice.fairTrade": "Prix minimum Commerce Équitable + Prime (USD/livre)", + "productLabel.textinput.comparisonOfPrice.containerSize": "Taille du conteneur", + "productLabel.companyName.label": "Nom de l'entreprise", + "productLabel.companyLogo.label": "Logo de l'entreprise", + "productLabel.companyHeadquarters.label": "Siège social", + "productLabel.aboutTheCompany.label": "À propos de l'entreprise", + "productLabel.nameOfManagerCEO.label": "Nom du gérant/PDG", + "productLabel.contactEmail.label": "E-mail de contact", + "productLabel.contactPhoneNumber.label": "Numéro de téléphone", + "productLabel.companyWebPage.label": "URL du site web", + "productLabel.facebook.label": "URL Facebook", + "productLabel.instagram.label": "URL Instagram", + "productLabel.twitter.label": "URL Twitter", + "productLabel.youtube.label": "URL YouTube", + "productLabel.other.label": "Autre URL", + "productLabel.labelsSection.labels": "Étiquettes QR", + "productLabel.qrLabels.publish": "Publier", + "productLabel.qrLabels.unpublish": "Dépublier", + "productLabel.qrLabels.untitled": "SANS NOM", + "productLabel.loadLabel.warning.title": "Erreur", + "productLabel.loadLabel.warning.message": "Données non sauvegardées. Veuillez sauvegarder les modifications avant de créer une nouvelle étiquette.", + "productLabel.newProduct.error.title": "Erreur", + "productLabel.newProduct.error.message": "Données d'entreprise incorrectes. Impossible de créer un produit.", + "productLabel.saveProduct.error.title": "Erreur", + "productLabel.saveProduct.error.message": "Erreurs sur la page. Veuillez vérifier !", + "productLabel.create.error.title": "Erreur", + "productLabel.create.error.message": "Erreurs sur la page. Veuillez vérifier !", + "productLabel.createLabel.warning.title": "Erreur", + "productLabel.createLabel.warning.message": "Données non sauvegardées. Veuillez sauvegarder les modifications avant de créer une nouvelle étiquette.", + "productLabel.createLabel.error.title": "Erreur", + "productLabel.createLabel.error.message": "Impossible de créer une étiquette. Veuillez d'abord créer et sauvegarder le produit.", + "productLabel.deleteLabel.warning.title": "Erreur", + "productLabel.deleteLabel.warning.message": "Données non sauvegardées. Veuillez sauvegarder les modifications avant de supprimer l'étiquette.", + "productLabel.togglePublish.success.title.published": "Publié", + "productLabel.togglePublish.success.title.withdrawn": "Retiré", + "productLabel.togglePublish.success.message.published": "L'étiquette a été publiée avec succès.", + "productLabel.togglePublish.success.message.withdrawn": "L'étiquette n'est plus publiée.", + "productLabel.togglePublish.error.title": "Erreur", + "productLabel.togglePublish.error.message": "L'opération ne peut pas être exécutée. Veuillez réessayer.", + "productLabel.downloadInstructions.error.title": "Erreur", + "productLabel.downloadInstructions.error.message": "Le PDF ne peut pas être généré. Veuillez réessayer.", + "productLabel.prefillFromOther.title": "Produits", + "productLabel.prefillFromOther.instructionsHtmlProduct": "Sélectionnez un produit", + "productLabel.prefillCertsFromOther.title": "Produits", + "productLabel.prefillCertsFromOther.instructionsHtmlProduct": "Sélectionnez un produit", + "productLabel.languageCodes.en": "EN", + "productLabel.languageCodes.de": "DE", + "productLabel.label.textinput.label.name": "Nom de l'étiquette", + "productLabel.label.textinput.label.photo": "Photo de l'étiquette", + "productLabel.label.textinput.label.description": "Description de l'étiquette", + "productLabel.label.textinput.placeholder.name": "Entrez le nom de l'étiquette", + "productLabel.product.textinput.label.name": "Nom du produit", + "productLabel.product.textinput.label.photo": "Photo du produit", + "productLabel.product.textinput.label.description": "Description du produit", + "productLabel.product.textinput.placeholder.name": "Entrez le nom du produit", + "productLabel.newLabelModal.title": "Créer une nouvelle étiquette", + "productLabel.newLabelModal.textinput.title.label": "Titre de l'étiquette", + "productLabel.newLabelModal.textinput.title.placeholder": "Entrez le titre de l'étiquette", + "productLabel.newLabelModal.textinput.title.error.required": "Le titre de l'étiquette est requis", + "productLabel.newLabelModal.select.lang.label": "Sélectionnez la langue de l'étiquette", + "productLabel.newLabelModal.select.lang.error.required": "La langue de l'étiquette est requise", + "productList.title.companies": "Produits", + "productList.button.newProducts": "{$START_TAG_SPAN}Nouveau produit{$CLOSE_TAG_SPAN}", + "productList.subTitle.listOfProducts": "Liste des produits", + "productList.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productList.filter.showActive": "Afficher actifs", + "productList.filter.showDisabled": "Afficher désactivés", + "productList.filter.show": "Afficher {$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productList.filter.myProducts": "Mes produits {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productList.filter.showMyProducts": "Afficher mes produits", + "productList.noProducts": "Aucun produit", + "productList.statusList.all": "Tous", + "productList.statusList.active": "Actifs", + "productList.statusList.disabled": "Désactivés", + "productList.createProductForCompanyAndValueChain.title": "Entreprise et chaîne de valeur du produit", + "productList.createProductForCompanyAndValueChain.companyInstructionsHtml": "Sélectionnez une entreprise pour votre produit :", + "productList.createProductForCompanyAndValueChain.valueChainInstructionsHtml": "Sélectionnez une chaîne de valeur pour votre produit", + "productList.createProductForCompany.title": "Entreprise du produit", + "productList.createProductForCompany.instructionsHtml": "Sélectionnez une entreprise pour votre produit :", + "front-page.button.productJourney": "PARCOURS DU PRODUIT", + "frontPage.journey.yourScan": "Votre scan", + "front-page.journey.processing": "Transformation", + "frontPage.journey.harvesting": "Récolte", + "frontPage.journey.farmersFromCooperative": "Fermiers de {$INTERPOLATION}", + "frontPage.journey.title": "Parcours du produit", + "front-page.fair-prices.paragraph1": "Votre paquet de café fait partie de la commande numéro {$INTERPOLATION}. Ci-dessous, vous pouvez voir combien les producteurs locaux ont été payés pour cette commande {$UNIT} en comparaison avec le prix du marché mondial et les prix minimums du Commerce Équitable.", + "frontPage.fair-prices.title": "Prix équitables", + "frontPage.fair-prices.title2": "Augmentation du revenu des fermiers grâce à", + "frontPage.fair-prices.barChart.label1": "Prix du marché mondial pour le café Arabica", + "frontPage.fair-prices.barChart.label2": "Prix Commerce Équitable", + "frontPage.fair-prices.barChart.label1Farmers": "Prix payé si vendu comme {$INTERPOLATION}", + "frontPage.fair-prices.barChart.label2Farmers": "Prix moyen payé si non vendu comme {$INTERPOLATION}", + "frontPage.fair-prices.barChart.label0Farmers": "Augmentation en % par kg de café vendu", + "frontPage.producers.title.meetFarmers": "Rencontrez les fermiers", + "frontPage.producers.title.meetCooperative": "Rencontrez l'organisation de producteurs", + "frontPage.producers.title.meetOwner": "En savoir plus sur {$INTERPOLATION}", + "frontPage.producers.title.email": "E-mail de contact", + "frontPage.producers.title.phone": "Numéro de téléphone", + "frontPage.producers.title.webPage": "Site web de l'entreprise", + "frontPage.producers.title.headquarters": "Siège social", + "frontPage.quality.paragraph.points": "Le graphique montre le score de qualité de ce paquet de {$START_TAG_STRONG}{$INTERPOLATION}{$CLOSE_TAG_STRONG} en comparaison avec le niveau minimum de 80 points pour le café de spécialité selon la Specialty Coffee Association (SCA).", + "frontPage.quality.cert.button.download": "{$START_TAG_SPAN}Télécharger{$CLOSE_TAG_SPAN}", + "frontPage.quality.cert.paragraph.valid": "valide : {$INTERPOLATION}", + "frontPage.quality.title": "Qualité et Certificats", + "frontPage.quality.flavourProfile": "Profil aromatique", + "frontPage.quality.roastingProfile": "Profil de torréfaction", + "frontPage.quality.certificates": "Certificats", + "frontPage.quality.chart.label1": "80 points = café de spécialité", + "frontPage.quality.chart.label2": "{$PH} points", + "frontPage.feedback.textinput.text.label": "Les producteurs de {$INTERPOLATION} attendent vos retours (ce que vous aimez/n'aimez pas)", + "frontPage.feedback.textinput.feedback.small": "Décrivez en max 500 caractères.", + "frontPage.feedback.questions": "Veuillez également répondre aux questions suivantes :", + "frontPage.feedback.taste": "1. Comment évaluez-vous le goût de {$INTERPOLATION} par rapport à d'autres produits que vous consommez ?", + "frontPage.feedback.prepare": "2. Comment avez-vous préparé {$INTERPOLATION} ? (choix multiple possible)", + "frontPage.feedback.checkbox-input.filterCoffee": "Filtre à café", + "frontPage.feedback.checkbox-input.espresso": "Machine à espresso", + "frontPage.feedback.checkbox-input.frenchPress": "French press", + "frontPage.feedback.checkbox-input.fullyAutomatic": "Machine automatique", + "frontPage.feedback.checkbox-input.stovetop": "Cafetière italienne", + "frontPage.feedback.textinput.other.label": "Autre", + "frontPage.feedback.textinput.age.label": "2. Votre âge", + "frontPage.feedback.textinput.age.placeholder": "Entrez votre âge", + "frontPage.feedback.gender": "3. Genre", + "frontPage.feedback.textinput.email.label": "Si vous souhaitez une réponse de notre part, veuillez fournir votre adresse e-mail", + "frontPage.feedback.textinput.email.placeholder": "Entrez votre e-mail", + "frontPage.feedback.permissioToContact": "Autorisation de contact", + "frontPage.feedback.checkbox-input.gdprConsent": "Consentement RGPD", + "frontPage.feedback.button.submit": "{$START_TAG_SPAN}Soumettre{$CLOSE_TAG_SPAN}", + "frontPage.feedback.textinput.feedback.errorMaxLength": "Le retour ne doit pas dépasser 500 caractères.", + "frontPage.feedback.textinput.email.error": "L'e-mail est dans un format incorrect", + "frontPage.feedback.checkbox-input.gdprConsent.error": "Le consentement RGPD est requis", + "frontPage.feedback.title": "Retour", + "frontPage.feedback.success.title": "Soumis", + "frontPage.feedback.success.message": "Soumis avec succès.", + "frontPage.feedback.error.title": "Quelque chose s'est mal passé", + "frontPage.feedback.error.message": "Veuillez réessayer.", + "frontPage.feedback.statusList.registred": "Éloge", + "frontPage.feedback.statusList.active": "Proposition", + "frontPage.feedback.statusList.deactivated": "Plainte", + "frontPage.feedback.ageCodes.male": "Homme", + "frontPage.feedback.ageCodes.female": "Femme", + "frontPage.feedback.ageCodes.na": "N/A", + "frontPage.feedback.tasteCodes.better": "Meilleur", + "frontPage.feedback.tasteCodes.same": "Pareil", + "frontPage.feedback.tasteCodes.worse": "Pire", + "productLabelFPQExplorer.title.supply": "Explorateur F-P-Q", + "productLabelStockBulkPayments.section.basicInfo": "Informations de base", + "productLabelStockBulkPayments.datepicker.date.label": "Date de paiement", + "productLabelStockBulkPayments.textinput.payableFromForm.label": "Payable à partir de", + "productLabelStockBulkPayments.textinput.payableTo.or": "ou", + "productLabelStockBulkPayments.textinput.payableTo.company": "Entreprise", + "productLabelStockBulkPayments.textinput.payableTo.collector": "Collecteur", + "productLabelStockBulkPayments.textinput.payableTo.farmer": "Fermier", + "productLabelStockBulkPayments.label.paymentPurpose": "Objet du paiement", + "productLabelStockBulkPayments.textinput.paymentDescription.label": "Description du paiement", + "productLabelStockBulkPayments.textinput.amount.label": "Montant total payé", + "productLabelStockBulkPayments.textinput.amount.placeholder": "Entrez le montant total payé", + "productLabelStockBulkPayments.textinput.receiptNumber.label": "Numéro de reçu", + "productLabelStockBulkPayments.textinput.receiptNumber.placeholder": "Entrez le numéro de reçu", + "productLabelStockBulkPayments.section.additionalProofs": "Preuves supplémentaires", + "productLabelStockBulkPayments.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Sauvegarder{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelStockBulkPayments.datepicker.date.error": "La date de paiement est requise", + "productLabelStockBulkPayments.textinput.paymentPurpose.error": "L'objet du paiement est requis", + "productLabelStockBulkPayments.textinput.totalPurchased.label": "Total acheté dans la/les commande(s) sélectionnée(s) (kg)", + "productLabelStockBulkPayments.textinput.totalPurchased.placeholder": "Entrez le total acheté dans la/les commande(s) sélectionnée(s) (kg)", + "productLabelStockBulkPayments.textinput.paymentPerKg.label": "Paiement par kg (RWF)", + "productLabelStockBulkPayments.textinput.paymentPerKg.placeholder": "Entrez le paiement par kg (RWF)", + "productLabelStockBulkPayments.textinput.totalBalance.label": "Solde total à payer (RWF)", + "productLabelStockBulkPayments.textinput.totalBalance.placeholder": "Entrez le solde total à payer (RWF)", + "productLabelStockBulkPayments.textinput.paymentPerKg.error": " Le paiement par kg est requis ", + "productLabelStockBulkPayments.textinput.amount.error": "Le montant total est requis", + "productLabelStockBulkPayments.textinput.additionalCosts.label": "Coûts supplémentaires", + "productLabelStockBulkPayments.textinput.additionalCosts.placeholder": "Entrez les coûts supplémentaires", + "productLabelStockBulkPayments.textinput.additionalCostDescription.label": "Description des coûts supplémentaires", + "productLabelStockBulkPayments.textinput.receiptNumber.error": "Le numéro de reçu est requis", + "productLabelStockBulkPayments.section.purchaseOrders": "Livraisons à payer", + "productLabelStockBulkPayments.textinput.origin.name": "Nom", + "productLabelStockBulkPayments.textinput.origin.paying": "Paiement", + "productLabelStockBulkPayments.textinput.origin.amount": "Coût", + "productLabelStockBulkPayments.textinput.origin.purchased": "Acheté (kg)", + "productLabelStockBulkPayments.textinput.origin.balance": "Solde", + "productLabelStockBulkPayments.textinput.paying.error": "Doit être inférieur ou égal au solde", + "productLabelStockBulkPayments.section.purchaseOrdersNoBankAccount": "Les livraisons ne peuvent pas être payées", + "productLabelStockBulkPayments.noBankAccount": "Le compte bancaire du destinataire {$START_LINK}{$INTERPOLATION}{$INTERPOLATION_1}{$INTERPOLATION_2}{$CLOSE_LINK} est manquant", + "productLabelStockBulkPayments.section.payments": "Paiements", + "productLabelStockBulkPayments.list-editor.payments.label": "Liste des paiements", + "productLabelStockBulkPayments.list-editor.additionalProofs.label": "Liste des preuves supplémentaires", + "productLabelStockBulkPayments.list-editor.additionalProofs.addText": "Ajouter un document", + "productLabelStockBulkPayments.payableTo.multiple": "Multiple", + "productLabelStockBulkPayments.newTitle": "Nouveau paiement groupé", + "productLabelStockBulkPayments.updateTitle": "Mettre à jour le paiement groupé", + "productLabelStockBulkPayments.paymentPurposeTypes.advancedPayment": "Acompte", + "productLabelStockBulkPayments.paymentPurposeTypes.firstInstallment": "Paiement initial", + "productLabelStockBulkPayments.paymentPurposeTypes.secondInstallment": "Bonus membre", + "productLabelStockBulkPayments.paymentPurposeTypes.womenPreminum": "Prime AF Women", + "productLabelStockBulkPayments.paymentPurposeTypes.invoicePayment": "Paiement de facture", + "productLabelStockPayments.section.basicInfo": "Informations de base", + "productLabelStockPayments.modal.footer.buttons": "{$START_TAG_BUTTON}{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPAN}Enregistrer{$CLOSE_TAG_SPAN}{$CLOSE_TAG_BUTTON}", + "productLabelStockPayments.newTitle": "Nouveau paiement", + "productLabelStockPayments.updateTitle": "Mettre à jour le paiement", + "stockOrdersForOrganization.input.placehoder": "Sélectionner la livraison", + "facilityStockOrderPaymentModal.modal.button.cancel": "{$START_TAG_SPAN}Annuler{$CLOSE_TAG_SPAN}", + "facilityStockOrderPaymentModal.modal.button.confirm": "{$START_TAG_SPAN}Confirmer{$CLOSE_TAG_SPAN}", + "facilityStockOrderPaymentModal.singleChoice.farmers": "Agriculteur", + "facilityStockOrderPaymentModal.singleChoice.womenOnly": "Uniquement femmes", + "facilityStockOrderPaymentModal.singleChoice.deliveryDate": "Date de livraison", + "facilityStockOrderPaymentModal.title": "Sélectionner l'agriculteur et la livraison", + "facilityStockOrderPaymentModal.womenShareTypes.yes": "OUI", + "facilityStockOrderPaymentModal.womenShareTypes.no": "NON", + "productLabelPayments.tableCol.view": "Voir", + "productLabelPayments.tableCol.confirm": "Confirmer", + "productLabelPayments.noPayments": "Aucun paiement trouvé", + "productLabelPayments.delete.error.message": "Êtes-vous sûr de vouloir supprimer ce paiement ?", + "productLabelPayments.confirm.error.message": "Êtes-vous sûr de vouloir confirmer ce paiement ?", + "productLabelPayments.confirmPayments.error.message": "Êtes-vous sûr de vouloir confirmer les paiements ?", + "productLabelPayments.confirmPaymentsCsv.success.message": "Le CSV des paiements a été généré correctement dans les téléchargements.", + "productLabelStock.confirmPurchasesCsv.success.message": "Le CSV des achats a été généré correctement dans les téléchargements.", + "productLabelBulkPayments.tableCol.view": "Voir", + "productLabelBulkPayments.noPayments": "Aucun paiement trouvé", + "productLabelBulkPayments.sortOptions.name.name": "Numéro de reçu", + "productLabelBulkPayments.sortOptions.paymentPurposeType.name": "Objet du paiement", + "productLabelBulkPayments.sortOptions.amount.name": "Montant", + "productLabelBulkPayments.sortOptions.actions.name": "Actions", + "productLabelBulkPayments.delete.error.message": "Êtes-vous sûr de vouloir supprimer ce paiement ?", + "productLabelStock.title.payments": "Paiements", + "productLabelStock.subTitle.listOfPayments": "Liste des paiements", + "productLabelStock.subTitle.showingPayments": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.button.newPayment": "{$START_TAG_SPAN}+ Ajouter un paiement{$CLOSE_TAG_SPAN}", + "productLabelStock.button.export": "Exporter", + "productLabelStock.filter.paymentStatus.confirmed": "Confirmé", + "productLabelStock.filter.paymentStatus.unconfirmed": "Non confirmé", + "productLabelPayments.button.confirmPayments": "Confirmer les paiements", + "productLabelPayments.button.export": "Exporter les données", + "productLabelStock.filter.paymentStatus.status": "Statut {$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelPayments.datepicker.date.from": "De", + "productLabelPayments.datepicker.date.to": "À", + "productLabelStock.title.bulkPayments": "Paiements groupés", + "productLabelStock.subTitle.listOfBulkPayments": "Liste des paiements groupés", + "productLabelStock.subTitle.showingBulkPayments": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "breadCrumb.bulkPayment.myStock": "Mon stock", + "breadCrumb.bulkPayment.bulkPayment": "Paiement groupé", + "breadCrumb.payments.myStock": "Mon stock", + "breadCrumb.payments.payment": "Paiement du solde", + "orderHistoryView.button.edit": "{$START_TAG_SPAN}Modifier{$CLOSE_TAG_SPAN}", + "orderHistoryView.formTitle.basicInformation": "Informations de base", + "orderHistoryView.tableCol.identifier": "Identifiant", + "orderHistoryView.tableCol.internalLotNumber": "Nom interne du lot", + "orderHistoryView.tableCol.facilityName": "Installation", + "orderHistoryView.tableCol.product": "Produit", + "orderHistoryView.tableCol.semiProduct": "Semi-produit", + "orderHistoryView.tableCol.finalProduct": "Produit final", + "orderHistoryView.tableCol.created": "Créé", + "orderHistoryView.tableCol.formalCreationTime": "Date de création formelle", + "orderHistoryView.tableCol.lastChange": "Dernière modification", + "orderHistoryView.tableCol.productionDate": "Date de production", + "orderHistoryView.tableCol.comment": "Commentaire", + "orderHistoryView.formTitle.processingInformation": "Informations de traitement", + "orderHistoryView.tableCol.orderType": "Type de commande", + "orderHistoryView.tableCol.outputs": "Sorties", + "orderHistoryView.tableCol.processingAction": "Action de traitement", + "orderHistoryView.tableCol.sibilingOrders": "Commandes sœurs", + "orderHistoryView.tableCol.triggerOrders": "Commandes déclenchantes pour cette commande", + "orderHistoryView.tableCol.triggeredOrders": "Commandes déclenchées", + "orderHistoryView.tableCol.semiProductName": "Agriculteur", + "orderHistoryView.tableCol.farmerRepresentative": "Représentant de l'agriculteur", + "orderHistoryView.tableCol.costPaidBalance": "Coût / Payé / Solde", + "orderHistoryView.tableCol.inputs": "Entrées", + "productLabelStock.title.allStockOrders": "Tout le stock", + "productLabelStock.facility.select.desc": "Veuillez sélectionner une installation pour voir la liste des commandes.", + "productLabelStock.subTitle.listOfOrders": "Liste des commandes", + "productLabelStock.subTitle.listOfGroupedOrders": "Liste des commandes groupées", + "productLabelStock.subTitle.showingOrders": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelStock.subTitle.groupedOrdersButton": "Vue groupée", + "productLabelStock.subTitle.singleOrdersButton": "Vue individuelle", + "productLabelStock.filter.purchaseOrderOnly.filter": "Livraisons uniquement {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelStock.filter.availableOnly.filter": "Disponible uniquement {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelStock.filter.purchaseOrderOnly.button": "Livraison uniquement", + "productLabelStock.filter.availableOnly.button": "Disponible uniquement", + "breadCrumb.stockOrders.stockOrders": "Commandes de stock", + "breadCrumb.stockOrders.stockOrderView": "Détails de la commande de stock", + "productLabelSupply.title.supply": "Approvisionnement", + "activeCollectingFacility.input.placehoder": "Sélectionner l'installation", + "quoteOrdersOnOrganization.input.placehoder": "Sélectionner la commande", + "productLabelStock.search.purchase": "livraison", + "productLabelStock.purchase.warning.title": "Installation manquante", + "productLabelStock.purchase.warning.message": "Veuillez sélectionner une installation avant de continuer", + "productLabelStock.warning.button.ok": "OK", + "productLabelPayments.sortOptions.paymentPurposeType.name": "Objet du paiement", + "productLabelPayments.sortOptions.amount.name": "Montant payé à l'agriculteur", + "productLabelPayments.sortOptions.amount.company.name": "Montant payé (EUR)", + "productLabelPayments.sortOptions.producer_name.name": "Nom de l'agriculteur", + "productLabelPayments.sortOptions.company_name.name": "Nom de la société", + "productLabelPayments.sortOptions.deliveryDate.name": "Date de livraison", + "productLabelPayments.sortOptions.paymentDate.name": "Date de paiement", + "productLabelPayments.sortOptions.paymentStatus.name": "Statut", + "productLabelPayments.sortOptions.wayOfPayment.name": "Mode de paiement", + "productLabelPayments.sortOptions.actions.name": "Actions", + "processingEvidenceType.input.placehoder": "Sélectionner le type de document", + "productLabelStock.search.receipt": "reçu", + "productLabelPurchaseOrder.sortOptions.date.name": "Date", + "productLabelPurchaseOrder.sortOptions.quantityAvailable.name": "Quantité / Disponible (kg)", + "productLabelProcessingAction.selectRequiredFields": "Sélectionner les champs requis :", + "productLabelProcessingAction.textinput.maxOutputWeight.label": "Poids maximal de sortie en kg", + "productLabelProcessingAction.newProcessingAction.field.transactionType": "Type de transaction", + "productLabelProcessingAction.newProcessingAction.field.portOfLanding": "Port de chargement", + "processingActionList.tableCol.view": "Voir", + "processingActionList.tableCol.delete": "Supprimer", + "frontPage.fair-prices.USD": "$ (USD)", + "frontPage.quality.paragraph.flavor": "Corps doux, saveur de cassonade, d'orange et de miel, acidité équilibrée, finale propre et douce.", + "productLabel.title": "Étiquettes QR", + "productLabel.section.valueChain": "Chaîne de valeur", + "productLabel.section.product": "Produit", + "productLabel.labelActions.download": "{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}Télécharger", + "productLabel.textinput.productName.label": "Nom du produit", + "productLabel.textinput.productName.placeholder": "Entrer le nom du produit", + "productLabel.attachment-uploader.productPhoto.label": "Photo du produit", + "productLabel.textinput.productDesc.label": "Description du produit", + "productLabelOrder.title.allOrders": "Toutes les commandes", + "productLabelOrder.title.dashboard": "Tableau de bord", + "facilityStockOrderPaymentModal.singleChoice.stockOrderForPayments": "Livraison", + "productLabelPayments.sortOptions.name.name": "Numéro de reçu", + "productLabelPayments.sortOptions.amountTotal.name": "Total payé (RWF)", + "productLabelPayments.sortOptions.purchaseOrderName.name": "Nom de la livraison", + "productLabelStockProcessingOrderDetail.textinput.inputQuantity.label": "Quantité d'entrée en kg", + "productLabelStockProcessingOrderDetail.textinput.outputQuantity.label": "Quantité de sortie en kg", + "productLabelStockProcessingOrderDetail.textinput.pricePerUnit.label": "Prix par unité", + "productLabelStockProcessingOrderDetail.textinput.pricePerUnit.placeholder": "Entrer le prix par unité (RWF)", + "productLabelStockProcessingOrderDetail.choice.grade.label": "Grade", + "productLabelStockProcessingOrderDetail.gradeAbbreviation.error": "Le grade est requis", + "productLabelStockProcessingOrderDetail.textinput.screenSize.label": "Taille de tamis", + "productLabelStockProcessingOrderDetail.textinput.screenSize.placeholder": "Entrer la taille de tamis", + "productLabelStockProcessingOrderDetail.screenSize.textinput.error": "La taille de tamis est requise", + "productLabelStockProcessingOrderDetail.textinput.lotNumber.label": "Numéro de lot d'exportation", + "productLabelStockProcessingOrderDetail.textinput.lotNumber.placeholder": "Entrer le numéro de lot d'exportation", + "productLabelStockProcessingOrderDetail.lotNumber.textinput.error": "Le numéro de lot d'exportation est requis", + "productLabelStockProcessingOrderDetail.textinput.lotLabel.label": "Étiquette de lot", + "productLabelStockProcessingOrderDetail.textinput.lotLabel.placeholder": "Entrer l'étiquette de lot", + "productLabelStockProcessingOrderDetail.lotLabel.textinput.error": "L'étiquette de lot est requise", + "productLabelStockProcessingOrderDetail.outputClientNameForm.label": "Nom du client", + "productLabelStockProcessingOrderDetail.outputClientNameForm.error": "Le nom du client est requis", + "productLabelStockProcessingOrderDetail.transactionType.label": "Type de transaction", + "productLabelStockProcessingOrderDetail.transactionType.error": "Le type de transaction est requis", + "productLabelStockProcessingOrderDetail.textinput.flavourProfile.label": "Profil de saveur", + "productLabelStockProcessingOrderDetail.textinput.flavourProfile.placeholder": "Entrer le profil de saveur", + "productLabelStockProcessingOrderDetail.flavourProfile.textinput.error": "Le profil de saveur est requis", + "productLabelStockProcessingOrderDetail.requiredEvidence.error": "Tous les documents requis (*) ou au moins un document doivent être téléchargés", + "productLabelStockProcessingOrderDetail.updateTitle": "Mettre à jour la commande de traitement", + "productLabelStockProcessingOrderDetail.sacNetWLabel": "Poids net du sac (max. {$PH} kg)", + "facilityCard.actions.addPurchaseOrder": "Ajouter une livraison", + "productLabelStock.title.allOrders": "Toutes les commandes", + "allOrganization.input.placehoder": "Sélectionner ...", + "semiProductDetail.section.users": "Utilisateurs", + "companyDetail.textinput.search-field.placeholder": "Taper le nom de famille pour ajouter un utilisateur ...", + "register.checkbox-input": "Oui, j'accepte vos conditions", + "settingsPage.title.actionTypes": "Types d'action", + "settingsPage.button.newActionType": "{$START_TAG_SPAN}+ Ajouter{$CLOSE_TAG_SPAN}", + "settingsPage.subTitle.listOfActionTypes": "Liste des types d'action", + "settingsPage.subTitle.showingActionTypes": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "formatProcessingActionType.shipment": "Expédition", + "stockOrderTypePipe.generalOrder": "CO", + "productLabel.sideTitle.supply": "Approvisionnement", + "productLabel.sideTitle.FPQExplorer": "Explorateur F-P-Q", + " ": "Tous droits réservés.", + "productLabelProcessingAction.procesingTransactionType.shipment": "Expédition", + "typeDetailModal.processingEvidenceType.checkbox.requiredOnQuote.label": "Requis sur le devis", + "settingsTypes.sortOptions.label.requiredOnQuote": "Req. sur devis", + "productLabelStock.filter.womenOnly.womenOnly": "{$INTERPOLATION} {$START_TAG_DIV}{$START_TAG_FA_ICON}{$CLOSE_TAG_FA_ICON}{$CLOSE_TAG_DIV}", + "productLabelProcessingAction.textinput.search-field.label": "Types de documents de preuve de traitement requis", + "productLabelStock.facility.select.title": "Installation sélectionnée", + "productLabelPurchaseOrder.sortOptions.quantityFulfilled.name": "Quantité / Réalisée (kg)", + "productLabel.button.updateProductData": "Mettre à jour les données du produit", + "front-page.AngeliquesFinest": "Le meilleur d'{$START_TAG_SPAN}Angelique{$CLOSE_TAG_SPAN}", + "frontPage.header.AngeliquesFinest": "Le meilleur d'Angelique", + "productLabelStockProcessingOrderDetail.textinput.deliveryTime.label": "Date de livraison", + "productLabelStockProcessingOrderDetail.deliveryTime.textinput.error": "La date de livraison est requise", + "productLabel.button.updateLabelData": "Mettre à jour les données de l'étiquette", + "productLabel.updateProductData.error.title": "Erreur", + "productLabel.updateProductData.error.message": "Données non enregistrées. Veuillez enregistrer les modifications avant de continuer.", + "ordersAllOrders.selectedCustomer.singleChoice.label": "Client", + "productLabelStockProcessingOrderDetail.textinput.companyCustomer.label": "Client", + "productLabelStockProcessingOrderDetail.singleChoice.companyCustomer.error": "Le client est requis", + "collectorDetail.section.totalPaidToFarmer": "Total payé", + "collectorDetail.section.kgBrought": "Total apporté", + "productLabelProcessingAction.checkbox.mandatory": "Obligatoire", + "productLabelProcessingAction.checkbox.requiredOnQuote": "Req. sur devis", + "cuppingGrade.": "La date est requise", + "frontPage.fair-prices.percent": "% (pourcentage)", + "generateQRCode.title": "QR Codes", + "codebookTranslations.c_action_type.label.CBT_3603524e-0743-4607-848c-c88dbde607d7.label": "Transfert", + "codebookTranslations.c_action_type.label.CBT_46980ada-d1db-469a-abd8-c7bef4a48f53.label": "Annoter", + "codebookTranslations.c_action_type.label.CBT_b02e10b9-0709-4714-a515-8f49a68f7d02.label": "Devis", + "codebookTranslations.c_grade_abbreviation.label.CBT_066422b0-c2de-4d06-ac92-89373b155b1f.label": "B", + "codebookTranslations.c_grade_abbreviation.label.CBT_98170b68-36f8-4bfe-87dd-cbc1d1ead2b7.label": "A3", + "codebookTranslations.c_grade_abbreviation.label.CBT_a187eb8b-3e6e-4c95-94c4-ce9e3d6cb1a8.label": "C", + "codebookTranslations.c_measure_unit_type.label.CBT_ab75f627-235a-4e24-952e-ac8d5c3e6fa6.label": "articles (en paquet de 500g)", + "codebookTranslations.c_measure_unit_type.label.CBT_d96a974e-c68d-46d7-a1d9-a555b55b75b4.label": "kg (en sac FIBC)", + "codebookTranslations.c_process_evidence_type.label.CBT_0004c2be-e440-4d41-a443-32941d64b457.label": "Port de déchargement", + "codebookTranslations.c_process_evidence_type.label.CBT_0a9e1b8a-c982-4843-9a9b-2362e96042a0.label": "Début du séchage", + "codebookTranslations.c_process_evidence_type.label.CBT_143effc1-c3e0-411d-8c29-f179c65c98ba.label": "Détails de l'expéditeur", + "codebookTranslations.c_process_evidence_type.label.CBT_16dbc09f-ffb0-4624-9ff7-cffbc89dfcf6.label": "Certificats", + "codebookTranslations.c_process_evidence_type.label.CBT_22199008-c2c7-4029-81a1-3fcbc22c625c.label": "Résultat de dégustation", + "codebookTranslations.c_process_evidence_type.label.CBT_22dee745-523c-4840-8499-262178134c8b.label": "Profil de saveur", + "codebookTranslations.c_process_evidence_type.label.CBT_39d47d5f-1ee1-417e-8290-73e643cd606a.label": "Port de chargement", + "codebookTranslations.c_process_evidence_type.label.CBT_40481d35-3b49-4e06-bda5-11586abf47f5.label": "Saveur de dégustation", + "codebookTranslations.c_process_evidence_type.label.CBT_430445cd-6e10-4206-9442-e0622e414ffd.label": "Date d'expédition du port d'origine", + "codebookTranslations.c_process_evidence_type.label.CBT_4857e3bc-f734-4138-b7d2-fd0c2ad0ccb6.label": "Prix pour l'acheteur", + "codebookTranslations.c_process_evidence_type.label.CBT_57201852-d73f-420a-9914-dbd5d52bf9f8.label": "Étiquette autocollante de lot", + "codebookTranslations.c_process_evidence_type.label.CBT_596f7884-1b73-4820-a8e2-c077765c4bec.label": "Numéro d'exportation LOT", + "codebookTranslations.c_process_evidence_type.label.CBT_5e0e8b8e-e70b-412c-a411-0637378ad32f.label": "Lieu de livraison finale", + "codebookTranslations.c_process_evidence_type.label.CBT_60b3a540-e0f5-4532-acaf-d16ed7ae4633.label": "Café des Femmes - requis", + "codebookTranslations.c_process_evidence_type.label.CBT_61ba23c2-c4de-4721-bb64-d4fe4ebf47ee.label": "Client", + "codebookTranslations.c_process_evidence_type.label.CBT_65d5f698-7d5f-42ae-ad6f-2b78703f2cb9.label": "Détails du transporteur", + "codebookTranslations.c_process_evidence_type.label.CBT_68cf765e-dcf0-49d4-998b-279880c1c555.label": "Taille de tamis", + "codebookTranslations.c_process_evidence_type.label.CBT_6abb0627-3319-436e-a365-046cc7138ffd.label": "Rapport de décorticage", + "codebookTranslations.c_process_evidence_type.label.CBT_6f851e78-90ab-4972-82b6-262490a54c48.label": "Nom du client", + "codebookTranslations.c_process_evidence_type.label.CBT_7af8bb4f-5a4e-433a-807e-afc8eb833018.label": "Date de torréfaction", + "codebookTranslations.c_process_evidence_type.label.CBT_87e2cec6-b288-40a7-856e-8f11145837c8.label": "Date d'arrivée au port de destination", + "codebookTranslations.c_process_evidence_type.label.CBT_95270125-a489-4e92-b4b2-984f7c95cdf5.label": "Prix pour le propriétaire", + "codebookTranslations.c_process_evidence_type.label.CBT_bc247d68-cbcb-4b5e-9983-8cf87f2fb31a.label": "Grade - requis", + "codebookTranslations.c_process_evidence_type.label.CBT_bcd84209-f5c4-4850-8ecb-6e64305a4ee5.label": "Prix pour le client final", + "codebookTranslations.c_process_evidence_type.label.CBT_c686acfb-1cd7-4e9d-aa8e-db15c024dc58.label": "Taux de change chez le client final", + "codebookTranslations.c_process_evidence_type.label.CBT_c83299a9-b880-4f36-99eb-94be0eab5c71.label": "Grade", + "codebookTranslations.c_process_evidence_type.label.CBT_cbd53ec9-6c3f-4685-b50d-2fc17ce2c94a.label": "Taux de change chez l'acheteur", + "codebookTranslations.c_process_evidence_type.label.CBT_cfb11871-ea18-4f21-b328-7179b1c466e4.label": "Fiche de tri manuel", + "codebookTranslations.c_process_evidence_type.label.CBT_d1aeb4c4-9883-4a61-b683-1e563074588d.label": "Prix par unité chez le client final", + "codebookTranslations.c_process_evidence_type.label.CBT_dd9604b5-982d-4f6b-a650-699516cec0df.label": "Profil de torréfaction", + "codebookTranslations.c_process_evidence_type.label.CBT_edf2b563-b5e0-49e0-8b79-5bcb56def07e.label": "Grade de dégustation", + "codebookTranslations.facility.name.CBT_24c9bc50-982a-42cb-ae3e-ff6cc53c9dd9.name": "Stockage parchemin Kibingo", + "codebookTranslations.facility.name.CBT_2882bebe-cde2-4ae6-a10f-bfd98e18418f.name": "Stockage parchemin Maraba", + "codebookTranslations.facility.name.CBT_2c570919-bb59-47c0-a716-158fc5d94824.name": "Stockage parchemin Kabuye", + "codebookTranslations.facility.name.CBT_4ef6e5f0-cd7b-4437-aca8-8aedde18a0e1.name": "Stockage parchemin Cyarumbo", + "codebookTranslations.facility.name.CBT_523b9961-7a75-407e-b5de-42ae6dd1dfd4.name": "Sovu", + "codebookTranslations.facility.name.CBT_b1c3a8ef-350a-4a4f-944b-9aa6ba29a085.name": "Kibingo", + "codebookTranslations.facility.name.CBT_b9f86879-40ff-4c29-a2de-9023202b0b71.name": "Stockage parchemin Sovu", + "codebookTranslations.facility.name.CBT_ce37808a-6317-46fb-a420-b4c305f711c9.name": "Station de décorticage", + "codebookTranslations.facility.name.CBT_e35bfd17-b073-4748-9dae-bf9cdb36d0bf.name": "Stockage café vert Maraba", + "codebookTranslations.facility.name.CBT_f76ff03e-7ee8-46f8-a9f1-bef55848b130.name": "Kabuye", + "codebookTranslations.facility.name.CBT_feb8bf91-10ef-433b-ac8f-71cc32d9c32d.name": "Cyarumbo", + "codebookTranslations.semi_product.name.CBT_262ed5b3-0df3-4b2f-a4d5-48cc5343f145.name": "aucun", + "codebookTranslations.semi_product.description.CBT_262ed5b3-0df3-4b2f-a4d5-48cc5343f145.description": "pour désactiver les actions de traitement", + "codebookTranslations.process_action.name.CBT_0479c8f7-7b08-46dc-9d01-e9f8853fb4dd.name": "D_Déplacement des sacs blancs vers le stockage café vert", + "codebookTranslations.process_action.name.CBT_22c98484-456e-445f-92ab-da46fd710c4a.name": "Commande AFMg pour client", + "codebookTranslations.process_action.name.CBT_3527a02d-e74e-4a20-be57-9218f88fc79c.name": "2_Reconditionnement café vert en sacs Grainpro", + "codebookTranslations.process_action.name.CBT_3a5f9b61-592a-4c2d-b09e-f368a89fefa6.name": "z_à supprimer2", + "codebookTranslations.process_action.name.CBT_4fe0077f-e1ec-499c-b5a6-5ef551ba0f15.name": "5b_Torréfaction AFEg chez Meyer-Horn avec QR Codes", + "codebookTranslations.process_action.name.CBT_500b5e4e-106f-477b-82ad-c32a60c22abd.name": "A_Déplacer parchemin vers station décorticage", + "codebookTranslations.process_action.name.CBT_55fc77ab-ea3b-4916-82e3-2fda391e1b48.name": "5_Déplacer café humide vers lit de séchage", + "codebookTranslations.process_action.name.CBT_62a6d8bc-583e-4055-b6a6-bc97cf18e1fe.name": "2_Flottage, dépulpage, 1er triage et fermentation", + "codebookTranslations.process_action.name.CBT_68bf70f5-4386-4c79-b768-2b66fcbb28d7.name": "5d_Torréfaction AFMg chez Meyer-Horn avec QR codes", + "codebookTranslations.process_action.name.CBT_7b670b42-3555-4d0c-a5e8-414277de9d78.name": "1_Pesée des cerises de café non lavées", + "codebookTranslations.process_action.name.CBT_895e66af-3f39-4240-8643-f841805942c1.name": "C_Triage grains verts + conditionnement en sacs blancs", + "codebookTranslations.process_action.name.CBT_9c7a43cb-ddf9-4bf3-b81f-a306e4d507e6.name": "z_à supprimer3", + "codebookTranslations.process_action.name.CBT_a4d7677d-df3b-4c28-82db-0d119e4315cd.name": "z_à supprimer", + "codebookTranslations.process_action.name.CBT_ac85e6bc-106d-4cf6-bb6b-8cc5fa83f86e.name": "Commande AFEg pour client", + "codebookTranslations.process_action.name.CBT_afeb2746-b53a-42bc-9a7f-86da4d18d0d8.name": "3_Lavage, 2ème triage & déplacement vers tri humide", + "codebookTranslations.process_action.name.CBT_b104d52f-145e-461f-8949-4d77d02ad0cd.name": "Commande AFM pour client", + "codebookTranslations.process_action.name.CBT_cb56cd2f-0a24-4793-be02-c1e82aa3f421.name": "7_Déplacer parchemin vers stockage parchemin Maraba", + "codebookTranslations.process_action.name.CBT_ce36905f-f22f-4271-bdeb-0c66c2e0df10.name": "5c_Torréfaction AFM chez Meyer-Horn avec QR Codes", + "codebookTranslations.process_action.name.CBT_ce993d84-bceb-43e0-870d-571ce5ae31e1.name": "Commande AFE pour client", + "codebookTranslations.process_action.name.CBT_d82b4ff3-0743-4a8a-b1e1-4e46640e418c.name": "B_Décorticage", + "codebookTranslations.process_action.name.CBT_db8d7e3c-d00a-422d-9ace-c8803787fbd8.name": "6_Conditionnement café séché pour stockage CWS", + "codebookTranslations.process_action.name.CBT_fd196e46-9f77-491f-ad30-0b290377fc55.name": "4_Tri humide et séchage à l'air", + "codebookTranslations.process_action.description.CBT_0479c8f7-7b08-46dc-9d01-e9f8853fb4dd.description": "Déplacement sacs Grainpro de la station décorticage vers stockage café vert", + "codebookTranslations.process_action.description.CBT_22c98484-456e-445f-92ab-da46fd710c4a.description": "AFM moulu", + "codebookTranslations.process_action.description.CBT_3527a02d-e74e-4a20-be57-9218f88fc79c.description": "Reconditionnement café vert de sacs blancs en sacs Grainpro à NAEB", + "codebookTranslations.process_action.description.CBT_3a5f9b61-592a-4c2d-b09e-f368a89fefa6.description": "non nécessaire", + "codebookTranslations.process_action.description.CBT_4fe0077f-e1ec-499c-b5a6-5ef551ba0f15.description": "Propriétaire commande torréfaction AFEg", + "codebookTranslations.process_action.description.CBT_500b5e4e-106f-477b-82ad-c32a60c22abd.description": "Déplacer parchemin du stockage vers station décorticage", + "codebookTranslations.process_action.description.CBT_55fc77ab-ea3b-4916-82e3-2fda391e1b48.description": "Déplacer café humide vers lit de séchage", + "codebookTranslations.process_action.description.CBT_62a6d8bc-583e-4055-b6a6-bc97cf18e1fe.description": "Flottage, dépulpage, 1er triage et fermentation", + "codebookTranslations.process_action.description.CBT_68bf70f5-4386-4c79-b768-2b66fcbb28d7.description": "Propriétaire commande torréfaction AFMg", + "codebookTranslations.process_action.description.CBT_7b670b42-3555-4d0c-a5e8-414277de9d78.description": "pesée", + "codebookTranslations.process_action.description.CBT_895e66af-3f39-4240-8643-f841805942c1.description": "Tri manuel des grains et conditionnement pour export", + "codebookTranslations.process_action.description.CBT_9c7a43cb-ddf9-4bf3-b81f-a306e4d507e6.description": "Cerises en voie rapide vers lit de séchage", + "codebookTranslations.process_action.description.CBT_a4d7677d-df3b-4c28-82db-0d119e4315cd.description": "Action de traitement non nécessaire", + "codebookTranslations.process_action.description.CBT_ac85e6bc-106d-4cf6-bb6b-8cc5fa83f86e.description": "Acheteur enregistre commande client final AFEg.", + "codebookTranslations.process_action.description.CBT_afeb2746-b53a-42bc-9a7f-86da4d18d0d8.description": "Lavage et 2ème triage", + "codebookTranslations.process_action.description.CBT_b104d52f-145e-461f-8949-4d77d02ad0cd.description": "Acheteur enregistre commande client final AFM.", + "codebookTranslations.process_action.description.CBT_cb56cd2f-0a24-4793-be02-c1e82aa3f421.description": "Fermentation", + "codebookTranslations.process_action.description.CBT_ce36905f-f22f-4271-bdeb-0c66c2e0df10.description": "Propriétaire commande torréfaction AFM", + "codebookTranslations.process_action.description.CBT_ce993d84-bceb-43e0-870d-571ce5ae31e1.description": "Acheteur enregistre commande client final AFE.", + "codebookTranslations.process_action.description.CBT_d82b4ff3-0743-4a8a-b1e1-4e46640e418c.description": "Décorticage", + "codebookTranslations.process_action.description.CBT_db8d7e3c-d00a-422d-9ace-c8803787fbd8.description": "Conditionnement café séché pour stockage station lavage", + "codebookTranslations.process_action.description.CBT_fd196e46-9f77-491f-ad30-0b290377fc55.description": "Tri humide et séchage à l'air", + "orderHistoryView.processingOrderName.missingHistory": "Historique trop volumineux. Seule une partie est chargée. Suivez les autres liens de commande pour voir le reste.", + "systemLeftPanel.sideTitle.valueChains": "Chaines de valeur", + "valueChainList.title.valueChains": "Chaines de valeur", + "valueChainList.subTitle.listOfValueChains": "Liste des chaines de valeur", + "valueChainList.subTitle.showing": "Affichage {$INTERPOLATION}/{$INTERPOLATION_1}", + "valueChainList.button.newValueChain": "Nouvelle chaine de valeur", + "valueChainList.filter.showEnabled": "Afficher activées", + "valueChainList.filter.showDisabled": "Afficher désactivées", + "valueChainList.sortOptions.name.name": "Nom", + "valueChainList.sortOptions.description.name": "Description", + "valueChainList.sortOptions.status.name": "Statut", + "valueChainList.sortOptions.actions.name": "Actions", + "valueChainList.tableCol.action.edit": "Modifier", + "valueChainList.tableCol.action.view": "Voir", + "valueChainList.tableCol.action.enable": "Activer", + "valueChainList.tableCol.action.disable": "Désactiver", + "valueChainList.tableCol.action.delete": "Supprimer", + "valueChainList.action.enable.success.title": "Activée !", + "valueChainList.action.enable.success.message": "La chaine de valeur a été activée avec succès", + "valueChainList.action.enable.error.title": "Erreur", + "valueChainList.action.enable.error.message": "Impossible d'activer la chaine de valeur", + "valueChainList.action.disable.success.title": "Désactivée !", + "valueChainList.action.disable.success.message": "La chaine de valeur a été désactivée avec succès", + "valueChainList.action.disable.error.title": "Erreur", + "valueChainList.action.disable.error.message": "Impossible de désactiver la chaine de valeur", + "valueChainList.action.delete.error.title": "Erreur", + "valueChainList.action.delete.error.message": "Impossible de supprimer la chaine de valeur", + "valueChainList.action.delete.success.title": "Supprimée !", + "valueChainList.action.delete.success.message": "La chaine de valeur a été supprimée avec succès", + "valueChainDetail.title.edit": "Modifier chaine de valeur", + "valueChainDetail.title.add": "Créer nouvelle chaine de valeur", + "valueChainDetail.section.basicInfo.title": "Informations de base", + "valueChainDetail.section.basicInfo.field.valueChainName.label": "Nom de la chaîne de valeur", + "valueChainDetail.section.basicInfo.field.valueChainName.placeholder": "Entrez le nom de la chaîne de valeur", + "valueChainDetail.section.basicInfo.field.valueChainName.error": "Le nom de la chaîne de valeur est obligatoire", + "valueChainDetail.section.basicInfo.field.description.label": "Description", + "valueChainDetail.section.basicInfo.field.description.placeholder": "Entrez la description de la chaîne de valeur", + "valueChainDetail.section.basicInfo.field.description.error": "La description est obligatoire", + "valueChainDetail.section.basicInfo.field.status.label": "Statut", + "valueChainDetail.section.facilityTypes.title": "Types d'installations", + "valueChainDetail.section.facilityTypes.add.title": "Types d'installations de la chaîne de valeur", + "valueChainDetail.section.facilityTypes.add.label": "Type d'installation", + "valueChainDetail.section.facilityTypes.add.error": "Le type d'installation est obligatoire", + "valueChainDetail.section.measureUnitTypes.title": "Types d'unités de mesure", + "valueChainDetail.section.measureUnitTypes.add.title": "Types d'unités de mesure de la chaîne de valeur", + "valueChainDetail.section.measureUnitTypes.add.label": "Type d'unité de mesure", + "valueChainDetail.section.measureUnitTypes.add.error": "Le type d'unité de mesure est obligatoire", + "valueChainDetail.section.processingEvidenceTypes.title": "Types de preuves de traitement", + "valueChainDetail.section.processingEvidenceTypes.add.title": "Types de preuves de traitement de la chaîne de valeur", + "valueChainDetail.section.processingEvidenceTypes.add.label": "Type de preuve de traitement", + "valueChainDetail.section.processingEvidenceTypes.add.error": "Le type de preuve de traitement est obligatoire", + "valueChainDetail.section.processingEvidenceFields.title": "Champs de preuve de traitement", + "valueChainDetail.section.processingEvidenceFields.add.title": "Champs de preuve de traitement de la chaîne de valeur", + "valueChainDetail.section.processingEvidenceFields.add.label": "Champ de preuve de traitement", + "valueChainDetail.section.processingEvidenceFields.add.error": "Le champ de preuve de traitement est obligatoire", + "valueChainDetail.section.semiProducts.title": "Semi-produits", + "valueChainDetail.section.semiProducts.add.title": "Semi-produits de la chaîne de valeur", + "valueChainDetail.section.semiProducts.add.label": "Semi-produit", + "valueChainDetail.section.semiProducts.add.error": "Le semi-produit est obligatoire", + "valueChainDetail.bottomButtons.createButtonLabel": "Créer", + "valueChainDetail.saveValueChain.error.title": "Erreur", + "valueChainDetail.saveValueChain.error.message": "Erreurs de validation sur la page. Veuillez vérifier !", + "valueChainDetail.createValueChain.error.title": "Erreur", + "valueChainDetail.createValueChain.error.message": "Erreurs de validation sur la page. Veuillez vérifier !", + "settingsTypes.sortOptions.semiProducts.name": "Nom", + "settingsTypes.sortOptions.semiProducts.description": "Description", + "settingsTypes.sortOptions.semiProducts.buyable": "Achetable", + "settingsTypes.sortOptions.semiProducts.sku": "SKU", + "settingsTypes.sortOptions.semiProducts.skuendCustomer": "SKU client final", + "companyDetail.currency": "Devise", + "systemLeftPanel.sideTitle.currencies": "Devises", + "currencyList.tableCol.action.enable": "Activer", + "currencyList.tableCol.action.disable": "Désactiver", + "currencyList.noCurrencies": "Aucune devise", + "currencyList.currency.list": "Liste des devises", + "currencyList.currencies.enabled": "Devises activées", + "currencyList.currencies.disabled": "Devises désactivées", + "currencyList.count": "Affichage de {$INTERPOLATION}/{$INTERPOLATION_1}", + "currencyList.sortOptions.name.name": "Nom", + "currencyList.sortOptions.description.name": "Description", + "currencyList.sortOptions.actions.name": "Actions", + "companyDetail.base.currency": "Devise de base", + "companyDetail.currency.error": "La devise de base est obligatoire", + "productLabelProcessingAction.singleChoice.type.error.requred": "Le type est obligatoire", + "preferredWayOfPayment.cheque": "Chèque", + "preferredWayOfPayment.offsetting": "Compensation", + "productLabelStakeholders.title.importers": "Importateurs", + "productLabelStakeholders.button.newImporter": "{$START_TAG_SPAN}+ Ajouter un importateur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.exporters": "Exportateurs", + "productLabelStakeholders.button.newExporter": "{$START_TAG_SPAN}+ Ajouter un exportateur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.processors": "Transformateurs", + "productLabelStakeholders.button.newProcessor": "{$START_TAG_SPAN}+ Ajouter un transformateur{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.title.traders": "Commerçants", + "productLabelStakeholders.button.newTrader": "{$START_TAG_SPAN}+ Ajouter un commerçant{$CLOSE_TAG_SPAN}", + "productLabelStakeholders.modal.importer.title": "Ajouter un importateur", + "productLabelStakeholders.modal.importer.instructionsHtml": "Sélectionnez une entreprise importatrice", + "productLabelStakeholders.modal.exporter.title": "Ajouter un exportateur", + "productLabelStakeholders.modal.exporter.instructionsHtml": "Sélectionnez une entreprise exportatrice", + "productLabelStakeholders.modal.processor.title": "Ajouter un transformateur", + "productLabelStakeholders.modal.processor.instructionsHtml": "Sélectionnez une entreprise de transformation", + "productLabelStakeholders.modal.trader.title": "Ajouter un commerçant", + "productLabelStakeholders.modal.trader.instructionsHtml": "Sélectionnez une entreprise commerciale", + "productLabelStakeholders.modal.owner.remove.error.title": "Le produit doit avoir au moins un propriétaire. Si vous souhaitez supprimer le propriétaire actuel, ajoutez d'abord un autre propriétaire.", + "productLabelStakeholders.modal.owner.add.warning.title": "Veuillez d'abord ajouter un propriétaire", + "productLabelStockFacilityModal.checkbox.mayInvolveCollectors.label": "Afficher 'Peut impliquer des collecteurs'", + "productLabelStockFacilityModal.checkbox.organic.label": "Afficher 'Biologique'", + "productLabelStockFacilityModal.checkbox.womenOnly.label": "Afficher 'Uniquement femmes'", + "productLabelStockFacilityModal.checkbox.tare.label": "Afficher 'Tare'", + "productLabelStockFacilityModal.checkbox.priceReductionDamage.label": "Afficher 'Réduction de prix pour dommage'", + "productLabelStockPurchaseOrdersModal.organic.yes": "Oui", + "productLabelStockPurchaseOrdersModal.organic.no": "Non", + "productLabelStockPurchaseOrdersModal.singleChoice.organic.label": "Biologique", + "productLabelStockPurchaseOrdersModal.singleChoice.organic.error": "Le champ biologique est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.tare.label": "Tare", + "productLabelStockPurchaseOrdersModal.textinput.tare.placeholder": "Entrez la tare", + "productLabelStockPurchaseOrdersModal.textinput.tare.error": "La tare est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.tareGreaterThanQuantity.error": "La valeur de la tare est supérieure à la quantité", + "productLabelStockPurchaseOrdersModal.textinput.netWeight.placeholder": "Entrez le poids net", + "productLabelStockPurchaseOrdersModal.textinput.netWeight.error": "Le poids net est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.netWeight.label": "Poids net", + "productLabelStockPurchaseOrdersModal.textinput.damagedPriceDeduction.placeholder": "Entrez la réduction de prix pour dommage", + "productLabelStockPurchaseOrdersModal.textinput.damagedPriceDeduction.error": "La réduction de prix pour dommage est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.deductionGreaterThanPrice.error": "La réduction pour dommage est supérieure au prix unitaire", + "productLabelStockPurchaseOrdersModal.textinput.damagedPriceDeduction.label": "Réduction de prix pour dommage", + "productLabelStockPurchaseOrdersModal.textinput.finalPrice.placeholder": "Entrez le prix final", + "productLabelStockPurchaseOrdersModal.textinput.finalPrice.error": "Le prix final est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.finalPrice.label": "Prix final", + "userHome.products.title": "Mes produits", + "userHome.customers.title": "Mes clients", + "userHome.dashboard.title": "Tableau de bord", + "procEvidenceField.fieldName.label": "Nom du champ", + "procEvidenceField.fieldName.placeholder": "Entrez le nom du champ", + "procEvidenceField.fieldName.error.required": "Le nom du champ est obligatoire", + "companyDetail.farmers.importFarmers.button": "{$START_TAG_SPAN}+ Importer des agriculteurs{$CLOSE_TAG_SPAN}", + "companyDetail.farmers.import.title": "Importer des agriculteurs", + "companyDetail.farmers.spreadsheet.label": "Feuille de calcul des agriculteurs", + "companyDetail.farmers.import.button": "Importer", + "companyDetail.farmers.uploadSpreadsheet.label": "Téléchargez une feuille de calcul Excel des agriculteurs (xls, xlsx)", + "companyDetail.farmers.uploadSpreadsheet.error": "Téléchargez uniquement des fichiers de type XLS ou XLSX.", + "companyDetail.farmers.import.success.label": "Agriculteurs importés avec succès. Veuillez vérifier les données dans l'onglet Société > Agriculteurs", + "companyDetail.farmers.import.validationErrors.message": "Il y a des erreurs de validation dans la feuille de calcul fournie. Veuillez les vérifier ci-dessous.", + "companyDetail.farmers.import.validationErrors.label": "Erreurs de validation", + "companyDetail.farmers.import.validationErrors.rowError.label": "Erreurs dans la ligne {$INTERPOLATION} :", + "companyDetail.farmers.import.validationErrors.cellError.label": "Erreur dans la cellule {$INTERPOLATION} - ", + "companyDetail.farmers.import.validationErrors.cellError.type.INCORRECT_TYPE": "La valeur dans la cellule est du mauvais type", + "companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED": "La cellule ne peut pas être vide", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE": "La valeur fournie dans la cellule est invalide", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA": "Les données géographiques ne sont pas valides. Formats acceptés : POLYGON((lat1 lon1, lat2 lon2, ...)) ou POINT(lat lon) ; geoshape ODK/Kobo « lat lon alt prec;... » ; GeoJSON ; ou P1(...)P2(...) pour plusieurs parcelles. Un contour doit comporter au moins 3 points distincts, avec des valeurs de latitude (-90 à 90) et de longitude (-180 à 180) valides. Dans la colonne GeoID, la valeur doit être un GeoID du registre de la FAO.", + "productLabelFinalProduct.title.finalProducts": "Produits finis", + "productLabelFinalProduct.subTitle.listOfFinalProducts": "Liste des produits finis", + "productLabelFinalProduct.subTitle.showingFinalProducts": "Affichage de {$INTERPOLATION}/{$INTERPOLATION_1}", + "productLabelFinalProduct.sortOptions.name": "Nom", + "productLabelFinalProduct.sortOptions.description": "Description", + "productLabelFinalProduct.sortOptions.unit.label": "Libellé de l'unité", + "productLabelFinalProduct.sortOptions.actions": "Actions", + "productLabelFinalProduct.noFinalProducts": "Aucun produit fini trouvé", + "productLabelFinalProduct.message.warning.remove": "Êtes-vous sûr de vouloir supprimer le produit fini avec le nom '{$FINAL_PRODUCT_NAME}' ?", + "productLabelFinalProduct.modal.title.new": "Ajouter un nouveau produit fini", + "productLabelFinalProduct.modal.title.update": "Modifier le produit fini", + "productLabelFinalProduct.modal.textInput.name": "Modifier le produit fini", + "productLabelFinalProduct.modal.textInput.name.label": "Nom", + "productLabelFinalProduct.modal.textInput.name.placeholder": "Entrez le nom", + "productLabelFinalProduct.modal.textInput.name.error": "Le nom est obligatoire", + "productLabelFinalProduct.modal.textInput.description.label": "Description", + "productLabelFinalProduct.modal.textInput.description.helpText": "Entrez une courte description du produit fini.", + "productLabelFinalProduct.modal.textInput.description.error": "La description est obligatoire", + "productLabelFinalProduct.modal.singleChoice.measurementUnitType.label": "Type d'unité de mesure", + "productLabelFinalProduct.modal.singleChoice.measurementUnitType.error": "Le type d'unité de mesure est obligatoire", + "productLabelFinalProduct.modal.singleChoice.productLabels.label": "Étiquettes de produit", + "productLabelFinalProduct.modal.singleChoice.productLabels.status.unpublished": "Non publié", + "stockOrderItem.pricePerUnitForEndCustomer.textinput.error ": "Le prix est obligatoire", + "semiProductDetail.textinput.name.error": "Le nom est obligatoire", + "semiProductDetail.textinput.description.error": "La description est obligatoire", + "semiProductDetail.hint.translations": "Spécifiez le nom en anglais et ajoutez des traductions pour toutes les langues utilisées.", + "finalProduct.input.placeholder": "Sélectionnez un produit fini", + "companyDetailProcessingActions.textInput.sortOrder.label": "Ordre de tri de cette action de traitement", + "companyDetailProcessingActions.textInput.sortOrder.placeholder": "Entrez l'ordre de tri", + "companyDetailProcessingActions.textInput.sortOrder.error.required": "L'ordre de tri est obligatoire", + "companyDetailProcessingActions.textInput.sortOrder.error.pattern": "L'ordre de tri doit être un nombre", + "companyDetail.farmers.import.template": "Cliquez pour télécharger le modèle Excel", + "companyDetail.farmers.import.template.label": "Modèle", + "companyDetail.farmers.import.data": "Télécharger les données", + "companyDetail.farmers.import.duplicates.label": "Doublons", + "companyDetail.farmers.import.duplicates.error": "Des doublons d'agriculteurs avec le même nom, prénom et village ont été trouvés. Veuillez accepter ou rejeter les doublons", + "companyDetail.farmers.import.noFarmers.error": "Aucun agriculteur importé", + "companyDetail.farmers.import.success.single": "Agriculteur importé avec succès", + "companyDetail.farmers.import.accept": "Accepter", + "companyDetail.farmers.import.reject": "Rejeter", + "productLabelStakeholdersCollectors.sortOptions.municipality.name": "Municipalité", + "companyDetailFacilities.textInput.name.label": "Nom de l'installation", + "companyDetailFacilities.textInput.name.placeholder": "Entrez le nom", + "companyDetailFacilities.textInput.name.error": "Le nom de l'installation est obligatoire", + "productLabelFacilities.tableCol.activate": "Activer", + "productLabelFacilities.tableCol.deactivate": "Désactiver", + "productLabelFacilities.deactivateFacility.delete": "Êtes-vous sûr de vouloir désactiver l'installation ?", + "productLabelStockProcessingOrderDetail.clipInputModal.title": "Saisie de la quantité à prélever", + "productLabelStockProcessingOrderDetail.clipInputModal.inputQuantity.label": "Entrez la quantité à utiliser pour cette transaction", + "productLabelStockProcessingOrderDetail.clipInputModal.inputQuantity.helpText": "Quantité disponible", + "productLabelStockProcessingOrderDetail.clipInputModal.inputQuantity.error.required": "La quantité est obligatoire", + "productLabelStockProcessingOrderDetail.clipInputModal.inputQuantity.error.max": "La quantité sélectionnée ne peut pas être supérieure à la quantité disponible", + "productLabelStockFacilityModal.checkbox.weightReductionDamage.label": "Afficher 'Réduction de poids pour dommage'", + "productLabelStockPurchaseOrdersModal.textinput.damagedWeightDeduction.placeholder": "Entrez la réduction de poids pour dommage", + "productLabelStockPurchaseOrdersModal.textinput.deductionGreaterThanWeight.error": "La réduction de poids pour dommage est supérieure au poids net", + "productLabelStockPurchaseOrdersModal.textinput.damagedWeightDeduction.error": "La réduction de poids pour dommage est obligatoire", + "productLabelStockPurchaseOrdersModal.textinput.damagedWeightDeduction.label": "Réduction de poids pour dommage", + "productLabel.b2c.primaryColor": "Couleur primaire", + "productLabel.b2c.secondaryColor": "Couleur secondaire", + "productLabel.b2c.headingColor": "Couleur des titres", + "productLabel.b2c.textColor": "Couleur du texte", + "productLabel.b2c.tabFairPrices": "Activer l'onglet 'Prix équitables'", + "productLabel.b2c.tabProducers": "Activer l'onglet 'Producteurs'", + "productLabel.b2c.tabQuality": "Activer l'onglet 'Qualité'", + "productLabel.b2c.tabFeedback": "Activer l'onglet 'Retours'", + "productLabel.b2c.productFont": "Police du produit", + "productLabel.b2c.productFontHint": "Téléchargez la police utilisée pour le titre du produit (TTF, WOFF ou WOFF2)", + "productLabel.b2c.textFont": "Police de texte", + "productLabel.b2c.textFontHint": "Téléchargez la police utilisée pour le contenu principal (TTF, WOFF ou WOFF2)", + "productLabel.b2c.landingPageImage": "Image de la page d'accueil", + "productLabel.b2c.landingPageImageHint": "Téléchargez une image de produit de haute qualité pour la page d'accueil (taille recommandée 780x780px, formats : PNG, JPG et JPEG)", + "productLabel.b2c.font.allowedMimeTypeErrorMessage": "Téléchargez uniquement des fichiers de type : TTF, WOFF ou WOFF2.", + "productLabel.b2c.landingPageBackgroundImage": "Image de fond de la page d'accueil", + "productLabel.b2c.landingPageBackgroundImageHint": "Téléchargez une image de fond de haute qualité pour la page d'accueil (taille recommandée 1200x1800px, formats : PNG, JPG et JPEG)", + "productLabel.b2c.headerBackgroundImage": "Image de fond de l'en-tête", + "productLabel.b2c.headerBackgroundImageHint": "Téléchargez une image de fond de haute qualité pour l'en-tête (taille recommandée 1200x476px, formats : PNG, JPG et JPEG)", + "productLabel.b2c.videos": "Vidéos", + "productLabel.b2c.meetTheFarmers": "Rencontrez les agriculteurs", + "productLabel.b2c.productionRecords": "Registres de production", + "productLabel.textinput.comparisonOfPrice.manualFarmGatePrice": "Prix à la ferme manuel (USD/kg)", + "productLabel.textinput.comparisonOfPrice.averageRegionFarmGatePrice": "Prix moyen à la ferme pour la région (USD/livre)", + "productLabel.textinput.comparisonOfPrice.manualProducerPrice": "Prix producteur manuel (USD/kg)", + "productLabel.b2c.price.unit.container": "par conteneur", + "productLabel.b2c.price.unit.kg": "par kg", + "productLabel.b2c.price.unit.percentValue": "% VALEUR", + "productLabelStockFacilityModal.checkbox.priceDeterminedLater.label": "Afficher 'Prix déterminé ultérieurement'", + "productLabelStockPurchaseOrdersModal.checkboxinput.priceDeterminedLater.label": "Prix déterminé ultérieurement", + "productLabelStockPayments.addPricePerUnit.message": "Sélectionnez 'modifier' pour ajouter un prix unitaire avant d'ajouter des paiements de solde.", + "beycoOrderList.title": "Exporter vers Beyco", + "beycoOrderList.form.sharedValues": "Valeurs générales", + "beycoOrderList.form.sharedValues.title": "Titre de l'offre", + "beycoOrderList.form.sharedValues.title.error.required": "Le titre est obligatoire", + "beycoOrderList.form.sharedValues.title.error.maxLength": "Le titre ne doit pas dépasser 70 caractères", + "beycoOrderList.form.sharedValues.availableAt": "Disponible à partir du", + "beycoOrderList.form.sharedValues.availableAt.error.required": "La date de disponibilité est obligatoire", + "beycoOrderList.form.sharedValues.address": "Adresse du port d'exportation", + "beycoOrderList.form.sharedValues.address.error.required": "L'adresse est obligatoire", + "beycoOrderList.form.sharedValues.country": "Pays du port d'exportation", + "beycoOrderList.form.sharedValues.country.error.required": "Le pays est obligatoire", + "beycoOrderList.form.sharedValues.latitude": "Latitude du port d'exportation", + "beycoOrderList.form.sharedValues.latitude.error.required": "La composante latitude est obligatoire", + "beycoOrderList.form.sharedValues.longitude": "Longitude du port d'exportation", + "beycoOrderList.form.sharedValues.longitude.error.required": "La composante longitude est obligatoire", + "beycoOrderList.form.coffee.name": "Nom", + "beycoOrderList.form.coffee.name.error.required": "Le nom est obligatoire", + "beycoOrderList.form.coffee.quantity": "Quantité", + "beycoOrderList.form.coffee.quantity.error.required": "La quantité est obligatoire", + "beycoOrderList.form.coffee.quantity.error.min": "La quantité ne doit pas être négative", + "beycoOrderList.form.coffee.quantity.error.max": "La quantité est trop importante", + "beycoOrderList.form.coffee.price": "Prix", + "beycoOrderList.form.coffee.price.error.required": "Le prix est obligatoire", + "beycoOrderList.form.coffee.price.error.min": "Le prix ne doit pas être négatif", + "beycoOrderList.form.coffee.price.error.max": "Le prix est trop élevé", + "beycoOrderList.form.coffee.priceUnit": "Unité de prix", + "beycoOrderList.form.coffee.priceUnit.errors.required": "L'unité de prix est obligatoire", + "beycoOrderList.form.coffee.currency": "Devise", + "beycoOrderList.form.coffee.currency.errors.required": "La devise est obligatoire", + "beycoOrderList.form.coffee.harvestAt": "Période de récolte", + "beycoOrderList.form.coffee.harvestAt.errors.required": "La période de récolte est obligatoire", + "beycoOrderList.form.coffee.region": "Région", + "beycoOrderList.form.coffee.country": "Pays", + "beycoOrderList.form.coffee.country.errors.required": "Le pays est obligatoire", + "beycoOrderList.form.coffee.incoterms": "Incoterms", + "beycoOrderList.form.coffee.incoterms.errors.required": "Les incoterms sont obligatoires", + "beycoOrderList.form.coffee.customIncoterms": "Autres incoterms", + "beycoOrderList.form.coffee.customIncoterms.errors.required": "Le champ autres incoterms est obligatoire si 'Autre' est sélectionné", + "beycoOrderList.form.coffee.species": "Espèce", + "beycoOrderList.form.coffee.species.errors.required": "L'espèce est obligatoire", + "beycoOrderList.form.coffee.process": "Processus", + "beycoOrderList.form.coffee.process.errors.required": "Le processus est obligatoire", + "beycoOrderList.form.coffee.minScreenSize": "Taille de tamis minimale", + "beycoOrderList.form.coffee.minScreenSize.errors.required": "La taille de tamis minimale est obligatoire", + "beycoOrderList.form.coffee.minScreenSize.errors.min": "La taille de tamis minimale doit être de 8 ou plus", + "beycoOrderList.form.coffee.minScreenSize.errors.max": "La taille de tamis minimale doit être de 20 ou moins", + "beycoOrderList.form.coffee.minScreenSize.errors.minIsMax": "La taille de tamis minimale doit être inférieure à la taille maximale", + "beycoOrderList.form.coffee.maxScreenSize": "Taille de tamis maximale", + "beycoOrderList.form.coffee.maxScreenSize.errors.required": "La taille de tamis maximale est obligatoire", + "beycoOrderList.form.coffee.maxScreenSize.errors.min": "La taille de tamis maximale doit être de 8 ou plus", + "beycoOrderList.form.coffee.maxScreenSize.errors.max": "La taille de tamis maximale doit être de 20 ou moins", + "beycoOrderList.form.coffee.maxScreenSize.errors.minIsMax": "La taille de tamis maximale doit être supérieure à la taille minimale", + "beycoOrderList.form.coffee.cuppingScore": "Score de dégustation", + "beycoOrderList.form.coffee.cuppingScore.errors.required": "Le score de dégustation est obligatoire", + "beycoOrderList.form.coffee.cuppingScore.errors.min": "Le score de dégustation doit être de 60 ou plus", + "beycoOrderList.form.coffee.cuppingScore.errors.max": "Le score de dégustation doit être de 100 ou moins", + "beycoOrderList.form.coffee.varieties": "Variétés", + "beycoOrderList.form.coffee.varieties.errors.required": "Les variétés sont obligatoires", + "beycoOrderList.form.coffee.qualitySegments": "Segments de qualité", + "beycoOrderList.form.coffee.qualitySegments.errors.required": "Les segments de qualité sont obligatoires", + "beycoOrderList.form.coffee.customVariety": "Autre variété", + "beycoOrderList.form.coffee.customVariety.errors.required": "Le champ autre variété est obligatoire si 'Autre' est sélectionné", + "beycoOrderList.form.coffee.grades": "Grades", + "beycoOrderList.form.coffee.grades.errors.required": "Les grades sont obligatoires", + "beycoOrderList.form.coffee.additionalQualityDescriptors": "Autre grade", + "beycoOrderList.form.coffee.additionalQualityDescriptors.errors.required": "Le champ autre grade est obligatoire si 'Autre' est sélectionné", + "beycoOrderList.form.coffee.certificates": "Certificats", + "beycoOrderList.form.coffee.certificates.errors.required": "Les certificats sont obligatoires", + "beycoOrderList.button.submit": "Soumettre l'offre", + "beycoOrderList.notification.invalidFields.title": "Champs invalides", + "beycoOrderList.notification.invalidFields.message": "Veuillez vérifier les champs !", + "beycoOrderList.notification.successfulOrder.title": "Offre Beyco créée", + "beycoOrderList.notification.successfulOrder.message": "Vous avez créé avec succès une offre Beyco !", + "beycoOrderList.notification.unsuccessfulOrder.title": "Offre Beyco échouée", + "beycoOrderList.notification.unsuccessfulOrder.message": "Une erreur est survenue lors de la création de l'offre Beyco ! Veuillez réessayer !", + "productLabelStock.beyco.button.login": "Se connecter à Beyco", + "productLabelStock.beyco.button.logout": "Se déconnecter de Beyco", + "productLabelStock.beyco.button.export": "Exporter vers Beyco", + "beycoToken.notification.login.success.title": "Application Beyco autorisée", + "beycoToken.notification.login.success.message": "Vous pouvez maintenant envoyer des offres Beyco !", + "beycoToken.notification.login.error.title": "Erreur d'autorisation Beyco", + "beycoToken.notification.login.error.AccessDenied.message": "L'accès à Beyco a été refusé ! Veuillez réessayer plus tard !", + "beycoToken.notification.login.error.default.message": "Une erreur est survenue lors de l'autorisation de l'application Beyco. Veuillez réessayer plus tard !", + "beycoToken.notification.logout.title": "Déconnexion de Beyco", + "beycoToken.notification.logout.message": "Vous vous êtes déconnecté avec succès !", + "breadCrumb.stockOrders.beycoOrder": "Exporter vers Beyco", + "companyDetail.beycoIntegration.title": "Intégration Beyco", + "companyDetail.beycoIntegration.allowConfirmation": "L'entreprise est autorisée à exporter des commandes de stock sur la plateforme Beyco.", + "common.filter.from.label": "De", + "common.filter.to.label": "À", + "companyDetailProcessingActions.valueChains.select.label": "Sélectionnez une chaîne de valeur", + "productLabelStockFacilityModal.section.valueChains": "Chaînes de valeur", + "productLabelStockFacilityModal.singleChoice.valueChains.error": "Au moins une chaîne de valeur est requise", + "productLabelStockFacilityModal.hint.selectValueChain": "Veuillez sélectionner au moins une chaîne de valeur", + "companyDetailProcessingActions.valueChains": "Chaînes de valeur", + "companyDetailProcessingActions.singleChoice.valueChains.error": "Au moins une chaîne de valeur est requise", + "companyDetailProcessingActions.removeValueChain.confirm.message": "Êtes-vous sûr de vouloir supprimer la chaîne de valeur ? Cette action réinitialisera les semi-produits, champs de preuve et types sélectionnés.", + "companyDetail.section.valueChains": "Chaînes de valeur de l'entreprise", + "companyDetail.textinput.valueChains.error": "Au moins une chaîne de valeur est requise", + "collectorDetail.section.productTypes": "Types de produits", + "collectorDetail.list-editor.productTypes.error": "Les types de produits sont obligatoires", + "collectorDetail.list-editor.hint.selectValueChain": "Veuillez sélectionner au moins une chaîne de valeur", + "collectorDetail.textinput.plantCultivatedArea.placeholder": "Entrez la superficie cultivée avec", + "collectorDetail.textinput.plantCultivatedArea.label": "Superficie cultivée avec", + "collectorDetail.textinput.numberOfPlants.label": "Nombre de plantes", + "collectorDetail.textinput.numberOfPlants.placeholder": "Entrez le nombre de plantes", + "collectorDetail.drawPlot.boundaries.button": "Limites", + "collectorDetail.drawPlot.singlePoint.button": "Point unique", + "collectorDetail.drawPlot.selectPlotType.label": "Sélectionnez si vous souhaitez dessiner une parcelle avec des limites ou ajouter un point unique", + "settingsPage.title.productTypes": "Types de produits", + "settingsPage.button.newProductType": " + Ajouter", + "settingsPage.subTitle.listOfProductTypes": "Liste des types de produits", + "settingsPage.subTitle.showingProductTypes": "Affichage de {$INTERPOLATION}/{$INTERPOLATION_1}", + "productTypeDetail.textinput.name.label": "Nom", + "productTypeDetail.textinput.name.placeholder": "Entrez le nom du type de produit", + "productTypeDetail.textinput.name.error": "Le nom est obligatoire", + "productTypeDetail.textinput.code.label": "Code", + "productTypeDetail.textinput.code.placeholder": "Entrez le code du type de produit", + "productTypeDetail.textinput.code.error": "Le code est obligatoire", + "productTypeDetail.textinput.description.label": "Description", + "productTypeDetail.textinput.description.helpText": "Entrez une courte description du type de produit.", + "productTypeDetail.textinput.description.error": "La description est obligatoire", + "productTypeDetail.hint.translations": "Spécifiez le nom en anglais et ajoutez des traductions pour toutes les langues utilisées.", + "productTypeInCompany.input.placehoder": "Sélectionnez les types de produits", + "valueChainInCompany.input.placehoder": "Tapez le nom de la chaîne de valeur", + "productTypes.input.placehoder": "Sélectionnez les types de produits", + "semiProductForValueChains.input.placehoder": "Sélectionnez un semi-produit", + "settingsTypes.sortOptions.productTypes.name": "Nom", + "settingsTypes.sortOptions.productTypes.code": "Code", + "settingsTypes.sortOptions.productTypes.description": "Description", + "settingsTypes.typeList.title.productTypes": "Types de produits", + "settingsTypes.editProductType.editTitle": "Modifier le type de produit", + "productLabelStockFacilityModal.removeValueChain.confirm.message": "Êtes-vous sûr de vouloir supprimer la chaîne de valeur ? Cette action réinitialisera les semi-produits sélectionnés.", + "companyDetailValueChainModal.removeValueChain.confirm.message": "Êtes-vous sûr de vouloir supprimer la chaîne de valeur ? Le traitement sur ces chaînes de valeur ne fonctionnera plus.", + "companyDetailProductTypeModal.removeProductType.confirm.message": "Êtes-vous sûr de vouloir supprimer le type de produit ?", + "company.orders.placedOrders.placeQuoteOrderModal.title": "Sélectionnez d'abord l'installation et le modèle de commande", + "company.orders.placedOrders.placeQuoteOrderModal.field.facility.label": "Sélectionnez une installation", + "company.orders.placedOrders.placeQuoteOrderModal.field.orderTemplate.label": "Sélectionnez un modèle de commande de devis", + "company.orders.placedOrders.placeQuoteOrderModal.field.orderTemplate.placeholder": "Sélectionnez un modèle de commande de devis", + "company.orders.placedOrders.placeQuoteOrderModal.button.cancel": "Annuler", + "company.orders.placedOrders.placeQuoteOrderModal.button..confirm": "Confirmer", + "companyDashboardComponent.graph.timeUnit.month.Jan": "Jan", + "companyDashboardComponent.graph.timeUnit.month.Feb": "Fév", + "companyDashboardComponent.graph.timeUnit.month.Mar": "Mar", + "companyDashboardComponent.graph.timeUnit.month.Apr": "Avr", + "companyDashboardComponent.graph.timeUnit.month.May": "Mai", + "companyDashboardComponent.graph.timeUnit.month.Jun": "Juin", + "companyDashboardComponent.graph.timeUnit.month.Jul": "Juil", + "companyDashboardComponent.graph.timeUnit.month.Aug": "Aoû", + "companyDashboardComponent.graph.timeUnit.month.Sep": "Sep", + "companyDashboardComponent.graph.timeUnit.month.Oct": "Oct", + "companyDashboardComponent.graph.timeUnit.month.Nov": "Nov", + "companyDashboardComponent.graph.timeUnit.month.Dec": "Déc", + "companyDashboardComponent.button.timeUnit.daily": "QUOTIDIEN", + "companyDashboardComponent.button.timeUnit.weekly": "HEBDOMADAIRE", + "companyDashboardComponent.button.timeUnit.monthly": "MENSUEL", + "companyDashboardComponent.button.timeUnit.yearly": "ANNUEL", + "companyDashboardComponent.section.deliveries.title": "Livraisons", + "companyDashboardComponent.datepicker.deliveryDateFrom.label": "Sélectionnez la date de début", + "companyDashboardComponent.datepicker.deliveryDateTo.label": "Sélectionnez la date de fin", + "companyDashboardComponent.singleChoice.deliveryFacility.label": "Installation", + "companyDashboardComponent.singleChoice.semiProduct.label": "Semi-produit", + "companyDashboardComponent.singleChoice.semiProduct.placeholder": "Sélectionnez un semi-produit", + "companyDashboardComponent.singleChoice.semiProduct.nothing": "Aucun résultat", + "companyDashboardComponent.singleChoice.semiProduct.enterSearchTerm": "Entrez un terme de recherche", + "companyDashboardComponent.singleChoice.farmer.label": "Agriculteur", + "companyDashboardComponent.singleChoice.collector.label": "Collecteur", + "companyDashboardComponent.checkbox.organic.label": "Biologique", + "companyDashboardComponent.checkbox.womensOnly.label": "Uniquement femmes", + "companyDashboardComponent.checkbox.productInDeposit.label": "Produit en dépôt", + "companyDashboardComponent.section.processingPerformance.title": "Performance de traitement", + "companyDashboardComponent.datepicker.processingDateFrom.label": "Sélectionnez la date de début", + "companyDashboardComponent.datepicker.processingDateTo.label": "Sélectionnez la date de fin", + "companyDashboardComponent.singleChoice.processingFacility.label": "Installation", + "companyDashboardComponent.singleChoice.processingAction.label": "Processus", + "companyDashboardComponent.singleChoice.measuringUnit.placeholder": "Sélectionnez une unité de mesure", + "companyDashboardComponent.singleChoice.measuringUnit.nothing": "Aucun résultat", + "companyDashboardComponent.singleChoice.measuringUnit.enterSearchTerm": "Entrez un terme de recherche", + "companyDashboardComponent.button.export": "Exporter les données", + "productLabelStockProcessingOrderDetail.textinput.quantity.min.error": "La saisie est trop faible. La commande de stock est déjà partiellement utilisée.", + "companyDashboardComponent.graph.timeUnit.week": "Semaine", + "companyDashboardComponent.graph.labels.quantity": "Quantité", + "companyDashboardComponent.graph.labels.in": "entrée", + "companyDashboardComponent.graph.labels.input": "Entrée", + "companyDashboardComponent.graph.labels.output": "Sortie", + "companyDashboardComponent.graph.labels.ratioInPercent": "Ratio Entrée-Sortie en %", + "companyDashboardComponent.graph.values.trunked": "Seules les premières {$INTERPOLATION} valeurs sont affichées.", + "plotsItem.header.text": "Coordonnées des parcelles", + "plotsItem.action.showHidePlotArea": "Afficher/masquer la zone de parcelle", + "plotsItem.action.undoLastPoint": "Annuler le dernier point", + "plotsItem.action.deletePlot": "Supprimer la parcelle", + "collectorDetail.plots.button.uploadGeo": "Télécharger des données géo", + "collectorDetail.plots.button.drawPlot": "Dessiner une parcelle", + "collectorDetail.plots.button.exportGeo": "Exporter les données géo", + "collectorDetail.textinput.plotName.label": "Nom de la parcelle", + "collectorDetail.textinput.plotName.placeholder": "Saisir le nom de la parcelle", + "collectorDetail.textinput.crop.label": "Culture", + "collectorDetail.textinput.size.label": "Superficie", + "collectorDetail.textinput.size.placeholder": "Saisir la superficie", + "collectorDetail.textinput.unit.label": "Unité", + "collectorDetail.textinput.unit.placeholder": "Saisir l'unité", + "collectorDetail.textinput.lastUpdate.label": "Dernière mise à jour", + "collectorDetail.list-editor.plots.error": "Les parcelles sont obligatoires", + "map.modal.eudr.warning.title": "La législation européenne (EUDR) exige des données polygonales au lieu d'un simple point pour toutes les parcelles > 4ha. Souhaitez-vous continuer malgré tout ?", + "map.modal.eudr.warning.ok": "Oui, ajouter un point unique.", + "map.modal.eudr.warning.cancel": "Non, ajouter un polygone à la place.", + "map.modal.crop.title": "Culture :", + "map.modal.size.title": "Superficie :", + "map.modal.geoId.title": "ID Geo :", + "map.modal.openInWhisp.title": "Ouvrir dans Whisp", + "map.modal.certification.title": "Certification :", + "map.modal.eu.organic.title": "Bio UE", + "map.modal.button.refresh.title": "Actualiser", + "map.view.default": "Vue par défaut", + "map.view.satellite": "Vue satellite", + "productLabelPurchaseOrder.tableCol.exportGeoData": "Exporter les données géo", + "orderList.export.geojson.noDataAvailable": "Aucune donnée géo disponible pour cette commande", + "content.short_description": "Rendre les chaînes d'approvisionnement agricoles transparentes et équitables avec INATRACE", + "content.short.description.home": "INATRACE : Rend les chaînes d'approvisionnement agricoles transparentes et équitables", + "content.description.home": "INATrace est une solution numérique open-source centrée sur l'humain. Conçue pour des chaînes d'approvisionnement agricoles mondiales transparentes afin d'améliorer les conditions économiques des petits exploitants, INATrace offre une traçabilité de bout en bout garantissant un paiement équitable.", + "content.readmore": "Lire la suite", + "collectorDetail.textinput.centerLatitude.label": "Latitude Point Central", + "collectorDetail.textinput.centerLongitude.label": "Longitude Point Central", + "collectorDetail.textinput.centerLatitude.placeholder": "Latitude Point Central", + "collectorDetail.textinput.centerLongitude.placeholder": "Longitude Point Central" +} +} + diff --git a/src/assets/locale/rw.json b/src/assets/locale/rw.json index c9ea2023..d0903cd4 100644 --- a/src/assets/locale/rw.json +++ b/src/assets/locale/rw.json @@ -2174,6 +2174,7 @@ "languageForLabelModal.languageCodes.de": "DE", "languageForLabelModal.languageCodes.es": "ES", "languageForLabelModal.languageCodes.rw": "RW", + "languageForLabelModal.languageCodes.fr": "FR", "productLabel.newLabelModal.title": "kora ikirango gishya", "productLabelPurchaseOrder.sortOptions.production.name": "Itariki yo gukoreraho", "productLabelPurchaseOrder.sortOptions.quantityFiledAvailable.name": "Ingano / Iyuzujwe / Iboneka", From f9a3f4c19ac140c88d7037b37041ef895a261e4f Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:33 +0000 Subject: [PATCH 05/25] Farmer import: surface INVALID_GEODATA and add Geo Data / GeoID columns The backend rejects rows whose geo data will not parse; show that error with the accepted formats instead of a blank cell, and add the Geo Data and GeoID columns to every import template. --- ...UserCustomerImportColumnValidationError.ts | 3 ++- ...mat-farmer-import-validation-error.pipe.ts | 2 ++ ...a_listado_de_agricultores_Honduras_es.xlsx | Bin 38618 -> 30930 bytes ...stado_de_agricultores_otros_paises_es.xlsx | Bin 49216 -> 41350 bytes .../Template_list_of_farmers_Rwanda_en.xlsx | Bin 49542 -> 41546 bytes ...te_list_of_farmers_other_countries_en.xlsx | Bin 49261 -> 41179 bytes src/assets/locale/de.json | 1 + src/assets/locale/en.json | 1 + src/assets/locale/es.json | 1 + src/assets/locale/rw.json | 1 + 10 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/api/model/apiUserCustomerImportColumnValidationError.ts b/src/api/model/apiUserCustomerImportColumnValidationError.ts index d5f6ee03..80d73a5c 100644 --- a/src/api/model/apiUserCustomerImportColumnValidationError.ts +++ b/src/api/model/apiUserCustomerImportColumnValidationError.ts @@ -44,7 +44,8 @@ export namespace ApiUserCustomerImportColumnValidationError { export enum ErrorTypeEnum { INCORRECTTYPE = 'INCORRECT_TYPE', REQUIRED = 'REQUIRED', - INVALIDVALUE = 'INVALID_VALUE' + INVALIDVALUE = 'INVALID_VALUE', + INVALIDGEODATA = 'INVALID_GEODATA' } diff --git a/src/app/company/company-common/pipes/format-farmer-import-validation-error.pipe.ts b/src/app/company/company-common/pipes/format-farmer-import-validation-error.pipe.ts index 8b7cd7e3..baca685a 100644 --- a/src/app/company/company-common/pipes/format-farmer-import-validation-error.pipe.ts +++ b/src/app/company/company-common/pipes/format-farmer-import-validation-error.pipe.ts @@ -13,6 +13,8 @@ export class FormatFarmerImportValidationErrorPipe implements PipeTransform { return $localize`:@@companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED:The cell cannot be empty`; case 'INVALID_VALUE': return $localize`:@@companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE:The provided value in the cell is invalid`; + case 'INVALID_GEODATA': + return $localize`:@@companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA:The geo data is not valid. Accepted formats: POLYGON((lat1 lon1, lat2 lon2, ...)) or POINT(lat lon); ODK/Kobo geoshape "lat lon alt acc;..."; GeoJSON; or P1(...)P2(...) for several plots. A boundary needs at least 3 distinct points, with valid latitude (-90 to 90) and longitude (-180 to 180) values. In the GeoID column, the value must be a GeoID from the FAO registry.`; default: return '/'; } diff --git a/src/assets/farmer-import/Plantilla_listado_de_agricultores_Honduras_es.xlsx b/src/assets/farmer-import/Plantilla_listado_de_agricultores_Honduras_es.xlsx index 9c11ec30bddeed5757a3eadfde139f9e158ead00..c057ef5d3d5968a817be38b22561c297671884bd 100644 GIT binary patch literal 30930 zcmeHw2{@Gf*Z4S+bju zoh)N#%zKYX%kzx>|F?SH>-k;pJ6)HWxX+yL`F_qhpL6cx{;DYA;8KAI2?;^b4{!`X z-@Pb-f9pxx+BlfoI2dWT+%UH{IPPq1m9NoYQ^~)7E9za>G4PU#CbhRTQ!P!#5{|x` zG|%C_#p6`lW%SbAQEEizimGo~I9iA(oQTO1*2+4POjbryb?pf8yb$g5c)oM2XjEZ} zgxVnIL6Hs<98UI;_g0ixBnivffe$zb4E8O;>!B zo%%>564h}%U||C5P`-mkzir}bTfPcdD3kgoPtl@z8^M z@2FBO65c^nc(&N{>0fw-uXK+lrsf*IB%d&2Mv~SkUA9ppE80RJgdCGsfO~?yH^x^Rw%6Q6#s5Vaw>eD_g^I?Ji%g=_!k3S7*bH^fi;++BQWG;QT2R6z& z>4<=iQDE%~*gvz*e&8p}Y)w_{Y;V}}UA}Px1=9HNCZ#I={eE*IGN0V0QQG>HNJ-z*`K2>=W1d7(77p~(tu^!xTNp*D;xGp1aw$Fm2bN!ZNLPHZ z#{zMt$U<;Yil;QQA_6O@l7L42(*918X4Qi#Tyg#{$s+pK6;!Vx9u$iR9{L4Gsq>*GzaW?Do)(FizB3w4pZ%*o}u5qlJTC{@!<5M;V}+=0^8G2Ir;Qi}!EeA}?mZ zU7$MR-m@`BY+iVuL1f%_r5Uzyg(qVDWLeP2XCLyIkF^{;5CFFXgmLW7lU4wZSAM!v z6yNWZsjZzkYO6fLjBG29P`!mJRJoB@Kkt*%duY92$*%apykU?~pPDxkq>EUok}Zbz zu*TU#;@mi|5Om7A^my%`3w9l^F*|< zVFAr@73WiXdK^K7A<1}ny~1(qT-!^oIrWIM{G5;BA3se@ZHi68D-Iq=TeDtR6Y&d8 z6PsKvuJScEqwc@9eg@!n72c>Q%xWNV{pd>ButJVk_j1kK5Yt3n=p3!&@Dl@HEB z2@Uv;1{9lGdr4PT%T^9rkIuH$o28rg+Z^Cf-0BmzP#Z5sN?%k;eiiGl|30oYW$nNe z_R~98%8*tFER@A7eK%h#m$VPQFf7cM7p)Ro?m<8D~jVDG+bZqtu%d@9cTE1dZg zj&U=N?yK6bI0U?jdV?NMRhRYM^?iC^E}50PX%T+p=G&CGnDvEy_f zHAV^2q)0+cd-5JesGT?!+u)O2cbu0O>KU#u6nUf#pI>W+!Y+^Sj%>Pp;0u3f?R@6- zL^U=1H_tqk)BN&Vm0yeBZ8R6n5CbRF1~q6NTxshFx4-_09Z`774nEPv*?;9xHU*J@ zw66b8SkDHb*5r91N0I`@Le zqYe!vf#c3%0x{|b4`RpR^2w|7_>bNe;F&vx9M^pkjlcSi6-RY2HIqGnj+p<*i4K_R zW6D#-!{=32YaSEV5MO4w<EE}9b8+s@|h*Ihows;omeg(a%Bk(x-NWFg8Id}LB0~Ex$jb>JS&Ff+cn;WxP;ue8wZWLHELJcaC9gwkvk94 zjgS#N^5NnA;|C3>nV&E_G-}UP)kxqzUq|3iK{iM}a*1kx?d)QD{f1CZ({208NOuc{aJnVt z-nrn@uZ0(fB4Q5dg&R^kJz8=Q523zr6(28LdA+L1SIb-DSkTf0>lk$Z01V|p7ukj? zKsX?fE#c3y3)vSBa&WOS-*KH$T|L|3GgO{1BZ^VcCWHxY5b;U1wD(uj9Me3=DzGw@ zd=9rK=f)t*9FMc9&`XiT&nl_JcGr#z!-}dMk5uvXQE|82r{Zjpedc2Nl(=!&-TT$3 z9AX;WfxX zoH49H6N+~`%OjTznbSDgUBWn){4J+k!jovr*l`__&fg5I)_125pPcf~A0K#7LQ(gg z$X!-MXUaL+x{W{W_JQ%(pb!n|&e|%rmR`p4nFSDO!mBMe8as-Hm%71+$OD<`?frB@ z>rRav9zQ49gKaZpl8Rr#7pSHk{79CziD)?9HO&B#m>Uv2Xrfc2qb(oFvZaiIP9+}7H-wb3|Y8;QH3g;$BZnk%+p;* zpid{Eg80c{CzGY{b9_%mSF||of@tF2+PyIvGruu@%Qi3Bg#o`5XW53ev%~Hd_Xq0d z9Y=>x-n!Pmwxt9vJwoVZ8XJ;(#p8Uv{qaVS{(VUolea=Gbw0e?7mHl4wVz@%iB@@{ z)N1#(<)o24{n<1tmqX+SId#W${EEC~A7^Gn3j2pCXa(?T5~y39lAm%nwodL^von)V z>$-9J#pV9%?x&U@V|q6vyL{jxB+Yg_YbQNDe6Gzjd#7(rg@_KRJ56vw-k652s~P3g zar)DW-$;c<3Ty$xzZjaj{*2Rg*uw-@-Y#nd0;m>|Fzrtgiu zC80($fBG!+NESCuHTR5D^4U3=K6qbQ7HmZ(hhZLnzDj4vBueuI_c3J3-IO(rj7QC# z8LJI`@Wh72d?``=;HKrGmF)+CPj>xIJ7&H8rRIaFc&FCW8Ix51WK~A}Ar&7TinqT z;`^{@)xiD9ncLALF6a@%3+4u&EXUU#FBuHgO&I#d zbfRuX3{=<=fld%*%iIihO<)sZL$8}apMA$xU~t@m zU^;9tOWo?>Qhw5?PS5^o8o2^opB{s&mfm2ZlePXY@cZj7*vC(rohI?VOxKQsc&AYfzA-YV6{f2uYR zn|Izyi^QNk#$}(;rT%?RtHE>iv~Mg6J`G^Wa8+~qZZ0tum$F6)hMq|leAL<}m{Nn> zDJgW^%y{15fj}}xe-`vnr7u969Il#Mo1?#iQLJfJU(fdOPU!b`PCUwXU-8uB(>kk@ z+_$czJjwKMEN8nAd^xziFWab(mj8C@#q@YfEsiKPBQf{m+wP=dEKK49?A32-ctX{M z@&{mU1-C8l`-2BA%tHANGS#f4x5LCzD9hdw6>uudcWl$h-1K^`*kh(=f*X^Vlu`Ada#{ToM*P6!vQMw&Ah`~JE#}e^-N(8) zRIw|$wYD32EJQgP-^iL>TkWWIR1z1W_L@I!lPq>99cxGvdRv&j4tlM`6KqI7PX5X0 zR04L=k^KdE=5B#6g*UTa;y>jqs7+YiO6aPlA0gLWtFt-{=OEiks&V7pdM&uryg^o? zHG(ME&dptS?=Igw<=MTmeD%aqj5A(uc(mcIX5&)=)NBfM50%zTE|*`AG@Va>ov>JC zrO>(>$%}j8B6t{_zh>aiN=3MI@WKmlD2|!OTVbBGWXd2$EZlWTFSvxof%e2~3Ep;a ze5(Efk>Qt|>}GH02*p~Wnq3rzZ!jOylrhk~s9r!V!<*;b$DdkHqqr^(hP^1@q^#6G zdO2b`S+FQ7t?0;|QYR~FX_NY8SDq>_3D#|`Lo`h|0wNk!PkY$~@yI@bl&MeCBBJ>V zL1L;g(@u(Tas_)*+j~b%nCbclE<^WQk7BW$iS*>d=S&}^PJcH`XP+m-{Q2tX8T(Dj z1(%z)8|S$ePAGlOkDJNUqD*dzxy8y-3|qD4mgwmSIp??kEgR*?sDr6qfK~NphWX0! z+OA=oK#qYdJGVixY{7G8JmZO~WxOxc3`Q;Ft|K?=!lovu+Lq>aKiO>(>Y_-h6YWaFAzk-tn_2_u(#|64L_Q7Q)-IUU6H| z#L7JnNN*x+0yoPba&bji<^i_6>qjef8nM-2c?M4onyfs(wwjA8Egp1=E3+oQ)y0aI zsQ5C1dZKJ!)tx~Jv&5A8qRU>47_jcuY|SiWAPAaee-b8FnwqsT%J1B zjJw50hUbF#`LjkW{+}wtIKW%6Yxm@imBdYjTU)C;!a9#HsOzotejtm;4MP@7llIZ9 zN7Q$ZhxXr1ir2YpVQzhC;`pQVb6hNW>N2xxHFuxgV@dJ8f2E(@{EBeGaT7yrJ?)I> z@Gg3bfX8V$qLMTEWGuu7pY3l~nNOkB9`K+5o1b}eZo0EHp!mhOr78XxX zx?7iUMMQ&MI%oFh%oO*D7srg$?=j3iCK-C1X>fpJa`p9*yElBMr#P7h(#o9FWAA02 z6TGrO{UAT;*d%p^aIQphhKLvIg6MY2Gr*}9+ ziAUvU7Ii)3pKphCX&vNRH?hc^?mT&wPxDdZv1G{!-$vO}cynBr-@8@#y?yC2To|6S zU-epRd`_!qi?TMAy^{K)7Xh9wZ?L6i+=yP@mjW3|5Mu@0Bn2P24XXB{!rqUgMkqll z#|#1+`qBd5HbH$GiwpM%e(L^&M^aBu5Nxfyr1I%w%2y}EKX&)514@QQv( zaMg;IyRcVPG1j~dsDvIwKV1Cr$l)0r@JC~&04#z{3DPs&1SaJbfI0T9c+=Vj(cZ`* zulDin66g*HH;5EmGAsmY?c2Y?Ye_s?IM@D08$koJTj+`re0pkF3KZxS7TReN@k$ zAw9a-*k;@AypX=TaB8UGY#G7v<9)9r$o1)y&F`#-wX=5F=R(AO;U&dK=>W4SXA3MnN zM!HVND%i(7inG_F@ubBKGg4z-^*aZ>lYE-KVom?$n@??@kHj48@L`GwtY69tFD1}Y z^Dxq4R5!;9$mjI)m`M`FKb&|&p(5|ZHPe=lWu+;U_H6S+E~D9^r`E*U_8%4_?0U(1 zY~u*GP)-Oi zAeVB2t8+Y8+OXEw2{tZ^gZT0mr;z7(w?45#&hrfHBm2zOPE_O; z;L)lK!FaOfQi{8^RnC%?cy|+Dx-C&YxoQpfustmF)^{RU5oQ@XJVfg>cQ2KuN3}*h zN4!MPf7{v7-=NP1*S7Ix;EQv!&+k9FCUia&;Z7yd>G1aXJF9(_`0sDdav$tF+!20e zpMl}62@OP=MH%HQugCO;84E`5CJ%KahRrOxjE>5DZ+DvUv6xD)_>w?Jj*-&wh)hZ)Tu&oyxtI)0akuK!MxGeeY%P#6ROuZ3)mKq2exMv$$QY4Pn@f(1k()O~F# zbDR%~+$e^+dsfbQZk=jb8-i`m7TcEbdajL$mmyd9#38QlLSftM(~07q%YgpH(Cs|& z*-cx|rjat_MlEug34%zs^;`oM$h43RL#!7kB3EIIZ^XxJ#YGoW=b)QowM?EHLom|1wDZA6A1-X3-JV8lLJ_mLZ$U_IIu_XL^02YOb}AQy0EhCP;sPt?L(NDxVXpi*8J&hq(9Sk=GICv1liug1burR zF(&T0v3_UnvHO+_V${NOwH9gMzS%Cw6uLALx>-mL-HI+-A8HXt%qBwM2q&h;8*2;i z0Bb`5ptNgkN{c}riX+#UV4hp9p4%`e?$X1=JMhp?4OOOt?w<9rMyvPl6hb}Rf$d#r zngo+4GQsDk8R26CworvK#K^cUa*Z28+XD5#F=}kzR`*d}Z+C)hjTA!GH(T64@y*VT z-zh`fVcaMuA9%RB6)LjSvjbrHn7i3v zYq&CAvNd(RYPNs`Y2q`AkdNwJ1f@fXpAfH^JZIaGgIWc)h#@T-#876t^5RI@T&+>jT zt}YhBQkWo{nUKEiHP($$@Yuugt;N`phl$L>(w_dqq}f+q$5$jIi%8${-yr==x=lJn z+C< z!W2?zZn7A%9sbl1+Qq26jit1`eSH-<^buAQ2svZ4MYq^84_0J?&MGrOhalSxTF9+Y z$aZ**C{E(}ggNH@MIPblZp6(h3CTjz9{5i95dRzgW2CcmZ03I(mK(ypqS7w@ zQ>4pu{d8M&m2@!zc~>SFTcGoa9RBcXre?~&NskX3pwmg5<4RE`8I#OQ65mxCPTf?4Wb->Kh4bRW8F-bTtAO zu0*%w#9c<9;R7f&;|+zuOe_=L|o*G54i z{-9knihnUYM1y}(j3HxESO`(nS`oV1GcIQX~SQ>EjMdx8g5# zwl`X8RgFKoGty|O14$Z>yR_hKp;Sye8KhhseRV7^@DcD%`|8+|{cF#JqH$+RaAaw1 zJ9)3l2BVVRsYvLZ_WH(z^7N5b%PV71{z{4hf`^2xo3sxJJ#UKSUvl2|);j61?F~^H zSvaUg!FOO^_}1`-`}@RaiO7{LL8Ad=H*cpu>oL(M{Q*vs`6*uN|8|oE}Cz+bkbUiJs@j1 zwYgi~($#mJ!*1MXqntZlUoBkcCwE+}B;rCq|G6wVF15QIEK1dZxM8xX)RX62!-jJE zkvNaU-!&41shS;lBtsLXX+{Z_{Qte*(h0x(aI{F23_u}2U$#fi z5LNa;MfP)cVZ)_nQa?Cbz)692!X)5H0t1l`@W~g3^ z5=t|)?4I0D8NZQq^4LX%+_sdwW7Y~aUgpMUwfon=CyE&aaO`QUU>o4miCiwV+@B&# z)Xu2I#5cSlvpp#+g%S%EmfAyXG{YlIVx7a|1@AM&=NfN*h?tQO$0k0|df)3_HEde0 zBssiVJTji3DMaOk#*9N_NbAMAV^IoGYR^%ht8y(;H%%!+>yYCcsON^Sl84HnDE2fR zOI6*d(??CqPvjitu@R|j#xXlT&eL7C%qHCXOvO&Ykn1p4Q?q90J;BfzhGhMW?#XC| zWMB)9MIB4it>bb@OX}dvSBO{3J~`vC<#GOr7-z6TL|axK=W~VFaIi6*_C6ZH1hezA z_!bo_&pCSDyZWPyHza52`1J7tx%s$!E^8z=wJ<|2tAqM0g*3G^4eql?v#BBvrCrKU zpNjI259tZZAXj+YmU@z#S0S_Qi5aOj{sZ5)!5lp_8m?C6jd44 zHlva|!c^a^_y4kiki}lQj`M!Cz~V~jrLQL7`wW|ibxYIFaAwW+F^aNLxRjysEbTMAgqRRyPVexY{K(~OpRz|=T@TP!nKIc zE9BaDl57iZ_#1I)9UFYNIi!UGHzvzAhLpjzFm2bq66Bq;Bn7sjbs>(R$X%(L6d!|6 zV*%(M4lX(Gx#Q$&8EVgVK2;%DEwh7bS)od)cIK*}1V&X`DM4s>UDc96?eUG&lfqim z_=8tXCD59V{X|no!bsUPdCN<>k(bgg*3ssW@(={lE5E|=z>fYRH2sUvB`A)YX7)!( zH$1?>7LM2^>}geIVWDM7462$sItp75jG^#q>d2U0nUDGb7n>y!dV{l&Q0|_mTTXTm$JIdX@ZCh+BN`#Vy zHgJ`_=F5+gfoQF>_tqLLtjmMZ$@Wo^7^8uU!_);z>;f@$gA%*vSMTAGYf+Oh0tx{> zLB2S(t~vR{EJ`6wA!7%IoTn6?tEG2vlL7AX_$_vts-;>?6iu3@rTPhc9-M}X;hKmU z5h=$cZO{%NzUrI%=kx_WcGuDLHF=y{O}y1!Xo$Sa9RCR*06j1Q;_X*Jy!;Mjzqx$r z|DfgbqaF9p?NdlE*_ROWb(=z|%bsb^KLyYN1g=P}mh8Qf7?4shWt%myu(2RYQABk7 zd0rY$RB#T7v>1Oz&g0x+xU>89u|M1W6=ICL|JV`dOEk#-w)xA%jQLt9?1wIn{S5o1 zn6WRB4cZ9>Kn*Ju}#QL+`eyC%Kvw0^6SDana#C@E$e3IU?_v zqy<8;13)&Q;aAHVRy+ob281ouL6N<~mLm}D{?0j^!x<*1%j59+3W1~x#8n{H-DXYe zDSDQOq7kC$fk!o#4Gvv@m0~_Vp*c|br zs`6-6*?vXUW_pAGeWOl}$Fw{OA-nkyK&mntsT_Y4sVL0>q{{yyQoa6D6vgaPsc4r9 z|23Dw6s3j%+9A{D&IXD_jT{^N^y&EogZB)3mpI- z{Luh-1?~U2f7GQ=iUZEi^Gi9E)r`OuZ>QgK^#}MTpxJ86pJS^){QuW2f8P@EmumI# zkL2$In*22Ug#0vy0Fe!2^|wbv`S+Q0{_iPO-f_?XAb;s-^mF_KQ~zI$i$Nece{Hh> zQ3ai=2Y*H?|J!!`Um|pmvhsh)>i103zk{g%A(OHR^Jy&;8v->8Q2+D&ETX=8tj>fX zrifcyDKvH5iBv$MlKC-FrJ!9k?3WUiD`rkz0we=~QyczKPR)m|(hmNF{D$=Wcl!x} zXp$=POU!qI8e^6ATZ(qreCeqGss6jZ$8YJGzf(>Bt?lve+xeC~SU(D~07YT>Njmvi zhvKg}I(()C3bcI;(NYb6viH)C4pY7u8dSA2Gmee>c1pk6nUbzuLTTv;6qKm9KEQ52WN)b(>i^Io@Ka{Z5R3?ywU-msz=>4Lh$0R+{#(ayb#fB*Bq z{R|An|ByF1PxtJ7ViK4m%=G}{*AB4%_%o9VH{dPMSaow*{#oj_HOg@t5Be= z{2wCJY`jSelCCo^j^s{I4pkVzdEiU^ejgEbvA0gnfh_FIio?+aB*tXgBpP@n$m4a&m{*(NgD=_p@E}WWEGyjDa*G^1 zE4;q)Am&Cw`^rt;R61XO?2EdU&g7Ogd1)ZD)X0~a&xp}dsnJri_mt|khg4;`BzZ;J zIp(J50=jb4I`77xaMVm2YL959Ygfb3rr@oMUO80GqfK3IHO)Yd%sQCgi_*2XpaE&R?7A!yoyB$<8LzeuhB zCbcPOM`|%0T58LlQnU7udh@H)!EaK@LeRP%MoS&pQ)ab?p~yJzN$UlxUIWCEy0| z16&z{$6awO=MV~dpbuX8#thozr_U*#z!xRYr?A3~t)R)Fw!#tc=Vxssnk&3-5#-9q zZ%H&F3ivK?Ee_n6`K5Zz@oAS5?}R(L`!1ocJVkQJN7MLJH1KV#EUfDlLOG090T0Yb zT^X;jcH^G*6{x5R=)Xr)1$NaMQ&fGNKycwtul;`rOD9dq0e~`o0euLa`X1@Z zw8jBrx{^ClU>XkIL4A0TD1h_tV81K%PrA~-P39gD{Y^C`c9JQ|)pnDqPRj@u;LT@I zsTB49d!*6{m!}w0>5>cPC?fJZkx8rtrxjBa@%jfM)4yM)Wep?Ww2O!oI@B`=JVA{! zV93k0L6iLiIT%8{nN=;D=}xR?qjU57A=vLq{gniAVL|pPhWzn6BKOKkzacR?*-U}|$7s==kc}bDw*`r+);t}@LJ`xy_!7l$_)-Vl3r%+as7w&1Ovjk~ z=gG*wP3GSssCLZDbbyE{e@V!-K^X%WIestLRA?1bLBdAY2VVEs<##AK-{pCZ-+a6P^e+=Bn>daY@qm9&ItC12990Y+P!w2MnOhPWM6^h+(A?Xh53{rf-VH8Y!;FgtVK!hHrspd%rD;8mf@(ie{+?lG4MMZNvPoG12V&hPhN&M9A+^Tf9* z>>i_S^2BZx_I}SQEM<=>Oy+A923)&ag;9$RO154|Hu=&iZlv+LD zEjr%=xY{ezuj_rSF~d_0ZL zt!xHIG~r8j{@toc`iH7%SL&}+O?w5Ze}G2(j+%Sbw*M#d7yC|tFJa{P0J46$?OZ-2FP*put+`v>?A15nZ1?evHNjrZsg12h(6kC@8V@5iM7`)gO-qZD)c zLdpMRk8JKYc-dZYWDsc7{W|XdnZ+kzsvCX}OMl_HK;85ZsGInHuWrg^*=c3U*BAmD z^IczjSL~nM`+uQKjN63$50rQR8)WWPGUEMK2>lD}(X|)~t-o>G<}Z~kK=2?y$5j*^ zmVrjYHQ*PXFx+AR5>~SZrdxONH6V0Y4u84&WB&p5_D|nunEMC#-Qe$VhwU<6%r~v> z{5pBq^QIN~Kj58=zk$$uf>M~;_g}yS+z0;e=lBWu9yjcMW9=^w)&nL5VYsvS8=KVa z_IIIdrsPHjo$$4#)RU&bFTqpH-Up+8%?VQn!i;nbV+X>thJ{f;7S-IS0-FNALH}hS z0vKIzW!xEESP?;wE{tRCaqG^q1qbs$L;}I?K*TuKZo2!oN^OB3`7&hCg7bBBVOeBn zbYa#7J-PsV2NQt?Mi&wYFpn;XlJAZ#{QIRQj!S-NaRKYyX>kE;_gO;i&X|QL`3{8! zzOx5~?uBED)j(Hcd;wW#$0zDa-@{M?z4uY(5>{lH%l&hvN!k|<);$}xuAWw+D-@MF z`QS)HL^e|~HN(n~%PXQYB+Ap{Q>TsN#Crn?_)1Cr?8seB3*ewYVLjK*ovz0tEG<=Ch(jZ?-HJl^K$F%A42)eF|BAJ`p#>E1VX__E{#QK()ky>GLx zA-+@*K`FS;#Y-j!_d!(rX-CcRg=LO-K?`B>95wW%Sg7HmLpg*G%1@w&i*UL*pPWYh z!0ugoD+2qFoFhwqwY(F-lH-zmILZCKgD8Diw6PoNmuhT|Pm9#FXp^8OYCi0&qyjxrQ!We62TzD(eH~H}j<)y1OXd)< zk+cmGB6p@E9A#Xp0W_njIG}yWvA5eizLv~^@q>sq*OSxu@ptk;sCgnXZCpiTI`ljd zmKBvcV7RK@-KmEH-?Qhn_q$e(&@9zFg?sI2X-oR2lq3~v+1(>x8M}L=Gky~%{>~}# zOZPGWdtc`D0%kL`aZqc(N6%(}=-+mrmi2Y|Yu31#g2pdl{xx1HcuM4>`H@IB)c#lL z0xQ$$u{3>ni%}4;ARGlGTEGC9frMHXCLld-#`yxIKc?iG2zjLh=W3E5Y8L?Ly?WIS zOr`9i2)(O#sL8bJJ0SZqnP&VLt^V$)Qw~Gp*-D>QO2)z@LD_hM60{2e3*B|0SIr|R zKrv>acU2bz4Ef~X^Y|RiAw>`QfKH=rY`r@<(^nD4%0nnRbd$u@w8N#m;h$EroxZp< z3;z0cb5#rh_gh1o#$Hx!Oj?%qM|-T&d>!!lrsg$MuTVd<@6h}ROQ~P>oyK9-%NQV3 z_~#)+^6NMUs)KS&yOX>Vi2fvmP^_z8(sUul+rlt=O5a4CrCVW>14Xr1QZ$S)!xn^N(qQ;n&jyz_u|)V5dLt zJ_NtzJ{a@kZ!CPT{0N}x4=3?ItR#XdzBX~2iPg7tCkl7GJF=96(S;zcXHO7{V&WU2 zK~kZ%YbL_pWd@%mLrJA}SxlG#jcdQ;#1{kXcg4(NmIF~&V9dR(ySW$m+^+;-;wC}z zEsiy#1tz(^1R(fPvmtCFs!s}FB8t^&#d1fjbjSjP<)6W2m{{3Ws7L35)&nAqHYE3wi3P*pq;T)Ck$ zz5qf;Vt}UQpU=TmRsi{F^E2<)Y3grvMMq6p@`fn>PEPOb#`z(sJA3`{wG;f-+A%SY zf0vRv?rfOK0IXk!eL895DB+PEp(c^Xe2@yLaIS!r(stuH8X! zTLXo;1ga^qTT4y`dq4mO5=E~ZAZs5OfnUP-d!u7!v}UHb5JRU!g&qgJ=hsYO(z^t9 zy2cQ>QJ9|2H(Ja$=jjYzO>YqwUr#4z^7L5l3WXvTMV=nqn1Z(}LxM(N+aoLMo1x?4 zCF@I{$J4hy!&~Nn2Tgb0Nl#30THS;^^xS^aFrE!{-&)%0oXbSCgc^Ao%@zXBS)LpS zRZc{%wGTLDdjbzzZYUHl+1{{6E-sB0Drbv%dLlOyU>+{Wg@@vh)ya`@zC>6la>P3N0KZhY3)wgtJoWjlKZeRe^8^n_!kJ_xjIg9AJq9t)ca z^zHQ6?@u#D9ij8%3&UBme--fkfuE>DPrtqH0Y@EvcLeHRFZ}-eNz{3u-(F9F2ebe6 zbkM(E{ry>rs52_Rz0`nnS-)Prdt&8ZFaQ1^In;rR-(J1hZy};!1qu4M;$rw?d3(iBjEdI`~UUg?;n4UIuPL7 yiwStTC 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 tm%|aea@o1B@nXFrZ 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 diff --git a/src/assets/farmer-import/Template_list_of_farmers_Rwanda_en.xlsx b/src/assets/farmer-import/Template_list_of_farmers_Rwanda_en.xlsx index 14e6e73574eae4fa123cb02fcbc39b7fce8a4fbd..5929f081ec1d697719cebb54abd4690ad3d84e31 100644 GIT binary patch literal 41546 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 OkVqRC$TOJ)>Hh%vmuvn2 literal 49542 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 A2mk;8 diff --git a/src/assets/farmer-import/Template_list_of_farmers_other_countries_en.xlsx b/src/assets/farmer-import/Template_list_of_farmers_other_countries_en.xlsx index d96a8e4317db79dbebc2690b84cec3495a449aeb..458d80e2114bf9df2f02cf04a1efdac52e4b6f49 100644 GIT binary patch literal 41179 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 diff --git a/src/assets/locale/de.json b/src/assets/locale/de.json index b25d0347..0a300005 100644 --- a/src/assets/locale/de.json +++ b/src/assets/locale/de.json @@ -2798,6 +2798,7 @@ "companyDetail.farmers.import.validationErrors.cellError.type.INCORRECT_TYPE": "Der Wert in der Zelle ist vom falschen Typ", "companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED": "Die Zelle darf nicht leer sein", "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE": "Der angegebene Wert in der Zelle ist ungültig", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA": "The geo data is not valid. Accepted formats: POLYGON((lat1 lon1, lat2 lon2, ...)) or POINT(lat lon); ODK/Kobo geoshape \"lat lon alt acc;...\"; GeoJSON; or P1(...)P2(...) for several plots. A boundary needs at least 3 distinct points, with valid latitude (-90 to 90) and longitude (-180 to 180) values. In the GeoID column, the value must be a GeoID from the FAO registry.", "companyDetail.farmers.import.success.label": "Landwirte erfolgreich importiert. Bitte überprüfen Sie die Daten auf der Registerkarte Unternehmen > Landwirte", "productLabelFinalProduct.title.finalProducts": "Endprodukte", "productLabelFinalProduct.subTitle.listOfFinalProducts": "Liste der Enderzeugnisse", diff --git a/src/assets/locale/en.json b/src/assets/locale/en.json index 46097177..e1f8f25a 100644 --- a/src/assets/locale/en.json +++ b/src/assets/locale/en.json @@ -2878,6 +2878,7 @@ "companyDetail.farmers.import.validationErrors.cellError.type.INCORRECT_TYPE": "The value in the cell is of wrong type", "companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED": "The cell cannot be empty", "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE": "The provided value in the cell is invalid", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA": "The geo data is not valid. Accepted formats: POLYGON((lat1 lon1, lat2 lon2, ...)) or POINT(lat lon); ODK/Kobo geoshape \"lat lon alt acc;...\"; GeoJSON; or P1(...)P2(...) for several plots. A boundary needs at least 3 distinct points, with valid latitude (-90 to 90) and longitude (-180 to 180) values. In the GeoID column, the value must be a GeoID from the FAO registry.", "productLabelFinalProduct.title.finalProducts": "Final products", "productLabelFinalProduct.subTitle.listOfFinalProducts": "List of final products", "productLabelFinalProduct.subTitle.showingFinalProducts": "Showing {$INTERPOLATION}/{$INTERPOLATION_1}", diff --git a/src/assets/locale/es.json b/src/assets/locale/es.json index 5b2e9e9f..e8b36f2b 100644 --- a/src/assets/locale/es.json +++ b/src/assets/locale/es.json @@ -2731,6 +2731,7 @@ "companyDetail.farmers.import.validationErrors.cellError.type.INCORRECT_TYPE": "El valor de la celda es de tipo incorrecto", "companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED": "La celda no puede estar vacía", "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE": "El valor proporcionado en la celda no es válido", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA": "Los datos geográficos no son válidos. Formatos aceptados: POLYGON((lat1 lon1, lat2 lon2, ...)) o POINT(lat lon); geoshape de ODK/Kobo «lat lon alt prec;...»; GeoJSON; o P1(...)P2(...) para varias parcelas. Un contorno necesita al menos 3 puntos distintos, con valores de latitud (-90 a 90) y longitud (-180 a 180) válidos. En la columna GeoID, el valor debe ser un GeoID del registro de la FAO.", "companyDetail.farmers.import.success.label": "Importación exitosa de agricultores. Por favor veriifque los datos en Empresa > Agricultores", "productLabelFinalProduct.title.finalProducts": "Productos finales", "productLabelFinalProduct.subTitle.listOfFinalProducts": "Listado de productos finales", diff --git a/src/assets/locale/rw.json b/src/assets/locale/rw.json index d0903cd4..96311a91 100644 --- a/src/assets/locale/rw.json +++ b/src/assets/locale/rw.json @@ -2810,6 +2810,7 @@ "companyDetail.farmers.import.validationErrors.cellError.type.INCORRECT_TYPE": "Agaciro muri selire nubwoko butari bwo", "companyDetail.farmers.import.validationErrors.cellError.type.REQUIRED": "Akagari ntigashobora kuba ubusa", "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_VALUE": "Agaciro katanzwe muri selire ntagaciro", + "companyDetail.farmers.import.validationErrors.cellError.type.INVALID_GEODATA": "The geo data is not valid. Accepted formats: POLYGON((lat1 lon1, lat2 lon2, ...)) or POINT(lat lon); ODK/Kobo geoshape \"lat lon alt acc;...\"; GeoJSON; or P1(...)P2(...) for several plots. A boundary needs at least 3 distinct points, with valid latitude (-90 to 90) and longitude (-180 to 180) values. In the GeoID column, the value must be a GeoID from the FAO registry.", "companyDetail.farmers.import.success.label": "Urutonde rw'abahinzi rwinjijwe neza. Reba amakuru yabo kuri kompanyi > ahanitse abahinzi", "productLabelFinalProduct.title.finalProducts": "Ibicuruzwa bya nyuma", "productLabelFinalProduct.subTitle.listOfFinalProducts": "Urutonde rw'ibicuruzwa bya nyuma", From 457fbc42fd9312e962050e42b13a8b7160b85153 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:33 +0000 Subject: [PATCH 06/25] single-choice: accept a bound value input Lets the control be driven from the parent form instead of only from its own internal selection. --- .../single-choice/single-choice.component.ts | 314 +++++++++--------- 1 file changed, 157 insertions(+), 157 deletions(-) diff --git a/src/app/shared/single-choice/single-choice.component.ts b/src/app/shared/single-choice/single-choice.component.ts index 3c7c0f53..a6cad85a 100644 --- a/src/app/shared/single-choice/single-choice.component.ts +++ b/src/app/shared/single-choice/single-choice.component.ts @@ -13,47 +13,59 @@ import { NgSelectComponent } from '@ng-select/ng-select'; styleUrls: ['./single-choice.component.scss'] }) export class SingleChoiceComponent implements OnInit { - @Input() - label: string; - - @Input() - forceAllInLowercase: boolean = false; - - @Input() - markRequired?: boolean; - - private _formControl: FormControl = null; @Input() set formControlInput(value: FormControl) { this._formControl = value; if (value) { - this.resubscribe() + this.resubscribe(); } } get formControlInput(): FormControl { return this._formControl; } - - private _codebookService: CodebookHelperService; @Input() set codebookService(value: CodebookHelperService) { this._codebookService = value; if (value) { - this.resubscribe() + this.resubscribe(); } } get codebookService(): CodebookHelperService { return this._codebookService; } + @Input() set value(val: any) { + this._value = val; + this.modelChoice = val; + } + + get value(): any { + return this._value; + } + + constructor() { + + } + @Input() + label: string; + + @Input() + forceAllInLowercase = false; + + @Input() + markRequired?: boolean; + + private _formControl: FormControl = null; + + private _codebookService: CodebookHelperService; @Input() - allowMultiple: boolean = false; + allowMultiple = false; @Input() enumChoices?: any; @Input() - enumFormatter: (x: any) => string = null + enumFormatter: (x: any) => string = null; @Input() booleanTrue: any = null; @@ -65,62 +77,37 @@ export class SingleChoiceComponent implements OnInit { enumPlaceholder?: string; @Input() - clearable: boolean = true; + clearable = true; @Input() - readonly: boolean = false; + readonly = false; @Input() headerTemplate?: TemplateRef; @Input() - onChangeDistinctCallback?: () => void = null + onChangeDistinctCallback?: () => void = null; @Input() - isInvalidChoice?: boolean = false; - - // @Input() - // validationScheme: SimpleValidationScheme = null; - - @Input() - forbiddenElements: (val: any) => boolean = (val: any) => false + isInvalidChoice = false; @Input() - showPagingInFooter: boolean = false + showPagingInFooter = false; _value = null; - @Input() set value(val: any) { - this._value = val - this.modelChoice = val; - } - - get value(): any { - return this._value; - } @Input() - autofocus = false + autofocus = false; @Input() - noMargin = false + noMargin = false; iOS = /iPad|iPhone|iPod/.test(navigator.userAgent); @ViewChild('ngSelect', { static: false }) ngSelect: NgSelectComponent; - ngAfterViewInit() { - if (this.autofocus) { - setTimeout(() => { - this.ngSelect.focus(); - }); - } - if(this.iOS && this.ngSelect && this.ngSelect.element) { - let el = this.ngSelect.element.querySelector('.ng-placeholder') - el.setAttribute('style', 'padding-left: 0.5rem'); // iOS left padding hack - } - } @Input() - useSimpleStyle: boolean = false + useSimpleStyle = false; @Input() skipItemId: number = null; @@ -129,34 +116,26 @@ export class SingleChoiceComponent implements OnInit { organizationId: string = null; @Input() - touchedOnBlur: boolean = false; + touchedOnBlur = false; @Output() onChange = new EventEmitter(); @Output() isActive = new EventEmitter(); options$: Observable> = null; - options: Array = null - allOptions: Array = null + options: Array = null; + allOptions: Array = null; - keys$: Observable = null + keys$: Observable = null; public modelChoice: any = null; // corresponding model public modelChoiceArr: any[] = null; // corresponding model - constructor() { - - } - - autocompleteSelection$ = null + autocompleteSelection$ = null; selectedObjects$ = null; // list of currently selected objects typeahead$: EventEmitter = new EventEmitter(); - isBooleanSelector() { - return this.booleanTrue != null && this.booleanFalse != null; - } - valueSelectedObjects$ = new BehaviorSubject>([]); modelChoiceSubscription = null; @@ -168,64 +147,87 @@ export class SingleChoiceComponent implements OnInit { offset: 0, limit: 10 } - ) - currentPaging = null + ); + currentPaging = null; + + resubscribeSub = null; + + lastTypeaheadValue = null; + + // @Input() + // validationScheme: SimpleValidationScheme = null; - resubscribeSub = null + @Input() + forbiddenElements: (val: any) => boolean = (val: any) => false + ngAfterViewInit() { + if (this.autofocus) { + setTimeout(() => { + this.ngSelect.focus(); + }); + } + if (this.iOS && this.ngSelect && this.ngSelect.element) { + const el = this.ngSelect.element.querySelector('.ng-placeholder'); + el.setAttribute('style', 'padding-left: 0.5rem'); // iOS left padding hack + } + } + + isBooleanSelector() { + return this.booleanTrue != null && this.booleanFalse != null; + } resubscribeCodebook() { if (this.formControlInput && this.value) { - throw Error("Pri uporabi codebookService lahko uporabiš le enega izmed inputov formControl ali value") + throw Error('Pri uporabi codebookService lahko uporabiš le enega izmed inputov formControl ali value'); } if (this.formControlInput) { if (this.codebookService.isEnumFormControl()) { this.resubscribeSub = this.codebookService.enumOptions().subscribe(options => { if (options) { - this.modelChoice = this.codebookService.enumValueToObject(this.formControlInput.value, options) + this.modelChoice = this.codebookService.enumValueToObject(this.formControlInput.value, options); // setTimeout(() => this.resubscribeSub.unsubscribe(), 0) } - }) + }); } else { this.modelChoice = this.formControlInput.value; } - if (this.modelChoiceSubscription) this.modelChoiceSubscription.unsubscribe(); + if (this.modelChoiceSubscription) { this.modelChoiceSubscription.unsubscribe(); } this.modelChoiceSubscription = this.formControlInput.valueChanges.subscribe(val => { if (this.codebookService.isEnumFormControl()) { - let sub = this.codebookService.enumOptions().subscribe(options => { + const sub = this.codebookService.enumOptions().subscribe(options => { if (options) { - this.modelChoice = this.codebookService.enumValueToObject(val, options) + this.modelChoice = this.codebookService.enumValueToObject(val, options); // sub.unsubscribe() } - }) + }); } else { this.modelChoice = this.formControlInput.value; } - this.typeahead$.next(null) // vedno počisti typeahead - }) + this.typeahead$.next(null); // vedno počisti typeahead + }); if (this.codebookService.isEnumFormControl()) { this.selectedObjects$ = combineLatest(this.codebookService.enumOptions(), this.formControlInput.valueChanges, (options: any[], val: any) => { if (options) { - return this.codebookService.enumValueToObject(val, options) + return this.codebookService.enumValueToObject(val, options); } else { - return null + return null; } } ).pipe( startWith(null), shareReplay() - ) + ); } else { this.selectedObjects$ = this.formControlInput.valueChanges.pipe( startWith(this.formControlInput.value), shareReplay() - ) + ); } } else { - this.modelChoice = this.value - this.selectedObjects$ = this.valueSelectedObjects$ - this.valueSelectedObjects$.next(this.value ? [this.value] : []) + this.modelChoice = this.value; + this.selectedObjects$ = this.valueSelectedObjects$; + this.valueSelectedObjects$.next(this.value ? [this.value] : []); } @@ -239,18 +241,18 @@ export class SingleChoiceComponent implements OnInit { this.organizationId ).pipe( tap(x => { - if (this.showPagingInFooter) this.pagingData$.next(x) + if (this.showPagingInFooter) { this.pagingData$.next(x); } }), map(x => x.results), // merge(this.codebookService.getAllCandidates()), map(lst => lst.filter(x => this.forbiddenElements && !this.forbiddenElements(x))) - ) + ); if (this.optionsSubscription) { - this.optionsSubscription.unsubscribe() + this.optionsSubscription.unsubscribe(); } this.optionsSubscription = this.autocompleteSelection$.subscribe((choices) => { this.options = choices; - }) + }); } isRequired() { @@ -258,182 +260,180 @@ export class SingleChoiceComponent implements OnInit { return true; } if (this.formControlInput) { - return isRequired(this.formControlInput) + return isRequired(this.formControlInput); } return false; } isDisabled() { if (this.formControlInput) { - return this.formControlInput.enabled === false + return this.formControlInput.enabled === false; } - return false + return false; } - lastTypeaheadValue = null; - resubscribeEnum() { - this.allOptions = pripraviSifrant(this.enumChoices, this.forceAllInLowercase) + this.allOptions = pripraviSifrant(this.enumChoices, this.forceAllInLowercase); if (!this.formControlInput) { - throw Error("formControlInput ne sme biti null pri izbiri enumChoices") + throw Error('formControlInput ne sme biti null pri izbiri enumChoices'); } - const val = this.formControlInput.value + const val = this.formControlInput.value; if (this.allowMultiple) { this.modelChoiceArr = this.allOptions.filter(x => { - if (val == null) return false; + if (val == null) { return false; } if (this.forceAllInLowercase) { return val.map(v => v.toLocaleLowerCase()).includes(x.value.toLocaleLowerCase()); } return val.includes(x.value); - }) + }); } else { this.modelChoice = this.allOptions.find(x => { if (this.forceAllInLowercase) { - if (val == null) return false; - return x.value.toLocaleLowerCase() === (val as string).toLocaleLowerCase() + if (val == null) { return false; } + return x.value.toLocaleLowerCase() === (val as string).toLocaleLowerCase(); } - return x.value === val - }) + return x.value === val; + }); } if (this.modelChoiceSubscription) { this.modelChoiceSubscription.unsubscribe(); } this.modelChoiceSubscription = this.formControlInput.valueChanges.subscribe(val => { if (this.allowMultiple) { - this.modelChoiceArr = this.allOptions.filter(x => val?.includes(x.value)) + this.modelChoiceArr = this.allOptions.filter(x => val?.includes(x.value)); } else { - this.modelChoice = this.allOptions.find(x => x.value === val) + this.modelChoice = this.allOptions.find(x => x.value === val); } - }) + }); if (this.optionsSubscription) { - this.optionsSubscription.unsubscribe() + this.optionsSubscription.unsubscribe(); } this.optionsSubscription = this.typeahead$.pipe( debounceTime(200), distinctUntilChanged() ).pipe( map(key => { - let lkey = key ? key.toLocaleLowerCase() : '' - return this.allOptions.filter(x => String(x.value).toLocaleLowerCase().indexOf(lkey) >= 0) + const lkey = key ? key.toLocaleLowerCase() : ''; + return this.allOptions.filter(x => String(x.value).toLocaleLowerCase().indexOf(lkey) >= 0); }), startWith(this.allOptions) ).subscribe((choices) => { this.options = choices; - }) + }); } resubscribeBoolean() { this.options = [ this.booleanTrue, this.booleanFalse - ] - let val = this.formControlInput.value + ]; + const val = this.formControlInput.value; if (val === true) { - this.modelChoice = this.options[0] + this.modelChoice = this.options[0]; } else if (val === false) { - this.modelChoice = this.options[1] + this.modelChoice = this.options[1]; } else { - this.modelChoice = null + this.modelChoice = null; } if (this.modelChoiceSubscription) { this.modelChoiceSubscription.unsubscribe(); } this.modelChoiceSubscription = this.formControlInput.valueChanges.subscribe(val => { if (val === true) { - this.modelChoice = this.options[0] + this.modelChoice = this.options[0]; } else if (val === false) { - this.modelChoice = this.options[1] + this.modelChoice = this.options[1]; } else { - this.modelChoice = null + this.modelChoice = null; } - }) + }); } resubscribe() { if (this.codebookService) { - this.resubscribeCodebook() + this.resubscribeCodebook(); } else if (this.enumChoices) { - this.resubscribeEnum() + this.resubscribeEnum(); } else if (this.isBooleanSelector()) { - this.resubscribeBoolean() + this.resubscribeBoolean(); } } ngOnInit() { - this.resubscribe() + this.resubscribe(); } formatter(item: any) { - if (this.skipItemId && item.id && item.id == this.skipItemId) return - if (this.codebookService) { + if (this.skipItemId && item.id && item.id == this.skipItemId) { return; } + if (this.codebookService) { return this.codebookService.formatter()(item); } else if (this.enumChoices || this.isBooleanSelector()) { if (this.enumFormatter) { - return this.enumFormatter(item) + return this.enumFormatter(item); } else { - return item.value || "Wrong formatter." + return item.value || 'Wrong formatter.'; } } } onChangeHandler(event) { - if (!event) return; // handled by onClear - let lastValueId = this.modelChoice ? this.modelChoice.id : null - let newValueId = event ? event.id : null + if (!event) { return; } // handled by onClear + const lastValueId = this.modelChoice ? this.modelChoice.id : null; + const newValueId = event ? event.id : null; if (this.formControlInput) { if (this.enumChoices || this.isBooleanSelector()) { if (event == null) { - this.formControlInput.setValue(null) + this.formControlInput.setValue(null); } else if (event instanceof Array) { - this.formControlInput.setValue(event.map(e => e.value)) + this.formControlInput.setValue(event.map(e => e.value)); } else { - this.formControlInput.setValue(event.value) + this.formControlInput.setValue(event.value); } } else { if (this.codebookService && this.codebookService.isEnumFormControl()) { - this.formControlInput.setValue(this.codebookService.objectToEnumValue(event)) + this.formControlInput.setValue(this.codebookService.objectToEnumValue(event)); } else { - this.formControlInput.setValue(event) + this.formControlInput.setValue(event); } } - this.formControlInput.markAsDirty() + this.formControlInput.markAsDirty(); } else { - this.valueSelectedObjects$.next(this.value ? [this.value] : []) + this.valueSelectedObjects$.next(this.value ? [this.value] : []); } - this.typeahead$.next(null) + this.typeahead$.next(null); if (this.codebookService && this.codebookService.isEnumFormControl()) { - this.onChange.next(this.codebookService.objectToEnumValue(event)) + this.onChange.next(this.codebookService.objectToEnumValue(event)); } else { - this.onChange.next(event) + this.onChange.next(event); } if (newValueId != lastValueId && this.onChangeDistinctCallback) { - this.onChangeDistinctCallback() + this.onChangeDistinctCallback(); } } onClear(event) { if (this.formControlInput) { - this.formControlInput.setValue(null) - this.formControlInput.markAsDirty() + this.formControlInput.setValue(null); + this.formControlInput.markAsDirty(); } else { - this.modelChoice = null + this.modelChoice = null; } - this.typeahead$.next(null) - this.onChange.next(null) + this.typeahead$.next(null); + this.onChange.next(null); } onBlur(event) { - if (this.touchedOnBlur) this._formControl.markAsTouched(); - this.typeahead$.next(null) // vedno počisti typeahead - this.isActive.next(false) + if (this.touchedOnBlur) { this._formControl.markAsTouched(); } + this.typeahead$.next(null); // vedno počisti typeahead + this.isActive.next(false); } onFocus(event) { - this.typeahead$.next(null) - this.isActive.next(true) + this.typeahead$.next(null); + this.isActive.next(true); } ngOnDestroy() { @@ -441,42 +441,42 @@ export class SingleChoiceComponent implements OnInit { this.modelChoiceSubscription.unsubscribe(); } if (this.optionsSubscription) { - this.optionsSubscription.unsubscribe() + this.optionsSubscription.unsubscribe(); } } min(x, y) { - return Math.min(x, y) + return Math.min(x, y); } isPagePrev() { - let tmp = this.pagingData$.getValue() - return tmp && tmp.offset > 0 + const tmp = this.pagingData$.getValue(); + return tmp && tmp.offset > 0; } isPageNext() { - let tmp = this.pagingData$.getValue() - return tmp && tmp.offset + tmp.limit < tmp.totalCount + const tmp = this.pagingData$.getValue(); + return tmp && tmp.offset + tmp.limit < tmp.totalCount; } onPagePrev() { - let tmp = this.pagingData$.getValue() + const tmp = this.pagingData$.getValue(); this.pagingParams$.next( { offset: Math.max(0, tmp.offset - tmp.limit), limit: tmp.limit } - ) + ); } onPageNext() { - let tmp = this.pagingData$.getValue() + const tmp = this.pagingData$.getValue(); this.pagingParams$.next( { offset: Math.min(tmp.offset + tmp.limit, tmp.totalCount), limit: tmp.limit } - ) + ); } resetPaging() { From 6bcf4412929ffceec151451fddd4b073a2266020 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:44 +0000 Subject: [PATCH 07/25] Plots: capture a centre point by clicking the map The map now emits a click, and the plot form records it as the plot's central latitude and longitude alongside the boundary. --- src/api/model/apiPlot.ts | 37 ++++++++++++++++++- .../plots-form/plots-form.component.ts | 5 ++- .../plots-item/plots-item.component.html | 19 ++++++++++ .../plots-item/plots-item.component.ts | 24 +++++++++++- .../plot-coordinates-manager.service.ts | 3 +- src/app/shared/map/map.component.ts | 26 ++++++++++++- src/assets/locale/en.json | 11 +++++- 7 files changed, 117 insertions(+), 8 deletions(-) diff --git a/src/api/model/apiPlot.ts b/src/api/model/apiPlot.ts index d5aa6e64..d97cfc3c 100644 --- a/src/api/model/apiPlot.ts +++ b/src/api/model/apiPlot.ts @@ -68,6 +68,13 @@ export interface ApiPlot { * Date of last update */ farmerId?: number; + + /** + * Center plot coordinate + */ + centerLatitude?: number; + centerLongitude?: number; + } /** @@ -118,7 +125,9 @@ export namespace ApiPlot { /** * Date of last update */ - farmerId = 'farmerId' + farmerId = 'farmerId', + centerLatitude = 'centerLatitude', + centerLongitude = 'centerLongitude' } @@ -250,6 +259,28 @@ export namespace ApiPlot { isListContainer: false, complexType: '' }, + { + isReadOnly: false, + isEnum: false, + required: false, + name: 'centerLongitude', + classname: 'ApiPlot', + dataType: 'number', + isPrimitiveType: true, + isListContainer: false, + complexType: '' + }, + { + isReadOnly: false, + isEnum: false, + required: false, + name: 'centerLatitude', + classname: 'ApiPlot', + dataType: 'number', + isPrimitiveType: true, + isListContainer: false, + complexType: '' + }, ], validators: { id: [ @@ -274,6 +305,10 @@ export namespace ApiPlot { ], farmerId: [ ], + centerLatitude: [ + ], + centerLongitude: [ + ], } } } diff --git a/src/app/company/company-common/plots-form/plots-form.component.ts b/src/app/company/company-common/plots-form/plots-form.component.ts index 2614308a..b2acf4ef 100644 --- a/src/app/company/company-common/plots-form/plots-form.component.ts +++ b/src/app/company/company-common/plots-form/plots-form.component.ts @@ -7,13 +7,14 @@ import {PlotCoordinatesManagerService} from '../../../shared-services/plot-coord import {ApiPlot} from '../../../../api/model/apiPlot'; import {ListEditorManager} from '../../../shared/list-editor/list-editor-manager'; import {defaultEmptyObject} from '../../../../shared/utils'; -import {Subject} from 'rxjs/internal/Subject'; +// import {Subject} from 'rxjs/internal/Subject'; import {ApiPlotValidationScheme} from './validation'; import {NgbModalImproved} from '../../../core/ngb-modal-improved/ngb-modal-improved.service'; import { OpenPlotDetailsExternallyModalComponent } from '../../company-farmers/open-plot-details-externally-modal/open-plot-details-externally-modal.component'; -import { MapComponent } from "../../../shared/map/map.component"; +import { MapComponent } from '../../../shared/map/map.component'; +import {Subject} from 'rxjs'; @Component({ selector: 'app-plots-form', diff --git a/src/app/company/company-common/plots-item/plots-item.component.html b/src/app/company/company-common/plots-item/plots-item.component.html index 14eaefd4..fe192560 100644 --- a/src/app/company/company-common/plots-item/plots-item.component.html +++ b/src/app/company/company-common/plots-item/plots-item.component.html @@ -43,6 +43,7 @@ [initialLat]="initialLat" [initialLng]="initialLng" [editMode]="true"> +
@@ -82,6 +83,24 @@
+ + + + im existingPlotCoordinatesSubject = new Subject(); tagOpened = false; mapEditable = true; + + centerLatitude!: number; + centerLongitude!: number; plotType: 'boundaries' | 'single_point' = 'boundaries'; selectPlotType = true; @@ -106,6 +110,7 @@ export class PlotsItemComponent extends GenericEditableItemComponent im returnStr += ' ' + unit; } + console.log(returnStr); return returnStr; } } @@ -206,4 +211,21 @@ export class PlotsItemComponent extends GenericEditableItemComponent im buttonTitles: { ok: $localize`:@@map.modal.eudr.warning.ok:Yes, add single pin.`, cancel: $localize`:@@map.modal.eudr.warning.cancel:No, add polygon instead.` } }); } + + onMapClick(event: { longitude: number, latitude: number }) { + this.centerLongitude = event.longitude; + this.centerLatitude = event.latitude; + + // Optionnel: mettez à jour le formulaire si nécessaire + this.updateFormWithCenterCoordinates(); + } + + private updateFormWithCenterCoordinates() { + // Si vous voulez stocker les coordonnées dans le formulaire + this.form.patchValue({ + centerLongitude: this.centerLongitude, + centerLatitude: this.centerLatitude + }); + } + } diff --git a/src/app/shared-services/plot-coordinates-manager.service.ts b/src/app/shared-services/plot-coordinates-manager.service.ts index 3177cc05..c7047cee 100644 --- a/src/app/shared-services/plot-coordinates-manager.service.ts +++ b/src/app/shared-services/plot-coordinates-manager.service.ts @@ -1,5 +1,6 @@ import {PlotActionWrapper, PlotCoordinateAction} from './plot-coordinate-action-enum'; -import {Subject} from 'rxjs/internal/Subject'; +import {Subject} from 'rxjs'; +// import {Subject} from 'rxjs/internal/Subject'; export class PlotCoordinatesManagerService { diff --git a/src/app/shared/map/map.component.ts b/src/app/shared/map/map.component.ts index d2bb09bc..984cdd1a 100644 --- a/src/app/shared/map/map.component.ts +++ b/src/app/shared/map/map.component.ts @@ -1,23 +1,27 @@ import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { environment } from 'src/environments/environment'; import * as mapboxgl from 'mapbox-gl'; -import { Observable, Subscription } from 'rxjs'; +import { Observable, Subscription, Subject } from 'rxjs'; import { ApiPlotCoordinate } from '../../../api/model/apiPlotCoordinate'; import { PlotCoordinatesManagerService } from '../../shared-services/plot-coordinates-manager.service'; import { PlotActionWrapper, PlotCoordinateAction } from '../../shared-services/plot-coordinate-action-enum'; import { ApiPlot } from '../../../api/model/apiPlot'; import { GlobalEventManagerService } from '../../core/global-event-manager.service'; -import { Subject } from 'rxjs/internal/Subject'; +// import { Subject } from 'rxjs/internal/Subject'; import { CompanyControllerService } from '../../../api/api/companyController.service'; import { FormControl } from '@angular/forms'; +// @ts-ignore @Component({ selector: 'app-map', templateUrl: './map.component.html', styleUrls: ['./map.component.css'] }) +// declare var mapboxgl: any; + export class MapComponent implements OnInit, AfterViewInit, OnDestroy { + private map: mapboxgl.Map; private MAPBOX_STYLE_BASE_PATH = 'mapbox://styles/mapbox/'; @@ -70,6 +74,9 @@ export class MapComponent implements OnInit, AfterViewInit, OnDestroy { @Input() editable: boolean; + + // Ajout event de click map + @Output() mapClick = new EventEmitter<{ longitude: number, latitude: number }>(); subscriptions: Subscription = new Subscription(); markers: Array = []; @@ -236,6 +243,10 @@ export class MapComponent implements OnInit, AfterViewInit, OnDestroy { this.map.setStyle(`${this.MAPBOX_STYLE_BASE_PATH}${value}`); }) ); + + this.map.on('click', (e) => { + this.onMapClick(e); + }); } flyToCurrentPosition(): void { @@ -611,4 +622,15 @@ export class MapComponent implements OnInit, AfterViewInit, OnDestroy { this.placeMarkerOnMap(latCenter, lonCenter, plot); } + // pour gerer click sur Map + private onMapClick(event: mapboxgl.MapMouseEvent) { + const coordinates = event.lngLat; + + // Émet les coordonnées via l'Output + this.mapClick.emit({ + longitude: coordinates.lng, + latitude: coordinates.lat + }); + } + } diff --git a/src/assets/locale/en.json b/src/assets/locale/en.json index e1f8f25a..8e62acef 100644 --- a/src/assets/locale/en.json +++ b/src/assets/locale/en.json @@ -3183,6 +3183,15 @@ "map.view.default": "Default view", "map.view.satellite": "Satellite view", "productLabelPurchaseOrder.tableCol.exportGeoData": "Export Geo Data", - "orderList.export.geojson.noDataAvailable": "There is no Geo data available for this order" + "orderList.export.geojson.noDataAvailable": "There is no Geo data available for this order", + + "content.short_description": "Rendre les chaînes d'approvisionnement agricoles transparentes et équitables avec INATRACE", + "content.short.description.home": "INATRACE: Rend les chaînes d'approvisionnement agricoles transparentes et équitables", + "content.description.home": "INATrace est une solution numérique open-source qui met l'accent sur les personnes. Elle est conçue pour les chaînes d'approvisionnement agricoles mondiales transparentes afin d'améliorer les conditions économiques des petits exploitants, INATrace offre une traçabilité de bout en bout qui garantit un paiement équitable.", + "content.readmore": "Lire la suite", + "collectorDetail.textinput.centerLatitude.label": "Latitude Central Point", + "collectorDetail.textinput.centerLongitude.label": "Longitude Central Point", + "collectorDetail.textinput.centerLatitude.placeholder": "Latitude Central Point", + "collectorDetail.textinput.centerLongitude.placeholder": "Longitude Central Point" } } From 6886d2d4aa4ee076cb7385548cb921b0e5682d98 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:38:44 +0000 Subject: [PATCH 08/25] api: regenerate the client against the updated backend Picks up the geo-data and order export endpoints, the plot centre-point fields and the new stock order attributes. --- src/api/api/commonCsvController.service.ts | 10 +- src/api/api/companyController.service.ts | 106 +++++------ src/api/api/dashboardController.service.ts | 2 +- .../api/processingActionController.service.ts | 136 +++++++------- ...ocessingEvidenceFieldController.service.ts | 40 ++--- src/api/api/publicController.service.ts | 10 +- src/api/api/stockOrderController.service.ts | 34 ++++ src/api/api/transactionController.service.ts | 16 +- src/api/api/userController.service.ts | 9 +- src/api/api/valueChainController.service.ts | 10 +- src/api/apidocs-original.json | 166 +++++++++--------- src/api/apidocs.json | 166 +++++++++--------- .../apiProcessingActionOutputSemiProduct.ts | 20 +-- src/api/model/apiSemiProduct.ts | 20 +-- src/api/model/apiStockOrder.ts | 18 +- 15 files changed, 402 insertions(+), 361 deletions(-) diff --git a/src/api/api/commonCsvController.service.ts b/src/api/api/commonCsvController.service.ts index 0b01214b..0e96d9dd 100644 --- a/src/api/api/commonCsvController.service.ts +++ b/src/api/api/commonCsvController.service.ts @@ -183,7 +183,7 @@ export namespace GeneratePurchasesByCompanyCsv { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -545,10 +545,10 @@ export class CommonCsvControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR'| 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR'| 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR'| 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public generatePurchasesByCompanyCsv(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR'| 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', preferredWayOfPayment?: 'CASH' | 'CASH_VIA_COLLECTOR' | 'BANK_TRANSFER' | 'CHEQUE' | 'OFFSETTING' | 'UNKNOWN', isWomenShare?: boolean, productionDateStart?: string, productionDateEnd?: string, query?: string, observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling generatePurchasesByCompanyCsv.'); } diff --git a/src/api/api/companyController.service.ts b/src/api/api/companyController.service.ts index e3a487cf..8ad3b56d 100644 --- a/src/api/api/companyController.service.ts +++ b/src/api/api/companyController.service.ts @@ -303,7 +303,7 @@ export namespace ExportFarmerDataByCompany { * Company ID */ companyId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** @@ -686,7 +686,7 @@ export namespace GetCompanyProductTypes { * Company ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -986,7 +986,7 @@ export namespace GetUserCustomer { * User customer ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -1029,7 +1029,7 @@ export namespace GetUserCustomersForCompanyAndType { * Type of user customer (collector, farmer) */ type: 'COLLECTOR' | 'FARMER'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Name or surname */ @@ -1147,7 +1147,7 @@ export namespace GetUserCustomersPlotsForCompany { * Company ID */ companyId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -1190,7 +1190,7 @@ export namespace ImportFarmersSpreadsheet { * Document ID */ documentId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -1235,7 +1235,7 @@ export namespace ListCompanies { /** * Language */ - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Company status, sortable */ @@ -1341,7 +1341,7 @@ export namespace ListCompaniesAdmin { /** * Language */ - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Company status, sortable */ @@ -1452,7 +1452,7 @@ export namespace RefreshGeoIDForUserCustomerPlot { * Plot ID */ plotId: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -1958,10 +1958,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public createUserCustomerPlot(id: number, ApiPlot: ApiPlot, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling createUserCustomerPlot.'); } @@ -2311,10 +2311,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public exportFarmerDataByCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling exportFarmerDataByCompany.'); } @@ -2976,10 +2976,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getCompanyProductTypes(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getCompanyProductTypes.'); } @@ -3383,10 +3383,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomer(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getUserCustomer.'); } @@ -3486,10 +3486,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomersForCompanyAndType(companyId: number, type: 'COLLECTOR' | 'FARMER', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', query?: string, searchBy?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling getUserCustomersForCompanyAndType.'); } @@ -3600,10 +3600,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getUserCustomersPlotsForCompany(companyId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling getUserCustomersPlotsForCompany.'); } @@ -3689,10 +3689,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public importFarmersSpreadsheet(companyId: number, documentId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (companyId === null || companyId === undefined) { throw new Error('Required parameter companyId was null or undefined when calling importFarmersSpreadsheet.'); } @@ -3792,10 +3792,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCompanies(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (language !== undefined && language !== null) { @@ -3912,10 +3912,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listCompaniesAdmin(language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', status?: 'REGISTERED' | 'ACTIVE' | 'DEACTIVATED', name?: string, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (language !== undefined && language !== null) { @@ -4022,10 +4022,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public refreshGeoIDForUserCustomerPlot(id: number, plotId: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling refreshGeoIDForUserCustomerPlot.'); } @@ -4289,10 +4289,10 @@ export class CompanyControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public updateUserCustomer(ApiUserCustomer: ApiUserCustomer, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (ApiUserCustomer === null || ApiUserCustomer === undefined) { throw new Error('Required parameter ApiUserCustomer was null or undefined when calling updateUserCustomer.'); } diff --git a/src/api/api/dashboardController.service.ts b/src/api/api/dashboardController.service.ts index 22c3ef4f..3d0ef067 100644 --- a/src/api/api/dashboardController.service.ts +++ b/src/api/api/dashboardController.service.ts @@ -223,7 +223,7 @@ export namespace ExportProcessingPerformanceData { */ export interface PartialParamMap { ApiProcessingPerformanceRequest: ApiProcessingPerformanceRequest; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' | 'ES'; } /** diff --git a/src/api/api/processingActionController.service.ts b/src/api/api/processingActionController.service.ts index 5c4085c1..6bd14a43 100644 --- a/src/api/api/processingActionController.service.ts +++ b/src/api/api/processingActionController.service.ts @@ -112,7 +112,7 @@ export namespace GetProcessingAction { * ProcessingAction ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -151,7 +151,7 @@ export namespace GetProcessingActionDetail { * ProcessingAction ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -198,7 +198,7 @@ export namespace ListProcessingActionsByCompany { * Only final product actions */ onlyFinalProducts?: boolean; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; /** * Only count, only fetch, or return both values (if null) */ @@ -375,7 +375,7 @@ export class ProcessingActionControllerService { let headers = this.defaultHeaders; // to determine the Accept header - let httpHeaderAccepts: string[] = [ + const httpHeaderAccepts: string[] = [ 'application/json' ]; const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); @@ -392,8 +392,8 @@ export class ProcessingActionControllerService { headers = headers.set('Content-Type', httpContentTypeSelected); } - if (additionalHeaders) { - for(let pair of additionalHeaders) { + if (additionalHeaders) { + for (const pair of additionalHeaders) { headers = headers.set(pair[0], pair[1]); } } @@ -402,12 +402,12 @@ export class ProcessingActionControllerService { ApiProcessingAction, { withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress + headers, + observe, + reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'createOrUpdateProcessingAction'))); } return handle; @@ -416,7 +416,7 @@ export class ProcessingActionControllerService { /** * Deletes a processing action with the provided ID. by map. - * + * * @param map parameters map to set partial amount of parameters easily * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -447,7 +447,7 @@ export class ProcessingActionControllerService { /** * Deletes a processing action with the provided ID. - * + * * @param id ProcessingAction ID * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -463,7 +463,7 @@ export class ProcessingActionControllerService { let headers = this.defaultHeaders; // to determine the Accept header - let httpHeaderAccepts: string[] = [ + const httpHeaderAccepts: string[] = [ 'application/json' ]; const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); @@ -475,8 +475,8 @@ export class ProcessingActionControllerService { const consumes: string[] = [ ]; - if (additionalHeaders) { - for(let pair of additionalHeaders) { + if (additionalHeaders) { + for (const pair of additionalHeaders) { headers = headers.set(pair[0], pair[1]); } } @@ -484,12 +484,12 @@ export class ProcessingActionControllerService { const handle = this.httpClient.delete(`${this.configuration.basePath}/api/chain/processing-action/${encodeURIComponent(String(id))}`, { withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress + headers, + observe, + reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'deleteProcessingAction'))); } return handle; @@ -498,7 +498,7 @@ export class ProcessingActionControllerService { /** * Get a single processing action with the provided ID. by map. - * + * * @param map parameters map to set partial amount of parameters easily * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -530,16 +530,16 @@ export class ProcessingActionControllerService { /** * Get a single processing action with the provided ID. - * + * * @param id ProcessingAction ID - * @param language + * @param language * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingAction(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProcessingAction.'); } @@ -550,7 +550,7 @@ export class ProcessingActionControllerService { } // to determine the Accept header - let httpHeaderAccepts: string[] = [ + const httpHeaderAccepts: string[] = [ 'application/json' ]; const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); @@ -562,8 +562,8 @@ export class ProcessingActionControllerService { const consumes: string[] = [ ]; - if (additionalHeaders) { - for(let pair of additionalHeaders) { + if (additionalHeaders) { + for (const pair of additionalHeaders) { headers = headers.set(pair[0], pair[1]); } } @@ -571,12 +571,12 @@ export class ProcessingActionControllerService { const handle = this.httpClient.get(`${this.configuration.basePath}/api/chain/processing-action/${encodeURIComponent(String(id))}`, { withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress + headers, + observe, + reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'getProcessingAction'))); } return handle; @@ -585,7 +585,7 @@ export class ProcessingActionControllerService { /** * Get a single processing action by the provided ID with all translations. by map. - * + * * @param map parameters map to set partial amount of parameters easily * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -617,16 +617,16 @@ export class ProcessingActionControllerService { /** * Get a single processing action by the provided ID with all translations. - * + * * @param id ProcessingAction ID - * @param language + * @param language * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingActionDetail(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProcessingActionDetail.'); } @@ -637,7 +637,7 @@ export class ProcessingActionControllerService { } // to determine the Accept header - let httpHeaderAccepts: string[] = [ + const httpHeaderAccepts: string[] = [ 'application/json' ]; const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); @@ -649,8 +649,8 @@ export class ProcessingActionControllerService { const consumes: string[] = [ ]; - if (additionalHeaders) { - for(let pair of additionalHeaders) { + if (additionalHeaders) { + for (const pair of additionalHeaders) { headers = headers.set(pair[0], pair[1]); } } @@ -658,12 +658,12 @@ export class ProcessingActionControllerService { const handle = this.httpClient.get(`${this.configuration.basePath}/api/chain/processing-action/${encodeURIComponent(String(id))}/detail`, { withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress + headers, + observe, + reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'getProcessingActionDetail'))); } return handle; @@ -672,7 +672,7 @@ export class ProcessingActionControllerService { /** * Get a list of processing actions by company ID. by map. - * + * * @param map parameters map to set partial amount of parameters easily * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -711,11 +711,11 @@ export class ProcessingActionControllerService { /** * Get a list of processing actions by company ID. - * + * * @param id Company ID * @param actionType Processing action type * @param onlyFinalProducts Only final product actions - * @param language + * @param language * @param requestType Only count, only fetch, or return both values (if null) * @param limit Number of records to return. Min: 1, default: 100 * @param offset Number of records to skip before returning. Default: 0, min: 0 @@ -724,35 +724,35 @@ export class ProcessingActionControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingActionsByCompany(id: number, actionType?: 'PROCESSING' | 'FINAL_PROCESSING' | 'SHIPMENT' | 'TRANSFER' | 'GENERATE_QR_CODE', onlyFinalProducts?: boolean, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listProcessingActionsByCompany.'); } let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (actionType !== undefined && actionType !== null) { - queryParameters = queryParameters.set('actionType', actionType); + queryParameters = queryParameters.set('actionType', actionType as any); } if (onlyFinalProducts !== undefined && onlyFinalProducts !== null) { - queryParameters = queryParameters.set('onlyFinalProducts', onlyFinalProducts); + queryParameters = queryParameters.set('onlyFinalProducts', onlyFinalProducts as any); } if (requestType !== undefined && requestType !== null) { - queryParameters = queryParameters.set('requestType', requestType); + queryParameters = queryParameters.set('requestType', requestType as any); } if (limit !== undefined && limit !== null) { - queryParameters = queryParameters.set('limit', limit); + queryParameters = queryParameters.set('limit', limit as any); } if (offset !== undefined && offset !== null) { - queryParameters = queryParameters.set('offset', offset); + queryParameters = queryParameters.set('offset', offset as any); } if (sortBy !== undefined && sortBy !== null) { - queryParameters = queryParameters.set('sortBy', sortBy); + queryParameters = queryParameters.set('sortBy', sortBy as any); } if (sort !== undefined && sort !== null) { - queryParameters = queryParameters.set('sort', sort); + queryParameters = queryParameters.set('sort', sort as any); } let headers = this.defaultHeaders; @@ -761,7 +761,7 @@ export class ProcessingActionControllerService { } // to determine the Accept header - let httpHeaderAccepts: string[] = [ + const httpHeaderAccepts: string[] = [ 'application/json' ]; const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); @@ -773,8 +773,8 @@ export class ProcessingActionControllerService { const consumes: string[] = [ ]; - if (additionalHeaders) { - for(let pair of additionalHeaders) { + if (additionalHeaders) { + for (const pair of additionalHeaders) { headers = headers.set(pair[0], pair[1]); } } @@ -783,12 +783,12 @@ export class ProcessingActionControllerService { { params: queryParameters, withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress + headers, + observe, + reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'listProcessingActionsByCompany'))); } return handle; diff --git a/src/api/api/processingEvidenceFieldController.service.ts b/src/api/api/processingEvidenceFieldController.service.ts index 69bee02b..b36c3fec 100644 --- a/src/api/api/processingEvidenceFieldController.service.ts +++ b/src/api/api/processingEvidenceFieldController.service.ts @@ -112,7 +112,7 @@ export namespace GetProcessingEvidenceField { * ProcessingEvidenceField ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES'; } /** @@ -167,7 +167,7 @@ export namespace GetProcessingEvidenceFieldList { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES'; } /** @@ -251,7 +251,7 @@ export namespace ListProcessingEvidenceFieldsByValueChain { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES'; } /** @@ -342,7 +342,7 @@ export namespace ListProcessingEvidenceFieldsByValueChains { * Direction of sorting (ASC or DESC). Default DESC. */ sort?: 'ASC' | 'DESC'; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -648,10 +648,10 @@ export class ProcessingEvidenceFieldControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceField(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getProcessingEvidenceField.'); } @@ -743,10 +743,10 @@ export class ProcessingEvidenceFieldControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getProcessingEvidenceFieldList(requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (requestType !== undefined && requestType !== null) { @@ -855,10 +855,10 @@ export class ProcessingEvidenceFieldControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceFieldsByValueChain(id: number, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling listProcessingEvidenceFieldsByValueChain.'); } @@ -970,10 +970,10 @@ export class ProcessingEvidenceFieldControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public listProcessingEvidenceFieldsByValueChains(valueChainIds: Array, requestType?: 'COUNT' | 'FETCH', limit?: number, offset?: number, sortBy?: string, sort?: 'ASC' | 'DESC', language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (valueChainIds === null || valueChainIds === undefined) { throw new Error('Required parameter valueChainIds was null or undefined when calling listProcessingEvidenceFieldsByValueChains.'); } diff --git a/src/api/api/publicController.service.ts b/src/api/api/publicController.service.ts index 6abcaa46..cb896ac8 100644 --- a/src/api/api/publicController.service.ts +++ b/src/api/api/publicController.service.ts @@ -417,7 +417,7 @@ export namespace GetQRTagPublicData { * Return aggregated history */ withHistory?: boolean; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES'; } /** @@ -1518,10 +1518,10 @@ export class PublicControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' | 'FR' |'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getQRTagPublicData(qrTag: string, withHistory?: boolean, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (qrTag === null || qrTag === undefined) { throw new Error('Required parameter qrTag was null or undefined when calling getQRTagPublicData.'); } diff --git a/src/api/api/stockOrderController.service.ts b/src/api/api/stockOrderController.service.ts index ef195a98..68ed89d0 100644 --- a/src/api/api/stockOrderController.service.ts +++ b/src/api/api/stockOrderController.service.ts @@ -1553,6 +1553,40 @@ export class StockOrderControllerService { } + + /** + * Export placed orders for the provided company ID by map. + * + * @param map parameters map to set partial amount of parameters easily + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public exportPlacedOrderByCompanyByMap( + map: exportPlacedOrderByCompany.PartialParamMap, + observe?: 'body', + reportProgress?: boolean): Observable; + public exportPlacedOrderByCompanyByMap( + map: exportPlacedOrderByCompany.PartialParamMap, + observe?: 'response', + reportProgress?: boolean): Observable>; + public exportPlacedOrderByCompanyByMap( + map: exportPlacedOrderByCompany.PartialParamMap, + observe?: 'events', + reportProgress?: boolean): Observable>; + public exportPlacedOrderByCompanyByMap( + map: exportPlacedOrderByCompany.PartialParamMap, + observe: any = 'body', + reportProgress: boolean = false): Observable { + return this.exportPlacedOrderByCompany( + map.companyId, + map.language, + observe, + reportProgress + ); + } + + + /** * Generate a geoJSON file with a list of polygons. by map. * diff --git a/src/api/api/transactionController.service.ts b/src/api/api/transactionController.service.ts index 55944211..331a1b56 100644 --- a/src/api/api/transactionController.service.ts +++ b/src/api/api/transactionController.service.ts @@ -19,22 +19,24 @@ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { Inject, Injectable, Optional } from '@angular/core'; import { ValidatorFn, Validators } from '@angular/forms'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent } from '@angular/common/http'; -import { CustomHttpUrlEncodingCodec } from '../encoder'; + HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; -import { Observable } from 'rxjs'; -import { catchError } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { catchError } from 'rxjs/operators'; import { ApiDefaultResponse } from '../model/apiDefaultResponse'; import { ApiPaginatedResponseApiTransaction } from '../model/apiPaginatedResponseApiTransaction'; import { ApiTransaction } from '../model/apiTransaction'; -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { environment } from '../../environments/environment'; + /** * Namespace for approveTransaction. diff --git a/src/api/api/userController.service.ts b/src/api/api/userController.service.ts index c9b45313..043107d1 100644 --- a/src/api/api/userController.service.ts +++ b/src/api/api/userController.service.ts @@ -1405,18 +1405,23 @@ export class UserControllerService { headers = headers.set(pair[0], pair[1]); } } + + const handle = this.httpClient.get(`${this.configuration.basePath}/api/user/profile`, { - withCredentials: this.configuration.withCredentials, + withCredentials: true, headers: headers, observe: observe, reportProgress: reportProgress } ); - if(typeof this.configuration.errorHandler === 'function') { + + + if (typeof this.configuration.errorHandler === 'function') { return handle.pipe(catchError(err => this.configuration.errorHandler(err, 'getProfileForUser'))); } + console.log(`la config headerr ${this.configuration}`); return handle; } diff --git a/src/api/api/valueChainController.service.ts b/src/api/api/valueChainController.service.ts index d588da17..9fa21462 100644 --- a/src/api/api/valueChainController.service.ts +++ b/src/api/api/valueChainController.service.ts @@ -182,7 +182,7 @@ export namespace GetValueChain { * Value chain ID */ id: number; - language?: 'EN' | 'DE' | 'RW' | 'ES'; + language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES'; } /** @@ -728,10 +728,10 @@ export class ValueChainControllerService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; - public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; - public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { + public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'body', reportProgress?: boolean, additionalHeaders?: Array>): Observable; + public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'response', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe?: 'events', reportProgress?: boolean, additionalHeaders?: Array>): Observable>; + public getValueChain(id: number, language?: 'EN' | 'DE' | 'RW' |'FR' | 'ES', observe: any = 'body', reportProgress: boolean = false, additionalHeaders?: Array>): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling getValueChain.'); } diff --git a/src/api/apidocs-original.json b/src/api/apidocs-original.json index e1d554e0..c5ce9a78 100644 --- a/src/api/apidocs-original.json +++ b/src/api/apidocs-original.json @@ -7,7 +7,7 @@ }, "servers": [ { - "url": "http://localhost:8080/" + "url": "https://foda.inatrace.cm/" } ], "paths": { @@ -360,7 +360,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -1186,7 +1186,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1313,7 +1313,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1420,7 +1420,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1517,7 +1517,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1685,7 +1685,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1800,7 +1800,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1935,7 +1935,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -2258,7 +2258,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -2308,7 +2308,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -2890,7 +2890,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -3028,7 +3028,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -3077,7 +3077,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3206,7 +3206,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3317,7 +3317,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3424,7 +3424,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3505,7 +3505,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3634,7 +3634,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3745,7 +3745,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3852,7 +3852,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3933,7 +3933,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3972,7 +3972,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4063,7 +4063,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4102,7 +4102,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4162,7 +4162,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4291,7 +4291,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4402,7 +4402,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4482,7 +4482,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4531,7 +4531,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4644,7 +4644,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4879,7 +4879,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5015,7 +5015,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5151,7 +5151,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5350,7 +5350,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5524,7 +5524,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5613,7 +5613,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5662,7 +5662,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5711,7 +5711,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5761,7 +5761,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5810,7 +5810,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5859,7 +5859,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5908,7 +5908,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -6144,7 +6144,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -6653,7 +6653,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7167,7 +7167,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7380,7 +7380,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7430,7 +7430,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7492,7 +7492,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7541,7 +7541,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7591,7 +7591,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7653,7 +7653,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7809,7 +7809,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7892,7 +7892,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7962,7 +7962,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8146,7 +8146,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8603,7 +8603,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8667,7 +8667,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8801,7 +8801,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8925,7 +8925,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -10069,7 +10069,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -11051,7 +11051,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -12186,7 +12186,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13392,7 +13392,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13472,7 +13472,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13540,7 +13540,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13838,7 +13838,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16410,7 +16410,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16574,7 +16574,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16651,7 +16651,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16738,7 +16738,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17081,7 +17081,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17200,7 +17200,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17503,7 +17503,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17551,7 +17551,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17608,7 +17608,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17772,7 +17772,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17845,7 +17845,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20211,7 +20211,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20814,7 +20814,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20865,7 +20865,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -21183,7 +21183,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -21244,7 +21244,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" diff --git a/src/api/apidocs.json b/src/api/apidocs.json index 67e7f6f5..60871357 100644 --- a/src/api/apidocs.json +++ b/src/api/apidocs.json @@ -7,7 +7,7 @@ }, "servers": [ { - "url": "http://localhost:8080/" + "url": "https://foda.inatrace.cm/" } ], "paths": { @@ -360,7 +360,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1186,7 +1186,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1313,7 +1313,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1420,7 +1420,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1517,7 +1517,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1685,7 +1685,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1800,7 +1800,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -1935,7 +1935,7 @@ "enum": [ "EN", "DE", - "RW", + "RW","FR", "ES" ], "type": "string" @@ -2258,7 +2258,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -2308,7 +2308,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -2890,7 +2890,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3028,7 +3028,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3077,7 +3077,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3206,7 +3206,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3317,7 +3317,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3424,7 +3424,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3505,7 +3505,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3634,7 +3634,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3745,7 +3745,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3852,7 +3852,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3933,7 +3933,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -3972,7 +3972,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4063,7 +4063,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4102,7 +4102,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4162,7 +4162,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4291,7 +4291,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4402,7 +4402,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4482,7 +4482,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4531,7 +4531,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4644,7 +4644,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -4879,7 +4879,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5015,7 +5015,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5151,7 +5151,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5350,7 +5350,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5524,7 +5524,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5613,7 +5613,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5662,7 +5662,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5711,7 +5711,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5761,7 +5761,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5810,7 +5810,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5859,7 +5859,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -5908,7 +5908,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -6144,7 +6144,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -6653,7 +6653,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7167,7 +7167,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7380,7 +7380,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7430,7 +7430,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7492,7 +7492,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7541,7 +7541,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7591,7 +7591,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7653,7 +7653,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7809,7 +7809,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7892,7 +7892,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -7962,7 +7962,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8146,7 +8146,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8603,7 +8603,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8667,7 +8667,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8801,7 +8801,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -8925,7 +8925,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -10069,7 +10069,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -11051,7 +11051,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -12186,7 +12186,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13392,7 +13392,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13472,7 +13472,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13540,7 +13540,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -13838,7 +13838,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16410,7 +16410,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16574,7 +16574,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16651,7 +16651,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -16738,7 +16738,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17081,7 +17081,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17200,7 +17200,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17503,7 +17503,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17551,7 +17551,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17608,7 +17608,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17772,7 +17772,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -17845,7 +17845,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20211,7 +20211,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20814,7 +20814,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -20865,7 +20865,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -21183,7 +21183,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" @@ -21244,7 +21244,7 @@ "enum": [ "EN", "DE", - "RW", + "RW", "FR", "ES" ], "type": "string" diff --git a/src/api/model/apiProcessingActionOutputSemiProduct.ts b/src/api/model/apiProcessingActionOutputSemiProduct.ts index edb0bbd1..7c16c698 100644 --- a/src/api/model/apiProcessingActionOutputSemiProduct.ts +++ b/src/api/model/apiProcessingActionOutputSemiProduct.ts @@ -43,9 +43,9 @@ export interface ApiProcessingActionOutputSemiProduct { * Maximum output weight when repacked outputs */ maxOutputWeight?: number; - skuendCustomer?: boolean; - sku?: boolean; buyable?: boolean; + sku?: boolean; + skuendCustomer?: boolean; } /** @@ -72,9 +72,9 @@ export namespace ApiProcessingActionOutputSemiProduct { * Maximum output weight when repacked outputs */ maxOutputWeight = 'maxOutputWeight', - skuendCustomer = 'skuendCustomer', + buyable = 'buyable', sku = 'sku', - buyable = 'buyable' + skuendCustomer = 'skuendCustomer' } @@ -166,7 +166,7 @@ export namespace ApiProcessingActionOutputSemiProduct { isReadOnly: false, isEnum: false, required: false, - name: 'skuendCustomer', + name: 'buyable', classname: 'ApiProcessingActionOutputSemiProduct', dataType: 'boolean', isPrimitiveType: true, @@ -188,7 +188,7 @@ export namespace ApiProcessingActionOutputSemiProduct { isReadOnly: false, isEnum: false, required: false, - name: 'buyable', + name: 'skuendCustomer', classname: 'ApiProcessingActionOutputSemiProduct', dataType: 'boolean', isPrimitiveType: true, @@ -211,11 +211,11 @@ export namespace ApiProcessingActionOutputSemiProduct { ], maxOutputWeight: [ ], - skuendCustomer: [ + buyable: [ ], sku: [ ], - buyable: [ + skuendCustomer: [ ], } } @@ -245,13 +245,13 @@ export namespace ApiProcessingActionOutputSemiProduct { // maxOutputWeight: { // validators: [] // }, - // skuendCustomer: { + // buyable: { // validators: [] // }, // sku: { // validators: [] // }, - // buyable: { + // skuendCustomer: { // validators: [] // }, // } diff --git a/src/api/model/apiSemiProduct.ts b/src/api/model/apiSemiProduct.ts index 3ceab376..ceeaa41e 100644 --- a/src/api/model/apiSemiProduct.ts +++ b/src/api/model/apiSemiProduct.ts @@ -35,9 +35,9 @@ export interface ApiSemiProduct { description?: string; measurementUnitType?: ApiMeasureUnitType; translations?: Array; - skuendCustomer?: boolean; - sku?: boolean; buyable?: boolean; + sku?: boolean; + skuendCustomer?: boolean; } /** @@ -56,9 +56,9 @@ export namespace ApiSemiProduct { description = 'description', measurementUnitType = 'measurementUnitType', translations = 'translations', - skuendCustomer = 'skuendCustomer', + buyable = 'buyable', sku = 'sku', - buyable = 'buyable' + skuendCustomer = 'skuendCustomer' } @@ -128,7 +128,7 @@ export namespace ApiSemiProduct { isReadOnly: false, isEnum: false, required: false, - name: 'skuendCustomer', + name: 'buyable', classname: 'ApiSemiProduct', dataType: 'boolean', isPrimitiveType: true, @@ -150,7 +150,7 @@ export namespace ApiSemiProduct { isReadOnly: false, isEnum: false, required: false, - name: 'buyable', + name: 'skuendCustomer', classname: 'ApiSemiProduct', dataType: 'boolean', isPrimitiveType: true, @@ -169,11 +169,11 @@ export namespace ApiSemiProduct { ], translations: [ ], - skuendCustomer: [ + buyable: [ ], sku: [ ], - buyable: [ + skuendCustomer: [ ], } } @@ -197,13 +197,13 @@ export namespace ApiSemiProduct { // translations: { // validators: [] // }, - // skuendCustomer: { + // buyable: { // validators: [] // }, // sku: { // validators: [] // }, - // buyable: { + // skuendCustomer: { // validators: [] // }, // } diff --git a/src/api/model/apiStockOrder.ts b/src/api/model/apiStockOrder.ts index f5335c51..3f8b3e7a 100644 --- a/src/api/model/apiStockOrder.ts +++ b/src/api/model/apiStockOrder.ts @@ -217,8 +217,8 @@ export interface ApiStockOrder { */ repackedOriginStockOrderId?: string; purchaseOrder?: boolean; - openOrder?: boolean; available?: boolean; + openOrder?: boolean; } /** @@ -406,8 +406,8 @@ export namespace ApiStockOrder { */ repackedOriginStockOrderId = 'repackedOriginStockOrderId', purchaseOrder = 'purchaseOrder', - openOrder = 'openOrder', - available = 'available' + available = 'available', + openOrder = 'openOrder' } /** @@ -1092,7 +1092,7 @@ export namespace ApiStockOrder { isReadOnly: false, isEnum: false, required: false, - name: 'openOrder', + name: 'available', classname: 'ApiStockOrder', dataType: 'boolean', isPrimitiveType: true, @@ -1103,7 +1103,7 @@ export namespace ApiStockOrder { isReadOnly: false, isEnum: false, required: false, - name: 'available', + name: 'openOrder', classname: 'ApiStockOrder', dataType: 'boolean', isPrimitiveType: true, @@ -1226,10 +1226,10 @@ export namespace ApiStockOrder { ], purchaseOrder: [ ], - openOrder: [ - ], available: [ ], + openOrder: [ + ], } } } @@ -1408,10 +1408,10 @@ export namespace ApiStockOrder { // purchaseOrder: { // validators: [] // }, - // openOrder: { + // available: { // validators: [] // }, - // available: { + // openOrder: { // validators: [] // }, // } From 47595da7e7d5f71f171ce1fcd2125df8457e09d8 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:17 +0000 Subject: [PATCH 09/25] i18n: offer FR in the remaining language pickers --- .../company-detail-facility-add.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts index 15e3c68d..dcc94a65 100644 --- a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts +++ b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts @@ -62,7 +62,7 @@ export class CompanyDetailFacilityAddComponent implements OnInit, OnDestroy { faTimes = faTimes; - languages = [LanguageEnum.EN, LanguageEnum.DE, LanguageEnum.RW, LanguageEnum.ES]; + languages = [LanguageEnum.EN, LanguageEnum.DE, LanguageEnum.RW, LanguageEnum.FR, LanguageEnum.ES]; selectedLanguage = LanguageEnum.EN; private valueChainSubs: Subscription; From e8ac8364a38b99d3c0fea4b278da163a66982db7 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:17 +0000 Subject: [PATCH 10/25] rxjs: import Subject and BehaviorSubject from the package root Importing from rxjs/internal reaches into private paths that are not part of the public API and break between minor versions. --- .../company-collectors-details.component.ts | 3 ++- .../company-detail-facility-add.component.ts | 4 ++-- .../stock-payments-form/stock-payments-form.component.ts | 3 ++- .../parent-content-link/parent-content-link.component.ts | 3 ++- .../product-label-knowledge-blog.component.ts | 4 ++-- .../product-label/pathline-map/pathline-map.component.ts | 4 ++-- src/app/shared/list-editor/list-editor.component.ts | 4 ++-- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/app/company/company-collectors/company-collectors-details/company-collectors-details.component.ts b/src/app/company/company-collectors/company-collectors-details/company-collectors-details.component.ts index a2de672d..c60970e4 100644 --- a/src/app/company/company-collectors/company-collectors-details/company-collectors-details.component.ts +++ b/src/app/company/company-collectors/company-collectors-details/company-collectors-details.component.ts @@ -25,11 +25,12 @@ import { ListEditorManager } from '../../../shared/list-editor/list-editor-manag import { ApiUserCustomerCooperative } from '../../../../api/model/apiUserCustomerCooperative'; import UserCustomerTypeEnum = ApiUserCustomerCooperative.UserCustomerTypeEnum; import { ApiStockOrder } from '../../../../api/model/apiStockOrder'; -import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; +// import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { ApiCertification } from '../../../../api/model/apiCertification'; import { ApiCertificationValidationScheme } from '../../../m-product/product-label/validation'; import { ApiPayment } from '../../../../api/model/apiPayment'; import { SelectedUserCompanyService } from '../../../core/selected-user-company.service'; +import {BehaviorSubject} from 'rxjs'; @Component({ selector: 'app-company-collectors-details', diff --git a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts index dcc94a65..2cb3f3c4 100644 --- a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts +++ b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.ts @@ -14,14 +14,14 @@ import { ApiCompanyBase } from '../../../../api/model/apiCompanyBase'; import { EnumSifrant } from '../../../shared-services/enum-sifrant'; import { ApiSemiProduct } from '../../../../api/model/apiSemiProduct'; import { faTimes } from '@fortawesome/free-solid-svg-icons'; -import { Subject } from 'rxjs/internal/Subject'; +// import { Subject } from 'rxjs/internal/Subject'; import { ApiFacilityTranslation } from '../../../../api/model/apiFacilityTranslation'; import { FinalProductsForCompanyService } from '../../../shared-services/final-products-for-company.service'; import { FinalProductControllerService } from '../../../../api/api/finalProductController.service'; import { ApiFinalProduct } from '../../../../api/model/apiFinalProduct'; import { GlobalEventManagerService } from '../../../core/global-event-manager.service'; import { ApiValueChain } from '../../../../api/model/apiValueChain'; -import { Subscription } from 'rxjs'; +import {Subject, Subscription} from 'rxjs'; import { SemiProductControllerService } from '../../../../api/api/semiProductController.service'; import { CodebookTranslations } from '../../../shared-services/codebook-translations'; import { SemiProductsForValueChainsService } from '../../../shared-services/semi-products-for-value-chains.service'; diff --git a/src/app/company/company-stock/stock-payments/stock-payments-form/stock-payments-form.component.ts b/src/app/company/company-stock/stock-payments/stock-payments-form/stock-payments-form.component.ts index 99a5531e..5d86a652 100644 --- a/src/app/company/company-stock/stock-payments/stock-payments-form/stock-payments-form.component.ts +++ b/src/app/company/company-stock/stock-payments/stock-payments-form/stock-payments-form.component.ts @@ -14,10 +14,11 @@ import PreferredWayOfPaymentEnum = ApiStockOrder.PreferredWayOfPaymentEnum; import PaymentPurposeTypeEnum = ApiPayment.PaymentPurposeTypeEnum; import PaymentStatusEnum = ApiPayment.PaymentStatusEnum; import ReceiptDocumentTypeEnum = ApiPayment.ReceiptDocumentTypeEnum; -import { Subject } from 'rxjs/internal/Subject'; +// import { Subject } from 'rxjs/internal/Subject'; import { ConnectedCompaniesForCompanyService } from '../../../../shared-services/connected-companies-for-company.service'; import { CurrencyCodesService } from '../../../../shared-services/currency-codes.service'; import { SelectedUserCompanyService } from '../../../../core/selected-user-company.service'; +import {Subject} from 'rxjs'; export enum ModeEnum { PURCHASE = 'PURCHASE', diff --git a/src/app/contents/parent-content-link/parent-content-link.component.ts b/src/app/contents/parent-content-link/parent-content-link.component.ts index 4bf6441c..84d0f203 100644 --- a/src/app/contents/parent-content-link/parent-content-link.component.ts +++ b/src/app/contents/parent-content-link/parent-content-link.component.ts @@ -1,8 +1,9 @@ import { Component, OnInit, Input, HostBinding, Host } from '@angular/core'; -import { Subject } from 'rxjs/internal/Subject'; +// import { Subject } from 'rxjs/internal/Subject'; import { ContentsDirective } from '../contents.directive'; import { takeUntil } from 'rxjs/operators'; import { trigger, state, style, transition, animate } from '@angular/animations'; +import {Subject} from 'rxjs'; @Component({ selector: '[parent-content-link]', diff --git a/src/app/m-product/knowledge-blog/product-label-knowledge-blog/product-label-knowledge-blog.component.ts b/src/app/m-product/knowledge-blog/product-label-knowledge-blog/product-label-knowledge-blog.component.ts index 64116776..f99c9b0a 100644 --- a/src/app/m-product/knowledge-blog/product-label-knowledge-blog/product-label-knowledge-blog.component.ts +++ b/src/app/m-product/knowledge-blog/product-label-knowledge-blog/product-label-knowledge-blog.component.ts @@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; import { faFilter, faTimes } from '@fortawesome/free-solid-svg-icons'; -import { combineLatest, Subscription } from 'rxjs'; -import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; +import { combineLatest, Subscription, BehaviorSubject } from 'rxjs'; +// import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { map, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators'; import { ProductControllerService } from 'src/api/api/productController.service'; import { ApiPaginatedResponseApiKnowledgeBlogBase } from 'src/api/model/apiPaginatedResponseApiKnowledgeBlogBase'; diff --git a/src/app/m-product/product-label/pathline-map/pathline-map.component.ts b/src/app/m-product/product-label/pathline-map/pathline-map.component.ts index 833aa1c6..c3a78bed 100644 --- a/src/app/m-product/product-label/pathline-map/pathline-map.component.ts +++ b/src/app/m-product/product-label/pathline-map/pathline-map.component.ts @@ -2,9 +2,9 @@ import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChil import { FormArray, FormControl, FormGroup } from '@angular/forms'; import { GoogleMap } from '@angular/google-maps'; import { GlobalEventManagerService } from '../../../core/global-event-manager.service'; -import { Subject } from 'rxjs/internal/Subject'; +// import { Subject } from 'rxjs/internal/Subject'; import { takeUntil } from 'rxjs/operators'; -import { Subscription } from 'rxjs'; +import {Subject, Subscription} from 'rxjs'; @Component({ selector: 'app-pathline-map', diff --git a/src/app/shared/list-editor/list-editor.component.ts b/src/app/shared/list-editor/list-editor.component.ts index 9d642b85..0fad5e8c 100644 --- a/src/app/shared/list-editor/list-editor.component.ts +++ b/src/app/shared/list-editor/list-editor.component.ts @@ -13,8 +13,8 @@ import { import { faHandMiddleFinger, faPlusCircle } from '@fortawesome/free-solid-svg-icons'; import { AbstractControl, FormGroup, FormArray } from '@angular/forms'; import { ClosableComponent } from '../closable/closable.component'; -import { Subscription } from 'rxjs'; -import { Subject } from 'rxjs/internal/Subject'; +import { Subscription, Subject } from 'rxjs'; +// import { Subject } from 'rxjs/internal/Subject'; @Component({ selector: 'list-editor', From b6b18f12f7fe8dd789565e24a32d67738fff8598 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:17 +0000 Subject: [PATCH 11/25] Farmers: only system and regional admins can add a farmer The add button was shown to every role, including ones the backend rejects. --- .../company-farmers-list/company-farmers-list.component.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/company/company-farmers/company-farmers-list/company-farmers-list.component.html b/src/app/company/company-farmers/company-farmers-list/company-farmers-list.component.html index 36762964..087c241d 100644 --- a/src/app/company/company-farmers/company-farmers-list/company-farmers-list.component.html +++ b/src/app/company/company-farmers/company-farmers-list/company-farmers-list.component.html @@ -17,7 +17,8 @@ i18n="@@companyDetail.farmers.importFarmers.button"> + Import farmers - + + +
@@ -83,10 +94,12 @@
+ + { + + this.globalEventManager.showLoading(true); + try { + const res = await this.stockOrderControllerService.exportPlacedOrderByCompany(this.companyId) + .pipe(take(1)) + .toPromise(); + + this.fileSaverService.save(res, 'placed_orders.xlsx'); + } finally { + this.globalEventManager.showLoading(false); + } + } + + // Retrieve count placed orders for export button visibility management + onCountAllOrders(event) { + this.allPlacedOrders = event; + } + } diff --git a/src/app/company/company-stock/stock-core/batch-history/batch-history.component.html b/src/app/company/company-stock/stock-core/batch-history/batch-history.component.html index 7f8d4edf..cf236d5f 100644 --- a/src/app/company/company-stock/stock-core/batch-history/batch-history.component.html +++ b/src/app/company/company-stock/stock-core/batch-history/batch-history.component.html @@ -7,6 +7,11 @@
Batch history
+ + diff --git a/src/app/company/company-stock/stock-core/batch-history/batch-history.component.ts b/src/app/company/company-stock/stock-core/batch-history/batch-history.component.ts index 4da52e1c..f6ea09c0 100644 --- a/src/app/company/company-stock/stock-core/batch-history/batch-history.component.ts +++ b/src/app/company/company-stock/stock-core/batch-history/batch-history.component.ts @@ -3,7 +3,7 @@ import { ActivatedRoute, Router } from '@angular/router'; import { GlobalEventManagerService } from '../../../../core/global-event-manager.service'; import { faTimes } from '@fortawesome/free-solid-svg-icons'; import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; -import { map, shareReplay, switchMap, tap } from 'rxjs/operators'; +import { map, shareReplay, switchMap, take, tap } from 'rxjs/operators'; import { ApiTransaction } from '../../../../../api/model/apiTransaction'; import { ApiStockOrder } from '../../../../../api/model/apiStockOrder'; import { StockOrderControllerService } from '../../../../../api/api/stockOrderController.service'; @@ -12,6 +12,7 @@ import { ApiStockOrderHistory } from '../../../../../api/model/apiStockOrderHist import { ApiStockOrderHistoryTimelineItem } from '../../../../../api/model/apiStockOrderHistoryTimelineItem'; import { ApiFacility } from '../../../../../api/model/apiFacility'; import { ApiMeasureUnitType } from '../../../../../api/model/apiMeasureUnitType'; +import { FileSaverService } from 'ngx-filesaver'; interface GroupedStockOrders { processingDate: string; @@ -36,11 +37,13 @@ export class BatchHistoryComponent implements OnInit { reloadPing$ = new BehaviorSubject(false); productId = this.route.snapshot.params.id; + orderId = 0; history$: Observable = combineLatest([this.reloadPing$, this.route.params]) .pipe( tap(() => this.globalEventsManager.showLoading(true)), switchMap(val => { + this.orderId = val[1].stockOrderId; return this.stockOrderService.getStockOrderAggregatedHistory(val[1].stockOrderId); }), map(val => { @@ -106,7 +109,8 @@ export class BatchHistoryComponent implements OnInit { private router: Router, private route: ActivatedRoute, private stockOrderService: StockOrderControllerService, - private globalEventsManager: GlobalEventManagerService + private globalEventsManager: GlobalEventManagerService, + private fileSaverService: FileSaverService ) { } getTargetStockOrders(timelineItem: ApiStockOrderHistoryTimelineItem) { @@ -195,4 +199,21 @@ export class BatchHistoryComponent implements OnInit { return 'ab-edit-link'; } + // Export the table in excel + async exportSingleCommandHistoryExcel(): Promise { + + this.globalEventsManager.showLoading(true); + try { + const res = await this.stockOrderService.exportSingleCommandHistory(this.orderId) + .pipe(take(1)) + .toPromise(); + + this.fileSaverService.save(res, 'stock_history.xlsx'); + } finally { + this.globalEventsManager.showLoading(false); + } + } + + + } From b1d074425203c6936a0d9a2d066b58755949cb8a Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:29 +0000 Subject: [PATCH 13/25] Stock: require a proof document on non-purchase orders Deliveries that are not purchases were saveable with no evidence attached; validate that at least one proof is present and warn when it is missing. --- ...company-detail-facility-add.component.html | 5 ++ ...l-processing-actions-detail.component.html | 5 ++ ...ail-processing-actions-detail.component.ts | 2 +- .../stock-delivery-details.component.html | 8 ++- .../stock-delivery-details.component.ts | 66 +++++++++++++++++-- ...tock-processing-facility-list.component.ts | 44 ++++++------- ...tock-processing-order-details.component.ts | 14 +++- 7 files changed, 111 insertions(+), 33 deletions(-) diff --git a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.html b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.html index 887ddc58..3655fd70 100644 --- a/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.html +++ b/src/app/company/company-detail/company-detail-facility-add/company-detail-facility-add.component.html @@ -55,6 +55,11 @@

Translations DE

+
+ Select FR lang + FR +
Select RW lang diff --git a/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.html b/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.html index 373b070b..4e0735e2 100644 --- a/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.html +++ b/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.html @@ -438,6 +438,11 @@

Translations DE

+
+ Select FR lang + FR +
Select RW lang diff --git a/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.ts b/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.ts index 6e4f70d2..ee4422ec 100644 --- a/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.ts +++ b/src/app/company/company-detail/company-processing-actions/company-detail-processing-actions-detail/company-detail-processing-actions-detail.component.ts @@ -74,7 +74,7 @@ export class CompanyDetailProcessingActionsDetailComponent extends CompanyDetail valueChains: Array = []; selectedCompanyValueChainsControl = new FormControl(null, [ListNotEmptyValidator()]); - languages = ['EN', 'DE', 'RW', 'ES']; + languages = ['EN', 'DE', 'RW', 'FR', 'ES']; selectedLanguage = 'EN'; faTimes = faTimes; diff --git a/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.html b/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.html index 25e20d35..d5ac7b60 100644 --- a/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.html +++ b/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.html @@ -441,8 +441,14 @@

Addit

+ +
+
+ At least one file must be selected +
+
- + diff --git a/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.ts b/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.ts index 551dadd1..9d4b4b12 100644 --- a/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.ts +++ b/src/app/company/company-stock/stock-core/stock-delivery-details/stock-delivery-details.component.ts @@ -1,5 +1,5 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms'; +import { FormArray, FormControl, FormGroup, Validators, ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms'; import { StockOrderType } from '../../../../../shared/types'; import { ActivatedRoute } from '@angular/router'; import { EnumSifrant } from '../../../../shared-services/enum-sifrant'; @@ -29,6 +29,7 @@ import { SelectedUserCompanyService } from '../../../../core/selected-user-compa import { ApiUserGet } from '../../../../../api/model/apiUserGet'; import { Subscription } from 'rxjs'; import { ApiCompanyGet } from '../../../../../api/model/apiCompanyGet'; +import { ToastrService } from 'ngx-toastr'; @Component({ selector: 'app-stock-delivery-details', @@ -98,7 +99,8 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { private semiProductControllerService: SemiProductControllerService, private codebookTranslations: CodebookTranslations, private authService: AuthService, - private selUserCompanyService: SelectedUserCompanyService + private selUserCompanyService: SelectedUserCompanyService, + private toastr: ToastrService ) { } // Additional proof item factory methods (used when creating ListEditorManger) @@ -216,6 +218,15 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { return this.stockOrderForm.get('activityProofs') as FormArray; } + // get additionalProofsForm(): FormArray { + // const formArray = this.stockOrderForm.get('activityProofs') as FormArray; + + // // Applique le validateur personnalisé + // formArray.setValidators([this.validateAtLeastOneFileSelected()]); + + // return formArray; + // } + private get womenCoffeeList() { const obj = {}; obj['YES'] = $localize`:@@productLabelStockPurchaseOrdersModal.womensCoffeeList.yes:Yes`; @@ -230,6 +241,7 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { return obj; } + async ngOnInit() { this.userProfileSubs = this.authService.userProfile$ @@ -365,8 +377,9 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { StockDeliveryDetailsComponent.AdditionalProofItemEmptyObjectFormFactory(), ApiActivityProofValidationScheme ); - - // TODO: initialize payments list manager + + // Appliquer le validateur + // this.additionalProofsForm.setValidators([this.validateAtLeastOneFile()]); } private newStockOrder() { @@ -451,6 +464,18 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { this.globalEventsManager.showLoading(true); this.submitted = true; + // Forcer la validation des preuves supplémentaires + // this.additionalProofsForm.updateValueAndValidity(); + + // Vérifier si des fichiers sont requis mais manquants + const orderTyp = this.stockOrderForm?.get('orderType')?.value; + + if (this.additionalProofsForm.value==0 && orderTyp !== 'PURCHASE_ORDER') { + this.toastr.error($localize`:@@additionalProofs.error.noFileSelected:At least one file must be selected for additional proof`); + this.globalEventsManager.showLoading(false); + this.updatePOInProgress = false; + return; + } // Set the user ID that creates the purchase order this.stockOrderForm.get('creatorId').setValue(this.employeeForm.value); @@ -471,9 +496,11 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { const data: ApiStockOrder = _.cloneDeep(this.stockOrderForm.value); - // Remove keys that are not set + + // Remove keys that are not set Object.keys(data).forEach((key) => (data[key] == null) && delete data[key]); - + console.log("Data affter removing empty keys"); + console.log(data); // Create the purchase order try { @@ -833,4 +860,31 @@ export class StockDeliveryDetailsComponent implements OnInit, OnDestroy { this.stockOrderForm.get('pricePerUnit').updateValueAndValidity(); } + // Permet de valider si le composant a au moins 1 fichier passe +validateAtLeastOneFileSelected(): ValidatorFn { + return (control): { [key: string]: boolean } | null => { + const formArray = control as FormArray; + const hasFile = formArray.controls.some(ctrl => { + const value = ctrl.value; + + // Cas 1: Fichier direct + if (value instanceof File) return true; + + // Cas 2: Objet avec propriétés de fichier + if (value && typeof value === 'object') { + return value.fileName && value.fileSize; + } + + // Cas 3: Base64 ou autre représentation + if (typeof value === 'string') { + return value.startsWith('data:') || value.length > 100; + } + + return false; + }); + + return hasFile ? null : { 'requiredFile': true }; + }; +} + } diff --git a/src/app/company/company-stock/stock-processing/stock-processing-facility-list/stock-processing-facility-list.component.ts b/src/app/company/company-stock/stock-processing/stock-processing-facility-list/stock-processing-facility-list.component.ts index 48298304..d5b2698a 100644 --- a/src/app/company/company-stock/stock-processing/stock-processing-facility-list/stock-processing-facility-list.component.ts +++ b/src/app/company/company-stock/stock-processing/stock-processing-facility-list/stock-processing-facility-list.component.ts @@ -89,31 +89,29 @@ export class StockProcessingFacilityListComponent implements OnInit { arrangeFacilities(facilities: ApiFacility[]) { for (const facility of facilities) { - switch (facility.facilityType.code) { - case 'WASHING_STATION': - case 'DRYING_BED': - case 'BENEFICIO_HUMEDO': - this.categoryOne.push(facility); - break; - - case 'STORAGE': - case 'ALMACEN': - this.categoryTwo.push(facility); - break; - - case 'HULLING_STATION': - case 'MAQUILADO_CAFE': - case 'BENEFICIO_SECO': - this.categoryThree.push(facility); - break; - - case 'GREEN_COFFEE_STORAGE': - case 'ALMACEN_CAFE_ORO': + const code = facility.facilityType.code.toUpperCase(); // Normalisation en majuscules + if (['WASHING_STATION', 'DRYING_BED', 'BENEFICIO_HUMEDO'].includes(code)) { + this.categoryOne.push(facility); + } + else if (code === 'ALMACEN' || code.includes('STORAGE')) { + // Vérifier les exceptions de stockage spécialisées + if (code === 'GREEN_COFFEE_STORAGE') { this.categoryFour.push(facility); - break; - case 'ROASTED_COFFEE_STORAGE': + } + else if (code === 'ROASTED_COFFEE_STORAGE') { this.categoryFive.push(facility); - break; + } + // Cas général STORAGE et ALMACEN + else { + this.categoryTwo.push(facility); + } + } + else if (['HULLING_STATION', 'MAQUILADO_CAFE', 'BENEFICIO_SECO'].includes(code)) { + this.categoryThree.push(facility); + } + else{ + this.categoryThree.push(facility); + } } } diff --git a/src/app/company/company-stock/stock-processing/stock-processing-order-details/stock-processing-order-details.component.ts b/src/app/company/company-stock/stock-processing/stock-processing-order-details/stock-processing-order-details.component.ts index 3b21e7e2..e1280154 100644 --- a/src/app/company/company-stock/stock-processing/stock-processing-order-details/stock-processing-order-details.component.ts +++ b/src/app/company/company-stock/stock-processing/stock-processing-order-details/stock-processing-order-details.component.ts @@ -35,6 +35,7 @@ import { uuidv4 } from 'src/shared/utils'; import { SelectedUserCompanyService } from '../../../../core/selected-user-company.service'; import { ProcessingOrderInputComponent } from './processing-order-input/processing-order-input.component'; import { ProcessingOrderOutputComponent } from './processing-order-output/processing-order-output.component'; +import { ToastrService } from 'ngx-toastr'; type PageMode = 'create' | 'edit'; @@ -124,7 +125,8 @@ export class StockProcessingOrderDetailsComponent implements OnInit, AfterViewIn private procActionController: ProcessingActionControllerService, private facilityController: FacilityControllerService, private authService: AuthService, - private selUserCompanyService: SelectedUserCompanyService + private selUserCompanyService: SelectedUserCompanyService, + private toastr: ToastrService ) { } get selectedProcAction(): ApiProcessingAction { @@ -132,7 +134,9 @@ export class StockProcessingOrderDetailsComponent implements OnInit, AfterViewIn } get actionType(): ProcessingActionType { - return this.selectedProcAction ? this.selectedProcAction.type : null; + return this.selectedProcAction && this.selectedProcAction.type !== undefined + ? this.selectedProcAction.type as ProcessingActionType + : null; } get rightSideEnabled(): boolean { @@ -423,6 +427,12 @@ export class StockProcessingOrderDetailsComponent implements OnInit, AfterViewIn // Add common shared data (processing evidences, comments, etc.) to all target output Stock order this.enrichTargetStockOrders(processingOrder.targetStockOrders); + // if(processingOrder.targetStockOrders[0].requiredEvidenceTypeValues?.length == 0) { + // this.toastr.info('Vous devez renseigner un document associé', 'Processing Evidence'); + + // return; + // } + const res = await this.processingOrderController .createOrUpdateProcessingOrder(processingOrder).pipe(take(1)).toPromise(); From 17a110812d7d2b829de52298916b0534c04756a0 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:39 +0000 Subject: [PATCH 14/25] Config: read settings from a runtime env.js instead of a build-time file environment.ts now reads window['env'], so one build can be deployed to any environment. src/assets/env.js carries the per-environment values, is generated from env.template.js and is no longer tracked. --- .gitignore | 1 + README.md | 6 ++++++ angular.json | 4 ++++ src/app/app.module.ts | 2 +- src/assets/env.js | 21 --------------------- src/environments/environment.prod.ts | 21 +++++++++++---------- src/environments/environment.ts | 25 +++++++++++++------------ tsconfig.app.json | 1 + 8 files changed, 37 insertions(+), 44 deletions(-) delete mode 100644 src/assets/env.js diff --git a/.gitignore b/.gitignore index 87535969..b85a0881 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # Env files /src/environments/environment.dev.ts +/src/assets/env.js # compiled output /dist diff --git a/README.md b/README.md index 0c89b1e8..afb02b04 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,12 @@ This new major release includes new functionalities, refactorings, optimizations 4. Generate API client from Java backend by running `npm run generate-api` + Also generate `src/assets/env.js`, which is gitignored because it carries per-environment + secrets — copy `src/assets/env.template.js` to it and fill in the values, or run + `envsubst < src/assets/env.template.js > src/assets/env.js` with the variables exported. + The app loads this file before the bundle and reads `window['env']` immediately, so it will + fail to start if the file is missing. `./deploy.sh frontend` generates it automatically. + 5. Add development environment as `environment.dev.ts` by copying `environment.ts` and adding default values for configuration keys besides window environment (e.g. `environmentName: window['env']['environmentName'] || 'DEV'`) 1. `environmentName`: `'DEV'` 2. `appBaseUrl`: `'http://localhost:4200'` diff --git a/angular.json b/angular.json index 9006a5a5..d408b5a2 100644 --- a/angular.json +++ b/angular.json @@ -42,6 +42,10 @@ "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "tsconfig.app.json", + "allowedCommonJsDependencies": [ + "lodash","file-saver", "chart.js", "rxjs", + "batch-processor" + ], "assets": [ "src/assets", { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index dee5016b..527498fb 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -55,7 +55,7 @@ import { TypeListComponent } from './settings/type-list/type-list.component'; import { UserDetailComponent } from './user/user-detail/user-detail.component'; import { UserHomeComponent } from './user/user-home/user-home.component'; import { UserListComponent } from './user/user-list/user-list.component'; -import * as Hammer from 'hammerjs'; +import Hammer from 'hammerjs'; import { ChartsModule } from 'ng2-charts'; import { CompanyDetailTabManagerComponent } from './company/company-detail/company-detail-tab-manager/company-detail-tab-manager.component'; import { CompanyUserRoleComponent } from './company/company-user-role/company-user-role.component'; diff --git a/src/assets/env.js b/src/assets/env.js deleted file mode 100644 index f5649d78..00000000 --- a/src/assets/env.js +++ /dev/null @@ -1,21 +0,0 @@ -(function(window) { - - window['env'] = window['env'] || {}; - - // Environment variables - window['env']['environmentName'] = ''; - window['env']['appBaseUrl'] = ''; - window['env']['qrCodeBasePath'] = ''; - window['env']['relativeFileUploadUrl'] = ''; - window['env']['relativeFileUploadUrlManualType'] = ''; - window['env']['relativeImageUploadUrl'] = ''; - window['env']['relativeImageUploadUrlAllSizes'] = '' - window['env']['googleMapsApiKey'] = ''; - window['env']['tokenForPublicLogRoute'] = ''; - window['env']['mapboxAccessToken'] = ''; - - // Environment variables for Beyco integration - window['env']['beycoAuthURL'] = '' - window['env']['beycoClientId'] = '' - -})(this); diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 27b94fe3..b586f079 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -4,17 +4,17 @@ export const environment = { production: true, - environmentName: window['env']['environmentName'] || '', - basePath: '', + environmentName: window['env']['environmentName'] || 'PROD', + basePath: window['env']['basePath'] || '', appBaseUrl: window['env']['appBaseUrl'] || '', qrCodeBasePath: window['env']['qrCodeBasePath'] || '', - chainRelativeFileUploadUrl: '', - chainRelativeFileDownloadUrl: '', - relativeFileUploadUrl: window['env']['relativeFileUploadUrl'] || '', - relativeFileUploadUrlManualType: window['env']['relativeFileUploadUrlManualType'] || '', - relativeImageUploadUrl: window['env']['relativeImageUploadUrl'] || '', - relativeImageUploadUrlAllSizes: window['env']['relativeImageUploadUrlAllSizes'] || '', - version: '2.39.0-SNAPSHOT', + chainRelativeFileUploadUrl: '/api/common/document', + chainRelativeFileDownloadUrl: '/api/common/document', + relativeFileUploadUrl: '/api/common/document', + relativeFileUploadUrlManualType: '/api/common/document', + relativeImageUploadUrl: '/api/common/image', + relativeImageUploadUrlAllSizes: '/api/common/image', + version: '2.40', googleMapsApiKey: window['env']['googleMapsApiKey'] || '', googleAnalyticsId: '', @@ -28,7 +28,8 @@ export const environment = { reloadDelay: 500, harcodedLabelForPrivacyOnRegisterPage: '', beycoAuthURL: window['env']['beycoAuthURL'] || '', - beycoClientId: window['env']['beycoClientId'] || '' + beycoClientId: window['env']['beycoClientId'] || '', + whispApiKey: 'a7ba19c9-6d7b-44d2-b8ca-598d2b5127d3' }; /* diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 85a2c919..bbfb1099 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -5,30 +5,31 @@ export const environment = { production: false, environmentName: window['env']['environmentName'] || '', - basePath: '', + basePath: window['env']['basePath'] || '', appBaseUrl: window['env']['appBaseUrl'] || '', qrCodeBasePath: window['env']['qrCodeBasePath'] || '', - chainRelativeFileUploadUrl: '', - chainRelativeFileDownloadUrl: '', + chainRelativeFileUploadUrl: window['env']['chainRelativeFileUploadUrl'] || '', + chainRelativeFileDownloadUrl: window['env']['chainRelativeFileDownloadUrl'] || '', relativeFileUploadUrl: window['env']['relativeFileUploadUrl'] || '', relativeFileUploadUrlManualType: window['env']['relativeFileUploadUrlManualType'] || '', relativeImageUploadUrl: window['env']['relativeImageUploadUrl'] || '', relativeImageUploadUrlAllSizes: window['env']['relativeImageUploadUrlAllSizes'] || '', - version: '2.39.0-SNAPSHOT', + version: window['env']['version'] || '', googleMapsApiKey: window['env']['googleMapsApiKey'] || '', - googleAnalyticsId: '', + googleAnalyticsId: window['env']['googleAnalyticsId'] || '', mapboxAccessToken: window['env']['mapboxAccessToken'] || '', - facebookPixelId: null, - intercomAppId: null, - chatApp: null, - rocketChatServer: null, + facebookPixelId: window['env']['facebookPixelId'] || null, + intercomAppId: window['env']['intercomAppId'] || null, + chatApp: window['env']['chatApp'] || null, + rocketChatServer: window['env']['rocketChatServer'] || null, tokenForPublicLogRoute: window['env']['tokenForPublicLogRoute'] || '', appName: 'INATrace', - reloadDelay: 500, - harcodedLabelForPrivacyOnRegisterPage: '', + reloadDelay: window['env']['reloadDelay'] || '', + harcodedLabelForPrivacyOnRegisterPage: window['env']['harcodedLabelForPrivacyOnRegisterPage'] || '', beycoAuthURL: window['env']['beycoAuthURL'] || '', - beycoClientId: window['env']['beycoClientId'] || '' + beycoClientId: window['env']['beycoClientId'] || '', + whispApiKey: window['env']['whispApiKey'] || '', }; /* diff --git a/tsconfig.app.json b/tsconfig.app.json index ebe8e1ae..adccfbd9 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { + "allowSyntheticDefaultImports": true , "outDir": "./out-tsc/app", "types": ["node"] }, From b4de45918a47aa3a09c2bb3af592590f3e7cb188 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:48 +0000 Subject: [PATCH 15/25] Translation scripts: include French in the CSV round trip --- copy-translation-from-csv.js | 8 ++++++++ copy-translation-to-csv.js | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/copy-translation-from-csv.js b/copy-translation-from-csv.js index 133fc147..e9aa9819 100644 --- a/copy-translation-from-csv.js +++ b/copy-translation-from-csv.js @@ -7,11 +7,13 @@ const enLocaleFile = './src/assets/locale/en.json'; const deLocaleFile = './src/assets/locale/de.json'; const esLocaleFile = './src/assets/locale/es.json'; const rwLocaleFile = './src/assets/locale/rw.json'; +const frLocaleFile = './src/assets/locale/fr.json'; var enJSON = JSON.parse(fs.readFileSync(enLocaleFile)); var deJSON = JSON.parse(fs.readFileSync(deLocaleFile)); var esJSON = JSON.parse(fs.readFileSync(esLocaleFile)); var rwJSON = JSON.parse(fs.readFileSync(rwLocaleFile)); +var frJSON = JSON.parse(fs.readFileSync(frLocaleFile)); const readTranslations = readline.createInterface({ input: fs.createReadStream(csvFile), @@ -27,16 +29,19 @@ readTranslations.on('line', (line) => { de = splitLine[2]; es = splitLine[3]; rw = splitLine[4]; + fr = splitLine[5]; let enData = enJSON.translations; let rwData = rwJSON.translations; let deData = deJSON.translations; let esData = esJSON.translations; + let frData = frJSON.translations; if (en) enData[id] = en; if (de) deData[id] = de; if (es) esData[id] = es; if (rw) rwData[id] = rw; + if (fr) frData[id] = fr; let outputJSONen = JSON.stringify(enJSON, null, 2); fs.writeFileSync(enLocaleFile, outputJSONen); @@ -50,4 +55,7 @@ readTranslations.on('line', (line) => { let outputJSONrw = JSON.stringify(rwJSON, null, 2); fs.writeFileSync(rwLocaleFile, outputJSONrw); + let outputJSONfr = JSON.stringify(frJSON, null, 2); + fs.writeFileSync(frLocaleFile, outputJSONfr); + }); diff --git a/copy-translation-to-csv.js b/copy-translation-to-csv.js index 102495b2..e3a5a879 100644 --- a/copy-translation-to-csv.js +++ b/copy-translation-to-csv.js @@ -7,9 +7,11 @@ const readline = require('readline'); const enLocaleFile = './src/assets/locale/en.json'; const deLocaleFile = './src/assets/locale/de.json'; const rwLocaleFile = './src/assets/locale/rw.json'; +const frLocaleFile = './src/assets/locale/fr.json'; var enJSON = JSON.parse(fs.readFileSync(enLocaleFile)); var deJSON = JSON.parse(fs.readFileSync(deLocaleFile)); var rwJSON = JSON.parse(fs.readFileSync(rwLocaleFile)); +var frJSON = JSON.parse(fs.readFileSync(frLocaleFile)); const csvFile = './src/assets/locale/translations-Table.txt'; //copy from google sheets to semicolon separated file and remove header const readTranslations = readline.createInterface({ @@ -53,12 +55,13 @@ let changed = {}; -csvString = "ID;English;German;Kinyarwanda" + "\n"; +csvString = "ID;English;German;Kinyarwanda;french" + "\n"; for (let key of keys) { csvString += key + ";" csvString += enJSON.translations[key] + ";" csvString += deJSON.translations[key] + ";" - csvString += rwJSON.translations[key] + "\n" + csvString += rwJSON.translations[key] + ";" + csvString += frJSON.translations[key] + "\n" } var today = new Date(); From 2a6a8190aa92ec4f46abbaa13cde2f6369e430e5 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:48 +0000 Subject: [PATCH 16/25] Add .vscode launch and task configuration Editor-local settings; useful to the Prosygma team, not normally carried in the shared repository. --- .vscode/launch.json | 28 ++++++++++++++++++++++++++++ .vscode/tasks.json | 20 ++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..3295afcd --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Debug Angular", + "url": "http://localhost:4200", + "webRoot": "${workspaceFolder}", + "sourceMapPathOverrides": { + "webpack:/*": "${webRoot}/*", + "/./*": "${webRoot}/*", + "/src/*": "${webRoot}/src/*", + "/*": "*", + "/./~/*": "${webRoot}/node_modules/*" + }, + "preLaunchTask": "npm: start" + }, + { + "type": "node", + "request": "launch", + "name": "Debug Tests", + "program": "${workspaceFolder}/node_modules/jasmine/bin/jasmine.js", + "args": ["--config=spec/support/jasmine.json"], + "console": "integratedTerminal" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..9f36cfcb --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,20 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "label": "npm: start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": ".*", + "endsPattern": "Compiled successfully." + } + } + } + ] +} \ No newline at end of file From 9b7b0c4079fff5570bb3d5ae971531b70d19d80d Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:39:48 +0000 Subject: [PATCH 17/25] Landing page copy keys added to every locale bundle WARNING: the added strings are French in all bundles, including en.json and de.json, so English and German users will see French text on the landing page. Needs translating before this goes upstream. --- src/assets/locale/de.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/assets/locale/de.json b/src/assets/locale/de.json index 0a300005..6b9be66b 100644 --- a/src/assets/locale/de.json +++ b/src/assets/locale/de.json @@ -3188,6 +3188,11 @@ "map.view.default": "Standardansicht", "map.view.satellite": "Satellitenansicht", "productLabelPurchaseOrder.tableCol.exportGeoData": "Export Geo Data", - "orderList.export.geojson.noDataAvailable": "Für diese Bestellung sind keine Geodaten verfügbar" + "orderList.export.geojson.noDataAvailable": "Für diese Bestellung sind keine Geodaten verfügbar", + + "content.short_description": "Rendre les chaînes d'approvisionnement agricoles transparentes et équitables avec INATRACE", + "content.short.description.home": "INATRACE: Rend les chaînes d'approvisionnement agricoles transparentes et équitables", + "content.description.home": "INATrace est une solution numérique open-source qui met l'accent sur les personnes. Elle est conçue pour les chaînes d'approvisionnement agricoles mondiales transparentes afin d'améliorer les conditions économiques des petits exploitants, INATrace offre une traçabilité de bout en bout qui garantit un paiement équitable.", + "content.readmore": "Lire la suite" } } From af497405b71e6021ac429fc359c257b70832fab8 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:05 +0000 Subject: [PATCH 18/25] auth: leave a commented-out login rewrite in place WARNING: dead code carried from the Prosygma tree - a commented-out alternative login flow with debug logging. Should be deleted, not upstreamed. --- src/app/core/auth.service.ts | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/app/core/auth.service.ts b/src/app/core/auth.service.ts index 502b7cf7..2c60f0ca 100644 --- a/src/app/core/auth.service.ts +++ b/src/app/core/auth.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; -import { of, ReplaySubject } from 'rxjs'; -import { catchError, take } from 'rxjs/operators'; +import {from, of, ReplaySubject} from 'rxjs'; +import {catchError, filter, switchMap, take} from 'rxjs/operators'; import { UserControllerService } from 'src/api/api/userController.service'; import { ApiUserGet } from 'src/api/model/apiUserGet'; import { LanguageCodeHelper } from '../language-code-helper'; @@ -79,6 +79,35 @@ export class AuthService { }); } + // login(username: string, password: string, redirect: string | string[] | null = null) { + // this.userController.login({ username, password }) // 1️⃣ Appel de l'API de login + // .pipe( + // catchError((error) => { + // console.error('Erreur lors de la connexion :', error); + // return of(null); // Retourne un observable `null` pour éviter la rupture du flux + // }), + // filter(response => !!response), // 2️⃣ Vérifie que la connexion a réussi avant de continuer + // switchMap(() => { + // console.log('Connexion réussie, mise à jour du profil...'); + // return from(this.refreshUserProfile()); // 3️⃣ Attend la fin de `refreshUserProfile()` + // }) + // ) + // .subscribe({ + // next: () => { + // console.log('Profil mis à jour avec succès.'); + // if (redirect) { + // console.log(`Redirection vers : ${redirect}`); + // this.router.navigate(Array.isArray(redirect) ? redirect : [redirect]); // 4️⃣ Redirection après la mise à jour + // } + // }, + // error: (err) => { + // console.error('Une erreur est survenue :', err); + // } + // }); + // } + + + async logout() { await this.userController.logout().pipe(take(1)).toPromise(); From aadd21eaa17fb22faa04220b929b20753e04a3de Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:05 +0000 Subject: [PATCH 19/25] Local dev proxy points at cocoageotrack.cm WARNING: hard-codes a Prosygma-specific host into the shared local dev proxy. Not for upstream. --- proxy.INATrace-local.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxy.INATrace-local.conf.json b/proxy.INATrace-local.conf.json index 267eb6c2..e34acc32 100644 --- a/proxy.INATrace-local.conf.json +++ b/proxy.INATrace-local.conf.json @@ -1,6 +1,6 @@ { "/api": { - "target": "http://localhost:8080", + "target": "https://cocoageotrack.cm", "secure": false, "logLevel": "debug", "pathRewrite": { From 6354e78b68f0f4f49362524f66cff311964e229c Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:06 +0000 Subject: [PATCH 20/25] README: stray line break splits the word decoupled WARNING: accidental edit carried from the Prosygma tree - 'decoupled' is split across two bullet lines. Should be reverted. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index afb02b04..2582007c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ This new major release includes new functionalities, refactorings, optimizations * Multi-tenant system support. * Reorganized the content in the Product section. This section now includes only the content that is related to a product. * Introduced a new section "Company". This section includes all the content that is related with the company's work process within the value chain. -* The configuration of farmers and collectors is decoupled from the product, and it's part of the Company section. +* The configuration of farmers and collectors is dec +* oupled from the product, and it's part of the Company section. * Added support for importing farmers from a provided Excel file. * The company customers are now decoupled from the Stakeholders in the product section and are configured as part of the Company section. * The configuration of facilities and processing actions is now part of the company's profile. From dfb5254b34b763c6c7d6d4d12ef4b0498a895465 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:06 +0000 Subject: [PATCH 21/25] package.json: pin older mapbox-gl and change the build script WARNING: downgrades mapbox-gl from ^3.3.0 to ^2.15.0 and replaces the build script with a webpack invocation. Both need review before upstreaming. --- package.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c67e21aa..0c26b762 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "scripts": { "ng": "ng", "start": "ng serve", - "build": "ng build", + "build": "ng build webpack --mode production --silent", "build:test": "ng build --configuration=test --aot=true --buildOptimizer=true --optimization=true", "build:prod": "ng build --prod=true --aot=true --buildOptimizer=true --optimization=true", "test": "ng test", @@ -50,12 +50,12 @@ "file-saver": "^2.0.2", "hammerjs": "^2.0.8", "lodash-es": "^4.17.15", - "mapbox-gl": "^3.3.0", - "ng2-charts": "^2.4.2", + "mapbox-gl": "^2.15.0", + "ng2-charts": "^2.4.3", "ng2-file-upload": "^1.4.0", "ngx-echarts": "^6.0.0", - "ngx-ellipsis": "^2.3.1", - "ngx-filesaver": "^10.0.0", + "ngx-ellipsis": "^2.3.2", + "ngx-filesaver": "^10.0.1", "ngx-page-scroll": "^7.0.1", "ngx-page-scroll-core": "^7.0.1", "ngx-toastr": "^12.1.0", @@ -74,6 +74,7 @@ "@types/jasmine": "~3.3.8", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.12.42", + "@types/lodash": "4.14.191", "api-spec-converter": "^2.11.0", "codelyzer": "^5.1.2", "jasmine-core": "~3.5.0", From eb5223e252b5cc29f3f7ef578c905a7f630fb8b8 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:06 +0000 Subject: [PATCH 22/25] Remove package-lock.json and add it to .gitignore WARNING: without a lockfile every install can resolve different transitive versions, so builds stop being reproducible. Not for upstream. --- .gitignore | 1 + package-lock.json | 19117 -------------------------------------------- 2 files changed, 1 insertion(+), 19117 deletions(-) delete mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index b85a0881..1bbd80cc 100644 --- a/.gitignore +++ b/.gitignore @@ -43,6 +43,7 @@ speed-measure-plugin*.json npm-debug.log yarn-error.log testem.log +package-lock.json /typings # System Files diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 2e4ec534..00000000 --- a/package-lock.json +++ /dev/null @@ -1,19117 +0,0 @@ -{ - "name": "inatrace-fe", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.1000.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1000.1.tgz", - "integrity": "sha512-GpoJ+p38feerxwfpJgrjwv/2c47qIX+TMdfKVqbswxLnzK21hXjd0zn6UfovAFwLeL1hRu2O00NDsmQn01gdoA==", - "dev": true, - "requires": { - "@angular-devkit/core": "10.0.1", - "rxjs": "6.5.5" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@angular-devkit/build-angular": { - "version": "0.1000.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1000.1.tgz", - "integrity": "sha512-rRYtHzy27BM3XjPVqlpQOs+RXAgtiT1Qr6EiLiMcb8Twg4aWHzKF+IITLQL9CSYkpOnY40vHjWZuEVu0qIhEPQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1000.1", - "@angular-devkit/build-optimizer": "0.1000.1", - "@angular-devkit/build-webpack": "0.1000.1", - "@angular-devkit/core": "10.0.1", - "@babel/core": "7.9.6", - "@babel/generator": "7.9.6", - "@babel/plugin-transform-runtime": "7.9.6", - "@babel/preset-env": "7.9.6", - "@babel/runtime": "7.9.6", - "@babel/template": "7.8.6", - "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "10.0.1", - "ajv": "6.12.2", - "autoprefixer": "9.8.0", - "babel-loader": "8.1.0", - "browserslist": "^4.9.1", - "cacache": "15.0.3", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "6.0.3", - "core-js": "3.6.4", - "css-loader": "3.5.3", - "cssnano": "4.1.10", - "file-loader": "6.0.0", - "find-cache-dir": "3.3.1", - "glob": "7.1.6", - "jest-worker": "26.0.0", - "karma-source-map-support": "1.4.0", - "less-loader": "6.1.0", - "license-webpack-plugin": "2.2.0", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "0.9.0", - "minimatch": "3.0.4", - "open": "7.0.4", - "parse5": "4.0.0", - "pnp-webpack-plugin": "1.6.4", - "postcss": "7.0.31", - "postcss-import": "12.0.1", - "postcss-loader": "3.0.0", - "raw-loader": "4.0.1", - "regenerator-runtime": "0.13.5", - "resolve-url-loader": "3.1.1", - "rimraf": "3.0.2", - "rollup": "2.10.9", - "rxjs": "6.5.5", - "sass": "1.26.5", - "sass-loader": "8.0.2", - "semver": "7.3.2", - "source-map": "0.7.3", - "source-map-loader": "1.0.0", - "source-map-support": "0.5.19", - "speed-measure-webpack-plugin": "1.3.3", - "style-loader": "1.2.1", - "stylus": "0.54.7", - "stylus-loader": "3.0.2", - "terser": "4.7.0", - "terser-webpack-plugin": "3.0.1", - "tree-kill": "1.2.2", - "webpack": "4.43.0", - "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.11.0", - "webpack-merge": "4.2.2", - "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.4.1", - "worker-plugin": "4.0.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", - "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.6", - "@babel/parser": "^7.9.6", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", - "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", - "dev": true, - "requires": { - "@babel/types": "^7.9.6", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - } - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - } - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "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 - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - } - } - }, - "@angular-devkit/build-optimizer": { - "version": "0.1000.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.1.tgz", - "integrity": "sha512-Q60lxyetBcMKUiNMc1vGUExuJMashHB9CF8HVenX80R9ihaA/GHAUrD2PbKBpLVoC4T291uUhfcA8MB1fJNRfw==", - "dev": true, - "requires": { - "loader-utils": "2.0.0", - "source-map": "0.7.3", - "tslib": "2.0.0", - "webpack-sources": "1.4.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", - "dev": true - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1000.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1000.1.tgz", - "integrity": "sha512-m+abxD38LYdHw+w53Rmc4MbuwDP7rfevAZ/1QR2WFYj0BI5QsTYGlpmieI2TXiwiwvTILn9UzYZAA16nKvmUwA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1000.1", - "@angular-devkit/core": "10.0.1", - "rxjs": "6.5.5" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@angular-devkit/core": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.0.1.tgz", - "integrity": "sha512-AXsxN00zbixi/9HyzzsDGm6rtMferxKfhG8WPJfp/0TLeJrmiLs5wdNjk8LhfTZABSTYx/QxRgOI6OnBoXePgg==", - "dev": true, - "requires": { - "ajv": "6.12.2", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.5", - "source-map": "0.7.3" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@angular-devkit/schematics": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.0.1.tgz", - "integrity": "sha512-lG70f4KsZews/z1npzJC7ccJgz3RXyLetyg+wa5uGWV+Silpr7XX+3U65DjPwG/+921woifeqRMbOhK+zCCaVA==", - "dev": true, - "requires": { - "@angular-devkit/core": "10.0.1", - "ora": "4.0.4", - "rxjs": "6.5.5" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@angular/animations": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.0.2.tgz", - "integrity": "sha512-3fMR574KnaeAon7ZlwYCB2qkUoZ255Y2KwU6Z/ki37U66QZc8XMqf/d4oUiTZgLsJG4a5Whse0IX8Jz5/HAvQQ==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/cdk": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.0.1.tgz", - "integrity": "sha512-tEgaTDQplptbOf4cHHdVScH0h5QNvkWDhabAWpWaT4/dVXEsp+p2E9Pzkemesi/gNmUIetVjGaicX5VqsijZSQ==", - "requires": { - "parse5": "^5.0.0", - "tslib": "^2.0.0" - }, - "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - } - } - }, - "@angular/cli": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.0.1.tgz", - "integrity": "sha512-6Ht3022UcaWTBDnQKgcvTHbOP4ITjzn1DcZWKN0+zKk4PNqOwWtOEF2CBokOG79gTQVdrp2p5YQo5uX6UG7KMQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1000.1", - "@angular-devkit/core": "10.0.1", - "@angular-devkit/schematics": "10.0.1", - "@schematics/angular": "10.0.1", - "@schematics/update": "0.1000.1", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.1.1", - "ini": "1.3.5", - "inquirer": "7.1.0", - "npm-package-arg": "8.0.1", - "npm-pick-manifest": "6.1.0", - "open": "7.0.4", - "pacote": "9.5.12", - "read-package-tree": "5.3.1", - "rimraf": "3.0.2", - "semver": "7.3.2", - "symbol-observable": "1.2.0", - "universal-analytics": "0.4.20", - "uuid": "8.1.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "uuid": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", - "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==", - "dev": true - } - } - }, - "@angular/common": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-10.0.2.tgz", - "integrity": "sha512-zpNB2XD6jinXZjfihoO5Q1Yg7urfpZTt/fitdmwFHCcQ/1qZ9T2BVh8+VqVRkh6Pjxmtvu0uPnJ1a/aZ5f9r9A==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/compiler": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.0.2.tgz", - "integrity": "sha512-TNE5ESDlRCVneb/K62HOEgLpxuZZTlw8RcmOy5vt3SngEVc576OE/aYsEA6MCwTlqj16GLSS3jGm9HBJcBKUVw==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/compiler-cli": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-10.0.2.tgz", - "integrity": "sha512-LGX86k1hOyaw5aPCjFfoLuPhVLKMENOdCBeNBzZB+H2CUGHfv8OWFB1EzjZO1N07VGR7JoMx9ZWSP7ornhuS4Q==", - "dev": true, - "requires": { - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.0.0", - "yargs": "15.3.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@angular/core": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-10.0.2.tgz", - "integrity": "sha512-r4M1D2NOdkmmFyvYLHRYSIBKTGNXQarZHDZcm5oEq2eTsRVe2u9MYIeOpHKeVQCQK7XKQVB13IZQP3XpUvljFg==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/forms": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-10.0.2.tgz", - "integrity": "sha512-qnfApb5Q58SFdl8za8i6ijvP0UfVGxxTtIVnf8czVU5Jz5/KYDbPeChVw/aPl3hfXq8jt0Q6Yl99aAm/BNyhpQ==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/google-maps": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@angular/google-maps/-/google-maps-10.0.1.tgz", - "integrity": "sha512-z9amtlmWg6dtHeDY/mRt7v6Hc/W2n2SoCkS9bHrSZ1/bJyiDHKNynYdi9OB/yHUICuLGwavVBl1W/l02ijxX4w==", - "requires": { - "@types/googlemaps": "^3.39.3", - "tslib": "^2.0.0" - } - }, - "@angular/language-service": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-10.0.2.tgz", - "integrity": "sha512-kEMJ3DkprpoGJvEjvH/PZrBKtgCbLtFYtrXHRDy2+92vgCT0Xz6TwzZ2qlwlQSijffOgsV5LwdjI4oxpgVKReQ==", - "dev": true - }, - "@angular/localize": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-10.0.2.tgz", - "integrity": "sha512-b3KxcReeXLlA7KexXn4Q6dQSc04oGHpWK1to5KGgdjWIv2uf1fqD9iTJiGhGK5OYFmvp2AwHfpRvYoxO5wNYaA==", - "requires": { - "@babel/core": "7.8.3", - "glob": "7.1.2", - "yargs": "15.3.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", - "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.3", - "@babel/helpers": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@angular/platform-browser": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.0.2.tgz", - "integrity": "sha512-FLS3fYSuWvrDc7PiVCvs4joWZZxDe9+alJi90Sub1oBS/EnxmZpkS0Gr7zQv4MjAvVhNCVoTzL3CaV/SIoZqaw==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/platform-browser-dynamic": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.0.2.tgz", - "integrity": "sha512-R1rt1/Ynm0DHgzMBcduCPoDg2y3MrYZVgT+N0DLobr2nCaVD74vGsJBVCRv7/m1sdCxyhPlOvq8Bm5sRauw2fw==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@angular/router": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-10.0.2.tgz", - "integrity": "sha512-IcA3W+r5T0NC8TM4J9F0VOxG0wr7nJOSef6Qek6utZd6ByLlXxOhBrPIC5Ou+QNZeg9OuI2FBt6coea9jgmNOA==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - } - } - }, - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/compat-data": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz", - "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.4.tgz", - "integrity": "sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA==", - "requires": { - "@babel/types": "^7.9.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", - "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.10.4", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" - } - }, - "@babel/helper-define-map": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz", - "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", - "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", - "dev": true, - "requires": { - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.0.tgz", - "integrity": "sha512-xKLTpbMkJcvwEsDaTfs9h0IlfUiBLPFfybxaPpPPsQDsZTRg+UKh+86oK7sctHF3OUiRQkb10oS9MXSqgyV6/g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true - }, - "@babel/types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.0.tgz", - "integrity": "sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.0.tgz", - "integrity": "sha512-HgMd8QKA8wMJs5uK/DYKdyzJAEuGt1zyDp9wLMlMR6LitTQTHPUE+msC82ZsEDwq+U3/yHcIXIngRm9MS4IcIg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true - }, - "@babel/types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.0.tgz", - "integrity": "sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz", - "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", - "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.0.tgz", - "integrity": "sha512-erl4iVeiANf14JszXP7b69bSrz3e3+qW09pVvEmTWwzRQEOoyb1WFlYCA8d/VjVZGYW8+nGpLh7swf9CifH5wg==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.0", - "@babel/helper-optimise-call-expression": "^7.10.0", - "@babel/traverse": "^7.10.0", - "@babel/types": "^7.10.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.0.tgz", - "integrity": "sha512-ThoWCJHlgukbtCP79nAK4oLqZt5fVo70AHUni/y8Jotyg5rtJiG2FVl+iJjRNKIyl4hppqztLyAoEWcCvqyOFQ==", - "dev": true, - "requires": { - "@babel/types": "^7.10.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true - }, - "@babel/parser": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.0.tgz", - "integrity": "sha512-fnDUl1Uy2gThM4IFVW4ISNHqr3cJrCsRkSCasFgx0XDO9JcttDS5ytyBc4Cu4X1+fjoo3IVvFbRD6TeFlHJlEQ==", - "dev": true - }, - "@babel/traverse": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.0.tgz", - "integrity": "sha512-NZsFleMaLF1zX3NxbtXI/JCs2RPOdpGru6UBdGsfhdsDsP+kFF+h2QQJnMJglxk0kc69YmMFs4A44OJY0tKo5g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.10.0", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.10.0", - "@babel/types": "^7.10.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.0.tgz", - "integrity": "sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", - "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", - "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==" - }, - "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", - "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" - } - }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - } - } - }, - "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz", - "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", - "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", - "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", - "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", - "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz", - "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", - "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz", - "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz", - "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz", - "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", - "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", - "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz", - "integrity": "sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", - "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz", - "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz", - "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.6", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.5", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.9.5", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.6", - "@babel/plugin-transform-modules-commonjs": "^7.9.6", - "@babel/plugin-transform-modules-systemjs": "^7.9.6", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.9.5", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.6", - "browserslist": "^4.11.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz", - "integrity": "sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw==", - "dev": true, - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", - "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", - "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } - } - }, - "@fortawesome/angular-fontawesome": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.6.1.tgz", - "integrity": "sha512-ARQjtRuT+ZskzJDJKPwuiGO3+7nS0iyNLU/uHVJHfG4LwGJxwVIGldwg1SU957sra0Z0OtWEajHMhiS4vB9LwQ==" - }, - "@fortawesome/fontawesome-common-types": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.29.tgz", - "integrity": "sha512-cY+QfDTbZ7XVxzx7jxbC98Oxr/zc7R2QpTLqTxqlfyXDrAJjzi/xUIqAUsygELB62JIrbsWxtSRhayKFkGI7MA==" - }, - "@fortawesome/fontawesome-svg-core": { - "version": "1.2.29", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.29.tgz", - "integrity": "sha512-xmPmP2t8qrdo8RyKihTkGb09RnZoc+7HFBCnr0/6ZhStdGDSLeEd7ajV181+2W29NWIFfylO13rU+s3fpy3cnA==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.29" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.29.tgz", - "integrity": "sha512-cY+QfDTbZ7XVxzx7jxbC98Oxr/zc7R2QpTLqTxqlfyXDrAJjzi/xUIqAUsygELB62JIrbsWxtSRhayKFkGI7MA==" - } - } - }, - "@fortawesome/free-brands-svg-icons": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.13.1.tgz", - "integrity": "sha512-dKwF+NpIV2LVCNBA7hibH53k+ChF4Wu59P2z35gu3zwRBZpmpLVhS9k1/RiSqUqkyXUQvA2rSv48GY6wp5axZQ==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.29" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.29.tgz", - "integrity": "sha512-cY+QfDTbZ7XVxzx7jxbC98Oxr/zc7R2QpTLqTxqlfyXDrAJjzi/xUIqAUsygELB62JIrbsWxtSRhayKFkGI7MA==" - } - } - }, - "@fortawesome/free-regular-svg-icons": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.13.1.tgz", - "integrity": "sha512-sSeaqqmv2ovA5LKcrbh3VnEDZHVhaxijWKm4R0AdT0eG21pgxNsJbStD8lW9z6bgSuWXRNHhbhOmARuRCLS8tw==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.29" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "0.2.29", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.29.tgz", - "integrity": "sha512-cY+QfDTbZ7XVxzx7jxbC98Oxr/zc7R2QpTLqTxqlfyXDrAJjzi/xUIqAUsygELB62JIrbsWxtSRhayKFkGI7MA==" - } - } - }, - "@fortawesome/free-solid-svg-icons": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.13.1.tgz", - "integrity": "sha512-LQH/0L1p4+rqtoSHa9qFYR84hpuRZKqaQ41cfBQx8b68p21zoWSekTAeA54I/2x9VlCHDLFlG74Nmdg4iTPQOg==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.29" - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, - "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz", - "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==", - "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.1", - "loader-utils": "^1.4.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.6.4" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "@locl/cli": { - "version": "0.0.1-beta.9", - "resolved": "https://registry.npmjs.org/@locl/cli/-/cli-0.0.1-beta.9.tgz", - "integrity": "sha512-sTYl4q585AftySMct/qNF4i3bTsnVxAN6g1STOUinpfx84s4JYWW9WL0sgl0bdM4sL7+AjxlYg21RxCDc6JUkg==", - "dev": true, - "requires": { - "@babel/core": "^7.8.6", - "chalk": "^3.0.0", - "find-up": "^4.1.0", - "glob": "^7.1.2", - "yargs": "^13.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - } - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@locl/core": { - "version": "1.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@locl/core/-/core-1.0.0-rc.1.tgz", - "integrity": "sha512-a59PxeR2VDIn+Wr3BqX2vPXkmluINI/Icwm2c5ny+vpnKTPRn+gQxsietl+t+Vk0arwaEZuzJTFohrNLrBoAyQ==" - }, - "@ng-bootstrap/ng-bootstrap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-6.1.0.tgz", - "integrity": "sha512-2GzkNJBKdeHkaUqaCAqSILPft0IzzHjMfAlAuGY6/ZLlVQ0glt5MTbIXtIhSbjR+OvlrljoXFLrvzs1LGdmE+A==" - }, - "@ng-select/ng-select": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-4.0.4.tgz", - "integrity": "sha512-KaVlVdt7DWZBfmL6nc16i80l1dDx0cO3eGjW+grQPnhZ9KurapioQUYVf6dSmYyWyBXihvt4I3SWkCzqSWFJbQ==", - "requires": { - "tslib": "^1.10.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - } - } - }, - "@ngtools/webpack": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.0.1.tgz", - "integrity": "sha512-/uUTczGcH2WJoVovCLHXdPdTzN0yQZontcf5MkoDjlA0selUdRFntV9cnUWoray9SVxzgoHqjRxBANCTsiiuuw==", - "dev": true, - "requires": { - "@angular-devkit/core": "10.0.1", - "enhanced-resolve": "4.1.1", - "rxjs": "6.5.5", - "webpack-sources": "1.4.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - } - }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "@schematics/angular": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-10.0.1.tgz", - "integrity": "sha512-SrWr2FzenwuofRpcaLhzJYNFVJmJwKxlKu32dWAVnclpteMO0Hnp/jVI/e70HIc6zoWzgJ4yArmwBTA+Q26yaA==", - "dev": true, - "requires": { - "@angular-devkit/core": "10.0.1", - "@angular-devkit/schematics": "10.0.1" - } - }, - "@schematics/update": { - "version": "0.1000.1", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1000.1.tgz", - "integrity": "sha512-AiU3RiKMfzxquzxANgDMO88iTkk9pVKQ5fZV4UwiyZO5q/fUCW4FFx9h4Nc7e9adchM+VaCz/uEAWqrVdsPv9Q==", - "dev": true, - "requires": { - "@angular-devkit/core": "10.0.1", - "@angular-devkit/schematics": "10.0.1", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "npm-package-arg": "^8.0.0", - "pacote": "9.5.12", - "rxjs": "6.5.5", - "semver": "7.3.2", - "semver-intersect": "1.4.0" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "@tinymce/tinymce-angular": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@tinymce/tinymce-angular/-/tinymce-angular-4.2.0.tgz", - "integrity": "sha512-/idOKItFVUvxilCrTi36x6MI7r/4YuSr77fkg4efPSu7t2u1SADIfLTSF1K1RB+3ZUvy8zWB2v5kqbgD4FchNQ==", - "requires": { - "tslib": "^1.10.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - } - } - }, - "@types/chart.js": { - "version": "2.9.24", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.24.tgz", - "integrity": "sha512-AQI7X+ow3SaONl44JrHoL/5B+lCsJyG31UHZ5RP98Uh15hI/zjEkDsAb4EIm4P9TGfNhZLXw/nMc5w0u10+/fQ==", - "requires": { - "moment": "^2.10.2" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/googlemaps": { - "version": "3.39.8", - "resolved": "https://registry.npmjs.org/@types/googlemaps/-/googlemaps-3.39.8.tgz", - "integrity": "sha512-z03u79t1v8QIktoUXypWD06Fzl499/hA162hurA+eCDlWXxFynuU+hMZIaferILF5Gzr4PMX1ShHszT666sUHQ==" - }, - "@types/jasmine": { - "version": "3.3.16", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.16.tgz", - "integrity": "sha512-Nveep4zKGby8uIvG2AEUyYOwZS8uVeHK9TgbuWYSawUDDdIgfhCKz28QzamTo//Jk7Ztt9PO3f+vzlB6a4GV1Q==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", - "dev": true, - "requires": { - "@types/jasmine": "*" - } - }, - "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "12.20.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.19.tgz", - "integrity": "sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw==" - }, - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/webpack-sources": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", - "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONSelect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", - "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", - "dev": true, - "optional": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "adjust-sourcemap-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", - "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", - "dev": true, - "requires": { - "assert": "1.4.1", - "camelcase": "5.0.0", - "loader-utils": "1.2.3", - "object-path": "0.11.4", - "regex-parser": "2.2.10" - }, - "dependencies": { - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - } - } - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", - "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "angular2-qrcode": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/angular2-qrcode/-/angular2-qrcode-2.0.3.tgz", - "integrity": "sha512-blXNY7VGSuxxfyAg0aa7urWFkoIT2YrygMzyWNRhzPY7UN1ddM4MWAZSzCEFVTzIIu9x4bZcpYDKG7JnmM9IFg==", - "requires": { - "qrious": "^4.0.2" - } - }, - "angulartics2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/angulartics2/-/angulartics2-9.1.0.tgz", - "integrity": "sha512-RAfHJSHyeRe834e5qCYLtp7fdFuKnz/myFTSVEUZV6nLp4cUotvX8XQhewUEpFv6gkrzJwcuY32JZxstDlNiXQ==" - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "api-spec-converter": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/api-spec-converter/-/api-spec-converter-2.11.0.tgz", - "integrity": "sha512-K7UcNGpMiTCeHtSjswxqG4SfXosNB2UqYkbZ1VUt8ZBSi6PkeTBQ3DROEtmno+nLuphS7cXE0yV1ltbHQq/WEg==", - "dev": true, - "requires": { - "apib2swagger": "^1.9.0", - "bluebird": "^3.5.4", - "commander": "^2.20.0", - "composite-error": "^0.1.1", - "deep-sort-object": "^1.0.2", - "drafter.js": "^2.6.7", - "google-discovery-to-swagger": "^2.0.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.11", - "raml-parser": "^0.8.18", - "raml-to-swagger": "^1.1.0", - "request": "^2.88.0", - "source-map": "0.6.0", - "swagger-converter": "^1.5.1", - "swagger2openapi": "2.9.*", - "sway": "^2.0.5", - "traverse": "^0.6.6", - "urijs": "^1.18.10", - "xml2js": "^0.4.17" - }, - "dependencies": { - "source-map": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.0.tgz", - "integrity": "sha512-mTozplhTX4tLKIHYji92OTZzVyZvi+Z1qRZDeBvQFI2XUB89wrRoj/xXad3c9NZ1GPJXXRvB+k41PQCPTMC+aA==", - "dev": true - } - } - }, - "apib-include-directive": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/apib-include-directive/-/apib-include-directive-0.1.0.tgz", - "integrity": "sha1-YQg+4aZgwsMo90c/tkMYEqZabLU=", - "dev": true, - "optional": true - }, - "apib2swagger": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/apib2swagger/-/apib2swagger-1.11.0.tgz", - "integrity": "sha512-tP0mhbDzQbJXesGmOF1lpTZLOmDv4SF05FQ9tZkIZUgU/G+JhKWUljndYxjWSsu/IZqZDtxaj3ZkBnQ5zQmJ+Q==", - "dev": true, - "optional": true, - "requires": { - "apib-include-directive": "^0.1.0", - "drafter.js": "^2.6.2", - "generate-schema": "^2.5.0", - "js-yaml": "^3.13.1", - "nopt": "^3.0.6", - "uritemplate": "^0.3.4" - } - }, - "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" - } - }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", - "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001061", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.30", - "postcss-value-parser": "^4.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true - }, - "axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7" - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "batch-processor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", - "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", - "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "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==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - }, - "browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz", - "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "move-file": "^2.0.0", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001093", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz", - "integrity": "sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chart.js": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz", - "integrity": "sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==", - "requires": { - "chartjs-color": "^2.1.0", - "moment": "^2.10.2" - } - }, - "chartjs-color": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", - "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", - "requires": { - "chartjs-color-string": "^0.6.0", - "color-convert": "^1.9.3" - } - }, - "chartjs-color-string": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", - "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", - "requires": { - "color-name": "^1.0.0" - } - }, - "chartjs-plugin-datalabels": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-0.7.0.tgz", - "integrity": "sha512-PKVUX14nYhH0wcdCpgOoC39Gbzvn6cZ7O9n+bwc02yKD9FTnJ7/TSrBcfebmolFZp1Rcicr9xbT0a5HUbigS7g==" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-dependency-plugin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz", - "integrity": "sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==", - "dev": true - }, - "cjson": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.2.1.tgz", - "integrity": "sha1-c82KrWXZ4VBfmvF0TTt5wVJ2gqU=", - "dev": true, - "optional": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", - "dev": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codelyzer": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", - "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", - "dev": true, - "requires": { - "app-root-path": "^2.2.1", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "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 - }, - "common-prefix": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/common-prefix/-/common-prefix-1.1.0.tgz", - "integrity": "sha1-46Xqf6+u/H64TnYFI+GvuYX5DwA=", - "dev": true, - "optional": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "dev": true, - "requires": { - "arity-n": "^1.0.4" - } - }, - "composite-error": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/composite-error/-/composite-error-0.1.1.tgz", - "integrity": "sha1-pOwznDeUvH41ZBK5FUgZlf74Jyc=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz", - "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==", - "dev": true, - "requires": { - "cacache": "^15.0.4", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.1", - "schema-utils": "^2.7.0", - "serialize-javascript": "^4.0.0", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "cacache": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", - "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "p-limit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz", - "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", - "dev": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "dev": true, - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", - "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.6", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "requires": { - "css": "^2.0.0" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" - } - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", - "dev": true, - "requires": { - "through": "X.X.X" - } - }, - "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 - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true, - "optional": true - }, - "deep-sort-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/deep-sort-object/-/deep-sort-object-1.0.2.tgz", - "integrity": "sha1-OJLc7139Dvwtb6lr6rzLM82O+R8=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.1" - } - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "drafter.js": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/drafter.js/-/drafter.js-2.6.7.tgz", - "integrity": "sha1-WcQ6hYZSc0DLNb3cVBgFWfru8AE=", - "dev": true, - "optional": true - }, - "drange": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ebnf-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", - "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "echarts": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", - "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", - "requires": { - "tslib": "2.3.0", - "zrender": "5.4.3" - }, - "dependencies": { - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.487", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.487.tgz", - "integrity": "sha512-m4QS3IDShxauFfYFpnEzRCcUI55oKB9acEnHCuY/hSCZMz9Pz2KJj+UBnGHxRxS/mS1aphqOQ5wI6gc3yDZ7ew==", - "dev": true - }, - "element-resize-detector": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.1.tgz", - "integrity": "sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==", - "requires": { - "batch-processor": "1.0.0" - } - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", - "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "0.3.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "^7.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "engine.io-client": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", - "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", - "dev": true, - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", - "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", - "dev": true - }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", - "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", - "dev": true, - "optional": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dev": true, - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "faker": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz", - "integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "optional": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" - } - }, - "file-saver": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", - "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "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, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", - "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "format-util": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.5.tgz", - "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==", - "dev": true - }, - "formidable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", - "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", - "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "generate-schema": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/generate-schema/-/generate-schema-2.6.0.tgz", - "integrity": "sha512-EUBKfJNzT8f91xUk5X5gKtnbdejZeE065UAJ3BCzE8VEbvwKI9Pm5jaWmqVeK1MYc1g5weAVFDTSJzN7ymtTqA==", - "dev": true, - "optional": true, - "requires": { - "commander": "^2.9.0", - "type-of-is": "^3.4.0" - } - }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - } - } - }, - "google-discovery-to-swagger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/google-discovery-to-swagger/-/google-discovery-to-swagger-2.1.0.tgz", - "integrity": "sha512-MI1gfmWPkuXCp6yH+9rfd8ZG8R1R5OIyY4WlKDTqr2+ere1gt2Ne4DSEu8HM7NkwKpuVCE5TrTRAPfm3ownMUQ==", - "dev": true, - "optional": true, - "requires": { - "json-schema-compatibility": "^1.1.0", - "jsonpath": "^1.0.2", - "lodash": "^4.17.15", - "mime-db": "^1.21.0", - "mime-lookup": "^0.0.2", - "traverse": "~0.6.6", - "urijs": "^1.17.0" - } - }, - "got": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/got/-/got-2.4.0.tgz", - "integrity": "sha1-5Ah6LNWbXSDy0WnchdIWntnon1Y=", - "dev": true, - "optional": true, - "requires": { - "duplexify": "^3.2.0", - "infinity-agent": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "object-assign": "^2.0.0", - "prepend-http": "^1.0.0", - "read-all-stream": "^1.0.0", - "statuses": "^1.2.1", - "timed-out": "^2.0.0" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true, - "optional": true - } - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" - }, - "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 - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "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==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", - "dev": true, - "requires": { - "lru-cache": "^5.1.1" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http-status-codes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-1.4.0.tgz", - "integrity": "sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ==", - "dev": true, - "optional": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "infinity-agent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-1.0.2.tgz", - "integrity": "sha1-Lp2iwHC5hkqLxmwBlOF5HtgFgCU=", - "dev": true, - "optional": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", - "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "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 - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } - } - }, - "jasmine-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", - "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", - "dev": true - }, - "jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", - "dev": true, - "requires": { - "colors": "1.4.0" - } - }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, - "jest-worker": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz", - "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jgexml": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/jgexml/-/jgexml-0.3.9.tgz", - "integrity": "sha512-OiucENxrgrQ0HgBhb0LewMeubJsOdKwoauSJsSk0eXBnXupW+RmeGvAcC5agdFw+V5f+OAIwmgvutOQAwnPZfw==", - "dev": true, - "optional": true - }, - "jison": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.13.tgz", - "integrity": "sha1-kEFwfWIkE2f1iDRTK58ZwsNvrHg=", - "dev": true, - "optional": true, - "requires": { - "JSONSelect": "0.4.0", - "cjson": "~0.2.1", - "ebnf-parser": "~0.1.9", - "escodegen": "0.0.21", - "esprima": "1.0.x", - "jison-lex": "0.2.x", - "lex-parser": "~0.1.3", - "nomnom": "1.5.2" - }, - "dependencies": { - "escodegen": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz", - "integrity": "sha1-U9ZSz6EDA4gnlFilJmxf/HCcY8M=", - "dev": true, - "optional": true, - "requires": { - "esprima": "~1.0.2", - "estraverse": "~0.0.4", - "source-map": ">= 0.1.2" - } - }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true, - "optional": true - }, - "estraverse": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz", - "integrity": "sha1-AaCTLf7ldGhKWYr1pnw7+bZCjbI=", - "dev": true, - "optional": true - } - } - }, - "jison-lex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.1.tgz", - "integrity": "sha1-rEuBXozOUTLrErXfz+jXB7iETf4=", - "dev": true, - "optional": true, - "requires": { - "lex-parser": "0.1.x", - "nomnom": "1.5.2" - } - }, - "jju": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.2.1.tgz", - "integrity": "sha1-7fbsINXWaMgMLADOpj+KlCKktSg=", - "dev": true, - "optional": true - }, - "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-refs": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", - "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", - "dev": true, - "requires": { - "commander": "~4.1.1", - "graphlib": "^2.1.8", - "js-yaml": "^3.13.1", - "lodash": "^4.17.15", - "native-promise-only": "^0.8.1", - "path-loader": "^1.0.10", - "slash": "^3.0.0", - "uri-js": "^4.2.2" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-compatibility": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-schema-compatibility/-/json-schema-compatibility-1.1.0.tgz", - "integrity": "sha1-GomBd4zaDDgYcpjZmdCJ5Rrygt8=", - "dev": true, - "optional": true - }, - "json-schema-faker": { - "version": "0.5.0-rcv.24", - "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rcv.24.tgz", - "integrity": "sha512-qwuRwv7dnUdqdwuifb6kJAVUKm0mzi4h/mzvMwDKxyWUzjxFCdVH/g9IfKxvc4M7rvAavr8pcx9uO1PNIIWE0g==", - "dev": true, - "requires": { - "json-schema-ref-parser": "^6.1.0", - "jsonpath-plus": "^2.0.0", - "randexp": "^0.5.3" - }, - "dependencies": { - "json-schema-ref-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz", - "integrity": "sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "js-yaml": "^3.12.1", - "ono": "^4.0.11" - } - } - } - }, - "json-schema-ref-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-3.3.1.tgz", - "integrity": "sha512-stQTMhec2R/p2L9dH4XXRlpNCP0mY8QrLd/9Kl+8SHJQmwHtE1nDfXH4wbsSM+GkJMl8t92yZbI0OIol432CIQ==", - "dev": true, - "optional": true, - "requires": { - "call-me-maybe": "^1.0.1", - "debug": "^3.0.0", - "es6-promise": "^4.1.1", - "js-yaml": "^3.9.1", - "ono": "^4.0.2", - "z-schema": "^3.18.2" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - } - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", - "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsonpath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", - "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", - "dev": true, - "optional": true, - "requires": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.7.0" - }, - "dependencies": { - "esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=", - "dev": true, - "optional": true - } - } - }, - "jsonpath-plus": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-2.0.0.tgz", - "integrity": "sha512-ksXaz9+3SIZ5BMxgr7MQueYcR515VRZPuoDhIymUd1JcF6BnVaYJS7k4NJni4EHhvJaOIGGiPqT8+ifsGp6mBw==", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jszip": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", - "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "karma": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz", - "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==", - "dev": true, - "requires": { - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.0.0", - "colors": "^1.4.0", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "flatted": "^2.0.2", - "glob": "^7.1.6", - "graceful-fs": "^4.2.4", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.6", - "lodash": "^4.17.15", - "log4js": "^6.2.1", - "mime": "^2.4.5", - "minimatch": "^3.0.4", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^2.3.0", - "source-map": "^0.6.1", - "tmp": "0.2.1", - "ua-parser-js": "0.7.21", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "decamelize": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-3.2.0.tgz", - "integrity": "sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==", - "dev": true, - "requires": { - "xregexp": "^4.2.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "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, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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 - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.0.tgz", - "integrity": "sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^3.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - } - } - } - } - }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", - "dev": true, - "requires": { - "which": "^1.2.1" - } - }, - "karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" - } - }, - "karma-jasmine": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.3.1.tgz", - "integrity": "sha512-Nxh7eX9mOQMyK0VSsMxdod+bcqrR/ikrmEiWj5M6fwuQ7oI+YEF1FckaDsWfs6TIpULm9f0fTKMjF7XcrvWyqQ==", - "dev": true, - "requires": { - "jasmine-core": "^3.5.0" - } - }, - "karma-jasmine-html-reporter": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.3.tgz", - "integrity": "sha512-ci0VrjuCaFj+9d1tYlTE3KIPUCp0rz874zWWU3JgCMqGIyw5ke+BXWFPOAGAqUdCJcrMwneyvp1zFXA74MiPUA==", - "dev": true - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "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 - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "less": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz", - "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "less-loader": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.1.0.tgz", - "integrity": "sha512-/jLzOwLyqJ7Kt3xg5sHHkXtOyShWwFj410K9Si9WO+/h8rmYxxkSR0A3/hFEntWudE20zZnWMtpMYnLzqTVdUA==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "less": "^3.11.1", - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "optional": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lex-parser": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", - "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", - "dev": true, - "optional": true - }, - "license-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-XPsdL/0brSHf+7dXIlRqotnCQ58RX2au6otkOg4U3dm8uH+Ka/fW4iukEs95uXm+qKe/SBs+s1Ll/aQddKG+tg==", - "dev": true, - "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "optional": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "optional": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash-es": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", - "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", - "dev": true, - "requires": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "optional": true - }, - "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, - "requires": { - "yallist": "^3.0.2" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "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 - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "dev": true - }, - "mime-lookup": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/mime-lookup/-/mime-lookup-0.0.2.tgz", - "integrity": "sha1-o1JdJixC5MraWFmR+FADil1dJB0=", - "dev": true, - "optional": true - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dev": true, - "requires": { - "mime-db": "1.43.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "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 - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "moment": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.0.tgz", - "integrity": "sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==", - "dev": true, - "requires": { - "path-exists": "^4.0.0" - }, - "dependencies": { - "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 - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-promise-only": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "ng2-charts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-2.4.2.tgz", - "integrity": "sha512-mY3C2uKCaApHCQizS2YxEOqQ7sSZZLxdV6N1uM9u/VvUgVtYvlPtdcXbKpN52ak93ZE22I73DiLWVDnDNG4/AQ==", - "requires": { - "@types/chart.js": "^2.9.24", - "lodash-es": "^4.17.15", - "tslib": "^2.0.0" - } - }, - "ng2-file-upload": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ng2-file-upload/-/ng2-file-upload-1.4.0.tgz", - "integrity": "sha512-3J/KPU/tyh/ad6TFeUbrxX+SihUj0iOEt2Zsg4EX7mB3GFiQscXOfcUOxCkBtPWWWaqt3azrYbVGzsYa3/7NzQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - } - } - }, - "ngx-echarts": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ngx-echarts/-/ngx-echarts-6.0.1.tgz", - "integrity": "sha512-a9MZ8cHC7oD+c6Tl0ABAEM2inD+k4FHhuu7RnH6/34c10TJ7AFeQwrFbP6BgW39M9gViWozAjCRFmrvWOYv2Wg==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ngx-ellipsis": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ngx-ellipsis/-/ngx-ellipsis-2.3.1.tgz", - "integrity": "sha512-qhxiOwjdaOqOTYi6dn73opfwMULur+YcwzTmIJyjYk2oPvsD/yeMSmeEM4Nc8/dIFqalN91DdDC7eqz5mrnxfA==", - "requires": { - "element-resize-detector": "^1.2.1" - } - }, - "ngx-filesaver": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ngx-filesaver/-/ngx-filesaver-10.0.0.tgz", - "integrity": "sha512-UPUwe9M3dAMWrS0GV6yqK8anh6EWCISGre/X4jPS/jo7IFPu1b65Om9Dgwn3STVcpmIwycEi7tJe7n+vKxkywA==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ngx-page-scroll": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ngx-page-scroll/-/ngx-page-scroll-7.0.1.tgz", - "integrity": "sha512-8AjleaS0SMxvstYHQjiQukLoddw45ajLIyUmcXJigWVxXPoyJ0e86dYnNyVDgKh2LvZf+6eXQtfKHE1ToNjqsQ==" - }, - "ngx-page-scroll-core": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ngx-page-scroll-core/-/ngx-page-scroll-core-7.0.1.tgz", - "integrity": "sha512-nWe2X8H23xItcGr+gvizLafErQyajQJtVAW50wPlBb5Xr9LVAjpv5uYwYp508N5c4YUdRu9IRX0rkKvrjrJv4w==" - }, - "ngx-toastr": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-12.1.0.tgz", - "integrity": "sha512-rytCRBhvuudj614Kfj9GoIVQDrFuLvHSMP1YrMwTmR1SNkNJZOpGKmaSDCCBrNDkSrGouzMWBlFbl1UDBBsiqw==", - "requires": { - "tslib": "^1.10.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - } - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "optional": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "node-readfiles": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", - "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", - "dev": true, - "optional": true, - "requires": { - "es6-promise": "^3.2.1" - }, - "dependencies": { - "es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true, - "optional": true - } - } - }, - "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", - "dev": true - }, - "nomnom": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", - "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", - "dev": true, - "optional": true, - "requires": { - "colors": "0.5.x", - "underscore": "1.1.x" - }, - "dependencies": { - "colors": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", - "dev": true, - "optional": true - }, - "underscore": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", - "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", - "dev": true, - "optional": true - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", - "dev": true, - "requires": { - "semver": "^7.1.1" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "npm-package-arg": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", - "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.2", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-pick-manifest": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", - "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", - "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "npm-registry-fetch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz", - "integrity": "sha512-yQ0/U4fYpCCqmueB2g8sc+89ckQ3eXpmU4+Yi2j5o/r0WkKvE2+Y0tK3DEILAtn2UaQTkjTHxIXe2/CSdit+/Q==", - "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "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==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-path": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", - "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "ono": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz", - "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==", - "dev": true, - "requires": { - "format-util": "^1.0.3" - } - }, - "open": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz", - "integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "openapi-typescript-angular-generator": { - "version": "git+https://github.com/alenabelium/openapi-typescript-angular-generator.git#6408234b22153beac248e192e5e5f27679349baa", - "from": "git+https://github.com/alenabelium/openapi-typescript-angular-generator.git#v3.4", - "dev": true, - "requires": { - "fs-extra": "^7.0.1", - "yargs": "^12.0.5" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "optional": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", - "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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 - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pacote": { - "version": "9.5.12", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", - "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^12.0.2", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-normalize-package-bin": "^1.0.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^3.0.0", - "npm-registry-fetch": "^4.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-loader": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz", - "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==", - "dev": true, - "requires": { - "native-promise-only": "^0.8.1", - "superagent": "^3.8.3" - } - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "pluralize": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.1.6.tgz", - "integrity": "sha1-5L9dazayr8IsgB98Nyk2F+C9xW0=", - "dev": true, - "optional": true - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.31.tgz", - "integrity": "sha512-a937VDHE1ftkjk+8/7nj/mrjtmkn69xxzJgRETXdAUU+IgOYPQNJF17haGWbeDxSyk++HA14UA98FurvPyBJOA==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "optional": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "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 - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - } - } - }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "decamelize": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-3.2.0.tgz", - "integrity": "sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==", - "dev": true, - "requires": { - "xregexp": "^4.2.4" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "yargs": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.0.tgz", - "integrity": "sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^3.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - } - } - } - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true, - "optional": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true - }, - "qrious": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/qrious/-/qrious-4.0.2.tgz", - "integrity": "sha512-xWPJIrK1zu5Ypn898fBp8RHkT/9ibquV2Kv24S/JY9VYEhMBMKur1gHVsOiNUh7PHP9uCgejjpZUHUIXXKoU/g==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "raml-parser": { - "version": "0.8.18", - "resolved": "https://registry.npmjs.org/raml-parser/-/raml-parser-0.8.18.tgz", - "integrity": "sha1-CHM3UDT4uKHSDBDjFHtiebM0l6g=", - "dev": true, - "optional": true, - "requires": { - "got": "~2.4.0", - "jju": "~1.2.0", - "json-schema-ref-parser": "^3.1.2", - "object-assign": "^4.1.0", - "pluralize": "~1.1.1", - "q": "0.9.7", - "uritemplate": "~0.3.4" - }, - "dependencies": { - "q": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "integrity": "sha1-TeLmyzspCIyeTLwDv51C+5bOL3U=", - "dev": true, - "optional": true - } - } - }, - "raml-to-swagger": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/raml-to-swagger/-/raml-to-swagger-1.1.0.tgz", - "integrity": "sha1-jVMLSN3WOE7arEvQUVJv6wXwl2Y=", - "dev": true, - "optional": true, - "requires": { - "http-status-codes": "^1.0.5", - "json-schema-compatibility": "^1.1.0", - "jsonpath": "^0.2.5", - "lodash": "^4.1.0", - "urijs": "^1.17.0" - }, - "dependencies": { - "escodegen": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", - "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", - "dev": true, - "optional": true, - "requires": { - "esprima": "~1.0.2", - "estraverse": "~1.3.0", - "source-map": ">= 0.1.2" - }, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true, - "optional": true - } - } - }, - "esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=", - "dev": true, - "optional": true - }, - "estraverse": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", - "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=", - "dev": true, - "optional": true - }, - "jsonpath": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-0.2.12.tgz", - "integrity": "sha1-W/nZEftGFsHjNwvs658NskrjTNI=", - "dev": true, - "optional": true, - "requires": { - "esprima": "1.2.2", - "jison": "0.4.13", - "static-eval": "0.2.3", - "underscore": "1.7.0" - } - }, - "static-eval": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.3.tgz", - "integrity": "sha1-Aj8XrJ/uQm6niMEuo5IG3Bdfiyo=", - "dev": true, - "optional": true, - "requires": { - "escodegen": "~0.0.24" - } - } - } - }, - "randexp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", - "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", - "dev": true, - "requires": { - "drange": "^1.0.2", - "ret": "^0.2.0" - }, - "dependencies": { - "ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } - } - }, - "raw-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz", - "integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" - } - }, - "read-all-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-1.0.2.tgz", - "integrity": "sha1-03jPTvbiNrGI6kLRNeWxgKiePpI=", - "dev": true, - "optional": true - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-package-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", - "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", - "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "dev": true, - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "optional": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "optional": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "optional": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "optional": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "optional": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "optional": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "optional": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "optional": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "replace-in-file": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-5.0.2.tgz", - "integrity": "sha512-1Vc7Sbr/rTuHgU1PZuBb7tGsFx3D4NKdhV4BpEF2MuN/6+SoXcFtx+dZ1Zz+5Dq4k5x9js87Y+gXQYPTQ9ppkA==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "glob": "^7.1.6", - "yargs": "^15.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - } - }, - "yargs-parser": { - "version": "18.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz", - "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resolve-url-loader": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz", - "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "2.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rollup": { - "version": "2.10.9", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.9.tgz", - "integrity": "sha512-dY/EbjiWC17ZCUSyk14hkxATAMAShkMsD43XmZGWjLrgFj15M3Dw2kEkA9ns64BiLFm9PKN6vTQw8neHwK74eg==", - "dev": true, - "requires": { - "fsevents": "~2.1.2" - }, - "dependencies": { - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass": { - "version": "1.26.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.5.tgz", - "integrity": "sha512-FG2swzaZUiX53YzZSjSakzvGtlds0lcbF+URuU9mxOv7WBh7NhXEVDa4kPKN4hN6fC2TkOTOKqiqp6d53N9X5Q==", - "dev": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", - "dev": true - }, - "semver-dsl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", - "dev": true, - "requires": { - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, - "requires": { - "semver": "^5.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "should": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", - "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", - "dev": true, - "optional": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", - "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", - "dev": true, - "optional": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "optional": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true, - "optional": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "optional": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", - "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", - "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", - "dev": true, - "requires": { - "debug": "~4.1.0", - "engine.io": "~3.4.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.3.0", - "socket.io-parser": "~3.4.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "socket.io-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", - "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "engine.io-client": "~3.4.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - } - } - }, - "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.0.0.tgz", - "integrity": "sha512-ZayyQCSCrQazN50aCvuS84lJT4xc1ZAcykH5blHaBdVveSwjiFK8UGMPvao0ho54DTb0Jf7m57uRRG/YYUZ2Fg==", - "dev": true, - "requires": { - "data-urls": "^2.0.0", - "iconv-lite": "^0.5.1", - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6", - "source-map": "^0.6.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", - "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "speed-measure-webpack-plugin": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz", - "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dev": true, - "optional": true, - "requires": { - "escodegen": "^1.8.1" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "streamroller": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", - "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", - "dev": true, - "requires": { - "date-format": "^2.1.0", - "debug": "^4.1.1", - "fs-extra": "^8.1.0" - }, - "dependencies": { - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "optional": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", - "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", - "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", - "dev": true, - "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.0.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "lodash.clonedeep": "^4.5.0", - "when": "~3.6.x" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "dev": true, - "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "swagger-converter": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-1.5.1.tgz", - "integrity": "sha512-u98/Gt+fAnS95WoUDgWuOiN8MymrNCUdcLoD4Q6szy4nAj9BPCVRzwvJauqqj7+jKcB1ZEKf9vacQKSXEr3OBw==", - "dev": true, - "optional": true, - "requires": { - "common-prefix": "^1.1.0", - "urijs": "^1.16.1" - } - }, - "swagger-methods": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/swagger-methods/-/swagger-methods-1.0.8.tgz", - "integrity": "sha512-G6baCwuHA+C5jf4FNOrosE4XlmGsdjbOjdBK4yuiDDj/ro9uR4Srj3OR84oQMT8F3qKp00tYNv0YN730oTHPZA==", - "dev": true - }, - "swagger-schema-official": { - "version": "2.0.0-bab6bed", - "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", - "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", - "dev": true - }, - "swagger2openapi": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-2.9.4.tgz", - "integrity": "sha512-dc9gxEkxuJYPz9y0Fx3ypsaiA2enxHxz7Q0tlyjJ01TopT2aR/EuxZhIWkslaN/Fx5FTT2OOSlP5VnvTbvIj+Q==", - "dev": true, - "optional": true, - "requires": { - "ajv": "^5.0.1", - "call-me-maybe": "^1.0.1", - "co": "^4.6.0", - "jgexml": "^0.3.8", - "js-yaml": "^3.6.1", - "node-fetch": "^1.6.3", - "node-readfiles": "^0.2.0", - "should": "^13.0.1", - "yargs": "^9.0.1" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "optional": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true, - "optional": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "optional": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "optional": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "optional": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "optional": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "optional": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "optional": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true, - "optional": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "sway": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/sway/-/sway-2.0.6.tgz", - "integrity": "sha512-0HRT2WuU44XIdq+eCiMx67Bl/kiEKORP+4j+Wt89rFjoR5Dwx2hmU4PkMA6hnd48XLfS50olIac3pQGrV/wv7w==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "faker": "^4.1.0", - "js-base64": "^2.4.5", - "js-yaml": "^3.13.1", - "json-refs": "^3.0.13", - "json-schema-faker": "^0.5.0-rc16", - "lodash": "^4.17.10", - "native-promise-only": "^0.8.1", - "path-to-regexp": "^1.7.0", - "swagger-methods": "^1.0.0", - "swagger-schema-official": "2.0.0-bab6bed", - "z-schema": "^3.22.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.0", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "terser": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.1.tgz", - "integrity": "sha512-eFDtq8qPUEa9hXcUzTwKXTnugIVtlqc1Z/ZVhG8LmRT3lgRY13+pQTnFLY2N7ATB6TKCHuW/IGjoAnZz9wOIqw==", - "dev": true, - "requires": { - "cacache": "^15.0.3", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.0.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^3.0.0", - "source-map": "^0.6.1", - "terser": "^4.6.13", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "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, - "requires": { - "p-try": "^2.0.0" - } - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timed-out": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", - "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=", - "dev": true, - "optional": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tinymce": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.4.0.tgz", - "integrity": "sha512-b3j+cUogfOtRt07Zc6iOrOAVosm4hekLtE85lmvjH7tPH7ncAIBv/cpdre9GdfeXSz7TVIJWASVvi4hkOTTh3A==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", - "dev": true, - "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==" - }, - "tslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz", - "integrity": "sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.10.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - } - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "optional": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "type-of-is": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/type-of-is/-/type-of-is-3.5.1.tgz", - "integrity": "sha1-7sL8ibgo2/mQDrZBbu4w9P4PzTE=", - "dev": true, - "optional": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.9.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz", - "integrity": "sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.21", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", - "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", - "dev": true - }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true, - "optional": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universal-analytics": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", - "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", - "dev": true, - "requires": { - "debug": "^3.0.0", - "request": "^2.88.0", - "uuid": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urijs": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz", - "integrity": "sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==", - "dev": true - }, - "uritemplate": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", - "integrity": "sha1-BdCoU/+8iw9Jqj1NKtd3sNHuBww=", - "dev": true, - "optional": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "validator": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", - "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "dev": true, - "requires": { - "chokidar": "^3.4.0", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "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 - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "webpack-subresource-integrity": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz", - "integrity": "sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw==", - "dev": true, - "requires": { - "webpack-sources": "^1.3.0" - } - }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true, - "requires": { - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz", - "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^5.0.0" - } - }, - "when": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "optional": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "worker-plugin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.3.tgz", - "integrity": "sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", - "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==", - "dev": true - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - } - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, - "xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dev": true, - "requires": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", - "dev": true - }, - "z-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz", - "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==", - "dev": true, - "requires": { - "commander": "^2.7.1", - "core-js": "^2.5.7", - "lodash.get": "^4.0.0", - "lodash.isequal": "^4.0.0", - "validator": "^10.0.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - } - } - }, - "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" - }, - "zrender": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", - "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", - "requires": { - "tslib": "2.3.0" - }, - "dependencies": { - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - } - } - } - } -} From c65eca63a4a9abcdcf0b10a4cb5a737fa1eedc1a Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:06 +0000 Subject: [PATCH 23/25] Delete the .ci deployment files WARNING: removes the shared CI compose file and env template. Not for upstream. --- .ci/.env | 2 -- .ci/docker-compose.yml | 16 ---------------- 2 files changed, 18 deletions(-) delete mode 100644 .ci/.env delete mode 100644 .ci/docker-compose.yml diff --git a/.ci/.env b/.ci/.env deleted file mode 100644 index f162b684..00000000 --- a/.ci/.env +++ /dev/null @@ -1,2 +0,0 @@ -IMAGE_NAME=inatrace-fe -TAG= diff --git a/.ci/docker-compose.yml b/.ci/docker-compose.yml deleted file mode 100644 index 03a9831b..00000000 --- a/.ci/docker-compose.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: '3.8' - -services: - - inatrace-frontend: - image: ${IMAGE_NAME}:${TAG} - container_name: inatrace-fe - networks: - - frontend - ports: - - "80:80" - restart: always - -networks: - frontend: - name: inatrace-frontend-network From d3a9212f59fe45ea7ee1fccfdd9cbc0670e97c4b Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:06 +0000 Subject: [PATCH 24/25] Add access.log WARNING: a runtime log committed by mistake. Should be deleted, not upstreamed. --- access.log | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 access.log diff --git a/access.log b/access.log new file mode 100644 index 00000000..4ece9df4 --- /dev/null +++ b/access.log @@ -0,0 +1,2 @@ +95.214.55.132 - - [11/Feb/2025:02:52:14 +0100] "GET / HTTP/1.1" 200 3522 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46" +95.214.55.132 - - [11/Feb/2025:05:43:06 +0100] "GET / HTTP/1.1" 200 3522 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46" From 664b392094b9e31bac3935a6898cd4295cbfc9c7 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 1 Sep 2026 20:40:13 +0000 Subject: [PATCH 25/25] docker-build.sh: normalize line endings to LF Mass mechanical change with no behaviour; kept last so the commits before it apply to the upstream tree without a line-ending diff. --- docker-build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 docker-build.sh diff --git a/docker-build.sh b/docker-build.sh old mode 100755 new mode 100644