import { W3CVerifiablePresentation, CompactSdJwtVc, MdocOid4vpIssuerSigned, PresentationSubmission as PresentationSubmission$1, HasherSync, Format, WrappedVerifiablePresentation, WrappedMdocCredential, WrappedSdJwtVerifiableCredential, WrappedW3CVerifiableCredential, W3CVerifiableCredential, AdditionalClaims, WrappedVerifiableCredential, ISimpleLogger, IIssuerId } from '@sphereon/ssi-types';
import { JarmDirectPostJwtResponseParams, JarmAuthResponseParams, JarmClientMetadata, JarmServerMetadata } from '@sphereon/jarm';
import { JwtIssuer, JwtHeader, SigningAlgo, DynamicRegistrationClientMetadata, CreateJwtCallback as CreateJwtCallback$1, JwtIssuanceContextBase, VerifyJwtCallbackBase, DidJwtVerifier, X5cJwtVerifier, CustomJwtVerifier, JwkJwtVerifier as JwkJwtVerifier$1, OpenIdFederationJwtVerifier, JwtPayload, JwtType } from '@sphereon/oid4vc-common';
import { DcqlQuery, DcqlPresentation, DcqlPresentationResult, DcqlMdocCredential, DcqlSdJwtVcCredential, DcqlW3cVcCredential } from 'dcql';
import { z } from 'zod';
import { PresentationSignCallBackParams } from '@sphereon/pex';
import { EventEmitter } from 'events';

declare enum SIOPErrors {
    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",
    BAD_STATE = "The state in the payload does not match the supplied state",
    BAD_NONCE = "The nonce in the payload does not match the supplied nonce",
    NO_ALG_SUPPORTED = "Algorithm not supported.",
    BAD_PARAMS = "Wrong parameters provided.",
    BAD_IDTOKEN_RESPONSE_OPTS = "Id-token response options are not set.",
    NO_REQUEST_VERSION = "No request spec version provided.",
    NO_REQUEST = "No request (payload) provided.",
    NO_RESPONSE = "No response (payload) provided.",
    NO_PRESENTATION_SUBMISSION = "The VP did not contain a presentation submission. Did you forget to call PresentationExchange.checkSubmissionFrom?",
    BAD_VERIFIER_ATTESTATION = "Invalid verifier attestation. Bad JWT structure.",
    BAD_VERIFIER_ATTESTATION_REDIRECT_URIS = "Invalid verifier attestation. redirect_uri cannot be found in the the attestation jwts's redirect_uris.",
    CREDENTIAL_FORMATS_NOT_SUPPORTED = "CREDENTIAL_FORMATS_NOT_SUPPORTED",
    CREDENTIALS_FORMATS_NOT_PROVIDED = "Credentials format not provided by RP/OP",
    COULD_NOT_FIND_VCS_MATCHING_PD = "Could not find VerifiableCredentials matching presentationDefinition object in the provided VC list",
    DIDAUTH_REQUEST_PAYLOAD_NOT_CREATED = "DidAuthRequestPayload not created",
    DID_METHODS_NOT_SUPORTED = "DID_METHODS_NOT_SUPPORTED",
    ERROR_VERIFYING_SIGNATURE = "Error verifying the DID Auth Token signature.",
    INVALID_JWT = "Received an invalid JWT.",
    MISSING_X5C_HEADER_WITH_CLIENT_ID_SCHEME_X509 = "Missing x5c header with client_id_scheme 'x509_san_dns' | 'x509_san_uri'.",
    MISSING_KID_HEADER_WITH_CLIENT_ID_SCHEME_DID = "Missing kid header with client_id_scheme 'did'.",
    MISSING_ATTESTATION_JWT_WITH_CLIENT_ID_SCHEME_ATTESTATION = "Missing jwt header jwt with client_id_scheme 'verifier_attestation'.",
    MISSING_ATTESTATION_JWT_TYP = "Attestation JWT missing typ 'verifier-attestation+jwt'.",
    INVALID_CLIENT_ID_SCHEME = "Invalid client_id_scheme.",
    INVALID_REQUEST_OBJECT_ENTITY_ID_SCHEME_CLIENT_ID = "Request Object uses client_id_scheme 'entity_id', but the entity_id is missing or not an https endpoint.",
    EXPIRED = "The token has expired",
    INVALID_AUDIENCE = "Audience is invalid. Should be a string value.",
    NO_AUDIENCE = "No audience found in JWT payload or not configured",
    NO_JWT = "no JWT was supplied",
    NO_NONCE = "No nonce found in JWT payload",
    NO_REFERENCE_URI = "referenceUri must be defined when REFERENCE option is used",
    REFERENCE_URI_NO_PAYLOAD = "referenceUri specified, but object to host there is not present",
    NO_SELF_ISSUED_ISS = "The Response Token Issuer Claim (iss) MUST start with https://self-isued.me/v2",
    REGISTRATION_NOT_SET = "Registration metadata not set.",
    REQUEST_CLAIMS_PRESENTATION_NON_EXCLUSIVE = "Request claims can't have multiple of 'presentation_definition', 'presentation_definition_uri' and 'dcql_query",
    REQUEST_CLAIMS_PRESENTATION_DEFINITION_NOT_VALID = "Presentation definition in the request claims is not valid",
    REQUEST_OBJECT_TYPE_NOT_SET = "Request object type is not set.",
    RESPONSE_OPTS_PRESENTATIONS_SUBMISSION_IS_NOT_VALID = "presentation_submission object inside the response opts vp should be valid",
    RESPONSE_STATUS_UNEXPECTED = "Received unexpected response status",
    REG_OBJ_N_REG_URI_CANT_BE_SET_SIMULTANEOUSLY = "Registration can either be passed by value or passed by reference. Hence, registration object and registration URI can not be set simultaneously",
    REG_OBJ_MALFORMED = "The registration object is malformed.",
    REG_PASS_BY_REFERENCE_INCORRECTLY = "Request error",
    REGISTRATION_OBJECT_TYPE_NOT_SET = "Registration object type is not set.",
    SIOP_VERSION_NOT_SUPPORTED = "The SIOP spec version could not inferred from the authentication request payload",
    NO_VERIFIABLE_PRESENTATION_NO_CREDENTIALS = "Either no verifiable presentation or no credentials found in the verifiable presentation",
    VERIFY_BAD_PARAMS = "Verify bad parameters",
    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."
}

interface EcdsaSignature {
    r: string;
    s: string;
    recoveryParam?: number | null;
}
interface JWTPayload {
    iss?: string;
    sub?: string;
    aud?: string | string[];
    iat?: number;
    nbf?: number;
    type?: string;
    exp?: number;
    rexp?: number;
    jti?: string;
    [x: string]: any;
}
interface VerifiedJWT {
    payload: Partial<JWTPayload>;
    issuer: string;
    jwt: string;
}
/**
 * JSON Web Key ({@link https://www.rfc-editor.org/rfc/rfc7517 JWK}). "RSA", "EC", "OKP", and "oct"
 * key types are supported.
 */
interface JWK {
    /** JWK "alg" (Algorithm) Parameter. */
    alg?: string;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    /** JWK "ext" (Extractable) Parameter. */
    ext?: boolean;
    k?: string;
    /** JWK "key_ops" (Key Operations) Parameter. */
    key_ops?: string[];
    /** JWK "kid" (Key ID) Parameter. */
    kid?: string;
    /** JWK "kty" (Key Type) Parameter. */
    kty?: string;
    n?: string;
    oth?: Array<{
        d?: string;
        r?: string;
        t?: string;
    }>;
    p?: string;
    q?: string;
    qi?: string;
    /** JWK "use" (Public Key Use) Parameter. */
    use?: string;
    x?: string;
    y?: string;
    /** JWK "x5c" (X.509 Certificate Chain) Parameter. */
    x5c?: string[];
    /** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
    x5t?: string;
    /** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
    'x5t#S256'?: string;
    /** JWK "x5u" (X.509 URL) Parameter. */
    x5u?: string;
    [propName: string]: unknown;
}
type DecryptCompact = (input: {
    jwk: {
        kid: string;
    };
    jwe: string;
}) => Promise<{
    plaintext: string;
    protectedHeader: Record<string, unknown> & {
        alg: string;
        enc: string;
    };
}>;

interface RequestObjectOpts<CT extends ClaimPayloadCommonOpts> extends ObjectBy {
    payload?: RequestObjectPayloadOpts<CT>;
    createJwtCallback: CreateJwtCallback;
    jwtIssuer: JwtIssuer;
}

declare class RequestObject {
    private payload;
    private jwt?;
    private readonly opts;
    private constructor();
    /**
     * Create a request object that typically is used as a JWT on RP side, typically this method is called automatically when creating an Authorization Request, but you could use it directly!
     *
     * @param authorizationRequestOpts Request Object options to build a Request Object
     * @remarks This method is used to generate a SIOP request Object.
     * First it generates the request object payload, and then it a signed JWT can be accessed on request.
     *
     * Normally you will want to use the Authorization Request class. That class creates a URI that includes the JWT from this class in the URI
     * If you do use this class directly, you can call the `convertRequestObjectToURI` afterwards to get the URI.
     * Please note that the Authorization Request allows you to differentiate between OAuth2 and OpenID parameters that become
     * part of the URI and which become part of the Request Object. If you generate a URI based upon the result of this class,
     * the URI will be constructed based on the Request Object only!
     */
    static fromOpts(authorizationRequestOpts: CreateAuthorizationRequestOpts): Promise<RequestObject>;
    static fromJwt(requestObjectJwt: RequestObjectJwt | undefined): Promise<RequestObject | undefined>;
    static fromPayload(requestObjectPayload: RequestObjectPayload, authorizationRequestOpts: CreateAuthorizationRequestOpts): Promise<RequestObject>;
    static fromAuthorizationRequestPayload(payload: AuthorizationRequestPayload): Promise<RequestObject | undefined>;
    toJwt(): Promise<RequestObjectJwt | undefined>;
    getPayload(): RequestObjectPayload | undefined;
    assertValid(): Promise<void>;
    get options(): RequestObjectOpts<ClaimPayloadCommonOpts | ClaimPayloadOpts> | undefined;
    private removeRequestProperties;
    private static mergeOAuth2AndOpenIdProperties;
}

declare const createRequestObjectPayload: (opts: CreateAuthorizationRequestOpts) => Promise<RequestObjectPayload | undefined>;
declare const assertValidRequestObjectPayload: (verPayload: RequestObjectPayload | undefined) => void;

declare class IDToken {
    private _header?;
    private _payload?;
    private _jwt?;
    private readonly _responseOpts;
    private constructor();
    static fromVerifiedAuthorizationRequest(verifiedAuthorizationRequest: VerifiedAuthorizationRequest, responseOpts: AuthorizationResponseOpts, verifyOpts?: VerifyAuthorizationResponseOpts): Promise<IDToken>;
    static fromIDToken(idTokenJwt: IDTokenJwt, verifyOpts?: VerifyAuthorizationResponseOpts): Promise<IDToken>;
    static fromIDTokenPayload(idTokenPayload: IDTokenPayload, responseOpts: AuthorizationResponseOpts, verifyOpts?: VerifyAuthorizationResponseOpts): Promise<IDToken>;
    payload(): IDTokenPayload;
    jwt(_jwtIssuer: JwtIssuer): Promise<IDTokenJwt>;
    private parseAndVerifyJwt;
    /**
     * Verifies a SIOP ID Response JWT on the RP Side
     *
     * @param verifyOpts
     */
    verify(verifyOpts: VerifyAuthorizationResponseOpts): Promise<VerifiedIDToken>;
    static verify(idTokenJwt: IDTokenJwt, verifyOpts: VerifyAuthorizationResponseOpts): Promise<VerifiedIDToken>;
    private assertValidResponseJWT;
    get header(): JwtHeader;
    get responseOpts(): AuthorizationResponseOpts;
    isSelfIssued(): Promise<boolean>;
}

declare const createIDTokenPayload: (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, responseOpts: AuthorizationResponseOpts) => Promise<IDTokenPayload>;

interface AuthorizationResponseOpts {
    responseURI?: string;
    responseURIType?: ResponseURIType;
    registration?: ResponseRegistrationOpts;
    version?: SupportedVersion;
    audience?: string;
    createJwtCallback: CreateJwtCallback;
    jwtIssuer?: JwtIssuer;
    responseMode?: ResponseMode;
    responseType?: [ResponseType];
    expiresIn?: number;
    accessToken?: string;
    tokenType?: string;
    refreshToken?: string;
    dcqlResponse?: DcqlResponseOpts;
    isFirstParty?: boolean;
}
interface DcqlResponseOpts {
    dcqlPresentation: DcqlVpTokenInput;
}
interface DcqlQueryPayloadOpts {
    dcql_query: Record<string, any>;
}
interface VerifiablePresentationWithSubmissionData extends VerifiablePresentationWithFormat {
    vpTokenLocation: VPTokenLocation;
    submissionData: PresentationSubmission$1;
}
declare enum VPTokenLocation {
    AUTHORIZATION_RESPONSE = "authorization_response",
    ID_TOKEN = "id_token",
    TOKEN_RESPONSE = "token_response"
}
type PresentationVerificationResult = {
    verified: boolean;
    reason?: string;
};
type PresentationVerificationCallback = (args: W3CVerifiablePresentation | CompactSdJwtVc | MdocOid4vpIssuerSigned, presentationSubmission?: PresentationSubmission$1) => Promise<PresentationVerificationResult>;
type PresentationSignCallback = (args: PresentationSignCallBackParams) => Promise<W3CVerifiablePresentation | CompactSdJwtVc>;
type DcqlQueryLookupCallback = (queryId: string, version?: string, tenantId?: string) => Promise<DcqlQuery>;
interface VerifyAuthorizationResponseOpts {
    correlationId: string;
    verification: Verification;
    verifyJwtCallback: VerifyJwtCallback;
    hasher?: HasherSync;
    nonce?: string;
    state?: string;
    dcqlQuery?: DcqlQuery;
    audience?: string;
    restrictToFormats?: Format;
    restrictToDIDMethods?: string[];
}
interface AuthorizationResponseWithCorrelationId {
    responseURI: string;
    response: AuthorizationResponse;
    correlationId: string;
}
interface CreateAuthorizationResponseOpts {
    jwtIssuer?: JwtIssuer;
    version?: SupportedVersion;
    correlationId?: string;
    audience?: string;
    issuer?: ResponseIss | string;
    verification?: Verification;
    dcqlResponse?: DcqlResponseOpts;
    isFirstParty?: boolean;
}

declare class AuthorizationResponse {
    private readonly _authorizationRequest?;
    private readonly _idToken?;
    private readonly _payload;
    private readonly _options?;
    private constructor();
    /**
     * Creates a SIOP Response Object
     *
     * @param requestObject
     * @param responseOpts
     * @param verifyOpts
     */
    static fromRequestObject(requestObject: string, responseOpts: AuthorizationResponseOpts, verifyOpts: VerifyAuthorizationRequestOpts): Promise<AuthorizationResponse>;
    static fromPayload(authorizationResponsePayload: AuthorizationResponsePayload, responseOpts?: AuthorizationResponseOpts): Promise<AuthorizationResponse>;
    static fromAuthorizationRequest(authorizationRequest: AuthorizationRequest, responseOpts: AuthorizationResponseOpts, verifyOpts: VerifyAuthorizationRequestOpts): Promise<AuthorizationResponse>;
    static fromVerifiedAuthorizationRequest(verifiedAuthorizationRequest: VerifiedAuthorizationRequest, responseOpts: AuthorizationResponseOpts, verifyOpts: VerifyAuthorizationRequestOpts): Promise<AuthorizationResponse>;
    verify(verifyOpts: VerifyAuthorizationResponseOpts): Promise<VerifiedAuthorizationResponse>;
    get authorizationRequest(): AuthorizationRequest | undefined;
    get payload(): AuthorizationResponsePayload;
    get options(): AuthorizationResponseOpts | undefined;
    get idToken(): IDToken | undefined;
    getMergedProperty<T>(key: string, opts?: {
        consistencyCheck?: boolean;
        hasher?: HasherSync;
    }): T | undefined;
    mergedPayloads(opts?: {
        consistencyCheck?: boolean;
        hasher?: HasherSync;
    }): AuthorizationResponsePayload;
}

declare const createResponsePayload: (authorizationRequest: AuthorizationRequest, responseOpts: AuthorizationResponseOpts, idTokenPayload?: IDTokenPayload) => Promise<AuthorizationResponsePayload | undefined>;
/**
 * Properties can be in oAUth2 and OpenID (JWT) style. If they are in both the OpenID prop takes precedence as they are signed.
 * @param payload
 * @param requestObject
 */
declare const mergeOAuth2AndOpenIdInRequestPayload: (payload: AuthorizationRequestPayload, requestObject?: RequestObject) => Promise<AuthorizationRequestPayload>;

declare const createDiscoveryMetadataPayload: (opts: DiscoveryMetadataOpts) => DiscoveryMetadataPayload;

declare const extractNonceFromWrappedVerifiablePresentation: (wrappedVp: WrappedVerifiablePresentation) => string | undefined;
declare const verifyPresentations: (authorizationResponse: AuthorizationResponse, verifyOpts: VerifyAuthorizationResponseOpts) => Promise<{
    dcql: VerifiedOpenID4VPSubmission;
}>;
declare const extractDcqlPresentationFromDcqlVpToken: (vpToken: DcqlPresentation.Input | string, opts?: {
    hasher?: HasherSync;
}) => PresentationSubmission;
declare const extractPresentationsFromDcqlVpToken: (vpToken: DcqlPresentation.Input | string, opts?: {
    hasher?: HasherSync;
}) => WrappedVerifiablePresentation[];
declare const hasCryptographicHolderBinding: (format: "mso_mdoc" | "dc+sd-jwt" | "jwt_vc_json" | "ldp_vc", vc: WrappedMdocCredential | WrappedSdJwtVerifiableCredential | WrappedW3CVerifiableCredential) => boolean;

/**
 * Finds a valid DcqlQuery inside the given AuthenticationRequestPayload
 * throws exception if the DcqlQuery is not valid
 * returns the decoded dcql query if a valid instance found
 * @param authorizationRequestPayload object that can have a dcql_query inside
 * @param version
 */
declare class Dcql {
    static findValidDcqlQuery: (authorizationRequestPayload: AuthorizationRequestPayload, version?: SupportedVersion) => Promise<DcqlQuery | undefined>;
    static getDcqlPresentationResult: (record: DcqlPresentation | string, dcqlQuery: DcqlQuery, opts: {
        hasher?: HasherSync;
    }) => DcqlPresentationResult.Output;
    static toDcqlMdocCredential: (vc: WrappedMdocCredential) => DcqlMdocCredential;
    static toDcqlSdJwtCredential: (vc: WrappedSdJwtVerifiableCredential) => DcqlSdJwtVcCredential;
    static toDcqlJwtCredential: (vc: WrappedW3CVerifiableCredential) => DcqlW3cVcCredential;
    static toDcqlJsonLdCredential: (vc: WrappedW3CVerifiableCredential) => DcqlW3cVcCredential;
    static assertValidDcqlPresentationResult: (record: DcqlPresentation | string, dcqlQuery: DcqlQuery, opts: {
        hasher?: HasherSync;
    }) => Promise<{
        credential_matches: {
            [x: string]: {
                success: true;
                valid_credentials: [{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    };
                    success: true;
                    input_credential_index: number;
                }, ...{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    };
                    success: true;
                    input_credential_index: number;
                }[]];
                credential_query_id: string;
                failed_credentials?: [{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_claims: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]];
                        failed_claim_sets: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        valid_claim_sets?: undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_trusted_authorities: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]];
                        valid_trusted_authority?: undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    } | {
                        output: unknown;
                        issues: {
                            [x: string]: unknown;
                        };
                        success: false;
                    };
                    success: false;
                    input_credential_index: number;
                }, ...{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_claims: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]];
                        failed_claim_sets: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        valid_claim_sets?: undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_trusted_authorities: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]];
                        valid_trusted_authority?: undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    } | {
                        output: unknown;
                        issues: {
                            [x: string]: unknown;
                        };
                        success: false;
                    };
                    success: false;
                    input_credential_index: number;
                }[]] | undefined;
            } | {
                success: false;
                credential_query_id: string;
                valid_credentials?: undefined;
                failed_credentials?: [{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_claims: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]];
                        failed_claim_sets: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        valid_claim_sets?: undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_trusted_authorities: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]];
                        valid_trusted_authority?: undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    } | {
                        output: unknown;
                        issues: {
                            [x: string]: unknown;
                        };
                        success: false;
                    };
                    success: false;
                    input_credential_index: number;
                }, ...{
                    claims: {
                        success: true;
                        valid_claim_sets: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_set_index: number | undefined;
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                            failed_claim_indexes?: undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claims?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        failed_claim_sets?: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_claims: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]];
                        failed_claim_sets: [{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }, ...{
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            claim_set_index: number | undefined;
                            failed_claim_indexes: [number, ...number[]];
                            valid_claim_indexes?: [number, ...number[]] | undefined;
                        }[]];
                        valid_claims?: [{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }, ...{
                            output: {
                                [x: string]: string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[])[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any)[];
                                } | (string | number | boolean | {
                                    [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
                                } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[];
                            } | {
                                [x: string]: {
                                    [x: string]: unknown;
                                };
                            };
                            success: true;
                            claim_index: number;
                            claim_id?: string | undefined;
                        }[]] | undefined;
                        valid_claim_sets?: undefined;
                    };
                    trusted_authorities: {
                        success: true;
                        valid_trusted_authority?: undefined;
                        failed_trusted_authorities?: undefined;
                    } | {
                        success: true;
                        valid_trusted_authority: {
                            output: {
                                type: "aki" | "etsi_tl" | "openid_federation";
                                value: string;
                            };
                            success: true;
                            trusted_authority_index: number;
                        };
                        failed_trusted_authorities?: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]] | undefined;
                    } | {
                        success: false;
                        failed_trusted_authorities: [{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }, ...{
                            output: unknown;
                            issues: {
                                [x: string]: unknown;
                            };
                            success: false;
                            trusted_authority_index: number;
                        }[]];
                        valid_trusted_authority?: undefined;
                    };
                    meta: {
                        output: {
                            cryptographic_holder_binding: boolean;
                            credential_format: "vc+sd-jwt" | "dc+sd-jwt";
                            vct: string;
                        } | {
                            cryptographic_holder_binding: boolean;
                            credential_format: "mso_mdoc";
                            doctype: string;
                        } | {
                            type: string[];
                            cryptographic_holder_binding: boolean;
                            credential_format: "ldp_vc" | "jwt_vc_json";
                        };
                        success: true;
                    } | {
                        output: unknown;
                        issues: {
                            [x: string]: unknown;
                        };
                        success: false;
                    };
                    success: false;
                    input_credential_index: number;
                }[]] | undefined;
            };
        };
        can_be_satisfied: boolean;
        credential_sets?: [{
            options: [string[], ...string[][]];
            required: boolean;
            matching_options: [string[], ...string[][]] | undefined;
            purpose?: string | number | {
                [x: string]: unknown;
            } | undefined;
        }, ...{
            options: [string[], ...string[][]];
            required: boolean;
            matching_options: [string[], ...string[][]] | undefined;
            purpose?: string | number | {
                [x: string]: unknown;
            } | undefined;
        }[]] | undefined;
    }>;
}

interface ClaimPayloadOpts extends ClaimPayloadCommonOpts {
    id_token?: IdTokenClaimPayload;
    vp_token?: DcqlQueryPayloadOpts;
}
interface ClaimPayloadCommonOpts {
    [x: string]: any;
}
interface AuthorizationRequestPayloadOpts<CT extends ClaimPayloadCommonOpts> extends Partial<RequestObjectPayloadOpts<CT>> {
    request_uri?: string;
    dcql_query?: Record<string, any>;
}
interface RequestObjectPayloadOpts<CT extends ClaimPayloadCommonOpts> {
    scope: string;
    response_type: string;
    client_id: string;
    redirect_uri?: string;
    response_uri?: string;
    id_token_hint?: string;
    claims?: CT;
    nonce?: string;
    state?: string;
    aud?: string;
    dcql_query?: Record<string, any>;
    authorization_endpoint?: string;
    response_mode: ResponseMode;
    response_types_supported?: ResponseType[] | ResponseType;
    scopes_supported?: Scope[] | Scope;
    subject_types_supported?: SubjectType[] | SubjectType;
    request_object_signing_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    [x: string]: any;
}
interface AuthorizationRequestCommonOpts<CT extends ClaimPayloadCommonOpts> {
    version: SupportedVersion;
    clientMetadata?: ClientMetadataOpts;
    payload?: AuthorizationRequestPayloadOpts<CT>;
    requestObject: RequestObjectOpts<CT>;
    uriScheme?: Schema | string;
}
interface AuthorizationRequestOptsV1 extends AuthorizationRequestCommonOpts<ClaimPayloadCommonOpts> {
    idTokenType?: string;
    transaction_data?: string[];
    verifier_info?: RelyingPartyAttestation[];
    request_uri_method?: RequestUriMethod;
}
type CreateAuthorizationRequestOpts = AuthorizationRequestOptsV1;
interface VerifyAuthorizationRequestOpts {
    correlationId: string;
    verification: Verification;
    verifyJwtCallback: VerifyJwtCallback;
    nonce?: string;
    state?: string;
    supportedVersions?: SupportedVersion[];
    hasher?: HasherSync;
}
/**
 * Determines where a property will end up. Methods that support this argument are optional. If you do not provide any value it will default to all targets.
 */
declare enum PropertyTarget {
    AUTHORIZATION_REQUEST = "authorization-request",
    REQUEST_OBJECT = "request-object"
}
type PropertyTargets = PropertyTarget | PropertyTarget[];
interface RequestPropertyWithTargets<T> {
    targets?: PropertyTargets;
    propertyValue: T;
}

declare class URI implements AuthorizationRequestURI {
    private readonly _scheme;
    private readonly _requestObjectJwt;
    private readonly _authorizationRequestPayload;
    private readonly _encodedUri;
    private readonly _encodingFormat;
    private _registrationMetadataPayload;
    private constructor();
    static fromUri(uri: string): Promise<URI>;
    /**
     * Create a signed URL encoded URI with a signed SIOP request token on RP side
     *
     * @param opts Request input data to build a  SIOP Request Token
     * @remarks This method is used to generate a SIOP request with info provided by the RP.
     * First it generates the request payload and then it creates the signed JWT, which is returned as a URI
     *
     * Normally you will want to use this method to create the request.
     */
    static fromOpts(opts: CreateAuthorizationRequestOpts): Promise<URI>;
    toAuthorizationRequest(): Promise<AuthorizationRequest>;
    get requestObjectBy(): ObjectBy;
    get metadataObjectBy(): ObjectBy;
    /**
     * Create a URI from the request object, typically you will want to use the createURI version!
     *
     * @remarks This method is used to generate a SIOP request Object with info provided by the RP.
     * First it generates the request object payload, and then it creates the signed JWT.
     *
     * Please note that the createURI method allows you to differentiate between OAuth2 and OpenID parameters that become
     * part of the URI and which become part of the Request Object. If you generate a URI based upon the result of this method,
     * the URI will be constructed based on the Request Object only!
     */
    static fromRequestObject(requestObject: RequestObject): Promise<URI>;
    static fromAuthorizationRequest(authorizationRequest: AuthorizationRequest): Promise<URI>;
    /**
     * Creates an URI Request
     * @param opts Options to define the Uri Request
     * @param authorizationRequestPayload
     * @param requestObject
     */
    private static fromAuthorizationRequestPayload;
    /**
     * Create a Authentication Request Payload from a URI string
     *
     * @param uri
     */
    static parse(uri: string): {
        scheme: string;
        authorizationRequestPayload: AuthorizationRequestPayload;
    };
    static parseAndResolve(uri: string, rpRegistrationMetadata?: RPRegistrationMetadataPayload): Promise<{
        scheme: string;
        authorizationRequestPayload: AuthorizationRequestPayload;
        requestObjectJwt: string;
        registrationMetadata: RPRegistrationMetadataPayload;
    }>;
    get encodingFormat(): UrlEncodingFormat;
    get encodedUri(): string;
    get authorizationRequestPayload(): AuthorizationRequestPayload;
    get requestObjectJwt(): RequestObjectJwt | undefined;
    get scheme(): string;
    get registrationMetadataPayload(): RPRegistrationMetadataPayload;
}

declare class AuthorizationRequest {
    private readonly _requestObject?;
    private readonly _payload;
    private readonly _options;
    private _uri;
    private constructor();
    static fromUriOrJwt(jwtOrUri: string | URI): Promise<AuthorizationRequest>;
    static fromPayload(payload: AuthorizationRequestPayload): Promise<AuthorizationRequest>;
    static fromOpts(opts: CreateAuthorizationRequestOpts, requestObject?: RequestObject): Promise<AuthorizationRequest>;
    get payload(): AuthorizationRequestPayload;
    get requestObject(): RequestObject | undefined;
    get options(): CreateAuthorizationRequestOpts | undefined;
    hasRequestObject(): boolean;
    getSupportedVersion(): Promise<SupportedVersion>;
    getSupportedVersionsFromPayload(): Promise<SupportedVersion[]>;
    uri(): Promise<URI>;
    /**
     * Verifies a SIOP Request JWT on OP side
     *
     * @param opts
     */
    verify(opts: VerifyAuthorizationRequestOpts): Promise<VerifiedAuthorizationRequest>;
    static verify(requestOrUri: string, verifyOpts: VerifyAuthorizationRequestOpts): Promise<VerifiedAuthorizationRequest>;
    requestObjectJwt(): Promise<RequestObjectJwt | undefined>;
    private static fromJwt;
    private static fromURI;
    toStateInfo(): Promise<RequestStateInfo>;
    containsResponseType(singleType: ResponseType | string): Promise<boolean>;
    getMergedProperty<T>(key: string): T | undefined;
    mergedPayloads(): RequestObjectPayload;
    getDcqlQuery(): Promise<DcqlQuery | undefined>;
}

declare const createClaimsProperties: (opts: ClaimPayloadOpts) => Promise<ClaimPayload | undefined>;
declare const createAuthorizationRequestPayload: (opts: CreateAuthorizationRequestOpts, requestObject?: RequestObject) => Promise<AuthorizationRequestPayload>;
declare const assertValidRPRegistrationMedataPayload: (regObj: RPRegistrationMetadataPayload) => void;

interface IRPSessionManager {
    getRequestStateByCorrelationId(correlationId: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getRequestStateByNonce(nonce: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getRequestStateByState(state: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getResponseStateByCorrelationId(correlationId: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    getResponseStateByNonce(nonce: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    getResponseStateByState(state: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    getCorrelationIdByNonce(nonce: string, errorOnNotFound?: boolean): Promise<string | undefined>;
    getCorrelationIdByState(state: string, errorOnNotFound?: boolean): Promise<string | undefined>;
    deleteStateForCorrelationId(correlationId: string): Promise<void>;
}

declare class RPBuilder {
    requestObjectBy: ObjectBy;
    createJwtCallback?: CreateJwtCallback;
    verifyJwtCallback?: VerifyJwtCallback;
    revocationVerification?: RevocationVerification;
    revocationVerificationCallback?: RevocationVerificationCallback;
    presentationVerificationCallback?: PresentationVerificationCallback;
    dcqlQueryLookupCallback?: DcqlQueryLookupCallback;
    supportedVersions: SupportedVersion[];
    eventEmitter?: EventEmitter;
    sessionManager?: IRPSessionManager;
    _responseRedirectUri?: string;
    private _authorizationRequestPayload;
    private _requestObjectPayload;
    clientMetadata?: ClientMetadataOpts;
    clientId: string;
    entityId: string;
    hasher: HasherSync;
    private constructor();
    withScope(scope: string, targets?: PropertyTargets): RPBuilder;
    withResponseType(responseType: ResponseType | ResponseType[] | string, targets?: PropertyTargets): RPBuilder;
    withHasher(hasher: HasherSync): RPBuilder;
    withClientId(clientId: string, targets?: PropertyTargets): RPBuilder;
    withEntityId(entityId: string, targets?: PropertyTargets): RPBuilder;
    withIssuer(issuer: ResponseIss, targets?: PropertyTargets): RPBuilder;
    withAudience(issuer: RequestAud, targets?: PropertyTargets): RPBuilder;
    withPresentationVerification(presentationVerificationCallback: PresentationVerificationCallback): RPBuilder;
    withRevocationVerification(mode: RevocationVerification): RPBuilder;
    withRevocationVerificationCallback(callback: RevocationVerificationCallback): RPBuilder;
    withAuthorizationEndpoint(authorizationEndpoint: string, targets?: PropertyTargets): RPBuilder;
    withRedirectUri(redirectUri: string, targets?: PropertyTargets): RPBuilder;
    withResponseRedirectUri(responseRedirectUri: string): RPBuilder;
    withResponseUri(redirectUri: string, targets?: PropertyTargets): RPBuilder;
    withRequestByReference(referenceUri: string): RPBuilder;
    withRequestByValue(): RPBuilder;
    withRequestBy(passBy: PassBy, referenceUri?: string): RPBuilder;
    withResponseMode(responseMode: ResponseMode, targets?: PropertyTargets): RPBuilder;
    withClientMetadata(clientMetadata: ClientMetadataOpts, targets?: PropertyTargets): RPBuilder;
    withCreateJwtCallback(createJwtCallback: CreateJwtCallback): RPBuilder;
    withVerifyJwtCallback(verifyJwtCallback: VerifyJwtCallback): RPBuilder;
    withDcqlQueryLookup(dcqlQueryLookupCallback: DcqlQueryLookupCallback): RPBuilder;
    withDcqlQuery(dcqlQuery: DcqlQuery, targets?: PropertyTargets): RPBuilder;
    private initSupportedVersions;
    addSupportedVersion(supportedVersion: SupportedVersion): RPBuilder;
    withSupportedVersions(supportedVersion: SupportedVersion[] | SupportedVersion): RPBuilder;
    withEventEmitter(eventEmitter?: EventEmitter): RPBuilder;
    withSessionManager(sessionManager: IRPSessionManager): RPBuilder;
    getSupportedRequestVersion(requireVersion?: boolean): SupportedVersion | undefined;
    static newInstance(supportedVersion?: SupportedVersion): RPBuilder;
    build(): RP;
    get authorizationRequestPayload(): Partial<AuthorizationRequestPayload>;
    get requestObjectPayload(): Partial<RequestObjectPayload>;
}

declare class RP {
    get sessionManager(): IRPSessionManager;
    private readonly _createRequestOptions;
    private readonly _verifyResponseOptions;
    private readonly _eventEmitter?;
    private readonly _sessionManager?;
    private readonly _responseRedirectUri?;
    private readonly _dcqlQueryLookupCallback?;
    private constructor();
    static fromRequestOpts(opts: CreateAuthorizationRequestOpts): RP;
    static builder(opts?: {
        requestVersion?: SupportedVersion;
    }): RPBuilder;
    createAuthorizationRequest(opts: {
        correlationId: string;
        queryId?: string;
        nonce: string | RequestPropertyWithTargets<string>;
        state: string | RequestPropertyWithTargets<string>;
        jwtIssuer?: JwtIssuer;
        claims?: ClaimPayloadCommonOpts | RequestPropertyWithTargets<ClaimPayloadCommonOpts>;
        version?: SupportedVersion;
        requestByReferenceURI?: string;
        responseURI?: string;
        responseURIType?: ResponseURIType;
        responseRedirectURI?: string;
    }): Promise<AuthorizationRequest>;
    createAuthorizationRequestURI(opts: {
        correlationId: string;
        queryId?: string;
        nonce: string | RequestPropertyWithTargets<string>;
        state: string | RequestPropertyWithTargets<string>;
        jwtIssuer?: JwtIssuer;
        claims?: ClaimPayloadCommonOpts | RequestPropertyWithTargets<ClaimPayloadCommonOpts>;
        version?: SupportedVersion;
        requestByReferenceURI?: string;
        responseURI?: string;
        responseURIType?: ResponseURIType;
        callback?: CallbackOpts;
        responseRedirectURI?: string;
    }): Promise<URI>;
    signalAuthRequestRetrieved(opts: {
        correlationId: string;
        error?: Error;
    }): Promise<void>;
    static processJarmAuthorizationResponse(response: string, opts: {
        decryptCompact: DecryptCompact;
        getAuthRequestPayload: (input: JarmDirectPostJwtResponseParams | JarmAuthResponseParams) => Promise<{
            authRequestParams: RequestObjectPayload;
        }>;
        hasher?: HasherSync;
    }): Promise<{
        authRequestParams: {
            response_type: string;
            client_metadata: {
                jwks?: {
                    keys: ({
                        kty: string;
                        kid?: string | undefined;
                    } & {
                        [key: string]: unknown;
                    })[];
                } | undefined;
                jwks_uri?: string | undefined;
            } & {
                [key: string]: unknown;
            };
            client_id: string;
            state?: string | undefined;
            response_mode?: "jwt" | "query.jwt" | "fragment.jwt" | "form_post.jwt" | "direct_post.jwt" | undefined;
        } & {
            [key: string]: unknown;
        };
        authResponseParams: {
            vp_token: string | string[];
            dcql_query: unknown;
            state?: string | undefined;
            iss?: string | undefined;
            exp?: number | undefined;
            aud?: string | undefined;
            nonce?: string | undefined;
        } & {
            [key: string]: unknown;
        };
        type: "signed encrypted" | "encrypted" | "signed";
    }>;
    verifyAuthorizationResponse(authorizationResponsePayload: AuthorizationResponsePayload, opts?: {
        correlationId?: string;
        hasher?: HasherSync;
        audience?: string;
        state?: string;
        nonce?: string;
        verification?: Verification;
        dcqlQuery?: DcqlQuery;
    }): Promise<VerifiedAuthorizationResponse>;
    get createRequestOptions(): CreateAuthorizationRequestOpts;
    get verifyResponseOptions(): Partial<VerifyAuthorizationResponseOpts>;
    getResponseRedirectUri(mappings?: Record<string, string>): Promise<string | undefined>;
    private newAuthorizationRequestOpts;
    private newVerifyAuthorizationResponseOpts;
    private emitEvent;
    addEventListener(register: RegisterEventListener): void;
}

/**
 * Please note that this session manager is not really meant to be used in large production settings, as it stores everything in memory!
 * It also doesn't do scheduled cleanups. It runs a cleanup whenever a request or response is received. In a high-volume production setting you will want scheduled cleanups running in the background
 * Since this is a low level library we have not created a full-fledged implementation.
 * We suggest to create your own implementation using the event system of the library
 */
declare class InMemoryRPSessionManager implements IRPSessionManager {
    private readonly authorizationRequests;
    private readonly authorizationResponses;
    private readonly nonceMapping;
    private readonly stateMapping;
    private readonly callbackMapping;
    private readonly queryIdMapping;
    private readonly maxAgeInSeconds;
    private static getKeysForCorrelationId;
    constructor(eventEmitter: EventEmitter, opts?: {
        maxAgeInSeconds?: number;
    });
    getRequestStateByCorrelationId(correlationId: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getRequestStateByNonce(nonce: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getRequestStateByState(state: string, errorOnNotFound?: boolean): Promise<AuthorizationRequestState | undefined>;
    getResponseStateByCorrelationId(correlationId: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    getResponseStateByNonce(nonce: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    getResponseStateByState(state: string, errorOnNotFound?: boolean): Promise<AuthorizationResponseState | undefined>;
    private getFromMapping;
    private onAuthorizationRequestCreatedSuccess;
    private onAuthorizationRequestCreatedFailed;
    private onAuthorizationRequestSentSuccess;
    private onAuthorizationRequestSentFailed;
    private onAuthorizationResponseReceivedSuccess;
    private onAuthorizationResponseReceivedFailed;
    private onAuthorizationResponseVerifiedFailed;
    private onAuthorizationResponseVerifiedSuccess;
    getCorrelationIdByNonce(nonce: string, errorOnNotFound?: boolean): Promise<string | undefined>;
    getCorrelationIdByState(state: string, errorOnNotFound?: boolean): Promise<string | undefined>;
    private getCorrelationIdImpl;
    private updateMapping;
    private updateState;
    deleteStateForCorrelationId(correlationId: string): Promise<void>;
    private static cleanMappingForCorrelationId;
    private cleanup;
    private executeCallback;
}

exports.AuthorizationRequestPayloadV1Schema = validate10;
const schema14 = {"enum":["id_token","vp_token"]};
const schema21 = {"enum":["fragment","form_post","post","direct_post","query","direct_post.jwt","query.jwt","fragment.jwt"]};
const schema23 = {"enum":["get","post"]};
const schema13 = {"properties":{"id_token_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"request_object_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"vp_formats_supported":{"properties":{"jwt":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"ldp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"di":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"vc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"dc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"mso_mdoc":{"type":"object","properties":{"issuerauth_alg_values":{"type":"array","items":{"type":"number"}},"deviceauth_alg_values":{"type":"array","items":{"type":"number"}}},"additionalProperties":false}}}}};
const schema16 = {"enum":["openid","openid did_authn","profile","email","address","phone"]};
const schema18 = {"enum":["public","pairwise"]};
const func2 = Object.prototype.hasOwnProperty;

function validate12(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.client_id !== undefined){
const _errs1 = errors;
if(typeof data.client_id !== "string"){
validate12.errors = [{instancePath:instancePath+"/client_id",schemaPath:"#/properties/client_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_purpose !== undefined){
const _errs3 = errors;
if(typeof data.client_purpose !== "string"){
validate12.errors = [{instancePath:instancePath+"/client_purpose",schemaPath:"#/properties/client_purpose/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs3 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_signing_alg_values_supported !== undefined){
let data2 = data.id_token_signing_alg_values_supported;
const _errs5 = errors;
const _errs6 = errors;
let valid1 = false;
const _errs7 = errors;
if(errors === _errs7){
if(Array.isArray(data2)){
var valid2 = true;
const len0 = data2.length;
for(let i0=0; i0<len0; i0++){
let data3 = data2[i0];
const _errs9 = errors;
if(typeof data3 !== "string"){
const err0 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!(((((data3 === "EdDSA") || (data3 === "RS256")) || (data3 === "PS256")) || (data3 === "ES256")) || (data3 === "ES256K"))){
const err1 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema13.properties.id_token_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var valid2 = _errs9 === errors;
if(!valid2){
break;
}
}
}
else {
const err2 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
}
var _valid0 = _errs7 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs11 = errors;
if(typeof data2 !== "string"){
const err3 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
if(!(((((data2 === "EdDSA") || (data2 === "RS256")) || (data2 === "PS256")) || (data2 === "ES256")) || (data2 === "ES256K"))){
const err4 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema13.properties.id_token_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
var _valid0 = _errs11 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err5 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
validate12.errors = vErrors;
return false;
}
else {
errors = _errs6;
if(vErrors !== null){
if(_errs6){
vErrors.length = _errs6;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_signing_alg_values_supported !== undefined){
let data4 = data.request_object_signing_alg_values_supported;
const _errs13 = errors;
const _errs14 = errors;
let valid3 = false;
const _errs15 = errors;
if(errors === _errs15){
if(Array.isArray(data4)){
var valid4 = true;
const len1 = data4.length;
for(let i1=0; i1<len1; i1++){
let data5 = data4[i1];
const _errs17 = errors;
if(typeof data5 !== "string"){
const err6 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
if(!(((((data5 === "EdDSA") || (data5 === "RS256")) || (data5 === "PS256")) || (data5 === "ES256")) || (data5 === "ES256K"))){
const err7 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema13.properties.request_object_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
}
var valid4 = _errs17 === errors;
if(!valid4){
break;
}
}
}
else {
const err8 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
}
var _valid1 = _errs15 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs19 = errors;
if(typeof data4 !== "string"){
const err9 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
if(!(((((data4 === "EdDSA") || (data4 === "RS256")) || (data4 === "PS256")) || (data4 === "ES256")) || (data4 === "ES256K"))){
const err10 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema13.properties.request_object_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
var _valid1 = _errs19 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err11 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
validate12.errors = vErrors;
return false;
}
else {
errors = _errs14;
if(vErrors !== null){
if(_errs14){
vErrors.length = _errs14;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs13 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_types_supported !== undefined){
let data6 = data.response_types_supported;
const _errs21 = errors;
const _errs22 = errors;
let valid5 = false;
const _errs23 = errors;
if(errors === _errs23){
if(Array.isArray(data6)){
var valid6 = true;
const len2 = data6.length;
for(let i2=0; i2<len2; i2++){
let data7 = data6[i2];
const _errs25 = errors;
if(typeof data7 !== "string"){
const err12 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
if(!((data7 === "id_token") || (data7 === "vp_token"))){
const err13 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema14.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
}
var valid6 = _errs25 === errors;
if(!valid6){
break;
}
}
}
else {
const err14 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
}
var _valid2 = _errs23 === errors;
valid5 = valid5 || _valid2;
if(!valid5){
const _errs28 = errors;
if(typeof data6 !== "string"){
const err15 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
if(!((data6 === "id_token") || (data6 === "vp_token"))){
const err16 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema14.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
var _valid2 = _errs28 === errors;
valid5 = valid5 || _valid2;
}
if(!valid5){
const err17 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
validate12.errors = vErrors;
return false;
}
else {
errors = _errs22;
if(vErrors !== null){
if(_errs22){
vErrors.length = _errs22;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs21 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scopes_supported !== undefined){
let data8 = data.scopes_supported;
const _errs31 = errors;
const _errs32 = errors;
let valid9 = false;
const _errs33 = errors;
if(errors === _errs33){
if(Array.isArray(data8)){
var valid10 = true;
const len3 = data8.length;
for(let i3=0; i3<len3; i3++){
let data9 = data8[i3];
const _errs35 = errors;
if(typeof data9 !== "string"){
const err18 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
if(!((((((data9 === "openid") || (data9 === "openid did_authn")) || (data9 === "profile")) || (data9 === "email")) || (data9 === "address")) || (data9 === "phone"))){
const err19 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema16.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
}
var valid10 = _errs35 === errors;
if(!valid10){
break;
}
}
}
else {
const err20 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
}
var _valid3 = _errs33 === errors;
valid9 = valid9 || _valid3;
if(!valid9){
const _errs38 = errors;
if(typeof data8 !== "string"){
const err21 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
if(!((((((data8 === "openid") || (data8 === "openid did_authn")) || (data8 === "profile")) || (data8 === "email")) || (data8 === "address")) || (data8 === "phone"))){
const err22 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema16.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
var _valid3 = _errs38 === errors;
valid9 = valid9 || _valid3;
}
if(!valid9){
const err23 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
validate12.errors = vErrors;
return false;
}
else {
errors = _errs32;
if(vErrors !== null){
if(_errs32){
vErrors.length = _errs32;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs31 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_types_supported !== undefined){
let data10 = data.subject_types_supported;
const _errs41 = errors;
const _errs42 = errors;
let valid13 = false;
const _errs43 = errors;
if(errors === _errs43){
if(Array.isArray(data10)){
var valid14 = true;
const len4 = data10.length;
for(let i4=0; i4<len4; i4++){
let data11 = data10[i4];
const _errs45 = errors;
if(typeof data11 !== "string"){
const err24 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
if(!((data11 === "public") || (data11 === "pairwise"))){
const err25 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema18.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
}
var valid14 = _errs45 === errors;
if(!valid14){
break;
}
}
}
else {
const err26 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
}
var _valid4 = _errs43 === errors;
valid13 = valid13 || _valid4;
if(!valid13){
const _errs48 = errors;
if(typeof data10 !== "string"){
const err27 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
if(!((data10 === "public") || (data10 === "pairwise"))){
const err28 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema18.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
var _valid4 = _errs48 === errors;
valid13 = valid13 || _valid4;
}
if(!valid13){
const err29 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
validate12.errors = vErrors;
return false;
}
else {
errors = _errs42;
if(vErrors !== null){
if(_errs42){
vErrors.length = _errs42;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs41 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_syntax_types_supported !== undefined){
let data12 = data.subject_syntax_types_supported;
const _errs51 = errors;
if(errors === _errs51){
if(Array.isArray(data12)){
var valid17 = true;
const len5 = data12.length;
for(let i5=0; i5<len5; i5++){
const _errs53 = errors;
if(typeof data12[i5] !== "string"){
validate12.errors = [{instancePath:instancePath+"/subject_syntax_types_supported/" + i5,schemaPath:"#/properties/subject_syntax_types_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid17 = _errs53 === errors;
if(!valid17){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/subject_syntax_types_supported",schemaPath:"#/properties/subject_syntax_types_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs51 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.vp_formats_supported !== undefined){
let data14 = data.vp_formats_supported;
const _errs55 = errors;
if(errors === _errs55){
if(data14 && typeof data14 == "object" && !Array.isArray(data14)){
const _errs57 = errors;
for(const key0 in data14){
if(!(func2.call(schema13.properties.vp_formats_supported.properties, key0))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs57 === errors){
if(data14.jwt !== undefined){
let data15 = data14.jwt;
const _errs58 = errors;
if(errors === _errs58){
if(data15 && typeof data15 == "object" && !Array.isArray(data15)){
let missing0;
if((data15.alg_values === undefined) && (missing0 = "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs60 = errors;
for(const key1 in data15){
if(!(key1 === "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs60 === errors){
if(data15.alg_values !== undefined){
let data16 = data15.alg_values;
const _errs61 = errors;
if(errors === _errs61){
if(Array.isArray(data16)){
var valid20 = true;
const len6 = data16.length;
for(let i6=0; i6<len6; i6++){
const _errs63 = errors;
if(typeof data16[i6] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values/" + i6,schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid20 = _errs63 === errors;
if(!valid20){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs58 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc !== undefined){
let data18 = data14.jwt_vc;
const _errs65 = errors;
if(errors === _errs65){
if(data18 && typeof data18 == "object" && !Array.isArray(data18)){
let missing1;
if((data18.alg_values === undefined) && (missing1 = "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];
return false;
}
else {
const _errs67 = errors;
for(const key2 in data18){
if(!(key2 === "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs67 === errors){
if(data18.alg_values !== undefined){
let data19 = data18.alg_values;
const _errs68 = errors;
if(errors === _errs68){
if(Array.isArray(data19)){
var valid22 = true;
const len7 = data19.length;
for(let i7=0; i7<len7; i7++){
const _errs70 = errors;
if(typeof data19[i7] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values/" + i7,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid22 = _errs70 === errors;
if(!valid22){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs65 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc_json !== undefined){
let data21 = data14.jwt_vc_json;
const _errs72 = errors;
if(errors === _errs72){
if(data21 && typeof data21 == "object" && !Array.isArray(data21)){
let missing2;
if((data21.alg_values === undefined) && (missing2 = "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];
return false;
}
else {
const _errs74 = errors;
for(const key3 in data21){
if(!(key3 === "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs74 === errors){
if(data21.alg_values !== undefined){
let data22 = data21.alg_values;
const _errs75 = errors;
if(errors === _errs75){
if(Array.isArray(data22)){
var valid24 = true;
const len8 = data22.length;
for(let i8=0; i8<len8; i8++){
const _errs77 = errors;
if(typeof data22[i8] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values/" + i8,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid24 = _errs77 === errors;
if(!valid24){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs72 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp !== undefined){
let data24 = data14.jwt_vp;
const _errs79 = errors;
if(errors === _errs79){
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
let missing3;
if((data24.alg_values === undefined) && (missing3 = "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];
return false;
}
else {
const _errs81 = errors;
for(const key4 in data24){
if(!(key4 === "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs81 === errors){
if(data24.alg_values !== undefined){
let data25 = data24.alg_values;
const _errs82 = errors;
if(errors === _errs82){
if(Array.isArray(data25)){
var valid26 = true;
const len9 = data25.length;
for(let i9=0; i9<len9; i9++){
const _errs84 = errors;
if(typeof data25[i9] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values/" + i9,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid26 = _errs84 === errors;
if(!valid26){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs79 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp_json !== undefined){
let data27 = data14.jwt_vp_json;
const _errs86 = errors;
if(errors === _errs86){
if(data27 && typeof data27 == "object" && !Array.isArray(data27)){
let missing4;
if((data27.alg_values === undefined) && (missing4 = "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];
return false;
}
else {
const _errs88 = errors;
for(const key5 in data27){
if(!(key5 === "alg_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs88 === errors){
if(data27.alg_values !== undefined){
let data28 = data27.alg_values;
const _errs89 = errors;
if(errors === _errs89){
if(Array.isArray(data28)){
var valid28 = true;
const len10 = data28.length;
for(let i10=0; i10<len10; i10++){
const _errs91 = errors;
if(typeof data28[i10] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values/" + i10,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid28 = _errs91 === errors;
if(!valid28){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs86 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp !== undefined){
let data30 = data14.ldp;
const _errs93 = errors;
if(errors === _errs93){
if(data30 && typeof data30 == "object" && !Array.isArray(data30)){
let missing5;
if((data30.proof_type_values === undefined) && (missing5 = "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];
return false;
}
else {
const _errs95 = errors;
for(const key6 in data30){
if(!(key6 === "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs95 === errors){
if(data30.proof_type_values !== undefined){
let data31 = data30.proof_type_values;
const _errs96 = errors;
if(errors === _errs96){
if(Array.isArray(data31)){
var valid30 = true;
const len11 = data31.length;
for(let i11=0; i11<len11; i11++){
const _errs98 = errors;
if(typeof data31[i11] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values/" + i11,schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid30 = _errs98 === errors;
if(!valid30){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs93 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vc !== undefined){
let data33 = data14.ldp_vc;
const _errs100 = errors;
if(errors === _errs100){
if(data33 && typeof data33 == "object" && !Array.isArray(data33)){
let missing6;
if((data33.proof_type_values === undefined) && (missing6 = "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];
return false;
}
else {
const _errs102 = errors;
for(const key7 in data33){
if(!(key7 === "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs102 === errors){
if(data33.proof_type_values !== undefined){
let data34 = data33.proof_type_values;
const _errs103 = errors;
if(errors === _errs103){
if(Array.isArray(data34)){
var valid32 = true;
const len12 = data34.length;
for(let i12=0; i12<len12; i12++){
const _errs105 = errors;
if(typeof data34[i12] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values/" + i12,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid32 = _errs105 === errors;
if(!valid32){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs100 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vp !== undefined){
let data36 = data14.ldp_vp;
const _errs107 = errors;
if(errors === _errs107){
if(data36 && typeof data36 == "object" && !Array.isArray(data36)){
let missing7;
if((data36.proof_type_values === undefined) && (missing7 = "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];
return false;
}
else {
const _errs109 = errors;
for(const key8 in data36){
if(!(key8 === "proof_type_values")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs109 === errors){
if(data36.proof_type_values !== undefined){
let data37 = data36.proof_type_values;
const _errs110 = errors;
if(errors === _errs110){
if(Array.isArray(data37)){
var valid34 = true;
const len13 = data37.length;
for(let i13=0; i13<len13; i13++){
const _errs112 = errors;
if(typeof data37[i13] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values/" + i13,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid34 = _errs112 === errors;
if(!valid34){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs107 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di !== undefined){
let data39 = data14.di;
const _errs114 = errors;
if(errors === _errs114){
if(data39 && typeof data39 == "object" && !Array.isArray(data39)){
let missing8;
if(((data39.proof_type_values === undefined) && (missing8 = "proof_type_values")) || ((data39.cryptosuite === undefined) && (missing8 = "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];
return false;
}
else {
const _errs116 = errors;
for(const key9 in data39){
if(!((key9 === "proof_type_values") || (key9 === "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs116 === errors){
if(data39.proof_type_values !== undefined){
let data40 = data39.proof_type_values;
const _errs117 = errors;
if(errors === _errs117){
if(Array.isArray(data40)){
var valid36 = true;
const len14 = data40.length;
for(let i14=0; i14<len14; i14++){
const _errs119 = errors;
if(typeof data40[i14] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values/" + i14,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid36 = _errs119 === errors;
if(!valid36){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs117 === errors;
}
else {
var valid35 = true;
}
if(valid35){
if(data39.cryptosuite !== undefined){
let data42 = data39.cryptosuite;
const _errs121 = errors;
if(errors === _errs121){
if(Array.isArray(data42)){
var valid37 = true;
const len15 = data42.length;
for(let i15=0; i15<len15; i15++){
const _errs123 = errors;
if(typeof data42[i15] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite/" + i15,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid37 = _errs123 === errors;
if(!valid37){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs121 === errors;
}
else {
var valid35 = true;
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs114 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vc !== undefined){
let data44 = data14.di_vc;
const _errs125 = errors;
if(errors === _errs125){
if(data44 && typeof data44 == "object" && !Array.isArray(data44)){
let missing9;
if(((data44.proof_type_values === undefined) && (missing9 = "proof_type_values")) || ((data44.cryptosuite === undefined) && (missing9 = "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];
return false;
}
else {
const _errs127 = errors;
for(const key10 in data44){
if(!((key10 === "proof_type_values") || (key10 === "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs127 === errors){
if(data44.proof_type_values !== undefined){
let data45 = data44.proof_type_values;
const _errs128 = errors;
if(errors === _errs128){
if(Array.isArray(data45)){
var valid39 = true;
const len16 = data45.length;
for(let i16=0; i16<len16; i16++){
const _errs130 = errors;
if(typeof data45[i16] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values/" + i16,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid39 = _errs130 === errors;
if(!valid39){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs128 === errors;
}
else {
var valid38 = true;
}
if(valid38){
if(data44.cryptosuite !== undefined){
let data47 = data44.cryptosuite;
const _errs132 = errors;
if(errors === _errs132){
if(Array.isArray(data47)){
var valid40 = true;
const len17 = data47.length;
for(let i17=0; i17<len17; i17++){
const _errs134 = errors;
if(typeof data47[i17] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite/" + i17,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid40 = _errs134 === errors;
if(!valid40){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs132 === errors;
}
else {
var valid38 = true;
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs125 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vp !== undefined){
let data49 = data14.di_vp;
const _errs136 = errors;
if(errors === _errs136){
if(data49 && typeof data49 == "object" && !Array.isArray(data49)){
let missing10;
if(((data49.proof_type_values === undefined) && (missing10 = "proof_type_values")) || ((data49.cryptosuite === undefined) && (missing10 = "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];
return false;
}
else {
const _errs138 = errors;
for(const key11 in data49){
if(!((key11 === "proof_type_values") || (key11 === "cryptosuite"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key11},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs138 === errors){
if(data49.proof_type_values !== undefined){
let data50 = data49.proof_type_values;
const _errs139 = errors;
if(errors === _errs139){
if(Array.isArray(data50)){
var valid42 = true;
const len18 = data50.length;
for(let i18=0; i18<len18; i18++){
const _errs141 = errors;
if(typeof data50[i18] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values/" + i18,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid42 = _errs141 === errors;
if(!valid42){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs139 === errors;
}
else {
var valid41 = true;
}
if(valid41){
if(data49.cryptosuite !== undefined){
let data52 = data49.cryptosuite;
const _errs143 = errors;
if(errors === _errs143){
if(Array.isArray(data52)){
var valid43 = true;
const len19 = data52.length;
for(let i19=0; i19<len19; i19++){
const _errs145 = errors;
if(typeof data52[i19] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite/" + i19,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid43 = _errs145 === errors;
if(!valid43){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs143 === errors;
}
else {
var valid41 = true;
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs136 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["vc+sd-jwt"] !== undefined){
let data54 = data14["vc+sd-jwt"];
const _errs147 = errors;
if(errors === _errs147){
if(data54 && typeof data54 == "object" && !Array.isArray(data54)){
const _errs149 = errors;
for(const key12 in data54){
if(!((key12 === "sd-jwt_alg_values") || (key12 === "kb-jwt_alg_values"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key12},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs149 === errors){
if(data54["sd-jwt_alg_values"] !== undefined){
let data55 = data54["sd-jwt_alg_values"];
const _errs150 = errors;
if(errors === _errs150){
if(Array.isArray(data55)){
var valid45 = true;
const len20 = data55.length;
for(let i20=0; i20<len20; i20++){
const _errs152 = errors;
if(typeof data55[i20] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values/" + i20,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid45 = _errs152 === errors;
if(!valid45){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs150 === errors;
}
else {
var valid44 = true;
}
if(valid44){
if(data54["kb-jwt_alg_values"] !== undefined){
let data57 = data54["kb-jwt_alg_values"];
const _errs154 = errors;
if(errors === _errs154){
if(Array.isArray(data57)){
var valid46 = true;
const len21 = data57.length;
for(let i21=0; i21<len21; i21++){
const _errs156 = errors;
if(typeof data57[i21] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values/" + i21,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid46 = _errs156 === errors;
if(!valid46){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs154 === errors;
}
else {
var valid44 = true;
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs147 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["dc+sd-jwt"] !== undefined){
let data59 = data14["dc+sd-jwt"];
const _errs158 = errors;
if(errors === _errs158){
if(data59 && typeof data59 == "object" && !Array.isArray(data59)){
const _errs160 = errors;
for(const key13 in data59){
if(!((key13 === "sd-jwt_alg_values") || (key13 === "kb-jwt_alg_values"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key13},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs160 === errors){
if(data59["sd-jwt_alg_values"] !== undefined){
let data60 = data59["sd-jwt_alg_values"];
const _errs161 = errors;
if(errors === _errs161){
if(Array.isArray(data60)){
var valid48 = true;
const len22 = data60.length;
for(let i22=0; i22<len22; i22++){
const _errs163 = errors;
if(typeof data60[i22] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values/" + i22,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid48 = _errs163 === errors;
if(!valid48){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs161 === errors;
}
else {
var valid47 = true;
}
if(valid47){
if(data59["kb-jwt_alg_values"] !== undefined){
let data62 = data59["kb-jwt_alg_values"];
const _errs165 = errors;
if(errors === _errs165){
if(Array.isArray(data62)){
var valid49 = true;
const len23 = data62.length;
for(let i23=0; i23<len23; i23++){
const _errs167 = errors;
if(typeof data62[i23] !== "string"){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values/" + i23,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid49 = _errs167 === errors;
if(!valid49){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs165 === errors;
}
else {
var valid47 = true;
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs158 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.mso_mdoc !== undefined){
let data64 = data14.mso_mdoc;
const _errs169 = errors;
if(errors === _errs169){
if(data64 && typeof data64 == "object" && !Array.isArray(data64)){
const _errs171 = errors;
for(const key14 in data64){
if(!((key14 === "issuerauth_alg_values") || (key14 === "deviceauth_alg_values"))){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key14},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs171 === errors){
if(data64.issuerauth_alg_values !== undefined){
let data65 = data64.issuerauth_alg_values;
const _errs172 = errors;
if(errors === _errs172){
if(Array.isArray(data65)){
var valid51 = true;
const len24 = data65.length;
for(let i24=0; i24<len24; i24++){
const _errs174 = errors;
if(!(typeof data65[i24] == "number")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values/" + i24,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid51 = _errs174 === errors;
if(!valid51){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs172 === errors;
}
else {
var valid50 = true;
}
if(valid50){
if(data64.deviceauth_alg_values !== undefined){
let data67 = data64.deviceauth_alg_values;
const _errs176 = errors;
if(errors === _errs176){
if(Array.isArray(data67)){
var valid52 = true;
const len25 = data67.length;
for(let i25=0; i25<len25; i25++){
const _errs178 = errors;
if(!(typeof data67[i25] == "number")){
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values/" + i25,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid52 = _errs178 === errors;
if(!valid52){
break;
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs176 === errors;
}
else {
var valid50 = true;
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs169 === errors;
}
else {
var valid18 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate12.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid0 = _errs55 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_name !== undefined){
const _errs180 = errors;
if(typeof data.client_name !== "string"){
validate12.errors = [{instancePath:instancePath+"/client_name",schemaPath:"#/properties/client_name/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs180 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.logo_uri !== undefined){
const _errs182 = errors;
if(typeof data.logo_uri !== "string"){
validate12.errors = [{instancePath:instancePath+"/logo_uri",schemaPath:"#/properties/logo_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs182 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate12.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate12.errors = vErrors;
return errors === 0;
}


function validate11(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.id_token_type !== undefined){
const _errs1 = errors;
if(typeof data.id_token_type !== "string"){
validate11.errors = [{instancePath:instancePath+"/id_token_type",schemaPath:"#/properties/id_token_type/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_metadata !== undefined){
const _errs3 = errors;
if(!(validate12(data.client_metadata, {instancePath:instancePath+"/client_metadata",parentData:data,parentDataProperty:"client_metadata",rootData}))){
vErrors = vErrors === null ? validate12.errors : vErrors.concat(validate12.errors);
errors = vErrors.length;
}
var valid0 = _errs3 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.iss !== undefined){
const _errs4 = errors;
if(typeof data.iss !== "string"){
validate11.errors = [{instancePath:instancePath+"/iss",schemaPath:"#/properties/iss/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs4 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.sub !== undefined){
const _errs6 = errors;
if(typeof data.sub !== "string"){
validate11.errors = [{instancePath:instancePath+"/sub",schemaPath:"#/properties/sub/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs6 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.aud !== undefined){
let data4 = data.aud;
const _errs8 = errors;
const _errs9 = errors;
let valid1 = false;
const _errs10 = errors;
if(typeof data4 !== "string"){
const err0 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
var _valid0 = _errs10 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs12 = errors;
if(errors === _errs12){
if(Array.isArray(data4)){
var valid2 = true;
const len0 = data4.length;
for(let i0=0; i0<len0; i0++){
const _errs14 = errors;
if(typeof data4[i0] !== "string"){
const err1 = {instancePath:instancePath+"/aud/" + i0,schemaPath:"#/properties/aud/anyOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var valid2 = _errs14 === errors;
if(!valid2){
break;
}
}
}
else {
const err2 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
}
var _valid0 = _errs12 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err3 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
validate11.errors = vErrors;
return false;
}
else {
errors = _errs9;
if(vErrors !== null){
if(_errs9){
vErrors.length = _errs9;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs8 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.iat !== undefined){
const _errs16 = errors;
if(!(typeof data.iat == "number")){
validate11.errors = [{instancePath:instancePath+"/iat",schemaPath:"#/properties/iat/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs16 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.nbf !== undefined){
const _errs18 = errors;
if(!(typeof data.nbf == "number")){
validate11.errors = [{instancePath:instancePath+"/nbf",schemaPath:"#/properties/nbf/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs18 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.type !== undefined){
const _errs20 = errors;
if(typeof data.type !== "string"){
validate11.errors = [{instancePath:instancePath+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs20 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.exp !== undefined){
const _errs22 = errors;
if(!(typeof data.exp == "number")){
validate11.errors = [{instancePath:instancePath+"/exp",schemaPath:"#/properties/exp/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs22 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.rexp !== undefined){
const _errs24 = errors;
if(!(typeof data.rexp == "number")){
validate11.errors = [{instancePath:instancePath+"/rexp",schemaPath:"#/properties/rexp/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs24 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jti !== undefined){
const _errs26 = errors;
if(typeof data.jti !== "string"){
validate11.errors = [{instancePath:instancePath+"/jti",schemaPath:"#/properties/jti/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs26 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scope !== undefined){
const _errs28 = errors;
if(typeof data.scope !== "string"){
validate11.errors = [{instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs28 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_type !== undefined){
let data13 = data.response_type;
const _errs30 = errors;
const _errs31 = errors;
let valid3 = false;
const _errs32 = errors;
if(typeof data13 !== "string"){
const err4 = {instancePath:instancePath+"/response_type",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
if(!((data13 === "id_token") || (data13 === "vp_token"))){
const err5 = {instancePath:instancePath+"/response_type",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema14.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
var _valid1 = _errs32 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs35 = errors;
if(typeof data13 !== "string"){
const err6 = {instancePath:instancePath+"/response_type",schemaPath:"#/properties/response_type/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
var _valid1 = _errs35 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err7 = {instancePath:instancePath+"/response_type",schemaPath:"#/properties/response_type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
validate11.errors = vErrors;
return false;
}
else {
errors = _errs31;
if(vErrors !== null){
if(_errs31){
vErrors.length = _errs31;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs30 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_id !== undefined){
const _errs37 = errors;
if(typeof data.client_id !== "string"){
validate11.errors = [{instancePath:instancePath+"/client_id",schemaPath:"#/properties/client_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs37 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.redirect_uri !== undefined){
const _errs39 = errors;
if(typeof data.redirect_uri !== "string"){
validate11.errors = [{instancePath:instancePath+"/redirect_uri",schemaPath:"#/properties/redirect_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs39 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_hint !== undefined){
const _errs41 = errors;
if(typeof data.id_token_hint !== "string"){
validate11.errors = [{instancePath:instancePath+"/id_token_hint",schemaPath:"#/properties/id_token_hint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs41 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.nonce !== undefined){
const _errs43 = errors;
if(typeof data.nonce !== "string"){
validate11.errors = [{instancePath:instancePath+"/nonce",schemaPath:"#/properties/nonce/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs43 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.state !== undefined){
const _errs45 = errors;
if(typeof data.state !== "string"){
validate11.errors = [{instancePath:instancePath+"/state",schemaPath:"#/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs45 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_mode !== undefined){
let data19 = data.response_mode;
const _errs47 = errors;
if(typeof data19 !== "string"){
validate11.errors = [{instancePath:instancePath+"/response_mode",schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((((((((data19 === "fragment") || (data19 === "form_post")) || (data19 === "post")) || (data19 === "direct_post")) || (data19 === "query")) || (data19 === "direct_post.jwt")) || (data19 === "query.jwt")) || (data19 === "fragment.jwt"))){
validate11.errors = [{instancePath:instancePath+"/response_mode",schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema21.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs47 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request !== undefined){
const _errs50 = errors;
if(typeof data.request !== "string"){
validate11.errors = [{instancePath:instancePath+"/request",schemaPath:"#/properties/request/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs50 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_uri !== undefined){
const _errs52 = errors;
if(typeof data.request_uri !== "string"){
validate11.errors = [{instancePath:instancePath+"/request_uri",schemaPath:"#/properties/request_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs52 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claims !== undefined){
let data22 = data.claims;
const _errs54 = errors;
if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){
validate11.errors = [{instancePath:instancePath+"/claims",schemaPath:"#/definitions/ClaimPayloadCommon/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
var valid0 = _errs54 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_uri !== undefined){
const _errs57 = errors;
if(typeof data.response_uri !== "string"){
validate11.errors = [{instancePath:instancePath+"/response_uri",schemaPath:"#/properties/response_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs57 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.dcql_query !== undefined){
let data24 = data.dcql_query;
const _errs59 = errors;
if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){
validate11.errors = [{instancePath:instancePath+"/dcql_query",schemaPath:"#/properties/dcql_query/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
var valid0 = _errs59 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_uri_method !== undefined){
let data25 = data.request_uri_method;
const _errs61 = errors;
if(typeof data25 !== "string"){
validate11.errors = [{instancePath:instancePath+"/request_uri_method",schemaPath:"#/definitions/RequestUriMethod/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((data25 === "get") || (data25 === "post"))){
validate11.errors = [{instancePath:instancePath+"/request_uri_method",schemaPath:"#/definitions/RequestUriMethod/enum",keyword:"enum",params:{allowedValues: schema23.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs61 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.transaction_data !== undefined){
let data26 = data.transaction_data;
const _errs64 = errors;
if(errors === _errs64){
if(Array.isArray(data26)){
var valid8 = true;
const len1 = data26.length;
for(let i1=0; i1<len1; i1++){
const _errs66 = errors;
if(typeof data26[i1] !== "string"){
validate11.errors = [{instancePath:instancePath+"/transaction_data/" + i1,schemaPath:"#/properties/transaction_data/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid8 = _errs66 === errors;
if(!valid8){
break;
}
}
}
else {
validate11.errors = [{instancePath:instancePath+"/transaction_data",schemaPath:"#/properties/transaction_data/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs64 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.verifier_info !== undefined){
let data28 = data.verifier_info;
const _errs68 = errors;
if(errors === _errs68){
if(Array.isArray(data28)){
var valid9 = true;
const len2 = data28.length;
for(let i2=0; i2<len2; i2++){
let data29 = data28[i2];
const _errs70 = errors;
const _errs71 = errors;
if(errors === _errs71){
if(data29 && typeof data29 == "object" && !Array.isArray(data29)){
let missing0;
if(((data29.format === undefined) && (missing0 = "format")) || ((data29.data === undefined) && (missing0 = "data"))){
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs73 = errors;
for(const key0 in data29){
if(!(((key0 === "format") || (key0 === "data")) || (key0 === "credential_ids"))){
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs73 === errors){
if(data29.format !== undefined){
const _errs74 = errors;
if(typeof data29.format !== "string"){
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2+"/format",schemaPath:"#/definitions/RelyingPartyAttestation/properties/format/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid11 = _errs74 === errors;
}
else {
var valid11 = true;
}
if(valid11){
if(data29.data !== undefined){
const _errs76 = errors;
if(typeof data29.data !== "string"){
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2+"/data",schemaPath:"#/definitions/RelyingPartyAttestation/properties/data/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid11 = _errs76 === errors;
}
else {
var valid11 = true;
}
if(valid11){
if(data29.credential_ids !== undefined){
let data32 = data29.credential_ids;
const _errs78 = errors;
if(errors === _errs78){
if(Array.isArray(data32)){
var valid12 = true;
const len3 = data32.length;
for(let i3=0; i3<len3; i3++){
const _errs80 = errors;
if(typeof data32[i3] !== "string"){
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2+"/credential_ids/" + i3,schemaPath:"#/definitions/RelyingPartyAttestation/properties/credential_ids/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid12 = _errs80 === errors;
if(!valid12){
break;
}
}
}
else {
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2+"/credential_ids",schemaPath:"#/definitions/RelyingPartyAttestation/properties/credential_ids/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid11 = _errs78 === errors;
}
else {
var valid11 = true;
}
}
}
}
}
}
else {
validate11.errors = [{instancePath:instancePath+"/verifier_info/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid9 = _errs70 === errors;
if(!valid9){
break;
}
}
}
else {
validate11.errors = [{instancePath:instancePath+"/verifier_info",schemaPath:"#/properties/verifier_info/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs68 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate11.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate11.errors = vErrors;
return errors === 0;
}


function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(!(validate11(data, {instancePath,parentData,parentDataProperty,rootData}))){
vErrors = vErrors === null ? validate11.errors : vErrors.concat(validate11.errors);
errors = vErrors.length;
}
validate10.errors = vErrors;
return errors === 0;
}

exports.AuthorizationRequestPayloadD28Schema = validate15;
const schema28 = {"enum":["id_token","vp_token"]};
const schema35 = {"enum":["fragment","form_post","post","direct_post","query","direct_post.jwt","query.jwt","fragment.jwt"]};
const schema27 = {"properties":{"id_token_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"request_object_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"vp_formats_supported":{"properties":{"jwt":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"ldp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"di":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"vc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"dc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"mso_mdoc":{"type":"object","properties":{"issuerauth_alg_values":{"type":"array","items":{"type":"number"}},"deviceauth_alg_values":{"type":"array","items":{"type":"number"}}},"additionalProperties":false}}}}};
const schema30 = {"enum":["openid","openid did_authn","profile","email","address","phone"]};
const schema32 = {"enum":["public","pairwise"]};

function validate17(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.client_id !== undefined){
const _errs1 = errors;
if(typeof data.client_id !== "string"){
validate17.errors = [{instancePath:instancePath+"/client_id",schemaPath:"#/properties/client_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_purpose !== undefined){
const _errs3 = errors;
if(typeof data.client_purpose !== "string"){
validate17.errors = [{instancePath:instancePath+"/client_purpose",schemaPath:"#/properties/client_purpose/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs3 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_signing_alg_values_supported !== undefined){
let data2 = data.id_token_signing_alg_values_supported;
const _errs5 = errors;
const _errs6 = errors;
let valid1 = false;
const _errs7 = errors;
if(errors === _errs7){
if(Array.isArray(data2)){
var valid2 = true;
const len0 = data2.length;
for(let i0=0; i0<len0; i0++){
let data3 = data2[i0];
const _errs9 = errors;
if(typeof data3 !== "string"){
const err0 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!(((((data3 === "EdDSA") || (data3 === "RS256")) || (data3 === "PS256")) || (data3 === "ES256")) || (data3 === "ES256K"))){
const err1 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema27.properties.id_token_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var valid2 = _errs9 === errors;
if(!valid2){
break;
}
}
}
else {
const err2 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
}
var _valid0 = _errs7 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs11 = errors;
if(typeof data2 !== "string"){
const err3 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
if(!(((((data2 === "EdDSA") || (data2 === "RS256")) || (data2 === "PS256")) || (data2 === "ES256")) || (data2 === "ES256K"))){
const err4 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema27.properties.id_token_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
var _valid0 = _errs11 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err5 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs6;
if(vErrors !== null){
if(_errs6){
vErrors.length = _errs6;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_signing_alg_values_supported !== undefined){
let data4 = data.request_object_signing_alg_values_supported;
const _errs13 = errors;
const _errs14 = errors;
let valid3 = false;
const _errs15 = errors;
if(errors === _errs15){
if(Array.isArray(data4)){
var valid4 = true;
const len1 = data4.length;
for(let i1=0; i1<len1; i1++){
let data5 = data4[i1];
const _errs17 = errors;
if(typeof data5 !== "string"){
const err6 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
if(!(((((data5 === "EdDSA") || (data5 === "RS256")) || (data5 === "PS256")) || (data5 === "ES256")) || (data5 === "ES256K"))){
const err7 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema27.properties.request_object_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
}
var valid4 = _errs17 === errors;
if(!valid4){
break;
}
}
}
else {
const err8 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
}
var _valid1 = _errs15 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs19 = errors;
if(typeof data4 !== "string"){
const err9 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
if(!(((((data4 === "EdDSA") || (data4 === "RS256")) || (data4 === "PS256")) || (data4 === "ES256")) || (data4 === "ES256K"))){
const err10 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema27.properties.request_object_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
var _valid1 = _errs19 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err11 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs14;
if(vErrors !== null){
if(_errs14){
vErrors.length = _errs14;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs13 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_types_supported !== undefined){
let data6 = data.response_types_supported;
const _errs21 = errors;
const _errs22 = errors;
let valid5 = false;
const _errs23 = errors;
if(errors === _errs23){
if(Array.isArray(data6)){
var valid6 = true;
const len2 = data6.length;
for(let i2=0; i2<len2; i2++){
let data7 = data6[i2];
const _errs25 = errors;
if(typeof data7 !== "string"){
const err12 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
if(!((data7 === "id_token") || (data7 === "vp_token"))){
const err13 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema28.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
}
var valid6 = _errs25 === errors;
if(!valid6){
break;
}
}
}
else {
const err14 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
}
var _valid2 = _errs23 === errors;
valid5 = valid5 || _valid2;
if(!valid5){
const _errs28 = errors;
if(typeof data6 !== "string"){
const err15 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
if(!((data6 === "id_token") || (data6 === "vp_token"))){
const err16 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema28.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
var _valid2 = _errs28 === errors;
valid5 = valid5 || _valid2;
}
if(!valid5){
const err17 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs22;
if(vErrors !== null){
if(_errs22){
vErrors.length = _errs22;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs21 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scopes_supported !== undefined){
let data8 = data.scopes_supported;
const _errs31 = errors;
const _errs32 = errors;
let valid9 = false;
const _errs33 = errors;
if(errors === _errs33){
if(Array.isArray(data8)){
var valid10 = true;
const len3 = data8.length;
for(let i3=0; i3<len3; i3++){
let data9 = data8[i3];
const _errs35 = errors;
if(typeof data9 !== "string"){
const err18 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
if(!((((((data9 === "openid") || (data9 === "openid did_authn")) || (data9 === "profile")) || (data9 === "email")) || (data9 === "address")) || (data9 === "phone"))){
const err19 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema30.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
}
var valid10 = _errs35 === errors;
if(!valid10){
break;
}
}
}
else {
const err20 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
}
var _valid3 = _errs33 === errors;
valid9 = valid9 || _valid3;
if(!valid9){
const _errs38 = errors;
if(typeof data8 !== "string"){
const err21 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
if(!((((((data8 === "openid") || (data8 === "openid did_authn")) || (data8 === "profile")) || (data8 === "email")) || (data8 === "address")) || (data8 === "phone"))){
const err22 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema30.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
var _valid3 = _errs38 === errors;
valid9 = valid9 || _valid3;
}
if(!valid9){
const err23 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs32;
if(vErrors !== null){
if(_errs32){
vErrors.length = _errs32;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs31 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_types_supported !== undefined){
let data10 = data.subject_types_supported;
const _errs41 = errors;
const _errs42 = errors;
let valid13 = false;
const _errs43 = errors;
if(errors === _errs43){
if(Array.isArray(data10)){
var valid14 = true;
const len4 = data10.length;
for(let i4=0; i4<len4; i4++){
let data11 = data10[i4];
const _errs45 = errors;
if(typeof data11 !== "string"){
const err24 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
if(!((data11 === "public") || (data11 === "pairwise"))){
const err25 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema32.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
}
var valid14 = _errs45 === errors;
if(!valid14){
break;
}
}
}
else {
const err26 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
}
var _valid4 = _errs43 === errors;
valid13 = valid13 || _valid4;
if(!valid13){
const _errs48 = errors;
if(typeof data10 !== "string"){
const err27 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
if(!((data10 === "public") || (data10 === "pairwise"))){
const err28 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema32.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
var _valid4 = _errs48 === errors;
valid13 = valid13 || _valid4;
}
if(!valid13){
const err29 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs42;
if(vErrors !== null){
if(_errs42){
vErrors.length = _errs42;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs41 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_syntax_types_supported !== undefined){
let data12 = data.subject_syntax_types_supported;
const _errs51 = errors;
if(errors === _errs51){
if(Array.isArray(data12)){
var valid17 = true;
const len5 = data12.length;
for(let i5=0; i5<len5; i5++){
const _errs53 = errors;
if(typeof data12[i5] !== "string"){
validate17.errors = [{instancePath:instancePath+"/subject_syntax_types_supported/" + i5,schemaPath:"#/properties/subject_syntax_types_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid17 = _errs53 === errors;
if(!valid17){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/subject_syntax_types_supported",schemaPath:"#/properties/subject_syntax_types_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs51 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.vp_formats_supported !== undefined){
let data14 = data.vp_formats_supported;
const _errs55 = errors;
if(errors === _errs55){
if(data14 && typeof data14 == "object" && !Array.isArray(data14)){
const _errs57 = errors;
for(const key0 in data14){
if(!(func2.call(schema27.properties.vp_formats_supported.properties, key0))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs57 === errors){
if(data14.jwt !== undefined){
let data15 = data14.jwt;
const _errs58 = errors;
if(errors === _errs58){
if(data15 && typeof data15 == "object" && !Array.isArray(data15)){
let missing0;
if((data15.alg_values === undefined) && (missing0 = "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs60 = errors;
for(const key1 in data15){
if(!(key1 === "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs60 === errors){
if(data15.alg_values !== undefined){
let data16 = data15.alg_values;
const _errs61 = errors;
if(errors === _errs61){
if(Array.isArray(data16)){
var valid20 = true;
const len6 = data16.length;
for(let i6=0; i6<len6; i6++){
const _errs63 = errors;
if(typeof data16[i6] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values/" + i6,schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid20 = _errs63 === errors;
if(!valid20){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs58 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc !== undefined){
let data18 = data14.jwt_vc;
const _errs65 = errors;
if(errors === _errs65){
if(data18 && typeof data18 == "object" && !Array.isArray(data18)){
let missing1;
if((data18.alg_values === undefined) && (missing1 = "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];
return false;
}
else {
const _errs67 = errors;
for(const key2 in data18){
if(!(key2 === "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs67 === errors){
if(data18.alg_values !== undefined){
let data19 = data18.alg_values;
const _errs68 = errors;
if(errors === _errs68){
if(Array.isArray(data19)){
var valid22 = true;
const len7 = data19.length;
for(let i7=0; i7<len7; i7++){
const _errs70 = errors;
if(typeof data19[i7] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values/" + i7,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid22 = _errs70 === errors;
if(!valid22){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs65 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc_json !== undefined){
let data21 = data14.jwt_vc_json;
const _errs72 = errors;
if(errors === _errs72){
if(data21 && typeof data21 == "object" && !Array.isArray(data21)){
let missing2;
if((data21.alg_values === undefined) && (missing2 = "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];
return false;
}
else {
const _errs74 = errors;
for(const key3 in data21){
if(!(key3 === "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs74 === errors){
if(data21.alg_values !== undefined){
let data22 = data21.alg_values;
const _errs75 = errors;
if(errors === _errs75){
if(Array.isArray(data22)){
var valid24 = true;
const len8 = data22.length;
for(let i8=0; i8<len8; i8++){
const _errs77 = errors;
if(typeof data22[i8] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values/" + i8,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid24 = _errs77 === errors;
if(!valid24){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs72 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp !== undefined){
let data24 = data14.jwt_vp;
const _errs79 = errors;
if(errors === _errs79){
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
let missing3;
if((data24.alg_values === undefined) && (missing3 = "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];
return false;
}
else {
const _errs81 = errors;
for(const key4 in data24){
if(!(key4 === "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs81 === errors){
if(data24.alg_values !== undefined){
let data25 = data24.alg_values;
const _errs82 = errors;
if(errors === _errs82){
if(Array.isArray(data25)){
var valid26 = true;
const len9 = data25.length;
for(let i9=0; i9<len9; i9++){
const _errs84 = errors;
if(typeof data25[i9] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values/" + i9,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid26 = _errs84 === errors;
if(!valid26){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs79 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp_json !== undefined){
let data27 = data14.jwt_vp_json;
const _errs86 = errors;
if(errors === _errs86){
if(data27 && typeof data27 == "object" && !Array.isArray(data27)){
let missing4;
if((data27.alg_values === undefined) && (missing4 = "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];
return false;
}
else {
const _errs88 = errors;
for(const key5 in data27){
if(!(key5 === "alg_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs88 === errors){
if(data27.alg_values !== undefined){
let data28 = data27.alg_values;
const _errs89 = errors;
if(errors === _errs89){
if(Array.isArray(data28)){
var valid28 = true;
const len10 = data28.length;
for(let i10=0; i10<len10; i10++){
const _errs91 = errors;
if(typeof data28[i10] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values/" + i10,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid28 = _errs91 === errors;
if(!valid28){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs86 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp !== undefined){
let data30 = data14.ldp;
const _errs93 = errors;
if(errors === _errs93){
if(data30 && typeof data30 == "object" && !Array.isArray(data30)){
let missing5;
if((data30.proof_type_values === undefined) && (missing5 = "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];
return false;
}
else {
const _errs95 = errors;
for(const key6 in data30){
if(!(key6 === "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs95 === errors){
if(data30.proof_type_values !== undefined){
let data31 = data30.proof_type_values;
const _errs96 = errors;
if(errors === _errs96){
if(Array.isArray(data31)){
var valid30 = true;
const len11 = data31.length;
for(let i11=0; i11<len11; i11++){
const _errs98 = errors;
if(typeof data31[i11] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values/" + i11,schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid30 = _errs98 === errors;
if(!valid30){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs93 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vc !== undefined){
let data33 = data14.ldp_vc;
const _errs100 = errors;
if(errors === _errs100){
if(data33 && typeof data33 == "object" && !Array.isArray(data33)){
let missing6;
if((data33.proof_type_values === undefined) && (missing6 = "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];
return false;
}
else {
const _errs102 = errors;
for(const key7 in data33){
if(!(key7 === "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs102 === errors){
if(data33.proof_type_values !== undefined){
let data34 = data33.proof_type_values;
const _errs103 = errors;
if(errors === _errs103){
if(Array.isArray(data34)){
var valid32 = true;
const len12 = data34.length;
for(let i12=0; i12<len12; i12++){
const _errs105 = errors;
if(typeof data34[i12] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values/" + i12,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid32 = _errs105 === errors;
if(!valid32){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs100 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vp !== undefined){
let data36 = data14.ldp_vp;
const _errs107 = errors;
if(errors === _errs107){
if(data36 && typeof data36 == "object" && !Array.isArray(data36)){
let missing7;
if((data36.proof_type_values === undefined) && (missing7 = "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];
return false;
}
else {
const _errs109 = errors;
for(const key8 in data36){
if(!(key8 === "proof_type_values")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs109 === errors){
if(data36.proof_type_values !== undefined){
let data37 = data36.proof_type_values;
const _errs110 = errors;
if(errors === _errs110){
if(Array.isArray(data37)){
var valid34 = true;
const len13 = data37.length;
for(let i13=0; i13<len13; i13++){
const _errs112 = errors;
if(typeof data37[i13] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values/" + i13,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid34 = _errs112 === errors;
if(!valid34){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs107 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di !== undefined){
let data39 = data14.di;
const _errs114 = errors;
if(errors === _errs114){
if(data39 && typeof data39 == "object" && !Array.isArray(data39)){
let missing8;
if(((data39.proof_type_values === undefined) && (missing8 = "proof_type_values")) || ((data39.cryptosuite === undefined) && (missing8 = "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];
return false;
}
else {
const _errs116 = errors;
for(const key9 in data39){
if(!((key9 === "proof_type_values") || (key9 === "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs116 === errors){
if(data39.proof_type_values !== undefined){
let data40 = data39.proof_type_values;
const _errs117 = errors;
if(errors === _errs117){
if(Array.isArray(data40)){
var valid36 = true;
const len14 = data40.length;
for(let i14=0; i14<len14; i14++){
const _errs119 = errors;
if(typeof data40[i14] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values/" + i14,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid36 = _errs119 === errors;
if(!valid36){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs117 === errors;
}
else {
var valid35 = true;
}
if(valid35){
if(data39.cryptosuite !== undefined){
let data42 = data39.cryptosuite;
const _errs121 = errors;
if(errors === _errs121){
if(Array.isArray(data42)){
var valid37 = true;
const len15 = data42.length;
for(let i15=0; i15<len15; i15++){
const _errs123 = errors;
if(typeof data42[i15] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite/" + i15,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid37 = _errs123 === errors;
if(!valid37){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs121 === errors;
}
else {
var valid35 = true;
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs114 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vc !== undefined){
let data44 = data14.di_vc;
const _errs125 = errors;
if(errors === _errs125){
if(data44 && typeof data44 == "object" && !Array.isArray(data44)){
let missing9;
if(((data44.proof_type_values === undefined) && (missing9 = "proof_type_values")) || ((data44.cryptosuite === undefined) && (missing9 = "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];
return false;
}
else {
const _errs127 = errors;
for(const key10 in data44){
if(!((key10 === "proof_type_values") || (key10 === "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs127 === errors){
if(data44.proof_type_values !== undefined){
let data45 = data44.proof_type_values;
const _errs128 = errors;
if(errors === _errs128){
if(Array.isArray(data45)){
var valid39 = true;
const len16 = data45.length;
for(let i16=0; i16<len16; i16++){
const _errs130 = errors;
if(typeof data45[i16] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values/" + i16,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid39 = _errs130 === errors;
if(!valid39){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs128 === errors;
}
else {
var valid38 = true;
}
if(valid38){
if(data44.cryptosuite !== undefined){
let data47 = data44.cryptosuite;
const _errs132 = errors;
if(errors === _errs132){
if(Array.isArray(data47)){
var valid40 = true;
const len17 = data47.length;
for(let i17=0; i17<len17; i17++){
const _errs134 = errors;
if(typeof data47[i17] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite/" + i17,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid40 = _errs134 === errors;
if(!valid40){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs132 === errors;
}
else {
var valid38 = true;
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs125 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vp !== undefined){
let data49 = data14.di_vp;
const _errs136 = errors;
if(errors === _errs136){
if(data49 && typeof data49 == "object" && !Array.isArray(data49)){
let missing10;
if(((data49.proof_type_values === undefined) && (missing10 = "proof_type_values")) || ((data49.cryptosuite === undefined) && (missing10 = "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];
return false;
}
else {
const _errs138 = errors;
for(const key11 in data49){
if(!((key11 === "proof_type_values") || (key11 === "cryptosuite"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key11},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs138 === errors){
if(data49.proof_type_values !== undefined){
let data50 = data49.proof_type_values;
const _errs139 = errors;
if(errors === _errs139){
if(Array.isArray(data50)){
var valid42 = true;
const len18 = data50.length;
for(let i18=0; i18<len18; i18++){
const _errs141 = errors;
if(typeof data50[i18] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values/" + i18,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid42 = _errs141 === errors;
if(!valid42){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs139 === errors;
}
else {
var valid41 = true;
}
if(valid41){
if(data49.cryptosuite !== undefined){
let data52 = data49.cryptosuite;
const _errs143 = errors;
if(errors === _errs143){
if(Array.isArray(data52)){
var valid43 = true;
const len19 = data52.length;
for(let i19=0; i19<len19; i19++){
const _errs145 = errors;
if(typeof data52[i19] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite/" + i19,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid43 = _errs145 === errors;
if(!valid43){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs143 === errors;
}
else {
var valid41 = true;
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs136 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["vc+sd-jwt"] !== undefined){
let data54 = data14["vc+sd-jwt"];
const _errs147 = errors;
if(errors === _errs147){
if(data54 && typeof data54 == "object" && !Array.isArray(data54)){
const _errs149 = errors;
for(const key12 in data54){
if(!((key12 === "sd-jwt_alg_values") || (key12 === "kb-jwt_alg_values"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key12},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs149 === errors){
if(data54["sd-jwt_alg_values"] !== undefined){
let data55 = data54["sd-jwt_alg_values"];
const _errs150 = errors;
if(errors === _errs150){
if(Array.isArray(data55)){
var valid45 = true;
const len20 = data55.length;
for(let i20=0; i20<len20; i20++){
const _errs152 = errors;
if(typeof data55[i20] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values/" + i20,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid45 = _errs152 === errors;
if(!valid45){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs150 === errors;
}
else {
var valid44 = true;
}
if(valid44){
if(data54["kb-jwt_alg_values"] !== undefined){
let data57 = data54["kb-jwt_alg_values"];
const _errs154 = errors;
if(errors === _errs154){
if(Array.isArray(data57)){
var valid46 = true;
const len21 = data57.length;
for(let i21=0; i21<len21; i21++){
const _errs156 = errors;
if(typeof data57[i21] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values/" + i21,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid46 = _errs156 === errors;
if(!valid46){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs154 === errors;
}
else {
var valid44 = true;
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs147 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["dc+sd-jwt"] !== undefined){
let data59 = data14["dc+sd-jwt"];
const _errs158 = errors;
if(errors === _errs158){
if(data59 && typeof data59 == "object" && !Array.isArray(data59)){
const _errs160 = errors;
for(const key13 in data59){
if(!((key13 === "sd-jwt_alg_values") || (key13 === "kb-jwt_alg_values"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key13},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs160 === errors){
if(data59["sd-jwt_alg_values"] !== undefined){
let data60 = data59["sd-jwt_alg_values"];
const _errs161 = errors;
if(errors === _errs161){
if(Array.isArray(data60)){
var valid48 = true;
const len22 = data60.length;
for(let i22=0; i22<len22; i22++){
const _errs163 = errors;
if(typeof data60[i22] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values/" + i22,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid48 = _errs163 === errors;
if(!valid48){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs161 === errors;
}
else {
var valid47 = true;
}
if(valid47){
if(data59["kb-jwt_alg_values"] !== undefined){
let data62 = data59["kb-jwt_alg_values"];
const _errs165 = errors;
if(errors === _errs165){
if(Array.isArray(data62)){
var valid49 = true;
const len23 = data62.length;
for(let i23=0; i23<len23; i23++){
const _errs167 = errors;
if(typeof data62[i23] !== "string"){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values/" + i23,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid49 = _errs167 === errors;
if(!valid49){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs165 === errors;
}
else {
var valid47 = true;
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs158 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.mso_mdoc !== undefined){
let data64 = data14.mso_mdoc;
const _errs169 = errors;
if(errors === _errs169){
if(data64 && typeof data64 == "object" && !Array.isArray(data64)){
const _errs171 = errors;
for(const key14 in data64){
if(!((key14 === "issuerauth_alg_values") || (key14 === "deviceauth_alg_values"))){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key14},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs171 === errors){
if(data64.issuerauth_alg_values !== undefined){
let data65 = data64.issuerauth_alg_values;
const _errs172 = errors;
if(errors === _errs172){
if(Array.isArray(data65)){
var valid51 = true;
const len24 = data65.length;
for(let i24=0; i24<len24; i24++){
const _errs174 = errors;
if(!(typeof data65[i24] == "number")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values/" + i24,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid51 = _errs174 === errors;
if(!valid51){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs172 === errors;
}
else {
var valid50 = true;
}
if(valid50){
if(data64.deviceauth_alg_values !== undefined){
let data67 = data64.deviceauth_alg_values;
const _errs176 = errors;
if(errors === _errs176){
if(Array.isArray(data67)){
var valid52 = true;
const len25 = data67.length;
for(let i25=0; i25<len25; i25++){
const _errs178 = errors;
if(!(typeof data67[i25] == "number")){
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values/" + i25,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid52 = _errs178 === errors;
if(!valid52){
break;
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs176 === errors;
}
else {
var valid50 = true;
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs169 === errors;
}
else {
var valid18 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate17.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid0 = _errs55 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_name !== undefined){
const _errs180 = errors;
if(typeof data.client_name !== "string"){
validate17.errors = [{instancePath:instancePath+"/client_name",schemaPath:"#/properties/client_name/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs180 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.logo_uri !== undefined){
const _errs182 = errors;
if(typeof data.logo_uri !== "string"){
validate17.errors = [{instancePath:instancePath+"/logo_uri",schemaPath:"#/properties/logo_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs182 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate17.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate17.errors = vErrors;
return errors === 0;
}


function validate16(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.id_token_type !== undefined){
const _errs1 = errors;
if(typeof data.id_token_type !== "string"){
validate16.errors = [{instancePath:instancePath+"/id_token_type",schemaPath:"#/properties/id_token_type/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_metadata !== undefined){
const _errs3 = errors;
if(!(validate17(data.client_metadata, {instancePath:instancePath+"/client_metadata",parentData:data,parentDataProperty:"client_metadata",rootData}))){
vErrors = vErrors === null ? validate17.errors : vErrors.concat(validate17.errors);
errors = vErrors.length;
}
var valid0 = _errs3 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.iss !== undefined){
const _errs4 = errors;
if(typeof data.iss !== "string"){
validate16.errors = [{instancePath:instancePath+"/iss",schemaPath:"#/properties/iss/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs4 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.sub !== undefined){
const _errs6 = errors;
if(typeof data.sub !== "string"){
validate16.errors = [{instancePath:instancePath+"/sub",schemaPath:"#/properties/sub/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs6 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.aud !== undefined){
let data4 = data.aud;
const _errs8 = errors;
const _errs9 = errors;
let valid1 = false;
const _errs10 = errors;
if(typeof data4 !== "string"){
const err0 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
var _valid0 = _errs10 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs12 = errors;
if(errors === _errs12){
if(Array.isArray(data4)){
var valid2 = true;
const len0 = data4.length;
for(let i0=0; i0<len0; i0++){
const _errs14 = errors;
if(typeof data4[i0] !== "string"){
const err1 = {instancePath:instancePath+"/aud/" + i0,schemaPath:"#/properties/aud/anyOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var valid2 = _errs14 === errors;
if(!valid2){
break;
}
}
}
else {
const err2 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
}
var _valid0 = _errs12 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err3 = {instancePath:instancePath+"/aud",schemaPath:"#/properties/aud/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
validate16.errors = vErrors;
return false;
}
else {
errors = _errs9;
if(vErrors !== null){
if(_errs9){
vErrors.length = _errs9;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs8 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.iat !== undefined){
const _errs16 = errors;
if(!(typeof data.iat == "number")){
validate16.errors = [{instancePath:instancePath+"/iat",schemaPath:"#/properties/iat/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs16 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.nbf !== undefined){
const _errs18 = errors;
if(!(typeof data.nbf == "number")){
validate16.errors = [{instancePath:instancePath+"/nbf",schemaPath:"#/properties/nbf/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs18 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.type !== undefined){
const _errs20 = errors;
if(typeof data.type !== "string"){
validate16.errors = [{instancePath:instancePath+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs20 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.exp !== undefined){
const _errs22 = errors;
if(!(typeof data.exp == "number")){
validate16.errors = [{instancePath:instancePath+"/exp",schemaPath:"#/properties/exp/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs22 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.rexp !== undefined){
const _errs24 = errors;
if(!(typeof data.rexp == "number")){
validate16.errors = [{instancePath:instancePath+"/rexp",schemaPath:"#/properties/rexp/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs24 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jti !== undefined){
const _errs26 = errors;
if(typeof data.jti !== "string"){
validate16.errors = [{instancePath:instancePath+"/jti",schemaPath:"#/properties/jti/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs26 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scope !== undefined){
const _errs28 = errors;
if(typeof data.scope !== "string"){
validate16.errors = [{instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs28 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_type !== undefined){
let data13 = data.response_type;
const _errs30 = errors;
const _errs31 = errors;
let valid3 = false;
const _errs32 = errors;
if(typeof data13 !== "string"){
const err4 = {instancePath:instancePath+"/response_type",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
if(!((data13 === "id_token") || (data13 === "vp_token"))){
const err5 = {instancePath:instancePath+"/response_type",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema28.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
var _valid1 = _errs32 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs35 = errors;
if(typeof data13 !== "string"){
const err6 = {instancePath:instancePath+"/response_type",schemaPath:"#/properties/response_type/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
var _valid1 = _errs35 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err7 = {instancePath:instancePath+"/response_type",schemaPath:"#/properties/response_type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
validate16.errors = vErrors;
return false;
}
else {
errors = _errs31;
if(vErrors !== null){
if(_errs31){
vErrors.length = _errs31;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs30 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_id !== undefined){
const _errs37 = errors;
if(typeof data.client_id !== "string"){
validate16.errors = [{instancePath:instancePath+"/client_id",schemaPath:"#/properties/client_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs37 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.redirect_uri !== undefined){
const _errs39 = errors;
if(typeof data.redirect_uri !== "string"){
validate16.errors = [{instancePath:instancePath+"/redirect_uri",schemaPath:"#/properties/redirect_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs39 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_hint !== undefined){
const _errs41 = errors;
if(typeof data.id_token_hint !== "string"){
validate16.errors = [{instancePath:instancePath+"/id_token_hint",schemaPath:"#/properties/id_token_hint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs41 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.nonce !== undefined){
const _errs43 = errors;
if(typeof data.nonce !== "string"){
validate16.errors = [{instancePath:instancePath+"/nonce",schemaPath:"#/properties/nonce/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs43 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.state !== undefined){
const _errs45 = errors;
if(typeof data.state !== "string"){
validate16.errors = [{instancePath:instancePath+"/state",schemaPath:"#/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs45 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_mode !== undefined){
let data19 = data.response_mode;
const _errs47 = errors;
if(typeof data19 !== "string"){
validate16.errors = [{instancePath:instancePath+"/response_mode",schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((((((((data19 === "fragment") || (data19 === "form_post")) || (data19 === "post")) || (data19 === "direct_post")) || (data19 === "query")) || (data19 === "direct_post.jwt")) || (data19 === "query.jwt")) || (data19 === "fragment.jwt"))){
validate16.errors = [{instancePath:instancePath+"/response_mode",schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema35.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs47 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request !== undefined){
const _errs50 = errors;
if(typeof data.request !== "string"){
validate16.errors = [{instancePath:instancePath+"/request",schemaPath:"#/properties/request/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs50 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_uri !== undefined){
const _errs52 = errors;
if(typeof data.request_uri !== "string"){
validate16.errors = [{instancePath:instancePath+"/request_uri",schemaPath:"#/properties/request_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs52 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claims !== undefined){
let data22 = data.claims;
const _errs54 = errors;
if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){
validate16.errors = [{instancePath:instancePath+"/claims",schemaPath:"#/definitions/ClaimPayloadCommon/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
var valid0 = _errs54 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_uri !== undefined){
const _errs57 = errors;
if(typeof data.response_uri !== "string"){
validate16.errors = [{instancePath:instancePath+"/response_uri",schemaPath:"#/properties/response_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs57 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.dcql_query !== undefined){
let data24 = data.dcql_query;
const _errs59 = errors;
if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){
validate16.errors = [{instancePath:instancePath+"/dcql_query",schemaPath:"#/properties/dcql_query/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
var valid0 = _errs59 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.transaction_data !== undefined){
let data25 = data.transaction_data;
const _errs61 = errors;
if(errors === _errs61){
if(Array.isArray(data25)){
var valid7 = true;
const len1 = data25.length;
for(let i1=0; i1<len1; i1++){
const _errs63 = errors;
if(typeof data25[i1] !== "string"){
validate16.errors = [{instancePath:instancePath+"/transaction_data/" + i1,schemaPath:"#/properties/transaction_data/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid7 = _errs63 === errors;
if(!valid7){
break;
}
}
}
else {
validate16.errors = [{instancePath:instancePath+"/transaction_data",schemaPath:"#/properties/transaction_data/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs61 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.verifier_attestations !== undefined){
let data27 = data.verifier_attestations;
const _errs65 = errors;
if(errors === _errs65){
if(Array.isArray(data27)){
var valid8 = true;
const len2 = data27.length;
for(let i2=0; i2<len2; i2++){
let data28 = data27[i2];
const _errs67 = errors;
const _errs68 = errors;
if(errors === _errs68){
if(data28 && typeof data28 == "object" && !Array.isArray(data28)){
let missing0;
if(((data28.format === undefined) && (missing0 = "format")) || ((data28.data === undefined) && (missing0 = "data"))){
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs70 = errors;
for(const key0 in data28){
if(!(((key0 === "format") || (key0 === "data")) || (key0 === "credential_ids"))){
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs70 === errors){
if(data28.format !== undefined){
const _errs71 = errors;
if(typeof data28.format !== "string"){
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2+"/format",schemaPath:"#/definitions/RelyingPartyAttestation/properties/format/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid10 = _errs71 === errors;
}
else {
var valid10 = true;
}
if(valid10){
if(data28.data !== undefined){
const _errs73 = errors;
if(typeof data28.data !== "string"){
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2+"/data",schemaPath:"#/definitions/RelyingPartyAttestation/properties/data/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid10 = _errs73 === errors;
}
else {
var valid10 = true;
}
if(valid10){
if(data28.credential_ids !== undefined){
let data31 = data28.credential_ids;
const _errs75 = errors;
if(errors === _errs75){
if(Array.isArray(data31)){
var valid11 = true;
const len3 = data31.length;
for(let i3=0; i3<len3; i3++){
const _errs77 = errors;
if(typeof data31[i3] !== "string"){
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2+"/credential_ids/" + i3,schemaPath:"#/definitions/RelyingPartyAttestation/properties/credential_ids/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid11 = _errs77 === errors;
if(!valid11){
break;
}
}
}
else {
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2+"/credential_ids",schemaPath:"#/definitions/RelyingPartyAttestation/properties/credential_ids/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid10 = _errs75 === errors;
}
else {
var valid10 = true;
}
}
}
}
}
}
else {
validate16.errors = [{instancePath:instancePath+"/verifier_attestations/" + i2,schemaPath:"#/definitions/RelyingPartyAttestation/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid8 = _errs67 === errors;
if(!valid8){
break;
}
}
}
else {
validate16.errors = [{instancePath:instancePath+"/verifier_attestations",schemaPath:"#/properties/verifier_attestations/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs65 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate16.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate16.errors = vErrors;
return errors === 0;
}


function validate15(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(!(validate16(data, {instancePath,parentData,parentDataProperty,rootData}))){
vErrors = vErrors === null ? validate16.errors : vErrors.concat(validate16.errors);
errors = vErrors.length;
}
validate15.errors = vErrors;
return errors === 0;
}

exports.AuthorizationResponseOptsSchema = validate20;
const schema39 = {"properties":{"responseURI":{"type":"string"},"responseURIType":{"$ref":"#/definitions/ResponseURIType"},"registration":{"$ref":"#/definitions/ResponseRegistrationOpts"},"version":{"$ref":"#/definitions/SupportedVersion"},"audience":{"type":"string"},"createJwtCallback":{"$ref":"#/definitions/CreateJwtCallback"},"jwtIssuer":{"anyOf":[{"type":"object","properties":{"method":{"type":"string","const":"did"},"options":{"type":"object","additionalProperties":{},"description":"Additional options for the issuance context"},"didUrl":{"type":"string"},"alg":{"type":"string"}},"required":["alg","didUrl","method"],"additionalProperties":false},{"type":"object","properties":{"method":{"type":"string","const":"x5c"},"options":{"type":"object","additionalProperties":{},"description":"Additional options for the issuance context"},"alg":{"type":"string"},"x5c":{"type":"array","items":{"type":"string"},"description":"Array of base64-encoded certificate strings in the DER-format.\n\nThe certificate containing the public key corresponding to the key used to digitally sign the JWS MUST be the first certificate."},"issuer":{"type":"string","description":"The issuer jwt\n\nThis value will be used as the iss value of the issue jwt. It is also used as the client_id. And will also be set as the redirect_uri\n\nIt must match an entry in the x5c certificate leaf entry dnsName / uriName"}},"required":["alg","issuer","method","x5c"],"additionalProperties":false},{"type":"object","properties":{"method":{"type":"string","const":"jwk"},"options":{"type":"object","additionalProperties":{},"description":"Additional options for the issuance context"},"alg":{"type":"string"},"jwk":{"type":"object","properties":{"kty":{"type":"string"},"crv":{"type":"string"},"x":{"type":"string"},"y":{"type":"string"},"e":{"type":"string"},"n":{"type":"string"},"alg":{"type":"string"},"d":{"type":"string"},"dp":{"type":"string"},"dq":{"type":"string"},"ext":{"type":"boolean"},"k":{"type":"string"},"key_ops":{"type":"array","items":{"type":"string"}},"kid":{"type":"string"},"oth":{"type":"array","items":{"type":"object","properties":{"d":{"type":"string"},"r":{"type":"string"},"t":{"type":"string"}},"additionalProperties":false}},"p":{"type":"string"},"q":{"type":"string"},"qi":{"type":"string"},"use":{"type":"string"},"x5c":{"type":"array","items":{"type":"string"}},"x5t":{"type":"string"},"x5t#S256":{"type":"string"},"x5u":{"type":"string"}},"additionalProperties":{}}},"required":["alg","jwk","method"],"additionalProperties":false},{"type":"object","properties":{"method":{"type":"string","const":"custom"},"options":{"type":"object","additionalProperties":{},"description":"Additional options for the issuance context"}},"required":["method"],"additionalProperties":false}]},"responseMode":{"$ref":"#/definitions/ResponseMode"},"responseType":{"type":"array","items":{"$ref":"#/definitions/ResponseType"},"minItems":1,"maxItems":1},"expiresIn":{"type":"number"},"accessToken":{"type":"string"},"tokenType":{"type":"string"},"refreshToken":{"type":"string"},"dcqlResponse":{"$ref":"#/definitions/DcqlResponseOpts"},"isFirstParty":{"type":"boolean"}}};
const schema40 = {"enum":["response_uri","redirect_uri"]};
const schema66 = {"enum":[280,1000]};
const schema56 = {"enum":["fragment","form_post","post","direct_post","query","direct_post.jwt","query.jwt","fragment.jwt"]};
const schema50 = {"enum":["id_token","vp_token"]};
const schema41 = {"properties":{"idTokenSigningAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"requestObjectSigningAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"idTokenEncryptionAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"userinfoSigningAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"userinfoEncryptionAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"requestObjectEncryptionAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"tokenEndpointAuthSigningAlgValuesSupported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]}}};
const schema42 = {"enum":["NONE","REFERENCE","VALUE"]};
const schema48 = {"enum":["openid:","openid-vc:"]};
const schema49 = {"enum":["https://self-issued.me","https://self-issued.me/v2","https://self-issued.me/v2/openid-vc"]};
const schema52 = {"enum":["openid","openid did_authn","profile","email","address","phone"]};
const schema54 = {"enum":["public","pairwise"]};
const schema58 = {"enum":["authorization_code","implicit"]};
const schema60 = {"enum":["phr","phrh"]};
const schema62 = {"enum":["client_secret_post","client_secret_basic","client_secret_jwt","private_key_jwt"]};
const schema64 = {"enum":["normal","aggregated","distributed"]};
const schema44 = {"enum":["authorization-request","request-object"]};

function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
const _errs0 = errors;
let valid0 = false;
const _errs1 = errors;
if(typeof data !== "string"){
const err0 = {instancePath,schemaPath:"#/definitions/PropertyTarget/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!((data === "authorization-request") || (data === "request-object"))){
const err1 = {instancePath,schemaPath:"#/definitions/PropertyTarget/enum",keyword:"enum",params:{allowedValues: schema44.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var _valid0 = _errs1 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs4 = errors;
if(errors === _errs4){
if(Array.isArray(data)){
var valid2 = true;
const len0 = data.length;
for(let i0=0; i0<len0; i0++){
let data0 = data[i0];
const _errs6 = errors;
if(typeof data0 !== "string"){
const err2 = {instancePath:instancePath+"/" + i0,schemaPath:"#/definitions/PropertyTarget/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
if(!((data0 === "authorization-request") || (data0 === "request-object"))){
const err3 = {instancePath:instancePath+"/" + i0,schemaPath:"#/definitions/PropertyTarget/enum",keyword:"enum",params:{allowedValues: schema44.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
var valid2 = _errs6 === errors;
if(!valid2){
break;
}
}
}
else {
const err4 = {instancePath,schemaPath:"#/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
}
var _valid0 = _errs4 === errors;
valid0 = valid0 || _valid0;
}
if(!valid0){
const err5 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
validate23.errors = vErrors;
return false;
}
else {
errors = _errs0;
if(vErrors !== null){
if(_errs0){
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
}
validate23.errors = vErrors;
return errors === 0;
}


function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
let missing0;
if((data.passBy === undefined) && (missing0 = "passBy")){
validate22.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
if(data.passBy !== undefined){
let data0 = data.passBy;
const _errs1 = errors;
if(typeof data0 !== "string"){
validate22.errors = [{instancePath:instancePath+"/passBy",schemaPath:"#/definitions/PassBy/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!(((data0 === "NONE") || (data0 === "REFERENCE")) || (data0 === "VALUE"))){
validate22.errors = [{instancePath:instancePath+"/passBy",schemaPath:"#/definitions/PassBy/enum",keyword:"enum",params:{allowedValues: schema42.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.reference_uri !== undefined){
const _errs4 = errors;
if(typeof data.reference_uri !== "string"){
validate22.errors = [{instancePath:instancePath+"/reference_uri",schemaPath:"#/properties/reference_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs4 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.targets !== undefined){
const _errs6 = errors;
if(!(validate23(data.targets, {instancePath:instancePath+"/targets",parentData:data,parentDataProperty:"targets",rootData}))){
vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);
errors = vErrors.length;
}
var valid0 = _errs6 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_encrypted_response_alg !== undefined){
let data3 = data.id_token_encrypted_response_alg;
const _errs7 = errors;
if(typeof data3 !== "string"){
validate22.errors = [{instancePath:instancePath+"/id_token_encrypted_response_alg",schemaPath:"#/definitions/EncKeyAlgorithm/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if("ECDH-ES" !== data3){
validate22.errors = [{instancePath:instancePath+"/id_token_encrypted_response_alg",schemaPath:"#/definitions/EncKeyAlgorithm/const",keyword:"const",params:{allowedValue: "ECDH-ES"},message:"must be equal to constant"}];
return false;
}
var valid0 = _errs7 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_encrypted_response_enc !== undefined){
let data4 = data.id_token_encrypted_response_enc;
const _errs10 = errors;
if(typeof data4 !== "string"){
validate22.errors = [{instancePath:instancePath+"/id_token_encrypted_response_enc",schemaPath:"#/definitions/EncSymmetricAlgorithmCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if("XC20P" !== data4){
validate22.errors = [{instancePath:instancePath+"/id_token_encrypted_response_enc",schemaPath:"#/definitions/EncSymmetricAlgorithmCode/const",keyword:"const",params:{allowedValue: "XC20P"},message:"must be equal to constant"}];
return false;
}
var valid0 = _errs10 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.authorizationEndpoint !== undefined){
let data5 = data.authorizationEndpoint;
const _errs13 = errors;
const _errs14 = errors;
let valid4 = false;
const _errs15 = errors;
if(typeof data5 !== "string"){
const err0 = {instancePath:instancePath+"/authorizationEndpoint",schemaPath:"#/definitions/Schema/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!((data5 === "openid:") || (data5 === "openid-vc:"))){
const err1 = {instancePath:instancePath+"/authorizationEndpoint",schemaPath:"#/definitions/Schema/enum",keyword:"enum",params:{allowedValues: schema48.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var _valid0 = _errs15 === errors;
valid4 = valid4 || _valid0;
if(!valid4){
const _errs18 = errors;
if(typeof data5 !== "string"){
const err2 = {instancePath:instancePath+"/authorizationEndpoint",schemaPath:"#/properties/authorizationEndpoint/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
var _valid0 = _errs18 === errors;
valid4 = valid4 || _valid0;
}
if(!valid4){
const err3 = {instancePath:instancePath+"/authorizationEndpoint",schemaPath:"#/properties/authorizationEndpoint/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs14;
if(vErrors !== null){
if(_errs14){
vErrors.length = _errs14;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs13 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.issuer !== undefined){
let data6 = data.issuer;
const _errs20 = errors;
const _errs21 = errors;
let valid6 = false;
const _errs22 = errors;
if(typeof data6 !== "string"){
const err4 = {instancePath:instancePath+"/issuer",schemaPath:"#/definitions/ResponseIss/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
if(!(((data6 === "https://self-issued.me") || (data6 === "https://self-issued.me/v2")) || (data6 === "https://self-issued.me/v2/openid-vc"))){
const err5 = {instancePath:instancePath+"/issuer",schemaPath:"#/definitions/ResponseIss/enum",keyword:"enum",params:{allowedValues: schema49.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
var _valid1 = _errs22 === errors;
valid6 = valid6 || _valid1;
if(!valid6){
const _errs25 = errors;
if(typeof data6 !== "string"){
const err6 = {instancePath:instancePath+"/issuer",schemaPath:"#/properties/issuer/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
var _valid1 = _errs25 === errors;
valid6 = valid6 || _valid1;
}
if(!valid6){
const err7 = {instancePath:instancePath+"/issuer",schemaPath:"#/properties/issuer/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs21;
if(vErrors !== null){
if(_errs21){
vErrors.length = _errs21;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs20 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.responseTypesSupported !== undefined){
let data7 = data.responseTypesSupported;
const _errs27 = errors;
const _errs28 = errors;
let valid8 = false;
const _errs29 = errors;
if(errors === _errs29){
if(Array.isArray(data7)){
var valid9 = true;
const len0 = data7.length;
for(let i0=0; i0<len0; i0++){
let data8 = data7[i0];
const _errs31 = errors;
if(typeof data8 !== "string"){
const err8 = {instancePath:instancePath+"/responseTypesSupported/" + i0,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
if(!((data8 === "id_token") || (data8 === "vp_token"))){
const err9 = {instancePath:instancePath+"/responseTypesSupported/" + i0,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema50.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
var valid9 = _errs31 === errors;
if(!valid9){
break;
}
}
}
else {
const err10 = {instancePath:instancePath+"/responseTypesSupported",schemaPath:"#/properties/responseTypesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
}
var _valid2 = _errs29 === errors;
valid8 = valid8 || _valid2;
if(!valid8){
const _errs34 = errors;
if(typeof data7 !== "string"){
const err11 = {instancePath:instancePath+"/responseTypesSupported",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
}
if(!((data7 === "id_token") || (data7 === "vp_token"))){
const err12 = {instancePath:instancePath+"/responseTypesSupported",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema50.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
var _valid2 = _errs34 === errors;
valid8 = valid8 || _valid2;
}
if(!valid8){
const err13 = {instancePath:instancePath+"/responseTypesSupported",schemaPath:"#/properties/responseTypesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs28;
if(vErrors !== null){
if(_errs28){
vErrors.length = _errs28;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs27 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scopesSupported !== undefined){
let data9 = data.scopesSupported;
const _errs37 = errors;
const _errs38 = errors;
let valid12 = false;
const _errs39 = errors;
if(errors === _errs39){
if(Array.isArray(data9)){
var valid13 = true;
const len1 = data9.length;
for(let i1=0; i1<len1; i1++){
let data10 = data9[i1];
const _errs41 = errors;
if(typeof data10 !== "string"){
const err14 = {instancePath:instancePath+"/scopesSupported/" + i1,schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
if(!((((((data10 === "openid") || (data10 === "openid did_authn")) || (data10 === "profile")) || (data10 === "email")) || (data10 === "address")) || (data10 === "phone"))){
const err15 = {instancePath:instancePath+"/scopesSupported/" + i1,schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema52.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
var valid13 = _errs41 === errors;
if(!valid13){
break;
}
}
}
else {
const err16 = {instancePath:instancePath+"/scopesSupported",schemaPath:"#/properties/scopesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
}
var _valid3 = _errs39 === errors;
valid12 = valid12 || _valid3;
if(!valid12){
const _errs44 = errors;
if(typeof data9 !== "string"){
const err17 = {instancePath:instancePath+"/scopesSupported",schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
}
if(!((((((data9 === "openid") || (data9 === "openid did_authn")) || (data9 === "profile")) || (data9 === "email")) || (data9 === "address")) || (data9 === "phone"))){
const err18 = {instancePath:instancePath+"/scopesSupported",schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema52.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
var _valid3 = _errs44 === errors;
valid12 = valid12 || _valid3;
}
if(!valid12){
const err19 = {instancePath:instancePath+"/scopesSupported",schemaPath:"#/properties/scopesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs38;
if(vErrors !== null){
if(_errs38){
vErrors.length = _errs38;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs37 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subjectTypesSupported !== undefined){
let data11 = data.subjectTypesSupported;
const _errs47 = errors;
const _errs48 = errors;
let valid16 = false;
const _errs49 = errors;
if(errors === _errs49){
if(Array.isArray(data11)){
var valid17 = true;
const len2 = data11.length;
for(let i2=0; i2<len2; i2++){
let data12 = data11[i2];
const _errs51 = errors;
if(typeof data12 !== "string"){
const err20 = {instancePath:instancePath+"/subjectTypesSupported/" + i2,schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
if(!((data12 === "public") || (data12 === "pairwise"))){
const err21 = {instancePath:instancePath+"/subjectTypesSupported/" + i2,schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema54.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
var valid17 = _errs51 === errors;
if(!valid17){
break;
}
}
}
else {
const err22 = {instancePath:instancePath+"/subjectTypesSupported",schemaPath:"#/properties/subjectTypesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
}
var _valid4 = _errs49 === errors;
valid16 = valid16 || _valid4;
if(!valid16){
const _errs54 = errors;
if(typeof data11 !== "string"){
const err23 = {instancePath:instancePath+"/subjectTypesSupported",schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
}
if(!((data11 === "public") || (data11 === "pairwise"))){
const err24 = {instancePath:instancePath+"/subjectTypesSupported",schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema54.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
var _valid4 = _errs54 === errors;
valid16 = valid16 || _valid4;
}
if(!valid16){
const err25 = {instancePath:instancePath+"/subjectTypesSupported",schemaPath:"#/properties/subjectTypesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs48;
if(vErrors !== null){
if(_errs48){
vErrors.length = _errs48;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs47 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.idTokenSigningAlgValuesSupported !== undefined){
let data13 = data.idTokenSigningAlgValuesSupported;
const _errs57 = errors;
const _errs58 = errors;
let valid20 = false;
const _errs59 = errors;
if(errors === _errs59){
if(Array.isArray(data13)){
var valid21 = true;
const len3 = data13.length;
for(let i3=0; i3<len3; i3++){
let data14 = data13[i3];
const _errs61 = errors;
if(typeof data14 !== "string"){
const err26 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported/" + i3,schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
if(!(((((data14 === "EdDSA") || (data14 === "RS256")) || (data14 === "PS256")) || (data14 === "ES256")) || (data14 === "ES256K"))){
const err27 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported/" + i3,schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.idTokenSigningAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
var valid21 = _errs61 === errors;
if(!valid21){
break;
}
}
}
else {
const err28 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported",schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
}
var _valid5 = _errs59 === errors;
valid20 = valid20 || _valid5;
if(!valid20){
const _errs63 = errors;
if(typeof data13 !== "string"){
const err29 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported",schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
}
if(!(((((data13 === "EdDSA") || (data13 === "RS256")) || (data13 === "PS256")) || (data13 === "ES256")) || (data13 === "ES256K"))){
const err30 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported",schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.idTokenSigningAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err30];
}
else {
vErrors.push(err30);
}
errors++;
}
var _valid5 = _errs63 === errors;
valid20 = valid20 || _valid5;
}
if(!valid20){
const err31 = {instancePath:instancePath+"/idTokenSigningAlgValuesSupported",schemaPath:"#/properties/idTokenSigningAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err31];
}
else {
vErrors.push(err31);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs58;
if(vErrors !== null){
if(_errs58){
vErrors.length = _errs58;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs57 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requestObjectSigningAlgValuesSupported !== undefined){
let data15 = data.requestObjectSigningAlgValuesSupported;
const _errs65 = errors;
const _errs66 = errors;
let valid22 = false;
const _errs67 = errors;
if(errors === _errs67){
if(Array.isArray(data15)){
var valid23 = true;
const len4 = data15.length;
for(let i4=0; i4<len4; i4++){
let data16 = data15[i4];
const _errs69 = errors;
if(typeof data16 !== "string"){
const err32 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported/" + i4,schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err32];
}
else {
vErrors.push(err32);
}
errors++;
}
if(!(((((data16 === "EdDSA") || (data16 === "RS256")) || (data16 === "PS256")) || (data16 === "ES256")) || (data16 === "ES256K"))){
const err33 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported/" + i4,schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.requestObjectSigningAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err33];
}
else {
vErrors.push(err33);
}
errors++;
}
var valid23 = _errs69 === errors;
if(!valid23){
break;
}
}
}
else {
const err34 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported",schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err34];
}
else {
vErrors.push(err34);
}
errors++;
}
}
var _valid6 = _errs67 === errors;
valid22 = valid22 || _valid6;
if(!valid22){
const _errs71 = errors;
if(typeof data15 !== "string"){
const err35 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported",schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err35];
}
else {
vErrors.push(err35);
}
errors++;
}
if(!(((((data15 === "EdDSA") || (data15 === "RS256")) || (data15 === "PS256")) || (data15 === "ES256")) || (data15 === "ES256K"))){
const err36 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported",schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.requestObjectSigningAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err36];
}
else {
vErrors.push(err36);
}
errors++;
}
var _valid6 = _errs71 === errors;
valid22 = valid22 || _valid6;
}
if(!valid22){
const err37 = {instancePath:instancePath+"/requestObjectSigningAlgValuesSupported",schemaPath:"#/properties/requestObjectSigningAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err37];
}
else {
vErrors.push(err37);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs66;
if(vErrors !== null){
if(_errs66){
vErrors.length = _errs66;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs65 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_syntax_types_supported !== undefined){
let data17 = data.subject_syntax_types_supported;
const _errs73 = errors;
if(errors === _errs73){
if(Array.isArray(data17)){
var valid24 = true;
const len5 = data17.length;
for(let i5=0; i5<len5; i5++){
const _errs75 = errors;
if(typeof data17[i5] !== "string"){
validate22.errors = [{instancePath:instancePath+"/subject_syntax_types_supported/" + i5,schemaPath:"#/properties/subject_syntax_types_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid24 = _errs75 === errors;
if(!valid24){
break;
}
}
}
else {
validate22.errors = [{instancePath:instancePath+"/subject_syntax_types_supported",schemaPath:"#/properties/subject_syntax_types_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs73 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.tokenEndpoint !== undefined){
const _errs77 = errors;
if(typeof data.tokenEndpoint !== "string"){
validate22.errors = [{instancePath:instancePath+"/tokenEndpoint",schemaPath:"#/properties/tokenEndpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs77 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfoEndpoint !== undefined){
const _errs79 = errors;
if(typeof data.userinfoEndpoint !== "string"){
validate22.errors = [{instancePath:instancePath+"/userinfoEndpoint",schemaPath:"#/properties/userinfoEndpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs79 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jwksUri !== undefined){
const _errs81 = errors;
if(typeof data.jwksUri !== "string"){
validate22.errors = [{instancePath:instancePath+"/jwksUri",schemaPath:"#/properties/jwksUri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs81 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.registrationEndpoint !== undefined){
const _errs83 = errors;
if(typeof data.registrationEndpoint !== "string"){
validate22.errors = [{instancePath:instancePath+"/registrationEndpoint",schemaPath:"#/properties/registrationEndpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs83 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.responseModesSupported !== undefined){
let data23 = data.responseModesSupported;
const _errs85 = errors;
const _errs86 = errors;
let valid25 = false;
const _errs87 = errors;
if(errors === _errs87){
if(Array.isArray(data23)){
var valid26 = true;
const len6 = data23.length;
for(let i6=0; i6<len6; i6++){
let data24 = data23[i6];
const _errs89 = errors;
if(typeof data24 !== "string"){
const err38 = {instancePath:instancePath+"/responseModesSupported/" + i6,schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err38];
}
else {
vErrors.push(err38);
}
errors++;
}
if(!((((((((data24 === "fragment") || (data24 === "form_post")) || (data24 === "post")) || (data24 === "direct_post")) || (data24 === "query")) || (data24 === "direct_post.jwt")) || (data24 === "query.jwt")) || (data24 === "fragment.jwt"))){
const err39 = {instancePath:instancePath+"/responseModesSupported/" + i6,schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema56.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err39];
}
else {
vErrors.push(err39);
}
errors++;
}
var valid26 = _errs89 === errors;
if(!valid26){
break;
}
}
}
else {
const err40 = {instancePath:instancePath+"/responseModesSupported",schemaPath:"#/properties/responseModesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err40];
}
else {
vErrors.push(err40);
}
errors++;
}
}
var _valid7 = _errs87 === errors;
valid25 = valid25 || _valid7;
if(!valid25){
const _errs92 = errors;
if(typeof data23 !== "string"){
const err41 = {instancePath:instancePath+"/responseModesSupported",schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err41];
}
else {
vErrors.push(err41);
}
errors++;
}
if(!((((((((data23 === "fragment") || (data23 === "form_post")) || (data23 === "post")) || (data23 === "direct_post")) || (data23 === "query")) || (data23 === "direct_post.jwt")) || (data23 === "query.jwt")) || (data23 === "fragment.jwt"))){
const err42 = {instancePath:instancePath+"/responseModesSupported",schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema56.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err42];
}
else {
vErrors.push(err42);
}
errors++;
}
var _valid7 = _errs92 === errors;
valid25 = valid25 || _valid7;
}
if(!valid25){
const err43 = {instancePath:instancePath+"/responseModesSupported",schemaPath:"#/properties/responseModesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err43];
}
else {
vErrors.push(err43);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs86;
if(vErrors !== null){
if(_errs86){
vErrors.length = _errs86;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs85 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.grantTypesSupported !== undefined){
let data25 = data.grantTypesSupported;
const _errs95 = errors;
const _errs96 = errors;
let valid29 = false;
const _errs97 = errors;
if(errors === _errs97){
if(Array.isArray(data25)){
var valid30 = true;
const len7 = data25.length;
for(let i7=0; i7<len7; i7++){
let data26 = data25[i7];
const _errs99 = errors;
if(typeof data26 !== "string"){
const err44 = {instancePath:instancePath+"/grantTypesSupported/" + i7,schemaPath:"#/definitions/GrantType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err44];
}
else {
vErrors.push(err44);
}
errors++;
}
if(!((data26 === "authorization_code") || (data26 === "implicit"))){
const err45 = {instancePath:instancePath+"/grantTypesSupported/" + i7,schemaPath:"#/definitions/GrantType/enum",keyword:"enum",params:{allowedValues: schema58.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err45];
}
else {
vErrors.push(err45);
}
errors++;
}
var valid30 = _errs99 === errors;
if(!valid30){
break;
}
}
}
else {
const err46 = {instancePath:instancePath+"/grantTypesSupported",schemaPath:"#/properties/grantTypesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err46];
}
else {
vErrors.push(err46);
}
errors++;
}
}
var _valid8 = _errs97 === errors;
valid29 = valid29 || _valid8;
if(!valid29){
const _errs102 = errors;
if(typeof data25 !== "string"){
const err47 = {instancePath:instancePath+"/grantTypesSupported",schemaPath:"#/definitions/GrantType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err47];
}
else {
vErrors.push(err47);
}
errors++;
}
if(!((data25 === "authorization_code") || (data25 === "implicit"))){
const err48 = {instancePath:instancePath+"/grantTypesSupported",schemaPath:"#/definitions/GrantType/enum",keyword:"enum",params:{allowedValues: schema58.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err48];
}
else {
vErrors.push(err48);
}
errors++;
}
var _valid8 = _errs102 === errors;
valid29 = valid29 || _valid8;
}
if(!valid29){
const err49 = {instancePath:instancePath+"/grantTypesSupported",schemaPath:"#/properties/grantTypesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err49];
}
else {
vErrors.push(err49);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs96;
if(vErrors !== null){
if(_errs96){
vErrors.length = _errs96;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs95 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.acrValuesSupported !== undefined){
let data27 = data.acrValuesSupported;
const _errs105 = errors;
const _errs106 = errors;
let valid33 = false;
const _errs107 = errors;
if(errors === _errs107){
if(Array.isArray(data27)){
var valid34 = true;
const len8 = data27.length;
for(let i8=0; i8<len8; i8++){
let data28 = data27[i8];
const _errs109 = errors;
if(typeof data28 !== "string"){
const err50 = {instancePath:instancePath+"/acrValuesSupported/" + i8,schemaPath:"#/definitions/AuthenticationContextReferences/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err50];
}
else {
vErrors.push(err50);
}
errors++;
}
if(!((data28 === "phr") || (data28 === "phrh"))){
const err51 = {instancePath:instancePath+"/acrValuesSupported/" + i8,schemaPath:"#/definitions/AuthenticationContextReferences/enum",keyword:"enum",params:{allowedValues: schema60.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err51];
}
else {
vErrors.push(err51);
}
errors++;
}
var valid34 = _errs109 === errors;
if(!valid34){
break;
}
}
}
else {
const err52 = {instancePath:instancePath+"/acrValuesSupported",schemaPath:"#/properties/acrValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err52];
}
else {
vErrors.push(err52);
}
errors++;
}
}
var _valid9 = _errs107 === errors;
valid33 = valid33 || _valid9;
if(!valid33){
const _errs112 = errors;
if(typeof data27 !== "string"){
const err53 = {instancePath:instancePath+"/acrValuesSupported",schemaPath:"#/definitions/AuthenticationContextReferences/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err53];
}
else {
vErrors.push(err53);
}
errors++;
}
if(!((data27 === "phr") || (data27 === "phrh"))){
const err54 = {instancePath:instancePath+"/acrValuesSupported",schemaPath:"#/definitions/AuthenticationContextReferences/enum",keyword:"enum",params:{allowedValues: schema60.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err54];
}
else {
vErrors.push(err54);
}
errors++;
}
var _valid9 = _errs112 === errors;
valid33 = valid33 || _valid9;
}
if(!valid33){
const err55 = {instancePath:instancePath+"/acrValuesSupported",schemaPath:"#/properties/acrValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err55];
}
else {
vErrors.push(err55);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs106;
if(vErrors !== null){
if(_errs106){
vErrors.length = _errs106;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs105 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.idTokenEncryptionAlgValuesSupported !== undefined){
let data29 = data.idTokenEncryptionAlgValuesSupported;
const _errs115 = errors;
const _errs116 = errors;
let valid37 = false;
const _errs117 = errors;
if(errors === _errs117){
if(Array.isArray(data29)){
var valid38 = true;
const len9 = data29.length;
for(let i9=0; i9<len9; i9++){
let data30 = data29[i9];
const _errs119 = errors;
if(typeof data30 !== "string"){
const err56 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported/" + i9,schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err56];
}
else {
vErrors.push(err56);
}
errors++;
}
if(!(((((data30 === "EdDSA") || (data30 === "RS256")) || (data30 === "PS256")) || (data30 === "ES256")) || (data30 === "ES256K"))){
const err57 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported/" + i9,schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.idTokenEncryptionAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err57];
}
else {
vErrors.push(err57);
}
errors++;
}
var valid38 = _errs119 === errors;
if(!valid38){
break;
}
}
}
else {
const err58 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported",schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err58];
}
else {
vErrors.push(err58);
}
errors++;
}
}
var _valid10 = _errs117 === errors;
valid37 = valid37 || _valid10;
if(!valid37){
const _errs121 = errors;
if(typeof data29 !== "string"){
const err59 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported",schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err59];
}
else {
vErrors.push(err59);
}
errors++;
}
if(!(((((data29 === "EdDSA") || (data29 === "RS256")) || (data29 === "PS256")) || (data29 === "ES256")) || (data29 === "ES256K"))){
const err60 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported",schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.idTokenEncryptionAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err60];
}
else {
vErrors.push(err60);
}
errors++;
}
var _valid10 = _errs121 === errors;
valid37 = valid37 || _valid10;
}
if(!valid37){
const err61 = {instancePath:instancePath+"/idTokenEncryptionAlgValuesSupported",schemaPath:"#/properties/idTokenEncryptionAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err61];
}
else {
vErrors.push(err61);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs116;
if(vErrors !== null){
if(_errs116){
vErrors.length = _errs116;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs115 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.idTokenEncryptionEncValuesSupported !== undefined){
let data31 = data.idTokenEncryptionEncValuesSupported;
const _errs123 = errors;
const _errs124 = errors;
let valid39 = false;
const _errs125 = errors;
if(errors === _errs125){
if(Array.isArray(data31)){
var valid40 = true;
const len10 = data31.length;
for(let i10=0; i10<len10; i10++){
const _errs127 = errors;
if(typeof data31[i10] !== "string"){
const err62 = {instancePath:instancePath+"/idTokenEncryptionEncValuesSupported/" + i10,schemaPath:"#/properties/idTokenEncryptionEncValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err62];
}
else {
vErrors.push(err62);
}
errors++;
}
var valid40 = _errs127 === errors;
if(!valid40){
break;
}
}
}
else {
const err63 = {instancePath:instancePath+"/idTokenEncryptionEncValuesSupported",schemaPath:"#/properties/idTokenEncryptionEncValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err63];
}
else {
vErrors.push(err63);
}
errors++;
}
}
var _valid11 = _errs125 === errors;
valid39 = valid39 || _valid11;
if(!valid39){
const _errs129 = errors;
if(typeof data31 !== "string"){
const err64 = {instancePath:instancePath+"/idTokenEncryptionEncValuesSupported",schemaPath:"#/properties/idTokenEncryptionEncValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err64];
}
else {
vErrors.push(err64);
}
errors++;
}
var _valid11 = _errs129 === errors;
valid39 = valid39 || _valid11;
}
if(!valid39){
const err65 = {instancePath:instancePath+"/idTokenEncryptionEncValuesSupported",schemaPath:"#/properties/idTokenEncryptionEncValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err65];
}
else {
vErrors.push(err65);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs124;
if(vErrors !== null){
if(_errs124){
vErrors.length = _errs124;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs123 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfoSigningAlgValuesSupported !== undefined){
let data33 = data.userinfoSigningAlgValuesSupported;
const _errs131 = errors;
const _errs132 = errors;
let valid41 = false;
const _errs133 = errors;
if(errors === _errs133){
if(Array.isArray(data33)){
var valid42 = true;
const len11 = data33.length;
for(let i11=0; i11<len11; i11++){
let data34 = data33[i11];
const _errs135 = errors;
if(typeof data34 !== "string"){
const err66 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported/" + i11,schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err66];
}
else {
vErrors.push(err66);
}
errors++;
}
if(!(((((data34 === "EdDSA") || (data34 === "RS256")) || (data34 === "PS256")) || (data34 === "ES256")) || (data34 === "ES256K"))){
const err67 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported/" + i11,schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.userinfoSigningAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err67];
}
else {
vErrors.push(err67);
}
errors++;
}
var valid42 = _errs135 === errors;
if(!valid42){
break;
}
}
}
else {
const err68 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported",schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err68];
}
else {
vErrors.push(err68);
}
errors++;
}
}
var _valid12 = _errs133 === errors;
valid41 = valid41 || _valid12;
if(!valid41){
const _errs137 = errors;
if(typeof data33 !== "string"){
const err69 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported",schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err69];
}
else {
vErrors.push(err69);
}
errors++;
}
if(!(((((data33 === "EdDSA") || (data33 === "RS256")) || (data33 === "PS256")) || (data33 === "ES256")) || (data33 === "ES256K"))){
const err70 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported",schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.userinfoSigningAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err70];
}
else {
vErrors.push(err70);
}
errors++;
}
var _valid12 = _errs137 === errors;
valid41 = valid41 || _valid12;
}
if(!valid41){
const err71 = {instancePath:instancePath+"/userinfoSigningAlgValuesSupported",schemaPath:"#/properties/userinfoSigningAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err71];
}
else {
vErrors.push(err71);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs132;
if(vErrors !== null){
if(_errs132){
vErrors.length = _errs132;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs131 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfoEncryptionAlgValuesSupported !== undefined){
let data35 = data.userinfoEncryptionAlgValuesSupported;
const _errs139 = errors;
const _errs140 = errors;
let valid43 = false;
const _errs141 = errors;
if(errors === _errs141){
if(Array.isArray(data35)){
var valid44 = true;
const len12 = data35.length;
for(let i12=0; i12<len12; i12++){
let data36 = data35[i12];
const _errs143 = errors;
if(typeof data36 !== "string"){
const err72 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported/" + i12,schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err72];
}
else {
vErrors.push(err72);
}
errors++;
}
if(!(((((data36 === "EdDSA") || (data36 === "RS256")) || (data36 === "PS256")) || (data36 === "ES256")) || (data36 === "ES256K"))){
const err73 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported/" + i12,schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.userinfoEncryptionAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err73];
}
else {
vErrors.push(err73);
}
errors++;
}
var valid44 = _errs143 === errors;
if(!valid44){
break;
}
}
}
else {
const err74 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported",schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err74];
}
else {
vErrors.push(err74);
}
errors++;
}
}
var _valid13 = _errs141 === errors;
valid43 = valid43 || _valid13;
if(!valid43){
const _errs145 = errors;
if(typeof data35 !== "string"){
const err75 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported",schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err75];
}
else {
vErrors.push(err75);
}
errors++;
}
if(!(((((data35 === "EdDSA") || (data35 === "RS256")) || (data35 === "PS256")) || (data35 === "ES256")) || (data35 === "ES256K"))){
const err76 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported",schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.userinfoEncryptionAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err76];
}
else {
vErrors.push(err76);
}
errors++;
}
var _valid13 = _errs145 === errors;
valid43 = valid43 || _valid13;
}
if(!valid43){
const err77 = {instancePath:instancePath+"/userinfoEncryptionAlgValuesSupported",schemaPath:"#/properties/userinfoEncryptionAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err77];
}
else {
vErrors.push(err77);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs140;
if(vErrors !== null){
if(_errs140){
vErrors.length = _errs140;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs139 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfoEncryptionEncValuesSupported !== undefined){
let data37 = data.userinfoEncryptionEncValuesSupported;
const _errs147 = errors;
const _errs148 = errors;
let valid45 = false;
const _errs149 = errors;
if(errors === _errs149){
if(Array.isArray(data37)){
var valid46 = true;
const len13 = data37.length;
for(let i13=0; i13<len13; i13++){
const _errs151 = errors;
if(typeof data37[i13] !== "string"){
const err78 = {instancePath:instancePath+"/userinfoEncryptionEncValuesSupported/" + i13,schemaPath:"#/properties/userinfoEncryptionEncValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err78];
}
else {
vErrors.push(err78);
}
errors++;
}
var valid46 = _errs151 === errors;
if(!valid46){
break;
}
}
}
else {
const err79 = {instancePath:instancePath+"/userinfoEncryptionEncValuesSupported",schemaPath:"#/properties/userinfoEncryptionEncValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err79];
}
else {
vErrors.push(err79);
}
errors++;
}
}
var _valid14 = _errs149 === errors;
valid45 = valid45 || _valid14;
if(!valid45){
const _errs153 = errors;
if(typeof data37 !== "string"){
const err80 = {instancePath:instancePath+"/userinfoEncryptionEncValuesSupported",schemaPath:"#/properties/userinfoEncryptionEncValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err80];
}
else {
vErrors.push(err80);
}
errors++;
}
var _valid14 = _errs153 === errors;
valid45 = valid45 || _valid14;
}
if(!valid45){
const err81 = {instancePath:instancePath+"/userinfoEncryptionEncValuesSupported",schemaPath:"#/properties/userinfoEncryptionEncValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err81];
}
else {
vErrors.push(err81);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs148;
if(vErrors !== null){
if(_errs148){
vErrors.length = _errs148;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs147 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requestObjectEncryptionAlgValuesSupported !== undefined){
let data39 = data.requestObjectEncryptionAlgValuesSupported;
const _errs155 = errors;
const _errs156 = errors;
let valid47 = false;
const _errs157 = errors;
if(errors === _errs157){
if(Array.isArray(data39)){
var valid48 = true;
const len14 = data39.length;
for(let i14=0; i14<len14; i14++){
let data40 = data39[i14];
const _errs159 = errors;
if(typeof data40 !== "string"){
const err82 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported/" + i14,schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err82];
}
else {
vErrors.push(err82);
}
errors++;
}
if(!(((((data40 === "EdDSA") || (data40 === "RS256")) || (data40 === "PS256")) || (data40 === "ES256")) || (data40 === "ES256K"))){
const err83 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported/" + i14,schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.requestObjectEncryptionAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err83];
}
else {
vErrors.push(err83);
}
errors++;
}
var valid48 = _errs159 === errors;
if(!valid48){
break;
}
}
}
else {
const err84 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported",schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err84];
}
else {
vErrors.push(err84);
}
errors++;
}
}
var _valid15 = _errs157 === errors;
valid47 = valid47 || _valid15;
if(!valid47){
const _errs161 = errors;
if(typeof data39 !== "string"){
const err85 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported",schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err85];
}
else {
vErrors.push(err85);
}
errors++;
}
if(!(((((data39 === "EdDSA") || (data39 === "RS256")) || (data39 === "PS256")) || (data39 === "ES256")) || (data39 === "ES256K"))){
const err86 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported",schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.requestObjectEncryptionAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err86];
}
else {
vErrors.push(err86);
}
errors++;
}
var _valid15 = _errs161 === errors;
valid47 = valid47 || _valid15;
}
if(!valid47){
const err87 = {instancePath:instancePath+"/requestObjectEncryptionAlgValuesSupported",schemaPath:"#/properties/requestObjectEncryptionAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err87];
}
else {
vErrors.push(err87);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs156;
if(vErrors !== null){
if(_errs156){
vErrors.length = _errs156;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs155 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requestObjectEncryptionEncValuesSupported !== undefined){
let data41 = data.requestObjectEncryptionEncValuesSupported;
const _errs163 = errors;
const _errs164 = errors;
let valid49 = false;
const _errs165 = errors;
if(errors === _errs165){
if(Array.isArray(data41)){
var valid50 = true;
const len15 = data41.length;
for(let i15=0; i15<len15; i15++){
const _errs167 = errors;
if(typeof data41[i15] !== "string"){
const err88 = {instancePath:instancePath+"/requestObjectEncryptionEncValuesSupported/" + i15,schemaPath:"#/properties/requestObjectEncryptionEncValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err88];
}
else {
vErrors.push(err88);
}
errors++;
}
var valid50 = _errs167 === errors;
if(!valid50){
break;
}
}
}
else {
const err89 = {instancePath:instancePath+"/requestObjectEncryptionEncValuesSupported",schemaPath:"#/properties/requestObjectEncryptionEncValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err89];
}
else {
vErrors.push(err89);
}
errors++;
}
}
var _valid16 = _errs165 === errors;
valid49 = valid49 || _valid16;
if(!valid49){
const _errs169 = errors;
if(typeof data41 !== "string"){
const err90 = {instancePath:instancePath+"/requestObjectEncryptionEncValuesSupported",schemaPath:"#/properties/requestObjectEncryptionEncValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err90];
}
else {
vErrors.push(err90);
}
errors++;
}
var _valid16 = _errs169 === errors;
valid49 = valid49 || _valid16;
}
if(!valid49){
const err91 = {instancePath:instancePath+"/requestObjectEncryptionEncValuesSupported",schemaPath:"#/properties/requestObjectEncryptionEncValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err91];
}
else {
vErrors.push(err91);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs164;
if(vErrors !== null){
if(_errs164){
vErrors.length = _errs164;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs163 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.tokenEndpointAuthMethodsSupported !== undefined){
let data43 = data.tokenEndpointAuthMethodsSupported;
const _errs171 = errors;
const _errs172 = errors;
let valid51 = false;
const _errs173 = errors;
if(errors === _errs173){
if(Array.isArray(data43)){
var valid52 = true;
const len16 = data43.length;
for(let i16=0; i16<len16; i16++){
let data44 = data43[i16];
const _errs175 = errors;
if(typeof data44 !== "string"){
const err92 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported/" + i16,schemaPath:"#/definitions/TokenEndpointAuthMethod/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err92];
}
else {
vErrors.push(err92);
}
errors++;
}
if(!((((data44 === "client_secret_post") || (data44 === "client_secret_basic")) || (data44 === "client_secret_jwt")) || (data44 === "private_key_jwt"))){
const err93 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported/" + i16,schemaPath:"#/definitions/TokenEndpointAuthMethod/enum",keyword:"enum",params:{allowedValues: schema62.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err93];
}
else {
vErrors.push(err93);
}
errors++;
}
var valid52 = _errs175 === errors;
if(!valid52){
break;
}
}
}
else {
const err94 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported",schemaPath:"#/properties/tokenEndpointAuthMethodsSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err94];
}
else {
vErrors.push(err94);
}
errors++;
}
}
var _valid17 = _errs173 === errors;
valid51 = valid51 || _valid17;
if(!valid51){
const _errs178 = errors;
if(typeof data43 !== "string"){
const err95 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported",schemaPath:"#/definitions/TokenEndpointAuthMethod/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err95];
}
else {
vErrors.push(err95);
}
errors++;
}
if(!((((data43 === "client_secret_post") || (data43 === "client_secret_basic")) || (data43 === "client_secret_jwt")) || (data43 === "private_key_jwt"))){
const err96 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported",schemaPath:"#/definitions/TokenEndpointAuthMethod/enum",keyword:"enum",params:{allowedValues: schema62.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err96];
}
else {
vErrors.push(err96);
}
errors++;
}
var _valid17 = _errs178 === errors;
valid51 = valid51 || _valid17;
}
if(!valid51){
const err97 = {instancePath:instancePath+"/tokenEndpointAuthMethodsSupported",schemaPath:"#/properties/tokenEndpointAuthMethodsSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err97];
}
else {
vErrors.push(err97);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs172;
if(vErrors !== null){
if(_errs172){
vErrors.length = _errs172;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs171 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.tokenEndpointAuthSigningAlgValuesSupported !== undefined){
let data45 = data.tokenEndpointAuthSigningAlgValuesSupported;
const _errs181 = errors;
const _errs182 = errors;
let valid55 = false;
const _errs183 = errors;
if(errors === _errs183){
if(Array.isArray(data45)){
var valid56 = true;
const len17 = data45.length;
for(let i17=0; i17<len17; i17++){
let data46 = data45[i17];
const _errs185 = errors;
if(typeof data46 !== "string"){
const err98 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported/" + i17,schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err98];
}
else {
vErrors.push(err98);
}
errors++;
}
if(!(((((data46 === "EdDSA") || (data46 === "RS256")) || (data46 === "PS256")) || (data46 === "ES256")) || (data46 === "ES256K"))){
const err99 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported/" + i17,schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema41.properties.tokenEndpointAuthSigningAlgValuesSupported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err99];
}
else {
vErrors.push(err99);
}
errors++;
}
var valid56 = _errs185 === errors;
if(!valid56){
break;
}
}
}
else {
const err100 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported",schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err100];
}
else {
vErrors.push(err100);
}
errors++;
}
}
var _valid18 = _errs183 === errors;
valid55 = valid55 || _valid18;
if(!valid55){
const _errs187 = errors;
if(typeof data45 !== "string"){
const err101 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported",schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err101];
}
else {
vErrors.push(err101);
}
errors++;
}
if(!(((((data45 === "EdDSA") || (data45 === "RS256")) || (data45 === "PS256")) || (data45 === "ES256")) || (data45 === "ES256K"))){
const err102 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported",schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema41.properties.tokenEndpointAuthSigningAlgValuesSupported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err102];
}
else {
vErrors.push(err102);
}
errors++;
}
var _valid18 = _errs187 === errors;
valid55 = valid55 || _valid18;
}
if(!valid55){
const err103 = {instancePath:instancePath+"/tokenEndpointAuthSigningAlgValuesSupported",schemaPath:"#/properties/tokenEndpointAuthSigningAlgValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err103];
}
else {
vErrors.push(err103);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs182;
if(vErrors !== null){
if(_errs182){
vErrors.length = _errs182;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs181 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.displayValuesSupported !== undefined){
let data47 = data.displayValuesSupported;
const _errs189 = errors;
const _errs190 = errors;
let valid57 = false;
const _errs191 = errors;
if(errors === _errs191){
if(Array.isArray(data47)){
var valid58 = true;
const len18 = data47.length;
for(let i18=0; i18<len18; i18++){
const _errs193 = errors;
if(typeof data47[i18] !== "string"){
const err104 = {instancePath:instancePath+"/displayValuesSupported/" + i18,schemaPath:"#/properties/displayValuesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err104];
}
else {
vErrors.push(err104);
}
errors++;
}
var valid58 = _errs193 === errors;
if(!valid58){
break;
}
}
}
else {
const err105 = {instancePath:instancePath+"/displayValuesSupported",schemaPath:"#/properties/displayValuesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err105];
}
else {
vErrors.push(err105);
}
errors++;
}
}
var _valid19 = _errs191 === errors;
valid57 = valid57 || _valid19;
if(!valid57){
const _errs195 = errors;
if(typeof data47 !== "string"){
const err106 = {instancePath:instancePath+"/displayValuesSupported",schemaPath:"#/properties/displayValuesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err106];
}
else {
vErrors.push(err106);
}
errors++;
}
var _valid19 = _errs195 === errors;
valid57 = valid57 || _valid19;
}
if(!valid57){
const err107 = {instancePath:instancePath+"/displayValuesSupported",schemaPath:"#/properties/displayValuesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err107];
}
else {
vErrors.push(err107);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs190;
if(vErrors !== null){
if(_errs190){
vErrors.length = _errs190;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs189 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claimTypesSupported !== undefined){
let data49 = data.claimTypesSupported;
const _errs197 = errors;
const _errs198 = errors;
let valid59 = false;
const _errs199 = errors;
if(errors === _errs199){
if(Array.isArray(data49)){
var valid60 = true;
const len19 = data49.length;
for(let i19=0; i19<len19; i19++){
let data50 = data49[i19];
const _errs201 = errors;
if(typeof data50 !== "string"){
const err108 = {instancePath:instancePath+"/claimTypesSupported/" + i19,schemaPath:"#/definitions/ClaimType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err108];
}
else {
vErrors.push(err108);
}
errors++;
}
if(!(((data50 === "normal") || (data50 === "aggregated")) || (data50 === "distributed"))){
const err109 = {instancePath:instancePath+"/claimTypesSupported/" + i19,schemaPath:"#/definitions/ClaimType/enum",keyword:"enum",params:{allowedValues: schema64.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err109];
}
else {
vErrors.push(err109);
}
errors++;
}
var valid60 = _errs201 === errors;
if(!valid60){
break;
}
}
}
else {
const err110 = {instancePath:instancePath+"/claimTypesSupported",schemaPath:"#/properties/claimTypesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err110];
}
else {
vErrors.push(err110);
}
errors++;
}
}
var _valid20 = _errs199 === errors;
valid59 = valid59 || _valid20;
if(!valid59){
const _errs204 = errors;
if(typeof data49 !== "string"){
const err111 = {instancePath:instancePath+"/claimTypesSupported",schemaPath:"#/definitions/ClaimType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err111];
}
else {
vErrors.push(err111);
}
errors++;
}
if(!(((data49 === "normal") || (data49 === "aggregated")) || (data49 === "distributed"))){
const err112 = {instancePath:instancePath+"/claimTypesSupported",schemaPath:"#/definitions/ClaimType/enum",keyword:"enum",params:{allowedValues: schema64.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err112];
}
else {
vErrors.push(err112);
}
errors++;
}
var _valid20 = _errs204 === errors;
valid59 = valid59 || _valid20;
}
if(!valid59){
const err113 = {instancePath:instancePath+"/claimTypesSupported",schemaPath:"#/properties/claimTypesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err113];
}
else {
vErrors.push(err113);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs198;
if(vErrors !== null){
if(_errs198){
vErrors.length = _errs198;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs197 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claimsSupported !== undefined){
let data51 = data.claimsSupported;
const _errs207 = errors;
const _errs208 = errors;
let valid63 = false;
const _errs209 = errors;
if(errors === _errs209){
if(Array.isArray(data51)){
var valid64 = true;
const len20 = data51.length;
for(let i20=0; i20<len20; i20++){
const _errs211 = errors;
if(typeof data51[i20] !== "string"){
const err114 = {instancePath:instancePath+"/claimsSupported/" + i20,schemaPath:"#/properties/claimsSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err114];
}
else {
vErrors.push(err114);
}
errors++;
}
var valid64 = _errs211 === errors;
if(!valid64){
break;
}
}
}
else {
const err115 = {instancePath:instancePath+"/claimsSupported",schemaPath:"#/properties/claimsSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err115];
}
else {
vErrors.push(err115);
}
errors++;
}
}
var _valid21 = _errs209 === errors;
valid63 = valid63 || _valid21;
if(!valid63){
const _errs213 = errors;
if(typeof data51 !== "string"){
const err116 = {instancePath:instancePath+"/claimsSupported",schemaPath:"#/properties/claimsSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err116];
}
else {
vErrors.push(err116);
}
errors++;
}
var _valid21 = _errs213 === errors;
valid63 = valid63 || _valid21;
}
if(!valid63){
const err117 = {instancePath:instancePath+"/claimsSupported",schemaPath:"#/properties/claimsSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err117];
}
else {
vErrors.push(err117);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs208;
if(vErrors !== null){
if(_errs208){
vErrors.length = _errs208;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs207 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.serviceDocumentation !== undefined){
const _errs215 = errors;
if(typeof data.serviceDocumentation !== "string"){
validate22.errors = [{instancePath:instancePath+"/serviceDocumentation",schemaPath:"#/properties/serviceDocumentation/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs215 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claimsLocalesSupported !== undefined){
let data54 = data.claimsLocalesSupported;
const _errs217 = errors;
const _errs218 = errors;
let valid65 = false;
const _errs219 = errors;
if(errors === _errs219){
if(Array.isArray(data54)){
var valid66 = true;
const len21 = data54.length;
for(let i21=0; i21<len21; i21++){
const _errs221 = errors;
if(typeof data54[i21] !== "string"){
const err118 = {instancePath:instancePath+"/claimsLocalesSupported/" + i21,schemaPath:"#/properties/claimsLocalesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err118];
}
else {
vErrors.push(err118);
}
errors++;
}
var valid66 = _errs221 === errors;
if(!valid66){
break;
}
}
}
else {
const err119 = {instancePath:instancePath+"/claimsLocalesSupported",schemaPath:"#/properties/claimsLocalesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err119];
}
else {
vErrors.push(err119);
}
errors++;
}
}
var _valid22 = _errs219 === errors;
valid65 = valid65 || _valid22;
if(!valid65){
const _errs223 = errors;
if(typeof data54 !== "string"){
const err120 = {instancePath:instancePath+"/claimsLocalesSupported",schemaPath:"#/properties/claimsLocalesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err120];
}
else {
vErrors.push(err120);
}
errors++;
}
var _valid22 = _errs223 === errors;
valid65 = valid65 || _valid22;
}
if(!valid65){
const err121 = {instancePath:instancePath+"/claimsLocalesSupported",schemaPath:"#/properties/claimsLocalesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err121];
}
else {
vErrors.push(err121);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs218;
if(vErrors !== null){
if(_errs218){
vErrors.length = _errs218;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs217 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.uiLocalesSupported !== undefined){
let data56 = data.uiLocalesSupported;
const _errs225 = errors;
const _errs226 = errors;
let valid67 = false;
const _errs227 = errors;
if(errors === _errs227){
if(Array.isArray(data56)){
var valid68 = true;
const len22 = data56.length;
for(let i22=0; i22<len22; i22++){
const _errs229 = errors;
if(typeof data56[i22] !== "string"){
const err122 = {instancePath:instancePath+"/uiLocalesSupported/" + i22,schemaPath:"#/properties/uiLocalesSupported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err122];
}
else {
vErrors.push(err122);
}
errors++;
}
var valid68 = _errs229 === errors;
if(!valid68){
break;
}
}
}
else {
const err123 = {instancePath:instancePath+"/uiLocalesSupported",schemaPath:"#/properties/uiLocalesSupported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err123];
}
else {
vErrors.push(err123);
}
errors++;
}
}
var _valid23 = _errs227 === errors;
valid67 = valid67 || _valid23;
if(!valid67){
const _errs231 = errors;
if(typeof data56 !== "string"){
const err124 = {instancePath:instancePath+"/uiLocalesSupported",schemaPath:"#/properties/uiLocalesSupported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err124];
}
else {
vErrors.push(err124);
}
errors++;
}
var _valid23 = _errs231 === errors;
valid67 = valid67 || _valid23;
}
if(!valid67){
const err125 = {instancePath:instancePath+"/uiLocalesSupported",schemaPath:"#/properties/uiLocalesSupported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err125];
}
else {
vErrors.push(err125);
}
errors++;
validate22.errors = vErrors;
return false;
}
else {
errors = _errs226;
if(vErrors !== null){
if(_errs226){
vErrors.length = _errs226;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs225 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claimsParameterSupported !== undefined){
const _errs233 = errors;
if(typeof data.claimsParameterSupported !== "boolean"){
validate22.errors = [{instancePath:instancePath+"/claimsParameterSupported",schemaPath:"#/properties/claimsParameterSupported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs233 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requestParameterSupported !== undefined){
const _errs235 = errors;
if(typeof data.requestParameterSupported !== "boolean"){
validate22.errors = [{instancePath:instancePath+"/requestParameterSupported",schemaPath:"#/properties/requestParameterSupported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs235 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requestUriParameterSupported !== undefined){
const _errs237 = errors;
if(typeof data.requestUriParameterSupported !== "boolean"){
validate22.errors = [{instancePath:instancePath+"/requestUriParameterSupported",schemaPath:"#/properties/requestUriParameterSupported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs237 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.requireRequestUriRegistration !== undefined){
const _errs239 = errors;
if(typeof data.requireRequestUriRegistration !== "boolean"){
validate22.errors = [{instancePath:instancePath+"/requireRequestUriRegistration",schemaPath:"#/properties/requireRequestUriRegistration/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs239 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.opPolicyUri !== undefined){
const _errs241 = errors;
if(typeof data.opPolicyUri !== "string"){
validate22.errors = [{instancePath:instancePath+"/opPolicyUri",schemaPath:"#/properties/opPolicyUri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs241 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.opTosUri !== undefined){
const _errs243 = errors;
if(typeof data.opTosUri !== "string"){
validate22.errors = [{instancePath:instancePath+"/opTosUri",schemaPath:"#/properties/opTosUri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs243 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate22.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate22.errors = vErrors;
return errors === 0;
}
const wrapper0 = {validate: validate29};

function validate29(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
const _errs0 = errors;
let valid0 = false;
const _errs1 = errors;
if(typeof data !== "string"){
const err0 = {instancePath,schemaPath:"#/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
var _valid0 = _errs1 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs3 = errors;
if(!(typeof data == "number")){
const err1 = {instancePath,schemaPath:"#/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var _valid0 = _errs3 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs5 = errors;
if(typeof data !== "boolean"){
const err2 = {instancePath,schemaPath:"#/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
var _valid0 = _errs5 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs7 = errors;
if(data !== null){
const err3 = {instancePath,schemaPath:"#/anyOf/3/type",keyword:"type",params:{type: "null"},message:"must be null"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
var _valid0 = _errs7 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs9 = errors;
if(errors === _errs9){
if(data && typeof data == "object" && !Array.isArray(data)){
for(const key0 in data){
const _errs12 = errors;
if(!(wrapper0.validate(data[key0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){
vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);
errors = vErrors.length;
}
var valid1 = _errs12 === errors;
if(!valid1){
break;
}
}
}
else {
const err4 = {instancePath,schemaPath:"#/anyOf/4/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
}
var _valid0 = _errs9 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs13 = errors;
if(errors === _errs13){
if(Array.isArray(data)){
var valid2 = true;
const len0 = data.length;
for(let i0=0; i0<len0; i0++){
const _errs15 = errors;
if(!(wrapper0.validate(data[i0], {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){
vErrors = vErrors === null ? wrapper0.validate.errors : vErrors.concat(wrapper0.validate.errors);
errors = vErrors.length;
}
var valid2 = _errs15 === errors;
if(!valid2){
break;
}
}
}
else {
const err5 = {instancePath,schemaPath:"#/anyOf/5/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
}
var _valid0 = _errs13 === errors;
valid0 = valid0 || _valid0;
}
}
}
}
}
if(!valid0){
const err6 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
validate29.errors = vErrors;
return false;
}
else {
errors = _errs0;
if(vErrors !== null){
if(_errs0){
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
}
validate29.errors = vErrors;
return errors === 0;
}


function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
const _errs0 = errors;
let valid0 = false;
const _errs1 = errors;
if(typeof data !== "string"){
const err0 = {instancePath,schemaPath:"#/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
var _valid0 = _errs1 === errors;
valid0 = valid0 || _valid0;
if(!valid0){
const _errs3 = errors;
if(errors === _errs3){
if(data && typeof data == "object" && !Array.isArray(data)){
for(const key0 in data){
const _errs6 = errors;
if(!(validate29(data[key0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){
vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);
errors = vErrors.length;
}
var valid1 = _errs6 === errors;
if(!valid1){
break;
}
}
}
else {
const err1 = {instancePath,schemaPath:"#/anyOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
}
var _valid0 = _errs3 === errors;
valid0 = valid0 || _valid0;
}
if(!valid0){
const err2 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
validate28.errors = vErrors;
return false;
}
else {
errors = _errs0;
if(vErrors !== null){
if(_errs0){
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
}
validate28.errors = vErrors;
return errors === 0;
}


function validate27(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
for(const key0 in data){
let data0 = data[key0];
const _errs2 = errors;
const _errs3 = errors;
let valid1 = false;
const _errs4 = errors;
if(!(validate28(data0, {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data,parentDataProperty:key0,rootData}))){
vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);
errors = vErrors.length;
}
var _valid0 = _errs4 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs5 = errors;
if(errors === _errs5){
if(Array.isArray(data0)){
var valid2 = true;
const len0 = data0.length;
for(let i0=0; i0<len0; i0++){
const _errs7 = errors;
if(!(validate28(data0[i0], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + i0,parentData:data0,parentDataProperty:i0,rootData}))){
vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);
errors = vErrors.length;
}
var valid2 = _errs7 === errors;
if(!valid2){
break;
}
}
}
else {
const err0 = {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
}
var _valid0 = _errs5 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs8 = errors;
if(errors === _errs8){
if(data0 && typeof data0 == "object" && !Array.isArray(data0)){
for(const key1 in data0){
const _errs11 = errors;
if(!(validate28(data0[key1], {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),parentData:data0,parentDataProperty:key1,rootData}))){
vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);
errors = vErrors.length;
}
var valid3 = _errs11 === errors;
if(!valid3){
break;
}
}
}
else {
const err1 = {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
}
var _valid0 = _errs8 === errors;
valid1 = valid1 || _valid0;
}
}
if(!valid1){
const err2 = {instancePath:instancePath+"/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
validate27.errors = vErrors;
return false;
}
else {
errors = _errs3;
if(vErrors !== null){
if(_errs3){
vErrors.length = _errs3;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs2 === errors;
if(!valid0){
break;
}
}
}
else {
validate27.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate27.errors = vErrors;
return errors === 0;
}


function validate26(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
let missing0;
if((data.dcqlPresentation === undefined) && (missing0 = "dcqlPresentation")){
validate26.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs1 = errors;
for(const key0 in data){
if(!(key0 === "dcqlPresentation")){
validate26.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs1 === errors){
if(data.dcqlPresentation !== undefined){
if(!(validate27(data.dcqlPresentation, {instancePath:instancePath+"/dcqlPresentation",parentData:data,parentDataProperty:"dcqlPresentation",rootData}))){
vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);
errors = vErrors.length;
}
}
}
}
}
else {
validate26.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate26.errors = vErrors;
return errors === 0;
}


function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
let missing0;
if((data.createJwtCallback === undefined) && (missing0 = "createJwtCallback")){
validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs1 = errors;
for(const key0 in data){
if(!(func2.call(schema39.properties, key0))){
validate21.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs1 === errors){
if(data.responseURI !== undefined){
const _errs2 = errors;
if(typeof data.responseURI !== "string"){
validate21.errors = [{instancePath:instancePath+"/responseURI",schemaPath:"#/properties/responseURI/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs2 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.responseURIType !== undefined){
let data1 = data.responseURIType;
const _errs4 = errors;
if(typeof data1 !== "string"){
validate21.errors = [{instancePath:instancePath+"/responseURIType",schemaPath:"#/definitions/ResponseURIType/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((data1 === "response_uri") || (data1 === "redirect_uri"))){
validate21.errors = [{instancePath:instancePath+"/responseURIType",schemaPath:"#/definitions/ResponseURIType/enum",keyword:"enum",params:{allowedValues: schema40.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs4 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.registration !== undefined){
const _errs7 = errors;
if(!(validate22(data.registration, {instancePath:instancePath+"/registration",parentData:data,parentDataProperty:"registration",rootData}))){
vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);
errors = vErrors.length;
}
var valid0 = _errs7 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.version !== undefined){
let data3 = data.version;
const _errs8 = errors;
if(!(typeof data3 == "number")){
validate21.errors = [{instancePath:instancePath+"/version",schemaPath:"#/definitions/SupportedVersion/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
if(!((data3 === 280) || (data3 === 1000))){
validate21.errors = [{instancePath:instancePath+"/version",schemaPath:"#/definitions/SupportedVersion/enum",keyword:"enum",params:{allowedValues: schema66.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs8 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.audience !== undefined){
const _errs11 = errors;
if(typeof data.audience !== "string"){
validate21.errors = [{instancePath:instancePath+"/audience",schemaPath:"#/properties/audience/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs11 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.createJwtCallback !== undefined){
let data5 = data.createJwtCallback;
const _errs13 = errors;
if(data5 && typeof data5 == "object" && !Array.isArray(data5)){
if(data5.isFunction !== undefined){
let data6 = data5.isFunction;
if(typeof data6 !== "boolean"){
validate21.errors = [{instancePath:instancePath+"/createJwtCallback/isFunction",schemaPath:"#/definitions/CreateJwtCallback/properties/isFunction/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
if(true !== data6){
validate21.errors = [{instancePath:instancePath+"/createJwtCallback/isFunction",schemaPath:"#/definitions/CreateJwtCallback/properties/isFunction/const",keyword:"const",params:{allowedValue: true},message:"must be equal to constant"}];
return false;
}
}
}
var valid0 = _errs13 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jwtIssuer !== undefined){
let data7 = data.jwtIssuer;
const _errs17 = errors;
const _errs18 = errors;
let valid5 = false;
const _errs19 = errors;
if(errors === _errs19){
if(data7 && typeof data7 == "object" && !Array.isArray(data7)){
let missing1;
if((((data7.alg === undefined) && (missing1 = "alg")) || ((data7.didUrl === undefined) && (missing1 = "didUrl"))) || ((data7.method === undefined) && (missing1 = "method"))){
const err0 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/0/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
else {
const _errs21 = errors;
for(const key1 in data7){
if(!((((key1 === "method") || (key1 === "options")) || (key1 === "didUrl")) || (key1 === "alg"))){
const err1 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
break;
}
}
if(_errs21 === errors){
if(data7.method !== undefined){
let data8 = data7.method;
const _errs22 = errors;
if(typeof data8 !== "string"){
const err2 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/0/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
if("did" !== data8){
const err3 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/0/properties/method/const",keyword:"const",params:{allowedValue: "did"},message:"must be equal to constant"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
var valid6 = _errs22 === errors;
}
else {
var valid6 = true;
}
if(valid6){
if(data7.options !== undefined){
let data9 = data7.options;
const _errs24 = errors;
if(errors === _errs24){
if(data9 && typeof data9 == "object" && !Array.isArray(data9));
else {
const err4 = {instancePath:instancePath+"/jwtIssuer/options",schemaPath:"#/properties/jwtIssuer/anyOf/0/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
}
var valid6 = _errs24 === errors;
}
else {
var valid6 = true;
}
if(valid6){
if(data7.didUrl !== undefined){
const _errs28 = errors;
if(typeof data7.didUrl !== "string"){
const err5 = {instancePath:instancePath+"/jwtIssuer/didUrl",schemaPath:"#/properties/jwtIssuer/anyOf/0/properties/didUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
var valid6 = _errs28 === errors;
}
else {
var valid6 = true;
}
if(valid6){
if(data7.alg !== undefined){
const _errs30 = errors;
if(typeof data7.alg !== "string"){
const err6 = {instancePath:instancePath+"/jwtIssuer/alg",schemaPath:"#/properties/jwtIssuer/anyOf/0/properties/alg/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
var valid6 = _errs30 === errors;
}
else {
var valid6 = true;
}
}
}
}
}
}
}
else {
const err7 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
}
}
var _valid0 = _errs19 === errors;
valid5 = valid5 || _valid0;
if(!valid5){
const _errs32 = errors;
if(errors === _errs32){
if(data7 && typeof data7 == "object" && !Array.isArray(data7)){
let missing2;
if(((((data7.alg === undefined) && (missing2 = "alg")) || ((data7.issuer === undefined) && (missing2 = "issuer"))) || ((data7.method === undefined) && (missing2 = "method"))) || ((data7.x5c === undefined) && (missing2 = "x5c"))){
const err8 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/1/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
else {
const _errs34 = errors;
for(const key3 in data7){
if(!(((((key3 === "method") || (key3 === "options")) || (key3 === "alg")) || (key3 === "x5c")) || (key3 === "issuer"))){
const err9 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
break;
}
}
if(_errs34 === errors){
if(data7.method !== undefined){
let data13 = data7.method;
const _errs35 = errors;
if(typeof data13 !== "string"){
const err10 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
if("x5c" !== data13){
const err11 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/method/const",keyword:"const",params:{allowedValue: "x5c"},message:"must be equal to constant"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
}
var valid8 = _errs35 === errors;
}
else {
var valid8 = true;
}
if(valid8){
if(data7.options !== undefined){
let data14 = data7.options;
const _errs37 = errors;
if(errors === _errs37){
if(data14 && typeof data14 == "object" && !Array.isArray(data14));
else {
const err12 = {instancePath:instancePath+"/jwtIssuer/options",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
}
var valid8 = _errs37 === errors;
}
else {
var valid8 = true;
}
if(valid8){
if(data7.alg !== undefined){
const _errs41 = errors;
if(typeof data7.alg !== "string"){
const err13 = {instancePath:instancePath+"/jwtIssuer/alg",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/alg/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
}
var valid8 = _errs41 === errors;
}
else {
var valid8 = true;
}
if(valid8){
if(data7.x5c !== undefined){
let data17 = data7.x5c;
const _errs43 = errors;
if(errors === _errs43){
if(Array.isArray(data17)){
var valid10 = true;
const len0 = data17.length;
for(let i0=0; i0<len0; i0++){
const _errs45 = errors;
if(typeof data17[i0] !== "string"){
const err14 = {instancePath:instancePath+"/jwtIssuer/x5c/" + i0,schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/x5c/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
var valid10 = _errs45 === errors;
if(!valid10){
break;
}
}
}
else {
const err15 = {instancePath:instancePath+"/jwtIssuer/x5c",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/x5c/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
}
var valid8 = _errs43 === errors;
}
else {
var valid8 = true;
}
if(valid8){
if(data7.issuer !== undefined){
const _errs47 = errors;
if(typeof data7.issuer !== "string"){
const err16 = {instancePath:instancePath+"/jwtIssuer/issuer",schemaPath:"#/properties/jwtIssuer/anyOf/1/properties/issuer/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
var valid8 = _errs47 === errors;
}
else {
var valid8 = true;
}
}
}
}
}
}
}
}
else {
const err17 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
}
}
var _valid0 = _errs32 === errors;
valid5 = valid5 || _valid0;
if(!valid5){
const _errs49 = errors;
if(errors === _errs49){
if(data7 && typeof data7 == "object" && !Array.isArray(data7)){
let missing3;
if((((data7.alg === undefined) && (missing3 = "alg")) || ((data7.jwk === undefined) && (missing3 = "jwk"))) || ((data7.method === undefined) && (missing3 = "method"))){
const err18 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/2/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
else {
const _errs51 = errors;
for(const key5 in data7){
if(!((((key5 === "method") || (key5 === "options")) || (key5 === "alg")) || (key5 === "jwk"))){
const err19 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
break;
}
}
if(_errs51 === errors){
if(data7.method !== undefined){
let data20 = data7.method;
const _errs52 = errors;
if(typeof data20 !== "string"){
const err20 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
if("jwk" !== data20){
const err21 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/method/const",keyword:"const",params:{allowedValue: "jwk"},message:"must be equal to constant"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
var valid11 = _errs52 === errors;
}
else {
var valid11 = true;
}
if(valid11){
if(data7.options !== undefined){
let data21 = data7.options;
const _errs54 = errors;
if(errors === _errs54){
if(data21 && typeof data21 == "object" && !Array.isArray(data21));
else {
const err22 = {instancePath:instancePath+"/jwtIssuer/options",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
}
var valid11 = _errs54 === errors;
}
else {
var valid11 = true;
}
if(valid11){
if(data7.alg !== undefined){
const _errs58 = errors;
if(typeof data7.alg !== "string"){
const err23 = {instancePath:instancePath+"/jwtIssuer/alg",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/alg/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
}
var valid11 = _errs58 === errors;
}
else {
var valid11 = true;
}
if(valid11){
if(data7.jwk !== undefined){
let data24 = data7.jwk;
const _errs60 = errors;
if(errors === _errs60){
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
const _errs62 = errors;
for(const key7 in data24){
if(!(func2.call(schema39.properties.jwtIssuer.anyOf[2].properties.jwk.properties, key7))){
const _errs63 = errors;
var valid13 = _errs63 === errors;
if(!valid13){
break;
}
}
}
if(_errs62 === errors){
if(data24.kty !== undefined){
const _errs64 = errors;
if(typeof data24.kty !== "string"){
const err24 = {instancePath:instancePath+"/jwtIssuer/jwk/kty",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/kty/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
var valid14 = _errs64 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.crv !== undefined){
const _errs66 = errors;
if(typeof data24.crv !== "string"){
const err25 = {instancePath:instancePath+"/jwtIssuer/jwk/crv",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/crv/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
}
var valid14 = _errs66 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.x !== undefined){
const _errs68 = errors;
if(typeof data24.x !== "string"){
const err26 = {instancePath:instancePath+"/jwtIssuer/jwk/x",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
var valid14 = _errs68 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.y !== undefined){
const _errs70 = errors;
if(typeof data24.y !== "string"){
const err27 = {instancePath:instancePath+"/jwtIssuer/jwk/y",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/y/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
var valid14 = _errs70 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.e !== undefined){
const _errs72 = errors;
if(typeof data24.e !== "string"){
const err28 = {instancePath:instancePath+"/jwtIssuer/jwk/e",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/e/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
var valid14 = _errs72 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.n !== undefined){
const _errs74 = errors;
if(typeof data24.n !== "string"){
const err29 = {instancePath:instancePath+"/jwtIssuer/jwk/n",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/n/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
}
var valid14 = _errs74 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.alg !== undefined){
const _errs76 = errors;
if(typeof data24.alg !== "string"){
const err30 = {instancePath:instancePath+"/jwtIssuer/jwk/alg",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/alg/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err30];
}
else {
vErrors.push(err30);
}
errors++;
}
var valid14 = _errs76 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.d !== undefined){
const _errs78 = errors;
if(typeof data24.d !== "string"){
const err31 = {instancePath:instancePath+"/jwtIssuer/jwk/d",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/d/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err31];
}
else {
vErrors.push(err31);
}
errors++;
}
var valid14 = _errs78 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.dp !== undefined){
const _errs80 = errors;
if(typeof data24.dp !== "string"){
const err32 = {instancePath:instancePath+"/jwtIssuer/jwk/dp",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/dp/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err32];
}
else {
vErrors.push(err32);
}
errors++;
}
var valid14 = _errs80 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.dq !== undefined){
const _errs82 = errors;
if(typeof data24.dq !== "string"){
const err33 = {instancePath:instancePath+"/jwtIssuer/jwk/dq",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/dq/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err33];
}
else {
vErrors.push(err33);
}
errors++;
}
var valid14 = _errs82 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.ext !== undefined){
const _errs84 = errors;
if(typeof data24.ext !== "boolean"){
const err34 = {instancePath:instancePath+"/jwtIssuer/jwk/ext",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/ext/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};
if(vErrors === null){
vErrors = [err34];
}
else {
vErrors.push(err34);
}
errors++;
}
var valid14 = _errs84 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.k !== undefined){
const _errs86 = errors;
if(typeof data24.k !== "string"){
const err35 = {instancePath:instancePath+"/jwtIssuer/jwk/k",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/k/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err35];
}
else {
vErrors.push(err35);
}
errors++;
}
var valid14 = _errs86 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.key_ops !== undefined){
let data38 = data24.key_ops;
const _errs88 = errors;
if(errors === _errs88){
if(Array.isArray(data38)){
var valid15 = true;
const len1 = data38.length;
for(let i1=0; i1<len1; i1++){
const _errs90 = errors;
if(typeof data38[i1] !== "string"){
const err36 = {instancePath:instancePath+"/jwtIssuer/jwk/key_ops/" + i1,schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/key_ops/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err36];
}
else {
vErrors.push(err36);
}
errors++;
}
var valid15 = _errs90 === errors;
if(!valid15){
break;
}
}
}
else {
const err37 = {instancePath:instancePath+"/jwtIssuer/jwk/key_ops",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/key_ops/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err37];
}
else {
vErrors.push(err37);
}
errors++;
}
}
var valid14 = _errs88 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.kid !== undefined){
const _errs92 = errors;
if(typeof data24.kid !== "string"){
const err38 = {instancePath:instancePath+"/jwtIssuer/jwk/kid",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/kid/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err38];
}
else {
vErrors.push(err38);
}
errors++;
}
var valid14 = _errs92 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.oth !== undefined){
let data41 = data24.oth;
const _errs94 = errors;
if(errors === _errs94){
if(Array.isArray(data41)){
var valid16 = true;
const len2 = data41.length;
for(let i2=0; i2<len2; i2++){
let data42 = data41[i2];
const _errs96 = errors;
if(errors === _errs96){
if(data42 && typeof data42 == "object" && !Array.isArray(data42)){
const _errs98 = errors;
for(const key8 in data42){
if(!(((key8 === "d") || (key8 === "r")) || (key8 === "t"))){
const err39 = {instancePath:instancePath+"/jwtIssuer/jwk/oth/" + i2,schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};
if(vErrors === null){
vErrors = [err39];
}
else {
vErrors.push(err39);
}
errors++;
break;
}
}
if(_errs98 === errors){
if(data42.d !== undefined){
const _errs99 = errors;
if(typeof data42.d !== "string"){
const err40 = {instancePath:instancePath+"/jwtIssuer/jwk/oth/" + i2+"/d",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/items/properties/d/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err40];
}
else {
vErrors.push(err40);
}
errors++;
}
var valid17 = _errs99 === errors;
}
else {
var valid17 = true;
}
if(valid17){
if(data42.r !== undefined){
const _errs101 = errors;
if(typeof data42.r !== "string"){
const err41 = {instancePath:instancePath+"/jwtIssuer/jwk/oth/" + i2+"/r",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/items/properties/r/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err41];
}
else {
vErrors.push(err41);
}
errors++;
}
var valid17 = _errs101 === errors;
}
else {
var valid17 = true;
}
if(valid17){
if(data42.t !== undefined){
const _errs103 = errors;
if(typeof data42.t !== "string"){
const err42 = {instancePath:instancePath+"/jwtIssuer/jwk/oth/" + i2+"/t",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/items/properties/t/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err42];
}
else {
vErrors.push(err42);
}
errors++;
}
var valid17 = _errs103 === errors;
}
else {
var valid17 = true;
}
}
}
}
}
else {
const err43 = {instancePath:instancePath+"/jwtIssuer/jwk/oth/" + i2,schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/items/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err43];
}
else {
vErrors.push(err43);
}
errors++;
}
}
var valid16 = _errs96 === errors;
if(!valid16){
break;
}
}
}
else {
const err44 = {instancePath:instancePath+"/jwtIssuer/jwk/oth",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/oth/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err44];
}
else {
vErrors.push(err44);
}
errors++;
}
}
var valid14 = _errs94 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.p !== undefined){
const _errs105 = errors;
if(typeof data24.p !== "string"){
const err45 = {instancePath:instancePath+"/jwtIssuer/jwk/p",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/p/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err45];
}
else {
vErrors.push(err45);
}
errors++;
}
var valid14 = _errs105 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.q !== undefined){
const _errs107 = errors;
if(typeof data24.q !== "string"){
const err46 = {instancePath:instancePath+"/jwtIssuer/jwk/q",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/q/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err46];
}
else {
vErrors.push(err46);
}
errors++;
}
var valid14 = _errs107 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.qi !== undefined){
const _errs109 = errors;
if(typeof data24.qi !== "string"){
const err47 = {instancePath:instancePath+"/jwtIssuer/jwk/qi",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/qi/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err47];
}
else {
vErrors.push(err47);
}
errors++;
}
var valid14 = _errs109 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.use !== undefined){
const _errs111 = errors;
if(typeof data24.use !== "string"){
const err48 = {instancePath:instancePath+"/jwtIssuer/jwk/use",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/use/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err48];
}
else {
vErrors.push(err48);
}
errors++;
}
var valid14 = _errs111 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.x5c !== undefined){
let data50 = data24.x5c;
const _errs113 = errors;
if(errors === _errs113){
if(Array.isArray(data50)){
var valid18 = true;
const len3 = data50.length;
for(let i3=0; i3<len3; i3++){
const _errs115 = errors;
if(typeof data50[i3] !== "string"){
const err49 = {instancePath:instancePath+"/jwtIssuer/jwk/x5c/" + i3,schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x5c/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err49];
}
else {
vErrors.push(err49);
}
errors++;
}
var valid18 = _errs115 === errors;
if(!valid18){
break;
}
}
}
else {
const err50 = {instancePath:instancePath+"/jwtIssuer/jwk/x5c",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x5c/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err50];
}
else {
vErrors.push(err50);
}
errors++;
}
}
var valid14 = _errs113 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.x5t !== undefined){
const _errs117 = errors;
if(typeof data24.x5t !== "string"){
const err51 = {instancePath:instancePath+"/jwtIssuer/jwk/x5t",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x5t/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err51];
}
else {
vErrors.push(err51);
}
errors++;
}
var valid14 = _errs117 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24["x5t#S256"] !== undefined){
const _errs119 = errors;
if(typeof data24["x5t#S256"] !== "string"){
const err52 = {instancePath:instancePath+"/jwtIssuer/jwk/x5t#S256",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x5t%23S256/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err52];
}
else {
vErrors.push(err52);
}
errors++;
}
var valid14 = _errs119 === errors;
}
else {
var valid14 = true;
}
if(valid14){
if(data24.x5u !== undefined){
const _errs121 = errors;
if(typeof data24.x5u !== "string"){
const err53 = {instancePath:instancePath+"/jwtIssuer/jwk/x5u",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/properties/x5u/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err53];
}
else {
vErrors.push(err53);
}
errors++;
}
var valid14 = _errs121 === errors;
}
else {
var valid14 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
const err54 = {instancePath:instancePath+"/jwtIssuer/jwk",schemaPath:"#/properties/jwtIssuer/anyOf/2/properties/jwk/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err54];
}
else {
vErrors.push(err54);
}
errors++;
}
}
var valid11 = _errs60 === errors;
}
else {
var valid11 = true;
}
}
}
}
}
}
}
else {
const err55 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err55];
}
else {
vErrors.push(err55);
}
errors++;
}
}
var _valid0 = _errs49 === errors;
valid5 = valid5 || _valid0;
if(!valid5){
const _errs123 = errors;
if(errors === _errs123){
if(data7 && typeof data7 == "object" && !Array.isArray(data7)){
let missing4;
if((data7.method === undefined) && (missing4 = "method")){
const err56 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/3/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"};
if(vErrors === null){
vErrors = [err56];
}
else {
vErrors.push(err56);
}
errors++;
}
else {
const _errs125 = errors;
for(const key9 in data7){
if(!((key9 === "method") || (key9 === "options"))){
const err57 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/3/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};
if(vErrors === null){
vErrors = [err57];
}
else {
vErrors.push(err57);
}
errors++;
break;
}
}
if(_errs125 === errors){
if(data7.method !== undefined){
let data55 = data7.method;
const _errs126 = errors;
if(typeof data55 !== "string"){
const err58 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/3/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err58];
}
else {
vErrors.push(err58);
}
errors++;
}
if("custom" !== data55){
const err59 = {instancePath:instancePath+"/jwtIssuer/method",schemaPath:"#/properties/jwtIssuer/anyOf/3/properties/method/const",keyword:"const",params:{allowedValue: "custom"},message:"must be equal to constant"};
if(vErrors === null){
vErrors = [err59];
}
else {
vErrors.push(err59);
}
errors++;
}
var valid19 = _errs126 === errors;
}
else {
var valid19 = true;
}
if(valid19){
if(data7.options !== undefined){
let data56 = data7.options;
const _errs128 = errors;
if(errors === _errs128){
if(data56 && typeof data56 == "object" && !Array.isArray(data56));
else {
const err60 = {instancePath:instancePath+"/jwtIssuer/options",schemaPath:"#/properties/jwtIssuer/anyOf/3/properties/options/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err60];
}
else {
vErrors.push(err60);
}
errors++;
}
}
var valid19 = _errs128 === errors;
}
else {
var valid19 = true;
}
}
}
}
}
else {
const err61 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};
if(vErrors === null){
vErrors = [err61];
}
else {
vErrors.push(err61);
}
errors++;
}
}
var _valid0 = _errs123 === errors;
valid5 = valid5 || _valid0;
}
}
}
if(!valid5){
const err62 = {instancePath:instancePath+"/jwtIssuer",schemaPath:"#/properties/jwtIssuer/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err62];
}
else {
vErrors.push(err62);
}
errors++;
validate21.errors = vErrors;
return false;
}
else {
errors = _errs18;
if(vErrors !== null){
if(_errs18){
vErrors.length = _errs18;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs17 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.responseMode !== undefined){
let data58 = data.responseMode;
const _errs132 = errors;
if(typeof data58 !== "string"){
validate21.errors = [{instancePath:instancePath+"/responseMode",schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((((((((data58 === "fragment") || (data58 === "form_post")) || (data58 === "post")) || (data58 === "direct_post")) || (data58 === "query")) || (data58 === "direct_post.jwt")) || (data58 === "query.jwt")) || (data58 === "fragment.jwt"))){
validate21.errors = [{instancePath:instancePath+"/responseMode",schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema56.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid0 = _errs132 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.responseType !== undefined){
let data59 = data.responseType;
const _errs135 = errors;
if(errors === _errs135){
if(Array.isArray(data59)){
if(data59.length > 1){
validate21.errors = [{instancePath:instancePath+"/responseType",schemaPath:"#/properties/responseType/maxItems",keyword:"maxItems",params:{limit: 1},message:"must NOT have more than 1 items"}];
return false;
}
else {
if(data59.length < 1){
validate21.errors = [{instancePath:instancePath+"/responseType",schemaPath:"#/properties/responseType/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];
return false;
}
else {
var valid22 = true;
const len4 = data59.length;
for(let i4=0; i4<len4; i4++){
let data60 = data59[i4];
const _errs137 = errors;
if(typeof data60 !== "string"){
validate21.errors = [{instancePath:instancePath+"/responseType/" + i4,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
if(!((data60 === "id_token") || (data60 === "vp_token"))){
validate21.errors = [{instancePath:instancePath+"/responseType/" + i4,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema50.enum},message:"must be equal to one of the allowed values"}];
return false;
}
var valid22 = _errs137 === errors;
if(!valid22){
break;
}
}
}
}
}
else {
validate21.errors = [{instancePath:instancePath+"/responseType",schemaPath:"#/properties/responseType/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs135 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.expiresIn !== undefined){
const _errs140 = errors;
if(!(typeof data.expiresIn == "number")){
validate21.errors = [{instancePath:instancePath+"/expiresIn",schemaPath:"#/properties/expiresIn/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid0 = _errs140 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.accessToken !== undefined){
const _errs142 = errors;
if(typeof data.accessToken !== "string"){
validate21.errors = [{instancePath:instancePath+"/accessToken",schemaPath:"#/properties/accessToken/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs142 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.tokenType !== undefined){
const _errs144 = errors;
if(typeof data.tokenType !== "string"){
validate21.errors = [{instancePath:instancePath+"/tokenType",schemaPath:"#/properties/tokenType/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs144 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.refreshToken !== undefined){
const _errs146 = errors;
if(typeof data.refreshToken !== "string"){
validate21.errors = [{instancePath:instancePath+"/refreshToken",schemaPath:"#/properties/refreshToken/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs146 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.dcqlResponse !== undefined){
const _errs148 = errors;
if(!(validate26(data.dcqlResponse, {instancePath:instancePath+"/dcqlResponse",parentData:data,parentDataProperty:"dcqlResponse",rootData}))){
vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);
errors = vErrors.length;
}
var valid0 = _errs148 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.isFirstParty !== undefined){
const _errs149 = errors;
if(typeof data.isFirstParty !== "boolean"){
validate21.errors = [{instancePath:instancePath+"/isFirstParty",schemaPath:"#/properties/isFirstParty/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs149 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate21.errors = vErrors;
return errors === 0;
}


function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(!(validate21(data, {instancePath,parentData,parentDataProperty,rootData}))){
vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);
errors = vErrors.length;
}
validate20.errors = vErrors;
return errors === 0;
}

exports.RPRegistrationMetadataPayloadSchema = validate37;
const schema75 = {"properties":{"id_token_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"request_object_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"vp_formats_supported":{"properties":{"jwt":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"ldp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"di":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"vc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"dc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"mso_mdoc":{"type":"object","properties":{"issuerauth_alg_values":{"type":"array","items":{"type":"number"}},"deviceauth_alg_values":{"type":"array","items":{"type":"number"}}},"additionalProperties":false}}}}};
const schema76 = {"enum":["id_token","vp_token"]};
const schema78 = {"enum":["openid","openid did_authn","profile","email","address","phone"]};
const schema80 = {"enum":["public","pairwise"]};

function validate38(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.client_id !== undefined){
const _errs1 = errors;
if(typeof data.client_id !== "string"){
validate38.errors = [{instancePath:instancePath+"/client_id",schemaPath:"#/properties/client_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_purpose !== undefined){
const _errs3 = errors;
if(typeof data.client_purpose !== "string"){
validate38.errors = [{instancePath:instancePath+"/client_purpose",schemaPath:"#/properties/client_purpose/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs3 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_signing_alg_values_supported !== undefined){
let data2 = data.id_token_signing_alg_values_supported;
const _errs5 = errors;
const _errs6 = errors;
let valid1 = false;
const _errs7 = errors;
if(errors === _errs7){
if(Array.isArray(data2)){
var valid2 = true;
const len0 = data2.length;
for(let i0=0; i0<len0; i0++){
let data3 = data2[i0];
const _errs9 = errors;
if(typeof data3 !== "string"){
const err0 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!(((((data3 === "EdDSA") || (data3 === "RS256")) || (data3 === "PS256")) || (data3 === "ES256")) || (data3 === "ES256K"))){
const err1 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i0,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema75.properties.id_token_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var valid2 = _errs9 === errors;
if(!valid2){
break;
}
}
}
else {
const err2 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
}
var _valid0 = _errs7 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs11 = errors;
if(typeof data2 !== "string"){
const err3 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
}
if(!(((((data2 === "EdDSA") || (data2 === "RS256")) || (data2 === "PS256")) || (data2 === "ES256")) || (data2 === "ES256K"))){
const err4 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema75.properties.id_token_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
var _valid0 = _errs11 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err5 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
validate38.errors = vErrors;
return false;
}
else {
errors = _errs6;
if(vErrors !== null){
if(_errs6){
vErrors.length = _errs6;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_signing_alg_values_supported !== undefined){
let data4 = data.request_object_signing_alg_values_supported;
const _errs13 = errors;
const _errs14 = errors;
let valid3 = false;
const _errs15 = errors;
if(errors === _errs15){
if(Array.isArray(data4)){
var valid4 = true;
const len1 = data4.length;
for(let i1=0; i1<len1; i1++){
let data5 = data4[i1];
const _errs17 = errors;
if(typeof data5 !== "string"){
const err6 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
if(!(((((data5 === "EdDSA") || (data5 === "RS256")) || (data5 === "PS256")) || (data5 === "ES256")) || (data5 === "ES256K"))){
const err7 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i1,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema75.properties.request_object_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
}
var valid4 = _errs17 === errors;
if(!valid4){
break;
}
}
}
else {
const err8 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
}
var _valid1 = _errs15 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs19 = errors;
if(typeof data4 !== "string"){
const err9 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
if(!(((((data4 === "EdDSA") || (data4 === "RS256")) || (data4 === "PS256")) || (data4 === "ES256")) || (data4 === "ES256K"))){
const err10 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema75.properties.request_object_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
var _valid1 = _errs19 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err11 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
validate38.errors = vErrors;
return false;
}
else {
errors = _errs14;
if(vErrors !== null){
if(_errs14){
vErrors.length = _errs14;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs13 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_types_supported !== undefined){
let data6 = data.response_types_supported;
const _errs21 = errors;
const _errs22 = errors;
let valid5 = false;
const _errs23 = errors;
if(errors === _errs23){
if(Array.isArray(data6)){
var valid6 = true;
const len2 = data6.length;
for(let i2=0; i2<len2; i2++){
let data7 = data6[i2];
const _errs25 = errors;
if(typeof data7 !== "string"){
const err12 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
if(!((data7 === "id_token") || (data7 === "vp_token"))){
const err13 = {instancePath:instancePath+"/response_types_supported/" + i2,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema76.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
}
var valid6 = _errs25 === errors;
if(!valid6){
break;
}
}
}
else {
const err14 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
}
var _valid2 = _errs23 === errors;
valid5 = valid5 || _valid2;
if(!valid5){
const _errs28 = errors;
if(typeof data6 !== "string"){
const err15 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
if(!((data6 === "id_token") || (data6 === "vp_token"))){
const err16 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema76.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
var _valid2 = _errs28 === errors;
valid5 = valid5 || _valid2;
}
if(!valid5){
const err17 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
validate38.errors = vErrors;
return false;
}
else {
errors = _errs22;
if(vErrors !== null){
if(_errs22){
vErrors.length = _errs22;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs21 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scopes_supported !== undefined){
let data8 = data.scopes_supported;
const _errs31 = errors;
const _errs32 = errors;
let valid9 = false;
const _errs33 = errors;
if(errors === _errs33){
if(Array.isArray(data8)){
var valid10 = true;
const len3 = data8.length;
for(let i3=0; i3<len3; i3++){
let data9 = data8[i3];
const _errs35 = errors;
if(typeof data9 !== "string"){
const err18 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
if(!((((((data9 === "openid") || (data9 === "openid did_authn")) || (data9 === "profile")) || (data9 === "email")) || (data9 === "address")) || (data9 === "phone"))){
const err19 = {instancePath:instancePath+"/scopes_supported/" + i3,schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema78.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
}
var valid10 = _errs35 === errors;
if(!valid10){
break;
}
}
}
else {
const err20 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
}
var _valid3 = _errs33 === errors;
valid9 = valid9 || _valid3;
if(!valid9){
const _errs38 = errors;
if(typeof data8 !== "string"){
const err21 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
if(!((((((data8 === "openid") || (data8 === "openid did_authn")) || (data8 === "profile")) || (data8 === "email")) || (data8 === "address")) || (data8 === "phone"))){
const err22 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema78.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
var _valid3 = _errs38 === errors;
valid9 = valid9 || _valid3;
}
if(!valid9){
const err23 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
validate38.errors = vErrors;
return false;
}
else {
errors = _errs32;
if(vErrors !== null){
if(_errs32){
vErrors.length = _errs32;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs31 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_types_supported !== undefined){
let data10 = data.subject_types_supported;
const _errs41 = errors;
const _errs42 = errors;
let valid13 = false;
const _errs43 = errors;
if(errors === _errs43){
if(Array.isArray(data10)){
var valid14 = true;
const len4 = data10.length;
for(let i4=0; i4<len4; i4++){
let data11 = data10[i4];
const _errs45 = errors;
if(typeof data11 !== "string"){
const err24 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
if(!((data11 === "public") || (data11 === "pairwise"))){
const err25 = {instancePath:instancePath+"/subject_types_supported/" + i4,schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema80.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
}
var valid14 = _errs45 === errors;
if(!valid14){
break;
}
}
}
else {
const err26 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
}
var _valid4 = _errs43 === errors;
valid13 = valid13 || _valid4;
if(!valid13){
const _errs48 = errors;
if(typeof data10 !== "string"){
const err27 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
if(!((data10 === "public") || (data10 === "pairwise"))){
const err28 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema80.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
var _valid4 = _errs48 === errors;
valid13 = valid13 || _valid4;
}
if(!valid13){
const err29 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
validate38.errors = vErrors;
return false;
}
else {
errors = _errs42;
if(vErrors !== null){
if(_errs42){
vErrors.length = _errs42;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs41 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_syntax_types_supported !== undefined){
let data12 = data.subject_syntax_types_supported;
const _errs51 = errors;
if(errors === _errs51){
if(Array.isArray(data12)){
var valid17 = true;
const len5 = data12.length;
for(let i5=0; i5<len5; i5++){
const _errs53 = errors;
if(typeof data12[i5] !== "string"){
validate38.errors = [{instancePath:instancePath+"/subject_syntax_types_supported/" + i5,schemaPath:"#/properties/subject_syntax_types_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid17 = _errs53 === errors;
if(!valid17){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/subject_syntax_types_supported",schemaPath:"#/properties/subject_syntax_types_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs51 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.vp_formats_supported !== undefined){
let data14 = data.vp_formats_supported;
const _errs55 = errors;
if(errors === _errs55){
if(data14 && typeof data14 == "object" && !Array.isArray(data14)){
const _errs57 = errors;
for(const key0 in data14){
if(!(func2.call(schema75.properties.vp_formats_supported.properties, key0))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs57 === errors){
if(data14.jwt !== undefined){
let data15 = data14.jwt;
const _errs58 = errors;
if(errors === _errs58){
if(data15 && typeof data15 == "object" && !Array.isArray(data15)){
let missing0;
if((data15.alg_values === undefined) && (missing0 = "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs60 = errors;
for(const key1 in data15){
if(!(key1 === "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs60 === errors){
if(data15.alg_values !== undefined){
let data16 = data15.alg_values;
const _errs61 = errors;
if(errors === _errs61){
if(Array.isArray(data16)){
var valid20 = true;
const len6 = data16.length;
for(let i6=0; i6<len6; i6++){
const _errs63 = errors;
if(typeof data16[i6] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values/" + i6,schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid20 = _errs63 === errors;
if(!valid20){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs58 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc !== undefined){
let data18 = data14.jwt_vc;
const _errs65 = errors;
if(errors === _errs65){
if(data18 && typeof data18 == "object" && !Array.isArray(data18)){
let missing1;
if((data18.alg_values === undefined) && (missing1 = "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];
return false;
}
else {
const _errs67 = errors;
for(const key2 in data18){
if(!(key2 === "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs67 === errors){
if(data18.alg_values !== undefined){
let data19 = data18.alg_values;
const _errs68 = errors;
if(errors === _errs68){
if(Array.isArray(data19)){
var valid22 = true;
const len7 = data19.length;
for(let i7=0; i7<len7; i7++){
const _errs70 = errors;
if(typeof data19[i7] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values/" + i7,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid22 = _errs70 === errors;
if(!valid22){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs65 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vc_json !== undefined){
let data21 = data14.jwt_vc_json;
const _errs72 = errors;
if(errors === _errs72){
if(data21 && typeof data21 == "object" && !Array.isArray(data21)){
let missing2;
if((data21.alg_values === undefined) && (missing2 = "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];
return false;
}
else {
const _errs74 = errors;
for(const key3 in data21){
if(!(key3 === "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs74 === errors){
if(data21.alg_values !== undefined){
let data22 = data21.alg_values;
const _errs75 = errors;
if(errors === _errs75){
if(Array.isArray(data22)){
var valid24 = true;
const len8 = data22.length;
for(let i8=0; i8<len8; i8++){
const _errs77 = errors;
if(typeof data22[i8] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values/" + i8,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid24 = _errs77 === errors;
if(!valid24){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs72 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp !== undefined){
let data24 = data14.jwt_vp;
const _errs79 = errors;
if(errors === _errs79){
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
let missing3;
if((data24.alg_values === undefined) && (missing3 = "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];
return false;
}
else {
const _errs81 = errors;
for(const key4 in data24){
if(!(key4 === "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs81 === errors){
if(data24.alg_values !== undefined){
let data25 = data24.alg_values;
const _errs82 = errors;
if(errors === _errs82){
if(Array.isArray(data25)){
var valid26 = true;
const len9 = data25.length;
for(let i9=0; i9<len9; i9++){
const _errs84 = errors;
if(typeof data25[i9] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values/" + i9,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid26 = _errs84 === errors;
if(!valid26){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs79 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.jwt_vp_json !== undefined){
let data27 = data14.jwt_vp_json;
const _errs86 = errors;
if(errors === _errs86){
if(data27 && typeof data27 == "object" && !Array.isArray(data27)){
let missing4;
if((data27.alg_values === undefined) && (missing4 = "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];
return false;
}
else {
const _errs88 = errors;
for(const key5 in data27){
if(!(key5 === "alg_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs88 === errors){
if(data27.alg_values !== undefined){
let data28 = data27.alg_values;
const _errs89 = errors;
if(errors === _errs89){
if(Array.isArray(data28)){
var valid28 = true;
const len10 = data28.length;
for(let i10=0; i10<len10; i10++){
const _errs91 = errors;
if(typeof data28[i10] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values/" + i10,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid28 = _errs91 === errors;
if(!valid28){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs86 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp !== undefined){
let data30 = data14.ldp;
const _errs93 = errors;
if(errors === _errs93){
if(data30 && typeof data30 == "object" && !Array.isArray(data30)){
let missing5;
if((data30.proof_type_values === undefined) && (missing5 = "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];
return false;
}
else {
const _errs95 = errors;
for(const key6 in data30){
if(!(key6 === "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs95 === errors){
if(data30.proof_type_values !== undefined){
let data31 = data30.proof_type_values;
const _errs96 = errors;
if(errors === _errs96){
if(Array.isArray(data31)){
var valid30 = true;
const len11 = data31.length;
for(let i11=0; i11<len11; i11++){
const _errs98 = errors;
if(typeof data31[i11] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values/" + i11,schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid30 = _errs98 === errors;
if(!valid30){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs93 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vc !== undefined){
let data33 = data14.ldp_vc;
const _errs100 = errors;
if(errors === _errs100){
if(data33 && typeof data33 == "object" && !Array.isArray(data33)){
let missing6;
if((data33.proof_type_values === undefined) && (missing6 = "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];
return false;
}
else {
const _errs102 = errors;
for(const key7 in data33){
if(!(key7 === "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs102 === errors){
if(data33.proof_type_values !== undefined){
let data34 = data33.proof_type_values;
const _errs103 = errors;
if(errors === _errs103){
if(Array.isArray(data34)){
var valid32 = true;
const len12 = data34.length;
for(let i12=0; i12<len12; i12++){
const _errs105 = errors;
if(typeof data34[i12] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values/" + i12,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid32 = _errs105 === errors;
if(!valid32){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs100 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.ldp_vp !== undefined){
let data36 = data14.ldp_vp;
const _errs107 = errors;
if(errors === _errs107){
if(data36 && typeof data36 == "object" && !Array.isArray(data36)){
let missing7;
if((data36.proof_type_values === undefined) && (missing7 = "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];
return false;
}
else {
const _errs109 = errors;
for(const key8 in data36){
if(!(key8 === "proof_type_values")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs109 === errors){
if(data36.proof_type_values !== undefined){
let data37 = data36.proof_type_values;
const _errs110 = errors;
if(errors === _errs110){
if(Array.isArray(data37)){
var valid34 = true;
const len13 = data37.length;
for(let i13=0; i13<len13; i13++){
const _errs112 = errors;
if(typeof data37[i13] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values/" + i13,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid34 = _errs112 === errors;
if(!valid34){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs107 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di !== undefined){
let data39 = data14.di;
const _errs114 = errors;
if(errors === _errs114){
if(data39 && typeof data39 == "object" && !Array.isArray(data39)){
let missing8;
if(((data39.proof_type_values === undefined) && (missing8 = "proof_type_values")) || ((data39.cryptosuite === undefined) && (missing8 = "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];
return false;
}
else {
const _errs116 = errors;
for(const key9 in data39){
if(!((key9 === "proof_type_values") || (key9 === "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs116 === errors){
if(data39.proof_type_values !== undefined){
let data40 = data39.proof_type_values;
const _errs117 = errors;
if(errors === _errs117){
if(Array.isArray(data40)){
var valid36 = true;
const len14 = data40.length;
for(let i14=0; i14<len14; i14++){
const _errs119 = errors;
if(typeof data40[i14] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values/" + i14,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid36 = _errs119 === errors;
if(!valid36){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs117 === errors;
}
else {
var valid35 = true;
}
if(valid35){
if(data39.cryptosuite !== undefined){
let data42 = data39.cryptosuite;
const _errs121 = errors;
if(errors === _errs121){
if(Array.isArray(data42)){
var valid37 = true;
const len15 = data42.length;
for(let i15=0; i15<len15; i15++){
const _errs123 = errors;
if(typeof data42[i15] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite/" + i15,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid37 = _errs123 === errors;
if(!valid37){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid35 = _errs121 === errors;
}
else {
var valid35 = true;
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs114 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vc !== undefined){
let data44 = data14.di_vc;
const _errs125 = errors;
if(errors === _errs125){
if(data44 && typeof data44 == "object" && !Array.isArray(data44)){
let missing9;
if(((data44.proof_type_values === undefined) && (missing9 = "proof_type_values")) || ((data44.cryptosuite === undefined) && (missing9 = "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];
return false;
}
else {
const _errs127 = errors;
for(const key10 in data44){
if(!((key10 === "proof_type_values") || (key10 === "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs127 === errors){
if(data44.proof_type_values !== undefined){
let data45 = data44.proof_type_values;
const _errs128 = errors;
if(errors === _errs128){
if(Array.isArray(data45)){
var valid39 = true;
const len16 = data45.length;
for(let i16=0; i16<len16; i16++){
const _errs130 = errors;
if(typeof data45[i16] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values/" + i16,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid39 = _errs130 === errors;
if(!valid39){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs128 === errors;
}
else {
var valid38 = true;
}
if(valid38){
if(data44.cryptosuite !== undefined){
let data47 = data44.cryptosuite;
const _errs132 = errors;
if(errors === _errs132){
if(Array.isArray(data47)){
var valid40 = true;
const len17 = data47.length;
for(let i17=0; i17<len17; i17++){
const _errs134 = errors;
if(typeof data47[i17] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite/" + i17,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid40 = _errs134 === errors;
if(!valid40){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid38 = _errs132 === errors;
}
else {
var valid38 = true;
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs125 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.di_vp !== undefined){
let data49 = data14.di_vp;
const _errs136 = errors;
if(errors === _errs136){
if(data49 && typeof data49 == "object" && !Array.isArray(data49)){
let missing10;
if(((data49.proof_type_values === undefined) && (missing10 = "proof_type_values")) || ((data49.cryptosuite === undefined) && (missing10 = "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];
return false;
}
else {
const _errs138 = errors;
for(const key11 in data49){
if(!((key11 === "proof_type_values") || (key11 === "cryptosuite"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key11},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs138 === errors){
if(data49.proof_type_values !== undefined){
let data50 = data49.proof_type_values;
const _errs139 = errors;
if(errors === _errs139){
if(Array.isArray(data50)){
var valid42 = true;
const len18 = data50.length;
for(let i18=0; i18<len18; i18++){
const _errs141 = errors;
if(typeof data50[i18] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values/" + i18,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid42 = _errs141 === errors;
if(!valid42){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs139 === errors;
}
else {
var valid41 = true;
}
if(valid41){
if(data49.cryptosuite !== undefined){
let data52 = data49.cryptosuite;
const _errs143 = errors;
if(errors === _errs143){
if(Array.isArray(data52)){
var valid43 = true;
const len19 = data52.length;
for(let i19=0; i19<len19; i19++){
const _errs145 = errors;
if(typeof data52[i19] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite/" + i19,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid43 = _errs145 === errors;
if(!valid43){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid41 = _errs143 === errors;
}
else {
var valid41 = true;
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs136 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["vc+sd-jwt"] !== undefined){
let data54 = data14["vc+sd-jwt"];
const _errs147 = errors;
if(errors === _errs147){
if(data54 && typeof data54 == "object" && !Array.isArray(data54)){
const _errs149 = errors;
for(const key12 in data54){
if(!((key12 === "sd-jwt_alg_values") || (key12 === "kb-jwt_alg_values"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key12},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs149 === errors){
if(data54["sd-jwt_alg_values"] !== undefined){
let data55 = data54["sd-jwt_alg_values"];
const _errs150 = errors;
if(errors === _errs150){
if(Array.isArray(data55)){
var valid45 = true;
const len20 = data55.length;
for(let i20=0; i20<len20; i20++){
const _errs152 = errors;
if(typeof data55[i20] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values/" + i20,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid45 = _errs152 === errors;
if(!valid45){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs150 === errors;
}
else {
var valid44 = true;
}
if(valid44){
if(data54["kb-jwt_alg_values"] !== undefined){
let data57 = data54["kb-jwt_alg_values"];
const _errs154 = errors;
if(errors === _errs154){
if(Array.isArray(data57)){
var valid46 = true;
const len21 = data57.length;
for(let i21=0; i21<len21; i21++){
const _errs156 = errors;
if(typeof data57[i21] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values/" + i21,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid46 = _errs156 === errors;
if(!valid46){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid44 = _errs154 === errors;
}
else {
var valid44 = true;
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs147 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14["dc+sd-jwt"] !== undefined){
let data59 = data14["dc+sd-jwt"];
const _errs158 = errors;
if(errors === _errs158){
if(data59 && typeof data59 == "object" && !Array.isArray(data59)){
const _errs160 = errors;
for(const key13 in data59){
if(!((key13 === "sd-jwt_alg_values") || (key13 === "kb-jwt_alg_values"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key13},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs160 === errors){
if(data59["sd-jwt_alg_values"] !== undefined){
let data60 = data59["sd-jwt_alg_values"];
const _errs161 = errors;
if(errors === _errs161){
if(Array.isArray(data60)){
var valid48 = true;
const len22 = data60.length;
for(let i22=0; i22<len22; i22++){
const _errs163 = errors;
if(typeof data60[i22] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values/" + i22,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid48 = _errs163 === errors;
if(!valid48){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs161 === errors;
}
else {
var valid47 = true;
}
if(valid47){
if(data59["kb-jwt_alg_values"] !== undefined){
let data62 = data59["kb-jwt_alg_values"];
const _errs165 = errors;
if(errors === _errs165){
if(Array.isArray(data62)){
var valid49 = true;
const len23 = data62.length;
for(let i23=0; i23<len23; i23++){
const _errs167 = errors;
if(typeof data62[i23] !== "string"){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values/" + i23,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid49 = _errs167 === errors;
if(!valid49){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid47 = _errs165 === errors;
}
else {
var valid47 = true;
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs158 === errors;
}
else {
var valid18 = true;
}
if(valid18){
if(data14.mso_mdoc !== undefined){
let data64 = data14.mso_mdoc;
const _errs169 = errors;
if(errors === _errs169){
if(data64 && typeof data64 == "object" && !Array.isArray(data64)){
const _errs171 = errors;
for(const key14 in data64){
if(!((key14 === "issuerauth_alg_values") || (key14 === "deviceauth_alg_values"))){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key14},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs171 === errors){
if(data64.issuerauth_alg_values !== undefined){
let data65 = data64.issuerauth_alg_values;
const _errs172 = errors;
if(errors === _errs172){
if(Array.isArray(data65)){
var valid51 = true;
const len24 = data65.length;
for(let i24=0; i24<len24; i24++){
const _errs174 = errors;
if(!(typeof data65[i24] == "number")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values/" + i24,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid51 = _errs174 === errors;
if(!valid51){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs172 === errors;
}
else {
var valid50 = true;
}
if(valid50){
if(data64.deviceauth_alg_values !== undefined){
let data67 = data64.deviceauth_alg_values;
const _errs176 = errors;
if(errors === _errs176){
if(Array.isArray(data67)){
var valid52 = true;
const len25 = data67.length;
for(let i25=0; i25<len25; i25++){
const _errs178 = errors;
if(!(typeof data67[i25] == "number")){
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values/" + i25,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid52 = _errs178 === errors;
if(!valid52){
break;
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid50 = _errs176 === errors;
}
else {
var valid50 = true;
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid18 = _errs169 === errors;
}
else {
var valid18 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate38.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid0 = _errs55 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_name !== undefined){
const _errs180 = errors;
if(typeof data.client_name !== "string"){
validate38.errors = [{instancePath:instancePath+"/client_name",schemaPath:"#/properties/client_name/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs180 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.logo_uri !== undefined){
const _errs182 = errors;
if(typeof data.logo_uri !== "string"){
validate38.errors = [{instancePath:instancePath+"/logo_uri",schemaPath:"#/properties/logo_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs182 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate38.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate38.errors = vErrors;
return errors === 0;
}


function validate37(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(!(validate38(data, {instancePath,parentData,parentDataProperty,rootData}))){
vErrors = vErrors === null ? validate38.errors : vErrors.concat(validate38.errors);
errors = vErrors.length;
}
validate37.errors = vErrors;
return errors === 0;
}

exports.DiscoveryMetadataPayloadSchema = validate40;
const schema83 = {"properties":{"id_token_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"request_object_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"id_token_encryption_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"userinfo_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"userinfo_encryption_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"request_object_encryption_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"token_endpoint_auth_signing_alg_values_supported":{"anyOf":[{"type":"array","items":{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}},{"type":"string","enum":["EdDSA","RS256","PS256","ES256","ES256K"]}]},"jwks":{"properties":{"keys":{"items":{"properties":{"kty":{"type":"string"},"crv":{"type":"string"},"x":{"type":"string"},"y":{"type":"string"},"e":{"type":"string"},"n":{"type":"string"},"alg":{"type":"string"},"d":{"type":"string"},"dp":{"type":"string"},"dq":{"type":"string"},"ext":{"type":"boolean"},"k":{"type":"string"},"key_ops":{"type":"array","items":{"type":"string"}},"kid":{"type":"string"},"oth":{"type":"array","items":{"type":"object","properties":{"d":{"type":"string"},"r":{"type":"string"},"t":{"type":"string"}},"additionalProperties":false}},"p":{"type":"string"},"q":{"type":"string"},"qi":{"type":"string"},"use":{"type":"string"},"x5c":{"type":"array","items":{"type":"string"}},"x5t":{"type":"string"},"x5t#S256":{"type":"string"},"x5u":{"type":"string"}}}}}},"vp_formats_supported":{"properties":{"jwt":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vc_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"jwt_vp_json":{"type":"object","properties":{"alg_values":{"type":"array","items":{"type":"string"}}},"required":["alg_values"],"additionalProperties":false},"ldp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"ldp_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values"],"additionalProperties":false},"di":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vc":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"di_vp":{"type":"object","properties":{"proof_type_values":{"type":"array","items":{"type":"string"}},"cryptosuite":{"type":"array","items":{"type":"string"}}},"required":["proof_type_values","cryptosuite"],"additionalProperties":false},"vc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"dc+sd-jwt":{"type":"object","properties":{"sd-jwt_alg_values":{"type":"array","items":{"type":"string"}},"kb-jwt_alg_values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"mso_mdoc":{"type":"object","properties":{"issuerauth_alg_values":{"type":"array","items":{"type":"number"}},"deviceauth_alg_values":{"type":"array","items":{"type":"number"}}},"additionalProperties":false}}}}};
const schema84 = {"enum":["openid:","openid-vc:"]};
const schema85 = {"enum":["https://self-issued.me","https://self-issued.me/v2","https://self-issued.me/v2/openid-vc"]};
const schema86 = {"enum":["id_token","vp_token"]};
const schema88 = {"enum":["openid","openid did_authn","profile","email","address","phone"]};
const schema90 = {"enum":["public","pairwise"]};
const schema92 = {"enum":["fragment","form_post","post","direct_post","query","direct_post.jwt","query.jwt","fragment.jwt"]};
const schema94 = {"enum":["authorization_code","implicit"]};
const schema96 = {"enum":["phr","phrh"]};
const schema98 = {"enum":["client_secret_post","client_secret_basic","client_secret_jwt","private_key_jwt"]};
const schema100 = {"enum":["normal","aggregated","distributed"]};
const schema102 = {"enum":["subject_signed","attester_signed"]};

function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(errors === 0){
if(data && typeof data == "object" && !Array.isArray(data)){
if(data.authorization_endpoint !== undefined){
let data0 = data.authorization_endpoint;
const _errs1 = errors;
const _errs2 = errors;
let valid1 = false;
const _errs3 = errors;
if(typeof data0 !== "string"){
const err0 = {instancePath:instancePath+"/authorization_endpoint",schemaPath:"#/definitions/Schema/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
}
if(!((data0 === "openid:") || (data0 === "openid-vc:"))){
const err1 = {instancePath:instancePath+"/authorization_endpoint",schemaPath:"#/definitions/Schema/enum",keyword:"enum",params:{allowedValues: schema84.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
}
var _valid0 = _errs3 === errors;
valid1 = valid1 || _valid0;
if(!valid1){
const _errs6 = errors;
if(typeof data0 !== "string"){
const err2 = {instancePath:instancePath+"/authorization_endpoint",schemaPath:"#/properties/authorization_endpoint/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
var _valid0 = _errs6 === errors;
valid1 = valid1 || _valid0;
}
if(!valid1){
const err3 = {instancePath:instancePath+"/authorization_endpoint",schemaPath:"#/properties/authorization_endpoint/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs2;
if(vErrors !== null){
if(_errs2){
vErrors.length = _errs2;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs1 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.issuer !== undefined){
let data1 = data.issuer;
const _errs8 = errors;
const _errs9 = errors;
let valid3 = false;
const _errs10 = errors;
if(typeof data1 !== "string"){
const err4 = {instancePath:instancePath+"/issuer",schemaPath:"#/definitions/ResponseIss/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
if(!(((data1 === "https://self-issued.me") || (data1 === "https://self-issued.me/v2")) || (data1 === "https://self-issued.me/v2/openid-vc"))){
const err5 = {instancePath:instancePath+"/issuer",schemaPath:"#/definitions/ResponseIss/enum",keyword:"enum",params:{allowedValues: schema85.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
var _valid1 = _errs10 === errors;
valid3 = valid3 || _valid1;
if(!valid3){
const _errs13 = errors;
if(typeof data1 !== "string"){
const err6 = {instancePath:instancePath+"/issuer",schemaPath:"#/properties/issuer/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
var _valid1 = _errs13 === errors;
valid3 = valid3 || _valid1;
}
if(!valid3){
const err7 = {instancePath:instancePath+"/issuer",schemaPath:"#/properties/issuer/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs9;
if(vErrors !== null){
if(_errs9){
vErrors.length = _errs9;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs8 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_types_supported !== undefined){
let data2 = data.response_types_supported;
const _errs15 = errors;
const _errs16 = errors;
let valid5 = false;
const _errs17 = errors;
if(errors === _errs17){
if(Array.isArray(data2)){
var valid6 = true;
const len0 = data2.length;
for(let i0=0; i0<len0; i0++){
let data3 = data2[i0];
const _errs19 = errors;
if(typeof data3 !== "string"){
const err8 = {instancePath:instancePath+"/response_types_supported/" + i0,schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
if(!((data3 === "id_token") || (data3 === "vp_token"))){
const err9 = {instancePath:instancePath+"/response_types_supported/" + i0,schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema86.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
var valid6 = _errs19 === errors;
if(!valid6){
break;
}
}
}
else {
const err10 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
}
var _valid2 = _errs17 === errors;
valid5 = valid5 || _valid2;
if(!valid5){
const _errs22 = errors;
if(typeof data2 !== "string"){
const err11 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
}
if(!((data2 === "id_token") || (data2 === "vp_token"))){
const err12 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/definitions/ResponseType/enum",keyword:"enum",params:{allowedValues: schema86.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
var _valid2 = _errs22 === errors;
valid5 = valid5 || _valid2;
}
if(!valid5){
const err13 = {instancePath:instancePath+"/response_types_supported",schemaPath:"#/properties/response_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs16;
if(vErrors !== null){
if(_errs16){
vErrors.length = _errs16;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs15 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scopes_supported !== undefined){
let data4 = data.scopes_supported;
const _errs25 = errors;
const _errs26 = errors;
let valid9 = false;
const _errs27 = errors;
if(errors === _errs27){
if(Array.isArray(data4)){
var valid10 = true;
const len1 = data4.length;
for(let i1=0; i1<len1; i1++){
let data5 = data4[i1];
const _errs29 = errors;
if(typeof data5 !== "string"){
const err14 = {instancePath:instancePath+"/scopes_supported/" + i1,schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
}
if(!((((((data5 === "openid") || (data5 === "openid did_authn")) || (data5 === "profile")) || (data5 === "email")) || (data5 === "address")) || (data5 === "phone"))){
const err15 = {instancePath:instancePath+"/scopes_supported/" + i1,schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema88.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err15];
}
else {
vErrors.push(err15);
}
errors++;
}
var valid10 = _errs29 === errors;
if(!valid10){
break;
}
}
}
else {
const err16 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err16];
}
else {
vErrors.push(err16);
}
errors++;
}
}
var _valid3 = _errs27 === errors;
valid9 = valid9 || _valid3;
if(!valid9){
const _errs32 = errors;
if(typeof data4 !== "string"){
const err17 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err17];
}
else {
vErrors.push(err17);
}
errors++;
}
if(!((((((data4 === "openid") || (data4 === "openid did_authn")) || (data4 === "profile")) || (data4 === "email")) || (data4 === "address")) || (data4 === "phone"))){
const err18 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/definitions/Scope/enum",keyword:"enum",params:{allowedValues: schema88.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err18];
}
else {
vErrors.push(err18);
}
errors++;
}
var _valid3 = _errs32 === errors;
valid9 = valid9 || _valid3;
}
if(!valid9){
const err19 = {instancePath:instancePath+"/scopes_supported",schemaPath:"#/properties/scopes_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err19];
}
else {
vErrors.push(err19);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs26;
if(vErrors !== null){
if(_errs26){
vErrors.length = _errs26;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs25 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_types_supported !== undefined){
let data6 = data.subject_types_supported;
const _errs35 = errors;
const _errs36 = errors;
let valid13 = false;
const _errs37 = errors;
if(errors === _errs37){
if(Array.isArray(data6)){
var valid14 = true;
const len2 = data6.length;
for(let i2=0; i2<len2; i2++){
let data7 = data6[i2];
const _errs39 = errors;
if(typeof data7 !== "string"){
const err20 = {instancePath:instancePath+"/subject_types_supported/" + i2,schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err20];
}
else {
vErrors.push(err20);
}
errors++;
}
if(!((data7 === "public") || (data7 === "pairwise"))){
const err21 = {instancePath:instancePath+"/subject_types_supported/" + i2,schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema90.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err21];
}
else {
vErrors.push(err21);
}
errors++;
}
var valid14 = _errs39 === errors;
if(!valid14){
break;
}
}
}
else {
const err22 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err22];
}
else {
vErrors.push(err22);
}
errors++;
}
}
var _valid4 = _errs37 === errors;
valid13 = valid13 || _valid4;
if(!valid13){
const _errs42 = errors;
if(typeof data6 !== "string"){
const err23 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err23];
}
else {
vErrors.push(err23);
}
errors++;
}
if(!((data6 === "public") || (data6 === "pairwise"))){
const err24 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/definitions/SubjectType/enum",keyword:"enum",params:{allowedValues: schema90.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err24];
}
else {
vErrors.push(err24);
}
errors++;
}
var _valid4 = _errs42 === errors;
valid13 = valid13 || _valid4;
}
if(!valid13){
const err25 = {instancePath:instancePath+"/subject_types_supported",schemaPath:"#/properties/subject_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err25];
}
else {
vErrors.push(err25);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs36;
if(vErrors !== null){
if(_errs36){
vErrors.length = _errs36;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs35 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_signing_alg_values_supported !== undefined){
let data8 = data.id_token_signing_alg_values_supported;
const _errs45 = errors;
const _errs46 = errors;
let valid17 = false;
const _errs47 = errors;
if(errors === _errs47){
if(Array.isArray(data8)){
var valid18 = true;
const len3 = data8.length;
for(let i3=0; i3<len3; i3++){
let data9 = data8[i3];
const _errs49 = errors;
if(typeof data9 !== "string"){
const err26 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i3,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err26];
}
else {
vErrors.push(err26);
}
errors++;
}
if(!(((((data9 === "EdDSA") || (data9 === "RS256")) || (data9 === "PS256")) || (data9 === "ES256")) || (data9 === "ES256K"))){
const err27 = {instancePath:instancePath+"/id_token_signing_alg_values_supported/" + i3,schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.id_token_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err27];
}
else {
vErrors.push(err27);
}
errors++;
}
var valid18 = _errs49 === errors;
if(!valid18){
break;
}
}
}
else {
const err28 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err28];
}
else {
vErrors.push(err28);
}
errors++;
}
}
var _valid5 = _errs47 === errors;
valid17 = valid17 || _valid5;
if(!valid17){
const _errs51 = errors;
if(typeof data8 !== "string"){
const err29 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err29];
}
else {
vErrors.push(err29);
}
errors++;
}
if(!(((((data8 === "EdDSA") || (data8 === "RS256")) || (data8 === "PS256")) || (data8 === "ES256")) || (data8 === "ES256K"))){
const err30 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.id_token_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err30];
}
else {
vErrors.push(err30);
}
errors++;
}
var _valid5 = _errs51 === errors;
valid17 = valid17 || _valid5;
}
if(!valid17){
const err31 = {instancePath:instancePath+"/id_token_signing_alg_values_supported",schemaPath:"#/properties/id_token_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err31];
}
else {
vErrors.push(err31);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs46;
if(vErrors !== null){
if(_errs46){
vErrors.length = _errs46;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs45 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_signing_alg_values_supported !== undefined){
let data10 = data.request_object_signing_alg_values_supported;
const _errs53 = errors;
const _errs54 = errors;
let valid19 = false;
const _errs55 = errors;
if(errors === _errs55){
if(Array.isArray(data10)){
var valid20 = true;
const len4 = data10.length;
for(let i4=0; i4<len4; i4++){
let data11 = data10[i4];
const _errs57 = errors;
if(typeof data11 !== "string"){
const err32 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i4,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err32];
}
else {
vErrors.push(err32);
}
errors++;
}
if(!(((((data11 === "EdDSA") || (data11 === "RS256")) || (data11 === "PS256")) || (data11 === "ES256")) || (data11 === "ES256K"))){
const err33 = {instancePath:instancePath+"/request_object_signing_alg_values_supported/" + i4,schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.request_object_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err33];
}
else {
vErrors.push(err33);
}
errors++;
}
var valid20 = _errs57 === errors;
if(!valid20){
break;
}
}
}
else {
const err34 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err34];
}
else {
vErrors.push(err34);
}
errors++;
}
}
var _valid6 = _errs55 === errors;
valid19 = valid19 || _valid6;
if(!valid19){
const _errs59 = errors;
if(typeof data10 !== "string"){
const err35 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err35];
}
else {
vErrors.push(err35);
}
errors++;
}
if(!(((((data10 === "EdDSA") || (data10 === "RS256")) || (data10 === "PS256")) || (data10 === "ES256")) || (data10 === "ES256K"))){
const err36 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.request_object_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err36];
}
else {
vErrors.push(err36);
}
errors++;
}
var _valid6 = _errs59 === errors;
valid19 = valid19 || _valid6;
}
if(!valid19){
const err37 = {instancePath:instancePath+"/request_object_signing_alg_values_supported",schemaPath:"#/properties/request_object_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err37];
}
else {
vErrors.push(err37);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs54;
if(vErrors !== null){
if(_errs54){
vErrors.length = _errs54;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs53 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.subject_syntax_types_supported !== undefined){
let data12 = data.subject_syntax_types_supported;
const _errs61 = errors;
if(errors === _errs61){
if(Array.isArray(data12)){
var valid21 = true;
const len5 = data12.length;
for(let i5=0; i5<len5; i5++){
const _errs63 = errors;
if(typeof data12[i5] !== "string"){
validate41.errors = [{instancePath:instancePath+"/subject_syntax_types_supported/" + i5,schemaPath:"#/properties/subject_syntax_types_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid21 = _errs63 === errors;
if(!valid21){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/subject_syntax_types_supported",schemaPath:"#/properties/subject_syntax_types_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs61 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.token_endpoint !== undefined){
const _errs65 = errors;
if(typeof data.token_endpoint !== "string"){
validate41.errors = [{instancePath:instancePath+"/token_endpoint",schemaPath:"#/properties/token_endpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs65 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfo_endpoint !== undefined){
const _errs67 = errors;
if(typeof data.userinfo_endpoint !== "string"){
validate41.errors = [{instancePath:instancePath+"/userinfo_endpoint",schemaPath:"#/properties/userinfo_endpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs67 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jwks_uri !== undefined){
const _errs69 = errors;
if(typeof data.jwks_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks_uri",schemaPath:"#/properties/jwks_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs69 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.registration_endpoint !== undefined){
const _errs71 = errors;
if(typeof data.registration_endpoint !== "string"){
validate41.errors = [{instancePath:instancePath+"/registration_endpoint",schemaPath:"#/properties/registration_endpoint/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs71 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_modes_supported !== undefined){
let data18 = data.response_modes_supported;
const _errs73 = errors;
const _errs74 = errors;
let valid22 = false;
const _errs75 = errors;
if(errors === _errs75){
if(Array.isArray(data18)){
var valid23 = true;
const len6 = data18.length;
for(let i6=0; i6<len6; i6++){
let data19 = data18[i6];
const _errs77 = errors;
if(typeof data19 !== "string"){
const err38 = {instancePath:instancePath+"/response_modes_supported/" + i6,schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err38];
}
else {
vErrors.push(err38);
}
errors++;
}
if(!((((((((data19 === "fragment") || (data19 === "form_post")) || (data19 === "post")) || (data19 === "direct_post")) || (data19 === "query")) || (data19 === "direct_post.jwt")) || (data19 === "query.jwt")) || (data19 === "fragment.jwt"))){
const err39 = {instancePath:instancePath+"/response_modes_supported/" + i6,schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema92.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err39];
}
else {
vErrors.push(err39);
}
errors++;
}
var valid23 = _errs77 === errors;
if(!valid23){
break;
}
}
}
else {
const err40 = {instancePath:instancePath+"/response_modes_supported",schemaPath:"#/properties/response_modes_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err40];
}
else {
vErrors.push(err40);
}
errors++;
}
}
var _valid7 = _errs75 === errors;
valid22 = valid22 || _valid7;
if(!valid22){
const _errs80 = errors;
if(typeof data18 !== "string"){
const err41 = {instancePath:instancePath+"/response_modes_supported",schemaPath:"#/definitions/ResponseMode/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err41];
}
else {
vErrors.push(err41);
}
errors++;
}
if(!((((((((data18 === "fragment") || (data18 === "form_post")) || (data18 === "post")) || (data18 === "direct_post")) || (data18 === "query")) || (data18 === "direct_post.jwt")) || (data18 === "query.jwt")) || (data18 === "fragment.jwt"))){
const err42 = {instancePath:instancePath+"/response_modes_supported",schemaPath:"#/definitions/ResponseMode/enum",keyword:"enum",params:{allowedValues: schema92.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err42];
}
else {
vErrors.push(err42);
}
errors++;
}
var _valid7 = _errs80 === errors;
valid22 = valid22 || _valid7;
}
if(!valid22){
const err43 = {instancePath:instancePath+"/response_modes_supported",schemaPath:"#/properties/response_modes_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err43];
}
else {
vErrors.push(err43);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs74;
if(vErrors !== null){
if(_errs74){
vErrors.length = _errs74;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs73 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.grant_types_supported !== undefined){
let data20 = data.grant_types_supported;
const _errs83 = errors;
const _errs84 = errors;
let valid26 = false;
const _errs85 = errors;
if(errors === _errs85){
if(Array.isArray(data20)){
var valid27 = true;
const len7 = data20.length;
for(let i7=0; i7<len7; i7++){
let data21 = data20[i7];
const _errs87 = errors;
if(typeof data21 !== "string"){
const err44 = {instancePath:instancePath+"/grant_types_supported/" + i7,schemaPath:"#/definitions/GrantType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err44];
}
else {
vErrors.push(err44);
}
errors++;
}
if(!((data21 === "authorization_code") || (data21 === "implicit"))){
const err45 = {instancePath:instancePath+"/grant_types_supported/" + i7,schemaPath:"#/definitions/GrantType/enum",keyword:"enum",params:{allowedValues: schema94.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err45];
}
else {
vErrors.push(err45);
}
errors++;
}
var valid27 = _errs87 === errors;
if(!valid27){
break;
}
}
}
else {
const err46 = {instancePath:instancePath+"/grant_types_supported",schemaPath:"#/properties/grant_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err46];
}
else {
vErrors.push(err46);
}
errors++;
}
}
var _valid8 = _errs85 === errors;
valid26 = valid26 || _valid8;
if(!valid26){
const _errs90 = errors;
if(typeof data20 !== "string"){
const err47 = {instancePath:instancePath+"/grant_types_supported",schemaPath:"#/definitions/GrantType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err47];
}
else {
vErrors.push(err47);
}
errors++;
}
if(!((data20 === "authorization_code") || (data20 === "implicit"))){
const err48 = {instancePath:instancePath+"/grant_types_supported",schemaPath:"#/definitions/GrantType/enum",keyword:"enum",params:{allowedValues: schema94.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err48];
}
else {
vErrors.push(err48);
}
errors++;
}
var _valid8 = _errs90 === errors;
valid26 = valid26 || _valid8;
}
if(!valid26){
const err49 = {instancePath:instancePath+"/grant_types_supported",schemaPath:"#/properties/grant_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err49];
}
else {
vErrors.push(err49);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs84;
if(vErrors !== null){
if(_errs84){
vErrors.length = _errs84;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs83 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.acr_values_supported !== undefined){
let data22 = data.acr_values_supported;
const _errs93 = errors;
const _errs94 = errors;
let valid30 = false;
const _errs95 = errors;
if(errors === _errs95){
if(Array.isArray(data22)){
var valid31 = true;
const len8 = data22.length;
for(let i8=0; i8<len8; i8++){
let data23 = data22[i8];
const _errs97 = errors;
if(typeof data23 !== "string"){
const err50 = {instancePath:instancePath+"/acr_values_supported/" + i8,schemaPath:"#/definitions/AuthenticationContextReferences/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err50];
}
else {
vErrors.push(err50);
}
errors++;
}
if(!((data23 === "phr") || (data23 === "phrh"))){
const err51 = {instancePath:instancePath+"/acr_values_supported/" + i8,schemaPath:"#/definitions/AuthenticationContextReferences/enum",keyword:"enum",params:{allowedValues: schema96.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err51];
}
else {
vErrors.push(err51);
}
errors++;
}
var valid31 = _errs97 === errors;
if(!valid31){
break;
}
}
}
else {
const err52 = {instancePath:instancePath+"/acr_values_supported",schemaPath:"#/properties/acr_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err52];
}
else {
vErrors.push(err52);
}
errors++;
}
}
var _valid9 = _errs95 === errors;
valid30 = valid30 || _valid9;
if(!valid30){
const _errs100 = errors;
if(typeof data22 !== "string"){
const err53 = {instancePath:instancePath+"/acr_values_supported",schemaPath:"#/definitions/AuthenticationContextReferences/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err53];
}
else {
vErrors.push(err53);
}
errors++;
}
if(!((data22 === "phr") || (data22 === "phrh"))){
const err54 = {instancePath:instancePath+"/acr_values_supported",schemaPath:"#/definitions/AuthenticationContextReferences/enum",keyword:"enum",params:{allowedValues: schema96.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err54];
}
else {
vErrors.push(err54);
}
errors++;
}
var _valid9 = _errs100 === errors;
valid30 = valid30 || _valid9;
}
if(!valid30){
const err55 = {instancePath:instancePath+"/acr_values_supported",schemaPath:"#/properties/acr_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err55];
}
else {
vErrors.push(err55);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs94;
if(vErrors !== null){
if(_errs94){
vErrors.length = _errs94;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs93 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_encryption_alg_values_supported !== undefined){
let data24 = data.id_token_encryption_alg_values_supported;
const _errs103 = errors;
const _errs104 = errors;
let valid34 = false;
const _errs105 = errors;
if(errors === _errs105){
if(Array.isArray(data24)){
var valid35 = true;
const len9 = data24.length;
for(let i9=0; i9<len9; i9++){
let data25 = data24[i9];
const _errs107 = errors;
if(typeof data25 !== "string"){
const err56 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported/" + i9,schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err56];
}
else {
vErrors.push(err56);
}
errors++;
}
if(!(((((data25 === "EdDSA") || (data25 === "RS256")) || (data25 === "PS256")) || (data25 === "ES256")) || (data25 === "ES256K"))){
const err57 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported/" + i9,schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.id_token_encryption_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err57];
}
else {
vErrors.push(err57);
}
errors++;
}
var valid35 = _errs107 === errors;
if(!valid35){
break;
}
}
}
else {
const err58 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported",schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err58];
}
else {
vErrors.push(err58);
}
errors++;
}
}
var _valid10 = _errs105 === errors;
valid34 = valid34 || _valid10;
if(!valid34){
const _errs109 = errors;
if(typeof data24 !== "string"){
const err59 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported",schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err59];
}
else {
vErrors.push(err59);
}
errors++;
}
if(!(((((data24 === "EdDSA") || (data24 === "RS256")) || (data24 === "PS256")) || (data24 === "ES256")) || (data24 === "ES256K"))){
const err60 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported",schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.id_token_encryption_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err60];
}
else {
vErrors.push(err60);
}
errors++;
}
var _valid10 = _errs109 === errors;
valid34 = valid34 || _valid10;
}
if(!valid34){
const err61 = {instancePath:instancePath+"/id_token_encryption_alg_values_supported",schemaPath:"#/properties/id_token_encryption_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err61];
}
else {
vErrors.push(err61);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs104;
if(vErrors !== null){
if(_errs104){
vErrors.length = _errs104;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs103 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_encryption_enc_values_supported !== undefined){
let data26 = data.id_token_encryption_enc_values_supported;
const _errs111 = errors;
const _errs112 = errors;
let valid36 = false;
const _errs113 = errors;
if(errors === _errs113){
if(Array.isArray(data26)){
var valid37 = true;
const len10 = data26.length;
for(let i10=0; i10<len10; i10++){
const _errs115 = errors;
if(typeof data26[i10] !== "string"){
const err62 = {instancePath:instancePath+"/id_token_encryption_enc_values_supported/" + i10,schemaPath:"#/properties/id_token_encryption_enc_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err62];
}
else {
vErrors.push(err62);
}
errors++;
}
var valid37 = _errs115 === errors;
if(!valid37){
break;
}
}
}
else {
const err63 = {instancePath:instancePath+"/id_token_encryption_enc_values_supported",schemaPath:"#/properties/id_token_encryption_enc_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err63];
}
else {
vErrors.push(err63);
}
errors++;
}
}
var _valid11 = _errs113 === errors;
valid36 = valid36 || _valid11;
if(!valid36){
const _errs117 = errors;
if(typeof data26 !== "string"){
const err64 = {instancePath:instancePath+"/id_token_encryption_enc_values_supported",schemaPath:"#/properties/id_token_encryption_enc_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err64];
}
else {
vErrors.push(err64);
}
errors++;
}
var _valid11 = _errs117 === errors;
valid36 = valid36 || _valid11;
}
if(!valid36){
const err65 = {instancePath:instancePath+"/id_token_encryption_enc_values_supported",schemaPath:"#/properties/id_token_encryption_enc_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err65];
}
else {
vErrors.push(err65);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs112;
if(vErrors !== null){
if(_errs112){
vErrors.length = _errs112;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs111 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfo_signing_alg_values_supported !== undefined){
let data28 = data.userinfo_signing_alg_values_supported;
const _errs119 = errors;
const _errs120 = errors;
let valid38 = false;
const _errs121 = errors;
if(errors === _errs121){
if(Array.isArray(data28)){
var valid39 = true;
const len11 = data28.length;
for(let i11=0; i11<len11; i11++){
let data29 = data28[i11];
const _errs123 = errors;
if(typeof data29 !== "string"){
const err66 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported/" + i11,schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err66];
}
else {
vErrors.push(err66);
}
errors++;
}
if(!(((((data29 === "EdDSA") || (data29 === "RS256")) || (data29 === "PS256")) || (data29 === "ES256")) || (data29 === "ES256K"))){
const err67 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported/" + i11,schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.userinfo_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err67];
}
else {
vErrors.push(err67);
}
errors++;
}
var valid39 = _errs123 === errors;
if(!valid39){
break;
}
}
}
else {
const err68 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported",schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err68];
}
else {
vErrors.push(err68);
}
errors++;
}
}
var _valid12 = _errs121 === errors;
valid38 = valid38 || _valid12;
if(!valid38){
const _errs125 = errors;
if(typeof data28 !== "string"){
const err69 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported",schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err69];
}
else {
vErrors.push(err69);
}
errors++;
}
if(!(((((data28 === "EdDSA") || (data28 === "RS256")) || (data28 === "PS256")) || (data28 === "ES256")) || (data28 === "ES256K"))){
const err70 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported",schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.userinfo_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err70];
}
else {
vErrors.push(err70);
}
errors++;
}
var _valid12 = _errs125 === errors;
valid38 = valid38 || _valid12;
}
if(!valid38){
const err71 = {instancePath:instancePath+"/userinfo_signing_alg_values_supported",schemaPath:"#/properties/userinfo_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err71];
}
else {
vErrors.push(err71);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs120;
if(vErrors !== null){
if(_errs120){
vErrors.length = _errs120;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs119 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfo_encryption_alg_values_supported !== undefined){
let data30 = data.userinfo_encryption_alg_values_supported;
const _errs127 = errors;
const _errs128 = errors;
let valid40 = false;
const _errs129 = errors;
if(errors === _errs129){
if(Array.isArray(data30)){
var valid41 = true;
const len12 = data30.length;
for(let i12=0; i12<len12; i12++){
let data31 = data30[i12];
const _errs131 = errors;
if(typeof data31 !== "string"){
const err72 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported/" + i12,schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err72];
}
else {
vErrors.push(err72);
}
errors++;
}
if(!(((((data31 === "EdDSA") || (data31 === "RS256")) || (data31 === "PS256")) || (data31 === "ES256")) || (data31 === "ES256K"))){
const err73 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported/" + i12,schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.userinfo_encryption_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err73];
}
else {
vErrors.push(err73);
}
errors++;
}
var valid41 = _errs131 === errors;
if(!valid41){
break;
}
}
}
else {
const err74 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported",schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err74];
}
else {
vErrors.push(err74);
}
errors++;
}
}
var _valid13 = _errs129 === errors;
valid40 = valid40 || _valid13;
if(!valid40){
const _errs133 = errors;
if(typeof data30 !== "string"){
const err75 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported",schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err75];
}
else {
vErrors.push(err75);
}
errors++;
}
if(!(((((data30 === "EdDSA") || (data30 === "RS256")) || (data30 === "PS256")) || (data30 === "ES256")) || (data30 === "ES256K"))){
const err76 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported",schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.userinfo_encryption_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err76];
}
else {
vErrors.push(err76);
}
errors++;
}
var _valid13 = _errs133 === errors;
valid40 = valid40 || _valid13;
}
if(!valid40){
const err77 = {instancePath:instancePath+"/userinfo_encryption_alg_values_supported",schemaPath:"#/properties/userinfo_encryption_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err77];
}
else {
vErrors.push(err77);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs128;
if(vErrors !== null){
if(_errs128){
vErrors.length = _errs128;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs127 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.userinfo_encryption_enc_values_supported !== undefined){
let data32 = data.userinfo_encryption_enc_values_supported;
const _errs135 = errors;
const _errs136 = errors;
let valid42 = false;
const _errs137 = errors;
if(errors === _errs137){
if(Array.isArray(data32)){
var valid43 = true;
const len13 = data32.length;
for(let i13=0; i13<len13; i13++){
const _errs139 = errors;
if(typeof data32[i13] !== "string"){
const err78 = {instancePath:instancePath+"/userinfo_encryption_enc_values_supported/" + i13,schemaPath:"#/properties/userinfo_encryption_enc_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err78];
}
else {
vErrors.push(err78);
}
errors++;
}
var valid43 = _errs139 === errors;
if(!valid43){
break;
}
}
}
else {
const err79 = {instancePath:instancePath+"/userinfo_encryption_enc_values_supported",schemaPath:"#/properties/userinfo_encryption_enc_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err79];
}
else {
vErrors.push(err79);
}
errors++;
}
}
var _valid14 = _errs137 === errors;
valid42 = valid42 || _valid14;
if(!valid42){
const _errs141 = errors;
if(typeof data32 !== "string"){
const err80 = {instancePath:instancePath+"/userinfo_encryption_enc_values_supported",schemaPath:"#/properties/userinfo_encryption_enc_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err80];
}
else {
vErrors.push(err80);
}
errors++;
}
var _valid14 = _errs141 === errors;
valid42 = valid42 || _valid14;
}
if(!valid42){
const err81 = {instancePath:instancePath+"/userinfo_encryption_enc_values_supported",schemaPath:"#/properties/userinfo_encryption_enc_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err81];
}
else {
vErrors.push(err81);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs136;
if(vErrors !== null){
if(_errs136){
vErrors.length = _errs136;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs135 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_encryption_alg_values_supported !== undefined){
let data34 = data.request_object_encryption_alg_values_supported;
const _errs143 = errors;
const _errs144 = errors;
let valid44 = false;
const _errs145 = errors;
if(errors === _errs145){
if(Array.isArray(data34)){
var valid45 = true;
const len14 = data34.length;
for(let i14=0; i14<len14; i14++){
let data35 = data34[i14];
const _errs147 = errors;
if(typeof data35 !== "string"){
const err82 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported/" + i14,schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err82];
}
else {
vErrors.push(err82);
}
errors++;
}
if(!(((((data35 === "EdDSA") || (data35 === "RS256")) || (data35 === "PS256")) || (data35 === "ES256")) || (data35 === "ES256K"))){
const err83 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported/" + i14,schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.request_object_encryption_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err83];
}
else {
vErrors.push(err83);
}
errors++;
}
var valid45 = _errs147 === errors;
if(!valid45){
break;
}
}
}
else {
const err84 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported",schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err84];
}
else {
vErrors.push(err84);
}
errors++;
}
}
var _valid15 = _errs145 === errors;
valid44 = valid44 || _valid15;
if(!valid44){
const _errs149 = errors;
if(typeof data34 !== "string"){
const err85 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported",schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err85];
}
else {
vErrors.push(err85);
}
errors++;
}
if(!(((((data34 === "EdDSA") || (data34 === "RS256")) || (data34 === "PS256")) || (data34 === "ES256")) || (data34 === "ES256K"))){
const err86 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported",schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.request_object_encryption_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err86];
}
else {
vErrors.push(err86);
}
errors++;
}
var _valid15 = _errs149 === errors;
valid44 = valid44 || _valid15;
}
if(!valid44){
const err87 = {instancePath:instancePath+"/request_object_encryption_alg_values_supported",schemaPath:"#/properties/request_object_encryption_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err87];
}
else {
vErrors.push(err87);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs144;
if(vErrors !== null){
if(_errs144){
vErrors.length = _errs144;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs143 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_object_encryption_enc_values_supported !== undefined){
let data36 = data.request_object_encryption_enc_values_supported;
const _errs151 = errors;
const _errs152 = errors;
let valid46 = false;
const _errs153 = errors;
if(errors === _errs153){
if(Array.isArray(data36)){
var valid47 = true;
const len15 = data36.length;
for(let i15=0; i15<len15; i15++){
const _errs155 = errors;
if(typeof data36[i15] !== "string"){
const err88 = {instancePath:instancePath+"/request_object_encryption_enc_values_supported/" + i15,schemaPath:"#/properties/request_object_encryption_enc_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err88];
}
else {
vErrors.push(err88);
}
errors++;
}
var valid47 = _errs155 === errors;
if(!valid47){
break;
}
}
}
else {
const err89 = {instancePath:instancePath+"/request_object_encryption_enc_values_supported",schemaPath:"#/properties/request_object_encryption_enc_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err89];
}
else {
vErrors.push(err89);
}
errors++;
}
}
var _valid16 = _errs153 === errors;
valid46 = valid46 || _valid16;
if(!valid46){
const _errs157 = errors;
if(typeof data36 !== "string"){
const err90 = {instancePath:instancePath+"/request_object_encryption_enc_values_supported",schemaPath:"#/properties/request_object_encryption_enc_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err90];
}
else {
vErrors.push(err90);
}
errors++;
}
var _valid16 = _errs157 === errors;
valid46 = valid46 || _valid16;
}
if(!valid46){
const err91 = {instancePath:instancePath+"/request_object_encryption_enc_values_supported",schemaPath:"#/properties/request_object_encryption_enc_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err91];
}
else {
vErrors.push(err91);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs152;
if(vErrors !== null){
if(_errs152){
vErrors.length = _errs152;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs151 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.token_endpoint_auth_methods_supported !== undefined){
let data38 = data.token_endpoint_auth_methods_supported;
const _errs159 = errors;
const _errs160 = errors;
let valid48 = false;
const _errs161 = errors;
if(errors === _errs161){
if(Array.isArray(data38)){
var valid49 = true;
const len16 = data38.length;
for(let i16=0; i16<len16; i16++){
let data39 = data38[i16];
const _errs163 = errors;
if(typeof data39 !== "string"){
const err92 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported/" + i16,schemaPath:"#/definitions/TokenEndpointAuthMethod/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err92];
}
else {
vErrors.push(err92);
}
errors++;
}
if(!((((data39 === "client_secret_post") || (data39 === "client_secret_basic")) || (data39 === "client_secret_jwt")) || (data39 === "private_key_jwt"))){
const err93 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported/" + i16,schemaPath:"#/definitions/TokenEndpointAuthMethod/enum",keyword:"enum",params:{allowedValues: schema98.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err93];
}
else {
vErrors.push(err93);
}
errors++;
}
var valid49 = _errs163 === errors;
if(!valid49){
break;
}
}
}
else {
const err94 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported",schemaPath:"#/properties/token_endpoint_auth_methods_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err94];
}
else {
vErrors.push(err94);
}
errors++;
}
}
var _valid17 = _errs161 === errors;
valid48 = valid48 || _valid17;
if(!valid48){
const _errs166 = errors;
if(typeof data38 !== "string"){
const err95 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported",schemaPath:"#/definitions/TokenEndpointAuthMethod/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err95];
}
else {
vErrors.push(err95);
}
errors++;
}
if(!((((data38 === "client_secret_post") || (data38 === "client_secret_basic")) || (data38 === "client_secret_jwt")) || (data38 === "private_key_jwt"))){
const err96 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported",schemaPath:"#/definitions/TokenEndpointAuthMethod/enum",keyword:"enum",params:{allowedValues: schema98.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err96];
}
else {
vErrors.push(err96);
}
errors++;
}
var _valid17 = _errs166 === errors;
valid48 = valid48 || _valid17;
}
if(!valid48){
const err97 = {instancePath:instancePath+"/token_endpoint_auth_methods_supported",schemaPath:"#/properties/token_endpoint_auth_methods_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err97];
}
else {
vErrors.push(err97);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs160;
if(vErrors !== null){
if(_errs160){
vErrors.length = _errs160;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs159 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.token_endpoint_auth_signing_alg_values_supported !== undefined){
let data40 = data.token_endpoint_auth_signing_alg_values_supported;
const _errs169 = errors;
const _errs170 = errors;
let valid52 = false;
const _errs171 = errors;
if(errors === _errs171){
if(Array.isArray(data40)){
var valid53 = true;
const len17 = data40.length;
for(let i17=0; i17<len17; i17++){
let data41 = data40[i17];
const _errs173 = errors;
if(typeof data41 !== "string"){
const err98 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported/" + i17,schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err98];
}
else {
vErrors.push(err98);
}
errors++;
}
if(!(((((data41 === "EdDSA") || (data41 === "RS256")) || (data41 === "PS256")) || (data41 === "ES256")) || (data41 === "ES256K"))){
const err99 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported/" + i17,schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf/0/items/enum",keyword:"enum",params:{allowedValues: schema83.properties.token_endpoint_auth_signing_alg_values_supported.anyOf[0].items.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err99];
}
else {
vErrors.push(err99);
}
errors++;
}
var valid53 = _errs173 === errors;
if(!valid53){
break;
}
}
}
else {
const err100 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported",schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err100];
}
else {
vErrors.push(err100);
}
errors++;
}
}
var _valid18 = _errs171 === errors;
valid52 = valid52 || _valid18;
if(!valid52){
const _errs175 = errors;
if(typeof data40 !== "string"){
const err101 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported",schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err101];
}
else {
vErrors.push(err101);
}
errors++;
}
if(!(((((data40 === "EdDSA") || (data40 === "RS256")) || (data40 === "PS256")) || (data40 === "ES256")) || (data40 === "ES256K"))){
const err102 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported",schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf/1/enum",keyword:"enum",params:{allowedValues: schema83.properties.token_endpoint_auth_signing_alg_values_supported.anyOf[1].enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err102];
}
else {
vErrors.push(err102);
}
errors++;
}
var _valid18 = _errs175 === errors;
valid52 = valid52 || _valid18;
}
if(!valid52){
const err103 = {instancePath:instancePath+"/token_endpoint_auth_signing_alg_values_supported",schemaPath:"#/properties/token_endpoint_auth_signing_alg_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err103];
}
else {
vErrors.push(err103);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs170;
if(vErrors !== null){
if(_errs170){
vErrors.length = _errs170;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs169 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.display_values_supported !== undefined){
let data42 = data.display_values_supported;
const _errs177 = errors;
const _errs178 = errors;
let valid54 = false;
const _errs179 = errors;
if(errors === _errs179){
if(Array.isArray(data42)){
data42.length;
}
else {
const err104 = {instancePath:instancePath+"/display_values_supported",schemaPath:"#/properties/display_values_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err104];
}
else {
vErrors.push(err104);
}
errors++;
}
}
var _valid19 = _errs179 === errors;
valid54 = valid54 || _valid19;
if(!valid54){
const _errs182 = errors;
var _valid19 = _errs182 === errors;
valid54 = valid54 || _valid19;
}
if(!valid54){
const err105 = {instancePath:instancePath+"/display_values_supported",schemaPath:"#/properties/display_values_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err105];
}
else {
vErrors.push(err105);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs178;
if(vErrors !== null){
if(_errs178){
vErrors.length = _errs178;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs177 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claim_types_supported !== undefined){
let data44 = data.claim_types_supported;
const _errs183 = errors;
const _errs184 = errors;
let valid56 = false;
const _errs185 = errors;
if(errors === _errs185){
if(Array.isArray(data44)){
var valid57 = true;
const len19 = data44.length;
for(let i19=0; i19<len19; i19++){
let data45 = data44[i19];
const _errs187 = errors;
if(typeof data45 !== "string"){
const err106 = {instancePath:instancePath+"/claim_types_supported/" + i19,schemaPath:"#/definitions/ClaimType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err106];
}
else {
vErrors.push(err106);
}
errors++;
}
if(!(((data45 === "normal") || (data45 === "aggregated")) || (data45 === "distributed"))){
const err107 = {instancePath:instancePath+"/claim_types_supported/" + i19,schemaPath:"#/definitions/ClaimType/enum",keyword:"enum",params:{allowedValues: schema100.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err107];
}
else {
vErrors.push(err107);
}
errors++;
}
var valid57 = _errs187 === errors;
if(!valid57){
break;
}
}
}
else {
const err108 = {instancePath:instancePath+"/claim_types_supported",schemaPath:"#/properties/claim_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err108];
}
else {
vErrors.push(err108);
}
errors++;
}
}
var _valid20 = _errs185 === errors;
valid56 = valid56 || _valid20;
if(!valid56){
const _errs190 = errors;
if(typeof data44 !== "string"){
const err109 = {instancePath:instancePath+"/claim_types_supported",schemaPath:"#/definitions/ClaimType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err109];
}
else {
vErrors.push(err109);
}
errors++;
}
if(!(((data44 === "normal") || (data44 === "aggregated")) || (data44 === "distributed"))){
const err110 = {instancePath:instancePath+"/claim_types_supported",schemaPath:"#/definitions/ClaimType/enum",keyword:"enum",params:{allowedValues: schema100.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err110];
}
else {
vErrors.push(err110);
}
errors++;
}
var _valid20 = _errs190 === errors;
valid56 = valid56 || _valid20;
}
if(!valid56){
const err111 = {instancePath:instancePath+"/claim_types_supported",schemaPath:"#/properties/claim_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err111];
}
else {
vErrors.push(err111);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs184;
if(vErrors !== null){
if(_errs184){
vErrors.length = _errs184;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs183 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claims_supported !== undefined){
let data46 = data.claims_supported;
const _errs193 = errors;
const _errs194 = errors;
let valid60 = false;
const _errs195 = errors;
if(errors === _errs195){
if(Array.isArray(data46)){
var valid61 = true;
const len20 = data46.length;
for(let i20=0; i20<len20; i20++){
const _errs197 = errors;
if(typeof data46[i20] !== "string"){
const err112 = {instancePath:instancePath+"/claims_supported/" + i20,schemaPath:"#/properties/claims_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err112];
}
else {
vErrors.push(err112);
}
errors++;
}
var valid61 = _errs197 === errors;
if(!valid61){
break;
}
}
}
else {
const err113 = {instancePath:instancePath+"/claims_supported",schemaPath:"#/properties/claims_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err113];
}
else {
vErrors.push(err113);
}
errors++;
}
}
var _valid21 = _errs195 === errors;
valid60 = valid60 || _valid21;
if(!valid60){
const _errs199 = errors;
if(typeof data46 !== "string"){
const err114 = {instancePath:instancePath+"/claims_supported",schemaPath:"#/properties/claims_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err114];
}
else {
vErrors.push(err114);
}
errors++;
}
var _valid21 = _errs199 === errors;
valid60 = valid60 || _valid21;
}
if(!valid60){
const err115 = {instancePath:instancePath+"/claims_supported",schemaPath:"#/properties/claims_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err115];
}
else {
vErrors.push(err115);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs194;
if(vErrors !== null){
if(_errs194){
vErrors.length = _errs194;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs193 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.service_documentation !== undefined){
const _errs201 = errors;
if(typeof data.service_documentation !== "string"){
validate41.errors = [{instancePath:instancePath+"/service_documentation",schemaPath:"#/properties/service_documentation/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs201 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claims_locales_supported !== undefined){
let data49 = data.claims_locales_supported;
const _errs203 = errors;
const _errs204 = errors;
let valid62 = false;
const _errs205 = errors;
if(errors === _errs205){
if(Array.isArray(data49)){
var valid63 = true;
const len21 = data49.length;
for(let i21=0; i21<len21; i21++){
const _errs207 = errors;
if(typeof data49[i21] !== "string"){
const err116 = {instancePath:instancePath+"/claims_locales_supported/" + i21,schemaPath:"#/properties/claims_locales_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err116];
}
else {
vErrors.push(err116);
}
errors++;
}
var valid63 = _errs207 === errors;
if(!valid63){
break;
}
}
}
else {
const err117 = {instancePath:instancePath+"/claims_locales_supported",schemaPath:"#/properties/claims_locales_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err117];
}
else {
vErrors.push(err117);
}
errors++;
}
}
var _valid22 = _errs205 === errors;
valid62 = valid62 || _valid22;
if(!valid62){
const _errs209 = errors;
if(typeof data49 !== "string"){
const err118 = {instancePath:instancePath+"/claims_locales_supported",schemaPath:"#/properties/claims_locales_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err118];
}
else {
vErrors.push(err118);
}
errors++;
}
var _valid22 = _errs209 === errors;
valid62 = valid62 || _valid22;
}
if(!valid62){
const err119 = {instancePath:instancePath+"/claims_locales_supported",schemaPath:"#/properties/claims_locales_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err119];
}
else {
vErrors.push(err119);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs204;
if(vErrors !== null){
if(_errs204){
vErrors.length = _errs204;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs203 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.ui_locales_supported !== undefined){
let data51 = data.ui_locales_supported;
const _errs211 = errors;
const _errs212 = errors;
let valid64 = false;
const _errs213 = errors;
if(errors === _errs213){
if(Array.isArray(data51)){
var valid65 = true;
const len22 = data51.length;
for(let i22=0; i22<len22; i22++){
const _errs215 = errors;
if(typeof data51[i22] !== "string"){
const err120 = {instancePath:instancePath+"/ui_locales_supported/" + i22,schemaPath:"#/properties/ui_locales_supported/anyOf/0/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err120];
}
else {
vErrors.push(err120);
}
errors++;
}
var valid65 = _errs215 === errors;
if(!valid65){
break;
}
}
}
else {
const err121 = {instancePath:instancePath+"/ui_locales_supported",schemaPath:"#/properties/ui_locales_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err121];
}
else {
vErrors.push(err121);
}
errors++;
}
}
var _valid23 = _errs213 === errors;
valid64 = valid64 || _valid23;
if(!valid64){
const _errs217 = errors;
if(typeof data51 !== "string"){
const err122 = {instancePath:instancePath+"/ui_locales_supported",schemaPath:"#/properties/ui_locales_supported/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err122];
}
else {
vErrors.push(err122);
}
errors++;
}
var _valid23 = _errs217 === errors;
valid64 = valid64 || _valid23;
}
if(!valid64){
const err123 = {instancePath:instancePath+"/ui_locales_supported",schemaPath:"#/properties/ui_locales_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err123];
}
else {
vErrors.push(err123);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs212;
if(vErrors !== null){
if(_errs212){
vErrors.length = _errs212;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs211 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.claims_parameter_supported !== undefined){
const _errs219 = errors;
if(typeof data.claims_parameter_supported !== "boolean"){
validate41.errors = [{instancePath:instancePath+"/claims_parameter_supported",schemaPath:"#/properties/claims_parameter_supported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs219 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_parameter_supported !== undefined){
const _errs221 = errors;
if(typeof data.request_parameter_supported !== "boolean"){
validate41.errors = [{instancePath:instancePath+"/request_parameter_supported",schemaPath:"#/properties/request_parameter_supported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs221 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.request_uri_parameter_supported !== undefined){
const _errs223 = errors;
if(typeof data.request_uri_parameter_supported !== "boolean"){
validate41.errors = [{instancePath:instancePath+"/request_uri_parameter_supported",schemaPath:"#/properties/request_uri_parameter_supported/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs223 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.require_request_uri_registration !== undefined){
const _errs225 = errors;
if(typeof data.require_request_uri_registration !== "boolean"){
validate41.errors = [{instancePath:instancePath+"/require_request_uri_registration",schemaPath:"#/properties/require_request_uri_registration/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid0 = _errs225 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.op_policy_uri !== undefined){
const _errs227 = errors;
if(typeof data.op_policy_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/op_policy_uri",schemaPath:"#/properties/op_policy_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs227 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.op_tos_uri !== undefined){
const _errs229 = errors;
if(typeof data.op_tos_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/op_tos_uri",schemaPath:"#/properties/op_tos_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs229 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.redirect_uris !== undefined){
let data59 = data.redirect_uris;
const _errs231 = errors;
if(errors === _errs231){
if(Array.isArray(data59)){
var valid66 = true;
const len23 = data59.length;
for(let i23=0; i23<len23; i23++){
const _errs233 = errors;
if(typeof data59[i23] !== "string"){
validate41.errors = [{instancePath:instancePath+"/redirect_uris/" + i23,schemaPath:"#/properties/redirect_uris/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid66 = _errs233 === errors;
if(!valid66){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/redirect_uris",schemaPath:"#/properties/redirect_uris/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs231 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.token_endpoint_auth_method !== undefined){
const _errs235 = errors;
if(typeof data.token_endpoint_auth_method !== "string"){
validate41.errors = [{instancePath:instancePath+"/token_endpoint_auth_method",schemaPath:"#/properties/token_endpoint_auth_method/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs235 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.grant_types !== undefined){
const _errs237 = errors;
if(typeof data.grant_types !== "string"){
validate41.errors = [{instancePath:instancePath+"/grant_types",schemaPath:"#/properties/grant_types/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs237 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.response_types !== undefined){
const _errs239 = errors;
if(typeof data.response_types !== "string"){
validate41.errors = [{instancePath:instancePath+"/response_types",schemaPath:"#/properties/response_types/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs239 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_name !== undefined){
const _errs241 = errors;
if(typeof data.client_name !== "string"){
validate41.errors = [{instancePath:instancePath+"/client_name",schemaPath:"#/properties/client_name/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs241 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_uri !== undefined){
const _errs243 = errors;
if(typeof data.client_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/client_uri",schemaPath:"#/properties/client_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs243 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.logo_uri !== undefined){
const _errs245 = errors;
if(typeof data.logo_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/logo_uri",schemaPath:"#/properties/logo_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs245 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.scope !== undefined){
const _errs247 = errors;
if(typeof data.scope !== "string"){
validate41.errors = [{instancePath:instancePath+"/scope",schemaPath:"#/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs247 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.contacts !== undefined){
let data68 = data.contacts;
const _errs249 = errors;
if(errors === _errs249){
if(Array.isArray(data68)){
var valid67 = true;
const len24 = data68.length;
for(let i24=0; i24<len24; i24++){
const _errs251 = errors;
if(typeof data68[i24] !== "string"){
validate41.errors = [{instancePath:instancePath+"/contacts/" + i24,schemaPath:"#/properties/contacts/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid67 = _errs251 === errors;
if(!valid67){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/contacts",schemaPath:"#/properties/contacts/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs249 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.tos_uri !== undefined){
const _errs253 = errors;
if(typeof data.tos_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/tos_uri",schemaPath:"#/properties/tos_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs253 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.policy_uri !== undefined){
const _errs255 = errors;
if(typeof data.policy_uri !== "string"){
validate41.errors = [{instancePath:instancePath+"/policy_uri",schemaPath:"#/properties/policy_uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs255 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.jwks !== undefined){
let data72 = data.jwks;
const _errs257 = errors;
if(errors === _errs257){
if(data72 && typeof data72 == "object" && !Array.isArray(data72)){
let missing0;
if((data72.keys === undefined) && (missing0 = "keys")){
validate41.errors = [{instancePath:instancePath+"/jwks",schemaPath:"#/properties/jwks/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];
return false;
}
else {
const _errs259 = errors;
for(const key0 in data72){
if(!(key0 === "keys")){
validate41.errors = [{instancePath:instancePath+"/jwks",schemaPath:"#/properties/jwks/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs259 === errors){
if(data72.keys !== undefined){
let data73 = data72.keys;
const _errs260 = errors;
if(errors === _errs260){
if(Array.isArray(data73)){
var valid69 = true;
const len25 = data73.length;
for(let i25=0; i25<len25; i25++){
let data74 = data73[i25];
const _errs262 = errors;
if(errors === _errs262){
if(data74 && typeof data74 == "object" && !Array.isArray(data74)){
const _errs264 = errors;
for(const key1 in data74){
if(!(func2.call(schema83.properties.jwks.properties.keys.items.properties, key1))){
const _errs265 = errors;
var valid70 = _errs265 === errors;
if(!valid70){
break;
}
}
}
if(_errs264 === errors){
if(data74.kty !== undefined){
const _errs266 = errors;
if(typeof data74.kty !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/kty",schemaPath:"#/properties/jwks/properties/keys/items/properties/kty/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs266 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.crv !== undefined){
const _errs268 = errors;
if(typeof data74.crv !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/crv",schemaPath:"#/properties/jwks/properties/keys/items/properties/crv/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs268 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.x !== undefined){
const _errs270 = errors;
if(typeof data74.x !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x",schemaPath:"#/properties/jwks/properties/keys/items/properties/x/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs270 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.y !== undefined){
const _errs272 = errors;
if(typeof data74.y !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/y",schemaPath:"#/properties/jwks/properties/keys/items/properties/y/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs272 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.e !== undefined){
const _errs274 = errors;
if(typeof data74.e !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/e",schemaPath:"#/properties/jwks/properties/keys/items/properties/e/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs274 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.n !== undefined){
const _errs276 = errors;
if(typeof data74.n !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/n",schemaPath:"#/properties/jwks/properties/keys/items/properties/n/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs276 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.alg !== undefined){
const _errs278 = errors;
if(typeof data74.alg !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/alg",schemaPath:"#/properties/jwks/properties/keys/items/properties/alg/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs278 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.d !== undefined){
const _errs280 = errors;
if(typeof data74.d !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/d",schemaPath:"#/properties/jwks/properties/keys/items/properties/d/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs280 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.dp !== undefined){
const _errs282 = errors;
if(typeof data74.dp !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/dp",schemaPath:"#/properties/jwks/properties/keys/items/properties/dp/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs282 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.dq !== undefined){
const _errs284 = errors;
if(typeof data74.dq !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/dq",schemaPath:"#/properties/jwks/properties/keys/items/properties/dq/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs284 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.ext !== undefined){
const _errs286 = errors;
if(typeof data74.ext !== "boolean"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/ext",schemaPath:"#/properties/jwks/properties/keys/items/properties/ext/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
return false;
}
var valid71 = _errs286 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.k !== undefined){
const _errs288 = errors;
if(typeof data74.k !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/k",schemaPath:"#/properties/jwks/properties/keys/items/properties/k/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs288 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.key_ops !== undefined){
let data88 = data74.key_ops;
const _errs290 = errors;
if(errors === _errs290){
if(Array.isArray(data88)){
var valid72 = true;
const len26 = data88.length;
for(let i26=0; i26<len26; i26++){
const _errs292 = errors;
if(typeof data88[i26] !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/key_ops/" + i26,schemaPath:"#/properties/jwks/properties/keys/items/properties/key_ops/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid72 = _errs292 === errors;
if(!valid72){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/key_ops",schemaPath:"#/properties/jwks/properties/keys/items/properties/key_ops/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid71 = _errs290 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.kid !== undefined){
const _errs294 = errors;
if(typeof data74.kid !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/kid",schemaPath:"#/properties/jwks/properties/keys/items/properties/kid/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs294 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.oth !== undefined){
let data91 = data74.oth;
const _errs296 = errors;
if(errors === _errs296){
if(Array.isArray(data91)){
var valid73 = true;
const len27 = data91.length;
for(let i27=0; i27<len27; i27++){
let data92 = data91[i27];
const _errs298 = errors;
if(errors === _errs298){
if(data92 && typeof data92 == "object" && !Array.isArray(data92)){
const _errs300 = errors;
for(const key2 in data92){
if(!(((key2 === "d") || (key2 === "r")) || (key2 === "t"))){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth/" + i27,schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs300 === errors){
if(data92.d !== undefined){
const _errs301 = errors;
if(typeof data92.d !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth/" + i27+"/d",schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/items/properties/d/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid74 = _errs301 === errors;
}
else {
var valid74 = true;
}
if(valid74){
if(data92.r !== undefined){
const _errs303 = errors;
if(typeof data92.r !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth/" + i27+"/r",schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/items/properties/r/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid74 = _errs303 === errors;
}
else {
var valid74 = true;
}
if(valid74){
if(data92.t !== undefined){
const _errs305 = errors;
if(typeof data92.t !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth/" + i27+"/t",schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/items/properties/t/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid74 = _errs305 === errors;
}
else {
var valid74 = true;
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth/" + i27,schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid73 = _errs298 === errors;
if(!valid73){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/oth",schemaPath:"#/properties/jwks/properties/keys/items/properties/oth/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid71 = _errs296 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.p !== undefined){
const _errs307 = errors;
if(typeof data74.p !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/p",schemaPath:"#/properties/jwks/properties/keys/items/properties/p/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs307 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.q !== undefined){
const _errs309 = errors;
if(typeof data74.q !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/q",schemaPath:"#/properties/jwks/properties/keys/items/properties/q/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs309 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.qi !== undefined){
const _errs311 = errors;
if(typeof data74.qi !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/qi",schemaPath:"#/properties/jwks/properties/keys/items/properties/qi/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs311 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.use !== undefined){
const _errs313 = errors;
if(typeof data74.use !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/use",schemaPath:"#/properties/jwks/properties/keys/items/properties/use/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs313 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.x5c !== undefined){
let data100 = data74.x5c;
const _errs315 = errors;
if(errors === _errs315){
if(Array.isArray(data100)){
var valid75 = true;
const len28 = data100.length;
for(let i28=0; i28<len28; i28++){
const _errs317 = errors;
if(typeof data100[i28] !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x5c/" + i28,schemaPath:"#/properties/jwks/properties/keys/items/properties/x5c/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid75 = _errs317 === errors;
if(!valid75){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x5c",schemaPath:"#/properties/jwks/properties/keys/items/properties/x5c/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid71 = _errs315 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.x5t !== undefined){
const _errs319 = errors;
if(typeof data74.x5t !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x5t",schemaPath:"#/properties/jwks/properties/keys/items/properties/x5t/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs319 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74["x5t#S256"] !== undefined){
const _errs321 = errors;
if(typeof data74["x5t#S256"] !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x5t#S256",schemaPath:"#/properties/jwks/properties/keys/items/properties/x5t%23S256/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs321 === errors;
}
else {
var valid71 = true;
}
if(valid71){
if(data74.x5u !== undefined){
const _errs323 = errors;
if(typeof data74.x5u !== "string"){
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25+"/x5u",schemaPath:"#/properties/jwks/properties/keys/items/properties/x5u/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid71 = _errs323 === errors;
}
else {
var valid71 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys/" + i25,schemaPath:"#/properties/jwks/properties/keys/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid69 = _errs262 === errors;
if(!valid69){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks/keys",schemaPath:"#/properties/jwks/properties/keys/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/jwks",schemaPath:"#/properties/jwks/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid0 = _errs257 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.software_id !== undefined){
const _errs325 = errors;
if(typeof data.software_id !== "string"){
validate41.errors = [{instancePath:instancePath+"/software_id",schemaPath:"#/properties/software_id/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs325 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.software_version !== undefined){
const _errs327 = errors;
if(typeof data.software_version !== "string"){
validate41.errors = [{instancePath:instancePath+"/software_version",schemaPath:"#/properties/software_version/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid0 = _errs327 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.vp_formats_supported !== undefined){
let data107 = data.vp_formats_supported;
const _errs329 = errors;
if(errors === _errs329){
if(data107 && typeof data107 == "object" && !Array.isArray(data107)){
const _errs331 = errors;
for(const key3 in data107){
if(!(func2.call(schema83.properties.vp_formats_supported.properties, key3))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs331 === errors){
if(data107.jwt !== undefined){
let data108 = data107.jwt;
const _errs332 = errors;
if(errors === _errs332){
if(data108 && typeof data108 == "object" && !Array.isArray(data108)){
let missing1;
if((data108.alg_values === undefined) && (missing1 = "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];
return false;
}
else {
const _errs334 = errors;
for(const key4 in data108){
if(!(key4 === "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs334 === errors){
if(data108.alg_values !== undefined){
let data109 = data108.alg_values;
const _errs335 = errors;
if(errors === _errs335){
if(Array.isArray(data109)){
var valid78 = true;
const len29 = data109.length;
for(let i29=0; i29<len29; i29++){
const _errs337 = errors;
if(typeof data109[i29] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values/" + i29,schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid78 = _errs337 === errors;
if(!valid78){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt",schemaPath:"#/properties/vp_formats_supported/properties/jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs332 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.jwt_vc !== undefined){
let data111 = data107.jwt_vc;
const _errs339 = errors;
if(errors === _errs339){
if(data111 && typeof data111 == "object" && !Array.isArray(data111)){
let missing2;
if((data111.alg_values === undefined) && (missing2 = "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];
return false;
}
else {
const _errs341 = errors;
for(const key5 in data111){
if(!(key5 === "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs341 === errors){
if(data111.alg_values !== undefined){
let data112 = data111.alg_values;
const _errs342 = errors;
if(errors === _errs342){
if(Array.isArray(data112)){
var valid80 = true;
const len30 = data112.length;
for(let i30=0; i30<len30; i30++){
const _errs344 = errors;
if(typeof data112[i30] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values/" + i30,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid80 = _errs344 === errors;
if(!valid80){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs339 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.jwt_vc_json !== undefined){
let data114 = data107.jwt_vc_json;
const _errs346 = errors;
if(errors === _errs346){
if(data114 && typeof data114 == "object" && !Array.isArray(data114)){
let missing3;
if((data114.alg_values === undefined) && (missing3 = "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];
return false;
}
else {
const _errs348 = errors;
for(const key6 in data114){
if(!(key6 === "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs348 === errors){
if(data114.alg_values !== undefined){
let data115 = data114.alg_values;
const _errs349 = errors;
if(errors === _errs349){
if(Array.isArray(data115)){
var valid82 = true;
const len31 = data115.length;
for(let i31=0; i31<len31; i31++){
const _errs351 = errors;
if(typeof data115[i31] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values/" + i31,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid82 = _errs351 === errors;
if(!valid82){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vc_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vc_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs346 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.jwt_vp !== undefined){
let data117 = data107.jwt_vp;
const _errs353 = errors;
if(errors === _errs353){
if(data117 && typeof data117 == "object" && !Array.isArray(data117)){
let missing4;
if((data117.alg_values === undefined) && (missing4 = "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];
return false;
}
else {
const _errs355 = errors;
for(const key7 in data117){
if(!(key7 === "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs355 === errors){
if(data117.alg_values !== undefined){
let data118 = data117.alg_values;
const _errs356 = errors;
if(errors === _errs356){
if(Array.isArray(data118)){
var valid84 = true;
const len32 = data118.length;
for(let i32=0; i32<len32; i32++){
const _errs358 = errors;
if(typeof data118[i32] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values/" + i32,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid84 = _errs358 === errors;
if(!valid84){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs353 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.jwt_vp_json !== undefined){
let data120 = data107.jwt_vp_json;
const _errs360 = errors;
if(errors === _errs360){
if(data120 && typeof data120 == "object" && !Array.isArray(data120)){
let missing5;
if((data120.alg_values === undefined) && (missing5 = "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];
return false;
}
else {
const _errs362 = errors;
for(const key8 in data120){
if(!(key8 === "alg_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs362 === errors){
if(data120.alg_values !== undefined){
let data121 = data120.alg_values;
const _errs363 = errors;
if(errors === _errs363){
if(Array.isArray(data121)){
var valid86 = true;
const len33 = data121.length;
for(let i33=0; i33<len33; i33++){
const _errs365 = errors;
if(typeof data121[i33] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values/" + i33,schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid86 = _errs365 === errors;
if(!valid86){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json/alg_values",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/properties/alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/jwt_vp_json",schemaPath:"#/properties/vp_formats_supported/properties/jwt_vp_json/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs360 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.ldp !== undefined){
let data123 = data107.ldp;
const _errs367 = errors;
if(errors === _errs367){
if(data123 && typeof data123 == "object" && !Array.isArray(data123)){
let missing6;
if((data123.proof_type_values === undefined) && (missing6 = "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];
return false;
}
else {
const _errs369 = errors;
for(const key9 in data123){
if(!(key9 === "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs369 === errors){
if(data123.proof_type_values !== undefined){
let data124 = data123.proof_type_values;
const _errs370 = errors;
if(errors === _errs370){
if(Array.isArray(data124)){
var valid88 = true;
const len34 = data124.length;
for(let i34=0; i34<len34; i34++){
const _errs372 = errors;
if(typeof data124[i34] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values/" + i34,schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid88 = _errs372 === errors;
if(!valid88){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp",schemaPath:"#/properties/vp_formats_supported/properties/ldp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs367 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.ldp_vc !== undefined){
let data126 = data107.ldp_vc;
const _errs374 = errors;
if(errors === _errs374){
if(data126 && typeof data126 == "object" && !Array.isArray(data126)){
let missing7;
if((data126.proof_type_values === undefined) && (missing7 = "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];
return false;
}
else {
const _errs376 = errors;
for(const key10 in data126){
if(!(key10 === "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs376 === errors){
if(data126.proof_type_values !== undefined){
let data127 = data126.proof_type_values;
const _errs377 = errors;
if(errors === _errs377){
if(Array.isArray(data127)){
var valid90 = true;
const len35 = data127.length;
for(let i35=0; i35<len35; i35++){
const _errs379 = errors;
if(typeof data127[i35] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values/" + i35,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid90 = _errs379 === errors;
if(!valid90){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vc",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs374 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.ldp_vp !== undefined){
let data129 = data107.ldp_vp;
const _errs381 = errors;
if(errors === _errs381){
if(data129 && typeof data129 == "object" && !Array.isArray(data129)){
let missing8;
if((data129.proof_type_values === undefined) && (missing8 = "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];
return false;
}
else {
const _errs383 = errors;
for(const key11 in data129){
if(!(key11 === "proof_type_values")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key11},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs383 === errors){
if(data129.proof_type_values !== undefined){
let data130 = data129.proof_type_values;
const _errs384 = errors;
if(errors === _errs384){
if(Array.isArray(data130)){
var valid92 = true;
const len36 = data130.length;
for(let i36=0; i36<len36; i36++){
const _errs386 = errors;
if(typeof data130[i36] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values/" + i36,schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid92 = _errs386 === errors;
if(!valid92){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/ldp_vp",schemaPath:"#/properties/vp_formats_supported/properties/ldp_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs381 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.di !== undefined){
let data132 = data107.di;
const _errs388 = errors;
if(errors === _errs388){
if(data132 && typeof data132 == "object" && !Array.isArray(data132)){
let missing9;
if(((data132.proof_type_values === undefined) && (missing9 = "proof_type_values")) || ((data132.cryptosuite === undefined) && (missing9 = "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];
return false;
}
else {
const _errs390 = errors;
for(const key12 in data132){
if(!((key12 === "proof_type_values") || (key12 === "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key12},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs390 === errors){
if(data132.proof_type_values !== undefined){
let data133 = data132.proof_type_values;
const _errs391 = errors;
if(errors === _errs391){
if(Array.isArray(data133)){
var valid94 = true;
const len37 = data133.length;
for(let i37=0; i37<len37; i37++){
const _errs393 = errors;
if(typeof data133[i37] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values/" + i37,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid94 = _errs393 === errors;
if(!valid94){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid93 = _errs391 === errors;
}
else {
var valid93 = true;
}
if(valid93){
if(data132.cryptosuite !== undefined){
let data135 = data132.cryptosuite;
const _errs395 = errors;
if(errors === _errs395){
if(Array.isArray(data135)){
var valid95 = true;
const len38 = data135.length;
for(let i38=0; i38<len38; i38++){
const _errs397 = errors;
if(typeof data135[i38] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite/" + i38,schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid95 = _errs397 === errors;
if(!valid95){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid93 = _errs395 === errors;
}
else {
var valid93 = true;
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di",schemaPath:"#/properties/vp_formats_supported/properties/di/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs388 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.di_vc !== undefined){
let data137 = data107.di_vc;
const _errs399 = errors;
if(errors === _errs399){
if(data137 && typeof data137 == "object" && !Array.isArray(data137)){
let missing10;
if(((data137.proof_type_values === undefined) && (missing10 = "proof_type_values")) || ((data137.cryptosuite === undefined) && (missing10 = "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];
return false;
}
else {
const _errs401 = errors;
for(const key13 in data137){
if(!((key13 === "proof_type_values") || (key13 === "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key13},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs401 === errors){
if(data137.proof_type_values !== undefined){
let data138 = data137.proof_type_values;
const _errs402 = errors;
if(errors === _errs402){
if(Array.isArray(data138)){
var valid97 = true;
const len39 = data138.length;
for(let i39=0; i39<len39; i39++){
const _errs404 = errors;
if(typeof data138[i39] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values/" + i39,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid97 = _errs404 === errors;
if(!valid97){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid96 = _errs402 === errors;
}
else {
var valid96 = true;
}
if(valid96){
if(data137.cryptosuite !== undefined){
let data140 = data137.cryptosuite;
const _errs406 = errors;
if(errors === _errs406){
if(Array.isArray(data140)){
var valid98 = true;
const len40 = data140.length;
for(let i40=0; i40<len40; i40++){
const _errs408 = errors;
if(typeof data140[i40] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite/" + i40,schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid98 = _errs408 === errors;
if(!valid98){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid96 = _errs406 === errors;
}
else {
var valid96 = true;
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vc",schemaPath:"#/properties/vp_formats_supported/properties/di_vc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs399 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.di_vp !== undefined){
let data142 = data107.di_vp;
const _errs410 = errors;
if(errors === _errs410){
if(data142 && typeof data142 == "object" && !Array.isArray(data142)){
let missing11;
if(((data142.proof_type_values === undefined) && (missing11 = "proof_type_values")) || ((data142.cryptosuite === undefined) && (missing11 = "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/required",keyword:"required",params:{missingProperty: missing11},message:"must have required property '"+missing11+"'"}];
return false;
}
else {
const _errs412 = errors;
for(const key14 in data142){
if(!((key14 === "proof_type_values") || (key14 === "cryptosuite"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key14},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs412 === errors){
if(data142.proof_type_values !== undefined){
let data143 = data142.proof_type_values;
const _errs413 = errors;
if(errors === _errs413){
if(Array.isArray(data143)){
var valid100 = true;
const len41 = data143.length;
for(let i41=0; i41<len41; i41++){
const _errs415 = errors;
if(typeof data143[i41] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values/" + i41,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid100 = _errs415 === errors;
if(!valid100){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/proof_type_values",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/proof_type_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid99 = _errs413 === errors;
}
else {
var valid99 = true;
}
if(valid99){
if(data142.cryptosuite !== undefined){
let data145 = data142.cryptosuite;
const _errs417 = errors;
if(errors === _errs417){
if(Array.isArray(data145)){
var valid101 = true;
const len42 = data145.length;
for(let i42=0; i42<len42; i42++){
const _errs419 = errors;
if(typeof data145[i42] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite/" + i42,schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid101 = _errs419 === errors;
if(!valid101){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp/cryptosuite",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/properties/cryptosuite/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid99 = _errs417 === errors;
}
else {
var valid99 = true;
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/di_vp",schemaPath:"#/properties/vp_formats_supported/properties/di_vp/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs410 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107["vc+sd-jwt"] !== undefined){
let data147 = data107["vc+sd-jwt"];
const _errs421 = errors;
if(errors === _errs421){
if(data147 && typeof data147 == "object" && !Array.isArray(data147)){
const _errs423 = errors;
for(const key15 in data147){
if(!((key15 === "sd-jwt_alg_values") || (key15 === "kb-jwt_alg_values"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key15},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs423 === errors){
if(data147["sd-jwt_alg_values"] !== undefined){
let data148 = data147["sd-jwt_alg_values"];
const _errs424 = errors;
if(errors === _errs424){
if(Array.isArray(data148)){
var valid103 = true;
const len43 = data148.length;
for(let i43=0; i43<len43; i43++){
const _errs426 = errors;
if(typeof data148[i43] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values/" + i43,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid103 = _errs426 === errors;
if(!valid103){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid102 = _errs424 === errors;
}
else {
var valid102 = true;
}
if(valid102){
if(data147["kb-jwt_alg_values"] !== undefined){
let data150 = data147["kb-jwt_alg_values"];
const _errs428 = errors;
if(errors === _errs428){
if(Array.isArray(data150)){
var valid104 = true;
const len44 = data150.length;
for(let i44=0; i44<len44; i44++){
const _errs430 = errors;
if(typeof data150[i44] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values/" + i44,schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid104 = _errs430 === errors;
if(!valid104){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid102 = _errs428 === errors;
}
else {
var valid102 = true;
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/vc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/vc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs421 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107["dc+sd-jwt"] !== undefined){
let data152 = data107["dc+sd-jwt"];
const _errs432 = errors;
if(errors === _errs432){
if(data152 && typeof data152 == "object" && !Array.isArray(data152)){
const _errs434 = errors;
for(const key16 in data152){
if(!((key16 === "sd-jwt_alg_values") || (key16 === "kb-jwt_alg_values"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key16},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs434 === errors){
if(data152["sd-jwt_alg_values"] !== undefined){
let data153 = data152["sd-jwt_alg_values"];
const _errs435 = errors;
if(errors === _errs435){
if(Array.isArray(data153)){
var valid106 = true;
const len45 = data153.length;
for(let i45=0; i45<len45; i45++){
const _errs437 = errors;
if(typeof data153[i45] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values/" + i45,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid106 = _errs437 === errors;
if(!valid106){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/sd-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/sd-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid105 = _errs435 === errors;
}
else {
var valid105 = true;
}
if(valid105){
if(data152["kb-jwt_alg_values"] !== undefined){
let data155 = data152["kb-jwt_alg_values"];
const _errs439 = errors;
if(errors === _errs439){
if(Array.isArray(data155)){
var valid107 = true;
const len46 = data155.length;
for(let i46=0; i46<len46; i46++){
const _errs441 = errors;
if(typeof data155[i46] !== "string"){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values/" + i46,schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid107 = _errs441 === errors;
if(!valid107){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt/kb-jwt_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/properties/kb-jwt_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid105 = _errs439 === errors;
}
else {
var valid105 = true;
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/dc+sd-jwt",schemaPath:"#/properties/vp_formats_supported/properties/dc%2Bsd-jwt/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs432 === errors;
}
else {
var valid76 = true;
}
if(valid76){
if(data107.mso_mdoc !== undefined){
let data157 = data107.mso_mdoc;
const _errs443 = errors;
if(errors === _errs443){
if(data157 && typeof data157 == "object" && !Array.isArray(data157)){
const _errs445 = errors;
for(const key17 in data157){
if(!((key17 === "issuerauth_alg_values") || (key17 === "deviceauth_alg_values"))){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key17},message:"must NOT have additional properties"}];
return false;
}
}
if(_errs445 === errors){
if(data157.issuerauth_alg_values !== undefined){
let data158 = data157.issuerauth_alg_values;
const _errs446 = errors;
if(errors === _errs446){
if(Array.isArray(data158)){
var valid109 = true;
const len47 = data158.length;
for(let i47=0; i47<len47; i47++){
const _errs448 = errors;
if(!(typeof data158[i47] == "number")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values/" + i47,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid109 = _errs448 === errors;
if(!valid109){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/issuerauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/issuerauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid108 = _errs446 === errors;
}
else {
var valid108 = true;
}
if(valid108){
if(data157.deviceauth_alg_values !== undefined){
let data160 = data157.deviceauth_alg_values;
const _errs450 = errors;
if(errors === _errs450){
if(Array.isArray(data160)){
var valid110 = true;
const len48 = data160.length;
for(let i48=0; i48<len48; i48++){
const _errs452 = errors;
if(!(typeof data160[i48] == "number")){
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values/" + i48,schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/items/type",keyword:"type",params:{type: "number"},message:"must be number"}];
return false;
}
var valid110 = _errs452 === errors;
if(!valid110){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc/deviceauth_alg_values",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/properties/deviceauth_alg_values/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid108 = _errs450 === errors;
}
else {
var valid108 = true;
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported/mso_mdoc",schemaPath:"#/properties/vp_formats_supported/properties/mso_mdoc/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid76 = _errs443 === errors;
}
else {
var valid76 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/vp_formats_supported",schemaPath:"#/properties/vp_formats_supported/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
var valid0 = _errs329 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.id_token_types_supported !== undefined){
let data162 = data.id_token_types_supported;
const _errs454 = errors;
const _errs455 = errors;
let valid111 = false;
const _errs456 = errors;
if(errors === _errs456){
if(Array.isArray(data162)){
var valid112 = true;
const len49 = data162.length;
for(let i49=0; i49<len49; i49++){
let data163 = data162[i49];
const _errs458 = errors;
if(typeof data163 !== "string"){
const err124 = {instancePath:instancePath+"/id_token_types_supported/" + i49,schemaPath:"#/definitions/IdTokenType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err124];
}
else {
vErrors.push(err124);
}
errors++;
}
if(!((data163 === "subject_signed") || (data163 === "attester_signed"))){
const err125 = {instancePath:instancePath+"/id_token_types_supported/" + i49,schemaPath:"#/definitions/IdTokenType/enum",keyword:"enum",params:{allowedValues: schema102.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err125];
}
else {
vErrors.push(err125);
}
errors++;
}
var valid112 = _errs458 === errors;
if(!valid112){
break;
}
}
}
else {
const err126 = {instancePath:instancePath+"/id_token_types_supported",schemaPath:"#/properties/id_token_types_supported/anyOf/0/type",keyword:"type",params:{type: "array"},message:"must be array"};
if(vErrors === null){
vErrors = [err126];
}
else {
vErrors.push(err126);
}
errors++;
}
}
var _valid24 = _errs456 === errors;
valid111 = valid111 || _valid24;
if(!valid111){
const _errs461 = errors;
if(typeof data162 !== "string"){
const err127 = {instancePath:instancePath+"/id_token_types_supported",schemaPath:"#/definitions/IdTokenType/type",keyword:"type",params:{type: "string"},message:"must be string"};
if(vErrors === null){
vErrors = [err127];
}
else {
vErrors.push(err127);
}
errors++;
}
if(!((data162 === "subject_signed") || (data162 === "attester_signed"))){
const err128 = {instancePath:instancePath+"/id_token_types_supported",schemaPath:"#/definitions/IdTokenType/enum",keyword:"enum",params:{allowedValues: schema102.enum},message:"must be equal to one of the allowed values"};
if(vErrors === null){
vErrors = [err128];
}
else {
vErrors.push(err128);
}
errors++;
}
var _valid24 = _errs461 === errors;
valid111 = valid111 || _valid24;
}
if(!valid111){
const err129 = {instancePath:instancePath+"/id_token_types_supported",schemaPath:"#/properties/id_token_types_supported/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};
if(vErrors === null){
vErrors = [err129];
}
else {
vErrors.push(err129);
}
errors++;
validate41.errors = vErrors;
return false;
}
else {
errors = _errs455;
if(vErrors !== null){
if(_errs455){
vErrors.length = _errs455;
}
else {
vErrors = null;
}
}
}
var valid0 = _errs454 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.encrypted_response_enc_values_supported !== undefined){
let data164 = data.encrypted_response_enc_values_supported;
const _errs464 = errors;
if(errors === _errs464){
if(Array.isArray(data164)){
var valid115 = true;
const len50 = data164.length;
for(let i50=0; i50<len50; i50++){
const _errs466 = errors;
if(typeof data164[i50] !== "string"){
validate41.errors = [{instancePath:instancePath+"/encrypted_response_enc_values_supported/" + i50,schemaPath:"#/properties/encrypted_response_enc_values_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid115 = _errs466 === errors;
if(!valid115){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/encrypted_response_enc_values_supported",schemaPath:"#/properties/encrypted_response_enc_values_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs464 === errors;
}
else {
var valid0 = true;
}
if(valid0){
if(data.client_id_prefixes_supported !== undefined){
let data166 = data.client_id_prefixes_supported;
const _errs468 = errors;
if(errors === _errs468){
if(Array.isArray(data166)){
var valid116 = true;
const len51 = data166.length;
for(let i51=0; i51<len51; i51++){
const _errs470 = errors;
if(typeof data166[i51] !== "string"){
validate41.errors = [{instancePath:instancePath+"/client_id_prefixes_supported/" + i51,schemaPath:"#/properties/client_id_prefixes_supported/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];
return false;
}
var valid116 = _errs470 === errors;
if(!valid116){
break;
}
}
}
else {
validate41.errors = [{instancePath:instancePath+"/client_id_prefixes_supported",schemaPath:"#/properties/client_id_prefixes_supported/type",keyword:"type",params:{type: "array"},message:"must be array"}];
return false;
}
}
var valid0 = _errs468 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
else {
validate41.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
return false;
}
}
validate41.errors = vErrors;
return errors === 0;
}


function validate40(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){
let vErrors = null;
let errors = 0;
if(!(validate41(data, {instancePath,parentData,parentDataProperty,rootData}))){
vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);
errors = vErrors.length;
}
validate40.errors = vErrors;
return errors === 0;
}

declare const AuthorizationStatusSchema: z.ZodEnum<{
    authorization_request_created: AuthorizationRequestStateStatus.CREATED;
    authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
    authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
    authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
}>;
declare const VerifiedDataModeSchema: z.ZodEnum<{
    authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
    credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
    vp_token: VerifiedDataMode.VP_TOKEN;
}>;
declare const VerifiedDataOptsSchema: z.ZodObject<{
    modes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
        credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
        vp_token: VerifiedDataMode.VP_TOKEN;
    }>>>;
}, z.core.$strip>;
declare const ResponseTypeSchema: z.ZodEnum<{
    vp_token: ResponseType.VP_TOKEN;
}>;
declare const ResponseModeSchema: z.ZodEnum<{
    direct_post: ResponseMode.DIRECT_POST;
    "direct_post.jwt": ResponseMode.DIRECT_POST_JWT;
}>;
declare const RequestUriMethodSchema: z.ZodEnum<{
    get: "get";
    post: "post";
}>;
declare const QRCodeOptsSchema: z.ZodObject<{
    size: z.ZodOptional<z.ZodNumber>;
    colorDark: z.ZodOptional<z.ZodString>;
    colorLight: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const CallbackOptsSchema: z.ZodObject<{
    url: z.ZodString;
    verifiedData: z.ZodOptional<z.ZodObject<{
        modes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
            credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
            vp_token: VerifiedDataMode.VP_TOKEN;
        }>>>;
    }, z.core.$strip>>;
    status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        authorization_request_created: AuthorizationRequestStateStatus.CREATED;
        authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
        authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
        authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
    }>>>;
}, z.core.$strip>;
declare const CreateAuthorizationRequestSchema: z.ZodObject<{
    queryId: z.ZodString;
    clientId: z.ZodOptional<z.ZodString>;
    requestUriBase: z.ZodOptional<z.ZodString>;
    correlationId: z.ZodOptional<z.ZodString>;
    requestUriMethod: z.ZodOptional<z.ZodEnum<{
        get: "get";
        post: "post";
    }>>;
    responseType: z.ZodOptional<z.ZodEnum<{
        vp_token: ResponseType.VP_TOKEN;
    }>>;
    responseMode: z.ZodOptional<z.ZodEnum<{
        direct_post: ResponseMode.DIRECT_POST;
        "direct_post.jwt": ResponseMode.DIRECT_POST_JWT;
    }>>;
    transactionData: z.ZodOptional<z.ZodArray<z.ZodString>>;
    qrCode: z.ZodOptional<z.ZodObject<{
        size: z.ZodOptional<z.ZodNumber>;
        colorDark: z.ZodOptional<z.ZodString>;
        colorLight: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    directPostResponseRedirectUri: z.ZodOptional<z.ZodString>;
    callback: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
        verifiedData: z.ZodOptional<z.ZodObject<{
            modes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
                credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
                vp_token: VerifiedDataMode.VP_TOKEN;
            }>>>;
        }, z.core.$strip>>;
        status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            authorization_request_created: AuthorizationRequestStateStatus.CREATED;
            authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
            authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
            authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
        }>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const CreateAuthorizationResponseSchema: z.ZodObject<{
    correlationId: z.ZodString;
    queryId: z.ZodString;
    requestUri: z.ZodString;
    statusUri: z.ZodString;
    qrUri: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const QRCodeOptsPayloadSchema: z.ZodObject<{
    size: z.ZodOptional<z.ZodNumber>;
    color_dark: z.ZodOptional<z.ZodString>;
    color_light: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const CallbackOptsPayloadSchema: z.ZodObject<{
    url: z.ZodString;
    verified_data: z.ZodOptional<z.ZodObject<{
        modes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
            credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
            vp_token: VerifiedDataMode.VP_TOKEN;
        }>>>;
    }, z.core.$strip>>;
    status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        authorization_request_created: AuthorizationRequestStateStatus.CREATED;
        authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
        authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
        authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
    }>>>;
}, z.core.$strip>;
declare const CreateAuthorizationRequestPayloadSchema: z.ZodObject<{
    query_id: z.ZodString;
    client_id: z.ZodOptional<z.ZodString>;
    request_uri_base: z.ZodOptional<z.ZodString>;
    correlation_id: z.ZodOptional<z.ZodString>;
    request_uri_method: z.ZodOptional<z.ZodEnum<{
        get: "get";
        post: "post";
    }>>;
    response_type: z.ZodOptional<z.ZodEnum<{
        vp_token: ResponseType.VP_TOKEN;
    }>>;
    response_mode: z.ZodOptional<z.ZodEnum<{
        direct_post: ResponseMode.DIRECT_POST;
        "direct_post.jwt": ResponseMode.DIRECT_POST_JWT;
    }>>;
    transaction_data: z.ZodOptional<z.ZodArray<z.ZodString>>;
    qr_code: z.ZodOptional<z.ZodObject<{
        size: z.ZodOptional<z.ZodNumber>;
        color_dark: z.ZodOptional<z.ZodString>;
        color_light: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    direct_post_response_redirect_uri: z.ZodOptional<z.ZodString>;
    callback: z.ZodOptional<z.ZodObject<{
        url: z.ZodString;
        verified_data: z.ZodOptional<z.ZodObject<{
            modes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                authorization_response: VerifiedDataMode.AUTHORIZATION_RESPONSE;
                credential_claims_deserialized: VerifiedDataMode.CREDENTIAL_CLAIMS_DESERIALIZED;
                vp_token: VerifiedDataMode.VP_TOKEN;
            }>>>;
        }, z.core.$strip>>;
        status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            authorization_request_created: AuthorizationRequestStateStatus.CREATED;
            authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
            authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
            authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
        }>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const CreateAuthorizationResponsePayloadSchema: z.ZodObject<{
    correlation_id: z.ZodString;
    query_id: z.ZodString;
    request_uri: z.ZodString;
    status_uri: z.ZodString;
    qr_uri: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const qrCodeOptsFromPayload: (payload: QRCodeOptsPayload) => QRCodeOpts;
declare const qrCodeOptsToPayload: (internal: QRCodeOpts) => QRCodeOptsPayload;
declare const callbackOptsFromPayload: (payload: CallbackOptsPayload) => CallbackOpts;
declare const callbackOptsToPayload: (internal: CallbackOpts) => CallbackOptsPayload;
declare const createAuthorizationRequestFromPayload: (payload: CreateAuthorizationRequestPayload) => CreateAuthorizationRequest;
declare const createAuthorizationRequestToPayload: (internal: CreateAuthorizationRequest) => CreateAuthorizationRequestPayload;
declare const createAuthorizationResponseFromPayload: (payload: CreateAuthorizationResponsePayload) => CreateAuthorizationResponse;
declare const createAuthorizationResponseToPayload: (internal: CreateAuthorizationResponse) => CreateAuthorizationResponsePayload;
declare const RequestErrorSchema: z.ZodObject<{
    status: z.ZodNumber;
    message: z.ZodString;
    errorDetails: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const AuthStatusResponseSchema: z.ZodObject<{
    status: z.ZodEnum<{
        authorization_request_created: AuthorizationRequestStateStatus.CREATED;
        authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
        authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
        authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
    }>;
    correlationId: z.ZodString;
    queryId: z.ZodString;
    lastUpdated: z.ZodNumber;
    verifiedData: z.ZodOptional<z.ZodAny>;
    error: z.ZodOptional<z.ZodObject<{
        status: z.ZodNumber;
        message: z.ZodString;
        errorDetails: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const RequestErrorPayloadSchema: z.ZodObject<{
    status: z.ZodNumber;
    message: z.ZodString;
    error_details: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const AuthStatusResponsePayloadSchema: z.ZodObject<{
    status: z.ZodEnum<{
        authorization_request_created: AuthorizationRequestStateStatus.CREATED;
        authorization_request_retrieved: AuthorizationRequestStateStatus.RETRIEVED;
        authorization_response_received: AuthorizationResponseStateStatus.RECEIVED;
        authorization_response_verified: AuthorizationResponseStateStatus.VERIFIED;
    }>;
    correlation_id: z.ZodString;
    query_id: z.ZodString;
    last_updated: z.ZodNumber;
    verified_data: z.ZodOptional<z.ZodAny>;
    error: z.ZodOptional<z.ZodObject<{
        status: z.ZodNumber;
        message: z.ZodString;
        error_details: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const requestErrorFromPayload: (payload: RequestError) => RequestError;
declare const requestErrorToPayload: (internal: RequestError) => RequestErrorPayload;
declare const authStatusResponseFromPayload: (payload: AuthStatusResponse) => AuthStatusResponse;
declare const authStatusResponseToPayload: (internal: AuthStatusResponse) => AuthStatusResponsePayload;

type Json = string | number | boolean | null | {
    [key: string]: Json;
} | Json[];

declare const DEFAULT_EXPIRATION_TIME: number;
interface RequestObjectPayload extends RequestCommonPayload, JWTPayload {
    scope: string;
    response_type: ResponseType | string;
    client_id: string;
    entity_id?: string;
    client_metadata: ClientMetadataOpts;
    redirect_uri?: string;
    response_uri?: string;
    nonce: string;
    state: string;
    dcql_query?: Record<string, any>;
}
type RequestObjectJwt = string;
interface AuthorizationRequestCommonPayload extends RequestCommonPayload, JWTPayload {
    request?: string;
    request_uri?: string;
}
type RequestUriMethod = 'get' | 'post';
declare enum ClientIdentifierPrefix {
    REDIRECT_URI = "redirect_uri",
    OPENID_FEDERATION = "openid_federation",
    DECENTRALIZED_IDENTIFIER = "decentralized_identifier",
    VERIFIER_ATTESTATION = "verifier_attestation",
    X509_SAN_DNS = "x509_san_dns",
    X509_HASH = "x509_hash",
    ORIGIN = "origin"
}
interface RequestCommonPayload extends JWTPayload {
    scope?: string;
    response_type?: ResponseType | string;
    client_id?: string;
    redirect_uri?: string;
    id_token_hint?: string;
    nonce?: string;
    state?: string;
    response_mode?: ResponseMode;
}
interface AuthorizationRequestPayloadD28 extends AuthorizationRequestCommonPayload, RequestClientMetadataPayloadProperties, RequestIdTokenPayloadProperties {
    claims?: ClaimPayloadCommon;
    response_uri?: string;
    dcql_query?: Record<string, any>;
    transaction_data?: string[];
    verifier_attestations?: RelyingPartyAttestation[];
}
interface AuthorizationRequestPayloadV1 extends AuthorizationRequestCommonPayload, RequestClientMetadataPayloadProperties, RequestIdTokenPayloadProperties {
    claims?: ClaimPayloadCommon;
    response_uri?: string;
    dcql_query?: Record<string, any>;
    request_uri_method?: RequestUriMethod;
    transaction_data?: string[];
    verifier_info?: RelyingPartyAttestation[];
}
type RelyingPartyAttestation = {
    format: string;
    data: string;
    credential_ids?: string[];
};
type TransactionData = {
    type: string;
    credential_ids: string[];
    [x: string]: any;
};
type AuthorizationRequestPayload = AuthorizationRequestPayloadV1 | AuthorizationRequestPayloadD28;
interface RequestIdTokenPayloadProperties {
    id_token_type?: string;
}
interface RequestClientMetadataPayloadProperties {
    client_metadata?: RPRegistrationMetadataPayload;
}
interface RequestRegistrationPayloadProperties {
    registration?: RPRegistrationMetadataPayload;
    registration_uri?: string;
}
type ResponseURIType = 'response_uri' | 'redirect_uri';
interface VerifiedAuthorizationRequest extends Partial<VerifiedJWT> {
    responseURIType: ResponseURIType;
    responseURI?: string;
    correlationId: string;
    authorizationRequest: AuthorizationRequest;
    authorizationRequestPayload: AuthorizationRequestPayload;
    requestObject?: RequestObject;
    registrationMetadataPayload: RPRegistrationMetadataPayload;
    dcqlQuery: DcqlQuery;
    verifyOpts: VerifyAuthorizationRequestOpts;
    versions: SupportedVersion[];
}
type IDTokenJwt = string;
interface IDTokenPayload extends JWTPayload {
    iss?: ResponseIss.SELF_ISSUED_V2 | string;
    sub?: string;
    aud?: string;
    iat?: number;
    exp?: number;
    auth_time?: number;
    nonce?: string;
    _vp_token?: {
        dqcl_query?: string;
    };
}
type NonEmptyArray<T> = [T, ...T[]];
type DcqlPresentationEntry = string | Record<string, Json>;
type DcqlVpToken = Record<string, NonEmptyArray<DcqlPresentationEntry>>;
type DcqlVpTokenInput = Record<string, DcqlPresentationEntry | DcqlPresentationEntry[] | Record<string, DcqlPresentationEntry>>;
type EncodedDcqlPresentationVpToken = string | DcqlVpToken;
interface AuthorizationResponsePayload {
    access_token?: string;
    token_type?: string;
    refresh_token?: string;
    expires_in?: number;
    state?: string;
    id_token?: string;
    vp_token?: EncodedDcqlPresentationVpToken;
    is_first_party?: boolean;
    [x: string]: any;
}
interface IdTokenClaimPayload {
    [x: string]: any;
}
interface VpTokenClaimPayload {
    dcql_query?: Record<string, any>;
}
interface ClaimPayloadCommon {
    [x: string]: any;
}
interface ClaimPayload extends ClaimPayloadCommon {
    id_token?: IdTokenClaimPayload;
    vp_token?: VpTokenClaimPayload;
}
/**
 * A wrapper for verifiablePresentation
 *
 */
interface VerifiablePresentationWithFormat {
    format: VerifiablePresentationTypeFormat;
    presentation: W3CVerifiablePresentation;
}
interface RequestStateInfo {
    client_id: string;
    nonce?: string;
    state?: string;
    iat?: number;
}
interface DiscoveryMetadataCommonOpts {
    authorizationEndpoint?: Schema | string;
    issuer?: ResponseIss | string;
    responseTypesSupported?: ResponseType[] | ResponseType;
    scopesSupported?: Scope[] | Scope;
    subjectTypesSupported?: SubjectType[] | SubjectType;
    idTokenSigningAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    requestObjectSigningAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    subject_syntax_types_supported?: string[];
    tokenEndpoint?: string;
    userinfoEndpoint?: string;
    jwksUri?: string;
    registrationEndpoint?: string;
    responseModesSupported?: ResponseMode[] | ResponseMode;
    grantTypesSupported?: GrantType[] | GrantType;
    acrValuesSupported?: AuthenticationContextReferences[] | AuthenticationContextReferences;
    idTokenEncryptionAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    idTokenEncryptionEncValuesSupported?: string[] | string;
    userinfoSigningAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    userinfoEncryptionAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    userinfoEncryptionEncValuesSupported?: string[] | string;
    requestObjectEncryptionAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    requestObjectEncryptionEncValuesSupported?: string[] | string;
    tokenEndpointAuthMethodsSupported?: TokenEndpointAuthMethod[] | TokenEndpointAuthMethod;
    tokenEndpointAuthSigningAlgValuesSupported?: SigningAlgo[] | SigningAlgo;
    displayValuesSupported?: string[] | string;
    claimTypesSupported?: ClaimType[] | ClaimType;
    claimsSupported?: string[] | string;
    serviceDocumentation?: string;
    claimsLocalesSupported?: string[] | string;
    uiLocalesSupported?: string[] | string;
    claimsParameterSupported?: boolean;
    requestParameterSupported?: boolean;
    requestUriParameterSupported?: boolean;
    requireRequestUriRegistration?: boolean;
    opPolicyUri?: string;
    opTosUri?: string;
    [x: string]: any;
}
interface DiscoveryMetadataCommonPayload {
    authorization_endpoint?: Schema | string;
    issuer?: ResponseIss | string;
    response_types_supported?: ResponseType[] | ResponseType;
    scopes_supported?: Scope[] | Scope;
    subject_types_supported?: SubjectType[] | SubjectType;
    id_token_signing_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    request_object_signing_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    subject_syntax_types_supported?: string[];
    token_endpoint?: string;
    userinfo_endpoint?: string;
    jwks_uri?: string;
    registration_endpoint?: string;
    response_modes_supported?: ResponseMode[] | ResponseMode;
    grant_types_supported?: GrantType[] | GrantType;
    acr_values_supported?: AuthenticationContextReferences[] | AuthenticationContextReferences;
    id_token_encryption_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    /**
     * OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT].
     */
    id_token_encryption_enc_values_supported?: string[] | string;
    userinfo_signing_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    userinfo_encryption_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    /**
     * OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].
     */
    userinfo_encryption_enc_values_supported?: string[] | string;
    request_object_encryption_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    /**
     * OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for Request Objects. These algorithms are used both when the Request Object is passed by value and when it is passed by reference.
     */
    request_object_encryption_enc_values_supported?: string[] | string;
    token_endpoint_auth_methods_supported?: TokenEndpointAuthMethod[] | TokenEndpointAuthMethod;
    token_endpoint_auth_signing_alg_values_supported?: SigningAlgo[] | SigningAlgo;
    /**
     * OPTIONAL. JSON array containing a list of the display parameter values that the OpenID Provider supports. These values are described in Section 3.1.2.1 of OpenID Connect Core 1.0 [OpenID.Core].
     */
    display_values_supported?: unknown[] | unknown;
    /**
     * OPTIONAL. JSON array containing a list of the Claim Types that the OpenID Provider supports. These Claim Types are described in Section 5.6 of OpenID Connect Core 1.0 [OpenID.Core]. Values defined by this specification are normal, aggregated, and distributed. If omitted, the implementation supports only normal Claims.
     */
    claim_types_supported?: ClaimType[] | ClaimType;
    /**
     * RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list.
     */
    claims_supported?: string[] | string;
    service_documentation?: string;
    claims_locales_supported?: string[] | string;
    ui_locales_supported?: string[] | string;
    claims_parameter_supported?: boolean;
    request_parameter_supported?: boolean;
    request_uri_parameter_supported?: boolean;
    require_request_uri_registration?: boolean;
    op_policy_uri?: string;
    op_tos_uri?: string;
    [x: string]: any;
}
interface DiscoveryMetadataPayloadV1 extends DynamicRegistrationClientMetadata, DiscoveryMetadataCommonPayload {
    vp_formats_supported?: Format;
    id_token_types_supported?: IdTokenType[] | IdTokenType;
    encrypted_response_enc_values_supported?: string[];
    client_id_prefixes_supported?: string[];
}
type DiscoveryMetadataPayload = DiscoveryMetadataPayloadV1;
type DiscoveryMetadataOpts = DiscoveryMetadataCommonOpts;
type ClientMetadataOpts = RPRegistrationMetadataOpts & ClientMetadataProperties & JarmClientMetadata & JwksMetadataParams;
type ResponseRegistrationOpts = DiscoveryMetadataOpts & ClientMetadataProperties;
type RPRegistrationMetadataOpts = Partial<Pick<DiscoveryMetadataOpts, 'client_id' | 'id_token_signing_alg_values_supported' | 'request_object_signing_alg_values_supported' | 'response_types_supported' | 'scopes_supported' | 'subject_types_supported' | 'subject_syntax_types_supported' | 'vp_formats_supported' | 'client_name' | 'logo_uri' | 'tos_uri' | 'client_purpose'>> & {
    [x: string]: any;
};
type RPRegistrationMetadataPayload = Pick<DiscoveryMetadataPayload, 'id_token_signing_alg_values_supported' | 'request_object_signing_alg_values_supported' | 'response_types_supported' | 'scopes_supported' | 'subject_types_supported' | 'subject_syntax_types_supported' | 'vp_formats_supported' | 'client_name' | 'logo_uri'> & {
    client_id?: string;
    client_purpose?: string;
    [x: string]: any;
};
interface CommonSupportedMetadata {
    subject_syntax_types_supported?: string[];
    vp_formats_supported: Format;
}
interface ObjectBy {
    passBy: PassBy;
    reference_uri?: string;
    targets?: PropertyTargets;
}
declare enum AuthenticationContextReferences {
    PHR = "phr",
    PHRH = "phrh"
}
declare enum ClaimType {
    NORMAL = "normal",
    AGGREGATED = "aggregated",
    DISTRIBUTED = "distributed"
}
declare enum IdTokenType {
    SUBJECT_SIGNED = "subject_signed",
    ATTESTER_SIGNED = "attester_signed"
}
interface ClientMetadataProperties extends ObjectBy {
    id_token_encrypted_response_alg?: EncKeyAlgorithm;
    id_token_encrypted_response_enc?: EncSymmetricAlgorithmCode;
}
declare enum VerifiablePresentationTypeFormat {
    JWT_VP = "jwt_vp",
    LDP_VP = "ldp_vp",
    SD_JWT_VC = "dc+sd-jwt",
    MSO_MDOC = "mso_mdoc"
}
declare enum VerifiableCredentialTypeFormat {
    LDP_VC = "ldp_vc",
    JWT_VC = "jwt_vc",
    SD_JWT_VC = "dc+sd-jwt",
    MSO_MDOC = "mso_mdoc"
}
declare enum EncSymmetricAlgorithmCode {
    XC20P = "XC20P"
}
declare enum EncKeyAlgorithm {
    ECDH_ES = "ECDH-ES"
}
declare enum PassBy {
    NONE = "NONE",
    REFERENCE = "REFERENCE",
    VALUE = "VALUE"
}
declare enum ResponseContext {
    RP = "rp",
    OP = "op"
}
interface Verification {
    presentationVerificationCallback?: PresentationVerificationCallback;
    revocationOpts?: RevocationOpts;
    replayRegistry?: IRPSessionManager;
}
interface ResponseClaims {
    verified_claims?: string;
    encryption_key?: JsonWebKey;
}
interface VerifiedIDToken {
    jwt: string;
    payload: IDTokenPayload;
    verifyOpts: VerifyAuthorizationResponseOpts;
}
interface VerifiedOpenID4VPSubmission {
    dcqlQuery: DcqlQuery;
    presentation: PresentationSubmission;
    dcqlPresentationResult?: DcqlPresentationResult;
    nonce?: string;
}
interface PresentationSubmission {
    [credentialQueryId: string]: WrappedVerifiablePresentation;
}
interface VerifiedAuthorizationResponse {
    correlationId: string;
    authorizationResponse: AuthorizationResponse;
    oid4vpSubmission?: VerifiedOpenID4VPSubmission;
    nonce?: string;
    state: string;
    idToken?: VerifiedIDToken;
    verifyOpts?: VerifyAuthorizationResponseOpts;
}
declare enum GrantType {
    AUTHORIZATION_CODE = "authorization_code",
    IMPLICIT = "implicit"
}
declare enum ResponseMode {
    FRAGMENT = "fragment",
    FORM_POST = "form_post",
    POST = "post",// Used in OID4VP spec <= version 17
    DIRECT_POST = "direct_post",
    QUERY = "query",
    DIRECT_POST_JWT = "direct_post.jwt",
    QUERY_JWT = "query.jwt",
    FRAGMENT_JWT = "fragment.jwt"
}
declare enum VerifiedDataMode {
    AUTHORIZATION_RESPONSE = "authorization_response",
    CREDENTIAL_CLAIMS_DESERIALIZED = "credential_claims_deserialized",
    VP_TOKEN = "vp_token"
}
declare enum ProtocolFlow {
    SAME_DEVICE = "same_device",
    CROSS_DEVICE = "cross_device"
}
interface SignatureResponse {
    jws: string;
}
declare enum UrlEncodingFormat {
    FORM_URL_ENCODED = "application/x-www-form-urlencoded"
}
type SIOPURI = {
    encodedUri: string;
    encodingFormat: UrlEncodingFormat;
};
interface UriResponse extends SIOPURI {
    responseMode?: ResponseMode;
    bodyEncoded?: string;
}
interface AuthorizationRequestURI extends SIOPURI {
    scheme: string;
    requestObjectBy: ObjectBy;
    authorizationRequestPayload: AuthorizationRequestPayload;
    requestObjectJwt?: RequestObjectJwt;
}
interface ParsedAuthorizationRequestURI extends SIOPURI {
    scheme: string;
    requestObjectJwt?: RequestObjectJwt;
    authorizationRequestPayload: AuthorizationRequestPayload;
    registration: RPRegistrationMetadataPayload;
}
declare enum KeyType {
    EC = "EC"
}
declare enum KeyCurve {
    SECP256k1 = "secp256k1",
    ED25519 = "ed25519"
}
declare enum TokenEndpointAuthMethod {
    CLIENT_SECRET_POST = "client_secret_post",
    CLIENT_SECRET_BASIC = "client_secret_basic",
    CLIENT_SECRET_JWT = "client_secret_jwt",
    PRIVATE_KEY_JWT = "private_key_jwt"
}
declare enum Scope {
    OPENID = "openid",
    OPENID_DIDAUTHN = "openid did_authn",
    PROFILE = "profile",
    EMAIL = "email",
    ADDRESS = "address",
    PHONE = "phone"
}
declare enum ResponseType {
    ID_TOKEN = "id_token",
    VP_TOKEN = "vp_token"
}
declare enum SubjectIdentifierType {
    JKT = "jkt",
    DID = "did"
}
declare enum SubjectSyntaxTypesSupportedValues {
    DID = "did",
    JWK_THUMBPRINT = "urn:ietf:params:oauth:jwk-thumbprint"
}
declare enum CredentialFormat {
    JSON_LD = "w3cvc-jsonld",
    JWT = "jwt"
}
declare enum SubjectType {
    PUBLIC = "public",
    PAIRWISE = "pairwise"
}
declare enum Schema {
    OPENID = "openid:",
    OPENID_VC = "openid-vc:"
}
declare enum ResponseIss {
    SELF_ISSUED_V1 = "https://self-issued.me",
    SELF_ISSUED_V2 = "https://self-issued.me/v2",
    JWT_VC_PRESENTATION_V1 = "https://self-issued.me/v2/openid-vc"
}
declare enum RequestAud {
    SELF_ISSUED_V2 = "https://self-issued.me/v2"
}
declare const isRequestOpts: (object: CreateAuthorizationRequestOpts | AuthorizationResponseOpts) => object is CreateAuthorizationRequestOpts;
declare const isResponseOpts: (object: RequestObjectOpts<RequestCommonPayload> | AuthorizationResponseOpts) => object is RequestObjectOpts<RequestCommonPayload>;
declare const isRequestPayload: (object: AuthorizationRequestPayload | RequestObjectPayload | AuthorizationResponsePayload | IDTokenPayload) => object is AuthorizationRequestPayload;
declare const isResponsePayload: (object: RequestObjectPayload | IDTokenPayload) => object is IDTokenPayload;
declare enum RevocationStatus {
    VALID = "valid",
    INVALID = "invalid"
}
interface IRevocationVerificationStatus {
    status: RevocationStatus;
    error?: string;
}
type RevocationVerificationCallback = (vc: W3CVerifiableCredential, type: VerifiableCredentialTypeFormat) => Promise<IRevocationVerificationStatus>;
declare enum RevocationVerification {
    NEVER = "never",// We don't want to verify revocation
    IF_PRESENT = "if_present",// If credentialStatus is present, did-auth-siop will verify revocation. If present and not valid an exception is thrown
    ALWAYS = "always"
}
interface RevocationOpts {
    revocationVerification: RevocationVerification;
    revocationVerificationCallback?: RevocationVerificationCallback;
}
declare enum SupportedVersion {
    SIOPv2_OID4VP_D28 = 280,
    OID4VP_v1 = 1000
}
interface SIOPResonse<T> {
    origResponse: Response;
    successBody?: T;
    errorBody?: ErrorResponse;
}
interface ErrorResponse extends Response {
    error: string;
    error_description?: string;
    error_uri?: string;
    state?: string;
}
declare enum ContentType {
    FORM_URL_ENCODED = "application/x-www-form-urlencoded",
    UTF_8 = "UTF-8"
}
type QRCodeOpts = z.infer<typeof QRCodeOptsSchema>;
type QRCodeOptsPayload = z.infer<typeof QRCodeOptsPayloadSchema>;
type CallbackOpts = z.infer<typeof CallbackOptsSchema>;
type CallbackOptsPayload = z.infer<typeof CallbackOptsPayloadSchema>;
type CreateAuthorizationRequest = z.infer<typeof CreateAuthorizationRequestSchema>;
type CreateAuthorizationRequestPayload = z.infer<typeof CreateAuthorizationRequestPayloadSchema>;
type CreateAuthorizationResponse = z.infer<typeof CreateAuthorizationResponseSchema>;
type CreateAuthorizationResponsePayload = z.infer<typeof CreateAuthorizationResponsePayloadSchema>;
type VerifiedDataOpts = z.infer<typeof VerifiedDataOptsSchema>;
type RequestError = z.infer<typeof RequestErrorSchema>;
type RequestErrorPayload = z.infer<typeof RequestErrorPayloadSchema>;
type AuthStatusResponse = z.infer<typeof AuthStatusResponseSchema>;
type AuthStatusResponsePayload = z.infer<typeof AuthStatusResponsePayloadSchema>;
type VerifiedData = {
    authorization_response?: VerifiedDataAuthorizationResponse;
    credential_claims?: Array<VerifiedDataClaimsSet>;
};
type VerifiedDataClaimsSet = {
    id: string;
    type: string;
    claims?: AdditionalClaims;
};
type VerifiedDataAuthorizationResponse = {
    presentation_submission?: Record<string, any>;
    vp_token?: VpToken;
};
type SingleObjectVpTokenPE = Record<string, any>;
type SingleStringVpTokenPE = string;
type MultipleVpTokens = Array<SingleObjectVpTokenPE> | Array<SingleStringVpTokenPE>;
type MultipleVpTokenDCQL = {
    [x: string]: MultipleVpTokens;
};
type VpToken = SingleObjectVpTokenPE | SingleStringVpTokenPE | MultipleVpTokens | MultipleVpTokenDCQL;

declare enum AuthorizationEvents {
    ON_AUTH_REQUEST_CREATED_SUCCESS = "onAuthRequestCreatedSuccess",
    ON_AUTH_REQUEST_CREATED_FAILED = "onAuthRequestCreatedFailed",
    ON_AUTH_REQUEST_SENT_SUCCESS = "onAuthRequestSentSuccess",
    ON_AUTH_REQUEST_SENT_FAILED = "onAuthRequestSentFailed",
    ON_AUTH_REQUEST_RECEIVED_SUCCESS = "onAuthRequestReceivedSuccess",
    ON_AUTH_REQUEST_RECEIVED_FAILED = "onAuthRequestReceivedFailed",
    ON_AUTH_REQUEST_VERIFIED_SUCCESS = "onAuthRequestVerifiedSuccess",
    ON_AUTH_REQUEST_VERIFIED_FAILED = "onAuthRequestVerifiedFailed",
    ON_AUTH_RESPONSE_CREATE_SUCCESS = "onAuthResponseCreateSuccess",
    ON_AUTH_RESPONSE_CREATE_FAILED = "onAuthResponseCreateFailed",
    ON_AUTH_RESPONSE_SENT_SUCCESS = "onAuthResponseSentSuccess",
    ON_AUTH_RESPONSE_SENT_FAILED = "onAuthResponseSentFailed",
    ON_AUTH_RESPONSE_RECEIVED_SUCCESS = "onAuthResponseReceivedSuccess",
    ON_AUTH_RESPONSE_RECEIVED_FAILED = "onAuthResponseReceivedFailed",
    ON_AUTH_RESPONSE_VERIFIED_SUCCESS = "onAuthResponseVerifiedSuccess",
    ON_AUTH_RESPONSE_VERIFIED_FAILED = "onAuthResponseVerifiedFailed"
}
declare class AuthorizationEvent<T> {
    private readonly _subject;
    private readonly _callback;
    private readonly _error?;
    private readonly _timestamp;
    private readonly _correlationId;
    private readonly _queryId;
    private readonly _responseRedirectURI;
    constructor(args: {
        correlationId: string;
        queryId?: string;
        subject?: T;
        callback?: CallbackOpts;
        responseRedirectURI?: string;
        error?: Error;
    });
    get subject(): T | undefined;
    get timestamp(): number;
    get error(): Error | undefined;
    get callback(): CallbackOpts | undefined;
    get responseRedirectURI(): string;
    hasError(): boolean;
    get correlationId(): string;
    get queryId(): string;
}
interface RegisterEventListener {
    event: AuthorizationEvents | AuthorizationEvents[];
    listener: (...args: any[]) => void;
}

interface AuthorizationRequestState {
    correlationId: string;
    queryId: string;
    request: AuthorizationRequest;
    status: AuthorizationRequestStateStatus;
    callback?: CallbackOpts;
    responseRedirectURI?: string;
    timestamp: number;
    lastUpdated: number;
    error?: Error;
}
interface AuthorizationResponseState {
    correlationId: string;
    queryId: string;
    response: AuthorizationResponse;
    status: AuthorizationResponseStateStatus;
    callback?: CallbackOpts;
    timestamp: number;
    lastUpdated: number;
    error?: Error;
}
interface AuthorizationResponseStateWithVerifiedData extends AuthorizationResponseState {
    verifiedData?: VerifiedData;
}
declare enum AuthorizationRequestStateStatus {
    CREATED = "authorization_request_created",
    RETRIEVED = "authorization_request_retrieved",
    ERROR = "error"
}
declare enum AuthorizationResponseStateStatus {
    RECEIVED = "authorization_response_received",
    VERIFIED = "authorization_response_verified",
    ERROR = "error"
}

interface RequestObjectContext extends JwtIssuanceContextBase {
    type: 'request-object';
}
interface IdTokenContext extends JwtIssuanceContextBase {
    type: 'id-token';
    authorizationResponseOpts: AuthorizationResponseOpts;
}
type JwtIssuanceContext = RequestObjectContext | IdTokenContext;
type JwtIssuerWithContext = JwtIssuer & JwtIssuanceContext;
type CreateJwtCallback = CreateJwtCallback$1<JwtIssuerWithContext>;

type JwkJwtVerifier = (JwkJwtVerifier$1 & {
    type: 'id-token';
    jwkThumbprint: string;
}) | (JwkJwtVerifier$1 & {
    type: 'request-object' | 'verifier-attestation' | 'dpop';
    jwkThumbprint?: never;
});
type JwtVerifier = DidJwtVerifier | X5cJwtVerifier | CustomJwtVerifier | JwkJwtVerifier | OpenIdFederationJwtVerifier;
declare const getJwkVerifier: (jwt: {
    header: JwtHeader;
    payload: JwtPayload;
}, jwkJwtVerifier: JwkJwtVerifier$1) => Promise<JwkJwtVerifier>;
declare const getJwtVerifierWithContext: (jwt: {
    header: JwtHeader;
    payload: JwtPayload;
}, options: {
    type: JwtType;
}) => Promise<JwtVerifier>;
declare const getRequestObjectJwtVerifier: (jwt: {
    header: JwtHeader;
    payload: RequestObjectPayload;
}, options: {
    raw: string;
}) => Promise<JwtVerifier>;
type VerifyJwtCallback = VerifyJwtCallbackBase<JwtVerifier>;

type SupportedRevocationFormats = Exclude<WrappedVerifiableCredential['format'], 'vp+sd-jwt' | 'vc+sd-jwt'>;

declare const LOG: ISimpleLogger<string>;

declare function assertValidMetadata(opMetadata: DiscoveryMetadataPayload, rpMetadata: RPRegistrationMetadataPayload): CommonSupportedMetadata;
declare function supportedCredentialsFormats(rpFormat: Format, opFormat: Format): Format;

declare function decodeUriAsJson(uri: string): any;
declare function encodeJsonAsURI(json: Record<string, unknown>, _opts?: {
    arraysWithIndex?: string[];
}): string;

declare const getJson: <T>(URL: string, opts?: {
    bearerToken?: string;
    contentType?: string | ContentType;
    accept?: string;
    customHeaders?: HeadersInit;
    exceptionOnHttpErrorStatus?: boolean;
}) => Promise<SIOPResonse<T>>;
declare const formPost: <T>(url: string, body: BodyInit, opts?: {
    bearerToken?: string;
    contentType?: string | ContentType;
    accept?: string;
    customHeaders?: HeadersInit;
    exceptionOnHttpErrorStatus?: boolean;
}) => Promise<SIOPResonse<T>>;
declare const post: <T>(url: string, body?: BodyInit, opts?: {
    bearerToken?: string;
    contentType?: string | ContentType;
    accept?: string;
    customHeaders?: HeadersInit;
    exceptionOnHttpErrorStatus?: boolean;
}) => Promise<SIOPResonse<T>>;
declare const getWithUrl: <T>(url: string, textResponse?: boolean) => Promise<T>;
declare const fetchByReferenceOrUseByValue: <T>(referenceURI: string, valueObject: T, textResponse?: boolean) => Promise<T>;

declare function extractDataFromPath(obj: unknown, path: string): {
    path: string[];
    value: any;
}[];
declare function isStringNullOrEmpty(key: string): boolean;
declare function removeNullUndefined<T>(data: T): T;

declare const verifyRevocation: (vpToken: WrappedVerifiablePresentation, revocationVerificationCallback: RevocationVerificationCallback, revocationVerification: RevocationVerification) => Promise<void>;

declare function getNonce(state: string, nonce?: string): string;
declare function toNonce(input: string): string;
declare function getState(state?: string): string;
declare function createState(): string;

type Jwks = {
    keys: JWK[];
};
type JwksMetadataParams = {
    jwks?: Jwks;
    jwks_uri?: string;
};
/**
 * Fetches a JSON Web Key Set (JWKS) from the specified URI.
 *
 * @param jwksUri - The URI of the JWKS endpoint.
 * @returns A Promise that resolves to the JWKS object.
 * @throws Will throw an error if the fetch fails or if the response is not valid JSON.
 */
declare function fetchJwks(jwksUri: string): Promise<Jwks | undefined>;
/**
 * Extracts JSON Web Key Set (JWKS) from the provided metadata.
 * 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.
 *
 * @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
 */
declare const extractJwksFromJwksMetadata: (metadata: JwksMetadataParams) => Promise<Jwks>;

declare class LanguageTagUtils {
    private static readonly LANGUAGE_TAG_SEPARATOR;
    /**
     * It will give back a fields which are language tag enabled. i.e. all fields with the fields names containing
     * language tags e.g. fieldName#nl-NL
     *
     * @param source is the object from which the language enabled fields and their values will be extracted.
     */
    static getAllLanguageTaggedProperties(source: object): Map<string, string>;
    /**
     * It will give back a fields which are language tag enabled and are listed in the required fields.
     *
     * @param source is the object from which the language enabled fields and their values will be extracted.
     * @param requiredFieldNames the fields which are supposed to be language enabled. These are the only fields which should be returned.
     */
    static getLanguageTaggedProperties(source: object, requiredFieldNames: Array<string>): Map<string, string>;
    /**
     * 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 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, enabledFieldNamesMapping: Map<string, string>): Map<string, string>;
    private static extractLanguageTaggedField;
    private static getMappedFieldName;
    private static getLanguageTag;
    private static getFieldName;
    /***
     * This function checks about the field to be language-tagged.
     *
     * @param languageTagSeparatorIndex
     * @private
     */
    private static isFieldLanguageTagged;
    private static assertValidTargetFieldNames;
}

declare const getClientIdentifierPrefix: (clientId: string) => string | null;
declare const removeClientIdentifierPrefix: (clientId: string) => string;

declare class OPBuilder {
    expiresIn?: number;
    issuer?: IIssuerId | ResponseIss;
    responseMode?: ResponseMode;
    responseRegistration?: Partial<ResponseRegistrationOpts>;
    createJwtCallback?: CreateJwtCallback;
    verifyJwtCallback?: VerifyJwtCallback;
    presentationSignCallback?: PresentationSignCallback;
    supportedVersions?: SupportedVersion[];
    eventEmitter?: EventEmitter;
    hasher?: HasherSync;
    withHasher(hasher: HasherSync): OPBuilder;
    withIssuer(issuer: ResponseIss | string): OPBuilder;
    withExpiresIn(expiresIn: number): OPBuilder;
    withResponseMode(responseMode: ResponseMode): OPBuilder;
    withRegistration(responseRegistration: ResponseRegistrationOpts, targets?: PropertyTargets): OPBuilder;
    withCreateJwtCallback(createJwtCallback: CreateJwtCallback): OPBuilder;
    withVerifyJwtCallback(verifyJwtCallback: VerifyJwtCallback): OPBuilder;
    withSupportedVersions(supportedVersions: SupportedVersion[] | SupportedVersion | string[] | string): OPBuilder;
    addSupportedVersion(supportedVersion: string | SupportedVersion): OPBuilder;
    withPresentationSignCallback(presentationSignCallback: PresentationSignCallback): OPBuilder;
    withEventEmitter(eventEmitter?: EventEmitter): OPBuilder;
    build(): OP;
}

declare class OP {
    private readonly _createResponseOptions;
    private readonly _verifyRequestOptions;
    private readonly _eventEmitter?;
    private constructor();
    /**
     * This method tries to infer the SIOP specs version based on the request payload.
     * If the version cannot be inferred or is not supported it throws an exception.
     * This method needs to be called to ensure the OP can handle the request
     * @param requestJwtOrUri
     * @param requestOpts
     */
    verifyAuthorizationRequest(requestJwtOrUri: string | URI, requestOpts?: {
        correlationId?: string;
        verification?: Verification;
    }): Promise<VerifiedAuthorizationRequest>;
    createAuthorizationResponse(verifiedAuthorizationRequest: VerifiedAuthorizationRequest, responseOpts?: CreateAuthorizationResponseOpts): Promise<AuthorizationResponseWithCorrelationId>;
    static extractEncJwksFromClientMetadata(clientMetadata: JwksMetadataParams): Promise<JWK>;
    submitAuthorizationResponse(authorizationResponse: AuthorizationResponseWithCorrelationId, createJarmResponse?: (opts: {
        authorizationResponsePayload: AuthorizationResponsePayload;
        requestObjectPayload: RequestObjectPayload;
        clientMetadata: JwksMetadataParams;
    }) => Promise<{
        response: string;
    }>): Promise<Response>;
    /**
     * Create an Authentication Request Payload from a URI string
     *
     * @param encodedUri
     * @param rpRegistrationMetadata
     */
    parseAuthorizationRequestURI(encodedUri: string, rpRegistrationMetadata?: RPRegistrationMetadataPayload): Promise<ParsedAuthorizationRequestURI>;
    private newAuthorizationResponseOpts;
    private newVerifyAuthorizationRequestOpts;
    private emitEvent;
    addEventListener(register: RegisterEventListener): void;
    static fromOpts(responseOpts: AuthorizationResponseOpts, verifyOpts: VerifyAuthorizationRequestOpts): OP;
    static builder(): OPBuilder;
    get createResponseOptions(): AuthorizationResponseOpts;
    get verifyRequestOptions(): Partial<VerifyAuthorizationRequestOpts>;
    static validateJarmMetadata(input: {
        client_metadata: JarmClientMetadata;
        server_metadata: Partial<JarmServerMetadata>;
    }): {
        type: "signed";
        client_metadata: {
            authorization_encrypted_response_alg: never;
            authorization_encrypted_response_enc: never;
            authorization_signed_response_alg?: string;
        };
    } | {
        type: "encrypted";
        client_metadata: {
            authorization_signed_response_alg: never;
            authorization_encrypted_response_alg: string;
            authorization_encrypted_response_enc: string;
        };
    } | {
        type: "signed encrypted";
        client_metadata: {
            authorization_encrypted_response_alg: string;
            authorization_encrypted_response_enc: string;
            authorization_signed_response_alg?: string;
        };
    };
}

export { type AuthStatusResponse, type AuthStatusResponsePayload, AuthStatusResponsePayloadSchema, AuthStatusResponseSchema, AuthenticationContextReferences, AuthorizationEvent, AuthorizationEvents, AuthorizationRequest, type AuthorizationRequestCommonPayload, type AuthorizationRequestOptsV1, type AuthorizationRequestPayload, type AuthorizationRequestPayloadD28, type AuthorizationRequestPayloadOpts, type AuthorizationRequestPayloadV1, type AuthorizationRequestState, AuthorizationRequestStateStatus, type AuthorizationRequestURI, AuthorizationResponse, type AuthorizationResponseOpts, type AuthorizationResponsePayload, type AuthorizationResponseState, AuthorizationResponseStateStatus, type AuthorizationResponseStateWithVerifiedData, type AuthorizationResponseWithCorrelationId, AuthorizationStatusSchema, type CallbackOpts, type CallbackOptsPayload, CallbackOptsPayloadSchema, CallbackOptsSchema, type ClaimPayload, type ClaimPayloadCommon, type ClaimPayloadCommonOpts, type ClaimPayloadOpts, ClaimType, ClientIdentifierPrefix, type ClientMetadataOpts, type ClientMetadataProperties, type CommonSupportedMetadata, ContentType, type CreateAuthorizationRequest, type CreateAuthorizationRequestOpts, type CreateAuthorizationRequestPayload, CreateAuthorizationRequestPayloadSchema, CreateAuthorizationRequestSchema, type CreateAuthorizationResponse, type CreateAuthorizationResponseOpts, type CreateAuthorizationResponsePayload, CreateAuthorizationResponsePayloadSchema, CreateAuthorizationResponseSchema, type CreateJwtCallback, CredentialFormat, DEFAULT_EXPIRATION_TIME, Dcql, type DcqlPresentationEntry, type DcqlQueryLookupCallback, type DcqlQueryPayloadOpts, type DcqlResponseOpts, type DcqlVpToken, type DcqlVpTokenInput, type DecryptCompact, type DiscoveryMetadataOpts, type DiscoveryMetadataPayload, type EcdsaSignature, EncKeyAlgorithm, EncSymmetricAlgorithmCode, type EncodedDcqlPresentationVpToken, type ErrorResponse, GrantType, IDToken, type IDTokenJwt, type IDTokenPayload, type IRPSessionManager, type IRevocationVerificationStatus, type IdTokenClaimPayload, IdTokenType, InMemoryRPSessionManager, type JWK, type JWTPayload, type Json, type Jwks, type JwksMetadataParams, type JwtIssuanceContext, type JwtIssuerWithContext, type JwtVerifier, KeyCurve, KeyType, LOG, LanguageTagUtils, type MultipleVpTokenDCQL, type MultipleVpTokens, type NonEmptyArray, OP, OPBuilder, type ObjectBy, type ParsedAuthorizationRequestURI, PassBy, type PresentationSignCallback, type PresentationSubmission, type PresentationVerificationCallback, type PresentationVerificationResult, PropertyTarget, type PropertyTargets, ProtocolFlow, type QRCodeOpts, type QRCodeOptsPayload, QRCodeOptsPayloadSchema, QRCodeOptsSchema, RP, RPBuilder, type RPRegistrationMetadataOpts, type RPRegistrationMetadataPayload, type RegisterEventListener, type RelyingPartyAttestation, RequestAud, type RequestClientMetadataPayloadProperties, type RequestCommonPayload, type RequestError, type RequestErrorPayload, RequestErrorPayloadSchema, RequestErrorSchema, type RequestIdTokenPayloadProperties, RequestObject, type RequestObjectJwt, type RequestObjectOpts, type RequestObjectPayload, type RequestObjectPayloadOpts, type RequestPropertyWithTargets, type RequestRegistrationPayloadProperties, type RequestStateInfo, type RequestUriMethod, RequestUriMethodSchema, type ResponseClaims, ResponseContext, ResponseIss, ResponseMode, ResponseModeSchema, type ResponseRegistrationOpts, ResponseType, ResponseTypeSchema, type ResponseURIType, type RevocationOpts, RevocationStatus, RevocationVerification, type RevocationVerificationCallback, SIOPErrors, type SIOPResonse, type SIOPURI, Schema, Scope, type SignatureResponse, type SingleObjectVpTokenPE, type SingleStringVpTokenPE, SubjectIdentifierType, SubjectSyntaxTypesSupportedValues, SubjectType, type SupportedRevocationFormats, SupportedVersion, TokenEndpointAuthMethod, type TransactionData, URI, type UriResponse, UrlEncodingFormat, VPTokenLocation, VerifiableCredentialTypeFormat, VerifiablePresentationTypeFormat, type VerifiablePresentationWithFormat, type VerifiablePresentationWithSubmissionData, type Verification, type VerifiedAuthorizationRequest, type VerifiedAuthorizationResponse, type VerifiedData, type VerifiedDataAuthorizationResponse, type VerifiedDataClaimsSet, VerifiedDataMode, VerifiedDataModeSchema, type VerifiedDataOpts, VerifiedDataOptsSchema, type VerifiedIDToken, type VerifiedJWT, type VerifiedOpenID4VPSubmission, type VerifyAuthorizationRequestOpts, type VerifyAuthorizationResponseOpts, type VerifyJwtCallback, type VpToken, type VpTokenClaimPayload, assertValidMetadata, assertValidRPRegistrationMedataPayload, assertValidRequestObjectPayload, authStatusResponseFromPayload, authStatusResponseToPayload, callbackOptsFromPayload, callbackOptsToPayload, createAuthorizationRequestFromPayload, createAuthorizationRequestPayload, createAuthorizationRequestToPayload, createAuthorizationResponseFromPayload, createAuthorizationResponseToPayload, createClaimsProperties, createDiscoveryMetadataPayload, createIDTokenPayload, createRequestObjectPayload, createResponsePayload, createState, decodeUriAsJson, encodeJsonAsURI, extractDataFromPath, extractDcqlPresentationFromDcqlVpToken, extractJwksFromJwksMetadata, extractNonceFromWrappedVerifiablePresentation, extractPresentationsFromDcqlVpToken, fetchByReferenceOrUseByValue, fetchJwks, formPost, getClientIdentifierPrefix, getJson, getJwkVerifier, getJwtVerifierWithContext, getNonce, getRequestObjectJwtVerifier, getState, getWithUrl, hasCryptographicHolderBinding, isRequestOpts, isRequestPayload, isResponseOpts, isResponsePayload, isStringNullOrEmpty, mergeOAuth2AndOpenIdInRequestPayload, post, qrCodeOptsFromPayload, qrCodeOptsToPayload, removeClientIdentifierPrefix, removeNullUndefined, requestErrorFromPayload, requestErrorToPayload, supportedCredentialsFormats, toNonce, verifyPresentations, verifyRevocation };
