From c0b0cabe6fe0260a5d451c1f13dc82162c524d6d Mon Sep 17 00:00:00 2001 From: Marton Moro Date: Wed, 18 Dec 2024 12:14:20 +0100 Subject: [PATCH] chore(providers): import mina-credentials/validation, bump mina-credentials --- apps/docs/src/components/sample-data.ts | 596 ++++++++++++++++++++---- apps/docs/src/components/test-zkapp.tsx | 12 +- bun.lockb | Bin 343856 -> 343130 bytes package.json | 5 +- packages/providers/package.json | 2 +- packages/providers/src/validation.ts | 2 +- 6 files changed, 511 insertions(+), 106 deletions(-) diff --git a/apps/docs/src/components/sample-data.ts b/apps/docs/src/components/sample-data.ts index 1a960ec..7c52363 100644 --- a/apps/docs/src/components/sample-data.ts +++ b/apps/docs/src/components/sample-data.ts @@ -47,38 +47,6 @@ export const sampleCredentialUnsigned = { }, }; -export const sampleCredentialSimple1 = { - version: "v0", - witness: { - type: "simple", - issuer: { - _type: "PublicKey", - value: "B62qqRryvaLH99vsPx6kL8cuWFq2AZZsDjaQftab4hpGA5Du3Jju6kP", - }, - issuerSignature: { - _type: "Signature", - value: { - r: "18608032094363426526383612175861105396636219252290095846645842383039012234860", - s: "16614231870158121751259974049410646935461628042855821394498854808344556066615", - }, - }, - }, - credential: { - owner: { - _type: "PublicKey", - value: "B62qqBvUfKppzx3omv5g9YSooRuqA3YVG5zq4j33tN2THA6tGc7JUij", - }, - data: { - age: { _type: "Field", value: "18" }, - name: { - _type: "Bytes", - value: - "416c696365000000000000000000000000000000000000000000000000000000", - }, - }, - }, -}; - export const sampleCredentialSimple2 = { version: "v0", witness: { @@ -178,37 +146,6 @@ export const sampleCredentialSimple3 = { }, }; -export const sampleCredentialSimpleFromExample = { - version: "v0", - witness: { - type: "simple", - issuer: { - _type: "PublicKey", - value: "B62qq6oPcoE9zrGW6uEQFtsYZHoex456Y6MK2LPNqZW9XmypWJU6KMa", - }, - issuerSignature: { - _type: "Signature", - value: { - r: "9030273782322014675499193864592518852168865919242204358702036012638305849619", - s: "23670605160285433709733021087204389001180791213413334749153106329466229044706", - }, - }, - }, - credential: { - owner: { - _type: "PublicKey", - value: "B62qrVPwPbeogxQKzPcV5dTSTmNo39g1T2hAM19cJ5Dtwk1p4STmKAE", - }, - data: { - nationality: "United States of America", - name: "John Doe", - birthDate: { _type: "UInt64", value: "633830400000" }, - id: { _type: "Bytes", value: "9fef98a68c7e953e538853e6a19e0a85" }, - expiresAt: { _type: "UInt64", value: "1848700800000" }, - }, - }, -}; - export const sampleCredentialSimple3WithMetadata = { version: "v0", witness: { @@ -734,7 +671,44 @@ export const samplePresentationRequestHttpsRecrusiveNoContext = { inputContext: null, }; -export const samplePresentationRequestHttpsFromExample = { +/* ***************************** */ + +export const sampleCredentialSimpleUpdated = { + version: "v0", + witness: { + type: "simple", + issuer: { + _type: "PublicKey", + value: "B62qqBRH3tNvmZUwY6it6SAaiS2Mx1Zi2NqExvsRqNNJZFbZ2SZo34j", + }, + issuerSignature: { + _type: "Signature", + value: { + r: "12237368200570544388756696197527812988602072545762708510637606617881815414166", + s: "18498477091887383992694619839012590875352429373220077631585994996512199561895", + }, + }, + }, + credential: { + owner: { + _type: "PublicKey", + value: "B62qrVPwPbeogxQKzPcV5dTSTmNo39g1T2hAM19cJ5Dtwk1p4STmKAE", + }, + data: { + nationality: "United States of America", + name: "John Doe", + birthDate: { _type: "UInt64", value: "633830400000" }, + id: { + _type: "Bytes", + size: 16, + value: "f6c75189e8326f524171107814a952bb", + }, + expiresAt: { _type: "UInt64", value: "1848700800000" }, + }, + }, +}; + +export const samplePresentationRequestHttpsFromExampleUpdated = { presentationRequest: { type: "https", spec: { @@ -743,67 +717,47 @@ export const samplePresentationRequestHttpsFromExample = { type: "credential", credentialType: "simple", witness: { - type: { type: "Constant", value: "simple" }, + type: { _type: "Constant", value: "simple" }, issuer: { _type: "PublicKey" }, issuerSignature: { _type: "Signature" }, }, data: { _type: "DynamicRecord", + _isFactory: true, maxEntries: 20, knownShape: { nationality: { _type: "DynamicString", - maxLength: 50, _isFactory: true, + maxLength: 50, }, expiresAt: { _type: "UInt64" }, id: { _type: "Bytes", size: 16 }, }, - _isFactory: true, }, }, - signedData: { - type: "credential", - credentialType: "simple", - witness: { - type: { type: "Constant", value: "simple" }, - issuer: { _type: "PublicKey" }, - issuerSignature: { _type: "Signature" }, - }, - data: { age: { _type: "Field" }, name: { _type: "Bytes", size: 32 } }, - }, - signedData1: { - type: "credential", - credentialType: "simple", - witness: { - type: { type: "Constant", value: "simple" }, - issuer: { _type: "PublicKey" }, - issuerSignature: { _type: "Signature" }, - }, - data: { age: { _type: "Field" }, name: { _type: "Bytes", size: 32 } }, - }, acceptedNations: { type: "claim", data: { _type: "DynamicArray", + _isFactory: true, maxLength: 100, innerType: { _type: "Field" }, - _isFactory: true, }, }, acceptedIssuers: { type: "claim", data: { _type: "DynamicArray", + _isFactory: true, maxLength: 100, innerType: { _type: "Field" }, - _isFactory: true, }, }, currentDate: { type: "claim", data: { _type: "UInt64" } }, appId: { type: "claim", - data: { _type: "DynamicString", maxLength: 50, _isFactory: true }, + data: { _type: "DynamicString", _isFactory: true, maxLength: 50 }, }, }, logic: { @@ -895,6 +849,7 @@ export const samplePresentationRequestHttpsFromExample = { claims: { acceptedNations: { _type: "DynamicArray", + _isFactory: true, maxLength: 100, innerType: { _type: "Field" }, value: [ @@ -914,47 +869,490 @@ export const samplePresentationRequestHttpsFromExample = { "24056497251096418057564183210090983888753346776669738257197194846336719337693", }, ], - _isFactory: true, }, acceptedIssuers: { _type: "DynamicArray", + _isFactory: true, maxLength: 100, innerType: { _type: "Field" }, value: [ { _type: "Field", value: - "22082189595001837884155357954513940807511340516883967417732126879116249560446", + "5829798620528221164923475031411230726737474930308766915907721384085934614251", }, { _type: "Field", value: - "14379306716720988239391174911726766627815364252811450729810497452764493702952", + "22272326066070346302181355471642228895021114735537987149163045306117362247163", }, { _type: "Field", value: - "13289235255715902058177069443910799078901994677003173861989269088691152237602", + "28847437109329576273273699361208638635072195817455078955021492954147148718403", }, ], - _isFactory: true, }, - currentDate: { _type: "UInt64", value: "1732881510253" }, + currentDate: { _type: "UInt64", value: "1733918837371" }, appId: { _type: "DynamicString", + _isFactory: true, maxLength: 50, value: "my-app-id:123", - _isFactory: true, }, }, inputContext: { type: "https", + action: "my-app-id:123:authenticate", serverNonce: { _type: "Field", value: - "19727979349943398352101580661888473094612414811013987113443744841719874732783", + "17107116096673349503346389785413950052660281203260762106134117160043867421914", + }, + }, + }, +}; + +export const sampleCredentialFromPresentationTest = { + version: "v0", + witness: { + type: "simple", + issuer: { + _type: "PublicKey", + value: "B62qoVptCUV76BrLZ3wf81LAwWcpX6gbHM7RfMBfCJ4o1ss2hSWXoWn", + }, + issuerSignature: { + _type: "Signature", + value: { + r: "19910580226962503847405936075240397112736734558480295040043264333028086265769", + s: "24693551695089287833725718042123295628750170153678287513640795644857253570737", + }, + }, + }, + credential: { + owner: { + _type: "PublicKey", + value: "B62qrVPwPbeogxQKzPcV5dTSTmNo39g1T2hAM19cJ5Dtwk1p4STmKAE", + }, + data: { + age: { _type: "Field", value: "18" }, + name: { + _type: "Bytes", + size: 32, + value: + "416c696365000000000000000000000000000000000000000000000000000000", + }, + }, + }, +}; + +export const samplePresentationRequestFromPresentationTest = { + presentationRequest: { + type: "no-context", + spec: { + inputs: { + signedData: { + type: "credential", + credentialType: "simple", + witness: { + type: { _type: "Constant", value: "simple" }, + issuer: { _type: "PublicKey" }, + issuerSignature: { _type: "Signature" }, + }, + data: { age: { _type: "Field" }, name: { _type: "Bytes", size: 32 } }, + }, + targetAge: { type: "claim", data: { _type: "Field" } }, + targetName: { + type: "constant", + data: { _type: "Bytes", size: 32 }, + value: + "416c696365000000000000000000000000000000000000000000000000000000", + }, + }, + logic: { + assert: { + type: "and", + inputs: [ + { + type: "equals", + left: { + type: "property", + key: "age", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "signedData", + inner: { type: "root" }, + }, + }, + }, + right: { + type: "property", + key: "targetAge", + inner: { type: "root" }, + }, + }, + { + type: "equals", + left: { + type: "property", + key: "name", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "signedData", + inner: { type: "root" }, + }, + }, + }, + right: { + type: "property", + key: "targetName", + inner: { type: "root" }, + }, + }, + ], + }, + outputClaim: { + type: "property", + key: "age", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "signedData", + inner: { type: "root" }, + }, + }, + }, + }, + }, + claims: { targetAge: { _type: "Field", value: "18" } }, + inputContext: null, + }, +}; + +export const sampleCredentialRecursiveUpdated = { + version: "v0", + witness: { + type: "recursive", + vk: { + data: "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", + hash: { + _type: "Field", + value: + "10004415226961678011613781895787507059143191442658557645176003500242334644061", + }, + }, + proof: { + _type: "Proof", + proof: { + name: "InputProof", + publicInput: { + _type: "Struct", + properties: { + context: { _type: "Field" }, + claims: { + inputOwner: { _type: "PublicKey" }, + data: { + age: { _type: "Field" }, + name: { _type: "Bytes", size: 32 }, + }, + }, + }, + }, + publicOutput: { + _type: "Struct", + properties: { + owner: { _type: "PublicKey" }, + data: { + age: { _type: "Field" }, + name: { _type: "Bytes", size: 32 }, + }, + }, + }, + maxProofsVerified: 0, + featureFlags: { + rangeCheck0: false, + rangeCheck1: false, + foreignFieldAdd: false, + foreignFieldMul: false, + xor: false, + rot: false, + lookup: false, + runtimeTables: false, + }, + }, + value: { + publicInput: [ + "0", + "26227234720204021054517909417970907532340033574635469836085766982785994507247", + "0", + "18", + "65", + "108", + "105", + "99", + "101", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + ], + publicOutput: [ + "26227234720204021054517909417970907532340033574635469836085766982785994507247", + "0", + "18", + "65", + "108", + "105", + "99", + "101", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + ], + maxProofsVerified: 0, + proof: + "KChzdGF0ZW1lbnQoKHByb29mX3N0YXRlKChkZWZlcnJlZF92YWx1ZXMoKHBsb25rKChhbHBoYSgoaW5uZXIoNjU3MmJiMmU4YzNlOGIxOSBiMGExNzE2YjA1MjhlMjBhKSkpKShiZXRhKDkyMDdlMzdjNzZmNWZiOGUgNmYwYmNlZDM1Y2NhMmQzNCkpKGdhbW1hKDQ2YzJkMjg5NTdmOWI2MjcgNTU4MjhjZTBhNmM4YjViNCkpKHpldGEoKGlubmVyKDAzODIzNmY4ZTM3ODY0MzQgOWIyYmU1ZDM2NjA0NzdhOSkpKSkoam9pbnRfY29tYmluZXIoKSkoZmVhdHVyZV9mbGFncygocmFuZ2VfY2hlY2swIGZhbHNlKShyYW5nZV9jaGVjazEgZmFsc2UpKGZvcmVpZ25fZmllbGRfYWRkIGZhbHNlKShmb3JlaWduX2ZpZWxkX211bCBmYWxzZSkoeG9yIGZhbHNlKShyb3QgZmFsc2UpKGxvb2t1cCBmYWxzZSkocnVudGltZV90YWJsZXMgZmFsc2UpKSkpKShidWxsZXRwcm9vZl9jaGFsbGVuZ2VzKCgocHJlY2hhbGxlbmdlKChpbm5lcihhMDI0N2Y0ZjIyMjM3OWQ2IDQzZDk4OTYyZTMxOWM5MmIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigyOTBlYjViMDM0ODZiMTc5IGNiM2NlNmFlOGEzZTI5NzMpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig3M2ZlNzQ4NmY0NTI2YzhhIDFlMTQ3MDFlODcxZDczZWYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigzMTBiMGFkNDczNGI4YTY0IDUwZmI2NWYwZGEwOWRiM2IpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig1M2U4ZTM1NjZiMTk0YzM1IDRiYTY0YTIxYTkzZTg4NjIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig5MWJlMTJmYTg4OGY0NjE3IGM0YjY3Mjg1MGQ2M2JlZjApKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig5Zjc1OWE3MTk0MzBhYTM1IDZmYWEyMWI4MmUyZjY5YzgpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigwNjc4YjM5MjQxYTkzYmZmIDdkNTg0NDE0MmUxNjllY2UpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig5YjA5OGZiYjY2OWRkZjdmIDNhMGI5OTg5NDI5YzU2YTYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig2ZTI0YzQ1ZGZhMmY4NmVjIGRmNzg3ZWRlYjRlYzIzYTYpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigxOWNkM2RjY2JiNGI4NjUzIGZhNmM2ZDI5NjlmZDkzZTcpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcig4YWZkM2VkNDFlZDQ1NDU4IDk2OTVmM2UxZDYwMWExNWUpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigwNWQ2M2NiNjE0MDJjMTYwIDc2MTI4MzZmYTkyMWNkYzApKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihlNDYyMDAzZDMyNGRkZjg5IDhiNjYyOTQ3ZWY4ZjM2MTgpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcihjODc3NGMyOWI0M2QyNDY0IGM5YzJiNGU3YWRhOWM4YWIpKSkpKSgocHJlY2hhbGxlbmdlKChpbm5lcigxZmZiY2VlNjlkODE4ZGZkIDc5NmJhODk2ZTk4N2I2OTIpKSkpKSkpKGJyYW5jaF9kYXRhKChwcm9vZnNfdmVyaWZpZWQgTjApKGRvbWFpbl9sb2cyIlxuIikpKSkpKHNwb25nZV9kaWdlc3RfYmVmb3JlX2V2YWx1YXRpb25zKGU1ZWIzMjM4NDg0YWY2NzEgMDAwNTM1M2Y0NzNkMmQ0NSA5MWMzNTA4ZmU5YjNkZWI3IDBjZjE4YWI0Mjc1MTI2NTgpKShtZXNzYWdlc19mb3JfbmV4dF93cmFwX3Byb29mKChjaGFsbGVuZ2VfcG9seW5vbWlhbF9jb21taXRtZW50KDB4MTA4RDlBODZFQkRFRUQ0ODk3QjIxM0VFRDMxQzI0QzFFRkZBOURDRTJCNEJFQTNDNzlEM0UyMzA0MDZFQzIwNiAweDE5RjJDNzVDREYxNEEyNjkxODZBMzM5OENEMzk5ODQyM0U3MjRGNENDNkE0NzcxMTgxOTk3QzQ1RThCN0RCOTcpKShvbGRfYnVsbGV0cHJvb2ZfY2hhbGxlbmdlcygpKSkpKSkobWVzc2FnZXNfZm9yX25leHRfc3RlcF9wcm9vZigoYXBwX3N0YXRlKCkpKGNoYWxsZW5nZV9wb2x5bm9taWFsX2NvbW1pdG1lbnRzKCkpKG9sZF9idWxsZXRwcm9vZl9jaGFsbGVuZ2VzKCkpKSkpKShwcmV2X2V2YWxzKChldmFscygocHVibGljX2lucHV0KDB4M0E4M0M3Qzg0MDNGMDNBRkQ1OURDMUVENEVFRUZFRTg1MDkyM0VBNjQ2MUUyMTg1NUNBMjQ3MTlDNTcwREZGOCAweDA0ODdFRTJGQzNGREFDMEE1OTdDMDVDOUM3Njc3N0ZBNDI5MzlCOTg2RTcwRTY3M0MzOUY2RUM5QUYzMzg0M0UpKShldmFscygodygoKDB4MDJDNTFGQ0QxQ0E5NjA1MTI3NTYzODU1QTlCNTFBNjgwOUI2RTVEMkUwQkU3OERFMjdBREFBQzk2Q0E3MTk3QikoMHgzMUE2RjY4MTlGMzNGNjc1RkE2NTI4MUZBODVBMzI4ODlFQTY3QUI4MTQxRjE4NTIxNTg1NENBODEwNzAxQzk2KSkoKDB4M0RFOUYxOTcyMzJENURFQzU5MDQ3RUMwNkM5QTg4OUU4QzI5Q0JDNUVGNEIzODdCNjA4RTg2RjlBMDM4NDU4QSkoMHgxNzhGOTAwODlCMkQzOEM0MkRGQjhBRjkyNjAzMzBBRUM5RTE5NENBRUVEMDRCNjNDNEQ0NzBGRjZEQzNBN0Q5KSkoKDB4MUM3OTI0NTIwNzczMzNEODRCNDQ0MUZBQzQ1NDUxMEM4RjFEQUE3QzdFODVFRjU5MUU3MjlFNEJDQkI4M0NFNikoMHgwQTY4ODAzQzE1NzFEREVCMDIyOTczMThENDNBOTA2NzBGRTM2NDlDQzAwMjdCMEExMDFGOTcwRTU1NkE4MjZDKSkoKDB4MTc5QjE3NjQ0RTQ2N0IzRkE0RDNDOTU0NTE1RDcxRTdDOEJENzhFRTE3OUE0NEFDNEREQTYzMjUzMjIyMjAxQSkoMHgzNjk5RTBFNjA4NUVEMEI0N0RFNTU4NTg4MjQ1QzAyNEQ2RUVGQkY4ODRDQjcwMEJDRDRGMjY3MjNGQzE1MTc1KSkoKDB4MkE0QjBBQzhFREIyMTc3OTg0NTA3MzM2MjRDRUQ2RjNDQkQ3OEM2M0E3QUZCMEQ2NENBOUI5RDYzOTExRUZCMCkoMHgyOTIxNzg5MzU5ODk0MjJBRTEzM0Y1QTBBN0ExNjU5QjRCN0FDMDJBMUY4QTFEQjVDOUY5NDYwMkIzMzk3MjQ3KSkoKDB4MjRBMERFNjI0RjY1NUQwQkY5QjFDQjBBQURCRDY4QTUwQzlCOUMyQ0UxRTk5QzJCRUEyM0FCQjNEMTgzOEJBMykoMHgwNkJGNENFMTYwQjZBQjNGREZDMDREQjRFODNDNEU2MTk2NEQ3MUJCQkNDOTRDREQ0NTIzOEE2OTNBRDkwMDg1KSkoKDB4MjNDRDVERDExMTM4MkRCRjVGNzQ4NjIwQjBCNjE0RTUyOEU3N0NCQkNBM0IxMzAxMjc0RUY1MjUyMDZCNzFCRCkoMHgzMTcxOThCQkVGQUUxNEY3NDhEQzQ2QUJFMjcyNjcyMzc2M0IxOUQ0OTg1MkEwQUIzN0JCM0YxNUM2NjM2NDMxKSkoKDB4MzI5QjhBOTNFNTUxOTgyOTU3ODYwMTUyRUM3QjM2RkYwM0NEQkJBRkZGQTZGQTFCQkEyNjE1NTBCREVCM0M3QikoMHgyQTY1NkYzRTM0M0ZGMUU3QjNCN0MzQzlEQTkxRDEwMjdDODZFREY2NUVGQjYzQjA1MEQ1Qzk5ODc3ODRBMUUyKSkoKDB4MkZGRjYyNEZDOTVGOTFCMERENjJFNzdGODY2NzYwRTZGQkNBMTVEM0U5NkJGQzgxQzEzREE2Njk1RUUwRTFENCkoMHgyRkI1MjcxMUNBRDc3NDI1RUJGQ0FBNTNEQjkwMUU4QTdDNUY4MjkwM0Y2QjgyQzI0MEExMTY1MTdEOEQ3QTVCKSkoKDB4MkRDQTk5Nzg4MEZGM0E3OEJEMjlDMUI0RDZDNjlCQkQ0MDJCMzMxNkYxNjA2MTREN0MzNEQ2MTA4NUY5Rjg0QykoMHgyNzM2MUU0RjlEOTRGNDU4NzY2QkYwNkIyRjJEQUUzNURBRUI0NEQzRjdFOTQ1MjdCOTFDMjc1OEIwOTZCNjczKSkoKDB4MUE0Njc1ODZGOTlDQjdFRjNCNDNFNjk1OTkxQjBFNEREQ0YyMkQxMUQxNDVFNTJDODY3MTBFNEM2MDRDQzU2MSkoMHgwMzIwN0I0QzU1QjA2NDA3MzgyMjFCOTgxMjQzMUE2OTYyMDI4ODhGMEJCOUZDMzM3NTcwNkVGNkQzMkUyMjA3KSkoKDB4MjE1Q0E3NDVBMkIzNUQ0Qzk4MDM0M0UyRDU1RkEzRUI3REFDQTc5MkU1NzM3NzE4REVCMzhDRDlFRUY4MTQ5MikoMHgyQzEwQjk2OUU4Q0M5QzZDNzRCMUE4NTQ2MEFCOUM0RDI2RkQ3NTE3QThDQzBERjM1RTI4Q0I4OEE3RTQ5OTA0KSkoKDB4MTU0NjRFMEMzMTNGRDM1Q0Y0MEM5MTA5NEU4M0I0NTBCMkFFNTE0MDczRjhEOEY4NDU2NDdCMjI2RkMwODQ3QSkoMHgzOENCOTAyMzg2ODMzQkM1M0M1QUM0MjdFQjFGMzBERjU0NkUxRDBCQTA3MkNEOTcyRDRGRkFDQzc5ODlENDlBKSkoKDB4MjhGNUY3NTk1NjQ4MDExOERBMTkyNERGOTRFMkFBQkJDM0IzQ0RGRTYyNkZFRjVDRkRCQ0ZGM0FBMUUzRTNEMCkoMHgyNzhBQjA4QTBENTc2OEJGRkZBNzhDNUY2MTlGMDEwNzAzNjE3MjgzMkREODg1RjMwOTQxMkI5RkVFQUZBOEFGKSkoKDB4M0E4NThCNTkwNjk1RkRDNjkyMTE3NTYzRUQ5RjRBMjdDMjRGNEFFMDg0NEI0MDlCQUE3MkVDOEExN0Q1N0MwMikoMHgyQTBDQUFBMzRCNkJDMEI2NzYyNkEwOUUxMkM3ODZBQTIyNkE4ODBENUE1QThGMURENTlFOTJBRjg2MjIyMzc4KSkpKShjb2VmZmljaWVudHMoKCgweDEwRjM1NTMyRUFBQ0ZFRUIyRENCQTdCMEQ2RkU1MkRDM0MxQkI0QTAxMEZEQTNGQzRCNEVGNTVDMzg0Q0M2OEIpKDB4MUJFMkM2MjFGQ0EzMUM5RTNDQTQ2RUFCNjg1QTcwQjA4ODZDQUZEREQzRkM1MUZEQjRDN0M2NzdGMzRBNTRBNykpKCgweDFGQkZDODZCOUQ3M0Y1QTExMjA4RTczMTczNzRFNDg2MTc2MEJDNEQ0QjUxNjY1QjYyRTNFMDQ4OTA1RTQyMzcpKDB4MkMyQjcxQTVGOTkyMkExNzREQkNFNDVFNjYxREEyQjZDQTgzMzJDNEVBOTk3MTI4ODEzRkVGMjE2MTY1QTlCMikpKCgweDA4RkY1NUNBMUVGMURBODU3NzgzOEEyMTdDNDBEREI4MjIzMTBERUQ2QjNDNjNDRDI5RDVFNkMxMERGQkYwNDEpKDB4MzcwMDg2Q0JFRDJGODIxMTM5RkYzMTVCRTg0MEM3QkM5OTdCOTM3NEYyOThDNDhCQTk2MEU3MTg2NzExQjJGOSkpKCgweDNDOTIxMDEzRDhGNzNBMjhCNjg2N0QzQUVGQTY1NURFMzFEOUFDMjRFNEE0MjlEMTkxODBFMzMxRkQ0Q0FGMzUpKDB4MkM1OUUzQjNGMjI3OEE5Qzg4RjQ1QkUxMzY2RURGRTU2QjEwMjNCNTI1NUM1MUM4RkY4MUZEQTI5MDRCMjlBMCkpKCgweDMwNDQ2MjcwRTlFQzI5NTNGNTE5QTk1OTc3NDM3RTI5Mjc0MTZFQkE3MjdGODY1NTA4QUM4RTlFNjNEODZEMzIpKDB4MjcyRkJBM0NCODBCRTIwOTk2MjNGODZFMkNFRjdDMEU0NzBCNjBERTE1NTM0NkM0Mzg0NzZGQjZFRTFDNjBFNykpKCgweDI5OENFQjlGQ0E0OTkyN0QwM0NCMkE1NzQwMkUxMTc1RkY3REE5OENDNTVBMjU3N0M0NDJCMzQwMkY1NzQ1MTEpKDB4MUJGNjU5NTM3OTQxODQyNEZERUQ1Q0U2RDAyRjRGNUU1MzI0OTc1NzU0RTgwQjM0MjM3Q0FBQzc1QTJCMTI0QykpKCgweDBGOEE5OTc0RDRCQjM0NEQ1NTZBQ0ZCOUQyMjg1NTQ3OTJBRDMyNUY2RjBGNDlFREUxRTUzMDgzNjRFRTA4MzkpKDB4MzYzRDFFMURDM0FGQjkzM0JGOTgyODZGRDVFQjExQjQ5NDBENjAxNjAxRURBRTU4RTczMjhEQzMxNzdEQTZGMykpKCgweDI3Qjg5QUZDMTA0NDBERUZGQTA0Qjc3NDVCMEM0Q0RBMDQwM0REN0RBNkU1NDg1NzczRDVBQjhFQjYyQzg1NkQpKDB4MjBFRTBCRjAzNkMwMDc1MjgzMEQwQjBCNUE2QTg3QUQzODlEMDcxODAwRTQ3NEVBNzRFNTY1RUEyODdFNzA2MSkpKCgweDJCMTIxRTczQkM1ODkwOUUwQUY4Q0MwRDdEMjkxRjgwQkE5QkI2QzJGOTgzRDNDQjhEMUI0RjY5NzBDOTIyNzQpKDB4MTgwRUNDRUY0Q0ZDRTM5RTRBOThGRjBBMUQ1MDcxN0I2QjY4NEUxMzYzNzEwNzAwRDZGNDkxQjEzQTA0NkQ0NykpKCgweDE2MkE2RUM0ODAxNjUwNDE1MEJERjE4M0FEODQwNTBERUVFNzJFQ0Y2RjBDNjhGRjFFQTAwREJBNTkxQjM4Q0IpKDB4MEVFQzI3NjY4OEFDM0I2RDIwNDA3ODcxRUQ0NDIxMjZCOUFERjczOERGQzI5NDdBQjU3QzlCQ0QzQUZCMUNGRikpKCgweDExNzdGMjczRTM0QTlFNTlFNDAxNDBFQTc1MTI0QzczRDJCMDk0Q0RDRDU3MDg2QjM5NUNENkQ2NDE1REEwNUEpKDB4MERDNUM2RDUzQUJBNzIxRDM0OTQyRUEyMUFBMzlERUQ1OEVBQTBBRTE1QzNGRTQ1Mjc3OTdDRTU3NTVBQjIzRikpKCgweDExQjBCQjk5MjU1ODEyQzNGNDQ1QzM4ODRBNTkzQkI3QzVEMzc3MDI4QUZCRkRGMTlBOTRBMDU0RDExRDg5NTEpKDB4MDA1MjZEODIyNDQxNkZCMzM0QUUwNkE0MEFBNDc1ODc4RUVFQUM4QkNBMUNCMEEwOERCNzQ4REFFMDQ2RTU3NykpKCgweDI5MjhCQUQ4QjA5MzExODEzQjYyRUE1MEZBREE0ODc5MTE3REZCNTI3MzI1QUZDMjJDM0Q3MDZCODA0MjIzQTApKDB4Mzc2QTdEMjMwODE1M0JGMEVENEIyODVFM0EwQjk1NURERUI0QkU0Mjk2NkE4NkRFQjRDQzU2MzY1MjkzMDk4NCkpKCgweDBEMkVDMkRBOENDQjYzMTI0QjAxQjUyRDdEQTAwNDgwOURCNUNDMkRDREE0MzI5MjlCMDNFRTI5QTdEQjkyM0YpKDB4MjFDMDkwQkYwRkIxREVCQzVBQkFCMzcxMDhEN0Q1QzMxNjI3QUE1MzA5NDA3MEM4MzdBOTFEM0Q5QjlGMTRFQykpKCgweDI5NDUyM0ZBMzRDNjk5OTMyNDYxRjJGRkRBOTFEQzAyODU4QTBBOUI5N0E5RDlGOEYxNzkwODRFNTNCQkY3QTApKDB4MTBBMjA2OUI1REJDQjQwOTFBODg1QTA1MTYxNTU4NDcyNUY3MTI5N0QyNjhEOEYzMTNFQkE1QUQ1M0REM0FBNSkpKSkoeigoMHgyOERBNzkzRTY2RDdCMzc2RUVDQzQ3REM1QUNEODk1RjZDNTg5RTQ4OTBCQ0I4NDBFRjQ3MDM4NzE3RDQwRkE5KSgweDAxQUFFOTQxQzQxOEFGRDc1QURCNzBGMjg2MjFFMjI3NkZFNzAyMTVERDJDRTBBQkE0OUZDRUMzRjM5Q0NFNjIpKSkocygoKDB4MDE5NzExNjdCNDY2NjdDQUJFRUM1RDE1OENCOEI2ODlCNTA3MkI4QjlFMTRDQzJEQzQ3NTI0NDQyOEJFNjcyNikoMHgwMjMzQjU3NTNGMUQ3NjYwMDVGNThFQTJENDRCQTUxMkQ4Nzg1RUU2NDFCNThFQTUyMThGQjRBRjNDRjgwOEQyKSkoKDB4MEMxODlGRTc1OUQ5NDFDRTJCMDc3MkRDNzUzNkE4Mjg1MDI3NUMwQUJDN0ZBRUUwQkEzNUUyMEEzMEI1RDUyOSkoMHgwOTEyNzRCQTIxREI4QUUxREVDMjlFODBDNDlBM0Y0OERCMjI5NjJFOTdDMjg2NjBFNzNFOUJFQTQwMUU5MUVGKSkoKDB4M0M3QkIxMEVCNjE5MEM1NzQ3MUNCQTE1MTk4MThBN0I0MEY5QzFENkZCNjRBNDgyRDRDREIzQTgyQ0ZEQTQ5NSkoMHgzOUE5OTE0QkQ5ODlEQkRGNzg4NDAxNERCRjQzRkNFNTBGM0M5QUIyOUY5MUM3NTFEQTkzODAwMjU5MDAyQzNCKSkoKDB4MTU3MzlGMjkxQTY3MDc0ODU4RjY5MzUyQUMzQTY2NTdFMDVDMzZBMDRCNjhEREQyOUI3RkNBNjZGQTE0QTgzNCkoMHgwNUY1RjU0QTdDNDFDMjY3Qzg0MTFDOTI3MzhENEVDMzgyNDMyMjY0NEE4OTQ0RTRBM0YxQ0Y1OTQzMzUzQjU2KSkoKDB4MjVGNzEyOTQyMDIxRjcwOURGN0YwNDI1OEYzQkMzODA0N0U5MDM1QjFCMkEyMDYxOTVCRDkzNzdCMUZDMjEzQykoMHgyNjNCMDAxNzEyMEYwREQ3RURBREREMTU2MDgyQkRCRjg0RkJCOTkzOTA3RjBCQzY0QTgzNkU0QUVFQTIyNzg5KSkoKDB4MjE4NjQ3RTFFMDlENUVFOTIwOUVGNTA3MEYzOEUyMjhCRDNENzczNzdCOTlBQTI2RUY5MDM2NDM3REEzOEZBNSkoMHgzQTcxRjJEQzBFOEJEOTExMzJDMDk2RDRBRkE0NDRBMzcxREQxRkREQzE5REU5NDU4QTQ2NEU1RkMyODE2Q0JCKSkpKShnZW5lcmljX3NlbGVjdG9yKCgweDE5Qzk1MUEwMDBEOUUyNjVBRkNFNzVGNjM4NTdENTcxQkNENkUyQ0FDQzQwN0IyODk1NDVGQkRFMEMyOUEyMjQpKDB4MEQ5MkFCQTgxMTc1NzUyRDQ5QTEwNDJDQkQyMDczNUQ2MzUxNDY5RUFDMzYwODRCNzIwMTEwQzFENzUxOUQ4RCkpKShwb3NlaWRvbl9zZWxlY3RvcigoMHgzRjJCNDBEQ0QxODgyMjlBOTg5NEJGQTcxNDMzRDY2QjJFMDE3RDZGOEVGQTY4QTIwN0M0NkQ5Njc5MTIyOEFGKSgweDI5M0FFNTVCMDRGQzFDOUM5NjQ0REIyMjBGQ0JFQ0UyOTg0MzE0NDBDRDE2QTg0MEUwMjU0ODQ4NzFGOEU4MEQpKSkoY29tcGxldGVfYWRkX3NlbGVjdG9yKCgweDI3MTc4ODc5Nzg0REVDMjVGNDJBMDMwQTA4NzZDNjA1QzkwOTMzQzIxRUYyMjk0MzY2MzYwRDUzNUEyRTgwOTkpKDB4MENERUU5NjNFRTU1OTQwNjQwNEZGREJFRjY1NTE1Mzc4NUIzMTMzNzg1Q0I2OEFBRTBFMjZGNzNCNDMxMkVERikpKShtdWxfc2VsZWN0b3IoKDB4MDFEMUM5QzRCQjU5MjE2MEVFOEY0Njg0Rjk1QjFBMUZBNzE0RTBGMDVEREUwQjdFRkNBQUIxRDcyQjcxRTNFNykoMHgzNTlCMzczNUU5MTVERDJFNzFBMTkzQ0RCRUMyMUI0NjkwODMzQkRBMDQ5RkYwRkY3NzhFOTFDQzkzMTREM0YyKSkpKGVtdWxfc2VsZWN0b3IoKDB4MDkwNzQ4MEFGNEExMUVCRjZBOTZBRkU5NTY4QzVCMDU3MjNCMTk0MkZCRjIwMUQ2QzlFMzY3RDE2QzE5MDdFMykoMHgwNzVFRDFDODNCMTM2NkJBODVDRUYxMzZGQjA3MDNFQzQxNTdFOTc0QzhCRjk4NTdDODU5NjY3QkU4QUM3Q0NCKSkpKGVuZG9tdWxfc2NhbGFyX3NlbGVjdG9yKCgweDFGMkYyQkVDNjgyMTg5M0E2MzQwODczNUYzNjYyMjQ5RDhCNTQ2QjI2Q0FFNDk5OTIyREY3NDgwOEE3QTgzNkUpKDB4MDBBOUREMUREQ0E4REQ4RDVFNzgxNTE4QTVBOTdFQjBENUEyRTI3QkRGMzczNTg0NEQ5ODRBQzQyNzM5RDc0RikpKShyYW5nZV9jaGVjazBfc2VsZWN0b3IoKSkocmFuZ2VfY2hlY2sxX3NlbGVjdG9yKCkpKGZvcmVpZ25fZmllbGRfYWRkX3NlbGVjdG9yKCkpKGZvcmVpZ25fZmllbGRfbXVsX3NlbGVjdG9yKCkpKHhvcl9zZWxlY3RvcigpKShyb3Rfc2VsZWN0b3IoKSkobG9va3VwX2FnZ3JlZ2F0aW9uKCkpKGxvb2t1cF90YWJsZSgpKShsb29rdXBfc29ydGVkKCgpKCkoKSgpKCkpKShydW50aW1lX2xvb2t1cF90YWJsZSgpKShydW50aW1lX2xvb2t1cF90YWJsZV9zZWxlY3RvcigpKSh4b3JfbG9va3VwX3NlbGVjdG9yKCkpKGxvb2t1cF9nYXRlX2xvb2t1cF9zZWxlY3RvcigpKShyYW5nZV9jaGVja19sb29rdXBfc2VsZWN0b3IoKSkoZm9yZWlnbl9maWVsZF9tdWxfbG9va3VwX3NlbGVjdG9yKCkpKSkpKShmdF9ldmFsMSAweDE1MTEyOTM2OTI5QjQzNkIwMTc1Nzk0MjE1QTU3MDAzMjMwNDE5OTU0RUYzQjQ4RTc4ODE4NDdEMzZFNzJCM0YpKSkocHJvb2YoKGNvbW1pdG1lbnRzKCh3X2NvbW0oKDB4MEY2OTZGQzhFM0M2OThENUUxMzc3RjhCMUUzRDc0QkFDNDU5ODY2M0NFRDlEMDBCRjAyNzk1N0FGMjUzNEREQiAweDM1RkY3NjZDNzM3NEQ3QzM2MjZBRkNDQTZDODBBMzNCNEREMTYyQzI2N0VFRjFBNTU4OTNEQjlDRDBERDk1MjYpKDB4MzRFRkNGRkI2QjlCRjFGNTM3QTM3RDkxOThGREYyOEZFRDFFRDRCMjkyMzFGMDU5Q0U3RjgxRkFEQjdERUM4NCAweDA1QUNEMUMxNDM1QTFFNkIwNjNGNzZDMzFDMkY5N0M1MzlGQzRFRUJFMjEyRkJCOUUwRTkwMjU3RTA3NUU4NUMpKDB4MEEyQkI0OUU2NTI3QjI4QTNCRDQ3QkI4OEIwMUFFNDM1MTM4RjY4NEU1RjA0RkE3NTEwQjlDQTZGQjc1Njg5NyAweDM3QUE1QjUxRjhFQUFBNzQ3RTBDQjZDQzE5MEI2NEFCN0ZGNEM1NjgxRDREMDdBNDg3RUIxMERERjlEODQwNzQpKDB4MjE2OTdDM0M0RDk2QjkwRDY4QTIxNEVCNjc1NjQzQzQ2MDMzMDgzQTkwRDkxNjhCOEI0Mzk5OEI5Q0YyMjkxMCAweDBENzc0QTJGQjI5Nzk5MjYxQjg2QjE3MjQwMDNFNjMyREUwQzhERkFGQ0EwREQ1NzY1NjVENUFERTU0NzMxNEUpKDB4MjE0QTZBNUNEQzYyMzNDN0NFNjE1MjQ4NDEyNjc4MTc4NTQ3RUNEQkJCODAzREJBNDQzOUMzQjRCQTZFQjBFNCAweDI0MTgxQkJEMjZGREM4NjQ1NzYzOERBQTM5RUVFQzlDRDc1RDIyNTc1NTU1QjM3OUM3OUE2MzBDNDVCMUNDMjUpKDB4MEI4QzZDMEM4M0VDOERGQkFBMkQyN0FEQkRBQ0ZEN0NBMzJBMkU2QjhCQkQ1Qjc5Nzg0QTg5NDI5NzhEODU3RCAweDAxMkFEQTg4MEQ3MkE4MzY2MkNGQURGMzI3MERFOEYyRjhBRDlGNDZGRjY2RTg3QkIwNDdCN0UwNzRFNUVENDApKDB4MzAwQTc3RjVEMjcwMjY5MEExRTc0NkM3NzlGQzRDNkFGNUIwMUQ3QUMzMTJCQTA0MzZBREJEQTc4NkRENzc3MSAweDI5QzUzQ0Q0NDQ1MzI3OUM1RkExOTVENDZDOTY1QjBDQTVCNDczMjAyRUE4N0M4Mzg4NEE4MUFFOUI3M0NEMzMpKDB4MzdDRjFFRjVDRUVERDZFQTkxNzlFQTI2NTJGNEM2RkI3M0MxRjQxRjcwRTBFRUU4ODExQUYyQUI5MTI0OUU2NiAweDI2QkNENEQ3MzY0RjdCRTQyN0M4ODgyREUwM0ZGMTlEOUFEM0ZFQzgxNDUxQTJFNjJBQjdFOTUwMjI0ODM3N0UpKDB4MzBBNEIzNTNFRUJBNERGOTk1RUMxMUU3MjdCOTFDMjlBMkQ5QzZEMjY1RTNFRjlBQzRCQzYxMjhCNTE1MDIyOCAweDBEQUIxRkZFODA4NTA2NTU1MkY3OTAyNjE1RDA3MEQyMUM3MUU5NDNGQjc2Qjg3NzRBRDMzN0MzRUY5MEQ4NjkpKDB4MDNBMjg0MjQwRTRBRjNCNDlEMTYwNDk1NUE4QTM4MzdCMEU4NjMyQzI2MDMzQjhFMjZDOTkxMTk3QjgzRDMxRCAweDA5MzVCNkI2NUEyRTVBRTIyMDNFOTkxODA1OEFEMjRGMTA3MzI3RUU4MzlCRkFBQThBQkUzM0JCQjA5Njg1MzIpKDB4MEZFODM0M0ZERTFGNUZFMEVDRTNEMTc5MTE5MTAzN0YyNEFCMUFBMUEyNkJERkRGQ0E2MDU5Q0NGNzJERUFEQSAweDBFMjBDNzUwQTREMDAzMzEyOTc0ODg5ODhENEYxOUMzRjJCNUM3RTg0OEVFMkZCMkQzODE2Mjk4NjVCNDMzQjYpKDB4MDEzM0MzMDg3RjhFQTgzRjk3QkFDMEZFQkIzOEVGQjhGMkFFRTk0QkU5MjA3QjEyRUFBRDc1NDBCQjk3RTc5NyAweDFERkE5REZGNUVGMUMzRDAxOUEzRjk0M0I5MzJCMEE5Q0Y4NzhCOUJCMkRGNDI1REFFREIzNjI5Qjg5QTQxRDMpKDB4M0JEOEEyOERDMzQyOEE3MTdFQzRGMDNGQURBMkZDMzcyRTk2MEVEQThBNkY3NzU3OEUwMEU3MUM4M0I1RjU1MyAweDA3OTUxREQzNDdGMEVCQTBFNkRDMzIxNzQzMzAwQTBBRjIzOTJCMjY3ODAxNTg0NjMzMjIwODUyMTIyN0UwRjQpKDB4MjdEMDNFQThFQzU0MjgzQUQ5Q0EyRUM4RDQ5MDgyMTk3NzQ2RTk4RjJBMzY2MkVDQkNDOTdEODM0MDRFNzlFNCAweDIwREYzNDNFNERBRkExNzQyNDZBOEMxQTRBQjA5MkFBNEZCNkREQkI2OUNGODAwNDM3RjVEQkI3NEJDNEIxNUYpKDB4M0EzMjE5RTgzNDkzRThBM0E5QzRBNkY1NjBGQjg0M0NBOENCMEYzNDhFNDBBMTk1QzY4MEUxRjk2MjMwRjIyNSAweDIxOEYwN0E4Mjg1OUE1NjNFNUUzNUE1MkY0QjVFREQ5MDQyQUY3RjIwOTE4NUQ2OUI2OUYwN0E0N0E0MzY2OTcpKSkoel9jb21tKDB4MzlFRkMxMkQ1NDVBRDgwOTdBNTkwNTM4M0U5NzEyODhBRDdGQTdCNzM2MzMxNzY1NDY2REYyMEE5N0IzN0I0QiAweDNFRDY1NzE0OEJDMURBQTVCMTRENzk3M0FCNjdEQUU3QTVCMEEyODE3MUUxMEYzRTA0QTBBMEU3MzNGOTZFNEEpKSh0X2NvbW0oKDB4MTdCNDhDRUI2ODg5QTA3ODRGODA3M0YxNDREMEMxRUZBQzNCNjQ0MTc5NjZFOUU1MkU1QUJFRTM0MkU1NzMxMCAweDM1MzY1NTlFNkM5RkQ2OUNDQkRGQzlBMUEyRkE2NDI3NzUyNDNBMjJBQjNFRDFEMDlEMzgyMkQ2QzdCMTQyRkMpKDB4MUFFMTQwNTgyRDI2NkIwMUZFMzQ4RDdGM0NCMzJCQTZEMzgxQjREQzM1NEJFMjU1Rjc0OEEzNEVEMzhDRDdDMSAweDI5MjNGOTREQjkwOENEQTM2MUZEM0JFMkFEMjdEMzMyMEJCQjQ0Qjc5MkU1ODJGQjE2QzRBNjhBODBGRUY1MEIpKDB4MjBFMUNBNThDODk5OEE1NjE0RDhEQUMyMzNEQjE1Mzk3OTE1RjFEM0FDOENGOTY2MkU1OUJBNzdDNDcxODc3QiAweDEyQTgwOTY2MUZCMzg1RjUzRjQwQkVDRUEyQzM1RDZEOUY5Q0MyQzI4MzNEMzZCNUUzNkM2MkQ3NEE5MTBEMTgpKDB4MDE1RTA2QTU1RDMxMTU5Q0NCNzUxNjc4MDE1OUU0RkE0RDE1RDBFOEE3N0NENDNGOTA1N0EyRTJFMzNFQzRBQyAweDIyM0M1M0Q1RkY0MkM1Mjg2RERCQTExNEE4RDdGNUYyNEU2NzQ3OTNBNDc0Q0UxQ0YzQzQ4ODdFMUNENzEyNzQpKDB4MzYxMDVDNUIyN0EwNzE1QTk4MjY2ODE5NTY0QjdCNTM5OTY4QjEzNjhCQkQ3NEIxRkI3QkZCNkEzQUM0MDg4RCAweDFEODczMTdERTg0QzRGNDY1MzQ5NzNCQzk2RTkwNjZBQ0VEQzY3RkMwMzY4QThGOTQxMkI1Qzc1QzYzQjg5MTEpKDB4MjI5NEQ5M0Q3REU2RDE2NTAxNkU2MDQ1MzQ5NEExNTA4N0M2NzVERDVDREE5Nzc2MTVEQTZFMkI4RTY0QTQxMiAweDNBNzYwRjVFMzFFOTlFOUJEN0E3MzQyMUIyNTM5ODM4QTlGMkIwRkE2QjUyMUU3QkQ0MjhGMkE3OTZBMkEwMzYpKDB4MkM5ODUzRDNFQzZFRUYyMzdBOTNFMjFBM0Y3NDM2OUQyOTlENDk1NkFFNUIyM0NCQjk3N0MyMEFBRTE0MjVBRiAweDJFMTVGQjg5MTRDMjNEODg3OUFBQUZBNTNBMEUzODZENUJENEQ4QzEyQjAyNzM1MjkzRjQyQkE4QkNDRkVCQjApKSkpKShldmFsdWF0aW9ucygodygoMHgyMDM1MThFOTk4NTQwREYyOThFRjUxMDNGMTUyNzY0N0E4RERERDNEQTMxRTlENUYwRDkxMUQ4OTZDOEVCMDBEIDB4MENBMkMzQkE1OTZDNjdCRjQwQjEzOUIzMUMzQjlGMDAxNDA2NUYwNjE5NTVGNTEyQkU0NTUxODU0QTU3NkJCMykoMHgxRjJBNjdDMjNCMUQzMEQ0QzcyMDdCOUJFRDQ5RkJFN0ZFMkU0NTAwODVEMTc1N0QxREE1QTRBRDUxMEIxMURDIDB4MzI5QUYyNThBRkExNjJERjFGNjU5RjU3Q0Q1NjFEMzQzRDcxNEU1RDUzOEQ4RDFCMzMwRkVEOEU2NDU0RDg0OCkoMHgxQjg0N0UzQ0JCOUM3NTFDOEMwNzAxNEI1QjI0NDJDNTlBMjg4MDQ3NzlFNjQyMzk1MDhCMUIzMDA2Q0JEMjhFIDB4MjQwRkRENkE5NDU3RDY1QkYxMTI4QzNBOTI5NkI4RjExNDZENzIxMDY0ODQzMkEwQjNCMzdDRjVCRjE0Mjk1RSkoMHgyQkI5REE5RDFBMEFCMzc5QURFRjA1QjA3QjcyQkZDMkI4QkNFQzE2QzVBMUZFNDYzNUQ2MzAzNUU1MDJGQjE2IDB4MkQ3NTFBQzg4NEY5MzJCNkI2QjEyNzUxNUIzNTMwOUJDM0I1RTg4MDQ0MkE5RTczMjdBQ0JEODExNTFCMjc4QikoMHgzRkRGNTI1ODM2NUE2QzlGOEI1NURBNUMwOTgzQkI2NUE2NjhGQkJGM0RFMDE4RTJDMkVGNzI0OTQ5NDZBREZCIDB4M0YxMEMyNkJDOEJCQUE2M0RGRTBGODlCOTFDQjA0MDcwRDcwOTQwQUU2QjRFOUNENzNEMDZENjc2RUYzNTNEQykoMHgxQzI1MDAyQTYwNEU0MTkxQUJBNEU4NjBGRTkzRkM1Njc1ODdENDg0OUFGOUIyQkJFMjFFRjMyQTQ5NTM1MkFDIDB4MjY1RTEwMkI1QzM0NjM2NDI2NDM4MThCMDhBM0VDQkUxM0VBRUM0Q0RCREMzMjA5MUNCRUI5QUY5N0YxRDFGNikoMHgzM0I5NzQ4RkMxOTdERkE2NzYzQzU5NkMzQjRERUE3QURDNkQzOEJGOEUxOTExNDkwQzcyNzBFMEUyQkJCMjM0IDB4MDY0OTRGNkVFNjFCOTRFNDJEODE4NzIzMjYxQTdCMURCRUQ5OEY5QkNGMkM5MTNEMzZEMTdFOTg5NURGMkNBQykoMHgwMjJFRTI2NzQ5NzdBRjgzRUFBNzI3OThBMDQ4NjAzRTlFMDYwNUM2MjAwMjY1Q0I2NTVFQTYyRUQ3QzA2OTdCIDB4MEVGQzAyRjlBQjE2QjU1MDMxQkIwNDhGRDJEMkExNzIwODhGQTVGNUQwNUYxQ0I4M0EyMjM2NzI1Q0ZGQzM3NSkoMHgyNDY2OTc2NUFBOEQ4N0I2QkQ0QzQ0QzgwMTFCNDhFMTVCMDNGNjcwQ0VFMDc2M0YzRjQ2QUJFN0U1RTcyOEREIDB4M0NDM0IwODdEQzA3ODE3NkQ3NjM2OTA2NTU2MTJCOTRENkNDM0ZENDA2QkI1MENCQkVFRDE1MDI0MEM2RDEwQSkoMHgxMTJGMTgzRkI4Q0Q1RkU4OEY2NkExMEYyNkU3NjJGNkY1RUUxRjBGM0ZDNDg4RjlFMThDQTJBRTlFM0I2QzZCIDB4MDg4NjlFQjc0NjAzRjREQ0E1QzRCODdBQzU0RjRCOTM5MkQxRkQwOUVDMDRFQzA2QTM1MkY1QUU1QzBDNzhCRikoMHgxMTM2MTcyM0I3MzM5QzdCMTQ3NjAxMTk3MjMyNTM0QzBGNUZGMDM4NEQ3N0IyNTBCNEJBNjUyMkE3OUMxMDcwIDB4MzY0MzYxODM3NDY1ODc3N0U1RTUzMjJFOEZEQTM3MjVGNjNFQUQyNTRCMTcwNjk5MTFEQTIwMEE4RTExRUFBQSkoMHgxNUUzQUNFRTJDRkU1QTBDQURFOUJEOTY2NzNDNzcxQzMyRDE5Q0UyRDYxNUQwRDNEMUI1M0U1QzQwMEM5QTFEIDB4MTJDQkVDREI1M0U1MjZERTVBQjg3NUFDQUU2RkRCMjNBN0NFODM5M0U3ODg4RDYzNjE1M0ZGNzMwREE4QkQ0QykoMHgxOTYyNjAyNTg0MzE3NDAzNTMwQzNENDNDMkE2QTA5NkU2NDA1OUNEMUE4NjFDMzEwQjI5MDJEODE4QjA1N0ZDIDB4MjAzRDFGNDg4OTQwM0Y4RDNBQUYzOEExNDI3RUYzQjA3QUNBNEY1RTEzRjNGMDc1N0MxODRGQzYyODk5RDFGQikoMHgzODIzMjI3NDMwNEVDN0M1QUI3QzBFQTVGNjdDMjRBMjk5Nzc5OTYxNUU5QUI5MjU2QzU1RDRBOTg2MjE1MjI5IDB4MDA2NzE1REY1RDcxQTIyRTg3RjYxREE2NEREOEFBRjRGNDE3NTZGNjYxQTA3QzgxMTM3MEQyMjg4RkMyQ0VBRCkoMHgwRUUxRkU4NzMzMTA2ODg2NzAwRjQ4MEQ1M0UwNUVGMzI1NUU4RDAyNDlFMTdCQkY5QTRBRDVGNDJEMjNEMTk5IDB4MTQ1NUYyNTgxRDYzQTc1MTlGQzFGODE4NzcxMkM5OEJDNDM2OUQyOUUwRkU3QUFDMEM2MDA2OEJGM0ZCNjYxRSkpKShjb2VmZmljaWVudHMoKDB4MTQ0NkJERTcyRDlERDJBNjc5ODBGOTNGQTZERTFCODdCRDYwMzdFNjQ3QUYxNTVGNEIxRTVCNEI0NTk5ODU4MiAweDIyRjhBMTdDQ0Y2MUZFQTk5NERDRTRDRUE0OTAzODZCMEJEMzEyRjE4OTZDMUI3OUZDMzBBMzQ5MzhEODk5NUIpKDB4MDEwNTM0NzcwMkU0RENFM0E3MTVDQkQ2ODg0RTRGMjg4NjU1RTFBRkJBOTlGNkI3QUU4QzZENzZGOTQ5RTUwRCAweDBGMTczMjQ4MzNBQjdDNjRFRjgzQjg5MzBDMjFGNzM4NDg1NjQyRDc4MjEwRkY0OUEwRjcyQjZGRTU5NUJFMkIpKDB4MEIzMkFCNjAzRTQ0NTdFNzYzNUY5MzNFOTcyQkM4MTQ1M0M2QTNGMTNCOTA4QjZDMTMyNTA0NDQ3QzdDQjY1NSAweDIwMjU1OEUxNDNCQTZDNDI2QkI0NUVEQkZENTQzMjA5QTFGNEU4RkE1N0I5NzI0QjY3OEE2RkRGMDY0OUFCRjIpKDB4MTU0RTAxODAyMDAzMzY5NTJFMThFREU3NjgxQjc3NjFBMjU2QzJCMTk3RjlFMjE1OTExNjY2RUE3Q0ZENEM5RSAweDJFNjdGN0E5NTMwQzE1ODBGOTI4M0VFRDc4QkNCNThFRTczMDQ3NTBDQjVEMUE5RDY5OUY5Q0QzNzhFMzFBQTUpKDB4MUI2OUYyQTg2REU3NDNDOUZDQjM1MzhDNDFFQjY5Q0Q5RjAxQkUwQUM0RjFBRjQxRjQ3REJDRkI1RTUzQTQyRSAweDJGQjAyMERFRTRCQzgzNTUxRjI2OENDNzRDNjZBQTk5NUZBODlFMzM4QkEwNkE3Mzg0QTczNDQwM0NERjQ0MDYpKDB4M0E3Q0JGMkNFQkM3OTY3OEI5QzFEQTEzMzVFODA2NURBQ0E3QTlFNjNFMEUyMEE5OUYxRTcwOUMyNTk2OTE5MCAweDFBRDlCRkZBNTRDMTY3Q0REOUI0QTgxQ0MxNEZEQTQ3REJFQzBBMzk1OTRCNDNFRDE4RTczMkYwNzU4M0MzREIpKDB4MzhDOTA1NjYxQzVCOEI0QTExMTY4MzU5NTI4QTBCNEREMTBBREM0MURBNDc0NzkyRjM0QTA4NjQ4RTJDMzY2NSAweDA2NkE0OUYwODlGNEYwN0YxMzQ1NEU2NTU3N0Q0NEZBNEJBMkJDN0YwOTdBMzlGOUY1QzZGQzU4NDRBQUVCMjUpKDB4MTJFMjg1RTRBNjFGN0I5RUJDRTBGQzE4QzQzOTRGNzlENEY4NUZCQUM4NDMxQTkyNURGQkI4RUY4QUQ0MTBGRCAweDAyRjNCNDgxNDdDNjI2MEE2NDA0MTAyN0I4NTk3Q0I1RTA0RkQ2NzJGMUFDOTVCNEEwRkIzM0U2NDdCNkJGRTQpKDB4MjE3NzY2MjI4MEZCNEUxRkQwODk5QzFFNTdCMTlGMkIxM0RDQzIxNTI0NEQ0QjYyRjMyOEZDQ0UyNUVGOTM4NiAweDFGN0RFMjQ0REMwMEUzMTdDMjAxRUM0Mjg4RUFGRjBFNDM0MEIyQUM0Mjk4NkRDNUFGN0Q5M0FFRUI0QTQ0NzIpKDB4MEZENjRGMkIwRERGMEQ3RDQ4RjhGM0FGMTgxREYyRERDMDVDMDA1MDYxMTk2NzA2RTJFQ0M4NThCRjE0NUEwRiAweDAxQ0U1QjkzQjc2MUQ4NEY5MjBERjc0RTA2NjhGQTYwNTVDOTRDOUFEQzU5MkZBQjlCRjI3QzhGMEI3ODc5NUEpKDB4MzBCN0NGQzlDNzQ4NDQ1Q0NFQzZBQjdCN0QyOTk4MUE2Q0IzOUIwODA2RTUwQjEzNDA4NDJGNzJBM0VFN0JEQyAweDM5NTVCODg2Q0IwMUI1MTIwM0Q1QTI2MzM3QjkyNUM0MkQ0RkE0RTc2MzdCRTRGMkI5MEE3NDk0NUM5RDRDNTEpKDB4MENDRjhGNjk0RUI5QTVCNkUyOTQyNjJBMDY0ODQ1NjRBMkQ0RkZEQTdGOTIwMUJERTY1Q0RGOTI5RjlERkMwRCAweDMxMENDNTc0NDFGMDFDNTlCRkNEOEUxQzlCMkJFNjNFMzQ5QTdCRjg2NUE4MTUxNjlCQzQyMDM2QzU0NTE5NkUpKDB4MjExM0Q1OUU5OUI2OUI5QkQ4MThEMjgxOTg4ODM1MkZCMTg5MTJCNkUyMDhFQjk3MjA0OEFCRDFEODEyMENGOCAweDM4QThERjgzOUVDN0ZERjE1QzNBRTRCRUM5M0U1QzIyQjAxQjQxRDg5QUVEMUREQjQ3RDI5QTA1RUM5RTEyM0EpKDB4MjVCQkVFQTc5MkM0MzRDMUE4MzhBQ0M2RUY2QjMxQkM3RDJGNUJGQ0M4NDNDOEZGRTBFOTE3NzUzMTc5NTE5MyAweDI3ODMzNEFGREIxRTM5NjJENTYyQ0MyMEU1RDE4OUI3MDBEQzdCMzQ2MDQyODhFMDZCOTA3REU5MjkxRDU0ODkpKDB4MTEyMDBBOEJENkMyMDkwNjRDMjU2ODJGOUVBRDgwMjZGMUZBNzE1MjlGMDg4NTVGRjNDQkVGMkM3NzZBRjYyNSAweDNBNERENjRBRTYxRjAwMTUxMDg3NTE3RTM5Q0EzRkZEQzgxNEI3RDlCMjQ1MEIxMTdFQjlFNzZBM0Y0Q0E3RkUpKSkoeigweDJENDUyQTQwNzM0QzQxRDY3MzdDQ0UzM0VGRkUxREU2NjE2NUUwMjgyREQ0QjIxMUM4QkRDRTdFNjU0NDBGNzcgMHgwREU1RjkwNEUzNTg0QjE3NzlFRjhCQUNBNjg4MkZGMDE2MEVENkQ3NDhGNUMyQ0U1QTgwNjI4QTlFRkJFOUEwKSkocygoMHgwMkNCQTVERkU0RUY3NTg3QUYwQ0IwOEI4OEU3Q0NCOEQxQ0NDRkZFRENBNjc3OERGNDhBQkU4QTNDNzYwQzZBIDB4M0ZDMzhCODJEODJBM0NGRjM3MzhCNTI4QkVFMDZGNzg3RTEzRUQxRDUxMDIyOEY2QzdFMUE3QTE5Rjk4Q0ZERSkoMHgzRDAxNTdBQUI1MTRBMUVDNzE4N0VCQTE2OEJDNzVGQTZENUYwQjA4QkU4OEQ2NkMzRDBDMEVFNjdFRDU5REU2IDB4MjU3ODA1QThENDdDQTUwNDU0NkI5OTBDRTgyNUYzRTlBOTZBNzIyNkI1RUM0OTAwMTJBNDZDNUI3NzdEMUY3OCkoMHgwRDk4RTcwODE0MkM4MUYzRjA5RDAxQjhDMjVGQTZGMTI5MzY0ODczMEQ4MUVBMUI4MUVGQkY0QzE2N0FCQ0M2IDB4MTgzQzREQTZFMDc1ODg4RDVEMEIzNDM0MzE5QUVFMzA2MUE1NUJDOUJDQTlGOTNDNTNGRTQ1NzhDQkRDMEVFQykoMHgxMTM4RkUwNzEwQjE4Q0RFQTVDMjUxOTg4QkI1Rjg4REVFQzM5RTdDOUM4MzcwRTEyQTg0NjBCRDg3ODYyOTVGIDB4MDEzRjMzQzIxMUMxMUI1NkMxMTM4MENEQTY5QTNCRjUwNzM5MENFNjFBNTFFNTI5Nzc0Qzg3RTRDQTg2QzVBQSkoMHgyMjRENDM3MDc4ODdGMUM0ODhFMTU3QUI5Q0ZFMzdERENFQkJGRDYzMkQ1RDAwMkY0NkM4MjREMDcyM0MxRDE4IDB4MTA5NTE5NjcyRkNGNzZFRTc5MDQ0MTMxOTNERDNBM0RFMUU0MTFFNDg4RUFGMjc3MjYyQzgyNjhCQzExOEU2OCkoMHgyMTk4NkY4RUI5REYxMzI3QzdDN0M1RDQyMjBBNkJFQjAzQzgwQzY3REVCRUU1OTFEQjA4RDJDMEFDOTQ5MzEwIDB4Mzk1MDM3MjQ4MzI4NThEOUE2Q0M5OTRENTFERkM4MEVGNzJDMkZDM0FDRTA5QzVGNEJEQTZEQUVFRDlBNTZGRikpKShnZW5lcmljX3NlbGVjdG9yKDB4MDQzRjZBQjIxMTYyRDU0ODUzOUIwMzEzREY4NUY3MkE1RUM5MUNFQzdCODZFRjU5ODVGMDQ5RDI1QTAxOUJBMyAweDI0MjcxQjQ0M0RCMUJDODg5QUM3RUMxMTM3MUQwMERGMjM0NDFCRTI5MzJFQjVENDE5ODMyOEZGN0M3RDFEQTApKShwb3NlaWRvbl9zZWxlY3RvcigweDMwRkJCMUFDMjE3REQ2REVEMTNBN0U4RTdEMEJFNEM0QTQ3RENDNDE5QjhENjE3REU4MTdDRUExOTE3QjkyQkUgMHgxRkUyNzBGQUREQkQ2ODA4REYzODkzM0M1MUUxMDE0QjQ1QzA4NENENzI5MzgzMjA5RUE0RDEyMzFFQTNCRDYxKSkoY29tcGxldGVfYWRkX3NlbGVjdG9yKDB4M0VCRDU5NURFMTFDOTZCRUE5QTY0MTc0QTRERUJCQTREMDYwNEMyRjZEQUUzOTgwOTdEQzk2QkU2RDhBN0ZGMSAweDI4MTE3RDk0REM4NzA4QUZDMEJENEJCMjJBNDI1OTU2NTgxM0U2NkJCQTlENzFERDUwOTEzRDE3RERFRjUwM0MpKShtdWxfc2VsZWN0b3IoMHgzRjkzREE0MEM0RUE1NDg1ODI4MkFBREMxNDlFM0E2RjVEQzE5NDM0NjlFNjk0QzRERDQ5NDNFN0YyQ0IxNkU3IDB4MjM4MDMxREI2NzI0NDRCQkE5REQwMjcxNENCRTFCMjFBREQwNjhGQ0I5MzQ4NEFCRkQ1REY1RTdBRjlBRkFBMikpKGVtdWxfc2VsZWN0b3IoMHgwQzE0QkQ2RUZBOUMzQjZCRjFBOUIzRjk3Q0M1RkI0MDlCOTg0RDJCNzlFNTQ4NjM5OUIyNTk5NURGMjFEOTQ0IDB4MkRGMjk4NkNFNjU2M0NGRTY3MTk5NkY5ODA1NUJEMjZGRDJBNDU5NDIxRDM5OTNGNzg4NTczMTdCRUYyODQ2MCkpKGVuZG9tdWxfc2NhbGFyX3NlbGVjdG9yKDB4MUUzQTg5OEQxREVEQkJBNzJFNENDODZCRjA2QzI0MDdDQ0UyMkM5NDg0QUJGRTFCRTcxRURCMTQ2NUM5MUUyRiAweDIxM0RFMTQ2NThBOUYxNjg0NUQ2OTcyNTlCNDJEN0EzOUUxN0Q4MDE4QTkwQzdGRjc2NDE0N0U3NTc1QUMwOTMpKSkpKGZ0X2V2YWwxIDB4M0JGMjdDMEJGRTU0MTI5NEM1NjNCQjQ1QUY4M0FDRjYyOTZEQkQ2RDFCMjBGMjkzRjk5NTY0Rjk3RkFGNDU4OCkoYnVsbGV0cHJvb2YoKGxyKCgoMHgzQzA0NzY3NjdBQjJBRTBFMDczQUQ4Q0I2RkY3NUY3MEFBMTVDODU1MDNDMkMwRjEyOTlCQzg0QTIxNkY3MUVEIDB4MTVFMjM5NzhBRjIyQzg1OEQwMjdBQkI2N0ZBMDJEQTFFMTM2N0I5MzgzQTg3MjU3NzQ0ODBDNTk5NTVDNzA2RCkoMHgxNTI1OEJBQTczREUzQ0FDODU4NzkxRDNBMkRCODM1OTU1NTMwRUEzOEFGMTdFNjVGMzJGOEIyM0IwQ0QyNjlFIDB4MTA0RDY4REZDMzhEMTQxRUYzMzYwRTA5QTJGNDAxNDFENDI3RTlFNDkxQzNBMTdCNDRFMTFFNTYxNEQyMkNCOSkpKCgweDBFNzIwRUE1MkI3NTY0RkZCMTU5QzQ3NkFEODM3MTc5ODU4MkEzNzM2ODIzMzFENzMzQzA4QjhDNTc2QjRGQTQgMHgzRDBDMUYyRTJFQUY5REQ4NTg3NkE0REM5ODZFMjVBMkI0NzZEQUNCOThCNTkyQzdBMDQ1N0ZGNzkyN0ZBRUVGKSgweDI3QjAxQjdCQjlCRUU5RTdBMEUxMTE3OTI3QzI4OUEzMjdGNkM1MDQwQkI5RkI4MUU2NEQzQ0Y4OTlBODk3QjIgMHgwMEIzNTZDRDY4MjFGQzU1OUQ0MTNDMzA1MjkyODE1RUMyNjE0NTk1M0MxRUUzMzgxQzNERDE5NDAyNkJGRjExKSkoKDB4MkQzOUQwNjU4NTk4REQxMTc4NjE3OEEzQzhGNThDREJFRUY0RDZFMjMzQzYxNjk5MDJEQTRGOEUxM0UzM0ZFNSAweDJCMzc1NTRBMjVCRDIyMEE0M0MwM0M2NEJFQTUzMzkxMkQyNTNFRDc0OUIxOEY1NTAyQzZEQ0Y3QkRDOEUzQjQpKDB4MUNDRTM3NTlFOEJCNThBMEFCMTExRjdBQzgwNkNCODQ3OUNFRUY4MjgzOTc3NUJCQTEyQjc5NURGMUMxQURDMSAweDA4QjRERjcyRjk1RjI3QUFDN0Q3MjRFRTI4MEE0QTM5NDA5MzRFMjc1RjdFOEI1NTI3Q0ZDQUJBMDcyNUVBNzQpKSgoMHgyMDE3MURBMkE1OTgxOUJBOUNFRjQzNkIwQTI5OTFEMjhGOUZGRjQyQkJCNDVGMUMxMDk1OEM2RTRDMkJEQkY1IDB4MDAwNDRDNzNDMTI4QTI2QzNFMTJDNjNDMTFGQzI5QUExRUM5MzgwQURBNDEzQ0RENDAyQjZCQzY0RkQ4RTUwRSkoMHgyRDNEOEQ1MEJGRjU2Qzg0MjkxNkU3OEQ3Q0I1RkY2NTY0NUJGN0VGRkUyQUVGQ0E4NEIzNDYyQjQwOTgwQUM0IDB4MDMwN0RGMEY1RDczMzM0OTk3OTdCQTJENkQ2MkI1NjI2NTA2M0RCMDBBOEIzMjAxMDRBNjE3NDRENjM2QUE1MSkpKCgweDI1REM3QjQxQ0ExM0JCNjlDNzZBNTEwNzFBRkE5REI0RTc2Njc1MUJGMUVGMDA2QTZDN0FCQzNCMzU2ODI2REEgMHgxMzEwMDc1QjI3N0M4MkQwMUM0QzdGQkJCNjg3REM4NkVFRUQ3NTA5MzU0QjFDQjdFNEREMTI1RTZBOTcyM0MxKSgweDM4NkNBNzk5REIyRTYyRTg4MjVENDFDQzA3OTREQ0I1MTBENjYwMDU0M0IzMEQxRjJDQ0IxN0ZCQUQwNzVDNEYgMHgxMzZCNTgzODg0ODJENUQ0QUMxRDU3NTJEODUwRjNEOEM0RTg3REI0QkVCQ0M2RDc1OEI3MERBNjkwRjBBNUNDKSkoKDB4MTRDOTg2NTlBM0Q2MjVDN0U3RkI1RDVENzAwQ0MyQzE4MzFCRERCMTA3RDMyQ0M4MjJGMDExMjU2NkZDRjAxOCAweDM0NEI0QTRCMTZBNkRCQzA3MTE1MjM2Q0E0MjVDNjlCMzk3RDRERDVGRjQ5MUYyMjVCMTU5RTVFQzYwODgzM0IpKDB4MzAwQTJCNUIwOTlCM0QxMjA2QkNENEM0MkE4RDg1MjIyQTc1MDc2QzczM0Q4RDI5NTlCMkY1MUI0REJGOTVEOSAweDI2NDQyOTAzMTE2QzlERjI5RjRDM0YxNkE0OUJFM0UyODMyNkY2MEREODQzMDAyQkQ0RTExMzAwOTA5QjBCMEYpKSgoMHgyQkNGRDFEQzg3MDhCRTU3QzIwNTQ1NjVBRUZCRDc2QzMwRjdGRDdDNkQxRjJBN0JCRDY2Mjc4ODJDN0Q2RUQ5IDB4MTlEMzgyNzM5OTA4MUQ2RjQ4QTQ1N0M1MzVGQTQ1RTdGNjA3RjE4RTdDMTA0NEFFNDYwQThBQjRFNDM3MUMyMikoMHgxMDA1NDYwODQ2OEY4MkIxREQ3REM4MDBFNkNBNUI1MUZGMjZFM0U2RkU2OEI4Q0I5OUM1NTA0RTUzQUE2OTVBIDB4MUQ4NzE3MjczNzdEODE4MzM2Qjc1RkM3OTM5MDczMDc2QzI1REFGRjI0QTA4MzdDOEExMUY3NTY5RENBRjNEOSkpKCgweDJEOTg1N0QyMEQ5QTQ0NDUyRTRFNUNGQjkyRDZBMjJFRDMxQzU5MkM3RjkxNTNERDU4REI5MjI0NzYwOUI2QzIgMHgzQkZCNEVDRjVCNDY4RkFBNTAxREI2MzlDNkJGMTU3QzdGMEY4MERFMzcyMzI0QzI0NzBDMTdGNUZBMDc4OThCKSgweDJDRjgzNzUzQTlGQzJDNzZCMjAyMTgwRDM3MzE0OTRDMEE4RTk1MTI0MjdGMzlFMkU5OEJDN0VENzFGRkFCNjggMHgyRDQyODM4QzgzQzU4RDU0NDU2QzM5NjU1QzI0QzQxMzA3RTk4NDBCM0M3NjBGMTc5NTU2MjBCQjc3MEIxNkNBKSkoKDB4MEIzQzRGRjVEODYzMTYxQkI1MTgxRkU3QkI1QjEyMjJCOTZCNTkwODAxRjk2NTE4OUJDQjBBNEI3OUNFQjc5MiAweDM3MUQyNzdENzhBNUZGNjY1NTk2OEMzNUREMDExNDcxQjMzODNCODVFNzkwMjY4NEM3ODYzMUE3ODM4RTQ1QjIpKDB4MUIyQTVERTg2OTlCNkFBMkY5QTYyRURCMjNGMUMyMDcyRDNCQ0MwNDJENTY0QzA1QjM3NjM3RUNCNzJGNTlEMyAweDI2RDhEMTA5QTc2RUVDQ0EwQTFGMDQ3QkQ1N0I0NUE4NDMyNzg5RTU5RkU1RDM3RDVFMUM1OTIxNDU1NTdCREMpKSgoMHgyNDQ1M0Y0ODJGRURDRkYyRkNGNDY5OEQyRDM3RjkyNUQ0NEFFNzAzOUMwN0ZFNzFBNTMxQzg2QUU0REFERTNGIDB4MUY2OERDQUI3QTQ5RDVGOERBNTQwQUExQ0I1ODlEQTFDRTVBMjc0RDE4RDU1QjJFMjcxREEzQjYzODBGRDJERCkoMHgwMThDMEM0MEVCMkZDNTFFNjM2QTM4NDMwQUExN0U3NTk0OEQwQjU3ODY5OEY1NkIyOUExRTBEMkIzMTIyRkU2IDB4MTVFMEQzOUZCMUMxMEUwQ0E2NUQ4Qzg1QTEyMTQ1ODZFRDY2MTgxNzA4QkJEODJENzMxQzJGQzMwREIzOTgzRCkpKCgweDAxM0VBMzQ5NDAzMkJDNjY3MUQ2RDZDQUNBOTk4MzM2ODIxODlCQjA1QTc0MkZERUU1MTNDRTc2MkE4QzhDRjAgMHgwMTkyODA1NzlFOUVDOTYzRTIwRDM1NjA4MTQyMEQzNjlBQUNCRUEyNzlCQzkwRDcxOEMyM0EyNTQwMDhCNEM1KSgweDA2NTRGOTI3NDRCNzQwQjg2MUJDMTZGMTMzODc4OEI5N0Q3QkEwNUNEQ0QwREU5MzQxOTdCODJCQjk3NDI1NjQgMHgyMjczOTM2ODZDOEQxNjUwQTE4M0MwNDgzNDg5MTQ3QjU1MThFQTQ3NzMwQjAxQTMwNDFBOEY4RDZERjQ2QzIyKSkoKDB4M0RCMUY1ODExQjgxMzA3QTE3MTlEQjI1QTczNEI1MTdDMUM5QjNBRUUwMjcxQ0I2NDBFQjA0M0I0NkM3QkY3MCAweDI5MjA3NTYzMUQ4NThCMzZGRTQ5NDY3NzkxMDg2NkJFMDhGMTI5RDVFMkM0MTI3RjQ1MkJBNjcyMTBGNzE1NDIpKDB4MkVDQ0NDNzQzMTY0QjA4QTQ3NzA3NUI5NTU1Nzg0N0U2M0MwRUE2RTdDRENDNDU5QUE4MDk3RTgzQ0ZGQzlENyAweDMwNjg5M0U2MEE4NkM4NEZBMTkwRkZGQ0IyNTc2OUEyOEJEMjBBMTU0MjQyN0Y4RDJGOTkzNzI2NjVFQUUxNUYpKSgoMHgzRUM0ODJBMEFGMzJFQTgwOUJFQzc2QTY5NEE4QUM3MzYyNjlFNTRCNzNCRTZCNTE2ODkzRDhGQzg5MkQ3REU3IDB4MTNGQjgxRDRCRUY5OUMwOTM1RDI3RDE0QTE2RkU2QjhGRTUwNUI2NDA2QTZFN0ZFOEZDNzhDQjVBQkMzMDc0MikoMHgyQUVFMzYwNzRGQjM0RjM3NEIyQ0JEMTk0NTA0REUwOUM3RUE1RkU0NTJGNkZDRjU1Q0YzNkExM0FEOTVBQ0E2IDB4M0U5RDU2QkEyNTNGRjBEQjQwMzdGMzA0NjYyNTQ5NEY5OTQwQzI3NUI3NzMyREI1Q0Q3OEM3REU2OUQ3RTMzRikpKCgweDAyODA2ODNBOUYxODFDODRBRDRBNUE3MDU5RUEzODVEQ0VCNDM0OTFEMTM0RTM2OEEzRTQ5ODVGRkUyODg2OTQgMHgzNjAyMzg4OTk3MzcxNDAwMzU3QzA2M0Q4QTYzNURFQ0MxNDEyMTc2ODdCREJDQUQxMDZEMkJBN0M2ODEyNDFFKSgweDNEOTIxODZGMTAzQTczMjdDQTYwOEM4REQxQ0IyOThBNkRFNTg3NUZCMUE2NEExNEU1RDg3NjcyMDRCQzdBN0IgMHgxNDUwNjIxQkFGOEJDNTBGQjdCQjM5QkU2NzRBRTcwREMwMjhDMEFDOTQ3NzcwRUI1Rjc2REVFMkVFQzdBNzlCKSkoKDB4MDdEM0UwRTJBMDEwRjBFMDcxRkZBOUEzQTk2RTdENjc0ODc4RTU0RTkxNTQzQ0E2NTg4MThGQ0U2NTU4RjMxMyAweDE0QjYwREY4NTNCQUIwQ0FBQTU5NEQyNEY0N0UyNjAyRUZBMjA3REUxMTVDRjczQzYwN0E5RkZDMDFEODM0QjQpKDB4MUI1RUJCNUFEMjQ3ODM1OTYxQkNDNTM0MzA1QjAyNTZFMjkwM0E3MDA2NkVGQ0E5NTY3MkMzM0JERURCMkJEOSAweDJGRjMyQ0M0MzAxMjQyQzIwMDBBMkJDMjNERTFCMEVGMTM2RTUwM0M5QTdCMTk5MEVFMjMzOUU0RENERTc1M0QpKSkpKHpfMSAweDFCMUQwOThDQzQxODA1NDZDQzk3ODkwRkE1RjBFMDhEQTMyQjJBODgyMkY5QTVFOTk5RDQzRkM5NERDNjE0ODcpKHpfMiAweDBCODQ5REVCQjJERDVFMzY2RDdEODc4OTA0MDE4QTQwMjgzMjczNUU1Nzg0OUI3NDBGOUM2ODIxRUI0RDlEMkYpKGRlbHRhKDB4MTJGRUY2RkI4Q0E3RUVBQTI3QjJEMEIyMjc2Q0M3QjgwRkUwMkYyMjdGMjUzMkE1N0E5RDVFNjRBOTU1NDlBQiAweDFGQzk4RDNBRkYxMzRDMTQxNjQ4M0QwNkM0MUM0NkQzRjk5OTMwQzhBMTRBRjQyMThBRTc1OUZEMkQ1MDZDRDkpKShjaGFsbGVuZ2VfcG9seW5vbWlhbF9jb21taXRtZW50KDB4MUUwRENDMzkxOUVCRDREMkVCMjFENjlCMzU0MjgwMUU1MDZDQ0Q1MjRFNEYxM0RDNTNCRUEwRjhGODAyQjY1QyAweDIzMTNBQkZCOTdCNUIwODdDRjk2MzEyRjBEMTRBQzQ1NUZDOUI0NzVBNTQzRkZFODQ3RTYwRTE1RTg4NzRFNTMpKSkpKSkp", + }, + }, + }, + credential: { + _type: "Struct", + properties: { + owner: { _type: "PublicKey" }, + data: { age: { _type: "Field" }, name: { _type: "Bytes", size: 32 } }, + }, + value: { + owner: "B62qrVPwPbeogxQKzPcV5dTSTmNo39g1T2hAM19cJ5Dtwk1p4STmKAE", + data: { + age: "18", + name: { + bytes: [ + { value: "65" }, + { value: "108" }, + { value: "105" }, + { value: "99" }, + { value: "101" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + { value: "0" }, + ], + }, + }, + }, + }, +}; + +export const samplePresentationRequestHttpsRecrusiveNoContextUpdated = { + presentationRequest: { + type: "no-context", + spec: { + inputs: { + provedData: { + type: "credential", + credentialType: "recursive", + witness: { + type: { _type: "Constant", value: "recursive" }, + vk: { _type: "VerificationKey" }, + proof: { + _type: "Proof", + proof: { + name: "InputProof", + publicInput: { + _type: "Struct", + properties: { + context: { _type: "Field" }, + claims: { + inputOwner: { _type: "PublicKey" }, + data: { + age: { _type: "Field" }, + name: { _type: "Bytes", size: 32 }, + }, + }, + }, + }, + publicOutput: { + _type: "Struct", + properties: { + owner: { _type: "PublicKey" }, + data: { + age: { _type: "Field" }, + name: { _type: "Bytes", size: 32 }, + }, + }, + }, + maxProofsVerified: 0, + featureFlags: { + rangeCheck0: false, + rangeCheck1: false, + foreignFieldAdd: false, + foreignFieldMul: false, + xor: false, + rot: false, + lookup: false, + runtimeTables: false, + }, + }, + }, + }, + data: { + _type: "Struct", + properties: { + age: { _type: "Field" }, + name: { _type: "Bytes", size: 32 }, + }, + }, + }, + targetAge: { type: "claim", data: { _type: "Field" } }, + targetName: { + type: "constant", + data: { _type: "Bytes", size: 32 }, + value: + "416c696365000000000000000000000000000000000000000000000000000000", + }, + }, + logic: { + assert: { + type: "and", + inputs: [ + { + type: "equals", + left: { + type: "property", + key: "age", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "provedData", + inner: { type: "root" }, + }, + }, + }, + right: { + type: "property", + key: "targetAge", + inner: { type: "root" }, + }, + }, + { + type: "equals", + left: { + type: "property", + key: "name", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "provedData", + inner: { type: "root" }, + }, + }, + }, + right: { + type: "property", + key: "targetName", + inner: { type: "root" }, + }, + }, + ], + }, + outputClaim: { + type: "property", + key: "age", + inner: { + type: "property", + key: "data", + inner: { + type: "property", + key: "provedData", + inner: { type: "root" }, + }, + }, + }, }, - action: "my-app-id:123:authenticate", }, + claims: { targetAge: { _type: "Field", value: "18" } }, + inputContext: null, }, }; diff --git a/apps/docs/src/components/test-zkapp.tsx b/apps/docs/src/components/test-zkapp.tsx index fd8407f..bc63055 100644 --- a/apps/docs/src/components/test-zkapp.tsx +++ b/apps/docs/src/components/test-zkapp.tsx @@ -3,8 +3,8 @@ import { useLocalStorage, useObjectState } from "@uidotdev/usehooks"; import { clsx } from "clsx"; import { useState, useSyncExternalStore } from "react"; import { - sampleCredentialSimpleFromExample, - samplePresentationRequestHttpsFromExample, + sampleCredentialRecursiveUpdated, + samplePresentationRequestHttpsFromExampleUpdated, } from "./sample-data"; const store = createStore(); @@ -24,10 +24,14 @@ export const TestZkApp = () => { const [signFieldsWithPassphraseInput, setSignFieldsWithPassphraseInput] = useState(JSON.stringify(sampleSignFieldsWithPassphrase, null, 2)); const [credentialInput, setCredentialInput] = useState( - JSON.stringify(sampleCredentialSimpleFromExample, null, 2), + JSON.stringify(sampleCredentialRecursiveUpdated, null, 2), ); const [presentationRequest, setPresentationRequest] = useState( - JSON.stringify(samplePresentationRequestHttpsFromExample, null, 2), + JSON.stringify( + samplePresentationRequestHttpsFromExampleUpdated, + null, + 2, + ), ); const [transactionBody, setTransactionBody] = useObjectState({ to: "B62qnVUL6A53E4ZaGd3qbTr6RCtEZYTu3kTijVrrquNpPo4d3MuJ3nb", diff --git a/bun.lockb b/bun.lockb index 02fe985e58b6f34bc7957fa6be27f7fdfe268583..f13a02314b8e6e864be12966532d03cdd1651bb2 100755 GIT binary patch delta 71685 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�OAW&Tma0CBF3qYU- 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 LU+LY(Jo*0sF?iq< diff --git a/package.json b/package.json index 914dc8c..3852a60 100644 --- a/package.json +++ b/package.json @@ -20,5 +20,8 @@ "typescript": "5.5.4" }, "workspaces": ["packages/*", "apps/*"], - "packageManager": "bun@1.1.21" + "packageManager": "bun@1.1.21", + "resolutions": { + "zod": "3.23.8" + } } diff --git a/packages/providers/package.json b/packages/providers/package.json index a738b97..583b38d 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -17,7 +17,7 @@ "cleanup": "rimraf dist .turbo" }, "dependencies": { - "mina-credentials": "0.2.5" + "mina-credentials": "0.2.6" }, "devDependencies": { "@mina-js/utils": "workspace:*" diff --git a/packages/providers/src/validation.ts b/packages/providers/src/validation.ts index d17aa78..ca34e9b 100644 --- a/packages/providers/src/validation.ts +++ b/packages/providers/src/validation.ts @@ -19,7 +19,7 @@ import { z } from "zod"; import { PresentationRequestSchema, StoredCredentialSchema, -} from "mina-credentials"; +} from "mina-credentials/validation"; export const SwitchChainRequestParams = z .object({