Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions e2e/cypress/e2e/untp-playground/report-generation.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,17 @@ describe('Report Generation', () => {
cy.uploadCredential('cypress/fixtures/credentials-e2e/invalid-v2-enveloped-dpp-with-extension.json');
cy.expandGroup();

cy.checkValidationStatus('Extension Schema Validation', 'failure');

cy.generateReport('Extension Test Implementation');
cy.downloadAndVerifyReport('Extension Test Implementation', false).then((report) => {
const result = report.results[0];

expect(result.core).to.exist;
expect(result.core.type).to.equal('DigitalProductPassport');
expect(result.core.version).to.match(/^0\.5\.0/);
expect(result.core.version).to.match(/^0\.6\.0/);

expect(result.extension).to.exist;
expect(result.extension.type).to.equal('DigitalLivestockPassport');
expect(result.extension.version).to.match(/^0\.4\.0/);
expect(result.extension.version).to.match(/^0\.4\.2/);
expect(result.extension.steps).to.be.an('array');

const extensionStep = result.extension.steps.find((step: any) => step.id === 'extension-schema-validation');
Expand Down
50 changes: 50 additions & 0 deletions e2e/cypress/e2e/untp-playground/upload-extension-credential.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
describe('Upload extension credential', () => {
beforeEach(() => {
cy.visit('http://localhost:4000');
});

const invalidContextCredential = {
'@context': ['https://www.w3.org/ns/credentials/v2', 'https://test.uncefact.org/vocabulary/untp/dpp/0.6.0-beta5/'],
type: ['DigitalLivestockPassport', 'DigitalProductPassport', 'VerifiableCredential'],
issuer: {
id: 'did:example:123',
name: 'dev',
},
credentialSubject: {
name: 'John Doe',
id: 'did:example:123',
type: ['Product'],
},
};

const invalidTypeCredential = {
'@context': ['https://www.w3.org/ns/credentials/v2', 'https://test.uncefact.org/vocabulary/untp/dpp/0.6.0-beta5/'],
type: ['DigitalProductPassport', 'VerifiableCredential'],
issuer: {
id: 'did:example:123',
name: 'dev',
},
credentialSubject: {
name: 'John Doe',
id: 'did:example:123',
type: ['Product'],
},
};

it('should validate extension credential successfully', () => {
cy.uploadCredential('cypress/fixtures/credentials-e2e/valid-v2-enveloped-extension-dlp.json');
cy.expandGroup();
cy.checkValidationStatus('JSON-LD Document Expansion and Context Validation', 'success');
});

it('should show error for invalid context in extension credential', () => {
cy.uploadCredential(invalidContextCredential);
cy.contains('Fix validation error').click();
cy.contains('"@context":').should('be.visible');
cy.contains('"https://www.w3.org/ns/credentials/v2"').should('be.visible');

cy.contains('"type":').should('be.visible');
cy.contains('"VerifiableCredential"').should('be.visible');
cy.contains('"DigitalProductPassport"').should('be.visible');
});
});
12 changes: 7 additions & 5 deletions e2e/cypress/e2e/untp-playground/upload-invalid-credential.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@ describe('Display Error Messages', () => {
};

cy.uploadCredential(invalidContextCredential);
cy.expandGroup();
cy.checkValidationStatus('UNTP Schema Validation', 'failure');

cy.openErrorDetailsByStepName('UNTP Schema Validation');
cy.contains('Fix validation error').click();
cy.contains('Issue:').should('be.visible');
cy.contains('Receive value:').should('be.visible');
cy.contains('"@context":').should('be.visible');
cy.contains('"https://www.w3.org/ns/credentials/v2"').should('be.visible');

cy.contains('"type":').should('be.visible');
cy.contains('"VerifiableCredential"').should('be.visible');
cy.contains('"DigitalProductPassport"').should('be.visible');
});

it('should open error details when clicking on View Detail Upload', () => {
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://test.uncefact.org/vocabulary/untp/dpp/0.6.0-beta9/",
"https://jargon.sh/user/aatp/DigitalLivestockPassport/v/0.4.2-beta1/artefacts/jsonldContexts/DigitalLivestockPassport.jsonld?class=DigitalLivestockPassport"
],
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+jwt,eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6dW5jZWZhY3QuZ2l0aHViLmlvOnByb2plY3QtdmNraXQ6dGVzdC1hbmQtZGV2ZWxvcG1lbnQjN2FmMTM2YThlZmExMWE0ZGYyZTkwMTBiOTcyYmRiOTJhMDAxMzcyNGI1MGU1ZWZhNDU0MDdhMmRkZWExODRlNi1Kc29uV2ViS2V5LWtleS0wIiwiY3R5IjoidmMiLCJ0eXAiOiJ2Yytqd3QifQ.eyJ0eXBlIjpbIkRpZ2l0YWxMaXZlc3RvY2tQYXNzcG9ydCIsIkRpZ2l0YWxQcm9kdWN0UGFzc3BvcnQiLCJWZXJpZmlhYmxlQ3JlZGVudGlhbCJdLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3Rlc3QudW5jZWZhY3Qub3JnL3ZvY2FidWxhcnkvdW50cC9kcHAvMC42LjAtYmV0YTkvIiwiaHR0cHM6Ly9qYXJnb24uc2gvdXNlci9hYXRwL0RpZ2l0YWxMaXZlc3RvY2tQYXNzcG9ydC92LzAuNC4yLWJldGExL2FydGVmYWN0cy9qc29ubGRDb250ZXh0cy9EaWdpdGFsTGl2ZXN0b2NrUGFzc3BvcnQuanNvbmxkP2NsYXNzPURpZ2l0YWxMaXZlc3RvY2tQYXNzcG9ydCJdLCJpZCI6Imh0dHBzOi8vZXhhbXBsZS1jb21wYW55LmNvbS9jcmVkZW50aWFscy8yYTQyMzM2Ni1hMGQ2LTQ4NTUtYmE2NS0yZTBjOTI2ZDA5YjAiLCJpc3N1ZXIiOnsidHlwZSI6WyJDcmVkZW50aWFsSXNzdWVyIl0sImlkIjoiZGlkOndlYjp1bmNlZmFjdC5naXRodWIuaW86cHJvamVjdC12Y2tpdDp0ZXN0LWFuZC1kZXZlbG9wbWVudCIsIm5hbWUiOiJFeGFtcGxlIENvbXBhbnkgUHR5IEx0ZCIsImlzc3VlckFsc29Lbm93bkFzIjpbeyJpZCI6Imh0dHBzOi8vYWJyLmJ1c2luZXNzLmdvdi5hdS9BQk4vVmlldz9hYm49OTA2NjQ4NjkzMjciLCJuYW1lIjoiU2FtcGxlIENvbXBhbnkgUHR5IEx0ZC4iLCJyZWdpc3RlcmVkSWQiOiI5MDY2NDg2OTMyNyIsImlkU2NoZW1lIjp7InR5cGUiOlsiSWRlbnRpZmllclNjaGVtZSJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8iLCJuYW1lIjoiR2xvYmFsIFRyYWRlIElkZW50aWZpY2F0aW9uIE51bWJlciAoR1RJTikifX0seyJpZCI6Imh0dHBzOi8vYWJyLmJ1c2luZXNzLmdvdi5hdS9BQk4vVmlldz9hYm49OTA2NjQ4NjkzMjciLCJuYW1lIjoiU2FtcGxlIENvbXBhbnkgUHR5IEx0ZC4iLCJyZWdpc3RlcmVkSWQiOiI5MDY2NDg2OTMyNyIsImlkU2NoZW1lIjp7InR5cGUiOlsiSWRlbnRpZmllclNjaGVtZSJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8iLCJuYW1lIjoiR2xvYmFsIFRyYWRlIElkZW50aWZpY2F0aW9uIE51bWJlciAoR1RJTikifX1dfSwidmFsaWRGcm9tIjoiMjAyNC0wMy0xNVQxMjowMDowMFoiLCJ2YWxpZFVudGlsIjoiMjAzNC0wMy0xNVQxMjowMDowMFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkJvdmluZUFuaW1hbENsYWltIiwiUHJvZHVjdENsYWltIl0sImlkIjoiZXhhbXBsZTpwcm9kdWN0LzEyMzQiLCJwcm9kdWN0Ijp7InR5cGUiOlsiQm92aW5lQW5pbWFsIiwiUHJvZHVjdCJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8wOTUyMDEyMzQ1Njc4OC8yMS8xMjM0NSIsIm5hbWUiOiJFViBiYXR0ZXJ5IDMwMEFoLiIsInJlZ2lzdGVyZWRJZCI6IjA5NTIwMTIzNDU2Nzg4LjIxLjEyMzQ1IiwiaWRTY2hlbWUiOnsidHlwZSI6WyJJZGVudGlmaWVyU2NoZW1lIl0sImlkIjoiaHR0cHM6Ly9pZC5nczEub3JnLzAxLyIsIm5hbWUiOiJHbG9iYWwgVHJhZGUgSWRlbnRpZmljYXRpb24gTnVtYmVyIChHVElOKSJ9LCJzZXJpYWxOdW1iZXIiOiIxMjM0NTY3OCIsImJhdGNoTnVtYmVyIjoiNjc4OSIsInByb2R1Y3RJbWFnZSI6eyJsaW5rVVJMIjoiaHR0cHM6Ly9maWxlcy5leGFtcGxlLWNlcnRpZmllci5jb20vMTIzNDU2Ny5qc29uIiwibGlua05hbWUiOiJHQkEgcnVsZSBib29rIGNvbmZvcm1pdHkgY2VydGlmaWNhdGUiLCJsaW5rVHlwZSI6Imh0dHBzOi8vdGVzdC51bmNlZmFjdC5vcmcvdm9jYWJ1bGFyeS9saW5rVHlwZXMvZGNjIn0sImRlc2NyaXB0aW9uIjoiNDAwQWggMjR2IExpRmVQTzQgYmF0dGVyeSIsInByb2R1Y3RDYXRlZ29yeSI6W3sidHlwZSI6WyJDbGFzc2lmaWNhdGlvbiJdLCJpZCI6Imh0dHBzOi8vdW5zdGF0cy51bi5vcmcvdW5zZC9jbGFzc2lmaWNhdGlvbnMvRWNvbi9jcGMvNDY0MTAiLCJjb2RlIjoiNDY0MTAiLCJuYW1lIjoiUHJpbWFyeSBjZWxscyBhbmQgcHJpbWFyeSBiYXR0ZXJpZXMiLCJzY2hlbWVJRCI6Imh0dHBzOi8vdW5zdGF0cy51bi5vcmcvdW5zZC9jbGFzc2lmaWNhdGlvbnMvRWNvbi9jcGMvIiwic2NoZW1lTmFtZSI6IlVOIENlbnRyYWwgUHJvZHVjdCBDbGFzc2lmaWNhdGlvbiAoQ1BDKSJ9LHsidHlwZSI6WyJDbGFzc2lmaWNhdGlvbiJdLCJpZCI6Imh0dHBzOi8vdW5zdGF0cy51bi5vcmcvdW5zZC9jbGFzc2lmaWNhdGlvbnMvRWNvbi9jcGMvNDY0MTAiLCJjb2RlIjoiNDY0MTAiLCJuYW1lIjoiUHJpbWFyeSBjZWxscyBhbmQgcHJpbWFyeSBiYXR0ZXJpZXMiLCJzY2hlbWVJRCI6Imh0dHBzOi8vdW5zdGF0cy51bi5vcmcvdW5zZC9jbGFzc2lmaWNhdGlvbnMvRWNvbi9jcGMvIiwic2NoZW1lTmFtZSI6IlVOIENlbnRyYWwgUHJvZHVjdCBDbGFzc2lmaWNhdGlvbiAoQ1BDKSJ9XSwiZnVydGhlckluZm9ybWF0aW9uIjpbeyJsaW5rVVJMIjoiaHR0cHM6Ly9maWxlcy5leGFtcGxlLWNlcnRpZmllci5jb20vMTIzNDU2Ny5qc29uIiwibGlua05hbWUiOiJHQkEgcnVsZSBib29rIGNvbmZvcm1pdHkgY2VydGlmaWNhdGUiLCJsaW5rVHlwZSI6Imh0dHBzOi8vdGVzdC51bmNlZmFjdC5vcmcvdm9jYWJ1bGFyeS9saW5rVHlwZXMvZGNjIn0seyJsaW5rVVJMIjoiaHR0cHM6Ly9maWxlcy5leGFtcGxlLWNlcnRpZmllci5jb20vMTIzNDU2Ny5qc29uIiwibGlua05hbWUiOiJHQkEgcnVsZSBib29rIGNvbmZvcm1pdHkgY2VydGlmaWNhdGUiLCJsaW5rVHlwZSI6Imh0dHBzOi8vdGVzdC51bmNlZmFjdC5vcmcvdm9jYWJ1bGFyeS9saW5rVHlwZXMvZGNjIn1dLCJwcm9kdWNlZEJ5UGFydHkiOnsiaWQiOiJodHRwczovL2Fici5idXNpbmVzcy5nb3YuYXUvQUJOL1ZpZXc_YWJuPTkwNjY0ODY5MzI3IiwibmFtZSI6IlNhbXBsZSBDb21wYW55IFB0eSBMdGQuIiwicmVnaXN0ZXJlZElkIjoiOTA2NjQ4NjkzMjciLCJpZFNjaGVtZSI6eyJ0eXBlIjpbIklkZW50aWZpZXJTY2hlbWUiXSwiaWQiOiJodHRwczovL2lkLmdzMS5vcmcvMDEvIiwibmFtZSI6Ikdsb2JhbCBUcmFkZSBJZGVudGlmaWNhdGlvbiBOdW1iZXIgKEdUSU4pIn19LCJwcm9kdWNlZEF0RmFjaWxpdHkiOnsiaWQiOiJodHRwczovL3NhbXBsZS1mYWNpbGl0eS1yZWdpc3Rlci5jb20vMTIzNDU2NyIsIm5hbWUiOiJHcmVlbmFjcmVzIGJhdHRlcnkgZmFjdG9yeSIsInJlZ2lzdGVyZWRJZCI6IjEyMzQ1NjciLCJpZFNjaGVtZSI6eyJ0eXBlIjpbIklkZW50aWZpZXJTY2hlbWUiXSwiaWQiOiJodHRwczovL2lkLmdzMS5vcmcvMDEvIiwibmFtZSI6Ikdsb2JhbCBUcmFkZSBJZGVudGlmaWNhdGlvbiBOdW1iZXIgKEdUSU4pIn19LCJkaW1lbnNpb25zIjp7IndlaWdodCI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwibGVuZ3RoIjp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJ3aWR0aCI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwiaGVpZ2h0Ijp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJ2b2x1bWUiOnsidmFsdWUiOjEwLCJ1bml0IjoiS0dNIn19LCJwcm9kdWN0aW9uRGF0ZSI6IjIwMjQtMDQtMjUiLCJjb3VudHJ5T2ZQcm9kdWN0aW9uIjoiQVUiLCJjaGFyYWN0ZXJpc3RpY3MiOnsic2V4IjoiTSIsInNleENoYXJhY3RlcmlzdGljIjoiSFkiLCJicmVlZCI6WyJBQSIsIkFBIl0sImxpdmVXZWlnaHQiOjM1MCwiY2FyY2Fzc1dlaWdodCI6MTgwLCJmYXRTY29yZSI6IjQiLCJtdXNjbGVTY29yZSI6IkIiLCJmcmFtZVNpemUiOiI2IiwibWF0dXJpdHkiOiJsYXRlIn19LCJncmFudWxhcml0eUxldmVsIjoiYmF0Y2giLCJjb25mb3JtaXR5Q2xhaW0iOlt7InR5cGUiOlsiQ2xhaW0iLCJEZWNsYXJhdGlvbiJdLCJhc3Nlc3NtZW50RGF0ZSI6IjIwMjQtMDMtMTUiLCJpZCI6Imh0dHBzOi8vcHJvZHVjdHMuZXhhbXBsZS1jb21wYW55LmNvbS8wOTUyMDEyMzQ1Njc4OC9kZWNsYXJhdGlvbnMvMTIzNDUiLCJyZWZlcmVuY2VTdGFuZGFyZCI6eyJ0eXBlIjpbIlN0YW5kYXJkIl0sImlkIjoiaHR0cHM6Ly93d3cuZ2xvYmFsYmF0dGVyeS5vcmcvbWVkaWEvcHVibGljYXRpb25zL2diYS1ydWxlYm9vay12Mi4wLW1hc3Rlci5wZGYiLCJuYW1lIjoiR0JBIEJhdHRlcnkgUGFzc3BvcnQgR3JlZW5ob3VzZSBHYXMgUnVsZWJvb2sgLSBWLjIuMCIsImlzc3VpbmdQYXJ0eSI6eyJpZCI6Imh0dHBzOi8vYWJyLmJ1c2luZXNzLmdvdi5hdS9BQk4vVmlldz9hYm49OTA2NjQ4NjkzMjciLCJuYW1lIjoiU2FtcGxlIENvbXBhbnkgUHR5IEx0ZC4iLCJyZWdpc3RlcmVkSWQiOiI5MDY2NDg2OTMyNyIsImlkU2NoZW1lIjp7InR5cGUiOlsiSWRlbnRpZmllclNjaGVtZSJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8iLCJuYW1lIjoiR2xvYmFsIFRyYWRlIElkZW50aWZpY2F0aW9uIE51bWJlciAoR1RJTikifX0sImlzc3VlRGF0ZSI6IjIwMjMtMTItMDUifSwicmVmZXJlbmNlUmVndWxhdGlvbiI6eyJ0eXBlIjpbIlJlZ3VsYXRpb24iXSwiaWQiOiJodHRwczovL3d3dy5sZWdpc2xhdGlvbi5nb3YuYXUvRjIwMDhMMDIzMDkvbGF0ZXN0L3ZlcnNpb25zIiwibmFtZSI6Ik5OYXRpb25hbCBHcmVlbmhvdXNlIGFuZCBFbmVyZ3kgUmVwb3J0aW5nIChNZWFzdXJlbWVudCkgRGV0ZXJtaW5hdGlvbiIsImp1cmlzZGljdGlvbkNvdW50cnkiOiJFbnVtZXJhdGlvbiBWYWx1ZSIsImFkbWluaXN0ZXJlZEJ5Ijp7ImlkIjoiaHR0cHM6Ly9hYnIuYnVzaW5lc3MuZ292LmF1L0FCTi9WaWV3P2Fibj05MDY2NDg2OTMyNyIsIm5hbWUiOiJTYW1wbGUgQ29tcGFueSBQdHkgTHRkLiIsInJlZ2lzdGVyZWRJZCI6IjkwNjY0ODY5MzI3IiwiaWRTY2hlbWUiOnsidHlwZSI6WyJJZGVudGlmaWVyU2NoZW1lIl0sImlkIjoiaHR0cHM6Ly9pZC5nczEub3JnLzAxLyIsIm5hbWUiOiJHbG9iYWwgVHJhZGUgSWRlbnRpZmljYXRpb24gTnVtYmVyIChHVElOKSJ9fSwiZWZmZWN0aXZlRGF0ZSI6IjIwMjQtMDMtMjAifSwiYXNzZXNzbWVudENyaXRlcmlhIjpbeyJ0eXBlIjpbIkNyaXRlcmlvbiJdLCJpZCI6Imh0dHBzOi8vd3d3Lmdsb2JhbGJhdHRlcnkub3JnL21lZGlhL3B1YmxpY2F0aW9ucy9nYmEtcnVsZWJvb2stdjIuMC1tYXN0ZXIucGRmI0JhdHRlcnlBc3NlbWJseSIsIm5hbWUiOiJHQkEgQmF0dGVyeSBydWxlIGJvb2sgdjIuMCBiYXR0ZXJ5IGFzc2VtYmx5IGd1aWRlbGluZXMuIiwidGhyZXNob2xkVmFsdWVzIjpbeyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fSx7Im1ldHJpY05hbWUiOiJHSEcgZW1pc3Npb25zIGludGVuc2l0eSIsIm1ldHJpY1ZhbHVlIjp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJzY29yZSI6IkJCIiwiYWNjdXJhY3kiOjAuMDV9XX0seyJ0eXBlIjpbIkNyaXRlcmlvbiJdLCJpZCI6Imh0dHBzOi8vd3d3Lmdsb2JhbGJhdHRlcnkub3JnL21lZGlhL3B1YmxpY2F0aW9ucy9nYmEtcnVsZWJvb2stdjIuMC1tYXN0ZXIucGRmI0JhdHRlcnlBc3NlbWJseSIsIm5hbWUiOiJHQkEgQmF0dGVyeSBydWxlIGJvb2sgdjIuMCBiYXR0ZXJ5IGFzc2VtYmx5IGd1aWRlbGluZXMuIiwidGhyZXNob2xkVmFsdWVzIjpbeyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fSx7Im1ldHJpY05hbWUiOiJHSEcgZW1pc3Npb25zIGludGVuc2l0eSIsIm1ldHJpY1ZhbHVlIjp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJzY29yZSI6IkJCIiwiYWNjdXJhY3kiOjAuMDV9XX1dLCJkZWNsYXJlZFZhbHVlIjpbeyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fSx7Im1ldHJpY05hbWUiOiJHSEcgZW1pc3Npb25zIGludGVuc2l0eSIsIm1ldHJpY1ZhbHVlIjp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJzY29yZSI6IkJCIiwiYWNjdXJhY3kiOjAuMDV9XSwiY29uZm9ybWFuY2UiOnRydWUsImNvbmZvcm1pdHlUb3BpYyI6ImVudmlyb25tZW50LmVtaXNzaW9ucyIsImNvbmZvcm1pdHlFdmlkZW5jZSI6eyJsaW5rVVJMIjoiaHR0cHM6Ly9maWxlcy5leGFtcGxlLWNlcnRpZmllci5jb20vMTIzNDU2Ny5qc29uIiwibGlua05hbWUiOiJHQkEgcnVsZSBib29rIGNvbmZvcm1pdHkgY2VydGlmaWNhdGUiLCJsaW5rVHlwZSI6Imh0dHBzOi8vdGVzdC51bmNlZmFjdC5vcmcvdm9jYWJ1bGFyeS9saW5rVHlwZXMvZGNjIiwiaGFzaERpZ2VzdCI6IjYyMzkxMTlkZGE1YmQ0YzhhNmZmYjgzMmZlMTZmZWFhNWMyN2I3ZGJhMTU0ZDI0YzUzZDQ0NzBhMmM2OWFkYzIiLCJoYXNoTWV0aG9kIjoiU0hBLTI1NiIsImVuY3J5cHRpb25NZXRob2QiOiJBRVMifX0seyJ0eXBlIjpbIkNsYWltIiwiRGVjbGFyYXRpb24iXSwiYXNzZXNzbWVudERhdGUiOiIyMDI0LTAzLTE1IiwiaWQiOiJodHRwczovL3Byb2R1Y3RzLmV4YW1wbGUtY29tcGFueS5jb20vMDk1MjAxMjM0NTY3ODgvZGVjbGFyYXRpb25zLzEyMzQ1IiwicmVmZXJlbmNlU3RhbmRhcmQiOnsidHlwZSI6WyJTdGFuZGFyZCJdLCJpZCI6Imh0dHBzOi8vd3d3Lmdsb2JhbGJhdHRlcnkub3JnL21lZGlhL3B1YmxpY2F0aW9ucy9nYmEtcnVsZWJvb2stdjIuMC1tYXN0ZXIucGRmIiwibmFtZSI6IkdCQSBCYXR0ZXJ5IFBhc3Nwb3J0IEdyZWVuaG91c2UgR2FzIFJ1bGVib29rIC0gVi4yLjAiLCJpc3N1aW5nUGFydHkiOnsiaWQiOiJodHRwczovL2Fici5idXNpbmVzcy5nb3YuYXUvQUJOL1ZpZXc_YWJuPTkwNjY0ODY5MzI3IiwibmFtZSI6IlNhbXBsZSBDb21wYW55IFB0eSBMdGQuIiwicmVnaXN0ZXJlZElkIjoiOTA2NjQ4NjkzMjciLCJpZFNjaGVtZSI6eyJ0eXBlIjpbIklkZW50aWZpZXJTY2hlbWUiXSwiaWQiOiJodHRwczovL2lkLmdzMS5vcmcvMDEvIiwibmFtZSI6Ikdsb2JhbCBUcmFkZSBJZGVudGlmaWNhdGlvbiBOdW1iZXIgKEdUSU4pIn19LCJpc3N1ZURhdGUiOiIyMDIzLTEyLTA1In0sInJlZmVyZW5jZVJlZ3VsYXRpb24iOnsidHlwZSI6WyJSZWd1bGF0aW9uIl0sImlkIjoiaHR0cHM6Ly93d3cubGVnaXNsYXRpb24uZ292LmF1L0YyMDA4TDAyMzA5L2xhdGVzdC92ZXJzaW9ucyIsIm5hbWUiOiJOTmF0aW9uYWwgR3JlZW5ob3VzZSBhbmQgRW5lcmd5IFJlcG9ydGluZyAoTWVhc3VyZW1lbnQpIERldGVybWluYXRpb24iLCJqdXJpc2RpY3Rpb25Db3VudHJ5IjoiRW51bWVyYXRpb24gVmFsdWUiLCJhZG1pbmlzdGVyZWRCeSI6eyJpZCI6Imh0dHBzOi8vYWJyLmJ1c2luZXNzLmdvdi5hdS9BQk4vVmlldz9hYm49OTA2NjQ4NjkzMjciLCJuYW1lIjoiU2FtcGxlIENvbXBhbnkgUHR5IEx0ZC4iLCJyZWdpc3RlcmVkSWQiOiI5MDY2NDg2OTMyNyIsImlkU2NoZW1lIjp7InR5cGUiOlsiSWRlbnRpZmllclNjaGVtZSJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8iLCJuYW1lIjoiR2xvYmFsIFRyYWRlIElkZW50aWZpY2F0aW9uIE51bWJlciAoR1RJTikifX0sImVmZmVjdGl2ZURhdGUiOiIyMDI0LTAzLTIwIn0sImFzc2Vzc21lbnRDcml0ZXJpYSI6W3sidHlwZSI6WyJDcml0ZXJpb24iXSwiaWQiOiJodHRwczovL3d3dy5nbG9iYWxiYXR0ZXJ5Lm9yZy9tZWRpYS9wdWJsaWNhdGlvbnMvZ2JhLXJ1bGVib29rLXYyLjAtbWFzdGVyLnBkZiNCYXR0ZXJ5QXNzZW1ibHkiLCJuYW1lIjoiR0JBIEJhdHRlcnkgcnVsZSBib29rIHYyLjAgYmF0dGVyeSBhc3NlbWJseSBndWlkZWxpbmVzLiIsInRocmVzaG9sZFZhbHVlcyI6W3sibWV0cmljTmFtZSI6IkdIRyBlbWlzc2lvbnMgaW50ZW5zaXR5IiwibWV0cmljVmFsdWUiOnsidmFsdWUiOjEwLCJ1bml0IjoiS0dNIn0sInNjb3JlIjoiQkIiLCJhY2N1cmFjeSI6MC4wNX0seyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fV19LHsidHlwZSI6WyJDcml0ZXJpb24iXSwiaWQiOiJodHRwczovL3d3dy5nbG9iYWxiYXR0ZXJ5Lm9yZy9tZWRpYS9wdWJsaWNhdGlvbnMvZ2JhLXJ1bGVib29rLXYyLjAtbWFzdGVyLnBkZiNCYXR0ZXJ5QXNzZW1ibHkiLCJuYW1lIjoiR0JBIEJhdHRlcnkgcnVsZSBib29rIHYyLjAgYmF0dGVyeSBhc3NlbWJseSBndWlkZWxpbmVzLiIsInRocmVzaG9sZFZhbHVlcyI6W3sibWV0cmljTmFtZSI6IkdIRyBlbWlzc2lvbnMgaW50ZW5zaXR5IiwibWV0cmljVmFsdWUiOnsidmFsdWUiOjEwLCJ1bml0IjoiS0dNIn0sInNjb3JlIjoiQkIiLCJhY2N1cmFjeSI6MC4wNX0seyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fV19XSwiZGVjbGFyZWRWYWx1ZSI6W3sibWV0cmljTmFtZSI6IkdIRyBlbWlzc2lvbnMgaW50ZW5zaXR5IiwibWV0cmljVmFsdWUiOnsidmFsdWUiOjEwLCJ1bml0IjoiS0dNIn0sInNjb3JlIjoiQkIiLCJhY2N1cmFjeSI6MC4wNX0seyJtZXRyaWNOYW1lIjoiR0hHIGVtaXNzaW9ucyBpbnRlbnNpdHkiLCJtZXRyaWNWYWx1ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwic2NvcmUiOiJCQiIsImFjY3VyYWN5IjowLjA1fV0sImNvbmZvcm1hbmNlIjp0cnVlLCJjb25mb3JtaXR5VG9waWMiOiJlbnZpcm9ubWVudC5lbWlzc2lvbnMiLCJjb25mb3JtaXR5RXZpZGVuY2UiOnsibGlua1VSTCI6Imh0dHBzOi8vZmlsZXMuZXhhbXBsZS1jZXJ0aWZpZXIuY29tLzEyMzQ1NjcuanNvbiIsImxpbmtOYW1lIjoiR0JBIHJ1bGUgYm9vayBjb25mb3JtaXR5IGNlcnRpZmljYXRlIiwibGlua1R5cGUiOiJodHRwczovL3Rlc3QudW5jZWZhY3Qub3JnL3ZvY2FidWxhcnkvbGlua1R5cGVzL2RjYyIsImhhc2hEaWdlc3QiOiI2MjM5MTE5ZGRhNWJkNGM4YTZmZmI4MzJmZTE2ZmVhYTVjMjdiN2RiYTE1NGQyNGM1M2Q0NDcwYTJjNjlhZGMyIiwiaGFzaE1ldGhvZCI6IlNIQS0yNTYiLCJlbmNyeXB0aW9uTWV0aG9kIjoiQUVTIn19XSwiZW1pc3Npb25zU2NvcmVjYXJkIjp7ImNhcmJvbkZvb3RwcmludCI6MS44LCJkZWNsYXJlZFVuaXQiOiJLR00iLCJvcGVyYXRpb25hbFNjb3BlIjoiQ3JhZGxlVG9HYXRlIiwicHJpbWFyeVNvdXJjZWRSYXRpbyI6MC4zLCJyZXBvcnRpbmdTdGFuZGFyZCI6eyJ0eXBlIjpbIlN0YW5kYXJkIl0sImlkIjoiaHR0cHM6Ly93d3cuZ2xvYmFsYmF0dGVyeS5vcmcvbWVkaWEvcHVibGljYXRpb25zL2diYS1ydWxlYm9vay12Mi4wLW1hc3Rlci5wZGYiLCJuYW1lIjoiR0JBIEJhdHRlcnkgUGFzc3BvcnQgR3JlZW5ob3VzZSBHYXMgUnVsZWJvb2sgLSBWLjIuMCIsImlzc3VpbmdQYXJ0eSI6eyJpZCI6Imh0dHBzOi8vYWJyLmJ1c2luZXNzLmdvdi5hdS9BQk4vVmlldz9hYm49OTA2NjQ4NjkzMjciLCJuYW1lIjoiU2FtcGxlIENvbXBhbnkgUHR5IEx0ZC4iLCJyZWdpc3RlcmVkSWQiOiI5MDY2NDg2OTMyNyIsImlkU2NoZW1lIjp7InR5cGUiOlsiSWRlbnRpZmllclNjaGVtZSJdLCJpZCI6Imh0dHBzOi8vaWQuZ3MxLm9yZy8wMS8iLCJuYW1lIjoiR2xvYmFsIFRyYWRlIElkZW50aWZpY2F0aW9uIE51bWJlciAoR1RJTikifX0sImlzc3VlRGF0ZSI6IjIwMjMtMTItMDUifX0sInRyYWNlYWJpbGl0eUluZm9ybWF0aW9uIjp7InZhbHVlQ2hhaW5Qcm9jZXNzIjoiU3Bpbm5pbmciLCJ2ZXJpZmllZFJhdGlvIjowLjUsInRyYWNlYWJpbGl0eUV2ZW50IjpbeyJsaW5rVVJMIjoiaHR0cHM6Ly9maWxlcy5leGFtcGxlLWNlcnRpZmllci5jb20vMTIzNDU2Ny5qc29uIiwibGlua05hbWUiOiJHQkEgcnVsZSBib29rIGNvbmZvcm1pdHkgY2VydGlmaWNhdGUiLCJsaW5rVHlwZSI6Imh0dHBzOi8vdGVzdC51bmNlZmFjdC5vcmcvdm9jYWJ1bGFyeS9saW5rVHlwZXMvZGNjIiwiaGFzaERpZ2VzdCI6IjYyMzkxMTlkZGE1YmQ0YzhhNmZmYjgzMmZlMTZmZWFhNWMyN2I3ZGJhMTU0ZDI0YzUzZDQ0NzBhMmM2OWFkYzIiLCJoYXNoTWV0aG9kIjoiU0hBLTI1NiIsImVuY3J5cHRpb25NZXRob2QiOiJBRVMifSx7ImxpbmtVUkwiOiJodHRwczovL2ZpbGVzLmV4YW1wbGUtY2VydGlmaWVyLmNvbS8xMjM0NTY3Lmpzb24iLCJsaW5rTmFtZSI6IkdCQSBydWxlIGJvb2sgY29uZm9ybWl0eSBjZXJ0aWZpY2F0ZSIsImxpbmtUeXBlIjoiaHR0cHM6Ly90ZXN0LnVuY2VmYWN0Lm9yZy92b2NhYnVsYXJ5L2xpbmtUeXBlcy9kY2MiLCJoYXNoRGlnZXN0IjoiNjIzOTExOWRkYTViZDRjOGE2ZmZiODMyZmUxNmZlYWE1YzI3YjdkYmExNTRkMjRjNTNkNDQ3MGEyYzY5YWRjMiIsImhhc2hNZXRob2QiOiJTSEEtMjU2IiwiZW5jcnlwdGlvbk1ldGhvZCI6IkFFUyJ9XX0sImhlYWx0aFRyZWF0bWVudCI6W3siaWNhckRpc2Vhc2VDYXRlZ29yeSI6IjUiLCJ0cmVhdG1lbnREYXRlIjoiMjAyNC0wNy0yNCIsInByb2R1Y3RJZCI6Imh0dHBzOi8vcHJvZHVjdHMuYXB2bWEuZ292LmF1LzkzOTE1IiwicHJvZHVjdEJhdGNoSWQiOiJodHRwczovL2lkLnlvdXJicmFuZC5jb20vMDEvMDkzMTIzNDU2Nzg5MDcvMTAvQUJDMTIzLzIxLzQ1Njc4OUEiLCJwcm9kdWN0RXhwaXJ5IjoiMjAyNS0wNC0yMCIsInByb2R1Y3ROYW1lIjoiUEVORVpJTiBBTlRJQklPVElDIElOSkVDVElPTiIsImRvc2VSYXRlIjp7InZhbHVlIjoxMCwidW5pdCI6IktHTSJ9LCJ3aXRob2xkaW5nUGVyaW9kIjo1fSx7ImljYXJEaXNlYXNlQ2F0ZWdvcnkiOiI1IiwidHJlYXRtZW50RGF0ZSI6IjIwMjQtMDctMjQiLCJwcm9kdWN0SWQiOiJodHRwczovL3Byb2R1Y3RzLmFwdm1hLmdvdi5hdS85MzkxNSIsInByb2R1Y3RCYXRjaElkIjoiaHR0cHM6Ly9pZC55b3VyYnJhbmQuY29tLzAxLzA5MzEyMzQ1Njc4OTA3LzEwL0FCQzEyMy8yMS80NTY3ODlBIiwicHJvZHVjdEV4cGlyeSI6IjIwMjUtMDQtMjAiLCJwcm9kdWN0TmFtZSI6IlBFTkVaSU4gQU5USUJJT1RJQyBJTkpFQ1RJT04iLCJkb3NlUmF0ZSI6eyJ2YWx1ZSI6MTAsInVuaXQiOiJLR00ifSwid2l0aG9sZGluZ1BlcmlvZCI6NX1dfX0.-amdNwVarkye5oGtMiWsJ2ml9BQZomfuzrUBfsZN_D7LzF8N4NsLWbOCctBggLIVnOBja-TQnM6QfwW_X0jBAQ"
}
Loading
Loading