diff --git a/.github/workflows/build-test-on-pr.yml b/.github/workflows/build-test-on-pr.yml index b32debf6..215baa3a 100644 --- a/.github/workflows/build-test-on-pr.yml +++ b/.github/workflows/build-test-on-pr.yml @@ -23,9 +23,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: '20.x' - - uses: pnpm/action-setup@v3 - with: - version: 8.15.7 + - uses: pnpm/action-setup@v4 - run: pnpm install - run: pnpm build - name: run CI tests @@ -41,4 +39,13 @@ jobs: SPHEREON_SSI_MSAL_USERNAME: ${{ secrets.SPHEREON_SSI_MSAL_USERNAME }} SPHEREON_SSI_MSAL_PASSWORD: ${{ secrets.SPHEREON_SSI_MSAL_PASSWORD }} run: pnpm test:ci - - run: npx codecov + - name: codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos + name: codecove # optional + flags: unittest + fail_ci_if_error: true # optional (default = false) + #directory: ./coverage/reports/ + #files: ./coverage1.xml,./coverage2.xml + verbose: true # optional (default = false) diff --git a/.github/workflows/build-test-publish-on-push.yml b/.github/workflows/build-test-publish-on-push.yml index 44af5dab..1980d8e9 100644 --- a/.github/workflows/build-test-publish-on-push.yml +++ b/.github/workflows/build-test-publish-on-push.yml @@ -37,18 +37,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: '20.x' - - uses: pnpm/action-setup@v3 - with: - version: 8.15.7 -# - name: Get yarn cache directory path -# id: yarn-cache-dir-path -# run: echo "::set-output name=dir::$(yarn cache dir)" -# - uses: actions/cache@v2 -# id: yarn-cache -# with: -# path: ${{ steps.yarn-cache-dir-path.outputs.dir }} -# key: ${{ runner.os }}-yarn-2-${{ hashFiles('**/package.json') }} - + - uses: pnpm/action-setup@v4 - run: pnpm install - run: pnpm build - name: run integration tests @@ -81,18 +70,25 @@ jobs: - name: diff run: git diff + - name: Sets PREID + env: + name: "${{github.ref_name}}" + run: | + echo "PRE_ID=${name//[\/_-]/.}" >> $GITHUB_ENV + - name: publish @latest when on main if: github.ref == 'refs/heads/main' - run: pnpm publish:latest + run: lerna publish --conventional-commits --force-publish --include-merged-tags --sync-dist-version --create-release github --yes --dist-tag latest --registry https://registry.npmjs.org - name: publish @next when on develop if: github.ref == 'refs/heads/develop' - run: pnpm publish:next + run: lerna publish --conventional-prerelease --force-publish --canary --sync-dist-version --no-git-tag-version --include-merged-tags --preid next --pre-dist-tag next --yes --registry https://registry.npmjs.org", - - name: publish @next when on fix + - name: publish @next when on fix branch if: startsWith(github.ref, 'refs/heads/fix') - run: pnpm publish:next + run: lerna publish --conventional-prerelease --force-publish --canary --sync-dist-version --no-git-tag-version --include-merged-tags --preid fix --pre-dist-tag fix --yes --registry https://registry.npmjs.org", - name: publish @unstable when on unstable branch if: startsWith(github.ref, 'refs/heads/feat') - run: pnpm publish:unstable + run: lerna publish --conventional-prerelease --force-publish --canary --sync-dist-version --no-git-tag-version --include-merged-tags --preid $PRE_ID --pre-dist-tag unstable --yes --throttle-size 75 --registry https://registry.npmjs.org + diff --git a/package.json b/package.json index ee7e840d..2eb9c9b6 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,6 @@ "@types/debug": "^4.1.12", "@types/jest": "^29.5.12", "@types/node": "^18.19.39", - "codecov": "^3.8.3", "jest": "^29.7.0", "lerna": "^8.1.6", "lerna-changelog": "^2.2.0", @@ -67,3 +66,4 @@ "OID4VP" ] } + diff --git a/packages/callback-example/package.json b/packages/callback-example/package.json index f5dc6a29..9ddfd831 100644 --- a/packages/callback-example/package.json +++ b/packages/callback-example/package.json @@ -19,7 +19,7 @@ "@sphereon/oid4vci-client": "workspace:*", "@sphereon/oid4vci-common": "workspace:*", "@sphereon/oid4vci-issuer": "workspace:*", - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-types": "0.30.1", "jose": "^4.10.0" }, "devDependencies": { diff --git a/packages/client/lib/OpenID4VCIClientV1_0_13.ts b/packages/client/lib/OpenID4VCIClientV1_0_13.ts index 68525040..2c728f95 100644 --- a/packages/client/lib/OpenID4VCIClientV1_0_13.ts +++ b/packages/client/lib/OpenID4VCIClientV1_0_13.ts @@ -447,7 +447,7 @@ export class OpenID4VCIClientV1_0_13 { ); } const credentialsSupported = metadata.credential_configurations_supported; - if (!metadata.credential_configurations_supported || !credentialsSupported[credentialIdentifier]) { + if (!credentialsSupported || !credentialsSupported[credentialIdentifier]) { throw new Error(`Credential type ${credentialIdentifier} is not supported by issuer ${this.getIssuer()}`); } } else if (!types) { @@ -472,9 +472,19 @@ export class OpenID4VCIClientV1_0_13 { console.log(`Not all credential types ${JSON.stringify(credentialTypes)} are present in metadata for ${this.getIssuer()}`); // throw Error(`Not all credential types ${JSON.stringify(credentialTypes)} are supported by issuer ${this.getIssuer()}`); } - } else if (metadata.credential_configurations_supported && !Array.isArray(metadata.credential_configurations_supported)) { - const credentialsSupported = metadata.credential_configurations_supported; - if (types.some((type) => !metadata.credential_configurations_supported || !credentialsSupported[type])) { + } else if (metadata.credential_configurations_supported && typeof(metadata.credential_configurations_supported) === 'object') { + let typeSupported = false; + Object.values(metadata.credential_configurations_supported).forEach((supportedCredential) => { + const subTypes = getTypesFromCredentialSupported(supportedCredential); + if ( + subTypes.every((t, i) => types[i] === t) || + (types.length === 1 && (types[0] === supportedCredential.id || subTypes.includes(types[0]))) + ) { + typeSupported = true; + } + }) + + if (!typeSupported) { throw Error(`Not all credential types ${JSON.stringify(credentialTypes)} are supported by issuer ${this.getIssuer()}`); } } diff --git a/packages/client/lib/__tests__/SphereonE2E.spec.test.ts b/packages/client/lib/__tests__/SphereonE2E.spec.test.ts index 8566f8ea..cf2fb926 100644 --- a/packages/client/lib/__tests__/SphereonE2E.spec.test.ts +++ b/packages/client/lib/__tests__/SphereonE2E.spec.test.ts @@ -170,3 +170,4 @@ describe('ismapolis bug report #63, https://github.com/Sphereon-Opensource/OID4V console.log(JSON.stringify(credentialResponse.credential)); }); }); + diff --git a/packages/client/package.json b/packages/client/package.json index a1eb8902..f5dda2e7 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -17,7 +17,7 @@ "dependencies": { "@sphereon/oid4vc-common": "workspace:*", "@sphereon/oid4vci-common": "workspace:*", - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-types": "0.30.1", "cross-fetch": "^3.1.8", "debug": "^4.3.5" }, @@ -30,7 +30,6 @@ "@types/uuid": "^9.0.8", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "codecov": "^3.8.3", "dotenv": "^16.4.5", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/common/package.json b/packages/common/package.json index c197aa3e..b504c813 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -10,7 +10,7 @@ "build:clean": "tsc --build --clean && tsc --build" }, "dependencies": { - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-types": "0.30.1", "jwt-decode": "^4.0.0", "sha.js": "^2.4.11", "uint8arrays": "3.1.1", diff --git a/packages/did-auth-siop-adapter/lib/did/DidJWT.ts b/packages/did-auth-siop-adapter/lib/did/DidJWT.ts index 9a671d7a..2f2328e1 100644 --- a/packages/did-auth-siop-adapter/lib/did/DidJWT.ts +++ b/packages/did-auth-siop-adapter/lib/did/DidJWT.ts @@ -253,14 +253,14 @@ export function getSubDidFromPayload(payload: JWTPayload, header?: JWTHeader): s return did } } - return payload.sub + return payload.sub! } export function isIssSelfIssued(payload: JWTPayload): boolean { return ( - (payload.iss && payload.iss.includes(ResponseIss.SELF_ISSUED_V1)) || + (payload.iss && (payload.iss.includes(ResponseIss.SELF_ISSUED_V1)) || (payload.iss && payload.iss.includes(ResponseIss.SELF_ISSUED_V2)) || - payload.iss === payload.sub + payload.iss === payload.sub) ) } diff --git a/packages/issuer-rest/package.json b/packages/issuer-rest/package.json index b798c5e2..a617ef2c 100644 --- a/packages/issuer-rest/package.json +++ b/packages/issuer-rest/package.json @@ -14,8 +14,8 @@ "@sphereon/oid4vc-common": "workspace:*", "@sphereon/oid4vci-common": "workspace:*", "@sphereon/oid4vci-issuer": "workspace:*", - "@sphereon/ssi-express-support": "0.29.1-unstable.208", - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-express-support": "0.30.1", + "@sphereon/ssi-types": "0.30.1", "body-parser": "^1.20.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", diff --git a/packages/issuer/package.json b/packages/issuer/package.json index 3f704068..d5d87447 100644 --- a/packages/issuer/package.json +++ b/packages/issuer/package.json @@ -12,7 +12,7 @@ "dependencies": { "@sphereon/oid4vc-common": "workspace:*", "@sphereon/oid4vci-common": "workspace:*", - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-types": "0.30.1", "uuid": "^9.0.0" }, "peerDependencies": { diff --git a/packages/oid4vci-common/package.json b/packages/oid4vci-common/package.json index f3ec94c3..bbfd5963 100644 --- a/packages/oid4vci-common/package.json +++ b/packages/oid4vci-common/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@sphereon/oid4vc-common": "workspace:*", - "@sphereon/ssi-types": "0.29.1-unstable.208", + "@sphereon/ssi-types": "0.30.1", "cross-fetch": "^3.1.8", "debug": "^4.3.5", "jwt-decode": "^4.0.0", diff --git a/packages/siop-oid4vp/lib/__tests__/AuthenticationRequest.request.spec.ts b/packages/siop-oid4vp/lib/__tests__/AuthenticationRequest.request.spec.ts index da1092f3..3bf4d261 100644 --- a/packages/siop-oid4vp/lib/__tests__/AuthenticationRequest.request.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/AuthenticationRequest.request.spec.ts @@ -1,7 +1,6 @@ import { parse } from 'querystring' import { SigningAlgo } from '@sphereon/oid4vc-common' -import { IPresentationDefinition } from '@sphereon/pex' import { IProofType } from '@sphereon/ssi-types' import { @@ -13,7 +12,7 @@ import { SubjectIdentifierType, SubjectType, SupportedVersion, - URI, + URI } from '..' import SIOPErrors from '../types/Errors' @@ -24,8 +23,9 @@ import { VERIFIER_NAME_FOR_CLIENT, VERIFIER_NAME_FOR_CLIENT_NL, VERIFIERZ_PURPOSE_TO_VERIFY, - VERIFIERZ_PURPOSE_TO_VERIFY_NL, + VERIFIERZ_PURPOSE_TO_VERIFY_NL } from './data/mockedData' +import { IPresentationDefinition } from '@sphereon/pex' const EXAMPLE_REDIRECT_URL = 'https://acme.com/hello' const EXAMPLE_REFERENCE_URL = 'https://rp.acme.com/siop/jwts' @@ -152,7 +152,7 @@ describe('create Request Uri should', () => { expect(uriRequest.authorizationRequestPayload).toBeDefined() const uriDecoded = decodeURIComponent(uriRequest.encodedUri) - expect(uriDecoded).toContain(`openid://`) + expect(uriDecoded).toContain(`openid4vp://`) expect(uriDecoded).toContain(`response_type=${ResponseType.ID_TOKEN}`) expect(uriDecoded).toContain(`&redirect_uri=${opts.payload?.redirect_uri}`) expect(uriDecoded).toContain(`&scope=${Scope.OPENID}`) @@ -167,6 +167,13 @@ describe('create Request Uri should', () => { expect.assertions(4) const opts: CreateAuthorizationRequestOpts = { version: SupportedVersion.SIOPv2_ID1, + payload: { + client_id: WELL_KNOWN_OPENID_FEDERATION, + scope: 'test', + response_type: 'id_token', + request_object_signing_alg_values_supported: [SigningAlgo.ES256, SigningAlgo.EDDSA], + redirect_uri: EXAMPLE_REDIRECT_URL, + }, requestObject: { jwtIssuer: { method: 'did', didUrl: KID, alg: SigningAlgo.ES256 }, passBy: PassBy.REFERENCE, @@ -219,9 +226,16 @@ describe('create Request Uri should', () => { }) it('return an url with an embedded token value', async () => { - expect.assertions(3) + expect.assertions(4) const opts: CreateAuthorizationRequestOpts = { version: SupportedVersion.SIOPv2_ID1, + payload: { + client_id: WELL_KNOWN_OPENID_FEDERATION, + scope: 'test', + response_type: 'id_token', + request_object_signing_alg_values_supported: [SigningAlgo.ES256, SigningAlgo.EDDSA], + redirect_uri: EXAMPLE_REDIRECT_URL, + }, requestObject: { passBy: PassBy.VALUE, jwtIssuer: { @@ -268,10 +282,11 @@ describe('create Request Uri should', () => { const uriRequest = await URI.fromOpts(opts) const uriDecoded = decodeURIComponent(uriRequest.encodedUri) - expect(uriDecoded).toContain(`openid://?request=eyJhbGciOi`) + expect(uriDecoded).toContain(`request=eyJhbGciOi`) + expect(uriDecoded.startsWith(`openid4vp://?client_id=https://www.example.com/`)).toBeTruthy() const data = URI.parse(uriDecoded) - expect(data.scheme).toEqual('openid://') + expect(data.scheme).toEqual('openid4vp://') expect(data.authorizationRequestPayload.request).toContain(`eyJhbGciOi`) }) }) @@ -511,30 +526,13 @@ describe('create Request JWT should', () => { it('succeed when requesting with a valid PD', async () => { const opts: CreateAuthorizationRequestOpts = { version: SupportedVersion.SIOPv2_ID1, - /*payload: { + payload: { client_id: WELL_KNOWN_OPENID_FEDERATION, scope: 'test', response_type: 'id_token', + request_object_signing_alg_values_supported: [SigningAlgo.ES256, SigningAlgo.EDDSA], redirect_uri: EXAMPLE_REDIRECT_URL, - request_object_signing_alg_values_supported: [SigningAlgo.EDDSA, SigningAlgo.ES256], - claims: { - vp_token: { - presentation_definition: { - id: 'Insurance Plans', - input_descriptors: [ - { - id: 'Ontario Health Insurance Plan', - schema: [ - { - uri: 'https://did.itsourweb.org:3000/smartcredential/Ontario-Health-Insurance-Plan', - }, - ], - }, - ], - }, - }, - }, - },*/ + }, requestObject: { jwtIssuer: { method: 'did', didUrl: KID, alg: SigningAlgo.ES256K }, passBy: PassBy.REFERENCE, @@ -598,7 +596,8 @@ describe('create Request JWT should', () => { const uriRequest = await URI.fromOpts(opts) const uriDecoded = decodeURIComponent(uriRequest.encodedUri) - expect(uriDecoded).toEqual(`openid://?request_uri=https://rp.acme.com/siop/jwts`) + expect(uriDecoded.startsWith('openid4vp://?')).toBeTruthy() + expect(uriDecoded).toContain(`request_uri=https://rp.acme.com/siop/jwts`) expect((await (await uriRequest.toAuthorizationRequest())?.requestObject?.getPayload())?.claims.vp_token).toBeDefined() }) @@ -611,22 +610,6 @@ describe('create Request JWT should', () => { response_type: 'id_token', redirect_uri: EXAMPLE_REDIRECT_URL, request_object_signing_alg_values_supported: [SigningAlgo.EDDSA, SigningAlgo.ES256], - claims: { - vp_token: { - presentation_definition: { - input_descriptors: [ - { - id: 'Ontario Health Insurance Plan', - schema: [ - { - uri: 'https://did.itsourweb.org:3000/smartcredential/Ontario-Health-Insurance-Plan', - }, - ], - }, - ], - } as IPresentationDefinition, - }, - }, }, requestObject: { diff --git a/packages/siop-oid4vp/lib/__tests__/AuthenticationResponse.response.spec.ts b/packages/siop-oid4vp/lib/__tests__/AuthenticationResponse.response.spec.ts index fc330efd..779480d3 100644 --- a/packages/siop-oid4vp/lib/__tests__/AuthenticationResponse.response.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/AuthenticationResponse.response.spec.ts @@ -453,9 +453,9 @@ describe('create JWT from Request JWT should', () => { }), jwtIssuer: { method: 'did', didUrl: `${mockResEntity.did}#controller`, alg: SigningAlgo.ES256K }, presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, vpTokenLocation: VPTokenLocation.ID_TOKEN, - presentationSubmission: await createPresentationSubmission([verifiablePresentationResult.verifiablePresentation], { + presentationSubmission: await createPresentationSubmission(verifiablePresentationResult.verifiablePresentations, { presentationDefinitions: [definition], }), }, @@ -634,8 +634,8 @@ describe('create JWT from Request JWT should', () => { }), jwtIssuer: { method: 'did', didUrl: `${mockResEntity.did}#controller`, alg: SigningAlgo.ES256K }, presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], - presentationSubmission: await createPresentationSubmission([verifiablePresentationResult.verifiablePresentation], { + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, + presentationSubmission: await createPresentationSubmission(verifiablePresentationResult.verifiablePresentations, { presentationDefinitions: [definition], }), vpTokenLocation: VPTokenLocation.ID_TOKEN, diff --git a/packages/siop-oid4vp/lib/__tests__/IT.spec.ts b/packages/siop-oid4vp/lib/__tests__/IT.spec.ts index 731383b4..6d57dbf1 100644 --- a/packages/siop-oid4vp/lib/__tests__/IT.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/IT.spec.ts @@ -525,7 +525,7 @@ describe('RP and OP interaction should', () => { const verifiablePresentationResult = await pex.createVerifiablePresentation(pd[0].definition, getVCs(), presentationSignCallback, {}) const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, presentationSubmission: verifiablePresentationResult.presentationSubmission, /*credentialsAndDefinitions: [ @@ -663,7 +663,7 @@ describe('RP and OP interaction should', () => { const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, /*credentialsAndDefinitions: [ @@ -794,7 +794,7 @@ describe('RP and OP interaction should', () => { const verifiablePresentationResult = await pex.createVerifiablePresentation(pd[0].definition, getVCs(), presentationSignCallback, {}) const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, /*credentialsAndDefinitions: [ @@ -934,7 +934,7 @@ describe('RP and OP interaction should', () => { const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, /*credentialsAndDefinitions: [ @@ -1070,7 +1070,7 @@ describe('RP and OP interaction should', () => { const verifiablePresentationResult = await pex.createVerifiablePresentation(pd[0].definition, getVCs(), presentationSignCallback, {}) const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, /*credentialsAndDefinitions: [ @@ -1357,7 +1357,7 @@ describe('RP and OP interaction should', () => { const verifiablePresentationResult = await pex.createVerifiablePresentation(pd[0].definition, getVCs(), presentationSignCallback, {}) const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.ID_TOKEN, /*credentialsAndDefinitions: [ @@ -1480,7 +1480,7 @@ describe('RP and OP interaction should', () => { const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, vpTokenLocation: VPTokenLocation.ID_TOKEN, /*credentialsAndDefinitions: [ @@ -1831,3 +1831,4 @@ describe('RP and OP interaction should', () => { expect(resState?.status).toBe('error') }) }) + diff --git a/packages/siop-oid4vp/lib/__tests__/PresentationExchange.spec.ts b/packages/siop-oid4vp/lib/__tests__/PresentationExchange.spec.ts index c4f56be4..8e87471e 100644 --- a/packages/siop-oid4vp/lib/__tests__/PresentationExchange.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/PresentationExchange.spec.ts @@ -461,7 +461,7 @@ describe('presentation exchange manager tests', () => { const verifiablePresentationResult = await pex.createVerifiablePresentation(pd[0].definition, vcs, presentationSignCallback, {}) await PresentationExchange.validatePresentationsAgainstDefinitions( pd, - CredentialMapper.toWrappedVerifiablePresentation(verifiablePresentationResult.verifiablePresentation), + verifiablePresentationResult.verifiablePresentations.map(verifiablePresentation => CredentialMapper.toWrappedVerifiablePresentation(verifiablePresentation)), undefined, { presentationSubmission: verifiablePresentationResult.presentationSubmission, @@ -551,7 +551,7 @@ describe('presentation exchange manager tests', () => { await expect( PresentationExchange.validatePresentationsAgainstDefinitions( pd, - CredentialMapper.toWrappedVerifiablePresentation(verifiablePresentationResult.verifiablePresentation), + verifiablePresentationResult.verifiablePresentations.map(verifiablePresentation => CredentialMapper.toWrappedVerifiablePresentation(verifiablePresentation)), () => { throw new Error('Verification failed') }, diff --git a/packages/siop-oid4vp/lib/__tests__/RP.request.spec.ts b/packages/siop-oid4vp/lib/__tests__/RP.request.spec.ts index a3ff29c8..c98e84c1 100644 --- a/packages/siop-oid4vp/lib/__tests__/RP.request.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/RP.request.spec.ts @@ -27,6 +27,7 @@ import { const EXAMPLE_REDIRECT_URL = 'https://acme.com/hello' const EXAMPLE_REFERENCE_URL = 'https://rp.acme.com/siop/jwts' +const EXAMPLE_RESPONSE_REDIRECT_URL = 'https://acme.com/:correlation_id?state=:state' const HEX_KEY = 'f857544a9d1097e242ff0b287a7e6e90f19cf973efe2317f2a4678739664420f' const DID = 'did:ethr:0x0106a2e985b1E1De9B5ddb4aF6dC9e928F4e99D0' const KID = 'did:ethr:0x0106a2e985b1E1De9B5ddb4aF6dC9e928F4e99D0#keys-1' @@ -205,7 +206,7 @@ describe('RP should', () => { } const expectedUri = - 'openid://?client_id=https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation&scope=openid&response_type=id_token&response_mode=post&redirect_uri=https%3A%2F%2Facme.com%2Fhello&request_uri=https%3A%2F%2Frp.acme.com%2Fsiop%2Fjwts' + 'openid4vp://?client_id=https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation&scope=openid&response_type=id_token&response_mode=post&redirect_uri=https%3A%2F%2Facme.com%2Fhello&request_uri=https%3A%2F%2Frp.acme.com%2Fsiop%2Fjwts' const expectedJwtRegex = /^eyJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6ZXRocjoweDAxMDZhMmU5ODViMUUxRGU5QjVkZGI0YUY2ZEM5ZTkyOEY0ZTk5RDAja2V5cy0xIiwidHlwIjoiSldUIn0\.ey.*$/ @@ -252,17 +253,18 @@ describe('RP should', () => { } const expectedUri = - 'openid://?client_id=https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation&scope=test&response_type=id_token&redirect_uri=https%3A%2F%2Facme.com%2Fhello®istration=%7B%22id_token_signing_alg_values_supported%22%3A%5B%22EdDSA%22%5D%2C%22request_object_signing_alg_values_supported%22%3A%5B%22EdDSA%22%2C%22ES256%22%5D%2C%22response_types_supported%22%3A%5B%22id_token%22%5D%2C%22scopes_supported%22%3A%5B%22openid%20did_authn%22%2C%22openid%22%5D%2C%22subject_types_supported%22%3A%5B%22pairwise%22%5D%2C%22subject_syntax_types_supported%22%3A%5B%22did%3Aethr%22%5D%2C%22vp_formats%22%3A%7B%22jwt%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%2C%22jwt_vc%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%2C%22jwt_vp%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%7D%2C%22client_name%22%3A%22Client%20Verifier%20Relying%20Party%20Sphereon%20INC%202022-09-29%2001%22%2C%22logo_uri%22%3A%22https%3A%2F%2Fsphereon.com%2Fcontent%2Fthemes%2Fsphereon%2Fassets%2Ffavicons%2Fsafari-pinned-tab.svg%202022-09-29%2001%22%2C%22client_purpose%22%3A%22To%20request%2C%20receive%20and%20verify%20your%20credential%20about%20the%20the%20valid%20subject.%202022-09-29%2001%22%2C%22client_id%22%3A%22https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation%22%2C%22client_name%23nl-NL%22%3A%22%20***%20dutch%20***%20Client%20Verifier%20Relying%20Party%20Sphereon%20B.V.%202022-09-29%2001%22%2C%22client_purpose%23nl-NL%22%3A%22%20***%20Dutch%20***%20To%20request%2C%20receive%20and%20verify%20your%20credential%20about%20the%20the%20valid%20subject.%202022-09-29%2001%22%7D&request_uri=https%3A%2F%2Frp.acme.com%2Fsiop%2Fjwts' + 'openid4vp://?client_id=https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation&scope=test&response_type=id_token&redirect_uri=https%3A%2F%2Facme.com%2Fhello®istration=%7B%22id_token_signing_alg_values_supported%22%3A%5B%22EdDSA%22%5D%2C%22request_object_signing_alg_values_supported%22%3A%5B%22EdDSA%22%2C%22ES256%22%5D%2C%22response_types_supported%22%3A%5B%22id_token%22%5D%2C%22scopes_supported%22%3A%5B%22openid%20did_authn%22%2C%22openid%22%5D%2C%22subject_types_supported%22%3A%5B%22pairwise%22%5D%2C%22subject_syntax_types_supported%22%3A%5B%22did%3Aethr%22%5D%2C%22vp_formats%22%3A%7B%22jwt%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%2C%22jwt_vc%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%2C%22jwt_vp%22%3A%7B%22alg%22%3A%5B%22EdDSA%22%2C%22ES256K%22%2C%22ES256%22%5D%7D%7D%2C%22client_name%22%3A%22Client%20Verifier%20Relying%20Party%20Sphereon%20INC%202022-09-29%2001%22%2C%22logo_uri%22%3A%22https%3A%2F%2Fsphereon.com%2Fcontent%2Fthemes%2Fsphereon%2Fassets%2Ffavicons%2Fsafari-pinned-tab.svg%202022-09-29%2001%22%2C%22client_purpose%22%3A%22To%20request%2C%20receive%20and%20verify%20your%20credential%20about%20the%20the%20valid%20subject.%202022-09-29%2001%22%2C%22client_id%22%3A%22https%3A%2F%2Fwww.example.com%2F.well-known%2Fopenid-federation%22%2C%22client_name%23nl-NL%22%3A%22%20***%20dutch%20***%20Client%20Verifier%20Relying%20Party%20Sphereon%20B.V.%202022-09-29%2001%22%2C%22client_purpose%23nl-NL%22%3A%22%20***%20Dutch%20***%20To%20request%2C%20receive%20and%20verify%20your%20credential%20about%20the%20the%20valid%20subject.%202022-09-29%2001%22%7D&request_uri=https%3A%2F%2Frp.acme.com%2Fsiop%2Fjwts' const expectedJwtRegex = /^eyJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6ZXRocjoweDAxMDZhMmU5ODViMUUxRGU5QjVkZGI0YUY2ZEM5ZTkyOEY0ZTk5RDAja2V5cy0xIiwidHlwIjoiSldUIn0\.eyJpYXQiO.*$/ - const request = await RP.builder({ requestVersion: SupportedVersion.SIOPv2_ID1 }) + const rp = RP.builder({ requestVersion: SupportedVersion.SIOPv2_ID1 }) .withClientId(WELL_KNOWN_OPENID_FEDERATION, alltargets) .withScope('test', alltargets) .withResponseType(ResponseType.ID_TOKEN, alltargets) .withVerifyJwtCallback(getVerifyJwtCallback(getResolver('ethr'))) .withRedirectUri(EXAMPLE_REDIRECT_URL, alltargets) + .withResponseRedirectUri(EXAMPLE_RESPONSE_REDIRECT_URL) .withRequestBy(PassBy.REFERENCE, EXAMPLE_REFERENCE_URL) .withCreateJwtCallback(internalSignature(HEX_KEY, DID, KID, SigningAlgo.ES256K)) .withClientMetadata( @@ -296,8 +298,7 @@ describe('RP should', () => { ) .withSupportedVersions([SupportedVersion.SIOPv2_D11]) .build() - - .createAuthorizationRequestURI({ + const request = await rp.createAuthorizationRequestURI({ correlationId: '1234', state: 'b32f0087fc9816eb813fd11f', nonce: 'qBrR7mqnY3Qr49dAZycPF8FzgE83m6H0c2l0bzP4xSg', @@ -306,5 +307,8 @@ describe('RP should', () => { expect(request.authorizationRequestPayload).toMatchObject(expectedPayloadWithoutRequest) expect(request.encodedUri).toMatch(expectedUri) expect(request.requestObjectJwt).toMatch(expectedJwtRegex) + + const responseRedirectUri = rp.getResponseRedirectUri({correlation_id: '1234', state: 'b32f0087fc9816eb813fd11f'}) + expect(responseRedirectUri).toBe('https://acme.com/1234?state=b32f0087fc9816eb813fd11f') }) }) diff --git a/packages/siop-oid4vp/lib/__tests__/SdJwt.spec.ts b/packages/siop-oid4vp/lib/__tests__/SdJwt.spec.ts index 2912c742..0d8e39d9 100644 --- a/packages/siop-oid4vp/lib/__tests__/SdJwt.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/SdJwt.spec.ts @@ -191,7 +191,7 @@ describe('RP and OP interaction should', () => { }) const authenticationResponseWithJWT = await op.createAuthorizationResponse(verifiedAuthReqWithJWT, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, presentationSubmission: verifiablePresentationResult.presentationSubmission, }, @@ -310,7 +310,7 @@ describe('RP and OP interaction should', () => { didUrl: `${rpMockEntity.did}#controller`, }, presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, vpTokenLocation: VPTokenLocation.AUTHORIZATION_RESPONSE, presentationSubmission: verifiablePresentationResult.presentationSubmission, }, diff --git a/packages/siop-oid4vp/lib/__tests__/e2e/mattr.launchpad.spec.ts b/packages/siop-oid4vp/lib/__tests__/e2e/mattr.launchpad.spec.ts index a8f523a7..6f2a53bc 100644 --- a/packages/siop-oid4vp/lib/__tests__/e2e/mattr.launchpad.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/e2e/mattr.launchpad.spec.ts @@ -102,7 +102,7 @@ describe('OID4VCI-Client using Mattr issuer should', () => { const authResponse = await op.createAuthorizationResponse(verifiedAuthRequest, { issuer: didStr, presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, }, correlationId, @@ -164,7 +164,7 @@ describe('OID4VCI-Client using Mattr issuer should', () => { alg: SigningAlgo.EDDSA, }, presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: verifiablePresentationResult.presentationSubmission, }, createJwtCallback: getCreateJwtCallback({ diff --git a/packages/siop-oid4vp/lib/__tests__/functions/LanguageTagUtils.spec.ts b/packages/siop-oid4vp/lib/__tests__/functions/LanguageTagUtils.spec.ts index 79de7491..db2deb40 100644 --- a/packages/siop-oid4vp/lib/__tests__/functions/LanguageTagUtils.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/functions/LanguageTagUtils.spec.ts @@ -197,11 +197,6 @@ describe('Language tag util should', () => { expect(allLanguageTaggedProperties).toEqual(expectedTaggedFields) }) - it('throw error if source is null', async () => { - expect.assertions(1) - await expect(() => LanguageTagUtils.getAllLanguageTaggedProperties(null)).toThrowError() - }) - it('throw error if list is null', async () => { expect.assertions(1) // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/siop-oid4vp/lib/__tests__/spec-compliance/jwtVCPresentationProfile.spec.ts b/packages/siop-oid4vp/lib/__tests__/spec-compliance/jwtVCPresentationProfile.spec.ts index 8a5e2e95..c17f1bdc 100644 --- a/packages/siop-oid4vp/lib/__tests__/spec-compliance/jwtVCPresentationProfile.spec.ts +++ b/packages/siop-oid4vp/lib/__tests__/spec-compliance/jwtVCPresentationProfile.spec.ts @@ -172,7 +172,7 @@ describe('RP using test vectors', () => { ).toBeTruthy() }) - it('should decode auth response', async () => { + it('should decode auth response', async () => { const authorizationResponse = await AuthorizationResponse.fromPayload(TestVectors.authorizationResponsePayload) expect(authorizationResponse).toBeDefined() expect(authorizationResponse.payload).toEqual(TestVectors.authorizationResponsePayload) @@ -307,7 +307,7 @@ describe('OP using test vectors', () => { ) await op.createAuthorizationResponse(result, { presentationExchange: { - verifiablePresentations: [verifiablePresentationResult.verifiablePresentation], + verifiablePresentations: verifiablePresentationResult.verifiablePresentations, presentationSubmission: TestVectors.presentation_submission, vpTokenLocation: VPTokenLocation.ID_TOKEN, }, diff --git a/packages/siop-oid4vp/lib/authorization-request/AuthorizationRequest.ts b/packages/siop-oid4vp/lib/authorization-request/AuthorizationRequest.ts index eab6b4d1..13316a70 100644 --- a/packages/siop-oid4vp/lib/authorization-request/AuthorizationRequest.ts +++ b/packages/siop-oid4vp/lib/authorization-request/AuthorizationRequest.ts @@ -30,8 +30,8 @@ import { CreateAuthorizationRequestOpts, VerifyAuthorizationRequestOpts } from ' export class AuthorizationRequest { private readonly _requestObject?: RequestObject private readonly _payload: AuthorizationRequestPayload - private readonly _options: CreateAuthorizationRequestOpts - private _uri: URI + private readonly _options: CreateAuthorizationRequestOpts | undefined + private _uri: URI | undefined private constructor(payload: AuthorizationRequestPayload, requestObject?: RequestObject, opts?: CreateAuthorizationRequestOpts, uri?: URI) { this._options = opts @@ -66,6 +66,7 @@ export class AuthorizationRequest { const requestObjectArg = opts.requestObject.passBy !== PassBy.NONE ? (requestObject ? requestObject : await RequestObject.fromOpts(opts)) : undefined + // opts?.payload was removed before, but it's not clear atm why opts?.payload was removed const requestPayload = opts?.payload ? await createAuthorizationRequestPayload(opts, requestObjectArg) : undefined return new AuthorizationRequest(requestPayload, requestObjectArg, opts) } @@ -164,7 +165,10 @@ export class AuthorizationRequest { ) assertValidRPRegistrationMedataPayload(registrationMetadataPayload) // TODO: We need to do something with the metadata probably + } /*else { // this makes test mattr.launchpad.spec.ts fail why was this check added? + return Promise.reject(Error(`could not fetch registrationMetadataPayload due to missing payload key ${registrationPropertyKey}`)) } + */ // When the response_uri parameter is present, the redirect_uri Authorization Request parameter MUST NOT be present. If the redirect_uri Authorization Request parameter is present when the Response Mode is direct_post, the Wallet MUST return an invalid_request Authorization Response error. let responseURIType: ResponseURIType let responseURI: string @@ -183,10 +187,17 @@ export class AuthorizationRequest { throw new Error(`${SIOPErrors.INVALID_REQUEST}, redirect_uri or response_uri is needed`) } + // TODO see if this is too naive. The OpenID conformance test explicitly tests for this + // But the spec says: The client_id and client_id_scheme MUST be omitted in unsigned requests defined in Appendix A.3.1. + // So I would expect client_id_scheme and client_id to be undefined when the JWT header has alg: none + if(mergedPayload.client_id && mergedPayload.client_id_scheme === 'redirect_uri' && mergedPayload.client_id !== responseURI) { + throw Error(`${SIOPErrors.INVALID_REQUEST}, response_uri does not match the client_id provided by the verifier which is required for client_id_scheme redirect_uri`) + } + // TODO: we need to verify somewhere that if response_mode is direct_post, that the response_uri may be present, // BUT not both redirect_uri and response_uri. What is the best place to do this? - const presentationDefinitions = await PresentationExchange.findValidPresentationDefinitions(mergedPayload, await this.getSupportedVersion()) + const presentationDefinitions: PresentationDefinitionWithLocation[] = await PresentationExchange.findValidPresentationDefinitions(mergedPayload, await this.getSupportedVersion()) return { jwt, payload: parsedJwt?.payload, @@ -256,7 +267,11 @@ export class AuthorizationRequest { } public async mergedPayloads(): Promise { - return { ...this.payload, ...(this.requestObject && (await this.requestObject.getPayload())) } + const requestObjectPayload = { ...this.payload, ...(this.requestObject && (await this.requestObject.getPayload())) } + if (requestObjectPayload.scope && typeof requestObjectPayload.scope !== 'string') { // test mattr.launchpad.spec.ts does not supply a scope value + throw new Error('Invalid scope value') + } + return requestObjectPayload as RequestObjectPayload } public async getPresentationDefinitions(version?: SupportedVersion): Promise { diff --git a/packages/siop-oid4vp/lib/authorization-request/URI.ts b/packages/siop-oid4vp/lib/authorization-request/URI.ts index 53ee1157..7aa04815 100644 --- a/packages/siop-oid4vp/lib/authorization-request/URI.ts +++ b/packages/siop-oid4vp/lib/authorization-request/URI.ts @@ -126,6 +126,7 @@ export class URI implements AuthorizationRequestURI { ...authorizationRequest.options.requestObject, version: authorizationRequest.options.version, uriScheme: authorizationRequest.options.uriScheme, + }, authorizationRequest.payload, authorizationRequest.requestObject, @@ -189,13 +190,13 @@ export class URI implements AuthorizationRequestURI { if (opts.version === SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1) { scheme = 'openid-vc://' } else { - scheme = 'openid://' + scheme = 'openid4vp://' } } else { try { - scheme = (await authorizationRequest.getSupportedVersion()) === SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1 ? 'openid-vc://' : 'openid://' + scheme = (await authorizationRequest.getSupportedVersion()) === SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1 ? 'openid-vc://' : 'openid4vp://' } catch (error: unknown) { - scheme = 'openid://' + scheme = 'openid4vp://' } } diff --git a/packages/siop-oid4vp/lib/authorization-request/types.ts b/packages/siop-oid4vp/lib/authorization-request/types.ts index 4d49e9f5..64956db9 100644 --- a/packages/siop-oid4vp/lib/authorization-request/types.ts +++ b/packages/siop-oid4vp/lib/authorization-request/types.ts @@ -56,7 +56,6 @@ export interface RequestObjectPayloadOpts { interface AuthorizationRequestCommonOpts { // Yes, this includes common payload properties both at the payload level as well as in the requestObject.payload property. That is to support OAuth2 with or without a signed OpenID requestObject - version: SupportedVersion clientMetadata?: ClientMetadataOpts // this maps to 'registration' for older SIOPv2 specs! OPTIONAL. This parameter is used by the RP to provide information about itself to a Self-Issued OP that would normally be provided to an OP during Dynamic RP Registration, as specified in {#rp-registration-parameter}. payload?: AuthorizationRequestPayloadOpts diff --git a/packages/siop-oid4vp/lib/authorization-response/AuthorizationResponse.ts b/packages/siop-oid4vp/lib/authorization-response/AuthorizationResponse.ts index 090d9ecc..9904fd9d 100644 --- a/packages/siop-oid4vp/lib/authorization-response/AuthorizationResponse.ts +++ b/packages/siop-oid4vp/lib/authorization-response/AuthorizationResponse.ts @@ -1,19 +1,29 @@ -import { Hasher } from '@sphereon/ssi-types' +import { CredentialMapper, Hasher } from '@sphereon/ssi-types'; -import { AuthorizationRequest, VerifyAuthorizationRequestOpts } from '../authorization-request' -import { assertValidVerifyAuthorizationRequestOpts } from '../authorization-request/Opts' -import { IDToken } from '../id-token' -import { AuthorizationResponsePayload, ResponseType, SIOPErrors, VerifiedAuthorizationRequest, VerifiedAuthorizationResponse } from '../types' +import { AuthorizationRequest, VerifyAuthorizationRequestOpts } from '../authorization-request'; +import { assertValidVerifyAuthorizationRequestOpts } from '../authorization-request/Opts'; +import { IDToken } from '../id-token'; +import { + AuthorizationResponsePayload, + ResponseType, + SIOPErrors, + VerifiedAuthorizationRequest, + VerifiedAuthorizationResponse +} from '../types'; import { assertValidVerifiablePresentations, extractNonceFromWrappedVerifiablePresentation, extractPresentationsFromAuthorizationResponse, - verifyPresentations, -} from './OpenID4VP' -import { assertValidResponseOpts } from './Opts' -import { createResponsePayload } from './Payload' -import { AuthorizationResponseOpts, PresentationDefinitionWithLocation, VerifyAuthorizationResponseOpts } from './types' + verifyPresentations +} from './OpenID4VP'; +import { assertValidResponseOpts } from './Opts'; +import { createResponsePayload } from './Payload'; +import { + AuthorizationResponseOpts, + PresentationDefinitionWithLocation, + VerifyAuthorizationResponseOpts +} from './types'; export class AuthorizationResponse { private readonly _authorizationRequest?: AuthorizationRequest | undefined @@ -134,9 +144,9 @@ export class AuthorizationResponse { verificationCallback: verifyOpts.verification.presentationVerificationCallback, opts: { ...responseOpts.presentationExchange, - hasher: verifyOpts.hasher, - }, - }) + hasher: verifyOpts.hasher + } + }); } return response @@ -161,6 +171,9 @@ export class AuthorizationResponse { if (verifiedIdToken) allNonces.add(verifiedIdToken.payload.nonce) if (merged.nonce) allNonces.add(merged.nonce) + if (allNonces.size === 0) { + throw new Error('both id token and VPs in vp token if present must have a nonce, no nonces were found') + } const firstNonce = Array.from(allNonces)[0] if (allNonces.size !== 1 || typeof firstNonce !== 'string') { throw new Error('both id token and VPs in vp token if present must have a nonce, and all nonces must be the same') @@ -210,10 +223,19 @@ export class AuthorizationResponse { let nonce: string | undefined = this._payload.nonce if (this._payload?.vp_token) { const presentations = await extractPresentationsFromAuthorizationResponse(this, opts) + const presentationsArray = Array.isArray(presentations) ? presentations : [presentations] + // We do not verify them, as that is done elsewhere. So we simply can take the first nonce - if (!nonce) { - nonce = extractNonceFromWrappedVerifiablePresentation(Array.isArray(presentations) ? presentations[0] : presentations) + nonce = presentationsArray + // FIXME toWrappedVerifiablePresentation() does not extract the nonce yet from mdocs. + // Either it's not availble or we or not reading the SessionTranscript yet + .filter(presentation => !CredentialMapper.isWrappedMdocPresentation(presentation)) + .map(extractNonceFromWrappedVerifiablePresentation) + .find(nonce => nonce !== undefined); + + if(!nonce && !this._idToken && presentationsArray.some(presentation => CredentialMapper.isWrappedMdocPresentation(presentation))) { + nonce = 'mdoc' // FIXME toWrappedVerifiablePresentation() does not extract the nonce yet from mdocs. } } diff --git a/packages/siop-oid4vp/lib/authorization-response/OpenID4VP.ts b/packages/siop-oid4vp/lib/authorization-response/OpenID4VP.ts index fc5c6e22..09f15db6 100644 --- a/packages/siop-oid4vp/lib/authorization-response/OpenID4VP.ts +++ b/packages/siop-oid4vp/lib/authorization-response/OpenID4VP.ts @@ -32,7 +32,7 @@ import { VPTokenLocation, } from './types' -export function extractNonceFromWrappedVerifiablePresentation(wrappedVp: WrappedVerifiablePresentation): string | undefined { +export const extractNonceFromWrappedVerifiablePresentation = (wrappedVp: WrappedVerifiablePresentation): string | undefined => { // SD-JWT uses kb-jwt for the nonce if (CredentialMapper.isWrappedSdJwtVerifiablePresentation(wrappedVp)) { // SD-JWT uses kb-jwt for the nonce @@ -108,7 +108,12 @@ export const verifyPresentations = async ( } // Nonce may be undefined - const nonce = Array.from(nonces)[0] + let nonce = Array.from(nonces)[0] + if(presentationsArray.some(presentation => presentation.format === 'mso_mdoc')) { // FIXME Funke + verifyOpts.nonce = 'mdoc' + nonce = "mdoc" // TODO extract nonce from mdoc session + } + if (typeof nonce !== 'string') { throw new Error('Expected all presentations to contain a nonce value') } @@ -155,7 +160,7 @@ export const createPresentationSubmission = async ( if (typeof submission === 'string') { submission = JSON.parse(submission) } - if (!submission && opts?.presentationDefinitions) { + if (!submission && opts?.presentationDefinitions && !CredentialMapper.isWrappedMdocPresentation(wrappedPresentation)) { console.log(`No submission_data in VPs and not provided. Will try to deduce, but it is better to create the submission data beforehand`) for (const definitionOpt of opts.presentationDefinitions) { const definition = 'definition' in definitionOpt ? definitionOpt.definition : definitionOpt @@ -278,21 +283,25 @@ export const assertValidVerifiablePresentations = async (args: { hasher?: Hasher } }) => { + const presentationsArray = Array.isArray(args.presentations) ? args.presentations : [args.presentations] + const nrOfMdocsPresentations = presentationsArray.filter(presentation => presentation.format === 'mso_mdoc').length + const presentationsWithFormat = presentationsArray.filter(presentation => presentation.format !== 'mso_mdoc') if ( (!args.presentationDefinitions || args.presentationDefinitions.filter((a) => a.definition).length === 0) && - (!args.presentations || (Array.isArray(args.presentations) && args.presentations.filter((vp) => vp.presentation).length === 0)) + (!presentationsWithFormat || (Array.isArray(presentationsWithFormat) && presentationsWithFormat.filter((vp) => vp.presentation).length === 0)) ) { return } PresentationExchange.assertValidPresentationDefinitionWithLocations(args.presentationDefinitions) - const presentationsWithFormat = args.presentations if ( args.presentationDefinitions && args.presentationDefinitions.length && (!presentationsWithFormat || (Array.isArray(presentationsWithFormat) && presentationsWithFormat.length === 0)) ) { - throw new Error(SIOPErrors.AUTH_REQUEST_EXPECTS_VP) + if(nrOfMdocsPresentations === 0) { // We don't want to crash when processing mdoc credentials + throw new Error(SIOPErrors.AUTH_REQUEST_EXPECTS_VP) + } } else if ( (!args.presentationDefinitions || args.presentationDefinitions.length === 0) && presentationsWithFormat && diff --git a/packages/siop-oid4vp/lib/authorization-response/PresentationExchange.ts b/packages/siop-oid4vp/lib/authorization-response/PresentationExchange.ts index f68fa647..882dade5 100644 --- a/packages/siop-oid4vp/lib/authorization-response/PresentationExchange.ts +++ b/packages/siop-oid4vp/lib/authorization-response/PresentationExchange.ts @@ -8,28 +8,34 @@ import { Validated, VerifiablePresentationFromOpts, VerifiablePresentationResult, -} from '@sphereon/pex' -import { PresentationEvaluationResults } from '@sphereon/pex/dist/main/lib/evaluation' -import { Format, PresentationDefinitionV1, PresentationDefinitionV2, PresentationSubmission } from '@sphereon/pex-models' +} from '@sphereon/pex'; +import { PresentationEvaluationResults } from '@sphereon/pex/dist/main/lib/evaluation'; +import { + Format, + PresentationDefinitionV1, + PresentationDefinitionV2, + PresentationSubmission +} from '@sphereon/pex-models'; import { CredentialMapper, Hasher, IProofPurpose, IProofType, OriginalVerifiableCredential, + OriginalVerifiablePresentation, W3CVerifiablePresentation, - WrappedVerifiablePresentation, -} from '@sphereon/ssi-types' + WrappedVerifiablePresentation +} from '@sphereon/ssi-types'; -import { extractDataFromPath, getWithUrl } from '../helpers' -import { AuthorizationRequestPayload, SIOPErrors, SupportedVersion } from '../types' +import { extractDataFromPath, getWithUrl } from '../helpers'; +import { AuthorizationRequestPayload, SIOPErrors, SupportedVersion } from '../types'; import { PresentationDefinitionLocation, PresentationDefinitionWithLocation, PresentationSignCallback, - PresentationVerificationCallback, -} from './types' + PresentationVerificationCallback +} from './types'; export class PresentationExchange { readonly pex: PEX @@ -76,8 +82,14 @@ export class PresentationExchange { keyEncoding: options?.signatureOptions?.keyEncoding ?? KeyEncoding.Hex, }, } + + // When there are MDoc credentials among the selected ones, filter those out as pex does not support mdoc credentials + const filteredCredentials = this.removeMDocCredentials(selectedCredentials) + return await this.pex.verifiablePresentationFrom(presentationDefinition, filteredCredentials, presentationSignCallback, signOptions) + } - return await this.pex.verifiablePresentationFrom(presentationDefinition, selectedCredentials, presentationSignCallback, signOptions) + private removeMDocCredentials(selectedCredentials: OriginalVerifiableCredential[]) { + return selectedCredentials.filter(vc => !CredentialMapper.isMsoMdocDecodedCredential(vc) && !CredentialMapper.isMsoMdocDecodedCredential(vc)); } /** @@ -104,7 +116,10 @@ export class PresentationExchange { } else if (!this.allVerifiableCredentials || this.allVerifiableCredentials.length == 0) { throw new Error(`${SIOPErrors.COULD_NOT_FIND_VCS_MATCHING_PD}, no VCs were provided`) } - const selectResults: SelectResults = this.pex.selectFrom(presentationDefinition, this.allVerifiableCredentials, { + // When there are MDoc credentials among the selected ones, filter those out as pex does not support mdoc credentials + const filteredCredentials = this.removeMDocCredentials(this.allVerifiableCredentials) + const selectResults: SelectResults = this.pex.selectFrom(presentationDefinition, filteredCredentials, { + ...opts, holderDIDs: opts?.holderDIDs ?? this.allDIDs, // fixme limited disclosure @@ -116,6 +131,53 @@ export class PresentationExchange { return selectResults } + /** + * validatePresentationAgainstDefinition function is called mainly by the RP + * after receiving the VP from the OP + * @param presentationDefinition object containing PD + * @param verifiablePresentation + * @param opts + */ + public static async validatePresentationAgainstDefinition( + presentationDefinition: IPresentationDefinition, + verifiablePresentation: OriginalVerifiablePresentation | WrappedVerifiablePresentation, + opts?: { + limitDisclosureSignatureSuites?: string[] + restrictToFormats?: Format + restrictToDIDMethods?: string[] + presentationSubmission?: PresentationSubmission + hasher?: Hasher + }, + ): Promise { + const wvp: WrappedVerifiablePresentation = + typeof verifiablePresentation === 'object' && 'original' in verifiablePresentation + ? (verifiablePresentation as WrappedVerifiablePresentation) + : CredentialMapper.toWrappedVerifiablePresentation(verifiablePresentation as OriginalVerifiablePresentation) + if (!presentationDefinition) { + throw new Error(SIOPErrors.REQUEST_CLAIMS_PRESENTATION_DEFINITION_NOT_VALID) + } else if ( + !wvp || + !wvp.presentation || + (CredentialMapper.isWrappedW3CVerifiablePresentation(wvp) && + (!wvp.presentation.verifiableCredential || wvp.presentation.verifiableCredential.length === 0)) + ) { + throw new Error(SIOPErrors.NO_VERIFIABLE_PRESENTATION_NO_CREDENTIALS) + } + if (CredentialMapper.isWrappedMdocPresentation(wvp)) { + throw new Error('MDoc credentials are not supported by PEX') // TODO to SIOPErrors? + } + // console.log(`Presentation (validate): ${JSON.stringify(verifiablePresentation)}`); + const evaluationResults: PresentationEvaluationResults = new PEX({ hasher: opts?.hasher }).evaluatePresentation( + presentationDefinition, + wvp.original, + opts, + ) + if (evaluationResults.errors?.length) { + throw new Error(`message: ${SIOPErrors.COULD_NOT_FIND_VCS_MATCHING_PD}, details: ${JSON.stringify(evaluationResults.errors)}`) + } + return evaluationResults + } + public static assertValidPresentationSubmission(presentationSubmission: PresentationSubmission) { const validationResult: Validated = PEX.validateSubmission(presentationSubmission) if ( @@ -279,7 +341,7 @@ export class PresentationExchange { static async validatePresentationsAgainstDefinition( definition: IPresentationDefinition, vpPayloads: Array | WrappedVerifiablePresentation, - verifyPresentationCallback?: PresentationVerificationCallback | undefined, + verifyPresentationCallback?: PresentationVerificationCallback, opts?: { limitDisclosureSignatureSuites?: string[] restrictToFormats?: Format @@ -295,16 +357,19 @@ export class PresentationExchange { if (opts?.presentationSubmission) { evaluationResults = pex.evaluatePresentation( definition, - Array.isArray(vpPayloads) ? vpPayloads.map((wvp) => wvp.original) : vpPayloads.original, + vpPayloadsArray.map((wvp) => wvp.original), { ...opts, - // We always have external presentation submissions here. Some older versions of OID4VP allow for submission in presentation, - // but in that case the submission will not be provided presentationSubmissionLocation: PresentationSubmissionLocation.EXTERNAL, }, ) } else { for (const wvp of vpPayloadsArray) { + // Check for MDoc presentations + if (CredentialMapper.isWrappedMdocPresentation(wvp)) { + throw new Error(SIOPErrors.MDOC_CREDENTIALS_NOT_SUPPORTED) + } + if (CredentialMapper.isWrappedW3CVerifiablePresentation(wvp) && wvp.presentation.presentation_submission) { const presentationSubmission = wvp.presentation.presentation_submission evaluationResults = pex.evaluatePresentation(definition, wvp.original, { @@ -324,7 +389,7 @@ export class PresentationExchange { throw new Error(SIOPErrors.NO_PRESENTATION_SUBMISSION) } - if (evaluationResults.areRequiredCredentialsPresent === Status.ERROR || evaluationResults.errors?.length || !evaluationResults.value) { + if (evaluationResults.areRequiredCredentialsPresent === Status.ERROR || (evaluationResults.errors && evaluationResults.errors.length > 0) || !evaluationResults.value) { throw new Error(`message: ${SIOPErrors.COULD_NOT_FIND_VCS_MATCHING_PD}, details: ${JSON.stringify(evaluationResults.errors)}`) } @@ -334,7 +399,7 @@ export class PresentationExchange { ) } - const presentationsToVerify = Array.isArray(evaluationResults.presentation) ? evaluationResults.presentation : [evaluationResults.presentation] + const presentationsToVerify = evaluationResults.presentations // The verifyPresentationCallback function is mandatory for RP only, // So the behavior here is to bypass it if not present if (verifyPresentationCallback && evaluationResults.value !== undefined) { @@ -345,7 +410,8 @@ export class PresentationExchange { const verificationResult = await verifyPresentationCallback(presentation as W3CVerifiablePresentation, evaluationResults.value!) if (!verificationResult.verified) { throw new Error( - SIOPErrors.VERIFIABLE_PRESENTATION_SIGNATURE_NOT_VALID + verificationResult.reason ? `. ${verificationResult.reason}` : '', + SIOPErrors.VERIFIABLE_PRESENTATION_SIGNATURE_NOT_VALID + + (verificationResult.reason ? `. ${verificationResult.reason}` : ''), ) } } catch (error: unknown) { diff --git a/packages/siop-oid4vp/lib/helpers/extract-jwks.ts b/packages/siop-oid4vp/lib/helpers/ExtractJwks.ts similarity index 95% rename from packages/siop-oid4vp/lib/helpers/extract-jwks.ts rename to packages/siop-oid4vp/lib/helpers/ExtractJwks.ts index f48a6a00..3ad5a2c0 100644 --- a/packages/siop-oid4vp/lib/helpers/extract-jwks.ts +++ b/packages/siop-oid4vp/lib/helpers/ExtractJwks.ts @@ -28,9 +28,9 @@ export async function fetchJwks(jwksUri: string): Promise { * If a jwks field is provided, the JWKS will be extracted from the field. * If a jwks_uri is provided, the JWKS will be fetched from the URI. * - * @param input - The metadata input to be validated and parsed. * @returns A promise that resolves to the extracted JWKS or undefined. * @throws {JoseJwksExtractionError} If the metadata format is invalid or no decryption key is found. + * @param metadata */ export const extractJwksFromJwksMetadata = async (metadata: JwksMetadataParams) => { let jwks: Jwks | undefined = metadata.jwks?.keys[0] ? metadata.jwks : undefined diff --git a/packages/siop-oid4vp/lib/helpers/LanguageTagUtils.ts b/packages/siop-oid4vp/lib/helpers/LanguageTagUtils.ts index 50039c8c..b8fd0dd7 100644 --- a/packages/siop-oid4vp/lib/helpers/LanguageTagUtils.ts +++ b/packages/siop-oid4vp/lib/helpers/LanguageTagUtils.ts @@ -26,36 +26,39 @@ export class LanguageTagUtils { static getLanguageTaggedProperties(source: object, requiredFieldNames: Array): Map { const languageTagEnabledFieldsNamesMapping: Map = new Map() requiredFieldNames.forEach((value) => languageTagEnabledFieldsNamesMapping.set(value, value)) - return this.getLanguageTaggedPropertiesMapped(source, languageTagEnabledFieldsNamesMapping) + const languageTaggedPropertiesMapped = this.getLanguageTaggedPropertiesMapped(source, languageTagEnabledFieldsNamesMapping); + return languageTaggedPropertiesMapped } - /** + + /** * It will give back a fields which are language tag enabled and are mapped in the required fields. * * @param source is the object from which the language enabled fields and their values will be extracted. - * @param requiredFieldNamesMapping the fields which are supposed to be language enabled. These are the only fields which should be returned. And + * @param enabledFieldNamesMapping the fields which are supposed to be language enabled. These are the only fields which should be returned. And * the fields names will be transformed as per the mapping provided. */ - static getLanguageTaggedPropertiesMapped(source: object, requiredFieldNamesMapping: Map): Map { - this.assertSourceIsWorthChecking(source) - this.assertValidTargetFieldNames(requiredFieldNamesMapping) + static getLanguageTaggedPropertiesMapped(source: object, enabledFieldNamesMapping: Map): Map { + // this.assertSourceIsWorthChecking(source) + this.assertValidTargetFieldNames(enabledFieldNamesMapping) const discoveredLanguageTaggedFields: Map = new Map() - - Object.entries(source).forEach(([key, value]) => { - const languageTagSeparatorIndexInKey: number = key.indexOf(this.LANGUAGE_TAG_SEPARATOR) - - if (this.isFieldLanguageTagged(languageTagSeparatorIndexInKey)) { - this.extractLanguageTaggedField( - key, - value as string, - languageTagSeparatorIndexInKey, - requiredFieldNamesMapping, - discoveredLanguageTaggedFields, - ) + if(source !== null && source !== undefined) { + + Object.entries(source).forEach(([key, value]) => { + const languageTagSeparatorIndexInKey: number = key.indexOf(this.LANGUAGE_TAG_SEPARATOR) + + if (this.isFieldLanguageTagged(languageTagSeparatorIndexInKey)) { + this.extractLanguageTaggedField( + key, + value as string, + languageTagSeparatorIndexInKey, + enabledFieldNamesMapping, + discoveredLanguageTaggedFields, + ) + } + }) } - }) - return discoveredLanguageTaggedFields } @@ -103,20 +106,24 @@ export class LanguageTagUtils { } private static assertValidTargetFieldNames(languageTagEnabledFieldsNamesMapping: Map): void { - if (languageTagEnabledFieldsNamesMapping && languageTagEnabledFieldsNamesMapping.size) { - for (const entry of languageTagEnabledFieldsNamesMapping.entries()) { - const key = entry[0] - const value = entry[1] - if (isStringNullOrEmpty(key) || isStringNullOrEmpty(value)) { - throw new Error(SIOPErrors.BAD_PARAMS + '. languageTagEnabledFieldsName must be non-null or non-empty') + if (languageTagEnabledFieldsNamesMapping) { + if (languageTagEnabledFieldsNamesMapping.size) { + for (const entry of languageTagEnabledFieldsNamesMapping.entries()) { + const key = entry[0]; + const value = entry[1]; + if (isStringNullOrEmpty(key) || isStringNullOrEmpty(value)) { + throw new Error(SIOPErrors.BAD_PARAMS + '. languageTagEnabledFieldsName must be non-null or non-empty'); + } } - } + }/* else { this would fail test "return no lingually tagged fields if there are no lingually tagged fields in the source object" + throw new Error(SIOPErrors.BAD_PARAMS + ' LanguageTagEnabledFieldsNamesMapping must be non-null or non-empty'); + }*/ } } - private static assertSourceIsWorthChecking(source: unknown): void { + /* private static assertSourceIsWorthChecking(source: unknown): void { if (!source) { throw new Error(SIOPErrors.BAD_PARAMS + ' Source must be non-null i.e. not-initialized.') } - } + }*/ } diff --git a/packages/siop-oid4vp/lib/helpers/Metadata.ts b/packages/siop-oid4vp/lib/helpers/Metadata.ts index b8d12a21..5320c2bf 100644 --- a/packages/siop-oid4vp/lib/helpers/Metadata.ts +++ b/packages/siop-oid4vp/lib/helpers/Metadata.ts @@ -87,6 +87,17 @@ function supportedSubjectSyntaxTypes(rpMethods: string[] | string, opMethods: st return supportedSubjectSyntaxTypes } +function collectAlgValues(algTableObject: any): string[] { + const algValues: string[] = []; + for (const key of Object.keys(algTableObject)) { + algValues.push(...algTableObject[key]); + } + + return algValues; +} + +const isJwtFormat = (crFormat: string) => crFormat.includes('jwt') || crFormat.includes('mdoc'); + function getFormatIntersection(rpFormat: Format, opFormat: Format): Format { const intersectionFormat: Record = {} const supportedCredentials = getIntersection(Object.keys(rpFormat), Object.keys(opFormat)) @@ -94,19 +105,23 @@ function getFormatIntersection(rpFormat: Format, opFormat: Format): Format { throw new Error(SIOPErrors.CREDENTIAL_FORMATS_NOT_SUPPORTED) } supportedCredentials.forEach(function (crFormat: string) { - const rpAlgs = [] - const opAlgs = [] - Object.keys(rpFormat[crFormat]).forEach((k) => rpAlgs.push(...rpFormat[crFormat][k])) - Object.keys(opFormat[crFormat]).forEach((k) => opAlgs.push(...opFormat[crFormat][k])) - let methodKeyRP = undefined - let methodKeyOP = undefined - Object.keys(rpFormat[crFormat]).forEach((k) => (methodKeyRP = k)) - Object.keys(opFormat[crFormat]).forEach((k) => (methodKeyOP = k)) + const rpFormatElement = rpFormat[crFormat as keyof Format]; + const opFormatElement = opFormat[crFormat as keyof Format]; + const rpAlgs = collectAlgValues(rpFormatElement); + const opAlgs = collectAlgValues(opFormatElement); + let methodKeyRP = undefined; + let methodKeyOP = undefined; + if (rpFormatElement !== undefined) { + Object.keys(rpFormatElement).forEach((k) => (methodKeyRP = k)); + } + if (opFormatElement !== undefined) { + Object.keys(opFormatElement).forEach((k) => (methodKeyOP = k)); + } if (methodKeyRP !== methodKeyOP) { throw new Error(SIOPErrors.CREDENTIAL_FORMATS_NOT_SUPPORTED) } const algs = getIntersection(rpAlgs, opAlgs) - if (!algs.length) { + if (!algs.length && isJwtFormat(crFormat)) { throw new Error(SIOPErrors.CREDENTIAL_FORMATS_NOT_SUPPORTED) } intersectionFormat[crFormat] = {} diff --git a/packages/siop-oid4vp/lib/helpers/Revocation.ts b/packages/siop-oid4vp/lib/helpers/Revocation.ts index 931a5794..2a4eb283 100644 --- a/packages/siop-oid4vp/lib/helpers/Revocation.ts +++ b/packages/siop-oid4vp/lib/helpers/Revocation.ts @@ -1,6 +1,13 @@ -import { CredentialMapper, W3CVerifiableCredential, WrappedVerifiableCredential, WrappedVerifiablePresentation } from '@sphereon/ssi-types' +import { + CredentialMapper, isWrappedSdJwtVerifiablePresentation, + isWrappedW3CVerifiablePresentation, + W3CVerifiableCredential, + WrappedVerifiableCredential, + WrappedVerifiablePresentation +} from '@sphereon/ssi-types'; import { RevocationStatus, RevocationVerification, RevocationVerificationCallback, VerifiableCredentialTypeFormat } from '../types' +import { LOG } from '../types'; export const verifyRevocation = async ( vpToken: WrappedVerifiablePresentation, @@ -10,10 +17,14 @@ export const verifyRevocation = async ( if (!vpToken) { throw new Error(`VP token not provided`) } + if (!(isWrappedW3CVerifiablePresentation(vpToken) || isWrappedSdJwtVerifiablePresentation(vpToken))) { + LOG.debug('verifyRevocation does not support non-w3c presentations at the moment') + return + } if (!revocationVerificationCallback) { throw new Error(`Revocation callback not provided`) } - + const vcs = CredentialMapper.isWrappedSdJwtVerifiablePresentation(vpToken) || CredentialMapper.isWrappedMdocPresentation(vpToken) ? [vpToken.vcs[0]] @@ -25,7 +36,7 @@ export const verifyRevocation = async ( ) { const result = await revocationVerificationCallback( vc.original as W3CVerifiableCredential, - originalTypeToVerifiableCredentialTypeFormat(vc.format), + originalTypeToVerifiableCredentialTypeFormat(vc.format) ) if (result.status === RevocationStatus.INVALID) { throw new Error(`Revocation invalid for vc. Error: ${result.error}`) diff --git a/packages/siop-oid4vp/lib/helpers/index.ts b/packages/siop-oid4vp/lib/helpers/index.ts index 8ee31a95..396b5bf8 100644 --- a/packages/siop-oid4vp/lib/helpers/index.ts +++ b/packages/siop-oid4vp/lib/helpers/index.ts @@ -4,4 +4,5 @@ export * from './HttpUtils' export * from './ObjectUtils' export * from './Revocation' export * from './State' +export * from './ExtractJwks' export * from './LanguageTagUtils' diff --git a/packages/siop-oid4vp/lib/op/OP.ts b/packages/siop-oid4vp/lib/op/OP.ts index 6989b1a6..7fee9a0a 100644 --- a/packages/siop-oid4vp/lib/op/OP.ts +++ b/packages/siop-oid4vp/lib/op/OP.ts @@ -1,11 +1,11 @@ -import { EventEmitter } from 'events' +import { EventEmitter } from 'events'; import { jarmAuthResponseSend, JarmClientMetadata, jarmMetadataValidate, JarmServerMetadata } from '@sphereon/jarm' -import { JwtIssuer, uuidv4 } from '@sphereon/oid4vc-common' -import { IIssuerId } from '@sphereon/ssi-types' +import { JwtIssuer, uuidv4 } from '@sphereon/oid4vc-common'; +import { IIssuerId } from '@sphereon/ssi-types'; -import { AuthorizationRequest, URI, VerifyAuthorizationRequestOpts } from '../authorization-request' -import { mergeVerificationOpts } from '../authorization-request/Opts' +import { AuthorizationRequest, URI, VerifyAuthorizationRequestOpts } from '../authorization-request'; +import { mergeVerificationOpts } from '../authorization-request/Opts'; import { AuthorizationResponse, AuthorizationResponseOpts, @@ -13,8 +13,8 @@ import { PresentationExchangeResponseOpts, } from '../authorization-response' import { encodeJsonAsURI, post } from '../helpers' +import { extractJwksFromJwksMetadata, JwksMetadataParams } from '../helpers/ExtractJwks' import { authorizationRequestVersionDiscovery } from '../helpers/SIOPSpecVersion' -import { extractJwksFromJwksMetadata, JwksMetadataParams } from '../helpers/extract-jwks' import { AuthorizationEvent, AuthorizationEvents, @@ -26,15 +26,14 @@ import { ResponseIss, ResponseMode, SIOPErrors, - SIOPResonse, SupportedVersion, UrlEncodingFormat, Verification, - VerifiedAuthorizationRequest, -} from '../types' + VerifiedAuthorizationRequest +} from '../types'; -import { OPBuilder } from './OPBuilder' -import { createResponseOptsFromBuilderOrExistingOpts, createVerifyRequestOptsFromBuilderOrExistingOpts } from './Opts' +import { OPBuilder } from './OPBuilder'; +import { createResponseOptsFromBuilderOrExistingOpts, createVerifyRequestOptsFromBuilderOrExistingOpts } from './Opts'; // The OP publishes the formats it supports using the vp_formats_supported metadata parameter as defined above in its "openid-configuration". export class OP { @@ -61,37 +60,40 @@ export class OP { requestOpts?: { correlationId?: string; verification?: Verification }, ): Promise { const correlationId = requestOpts?.correlationId || uuidv4() - const authorizationRequest = await AuthorizationRequest.fromUriOrJwt(requestJwtOrUri) - .then((result: AuthorizationRequest) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_RECEIVED_SUCCESS, { correlationId, subject: result }) - return result - }) - .catch((error: Error) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_RECEIVED_FAILED, { + + let authorizationRequest: AuthorizationRequest + try { + authorizationRequest = await AuthorizationRequest.fromUriOrJwt(requestJwtOrUri) + await this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_RECEIVED_SUCCESS, { correlationId, subject: authorizationRequest }) + } catch (error) { + if (error instanceof Error) { + await this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_RECEIVED_FAILED, { correlationId, subject: requestJwtOrUri, error, }) - throw error - }) + } + throw error + } - return authorizationRequest - .verify(this.newVerifyAuthorizationRequestOpts({ ...requestOpts, correlationId })) - .then((verifiedAuthorizationRequest: VerifiedAuthorizationRequest) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_VERIFIED_SUCCESS, { - correlationId, - subject: verifiedAuthorizationRequest.authorizationRequest, - }) - return verifiedAuthorizationRequest + try { + const verifiedAuthorizationRequest = await authorizationRequest.verify( + this.newVerifyAuthorizationRequestOpts({ ...requestOpts, correlationId }) + ) + + await this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_VERIFIED_SUCCESS, { + correlationId, + subject: verifiedAuthorizationRequest.authorizationRequest, }) - .catch((error) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_VERIFIED_FAILED, { - correlationId, - subject: authorizationRequest, - error, - }) - throw error + return verifiedAuthorizationRequest + } catch (error) { + await this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_VERIFIED_FAILED, { + correlationId, + subject: authorizationRequest, + error, }) + throw error + } } public async createAuthorizationResponse( @@ -177,6 +179,7 @@ export class OP { createJarmResponse?: (opts: { authorizationResponsePayload: AuthorizationResponsePayload requestObjectPayload: RequestObjectPayload + clientMetadata: JwksMetadataParams }) => Promise<{ response: string }>, @@ -228,39 +231,43 @@ export class OP { throw new Error('No id_token or vp_token present in the response payload') } + const clientMetadata = authorizationResponse.response.authorizationRequest.options?.clientMetadata ?? requestObjectPayload.client_metadata const { response } = await createJarmResponse({ requestObjectPayload, authorizationResponsePayload: payload, + clientMetadata }) - return jarmAuthResponseSend({ - authRequestParams: { - response_uri: responseUri, - response_mode: responseMode, - response_type: responseType, - }, - authResponse: response, - }) - .then((result) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_SUCCESS, { correlationId, subject: response }) - return result + try { + const jarmResponse = await jarmAuthResponseSend({ + authRequestParams: { + response_uri: responseUri, + response_mode: responseMode, + response_type: responseType + }, + authResponse: response }) - .catch((error: Error) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_FAILED, { correlationId, subject: response, error }) - throw error + void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_SUCCESS, { correlationId, subject: response }) + return jarmResponse + } catch (error) { + void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_FAILED, { + correlationId, + subject: response, + error }) + throw error + } } const authResponseAsURI = encodeJsonAsURI(payload, { arraysWithIndex: ['presentation_submission'] }) - return post(responseUri, authResponseAsURI, { contentType: ContentType.FORM_URL_ENCODED, exceptionOnHttpErrorStatus: true }) - .then((result: SIOPResonse) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_SUCCESS, { correlationId, subject: response }) - return result.origResponse - }) - .catch((error: Error) => { - void this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_FAILED, { correlationId, subject: response, error }) - throw error - }) + try { + const result = await post(responseUri, authResponseAsURI, { contentType: ContentType.FORM_URL_ENCODED, exceptionOnHttpErrorStatus: true }) + await this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_SUCCESS, { correlationId, subject: response }) + return result.origResponse + } catch (error) { + await this.emitEvent(AuthorizationEvents.ON_AUTH_RESPONSE_SENT_FAILED, { correlationId, subject: response, error: error as Error }) + throw error + } } /** diff --git a/packages/siop-oid4vp/lib/rp/Opts.ts b/packages/siop-oid4vp/lib/rp/Opts.ts index 8e7f13a7..ae2f4a46 100644 --- a/packages/siop-oid4vp/lib/rp/Opts.ts +++ b/packages/siop-oid4vp/lib/rp/Opts.ts @@ -1,11 +1,16 @@ -import { defaultHasher } from '@sphereon/oid4vc-common' +import { defaultHasher } from '@sphereon/oid4vc-common'; -import { CreateAuthorizationRequestOpts, PropertyTarget, PropertyTargets, RequestPropertyWithTargets } from '../authorization-request' -import { VerifyAuthorizationResponseOpts } from '../authorization-response' +import { + CreateAuthorizationRequestOpts, + PropertyTarget, + PropertyTargets, + RequestPropertyWithTargets +} from '../authorization-request'; +import { VerifyAuthorizationResponseOpts } from '../authorization-response'; // import { CreateAuthorizationRequestOptsSchema } from '../schemas'; -import { ClientMetadataOpts, RequestObjectPayload, SIOPErrors, Verification } from '../types' +import { ClientMetadataOpts, RequestObjectPayload, SIOPErrors, Verification } from '../types'; -import { RPBuilder } from './RPBuilder' +import { RPBuilder } from './RPBuilder'; export const createRequestOptsFromBuilderOrExistingOpts = (opts: { builder?: RPBuilder; createRequestOpts?: CreateAuthorizationRequestOpts }) => { const version = opts.builder ? opts.builder.getSupportedRequestVersion() : opts.createRequestOpts.version @@ -55,6 +60,7 @@ export const createVerifyResponseOptsFromBuilderOrExistingOpts = (opts: { return opts.builder ? { hasher: opts.builder.hasher ?? defaultHasher, +// correlationId: uuidv4(), We can't set a correlationId here, it will no longer check functions like this.sessionManager.getCorrelationIdByNonce(resNonce, false) verifyJwtCallback: opts.builder.verifyJwtCallback, verification: { presentationVerificationCallback: opts.builder.presentationVerificationCallback, diff --git a/packages/siop-oid4vp/lib/rp/RP.ts b/packages/siop-oid4vp/lib/rp/RP.ts index dea48ec1..a89b507e 100644 --- a/packages/siop-oid4vp/lib/rp/RP.ts +++ b/packages/siop-oid4vp/lib/rp/RP.ts @@ -49,6 +49,7 @@ export class RP { private readonly _verifyResponseOptions: Partial private readonly _eventEmitter?: EventEmitter private readonly _sessionManager?: IRPSessionManager + private readonly _responseRedirectUri?: string private constructor(opts: { builder?: RPBuilder @@ -60,6 +61,7 @@ export class RP { this._verifyResponseOptions = { ...createVerifyResponseOptsFromBuilderOrExistingOpts(opts) } this._eventEmitter = opts.builder?.eventEmitter this._sessionManager = opts.builder?.sessionManager + this._responseRedirectUri = opts.builder?._responseRedirectUri } public static fromRequestOpts(opts: CreateAuthorizationRequestOpts): RP { @@ -111,7 +113,7 @@ export class RP { responseURIType?: ResponseURIType }): Promise { const authorizationRequestOpts = this.newAuthorizationRequestOpts(opts) - + return await URI.fromOpts(authorizationRequestOpts) .then(async (uri: URI) => { void this.emitEvent(AuthorizationEvents.ON_AUTH_REQUEST_CREATED_SUCCESS, { @@ -225,6 +227,19 @@ export class RP { return this._verifyResponseOptions } + public getResponseRedirectUri(mappings?: Record): string | undefined { + if (!this._responseRedirectUri) { + return undefined + } + if(!mappings) { + return this._responseRedirectUri + } + return Object.entries(mappings).reduce( + (uri, [key, value]) => uri.replace(`:${key}`, value), + this._responseRedirectUri + ) + } + private newAuthorizationRequestOpts(opts: { correlationId: string nonce: string | RequestPropertyWithTargets diff --git a/packages/siop-oid4vp/lib/rp/RPBuilder.ts b/packages/siop-oid4vp/lib/rp/RPBuilder.ts index 7861c333..fbbdec63 100644 --- a/packages/siop-oid4vp/lib/rp/RPBuilder.ts +++ b/packages/siop-oid4vp/lib/rp/RPBuilder.ts @@ -34,6 +34,7 @@ export class RPBuilder { supportedVersions: SupportedVersion[] eventEmitter?: EventEmitter sessionManager?: IRPSessionManager + _responseRedirectUri?: string private _authorizationRequestPayload: Partial = {} private _requestObjectPayload: Partial = {} @@ -133,6 +134,11 @@ export class RPBuilder { return this } + withResponseRedirectUri(responseRedirectUri: string): RPBuilder { + this._responseRedirectUri = responseRedirectUri + return this + } + withResponseUri(redirectUri: string, targets?: PropertyTargets): RPBuilder { this._authorizationRequestPayload.response_uri = assignIfAuth({ propertyValue: redirectUri, targets }, false) this._requestObjectPayload.response_uri = assignIfRequestObject({ propertyValue: redirectUri, targets }, true) diff --git a/packages/siop-oid4vp/lib/schemas/AuthorizationResponseOpts.schema.ts b/packages/siop-oid4vp/lib/schemas/AuthorizationResponseOpts.schema.ts index cdf66763..ee3f9360 100644 --- a/packages/siop-oid4vp/lib/schemas/AuthorizationResponseOpts.schema.ts +++ b/packages/siop-oid4vp/lib/schemas/AuthorizationResponseOpts.schema.ts @@ -2189,8 +2189,7 @@ export const AuthorizationResponseOptsSchemaObj = { "required": [ "id", "type" - ], - "additionalProperties": false + ] }, "CompactJWT": { "type": "string", diff --git a/packages/siop-oid4vp/lib/types/Errors.ts b/packages/siop-oid4vp/lib/types/Errors.ts index 4bc763ff..c5555370 100644 --- a/packages/siop-oid4vp/lib/types/Errors.ts +++ b/packages/siop-oid4vp/lib/types/Errors.ts @@ -1,6 +1,7 @@ enum SIOPErrors { // todo: INVALID_REQUEST mapping onto response conforming to spec INVALID_CLIENT_ID_MUST_MATCH_REDIRECT_URI = `Invalid request object payload. The redirect_uri must match the client_id with client_id_scheme 'redirect_uri'.`, + INVALID_CLIENT_ID_MUST_MATCH_RESPONSE_URI = `Invalid request object payload. The response_uri must match the client_id with client_id_scheme 'redirect_uri'.`, INVALID_REQUEST = 'The request contained invalid or conflicting parameters', AUTH_REQUEST_EXPECTS_VP = 'authentication request expects a verifiable presentation in the response', AUTH_REQUEST_DOESNT_EXPECT_VP = "authentication request doesn't expect a verifiable presentation in the response", @@ -52,6 +53,7 @@ enum SIOPErrors { VERIFIABLE_PRESENTATION_SIGNATURE_NOT_VALID = 'The signature of the verifiable presentation is not valid', VERIFIABLE_PRESENTATION_VERIFICATION_FUNCTION_MISSING = 'The verifiable presentation verification function is missing', PRESENTATION_SUBMISSION_DEFINITION_ID_DOES_NOT_MATCHING_DEFINITION_ID = "The 'definition_id' in the presentation submission does not match the id of the presentation definition.", + MDOC_CREDENTIALS_NOT_SUPPORTED = 'MDoc credentials are not supported by PEX' } export default SIOPErrors diff --git a/packages/siop-oid4vp/lib/types/SIOP.types.ts b/packages/siop-oid4vp/lib/types/SIOP.types.ts index b44484cf..35a69ae8 100644 --- a/packages/siop-oid4vp/lib/types/SIOP.types.ts +++ b/packages/siop-oid4vp/lib/types/SIOP.types.ts @@ -21,7 +21,7 @@ import { PresentationVerificationCallback, VerifyAuthorizationResponseOpts, } from '../authorization-response' -import { JwksMetadataParams } from '../helpers/extract-jwks' +import { JwksMetadataParams } from '../helpers/ExtractJwks' import { RequestObject, RequestObjectOpts } from '../request-object' import { IRPSessionManager } from '../rp' diff --git a/packages/siop-oid4vp/lib/types/VpJwtVerifier.ts b/packages/siop-oid4vp/lib/types/VpJwtVerifier.ts index fe742415..0e06e486 100644 --- a/packages/siop-oid4vp/lib/types/VpJwtVerifier.ts +++ b/packages/siop-oid4vp/lib/types/VpJwtVerifier.ts @@ -80,7 +80,7 @@ export const getRequestObjectJwtVerifier = async ( const clientIdScheme = jwt.payload.client_id_scheme const clientId = jwt.payload.client_id - if (!clientIdScheme) { + if (!clientIdScheme || jwt.header.alg === 'none') { return getJwtVerifierWithContext(jwt, { type }) } @@ -95,11 +95,14 @@ export const getRequestObjectJwtVerifier = async ( } else if (clientIdScheme === 'redirect_uri') { if (jwt.payload.redirect_uri && jwt.payload.redirect_uri !== clientId) { throw new Error(SIOPErrors.INVALID_CLIENT_ID_MUST_MATCH_REDIRECT_URI) + } else if (jwt.payload.response_uri && jwt.payload.response_uri !== clientId) { + throw new Error(SIOPErrors.INVALID_CLIENT_ID_MUST_MATCH_RESPONSE_URI) } - const parts = options.raw.split('.') + + /*const parts = options.raw.split('.') this can be signed and execution can't even be here when alg = none if (parts.length > 2 && parts[2]) { throw new Error(`${SIOPErrors.INVALID_JWT} '${type}' JWT must not be signed`) - } + }*/ return getJwtVerifierWithContext(jwt, { type }) } else if (clientIdScheme === 'verifier_attestation') { const verifierAttestationSubtype = 'verifier-attestation+jwt' diff --git a/packages/siop-oid4vp/lib/types/index.ts b/packages/siop-oid4vp/lib/types/index.ts index 276b6f18..f00d8f13 100644 --- a/packages/siop-oid4vp/lib/types/index.ts +++ b/packages/siop-oid4vp/lib/types/index.ts @@ -1,5 +1,12 @@ +import { VCI_LOGGERS } from '@sphereon/oid4vc-common' +import { ISimpleLogger, LogMethod } from '@sphereon/ssi-types' + import SIOPErrors from './Errors' +export const LOG: ISimpleLogger = VCI_LOGGERS.options('sphereon:siop-oid4vp', { methods: [LogMethod.EVENT, LogMethod.DEBUG_PKG] }).get( + 'sphereon:siop-oid4vp', +) + export { SIOPErrors } export * from './JWT.types' export * from './SIOP.types' diff --git a/packages/siop-oid4vp/package.json b/packages/siop-oid4vp/package.json index a1d7f471..60264e5b 100644 --- a/packages/siop-oid4vp/package.json +++ b/packages/siop-oid4vp/package.json @@ -18,10 +18,10 @@ "@sphereon/jarm": "workspace:*", "@sphereon/did-uni-client": "^0.6.2", "@sphereon/oid4vc-common": "workspace:*", - "@sphereon/pex": "5.0.0-unstable.2", + "@sphereon/pex": "5.0.0-unstable.18", "@sphereon/pex-models": "^2.3.1", "@sphereon/kmp-mdl-mdoc": "0.2.0-SNAPSHOT.22", - "@sphereon/ssi-types": "0.29.1-unstable.121", + "@sphereon/ssi-types": "0.30.1", "@sphereon/wellknown-dids-client": "^0.1.3", "cross-fetch": "^4.0.0", "debug": "^4.3.5", @@ -58,7 +58,6 @@ "@typescript-eslint/parser": "^5.52.0", "ajv": "^8.12.0", "bs58": "^5.0.0", - "codecov": "^3.8.3", "cspell": "^6.26.3", "did-jwt": "6.11.6", "did-resolver": "^4.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6cd1fd1d..c1f1bc42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,9 +20,6 @@ importers: '@types/node': specifier: ^18.19.39 version: 18.19.54 - codecov: - specifier: ^3.8.3 - version: 3.8.3 jest: specifier: ^29.7.0 version: 29.7.0(@types/node@18.19.54)(ts-node@10.9.2) @@ -43,7 +40,7 @@ importers: version: 5.0.10 ts-jest: specifier: ^29.1.5 - version: 29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.4.5) + version: 29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -78,18 +75,18 @@ importers: specifier: workspace:* version: link:../issuer '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) jose: specifier: ^4.10.0 version: 4.15.9 devDependencies: '@babel/core': specifier: ^7.21.4 - version: 7.25.7 + version: 7.25.2 '@babel/preset-env': specifier: ^7.21.4 - version: 7.25.7(@babel/core@7.25.7) + version: 7.25.4(@babel/core@7.25.2) '@types/jest': specifier: ^29.5.0 version: 29.5.13 @@ -101,13 +98,13 @@ importers: version: 4.1.0 expo: specifier: ^48.0.11 - version: 48.0.21(@babel/core@7.25.7) + version: 48.0.21(@babel/core@7.25.2) react: specifier: ^18.2.0 version: 18.3.1 react-native: specifier: ^0.71.7 - version: 0.71.19(@babel/core@7.25.7)(@babel/preset-env@7.25.7)(react@18.3.1) + version: 0.71.19(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1) uuid: specifier: ^9.0.0 version: 9.0.1 @@ -121,8 +118,8 @@ importers: specifier: workspace:* version: link:../oid4vci-common '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) cross-fetch: specifier: ^3.1.8 version: 3.1.8 @@ -154,9 +151,6 @@ importers: '@typescript-eslint/parser': specifier: ^5.62.0 version: 5.62.0(eslint@8.57.1)(typescript@5.5.3) - codecov: - specifier: ^3.8.3 - version: 3.8.3 dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -171,7 +165,7 @@ importers: version: 3.2.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.29.1 - version: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1) + version: 2.30.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@18.19.54)(ts-node@10.9.2) @@ -192,7 +186,7 @@ importers: version: 7.2.0 ts-jest: specifier: ^29.1.5 - version: 29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.5.3) + version: 29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.5.3) ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@18.19.54)(typescript@5.5.3) @@ -209,8 +203,8 @@ importers: packages/common: dependencies: '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) jwt-decode: specifier: ^4.0.0 version: 4.0.0 @@ -277,8 +271,8 @@ importers: specifier: workspace:* version: link:../oid4vci-common '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) awesome-qr: specifier: ^2.1.5-rc.0 version: 2.1.5-rc.0 @@ -317,11 +311,11 @@ importers: specifier: workspace:* version: link:../issuer '@sphereon/ssi-express-support': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1 '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) awesome-qr: specifier: ^2.1.5-rc.0 version: 2.1.5-rc.0 @@ -391,7 +385,7 @@ importers: version: 6.3.4 ts-jest: specifier: ^29.1.0 - version: 29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.4.5) + version: 29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5) packages/jarm: dependencies: @@ -412,8 +406,8 @@ importers: specifier: workspace:* version: link:../common '@sphereon/ssi-types': - specifier: 0.29.1-unstable.208 - version: 0.29.1-unstable.208 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) cross-fetch: specifier: ^3.1.8 version: 3.1.8 @@ -461,14 +455,14 @@ importers: specifier: workspace:* version: link:../common '@sphereon/pex': - specifier: 5.0.0-unstable.2 - version: 5.0.0-unstable.2 + specifier: 5.0.0-unstable.18 + version: 5.0.0-unstable.18 '@sphereon/pex-models': specifier: ^2.3.1 version: 2.3.1 '@sphereon/ssi-types': - specifier: 0.29.1-unstable.121 - version: 0.29.1-unstable.121 + specifier: 0.30.1 + version: 0.30.1(ts-node@10.9.2) '@sphereon/wellknown-dids-client': specifier: ^0.1.3 version: 0.1.3 @@ -499,13 +493,13 @@ importers: devDependencies: '@babel/core': specifier: ^7.23.9 - version: 7.25.7 + version: 7.25.2 '@babel/plugin-transform-runtime': specifier: ^7.16.0 - version: 7.25.7(@babel/core@7.25.7) + version: 7.25.4(@babel/core@7.25.2) '@babel/preset-env': specifier: ^7.16.0 - version: 7.25.7(@babel/core@7.25.7) + version: 7.25.4(@babel/core@7.25.2) '@cef-ebsi/ebsi-did-resolver': specifier: ^3.2.0 version: 3.2.0(debug@4.3.7) @@ -572,9 +566,6 @@ importers: bs58: specifier: ^5.0.0 version: 5.0.0 - codecov: - specifier: ^3.8.3 - version: 3.8.3 cspell: specifier: ^6.26.3 version: 6.31.3 @@ -598,7 +589,7 @@ importers: version: 3.2.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.27.5 - version: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1) + version: 2.30.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1) ethers: specifier: ^6.10.0 version: 6.13.3 @@ -631,7 +622,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.1.2 - version: 29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.4.5) + version: 29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5) ts-json-schema-generator: specifier: 1.5.0 version: 1.5.0 @@ -664,33 +655,33 @@ packages: /@babel/code-frame@7.10.4: resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} dependencies: - '@babel/highlight': 7.25.7 + '@babel/highlight': 7.24.7 - /@babel/code-frame@7.25.7: - resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.25.7 + '@babel/highlight': 7.24.7 picocolors: 1.1.0 - /@babel/compat-data@7.25.7: - resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.25.7: - resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} + /@babel/core@7.25.2: + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) - '@babel/helpers': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -699,76 +690,76 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.25.7: - resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 + jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.25.7: - resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} + /@babel/helper-annotate-as-pure@7.24.7: + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 - /@babel/helper-builder-binary-assignment-operator-visitor@7.25.7: - resolution: {integrity: sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-compilation-targets@7.25.7: - resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} + /@babel/helper-compilation-targets@7.25.2: + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.7 - '@babel/helper-validator-option': 7.25.7 + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} + /@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.6 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==} + /@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - regexpu-core: 6.1.1 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.7): + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -779,1304 +770,1307 @@ packages: resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 - /@babel/helper-member-expression-to-functions@7.25.7: - resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} + /@babel/helper-member-expression-to-functions@7.24.8: + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-module-imports@7.25.7: - resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} + /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-simple-access': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-optimise-call-expression@7.25.7: - resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} + /@babel/helper-optimise-call-expression@7.24.7: + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 - /@babel/helper-plugin-utils@7.25.7: - resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} + /@babel/helper-plugin-utils@7.24.8: + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==} + /@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-wrap-function': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} + /@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-simple-access@7.25.7: - resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-skip-transparent-expression-wrappers@7.25.7: - resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} + /@babel/helper-skip-transparent-expression-wrappers@7.24.7: + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helper-string-parser@7.25.7: - resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} + /@babel/helper-string-parser@7.24.8: + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.25.7: - resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.25.7: - resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} + /@babel/helper-validator-option@7.24.8: + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.25.7: - resolution: {integrity: sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==} + /@babel/helper-wrap-function@7.25.0: + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/helpers@7.25.7: - resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.7 - '@babel/types': 7.25.7 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 - /@babel/highlight@7.25.7: - resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.0 - /@babel/parser@7.25.7: - resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==} + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2): + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==} + /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-transform-optional-chaining': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.25.7): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.25.2): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.7): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.2): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==} + /@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-export-default-from@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Egdiuy7pLTyaPkIr6rItNyFVbblTmx3VgqY+72KiS9BzcA+SMyrS9zSumQeSANo8uE3Kax0ZUMkpNh0Q+mbNwg==} + /@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-export-default-from': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.25.7): + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.25.2): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.7): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.25.7): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.25.2): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.7 - '@babel/core': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.25.7): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.25.2): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.7): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==} + /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-export-default-from@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-LRUCsC0YucSjabsmxx6yly8+Q/5mxKdp9gemlpR9ro3bfpcOQOXx/CHivs7QCbjgygd6uQ2GcRfHu1FVax/hgg==} + /@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-flow@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==} + /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==} + /@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==} + /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} + /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==} + /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-async-generator-functions@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==} + /@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==} + /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==} + /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==} + /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==} + /@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-class-static-block@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==} + /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==} + /@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==} + /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/template': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 - /@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==} + /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==} + /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==} + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==} + /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-dynamic-import@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==} + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==} + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-export-namespace-from@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==} + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-transform-flow-strip-types@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w==} + /@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - /@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==} + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-function-name@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==} + /@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2): + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-json-strings@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==} + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==} + /@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-logical-assignment-operators@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==} + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - /@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==} + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==} + /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==} + /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-simple-access': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==} + /@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==} + /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==} + /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==} + /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-nullish-coalescing-operator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-transform-numeric-separator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==} + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - /@babel/plugin-transform-object-rest-spread@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==} + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - /@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==} + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-optional-catch-binding@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==} + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - /@babel/plugin-transform-optional-chaining@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==} + /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==} + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==} + /@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-private-property-in-object@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==} + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==} + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-react-display-name@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==} + /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-react-jsx-self@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-JD9MUnLbPL0WdVK8AWC7F7tTG2OS6u/AKKnsK+NdRhUiVdnzyR1S3kKQCaRLOiaULvUiqK6Z4JQE635VgtCFeg==} + /@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-react-jsx-source@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-S/JXG/KrbIY06iyJPKfxr0qRxnhNOdkNXYBl/rmwgDd72cQLH9tEGkDm/yJPGvcSIUoikzfjMios9i+xT/uv9w==} + /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==} + /@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/types': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==} + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==} + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-runtime@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==} + /@babel/plugin-transform-runtime@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.7) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==} + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==} + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==} + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==} + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==} + /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} + /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==} + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==} + /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==} + /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==} + /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - /@babel/preset-env@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==} + /@babel/preset-env@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.7 - '@babel/core': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-async-generator-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-class-static-block': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-dynamic-import': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-export-namespace-from': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-json-strings': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-logical-assignment-operators': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-numeric-separator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-object-rest-spread': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-optional-catch-binding': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-optional-chaining': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-private-property-in-object': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.25.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.7) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.7) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.7) + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/preset-flow@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-q2x3g0YHzo/Ohsr51KOYS/BtZMsvkzVd8qEyhZAyTatYdobfgXCuyppTqTuIhdq5kR/P3nyyVvZ6H5dMc4PnCQ==} + /@babel/preset-flow@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/types': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.6 esutils: 2.0.3 - /@babel/preset-typescript@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==} + /@babel/preset-typescript@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - /@babel/register@7.25.7(@babel/core@7.25.7): - resolution: {integrity: sha512-qHTd2Rhn/rKhSUwdY6+n98FmwXN+N+zxSVx3zWqRe9INyvTpv+aQ5gDV2+43ACd3VtMBzPPljbb0gZb8u5ma6Q==} + /@babel/register@7.24.6(@babel/core@7.25.2): + resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 pirates: 4.0.6 source-map-support: 0.5.21 - /@babel/runtime@7.25.7: - resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + /@babel/runtime@7.25.6: + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 - /@babel/template@7.25.7: - resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} + /@babel/template@7.25.0: + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/types': 7.25.7 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 - /@babel/traverse@7.25.7: - resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} + /@babel/traverse@7.25.6: + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/template': 7.25.7 - '@babel/types': 7.25.7 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.25.7: - resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: @@ -2271,9 +2265,9 @@ packages: dependencies: '@cspell/dict-ada': 4.0.2 '@cspell/dict-aws': 3.0.0 - '@cspell/dict-bash': 4.1.5 + '@cspell/dict-bash': 4.1.4 '@cspell/dict-companies': 3.1.4 - '@cspell/dict-cpp': 5.1.17 + '@cspell/dict-cpp': 5.1.16 '@cspell/dict-cryptocurrencies': 3.0.1 '@cspell/dict-csharp': 4.0.2 '@cspell/dict-css': 4.0.13 @@ -2306,7 +2300,7 @@ packages: '@cspell/dict-public-licenses': 2.0.8 '@cspell/dict-python': 4.2.6 '@cspell/dict-r': 2.0.1 - '@cspell/dict-ruby': 5.0.4 + '@cspell/dict-ruby': 5.0.3 '@cspell/dict-rust': 4.0.5 '@cspell/dict-scala': 5.0.3 '@cspell/dict-software-terms': 3.4.10 @@ -2347,16 +2341,16 @@ packages: resolution: {integrity: sha512-O1W6nd5y3Z00AMXQMzfiYrIJ1sTd9fB1oLr+xf/UD7b3xeHeMeYE2OtcWbt9uyeHim4tk+vkSTcmYEBKJgS5bQ==} dev: true - /@cspell/dict-bash@4.1.5: - resolution: {integrity: sha512-YGim/h7E2U5HCCb2ckNufT6/yyWygt9nSZ5C7qw6oOD3bygbObqD1+rlPor1JW+YyO+3GwTIHE70uKEEU6VZYw==} + /@cspell/dict-bash@4.1.4: + resolution: {integrity: sha512-W/AHoQcJYn3Vn/tUiXX2+6D/bhfzdDshwcbQWv9TdiNlXP9P6UJjDKWbxyA5ogJCsR2D0X9Kx11oV8E58siGKQ==} dev: true /@cspell/dict-companies@3.1.4: resolution: {integrity: sha512-y9e0amzEK36EiiKx3VAA+SHQJPpf2Qv5cCt5eTUSggpTkiFkCh6gRKQ97rVlrKh5GJrqinDwYIJtTsxuh2vy2Q==} dev: true - /@cspell/dict-cpp@5.1.17: - resolution: {integrity: sha512-b+1SOTf0WkveOobmELlOzRXKtzBQIw87Vjm2UMwJ3GTo6Fnpws/NKnS4ZsBJWgzHU0RrqMC+wIW7yW+km/JOTQ==} + /@cspell/dict-cpp@5.1.16: + resolution: {integrity: sha512-32fU5RkuOM55IRcxjByiSoKbjr+C4danDfYjHaQNRWdvjzJzci3fLDGA2wTXiclkgDODxGiV8LCTUwCz+3TNWA==} dev: true /@cspell/dict-cryptocurrencies@3.0.1: @@ -2493,8 +2487,8 @@ packages: resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} dev: true - /@cspell/dict-ruby@5.0.4: - resolution: {integrity: sha512-URw0jScj5pv8sKCVLNnde11qVCQR442rUpSd12u46Swl+5qBaSdnOUoCWQk419kd9/dpC6bB/3l4kOSY2fdYHw==} + /@cspell/dict-ruby@5.0.3: + resolution: {integrity: sha512-V1xzv9hN6u8r6SM4CkYdsxs4ov8gjXXo0Twfx5kWhLXbEVxTXDMt7ohLTqpy2XlF5mutixZdbHMeFiAww8v+Ug==} dev: true /@cspell/dict-rust@4.0.5: @@ -2546,7 +2540,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true /@did-core/data-model@0.1.1-unstable.15: resolution: {integrity: sha512-l7gxLxegcXW7389G+j6o+S24lS8uasmJx5txWpW3QadNvOawKwvWn8bV59SdHSK806xNzIZaCLKmXKxebs8yAQ==} @@ -2623,7 +2616,7 @@ packages: dependencies: credentials-context: 2.0.0 jsonld: 8.3.2 - jsonld-signatures: 11.3.1 + jsonld-signatures: 11.3.0 transitivePeerDependencies: - encoding - web-streams-polyfill @@ -3275,7 +3268,7 @@ packages: /@expo/bunyan@4.0.1: resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} - engines: {node: '>=0.10.0'} + engines: {'0': node >=0.10.0} dependencies: uuid: 8.3.2 @@ -3283,7 +3276,7 @@ packages: resolution: {integrity: sha512-uMGHbAhApqXR2sd1KPhgvpbOhBBnspad8msEqHleT2PHXwKIwTUDzBGO9+jdOAWwCx2MJfw3+asYjzoD3DN9Bg==} hasBin: true dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 '@expo/code-signing-certificates': 0.0.5 '@expo/config': 8.0.5 '@expo/config-plugins': 6.0.2 @@ -3875,7 +3868,7 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -3961,7 +3954,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - dev: true /@js-joda/core@5.6.3: resolution: {integrity: sha512-T1rRxzdqkEXcou0ZprN1q9yDRlvzCPLqmlNt5IIsGBzoEVgLCCYrKEwc84+TvsXuAc95VAZwtWD2zVsKPY4bcA==} @@ -3982,7 +3974,7 @@ packages: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 19.8.3(nx@19.8.3) + '@nx/devkit': 19.8.2(nx@19.8.2) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 aproba: 2.0.0 @@ -4021,7 +4013,7 @@ packages: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 19.8.3 + nx: 19.8.2 p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -4369,19 +4361,19 @@ packages: - supports-color dev: true - /@nrwl/devkit@19.8.3(nx@19.8.3): - resolution: {integrity: sha512-67vZJRMCEA543A0uz8dPTZ5lX4wsAlgsr24KJafsUxBC2WCf9z4BqcLj0jVWfmRdKJmu2UwaxtD2UB1bekt3sg==} + /@nrwl/devkit@19.8.2(nx@19.8.2): + resolution: {integrity: sha512-2l3Jb7loE8BnTKn6bl4MK0fKIQLAkl+OMBwo/+GedaqfDfQev+UEgBio38eOEdDHYDHH0lwhGdVQI/DpV4qicA==} dependencies: - '@nx/devkit': 19.8.3(nx@19.8.3) + '@nx/devkit': 19.8.2(nx@19.8.2) transitivePeerDependencies: - nx dev: true - /@nrwl/tao@19.8.3: - resolution: {integrity: sha512-byjBtOXx+xGjMu1wKopJSJbrR3gKqTsCEgp1+YSZ45+iFKxFdXLJrGsyhVqBovCKVBM+5/KtGuEkZoUPlP8JWg==} + /@nrwl/tao@19.8.2: + resolution: {integrity: sha512-WvGvFjCy/dSpviLJE8YKcSqpTVpX78UFUhYGgd0OxNlnz0I52HDsZekVWJnyCuU0NDGH6BNmS77R79zj+WzxvQ==} hasBin: true dependencies: - nx: 19.8.3 + nx: 19.8.2 tslib: 2.7.0 transitivePeerDependencies: - '@swc-node/register' @@ -4389,25 +4381,25 @@ packages: - debug dev: true - /@nx/devkit@19.8.3(nx@19.8.3): - resolution: {integrity: sha512-uX50CAM11tzhwswf0ftN0QfzW2FM3M4Mf/pD/nRRnmsTkcPTdMXVu4LHuLVTp4CMsaO+cOQlqgHXujHYfOIctg==} + /@nx/devkit@19.8.2(nx@19.8.2): + resolution: {integrity: sha512-SoCPy24hkzyrANbZhc3/40uWXnOIISC0jk49BcapC9Zykv9/8lCxiaNtB68b00QKEFISkxOeA703D7GCC4sA0Q==} peerDependencies: nx: '>= 17 <= 20' dependencies: - '@nrwl/devkit': 19.8.3(nx@19.8.3) + '@nrwl/devkit': 19.8.2(nx@19.8.2) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 19.8.3 + nx: 19.8.2 semver: 7.6.3 tmp: 0.2.3 tslib: 2.7.0 yargs-parser: 21.1.1 dev: true - /@nx/nx-darwin-arm64@19.8.3: - resolution: {integrity: sha512-ORHFFWMZcvFi0xcpCaXccXVEhFwAevSHOIKfW359+12H9w7VW2O42B+2NcVMK1mrDTOjlXTd+0AmAu7P4NzWFA==} + /@nx/nx-darwin-arm64@19.8.2: + resolution: {integrity: sha512-O06sOObpaF3UQrx6R5s0kFOrhrk/N20rKhOMaD5Qxw6lmVr6TGGH1epGpD8ES7ZPS+p7FUtU9/FPHwY02BZfBg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -4415,8 +4407,8 @@ packages: dev: true optional: true - /@nx/nx-darwin-x64@19.8.3: - resolution: {integrity: sha512-Ji9DPA0tuzygMcypD/FHRDQSPipcRqMNmSaNKxVpcCbozVTWHvqXFk0rloDIUnxnE0+zvE9LN71H2sS4ZHdTQA==} + /@nx/nx-darwin-x64@19.8.2: + resolution: {integrity: sha512-hRFA7xpnIeMUF5FiDh681fxSx/EzkFYZ+UE/XBfzbc+T1neRy7NB2vMEa/WMsN0+Y5+NXtibx1akEDD6VOqeJA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -4424,8 +4416,8 @@ packages: dev: true optional: true - /@nx/nx-freebsd-x64@19.8.3: - resolution: {integrity: sha512-Ys+PqtBZCS+QBNs7he3fnxVhMWz/lSSaBVUlVHoQcV1Y4clEpP2TWNQSsbaVnnpcB7pdmKN5ymWdaCaAQuqCMw==} + /@nx/nx-freebsd-x64@19.8.2: + resolution: {integrity: sha512-GwZUtUQJt2LrZFB9r29ZYQ9I2r76pg+Lwj7vgrFAq+UHcLejHYyLvhDPoRfKWdASdegI3M5jbh8Cvamd+sgbNA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -4433,8 +4425,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@19.8.3: - resolution: {integrity: sha512-hGOlML60ELXkgkqLHB/w/sXbTbXFhOQGSXC72CjaP5G0u1gj8eTQKJ7WEsqPAFMk5SLFFxqM7eid0LmAYYuZWQ==} + /@nx/nx-linux-arm-gnueabihf@19.8.2: + resolution: {integrity: sha512-+OtoU5tXOLRv0ufy8ifD6EHn+VOjnC8mFIaaBO/cb/YEW1MTZq1RqKd4e1O9sjAloTe4X3mydw/Ue333+FqIww==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -4442,8 +4434,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-gnu@19.8.3: - resolution: {integrity: sha512-K/5iVbLbhsx28YtZHvveJgF41rbr2kMdabooZeFqy6VReN7U/zGJMjpV1FzDlf3TNr9jyjPDZgVQRS+qXau2qA==} + /@nx/nx-linux-arm64-gnu@19.8.2: + resolution: {integrity: sha512-rH7WSvoh1nvYmQs3cd4nBDPilEYIGTUOZF2eXPBqSu1K6938tu1Uf1zXzqRK7o016GoVepiD0VRVYWD3R82nRQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4451,8 +4443,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-musl@19.8.3: - resolution: {integrity: sha512-zqzWjFniZDXiI/3MYxbJ0yIenUKr56apLy70oABTBHx++dsUA3/DxLMNypMA82a8KQtsbePWUi3Pgtr+JIMNXw==} + /@nx/nx-linux-arm64-musl@19.8.2: + resolution: {integrity: sha512-a7vuWDOcqHL0S0gQYYz8DDRmNFs4NOd7A+BTgBRPX54r0pS82tKF2ZsP48TAr9WHyjsTPis5LlFw8VhLrjzdLA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4460,8 +4452,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-gnu@19.8.3: - resolution: {integrity: sha512-W1RRCqsQvpur4BxP5g5cQwjZB6jhxYLSSXi3QQDaU5ITkaV5Pdj/L7D/G6YgRB8lzKZrXc57aLJ5UKY/Z+di7w==} + /@nx/nx-linux-x64-gnu@19.8.2: + resolution: {integrity: sha512-3h4dmIi5Muym18dsiiXQBygPlSAHZNe3PaYo8mLsUsvuAt2ye0XUDcAlHWXOt/FeuVDG1NEGI05vZJvbIIGikQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4469,8 +4461,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-musl@19.8.3: - resolution: {integrity: sha512-waTo0zBBGnmU7fS87IpOnVGx7EHa0umzSMlGG0LUoU6swOeNODezsBn1Vbvaw1o7sStWBzdEBlxLxHOQXRAidg==} + /@nx/nx-linux-x64-musl@19.8.2: + resolution: {integrity: sha512-LbOC3rbnREh7DbFYdZDuAEDmJsdQDLEjUzacwXDHMb/XlTL3YpWoXohd+zSVHM4nvd8o7QFuZNC4a4zYXwA+wg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4478,8 +4470,8 @@ packages: dev: true optional: true - /@nx/nx-win32-arm64-msvc@19.8.3: - resolution: {integrity: sha512-lio7ulblEMs1otMtVIrdfdMTBqKRZEHim57AcMHSVnwmtl2ENP6TR3YIgyigjfLlkPanNU7i0QQ4h6Nk2I/FRw==} + /@nx/nx-win32-arm64-msvc@19.8.2: + resolution: {integrity: sha512-ZkSZBxGrGXDqwRxC4WyHR3sAUIH6akk1rTDvqTr1nKPribs53cqEms20i7qF1at3o99xL3YairOcnt7JxNWDWA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -4487,8 +4479,8 @@ packages: dev: true optional: true - /@nx/nx-win32-x64-msvc@19.8.3: - resolution: {integrity: sha512-RU11iXJzdrw5CmogT2AwsjxK7g8vWf6Oy23NlrvsQFODtavjqAWoD5qpUY/H16s9lVDwrpzCbGbAXph0lbgLKA==} + /@nx/nx-win32-x64-msvc@19.8.2: + resolution: {integrity: sha512-rRt+XIZk+ctxhFORWvugqmS07xi52eRS4QpTq8b24ZJKk1Zw0L5opsXAdzughhBzfIpSx4rxnknFlI78DcRPxA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4736,7 +4728,7 @@ packages: transitivePeerDependencies: - encoding - /@react-native-community/cli-plugin-metro@10.2.3(@babel/core@7.25.7): + /@react-native-community/cli-plugin-metro@10.2.3(@babel/core@7.25.2): resolution: {integrity: sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==} dependencies: '@react-native-community/cli-server-api': 10.1.1 @@ -4746,7 +4738,7 @@ packages: metro: 0.73.10 metro-config: 0.73.10 metro-core: 0.73.10 - metro-react-native-babel-transformer: 0.73.10(@babel/core@7.25.7) + metro-react-native-babel-transformer: 0.73.10(@babel/core@7.25.2) metro-resolver: 0.73.10 metro-runtime: 0.73.10 readline: 1.3.0 @@ -4795,7 +4787,7 @@ packages: dependencies: joi: 17.13.3 - /@react-native-community/cli@10.2.7(@babel/core@7.25.7): + /@react-native-community/cli@10.2.7(@babel/core@7.25.2): resolution: {integrity: sha512-31GrAP5PjHosXV5bkHWVnYGjAeka2gkTTsPqasJAki5RI1njB1a2WAkYFV0sn+gqc4RU1s96RELBBfT+EGzhAQ==} engines: {node: '>=14'} hasBin: true @@ -4805,7 +4797,7 @@ packages: '@react-native-community/cli-debugger-ui': 10.0.0 '@react-native-community/cli-doctor': 10.2.7 '@react-native-community/cli-hermes': 10.2.7 - '@react-native-community/cli-plugin-metro': 10.2.3(@babel/core@7.25.7) + '@react-native-community/cli-plugin-metro': 10.2.3(@babel/core@7.25.2) '@react-native-community/cli-server-api': 10.1.1 '@react-native-community/cli-tools': 10.1.1 '@react-native-community/cli-types': 10.0.0 @@ -4848,13 +4840,21 @@ packages: '@sd-jwt/utils': 0.6.1 dev: false - /@sd-jwt/present@0.6.1: - resolution: {integrity: sha512-QRD3TUDLj4PqQNZ70bBxh8FLLrOE9mY8V9qiZrJSsaDOLFs2p1CtZG+v9ig62fxFYJZMf4bWKwYjz+qqGAtxCg==} - engines: {node: '>=16'} + /@sd-jwt/decode@0.7.2: + resolution: {integrity: sha512-dan2LSvK63SKwb62031G4r7TE4TaiI0EK1KbPXqS+LCXNkNDUHqhtYp9uOpj+grXceCsMtMa2f8VnUfsjmwHHg==} + engines: {node: '>=18'} dependencies: - '@sd-jwt/decode': 0.6.1 - '@sd-jwt/types': 0.6.1 - '@sd-jwt/utils': 0.6.1 + '@sd-jwt/types': 0.7.2 + '@sd-jwt/utils': 0.7.2 + dev: false + + /@sd-jwt/present@0.7.2: + resolution: {integrity: sha512-mQV85u2+mLLy2VZ9Wx2zpaB6yTDnbhCfWkP7eeCrzJQHBKAAHko8GrylEFmLKewFIcajS/r4lT/zHOsCkp5pZw==} + engines: {node: '>=18'} + dependencies: + '@sd-jwt/decode': 0.7.2 + '@sd-jwt/types': 0.7.2 + '@sd-jwt/utils': 0.7.2 dev: false /@sd-jwt/types@0.6.1: @@ -4862,6 +4862,11 @@ packages: engines: {node: '>=16'} dev: false + /@sd-jwt/types@0.7.2: + resolution: {integrity: sha512-1NRKowiW0ZiB9SGLApLPBH4Xk8gDQJ+nA9NdZ+uy6MmJKLEwjuJxO7yTvRIv/jX/0/Ebh339S7Kq4RD2AiFuRg==} + engines: {node: '>=18'} + dev: false + /@sd-jwt/utils@0.6.1: resolution: {integrity: sha512-1NHZ//+GecGQJb+gSdDicnrHG0DvACUk9jTnXA5yLZhlRjgkjyfJLNsCZesYeCyVp/SiyvIC9B+JwoY4kI0TwQ==} engines: {node: '>=16'} @@ -4870,6 +4875,14 @@ packages: js-base64: 3.7.7 dev: false + /@sd-jwt/utils@0.7.2: + resolution: {integrity: sha512-aMPY7uHRMgyI5PlDvEiIc+eBFGC1EM8OCQRiEjJ8HGN0pajWMYj0qwSw7pS90A49/DsYU1a5Zpvb7nyjgGH0Yg==} + engines: {node: '>=18'} + dependencies: + '@sd-jwt/types': 0.7.2 + js-base64: 3.7.7 + dev: false + /@segment/ajv-human-errors@2.13.0(ajv@8.17.1): resolution: {integrity: sha512-rubuhyhxCHmVdTmA5G3aMiWoN8Yutp+LG/AGUSiIKJVs1r7EEE/yjqSzSqyANGj5ZkqGUP802Ur9s19MuWelZQ==} peerDependencies: @@ -5008,27 +5021,27 @@ packages: '@js-joda/timezone': 2.3.0(@js-joda/core@5.6.3) format-util: 1.0.5 dev: false + bundledDependencies: [] /@sphereon/pex-models@2.3.1: resolution: {integrity: sha512-SByU4cJ0XYA6VZQ/L6lsSiRcFtBPHbFioCeQ4GP7/W/jQ+PSBD7uK2oTnKQ9/0iEiMK/6JYqhKgLs4a9UX3UTQ==} dev: false - /@sphereon/pex@5.0.0-unstable.2: - resolution: {integrity: sha512-mA6lY/OBKKzsh4Jf4btm9Tj4ymVsX6xuVATn85LurD4bt3fhZwNJMkxhFy4tT/QyAtp05E4aaEq0wTVvOjVa7w==} + /@sphereon/pex@5.0.0-unstable.18: + resolution: {integrity: sha512-DOKfmfa549RbX8Bqe4yOE2rjZbCQgoRcHO+i01k+gxubgulPPQvY8k0pmFkMFMgVI5fXCjkI3b3PgQ5u/vpGGw==} engines: {node: '>=18'} requiresBuild: true dependencies: '@astronautlabs/jsonpath': 1.1.2 - '@sd-jwt/decode': 0.6.1 - '@sd-jwt/present': 0.6.1 - '@sd-jwt/types': 0.6.1 + '@sd-jwt/decode': 0.7.2 + '@sd-jwt/present': 0.7.2 + '@sd-jwt/types': 0.7.2 '@sphereon/pex-models': 2.3.1 - '@sphereon/ssi-types': 0.29.1-unstable.121 + '@sphereon/ssi-types': 0.30.1(ts-node@10.9.2) ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) jwt-decode: 3.1.2 nanoid: 3.3.7 - string.prototype.matchall: 4.0.11 uint8arrays: 3.1.1 transitivePeerDependencies: - '@google-cloud/spanner' @@ -5052,8 +5065,8 @@ packages: - typeorm-aurora-data-api-driver dev: false - /@sphereon/ssi-express-support@0.29.1-unstable.208: - resolution: {integrity: sha512-VMIjP368e1XIF5yJkNKOncvRcwljQZsmxltEQBu7RGSp1lRD+m8w7vb9Bgirlz7H1Enlo4BWy7psl3jVJV8DYQ==} + /@sphereon/ssi-express-support@0.30.1: + resolution: {integrity: sha512-eZMq3V6lZ3qVCO+ymRjLOmDrfIqPsAf/KHwxtK4yoZyVjsDC4f/mbLIovyv1SdK/Uf7raF7QXdTjLi+f/XeS2Q==} peerDependencies: '@noble/hashes': 1.2.0 passport-azure-ad: ^4.3.5 @@ -5083,15 +5096,15 @@ packages: - supports-color dev: false - /@sphereon/ssi-sdk-ext.did-utils@0.24.1-unstable.112: - resolution: {integrity: sha512-nc0jFPOWg0H20S8m83aQUpNym0Wx0rJCGkgpH6GdK8gBtgza8Y9DvAap1AYZug18WbqPcF6rBjvtIJqAKsSvlQ==} + /@sphereon/ssi-sdk-ext.did-utils@0.24.1-unstable.130(ts-node@10.9.2): + resolution: {integrity: sha512-I+0VjitRjisABWm8RtTPQG57tFwfUS13Wud30OvBoADRxnaA0guUrkS82AYtV6YD0TBHdrd0D6a0RCJwK9SvDg==} dependencies: '@ethersproject/networks': 5.7.1 '@ethersproject/transactions': 5.7.0 '@sphereon/did-uni-client': 0.6.3 - '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161 + '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161(ts-node@10.9.2) '@sphereon/ssi-sdk.core': 0.29.1-unstable.161 '@sphereon/ssi-types': 0.29.1-unstable.161 '@stablelib/ed25519': 1.0.3 @@ -5123,13 +5136,13 @@ packages: - typeorm-aurora-data-api-driver dev: false - /@sphereon/ssi-sdk-ext.identifier-resolution@0.24.1-unstable.112: - resolution: {integrity: sha512-VBkJjHokFNsQ0wsHUbyCysMuShTOEuK6yrvyW64uOFcB2hzq1J/wi9CewI+YRHv7mnejBlu46uYNycvOKKRcsQ==} + /@sphereon/ssi-sdk-ext.identifier-resolution@0.24.1-unstable.130(ts-node@10.9.2): + resolution: {integrity: sha512-9mY+qgXmbZCC8aic99R7B3vKBHBakDiC6Sktgd7Q9AknR8cCmvdrmTgnOETrLng9L43uNOJnNTMG/4T6LqmtsA==} dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161 + '@sphereon/ssi-sdk-ext.did-utils': 0.24.1-unstable.130(ts-node@10.9.2) + '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161(ts-node@10.9.2) '@sphereon/ssi-types': 0.29.1-unstable.161 '@veramo/core': 4.2.0 '@veramo/utils': 4.2.0 @@ -5158,15 +5171,15 @@ packages: - typeorm-aurora-data-api-driver dev: false - /@sphereon/ssi-sdk-ext.jwt-service@0.24.1-unstable.112: - resolution: {integrity: sha512-OrBaSg5wLSehkJ4MyuyDWKD4CRIBERnJqRT0o/y5DbaCF3k02+/lN/rWP+4qwk2w192fIEAExG4L2GwZM/5PLQ==} + /@sphereon/ssi-sdk-ext.jwt-service@0.24.1-unstable.130(ts-node@10.9.2): + resolution: {integrity: sha512-MHLGRmJODEYJyFoXKwlKMYzf48vS5JcUkGk0W4sqmrY1wwcw+ro3l8adIprG37mNuknXBs9Mv0x/tvibE9wwCQ==} dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.identifier-resolution': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.key-manager': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.112 - '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161 + '@sphereon/ssi-sdk-ext.did-utils': 0.24.1-unstable.130(ts-node@10.9.2) + '@sphereon/ssi-sdk-ext.identifier-resolution': 0.24.1-unstable.130(ts-node@10.9.2) + '@sphereon/ssi-sdk-ext.key-manager': 0.24.1-unstable.130 + '@sphereon/ssi-sdk-ext.key-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.130 + '@sphereon/ssi-sdk.agent-config': 0.29.1-unstable.161(ts-node@10.9.2) '@sphereon/ssi-types': 0.29.1-unstable.161 '@veramo/core': 4.2.0 '@veramo/utils': 4.2.0 @@ -5195,8 +5208,8 @@ packages: - typeorm-aurora-data-api-driver dev: false - /@sphereon/ssi-sdk-ext.key-manager@0.24.1-unstable.112: - resolution: {integrity: sha512-XdXV4qj+BYTZWyGHduWQxl0mxCYt5CF0Q93p4Thbm2/hjfaAC6aJi2WAXFGTIri95QVbKW1Uscob0CjNCVkWdg==} + /@sphereon/ssi-sdk-ext.key-manager@0.24.1-unstable.130: + resolution: {integrity: sha512-O/6NlKmlYRnEyP/mAI2Diu0qptMSqZfVwqog8KAOG/G8JUmktfSQmclBW8RoJ6AD9uY65BGzNk1oAVuuMv4Dog==} dependencies: '@veramo/core': 4.2.0 '@veramo/key-manager': 4.2.0 @@ -5232,11 +5245,11 @@ packages: - supports-color dev: true - /@sphereon/ssi-sdk-ext.key-utils@0.24.1-unstable.112: - resolution: {integrity: sha512-er6TwGUWxlao2lSP97r1DTFlUXcPSMsIToULOWQJp6wKbvCuvV6pN5luS0qKB/W0/TOUE5kXzFwNx086BPnPRA==} + /@sphereon/ssi-sdk-ext.key-utils@0.24.1-unstable.130: + resolution: {integrity: sha512-DCyXW18g1OAuZ+aFHzQGrbZSx793DX94LSFnrWlOTMnYeILmrizuFksUlWSb3lTqQGAqWBC48NoR3I1H6lSMEQ==} dependencies: '@ethersproject/random': 5.7.0 - '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.112 + '@sphereon/ssi-sdk-ext.x509-utils': 0.24.1-unstable.130 '@sphereon/ssi-types': 0.29.1-unstable.161 '@stablelib/ed25519': 1.0.3 '@stablelib/sha256': 1.0.1 @@ -5256,8 +5269,8 @@ packages: - supports-color dev: false - /@sphereon/ssi-sdk-ext.x509-utils@0.24.1-unstable.112: - resolution: {integrity: sha512-bbx2jFoqWhW/xYABVwg3HiUo15yztPt3s+9bJtdB8n4PCjin4Nq3+vFvaHsmu70yAGkbWfsBcBVW6Y3oFtvpAA==} + /@sphereon/ssi-sdk-ext.x509-utils@0.24.1-unstable.130: + resolution: {integrity: sha512-JDX8i0WrwONaOivZXB+OxJQGkln7vuSLS61tOYl7M1RyPGixdBYuEuACsdvWf6egYOpaWmhmXZzaAOj18eDddw==} dependencies: '@trust/keyto': 1.0.1 debug: 4.3.7 @@ -5268,13 +5281,13 @@ packages: - supports-color dev: false - /@sphereon/ssi-sdk.agent-config@0.29.1-unstable.161: + /@sphereon/ssi-sdk.agent-config@0.29.1-unstable.161(ts-node@10.9.2): resolution: {integrity: sha512-ZP/TjapF/Gv/AwnNr9e1U3rjyRwdLtAj4un9j1csnKcgYe9ff2fhYbe06y9mU4tfQilH69mAW4Tz1t6N5U7XbA==} dependencies: '@veramo/core': 4.2.0 debug: 4.3.7 jsonpointer: 5.0.1 - typeorm: 0.3.20 + typeorm: 0.3.20(ts-node@10.9.2) url-parse: 1.5.10 yaml: 2.5.1 transitivePeerDependencies: @@ -5312,12 +5325,23 @@ packages: - supports-color dev: false - /@sphereon/ssi-types@0.29.1-unstable.121: - resolution: {integrity: sha512-g5qt2cRa/9t3WrBWMneGOrwjyU2Mqdh4LlKeO6japli5bgl5D6lim91F++m1iIIhOYP4dqPpk5PLjy9XQlLyEw==} + /@sphereon/ssi-types@0.29.1-unstable.161: + resolution: {integrity: sha512-ifMADjk6k0f97/isK/4Qw/PX6n4k+qS5k6mmmH47MTD3KMDddVghoXycsvNw7wObJdLUalHBX630ghr+u21oMg==} dependencies: '@sd-jwt/decode': 0.6.1 + debug: 4.3.7 + events: 3.3.0 + jwt-decode: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@sphereon/ssi-types@0.30.1(ts-node@10.9.2): + resolution: {integrity: sha512-vbYaxQXb71sOPwDj7TRDlUGfIHKVVs8PiHfImPBgSBshrD7VpEHOrB+EwwavMm5MAQvWK/yblGmzk7FHds7SHA==} + dependencies: + '@sd-jwt/decode': 0.7.2 '@sphereon/kmp-mdl-mdoc': 0.2.0-SNAPSHOT.22 - '@sphereon/ssi-sdk-ext.jwt-service': 0.24.1-unstable.112 + '@sphereon/ssi-sdk-ext.jwt-service': 0.24.1-unstable.130(ts-node@10.9.2) debug: 4.3.7 events: 3.3.0 jwt-decode: 3.1.2 @@ -5343,29 +5367,6 @@ packages: - typeorm-aurora-data-api-driver dev: false - /@sphereon/ssi-types@0.29.1-unstable.161: - resolution: {integrity: sha512-ifMADjk6k0f97/isK/4Qw/PX6n4k+qS5k6mmmH47MTD3KMDddVghoXycsvNw7wObJdLUalHBX630ghr+u21oMg==} - dependencies: - '@sd-jwt/decode': 0.6.1 - debug: 4.3.7 - events: 3.3.0 - jwt-decode: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@sphereon/ssi-types@0.29.1-unstable.208: - resolution: {integrity: sha512-3YAFzy//BojsYN+RYoEjndWP3w5a8a3qRZi5dS0Gh6s4yMCiykqTJM1agJVeoaLce8JxFFaCWSpkzwbmJYGTaQ==} - dependencies: - '@sd-jwt/decode': 0.6.1 - '@sphereon/kmp-mdl-mdoc': 0.2.0-SNAPSHOT.22 - debug: 4.3.7 - events: 3.3.0 - jwt-decode: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /@sphereon/ssi-types@0.9.0: resolution: {integrity: sha512-umCr/syNcmvMMbQ+i/r/mwjI1Qw2aFPp9AwBTvTo1ailAVaaJjJGPkkVz1K9/2NZATNdDiQ3A8yGzdVJoKh9pA==} dependencies: @@ -5821,19 +5822,15 @@ packages: /@tsconfig/node10@1.0.11: resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true /@tufjs/canonical-json@2.0.0: resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} @@ -5857,8 +5854,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.25.7 - '@babel/types': 7.25.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -5867,20 +5864,20 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.25.7 - '@babel/types': 7.25.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: true /@types/babel__traverse@7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.25.7 + '@babel/types': 7.25.6 dev: true /@types/bn.js@5.1.6: @@ -6405,7 +6402,7 @@ packages: cross-fetch: 3.1.8 debug: 4.3.7 did-jwt: 6.11.6 - did-jwt-vc: 3.2.15 + did-jwt-vc: 3.1.3 did-resolver: 4.1.0 elliptic: 6.5.7 multiformats: 9.7.1 @@ -6492,7 +6489,6 @@ packages: engines: {node: '>=0.4.0'} dependencies: acorn: 8.12.1 - dev: true /acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} @@ -6659,7 +6655,6 @@ packages: /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -6669,12 +6664,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /argv@0.0.2: - resolution: {integrity: sha512-dEamhpPEwRUBpLNHeuCm/v+g0anFByHahxodVO/BbAarHVBBg2MccCwf9K+o1Pof+2btdnkJelYVUWjW/VrATw==} - engines: {node: '>=0.6.10'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true - /array-back@3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} engines: {node: '>=6'} @@ -6880,24 +6869,24 @@ packages: dependencies: b64-lite: 1.4.0 - /babel-core@7.0.0-bridge.0(@babel/core@7.25.7): + /babel-core@7.0.0-bridge.0(@babel/core@7.25.2): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 - /babel-jest@29.7.0(@babel/core@7.25.7): + /babel-jest@29.7.0(@babel/core@7.25.2): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.25.7) + babel-preset-jest: 29.6.3(@babel/core@7.25.2) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6909,7 +6898,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.24.8 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -6922,8 +6911,8 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.25.7 - '@babel/types': 7.25.7 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 dev: true @@ -6938,36 +6927,36 @@ packages: reselect: 4.1.8 resolve: 1.22.8 - /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.7): + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.7 - '@babel/core': 7.25.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.7): + /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.7): + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -6977,88 +6966,88 @@ packages: /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.7): + /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.7) - '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.7) - dev: true - - /babel-preset-expo@9.3.2(@babel/core@7.25.7): + '@babel/core': 7.25.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + dev: true + + /babel-preset-expo@9.3.2(@babel/core@7.25.2): resolution: {integrity: sha512-BjyvjwjJG0MaaDBLP/esbXRrAItM76po9L9zfnLxeqgFsHCIPmD+6ir45coDLGAXwR8m9It3G1yqYM9JPyemsQ==} dependencies: - '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) babel-plugin-module-resolver: 4.1.0 babel-plugin-react-native-web: 0.18.12 - metro-react-native-babel-preset: 0.73.9(@babel/core@7.25.7) + metro-react-native-babel-preset: 0.73.9(@babel/core@7.25.2) transitivePeerDependencies: - '@babel/core' - supports-color - /babel-preset-fbjs@3.4.0(@babel/core@7.25.7): + /babel-preset-fbjs@3.4.0(@babel/core@7.25.2): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.7) - '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color - /babel-preset-jest@29.6.3(@babel/core@7.25.7): + /babel-preset-jest@29.6.3(@babel/core@7.25.2): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.7) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) dev: true /balanced-match@1.0.2: @@ -7226,8 +7215,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001666 - electron-to-chromium: 1.5.32 + caniuse-lite: 1.0.30001664 + electron-to-chromium: 1.5.30 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.0) @@ -7424,8 +7413,8 @@ packages: engines: {node: '>=14.16'} dev: true - /caniuse-lite@1.0.30001666: - resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==} + /caniuse-lite@1.0.30001664: + resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} /canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} @@ -7615,22 +7604,6 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /codecov@3.8.3: - resolution: {integrity: sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==} - engines: {node: '>=4.0'} - deprecated: https://about.codecov.io/blog/codecov-uploader-deprecation-plan/ - hasBin: true - dependencies: - argv: 0.0.2 - ignore-walk: 3.0.4 - js-yaml: 3.14.1 - teeny-request: 7.1.1 - urlgrey: 1.0.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /collect-v8-coverage@1.0.2: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} dev: true @@ -8053,7 +8026,6 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true /credential-status@2.0.6: resolution: {integrity: sha512-l5ZwSbX/UXFJ3DQ3dFt4rc2BtfUu/rhlkefR7BL9EZsKPyCe21okJA9mDy4h/nXvMEwpYjSQEa5vzR7KZqhI9g==} @@ -8511,6 +8483,14 @@ packages: resolution: {integrity: sha512-iFpszgSxc7d1kNBJWC+PAzNTpe5LPalzsIunTMIpbG3O37Q7Zi7u4iIaedaM7UhziBhT+Agr9DyvAiXSUyfepQ==} dev: false + /did-jwt-vc@3.1.3: + resolution: {integrity: sha512-qB1FiQ0sT/FUR5+mQ//P5lS0Gllrtes2OxC3WVMOt8ND0LolF92ohozv50ukyOvB2zBzgfm5durcIPqQcoI+LA==} + engines: {node: '>=14'} + dependencies: + did-jwt: 6.11.6 + did-resolver: 4.1.0 + dev: false + /did-jwt-vc@3.2.15: resolution: {integrity: sha512-M/WPiL34CQUiN4bvWnZ0OFHJ3usPtstfQfbNbHAWHvwjeCGi7nAdv62VXHgy2xIhJMc790hH7PsMN3i6SCGEyg==} engines: {node: '>=18'} @@ -8572,7 +8552,6 @@ packages: /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: true /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -8662,8 +8641,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.32: - resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} + /electron-to-chromium@1.5.30: + resolution: {integrity: sha512-sXI35EBN4lYxzc/pIGorlymYNzDBOqkSlVRe6MkgBsW/hW1tpC/HDJ2fjG7XnjakzfLEuvdmux0Mjs6jHq4UOA==} /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -8816,7 +8795,7 @@ packages: object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 + regexp.prototype.flags: 1.5.2 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -8968,12 +8947,12 @@ packages: ignore: 5.3.2 dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1): - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + /eslint-plugin-import@2.30.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1): + resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 peerDependenciesMeta: '@typescript-eslint/parser': optional: true @@ -8997,7 +8976,6 @@ packages: object.groupby: 1.0.3 object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -9270,7 +9248,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) /expo-asset@8.9.2(expo@48.0.21): resolution: {integrity: sha512-aHMaZkIG5/UoguINEHm2ln/KviU2m/yuryslnhCKR3KXRxiLnMhxmrONLGbknuNE0O1iCaprrl1w3y71u01Rpw==} @@ -9292,7 +9270,7 @@ packages: expo: '*' dependencies: '@expo/config': 8.0.5 - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) uuid: 3.4.0 transitivePeerDependencies: - supports-color @@ -9303,7 +9281,7 @@ packages: expo: '*' dependencies: '@expo/config': 8.0.5 - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) uuid: 3.4.0 transitivePeerDependencies: - supports-color @@ -9313,7 +9291,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) uuid: 3.4.0 /expo-file-system@15.3.0(expo@48.0.21): @@ -9321,7 +9299,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) uuid: 3.4.0 /expo-font@11.1.1(expo@48.0.21): @@ -9329,7 +9307,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) fontfaceobserver: 2.3.0 /expo-keep-awake@12.0.1(expo@48.0.21): @@ -9337,7 +9315,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) /expo-modules-autolinking@0.0.3: resolution: {integrity: sha512-azkCRYj/DxbK4udDuDxA9beYzQTwpJ5a9QA0bBgha2jHtWdFGF4ZZWSY+zNA5mtU3KqzYt8jWHfoqgSvKyu1Aw==} @@ -9374,19 +9352,19 @@ packages: expo: '*' dependencies: base64-js: 1.5.1 - expo: 48.0.21(@babel/core@7.25.7) + expo: 48.0.21(@babel/core@7.25.2) optional: true - /expo@48.0.21(@babel/core@7.25.7): + /expo@48.0.21(@babel/core@7.25.2): resolution: {integrity: sha512-Z211SC4wZP4Xd5/RBJhEw4uwSgpfzAvMh6IVdzwEVAJAcV1s48CACcSmIUe+7QJjEPzmb3T5Yo4EJ/JJXJ2o9A==} hasBin: true dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 '@expo/cli': 0.7.3(expo-modules-autolinking@1.2.0) '@expo/config': 8.0.5 '@expo/config-plugins': 6.0.2 '@expo/vector-icons': 13.0.0 - babel-preset-expo: 9.3.2(@babel/core@7.25.7) + babel-preset-expo: 9.3.2(@babel/core@7.25.2) cross-spawn: 6.0.5 expo-application: 5.1.1(expo@48.0.21) expo-asset: 8.9.2(expo@48.0.21) @@ -9535,12 +9513,6 @@ packages: /fast-uri@3.0.2: resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==} - /fast-url-parser@1.1.3: - resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} - dependencies: - punycode: 1.4.1 - dev: true - /fast-xml-parser@4.5.0: resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} hasBin: true @@ -9714,9 +9686,9 @@ packages: /fix-esm@1.0.1: resolution: {integrity: sha512-EZtb7wPXZS54GaGxaWxMlhd1DUDCnAg5srlYdu/1ZVeW+7wwR3Tp59nu52dXByFs3MBRq+SByx1wDOJpRvLEXw==} dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: true @@ -10443,12 +10415,6 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore-walk@3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} - dependencies: - minimatch: 3.1.2 - dev: true - /ignore-walk@6.0.5: resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10969,8 +10935,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.25.7 - '@babel/parser': 7.25.7 + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -10982,8 +10948,8 @@ packages: resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.25.7 - '@babel/parser': 7.25.7 + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -11115,11 +11081,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 '@types/node': 18.19.54 - babel-jest: 29.7.0(@babel/core@7.25.7) + babel-jest: 29.7.0(@babel/core@7.25.2) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -11243,7 +11209,7 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -11383,15 +11349,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/types': 7.25.7 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.7) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -11659,23 +11625,23 @@ packages: /jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - /jscodeshift@0.14.0(@babel/preset-env@7.25.7): + /jscodeshift@0.14.0(@babel/preset-env@7.25.4): resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/preset-env': 7.25.7(@babel/core@7.25.7) - '@babel/preset-flow': 7.25.7(@babel/core@7.25.7) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/register': 7.25.7(@babel/core@7.25.7) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/register': 7.24.6(@babel/core@7.25.2) + babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) chalk: 4.1.2 flow-parser: 0.185.2 graceful-fs: 4.2.11 @@ -11693,9 +11659,13 @@ packages: engines: {node: '>= 6.0.0'} dev: false - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /json-buffer@3.0.1: @@ -11795,8 +11765,8 @@ packages: engines: {node: '>=12'} dev: false - /jsonld-signatures@11.3.1: - resolution: {integrity: sha512-qMtvIHrEjDNe7zWwISxHblnGEcQNEkrQr61yK2XVRKk5JQWJtic607GZIf41Uf847f4irdditawGKbMRCXghdQ==} + /jsonld-signatures@11.3.0: + resolution: {integrity: sha512-+KaA2uWhnQ6eYDYqFoopYS8PcmbAdMuM0RFuycZw5Vh0gZiuMHt5/nCLh/p2x5blPGREntTHCQtI/1TtZ1+CUg==} engines: {node: '>=18'} dependencies: '@digitalbazaar/security-context': 1.0.1 @@ -11970,7 +11940,7 @@ packages: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 19.8.3(nx@19.8.3) + '@nx/devkit': 19.8.2(nx@19.8.2) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 aproba: 2.0.0 @@ -12015,7 +11985,7 @@ packages: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 19.8.3 + nx: 19.8.2 p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -12272,7 +12242,6 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true /make-fetch-happen@13.0.1: resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} @@ -12452,7 +12421,7 @@ packages: /metro-babel-transformer@0.73.10: resolution: {integrity: sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==} dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 hermes-parser: 0.8.0 metro-source-map: 0.73.10 nullthrows: 1.1.1 @@ -12536,108 +12505,108 @@ packages: dependencies: uglify-es: 3.3.9 - /metro-react-native-babel-preset@0.73.10(@babel/core@7.25.7): + /metro-react-native-babel-preset@0.73.10(@babel/core@7.25.2): resolution: {integrity: sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-export-default-from': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-export-default-from': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.7) - '@babel/template': 7.25.7 + '@babel/core': 7.25.2 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-preset@0.73.9(@babel/core@7.25.7): + /metro-react-native-babel-preset@0.73.9(@babel/core@7.25.2): resolution: {integrity: sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-export-default-from': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.7) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.25.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-export-default-from': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.7) - '@babel/template': 7.25.7 + '@babel/core': 7.25.2 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-transformer@0.73.10(@babel/core@7.25.7): + /metro-react-native-babel-transformer@0.73.10(@babel/core@7.25.2): resolution: {integrity: sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.25.7 - babel-preset-fbjs: 3.4.0(@babel/core@7.25.7) + '@babel/core': 7.25.2 + babel-preset-fbjs: 3.4.0(@babel/core@7.25.2) hermes-parser: 0.8.0 metro-babel-transformer: 0.73.10 - metro-react-native-babel-preset: 0.73.10(@babel/core@7.25.7) + metro-react-native-babel-preset: 0.73.10(@babel/core@7.25.2) metro-source-map: 0.73.10 nullthrows: 1.1.1 transitivePeerDependencies: @@ -12651,14 +12620,14 @@ packages: /metro-runtime@0.73.10: resolution: {integrity: sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==} dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 react-refresh: 0.4.3 /metro-source-map@0.73.10: resolution: {integrity: sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 invariant: 2.2.4 metro-symbolicate: 0.73.10 nullthrows: 1.1.1 @@ -12685,10 +12654,10 @@ packages: /metro-transform-plugins@0.73.10: resolution: {integrity: sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==} dependencies: - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -12696,11 +12665,11 @@ packages: /metro-transform-worker@0.73.10: resolution: {integrity: sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==} dependencies: - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/types': 7.25.7 - babel-preset-fbjs: 3.4.0(@babel/core@7.25.7) + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + babel-preset-fbjs: 3.4.0(@babel/core@7.25.2) metro: 0.73.10 metro-babel-transformer: 0.73.10 metro-cache: 0.73.10 @@ -12719,13 +12688,13 @@ packages: resolution: {integrity: sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==} hasBin: true dependencies: - '@babel/code-frame': 7.25.7 - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.7 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.7 + '@babel/code-frame': 7.24.7 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 absolute-path: 0.0.0 accepts: 1.3.8 async: 3.2.6 @@ -12752,7 +12721,7 @@ packages: metro-inspector-proxy: 0.73.10 metro-minify-terser: 0.73.10 metro-minify-uglify: 0.73.10 - metro-react-native-babel-preset: 0.73.10(@babel/core@7.25.7) + metro-react-native-babel-preset: 0.73.10(@babel/core@7.25.2) metro-resolver: 0.73.10 metro-runtime: 0.73.10 metro-source-map: 0.73.10 @@ -13406,8 +13375,8 @@ packages: /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - /nx@19.8.3: - resolution: {integrity: sha512-/3FF4tgwPGRu4bV6O+aHqhTnOGHKF0/HNVkApUwjimSC+YzOX9VH1uBx2eReb4XC1scxDWkIzVi9gkFSXSQDjQ==} + /nx@19.8.2: + resolution: {integrity: sha512-NE88CbEZj8hCrUKiYzL1sB6O1tmgu/OjvTp3pJOoROMvo0kE7N4XT3TiKAge+E6wVRXf/zU55cH1G2u0djpZhA==} hasBin: true requiresBuild: true peerDependencies: @@ -13420,7 +13389,7 @@ packages: optional: true dependencies: '@napi-rs/wasm-runtime': 0.2.4 - '@nrwl/tao': 19.8.3 + '@nrwl/tao': 19.8.2 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.7 @@ -13454,16 +13423,16 @@ packages: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 19.8.3 - '@nx/nx-darwin-x64': 19.8.3 - '@nx/nx-freebsd-x64': 19.8.3 - '@nx/nx-linux-arm-gnueabihf': 19.8.3 - '@nx/nx-linux-arm64-gnu': 19.8.3 - '@nx/nx-linux-arm64-musl': 19.8.3 - '@nx/nx-linux-x64-gnu': 19.8.3 - '@nx/nx-linux-x64-musl': 19.8.3 - '@nx/nx-win32-arm64-msvc': 19.8.3 - '@nx/nx-win32-x64-msvc': 19.8.3 + '@nx/nx-darwin-arm64': 19.8.2 + '@nx/nx-darwin-x64': 19.8.2 + '@nx/nx-freebsd-x64': 19.8.2 + '@nx/nx-linux-arm-gnueabihf': 19.8.2 + '@nx/nx-linux-arm64-gnu': 19.8.2 + '@nx/nx-linux-arm64-musl': 19.8.2 + '@nx/nx-linux-x64-gnu': 19.8.2 + '@nx/nx-linux-x64-musl': 19.8.2 + '@nx/nx-win32-arm64-msvc': 19.8.2 + '@nx/nx-win32-x64-msvc': 19.8.2 transitivePeerDependencies: - debug dev: true @@ -13910,7 +13879,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14263,10 +14232,6 @@ packages: end-of-stream: 1.4.4 once: 1.4.0 - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true - /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -14382,12 +14347,12 @@ packages: /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - /react-native-codegen@0.71.6(@babel/preset-env@7.25.7): + /react-native-codegen@0.71.6(@babel/preset-env@7.25.4): resolution: {integrity: sha512-e5pR4VldIhEaFctfSAEgxbng0uG4gjBQxAHes3EKLdosH/Av90pQfSe9IDVdFIngvNPzt8Y14pNjrtqov/yNIg==} dependencies: - '@babel/parser': 7.25.7 + '@babel/parser': 7.25.6 flow-parser: 0.185.2 - jscodeshift: 0.14.0(@babel/preset-env@7.25.7) + jscodeshift: 0.14.0(@babel/preset-env@7.25.4) nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' @@ -14403,7 +14368,7 @@ packages: react-native: '*' dependencies: base64-js: 1.5.1 - react-native: 0.71.19(@babel/core@7.25.7)(@babel/preset-env@7.25.7)(react@18.3.1) + react-native: 0.71.19(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1) optional: true /react-native-securerandom@1.0.1(react-native@0.71.19): @@ -14412,10 +14377,10 @@ packages: react-native: '*' dependencies: base64-js: 1.5.1 - react-native: 0.71.19(@babel/core@7.25.7)(@babel/preset-env@7.25.7)(react@18.3.1) + react-native: 0.71.19(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1) dev: false - /react-native@0.71.19(@babel/core@7.25.7)(@babel/preset-env@7.25.7)(react@18.3.1): + /react-native@0.71.19(@babel/core@7.25.2)(@babel/preset-env@7.25.4)(react@18.3.1): resolution: {integrity: sha512-E6Rz4lpe4NC9ZR6zq9AWiB0MAoVeidr+aPu/pmwk5ezvVL/wbQ1Gdj70v7fKMC8Nz5wYFO1S0XUNPUKYaPhfeg==} engines: {node: '>=14'} hasBin: true @@ -14423,7 +14388,7 @@ packages: react: 18.2.0 dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 10.2.7(@babel/core@7.25.7) + '@react-native-community/cli': 10.2.7(@babel/core@7.25.2) '@react-native-community/cli-platform-android': 10.2.0 '@react-native-community/cli-platform-ios': 10.2.5 '@react-native/assets': 1.0.0 @@ -14439,7 +14404,7 @@ packages: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-react-native-babel-transformer: 0.73.10(@babel/core@7.25.7) + metro-react-native-babel-transformer: 0.73.10(@babel/core@7.25.2) metro-runtime: 0.73.10 metro-source-map: 0.73.10 mkdirp: 0.5.6 @@ -14448,7 +14413,7 @@ packages: promise: 8.3.0 react: 18.3.1 react-devtools-core: 4.28.5 - react-native-codegen: 0.71.6(@babel/preset-env@7.25.7) + react-native-codegen: 0.71.6(@babel/preset-env@7.25.4) react-native-gradle-plugin: 0.71.19 react-refresh: 0.4.3 react-shallow-renderer: 16.15.0(react@18.3.1) @@ -14643,10 +14608,10 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 - /regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -14654,25 +14619,22 @@ packages: es-errors: 1.3.0 set-function-name: 2.0.2 - /regexpu-core@6.1.1: - resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} dependencies: + '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.11.0 + regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.0 - /regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - /regjsparser@0.11.0: - resolution: {integrity: sha512-vTbzVAjQDzwQdKuvj7qEq6OlAprCjE656khuGQ4QaBLg7abQ9I9ISpmLuc6inWe7zP75AECjqUa4g4sdQvOXhg==} + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: - jsesc: 3.0.2 + jsesc: 0.5.0 /remove-trailing-slash@0.1.1: resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} @@ -15336,12 +15298,6 @@ packages: resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} engines: {node: '>= 0.10.0'} - /stream-events@1.0.5: - resolution: {integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==} - dependencies: - stubs: 3.0.0 - dev: true - /string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -15366,24 +15322,6 @@ packages: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.3 - set-function-name: 2.0.2 - side-channel: 1.0.6 - dev: false - /string.prototype.padend@3.1.6: resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} @@ -15517,10 +15455,6 @@ packages: /structured-headers@0.4.1: resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} - /stubs@3.0.0: - resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} - dev: true - /sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -15640,20 +15574,6 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /teeny-request@7.1.1: - resolution: {integrity: sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==} - engines: {node: '>=10'} - dependencies: - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - node-fetch: 2.6.12 - stream-events: 1.0.5 - uuid: 8.3.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /temp-dir@1.0.0: resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} engines: {node: '>=4'} @@ -15852,7 +15772,7 @@ packages: resolution: {integrity: sha512-4IKKvhZRXhvtYF/mtu+OCfBqJKV6LczUq4kQYcpT+iSB7++R9+giWnp2ecwWMIcnG16btVOkXFnoxLSYMN1Q1g==} dev: true - /ts-jest@29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -15876,7 +15796,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 @@ -15890,7 +15810,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.2.5(@babel/core@7.25.7)(jest@29.7.0)(typescript@5.5.3): + /ts-jest@29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.5.3): resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -15914,7 +15834,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.25.7 + '@babel/core': 7.25.2 bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 @@ -15971,7 +15891,6 @@ packages: typescript: 5.5.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-typed-json@0.3.2: resolution: {integrity: sha512-Tdu3BWzaer7R5RvBIJcg9r8HrTZgpJmsX+1meXMJzYypbkj8NK2oJN0yvm4Dp/Iv6tzFa/L5jKRmEVTga6K3nA==} @@ -16215,7 +16134,7 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typeorm@0.3.20: + /typeorm@0.3.20(ts-node@10.9.2): resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} engines: {node: '>=16.13.0'} hasBin: true @@ -16285,6 +16204,7 @@ packages: mkdirp: 2.1.6 reflect-metadata: 0.2.2 sha.js: 2.4.11 + ts-node: 10.9.2(@types/node@18.19.54)(typescript@5.5.3) tslib: 2.7.0 uuid: 9.0.1 yargs: 17.7.2 @@ -16490,12 +16410,6 @@ packages: querystringify: 2.2.0 requires-port: 1.0.0 - /urlgrey@1.0.0: - resolution: {integrity: sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==} - dependencies: - fast-url-parser: 1.1.3 - dev: true - /use-sync-external-store@1.2.2(react@18.3.1): resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: @@ -16543,7 +16457,6 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true /v8-to-istanbul@9.3.0: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} @@ -17002,7 +16915,6 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}