@aztec/protocol-contracts 4.0.3 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/AuthRegistry.json +15 -15
- package/artifacts/ContractClassRegistry.json +8 -8
- package/artifacts/ContractInstanceRegistry.json +8 -8
- package/artifacts/FeeJuice.json +12 -12
- package/artifacts/MultiCallEntrypoint.json +12 -12
- package/artifacts/PublicChecks.json +16 -16
- package/package.json +4 -4
package/artifacts/FeeJuice.json
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"bytecode": "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",
|
|
74
|
-
"debug_symbols": "pZlRbhs5DIbv4uc8SBRFiblKURRu6hYGDCdwkwUWQe6+pEaU7C4kpPKL5xuO5x+Soih5/L77cfj+9uvb8fzz+ffu8cv77vvleDodf307PT/tX4/PZ7G+75x+eEi7x/Cw8wF2j1GPaTui3+xI2zHKedIjbUeq58TbMWE95t2jdwI5CHiFXIFpA3ByrycFquCjAVcANDBLMEswCwaDVCGCgSmTPYv0ESyQnAEa5AoZDFIFNktxXiA4uR28QqzgzeJzBRDHICmoRe8Kmka9VPJawCya2RAUqAKZRZNbQF0NWSFX0PRuIK4iCKirKEOHJP4gKYiHKG5gpgosypgV4gZRw0FWQAOu4M3izQJm0bgKaNlskCpogBtQhWiPiNHABEmiiFItkdMGpJUQJS0EzsAsQS2gECvocMegkCqQWXSUN9Avo4I8NEp+KKNBrsBhg6SVuYE4HyWHyXsDsxTHkkKsX4aqnAIamAVNGeuzUvG5gArKECQd3MgKXEEHl5xCrsDVktXDDaiCN4sOUwEdJvIKXCGYJaigpC4Xx1ghVSiOFTCL1uEGVKFktYAqS3qzJpMkvezAgCrovNggGuhdkkPWCbJBrhDMEsyCZkGzRH2WpI61bCgpiKskOeQEFbJmgxXkoUmywewMtEV5Bd7AO4eNms0nI4BGzaa1txGqLhSKRrHZ1NcUCvH2fO/U7UrZKDVbSkbahippt0UlnbmV9Gnaor3O3UrN5kOjbATNFnwjVSYlnbCVmq3EkQrF+lxf4ihE2KjZShwbZaMSRy6UjEocXIgqlfWgEhtp86nUbGUUCmnbya5QMsJm0ziyjhGUVSsXikbaHit1GxuVdWyjbNTigBYHaBw5FIqVytJQqdl8s/lmg2YD9VTrJWhzy/Dx8bCzRfrb6+Vw0DX6atWWtfxlfzmcX3eP57fT6WH3z/70Vr70+2V/LsfX/UWuSh4O5x9yFMGfx9NB6eOh3+3GtybKVO9OyXeBCDcKfqxAqLO9KBCm1BTo1gcYKwRdHYpAIGz3p/B5DxjMg4g48gBnHsQqgDIbehLWssijLNJMITQBavcjfNoDWaCaAMaRB3mSRdm7WRbBwSiLPFaAZALAw3H8bBYxjWKYKcjCZAoMfljNk2KUhmKJ1NneJPJtMfgwyUO2CRk4X43lbSL9pB5Z+nSVYJ96QQb2txpxMp4uWEmRw15T4S+8yDazGa6y+T8v0lgjy51VIzPxWGNSmSFCy2eviuD+YlA9W4uRdk2jQYVJacXcs9kHJKel0gzDRguTKFh39dtwJBi5AJPClK1NtBmm25xxs8aZiPOpibgw7LcQ7242QHd2m1kgzAl6HJiHTkxLE60sQpy4MR8UvBoUHiYjTKrLy+
|
|
74
|
+
"debug_symbols": "pZlRbhs5DIbv4uc8SBRFiblKURRu6hYGDCdwkwUWQe6+pEaU7C4kpPKL5xuO5x+Soih5/L77cfj+9uvb8fzz+ffu8cv77vvleDodf307PT/tX4/PZ7G+75x+eEi7x/Cw8wF2j1GPaTui3+xI2zHKedIjbUeq58TbMWE95t2jdwI5CHiFXIFpA3ByrycFquCjAVcANDBLMEswCwaDVCGCgSmTPYv0ESyQnAEa5AoZDFIFNktxXiA4uR28QqzgzeJzBRDHICmoRe8Kmka9VPJawCya2RAUqAKZRZNbQF0NWSFX0PRuIK4iCKirKEOHJP4gKYiHKG5gpgosypgV4gZRw0FWQAOu4M3izQJm0bgKaNlskCpogBtQhWiPiNHABEmiiFItkdMGpJUQJS0EzsAsQS2gECvocMegkCqQWXSUN9Avo4I8NEp+KKNBrsBhg6SVuYE4HyWHyXsDsxTHkkKsX4aqnAIamAVNGeuzUvG5gArKECQd3MgKXEEHl5xCrsDVktXDDaiCN4sOUwEdJvIKXCGYJaigpC4Xx1ghVSiOFTCL1uEGVKFktYAqS3qzJpMkvezAgCrovNggGuhdkkPWCbJBrhDMEsyCZkGzRH2WpI61bCgpiKskOeQEFbJmgxXkoUmywewMtEV5Bd7AO4eNms0nI4BGzaa1txGqLhSKRrHZ1NcUCvH2fO/U7UrZKDVbSkbahippt0UlnbmV9Gnaor3O3UrN5kOjbATNFnwjVSYlnbCVmq3EkQrF+lxf4ihE2KjZShwbZaMSRy6UjEocXIgqlfWgEhtp86nUbGUUCmnbya5QMsJm0ziyjhGUVSsXikbaHit1GxuVdWyjbNTigBYHaBw5FIqVytJQqdl8s/lmg2YD9VTrJWhzy/Dx8bCzRfrb6+Vw0DX6atWWtfxlfzmcX3eP57fT6WH3z/70Vr70+2V/LsfX/UWuSh4O5x9yFMGfx9NB6eOh3+3GtybKVO9OyXeBCDcKfqxAqLO9KBCm1BTo1gcYKwRdHYpAIGz3p/B5DxjMg4g48gBnHsQqgDIbehLWssijLNJMITQBavcjfNoDWaCaAMaRB3mSRdm7WRbBwSiLPFaAZALAw3H8bBYxjWKYKcjCZAoMfljNk2KUhmKJ1NneJPJtMfgwyUO2CRk4X43lbSL9pB5Z+nSVYJ96QQb2txpxMp4uWEmRw15T4S+8yDazGa6y+T8v0lgjy51VIzPxWGNSmSFCy2eviuD+YlA9W4uRdk2jQYVJacXcs9kHJKel0gzDRguTKFh39dtwJBi5AJPClK1NtBmm25xxs8aZiPOpibgw7LcQ7242QHd2m1kgzAl6HJiHTkxLE60sQpy4MR8UvBoUHiYjTKrLy+QyDfahNx1c652BRgUaJgUKbZYFf90uPu9CxOZCCkMX8O72HeK97TvQ/e07pHvb92eTmcfJ5FnbdC2ZsqUdtRycFabLAVt158nubLLB8xKLaWSXh9U9d0RKqjtytUn705HpXI3Ue4Y0saHIbLNJyTISko8LGyXPzvXZHodL4rxhtBWRgZckuC8mHNOaRPJNIsOKhLxWNAlwCZck0Fku5HflmhcYugS5JYnoWiARaE0iuiYR/ZoEYpeARS+oSaR8txerEq3A5bXwUoEDITSJuDaoRG1E5J3kmkTr40DZ3R3ImoS8eW4bHXkNuCjR9/FuaVADB98kaJxOmizv2BcTzKFXuOfPe9E2W4JpLRDumwxeK3DfFgHBtcnuGLvE2mT3vpWWvNFbDIS6xP2BLEr43sE9pjWJmJoE8aJEWwRudo6LgaxKtF9n8kJ2bSmCPqjg86KE6xJ8byCrEv0HBcDVNvpPiQxrLeernO2fjpebv2s/VOty3H8/Herpz7fz09XV139f7Ir93ftyeX46/Hi7HFSp/+crH19AdlnA7qv+oSCn0slT1hOv16RXytL09UNd+Q8="
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
"name": "balance_of_public",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
}
|
|
124
124
|
},
|
|
125
125
|
"bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAgQBJwIDBAAfCgACAAMARC0IRAElAAAARi0CAUUnAgIERScCAwQBOw4AAwACJiUAAAFAHgIAAgknAgMBASQCAAIAAABiJQAAAWYpAgACAO9SU00nAgMAASsCAAQAAAAAAAAAAAMAAAAAAAAAAC0IAQUnAgYEBQAIAQYBJwMFBAEAIgUCBi0KBgctDgIHACIHAgctDgMHACIHAgctDgEHACIHAgctDgQHLQsFAQAiAQIBLQ4BBS0IAQEnAgIEBQAIAQIBJwMBBAEAIgUCAgAiAQIDPw8AAgADJwICBAEAKgECBC0LBAMnAgEAAAoqAwECJwIBAQAKKgIBBCQCAAQAAAEfJQAAAXgeAgABAC8qAAMAAQACHAoCAwYcCgMBABwKAQIGLQoCASYoAAAEBHhGDAAABAMkAAADAAABZSoBAAEF2sX11rRKMm08BAIBJioBAAEF3Btu6/u2vEM8BAIBJioBAAEFursh14IzGGQ8BAIBJg==",
|
|
126
|
-
"debug_symbols": "nZbbjuIwDIbfJde9iJ2jeZXRCBUoo0pVQR1YaYV493U6cUtHSrTihvxx2q927Jg81Kk73L/2/Xi+fKvdx0Mdpn4Y+q/9cDm2t/4ysvWhdPoJTu1MoyJPLA9uHsj8DFHtABoFOmQBmIUxImTJypIVixOLE4sHES6LoEVYEZRFlE9EcYMESP5HoAYRCWiSoCzAihALigXFYsRikxs2CZeFE4tLz/gkKAsvFi+WIJaIIjhkRBbJZ2SO0QxEn4TLAmbL89koScv+NnVdyspLnjh713bqxpvajfdhaNSfdrjPD31f23Eeb+3Eq7pR3XjikYHnfuiSejbr27r8KmjQNr/Omp0ShMMNA8oM8imoGUHehoXgt15gzYu4OMEltxCCeTeOWIqjykAbFwb6UGK4CoPrSBBIbiFEtyH4MgGjpNPQGoXF7WaGSjpg2UxChAVhCDaIWEZEShU8IyJ5KiKojDAOlzDWjTT6V1VV0oF8/DOCT7J/j7GmAzGaMqNSnDaQMGw0uDCA/tsNQ7Qm9SWrv92oFRYQSWEZ7UuFBRWEiyYTvF5bRQxvno9AxV5Rq04bpDgDlpyAWPXC+
|
|
126
|
+
"debug_symbols": "nZbbjuIwDIbfJde9iJ2jeZXRCBUoo0pVQR1YaYV493U6cUtHSrTihvxx2q927Jg81Kk73L/2/Xi+fKvdx0Mdpn4Y+q/9cDm2t/4ysvWhdPoJTu1MoyJPLA9uHsj8DFHtABoFOmQBmIUxImTJypIVixOLE4sHES6LoEVYEZRFlE9EcYMESP5HoAYRCWiSoCzAihALigXFYsRikxs2CZeFE4tLz/gkKAsvFi+WIJaIIjhkRBbJZ2SO0QxEn4TLAmbL89koScv+NnVdyspLnjh713bqxpvajfdhaNSfdrjPD31f23Eeb+3Eq7pR3XjikYHnfuiSejbr27r8KmjQNr/Omp0ShMMNA8oM8imoGUHehoXgt15gzYu4OMEltxCCeTeOWIqjykAbFwb6UGK4CoPrSBBIbiFEtyH4MgGjpNPQGoXF7WaGSjpg2UxChAVhCDaIWEZEShU8IyJ5KiKojDAOlzDWjTT6V1VV0oF8/DOCT7J/j7GmAzGaMqNSnDaQMGw0uDCA/tsNQ7Qm9SWrv92oFRYQSWEZ7UuFBRWEiyYTvF5bRQxvno9AxV5Rq04bpDgDlpyAWPXC+Rcviv0GqAbREBaINrbYtCr74dcC9aixiKi0TgxLiZMttb1aIMS7uMZhY9EJUzuqVgrDuIob9aTYl6RQeTNqJc69RhgE62G1lsvrk6ftsZ82F5lngk19exi6PD3fx+PL6u3vVVbkInSdLsfudJ+6RFpvQ+kv+cND4/1nuu3wJOgm4Oczffof"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
"name": "check_balance",
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
167
|
"bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAARicCAgQBJwIDBAAfCgACAAMARBwAREQGLQhEASUAAABsJwIBBEUnAgIEADsOAAIAASwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAmJQAAAaceAgACCScCAwEBJAIAAgAAAIglAAABzR4CAAIBCiICQwMWCgMEHAoEBQAEKgUCBCcCAgEACioDAgUkAgAFAAAAuycCBgQAPAYGASkCAAMA71JTTScCBQABKwIABgAAAAAAAAAAAwAAAAAAAAAALQgBBycCCAQFAAgBCAEnAwcEAQAiBwIILQoICS0OAwkAIgkCCS0OBQkAIgkCCS0OBAkAIgkCCS0OBgktCwcDACIDAgMtDgMHLQgBAycCBAQFAAgBBAEnAwMEAQAiBwIEACIDAgU/DwAEAAUnAgQEAQAqAwQGLQsGBScCAwAACioFAwQKKgQCAyQCAAMAAAFzJQAAAd8eAgADAC8qAAUAAwAEHAoEBQYcCgUDABwKAwQGDCoEAQMKKgMCASQCAAEAAAGmJQAAAfEmKAAABAR4RQwAAAQDJAAAAwAAAcwqAQABBdrF9da0SjJtPAQCASYqAQABBQ7+IEnrN048PAQCASYqAQABBbq7IdeCMxhkPAQCASYqAQABBYRygMKEIwtGPAQCASY=",
|
|
168
|
-
"debug_symbols": "nZZLbuMwDIbv4nUWEqkHmasUReGmbmHAcAI3GWBQ5O5D1aIfHUgosol+UfEXiq/4q3nrXm8fL/34fv5sjk9fzevUD0P/8TKcT+21P49i/WpM+rAWmyMeZKXm6GQFnFe0eQ3NMcrqZM9pDfPqzWz3fl6D7K1NwmcR1RIpC0IVUQSJ4DALMDYLABV6hHqEanFqcWpJ3szCqeAsAqqgLKL+RMxuACmQfBasQBYgmCRoFmhQhVqsWqxaQC0gboBcGdGpUItL38EkKAuvFq+WELKI4iFwEmLB9DgJENMRcRasFk4WSZ4zToVabEzifj80Wgsv16nrUilsikNK5tJO3XhtjuNtGA7Nn3a4fX/p89KO3+u1neRUrtiNb7IK8L0fuqTuh/VpU36U2If8NHGkBeBhR7BlAgdQAgcXF0LY+wBlgjXkMsFasxIiPnQLMqVbVAhsrfrAFotx8GVCcEEJEoZiHEKZgI4zAIMrRaHqAYN64J0reUA1D3wGOBktaxAeiuKmFn5WUwURA2ZCjGEBuN8n0vDqgsWiC7V6hCUMFtgvCNrHwWIZAaQ9iUybW+wzkYJVDuXSFAxgFway3TN8rS0AlrYIXGbUitLDcpM1oWh+hDNWYmGJMgLkr+YxxpoSAMIyg8sMF3mpbkJYGJZ/7YbM9DWvm8T+50atuixrm1s0oVRdUEF40h4JZu1Sig/1iPelHoFaebqohAglF8DXhj4sM1t0eWBCqEGMjQvEYHHmQSWpYa3PAAaKiMrchLhUOBcnd+0iLFFc7+
|
|
168
|
+
"debug_symbols": "nZZLbuMwDIbv4nUWEqkHmasUReGmbmHAcAI3GWBQ5O5D1aIfHUgosol+UfEXiq/4q3nrXm8fL/34fv5sjk9fzevUD0P/8TKcT+21P49i/WpM+rAWmyMeZKXm6GQFnFe0eQ3NMcrqZM9pDfPqzWz3fl6D7K1NwmcR1RIpC0IVUQSJ4DALMDYLABV6hHqEanFqcWpJ3szCqeAsAqqgLKL+RMxuACmQfBasQBYgmCRoFmhQhVqsWqxaQC0gboBcGdGpUItL38EkKAuvFq+WELKI4iFwEmLB9DgJENMRcRasFk4WSZ4zToVabEzifj80Wgsv16nrUilsikNK5tJO3XhtjuNtGA7Nn3a4fX/p89KO3+u1neRUrtiNb7IK8L0fuqTuh/VpU36U2If8NHGkBeBhR7BlAgdQAgcXF0LY+wBlgjXkMsFasxIiPnQLMqVbVAhsrfrAFotx8GVCcEEJEoZiHEKZgI4zAIMrRaHqAYN64J0reUA1D3wGOBktaxAeiuKmFn5WUwURA2ZCjGEBuN8n0vDqgsWiC7V6hCUMFtgvCNrHwWIZAaQ9iUybW+wzkYJVDuXSFAxgFway3TN8rS0AlrYIXGbUitLDcpM1oWh+hDNWYmGJMgLkr+YxxpoSAMIyg8sMF3mpbkJYGJZ/7YbM9DWvm8T+50atuixrm1s0oVRdUEF40h4JZu1Sig/1iPelHoFaebqohAglF8DXhj4sM1t0eWBCqEGMjQvEYHHmQSWpYa3PAAaKiMrchLhUOBcnd+0iLFFc7+Go5ASaWqc6LQv0FTfqSXGbpHAxGFgrcJk1yuDNBHYPDvG4/z9/ll176qfda/Q9saa+fR26vH2/jafN6fXvRU/0NfwynU/d223qEmnzLi6fT9EdIj+nF3LZSLeRf76nn/4H"
|
|
169
169
|
},
|
|
170
170
|
{
|
|
171
171
|
"name": "claim",
|
|
@@ -2016,7 +2016,7 @@
|
|
|
2016
2016
|
}
|
|
2017
2017
|
},
|
|
2018
2018
|
"bytecode": "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0rVncGw5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3SL7xy7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5duvZKji3nLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt07QMcW85dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2ic4tpy7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXw7lL18O5S9fDuUvXk8SxzcOxzcuxzcex5dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6ynHseXcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+t5hGPLuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1lObY8u5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9aTyrHl3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+vh3H/r4dx/6+Hcf+uB7r+t3qRVm9ROVVq3aN+r1mZP09I33nTzLbfeVqZsudvvuPOuu++5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",
|
|
2019
|
-
"debug_symbols": "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eLpkx5OWZzSiE4PYiUmFIkI7XbL+7emSHaFNaBPahDahTWgT2oQ2NTY7F7QqimbnklZFJwaxE5NYxEGcV2zQTpfsaEQnBhFag9agNWgNmj2IjM0YmzE2g3a6ZMckFnEQoTk0h+bQHJozk87YnLE5Y3NoznELZjKYyWAmA1pAC2gBLaAFMxmMrTO2ztg6tM5x68xkZyY7M9mhdWgdWkJLaMlMJmNLxpaMLaElxy2ZyWQmi5ksaAWtoBW0glbMZDG2YmzF2Aa0wXEbzORgJgczOaANaAPagDagTWZyMrbJ2CZjm9Amx20yk5OZnMzkvGhr3euOjWhEJwaxE5NYxIu21r2uiEsaLmm4ZK17XRUaNFzScEnDJQ2XNFzScEnDJWvd66KZE4PYiUmEZtBwScMlDZc0XNJwScMlDZesda+L5kVkJnFJwyVr3euqENBwScMlDZc0XNJwScMlDZesda+L1jluuKThkoZL1rrXXQEaLmm4pOGShksaLmm4pOGSte510ZLjhksaLmm4ZK17XRUKGi5puKThkoZLGi5puKThklbQiuOGSxouabikDWgDGi5puKThkoZLGi5puKThkrXuddEmxw2XNFzScMla97orQMMlhksMlxguMVxiuMRwyVr3etLWutcdB/GaScMla93rqtCg4RLDJYZLDJcYLjFcYrhkrXtdNGtEIzoxiNAMGi4xXGK4xHCJ4RLDJYZL1rrXRfNOZCZxieGSte51VQhouMRwieESwyWGSwyXGC5Z614XLThuuMRwieGSte51VejQcInhEsMlhksMlxguMVyy1r0uWnLccInhEsMla93rrgANlxguMVxiuMRwieESwyVr3euiFccNlxguMVxiA9qAhksMlxguMVxiuMRwieGSte510SbHDZcYLjFcYhPahIZLDJcYLnFc4rjEcYnjkrXu9aStda87JrGIgwitQcMljksclzgucVziuMRxyVr3umjtOm6OSxyXOC5xPuOsda87QsMljksclzgucVziuGSte100dyIziUsclzifcda61x2h4RLHJY5LHJc4LnFcsta9Llpw3HCJ4xLHJc5nnLXudUdouMRxieMSxyWOSxyXrHWvi5YcN1ziuMRxifMZZ6173REaLnFc4rjEcYnjEscla93rohXHDZc4LnFc4nzGcVziXJc41yWOS5zPOGvd647QcInjEscl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SeKSxCVr3euiBccNlyQuSVySfMZZ6153hIZLEpckLklckrgkccla97poneOGSxKXJC5JPuOsda87QsMliUsSlyQuSVySuGSte1205LjhksQliUuSzzhr3euO0HBJ4pLEJYlLEpckLlnrXhdtcNxwSeKSxCXJZ5y17nVHaLgkcUniksQliUsSl6x1r4s2OW64JHFJ4ZLiM85a97qjE4PYiUks4iBeY1vrXhetNaIRnRhEaA0aLilcUrikcEnhksIlhUvWutdFs05MYhEHERouKa5LiuuSwiXFZ5y17nVHaLikcEnhkuK6ZK17LTvjObazwvqMs2IQOzGJRRzEecXlkhUP2mhnNKITg9iJSSziIM4rni7ZEVpCS2gJLaEltNMlx2/P9bXudUfGVoxtfcZZkZksZrKYyWImi5ksZrKYyYI2oA1oA9qANqANaIOxDWZyMJODmZzM5GQmJzM5mcnJTE5mckKb0Ca0edHWutcdG9E062vd6zmKte51x05MYhEH8ZrJte51x0Y0IrQGrUFr0Bq0Bq1BM8ZmjM2M6MQgdmISiziIzKRDc2gOzaE5NId2umTN+umSMc44iPOKp0t2bEQjOjGInXjQjl8/7Wvd646DOK94umTHRjSiE4PYidA6tA6tQ0toCe1wyfMG4xmdGEesM3ZiEos4iPOKh0sUG9GIToRW0ApaQStoBW1AG9AGtAFtQBvQBrQBbUAb0Ca0CW1Cm9AmtAltQpvQJrR50c51r4qNaEQnBrETk1jEQYTWoDVoh0ued23PeNCsnzGInZjEIg7ivOLhEsVGNCI0g2bQDJpBM2gGzaE5NIfm0ByaQ3NoDs2hObSAFtACWkALaAEtoAW0gBbQOrTDJc972mc0ohOD2IlJLOIgziseLlGEltASWkJLaAktoSW0hFbQClpBK2gFraAVtIJW0AragDagDWgD2oA2oA1oA9qANqBNaBPahDahTWgT2oQ2oU1oU7Q4170qNqIRnRjETkxiEQcRWoPWoDVoDVqD1qA1aA1ag9agGTSDZtAMmkEzaAbNoBk0g+bQHJpDc2gOzaE5NIfm0BxaQAtoAS2gBbSAFtACWkALaB1ah9ahdWgdWofWoXVoHVqHltASWkJLaAktoSW0hJbQElpBK2gFraAVtIJW0ApaQStoA9qANqANaAPagDagDWgD2oA2oU1oE9qENqFNaBPahDah4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabik4ZKGSxouabikLZfkGQ9arP/rxCB24kGLecaDdjxVKs51r4oHLc94umTHRjTiQct+xiAetBxnPGi1/m0RD1r5v7795n+/+/mH7/784/f/880f/vn843/946e//P2Hv/60//j3//c3/c2ff/7hxx9/+O8//e3nv/7l+//8x8/f/+nHv/7l+LtvHsd/jvP5P1p+a+2Pz3/c9v//D+v1rVX+8fm+ffz9o3/7PIWffzr/ufn89jkpxx/b8ccY31p/HK83vf55pL8Nt/36Y9DPEej1z0u4b59v0Hr90/nPP+bxej9ef7zCj5fr3z/nP+bx1/Hve9z1iuc1p197GI9vox9/ndcrnp8a7Mn417/++K//Dw==",
|
|
2019
|
+
"debug_symbols": "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",
|
|
2020
2020
|
"verification_key": "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"
|
|
2021
2021
|
},
|
|
2022
2022
|
{
|
|
@@ -3868,7 +3868,7 @@
|
|
|
3868
3868
|
}
|
|
3869
3869
|
},
|
|
3870
3870
|
"bytecode": "H4sIAAAAAAAA/+z9B5xURdf1DXNODz1MoIeooCKjEo2AOYuCJAmiiAGFIaMkB1AwggkMwPQQJeecM4KYA9hFzjkjOZtQ/KqB5hxmprvWFLXuy+d7+/697++pa1ysXbVr1/53n+6p8aT7+81s1DKlRav6Ka0b128i//92Tdp3aCvylt2cf3aXaY+2TGn0yqNtOj7eoXWjx1Jatuwyunb5GpUqpncZW7dF+9ZN2rWzkwGRxwJEeRGn/I8AoisCnQHVlZDqGmRWRRDRtYioKCJKhmZ+HaS6HlLdAKmKIZMvIa0mPpraomXLFs2Cgt450tJ6paV9n5wj8v9ZXSaUb9euSWr755uktumV5k//PrlM4xqpO8oOKz2vVsU5Xbo8+2Kp23+t3Gl+W/9jO073Oib/ifD0jGy75pZdr+jYhp9tztAgi0zMqtWmXZMWjdu0LlerSWqrDu1T2rdo0zq998XMyOleHBd38uX672m9hccvPOnC00t4el86817p6hSWBDQyApSDPkqrHNmfYClogunQBPsCE9TZpD6ucV/XuJdr3FtuVD/h6S88nwvPgEvzkA6ssRi0woHAoVEfSOmTnP0Z5odmOEhhZD3ZGZrhoEcu7Rm5enUZ81SL1s1aNjl/ZFWzLQ7UwkVDdS9KzobYyuHvMrp8ampKp805koVnsPAMEZ6hwjNMeIYLzwjhGSk8o4RntPCMEZ6xwjNOeMYLzwThmSg8k4RnsvBMEZ6pwjNNeKYLzwzhmSk8s4RntvDMEZ65wjNPeOYLzxfCs0B4FmKNFMn44FyQbAgmG4rJhmGy4ZhsBCYbiclGYbLRmGwMJhuLycZhsvGYbAImm4jJJmGyyZhsCiabismmYbLpmGwGJpuJyWZhstmYbA4mm4vJ5mGy+ZjsC0y2AJMtzHUpzHqHB1XaBVDJlxSjw6ra+B3VmHCqeW1dqrEIGpNWZ/f1U4aFzM7CVgaffomqwpysVTPcqpoVw6hmQgtZn92FbM5RBEE29AJjsEJ19N9/5UKGKFXB5Q5Vqc4lZVhkVfr51A2PqDp1IcEjIqm2h7ZhZATVoxc3a1QYVcdLtnRc1qpKl278+CxV+zKUx4SsVOUyFtHELFQlM5XapMyqepkLcnImVd0synZKRlXnrIp7agZV5yyPwDSXam6tcAdllqMqNS+savZF1dDS4VVzQqoywyKo5l5QbS8bSTXvvOrVHRFV88+pqqdGVn0RVDWqoVAtkKrbGqtUC5G3eUmrIRXSfi557xDnz957BzldZY9Zcc6zVduWTYTny+w/zfD3gqYhvdPV/W5FUIb4LVI3WL1ZLvJDs1yU3Z2LT9fYOYVoebbeyqU72/yVM/za3NuurzDZ17my/2zl/LFTw/IrCLxfA5nNfvEskuGxx09f8Y/9AmW2BruO/TesYy/f138DHPvBQRni9y3l2MtZfuuHZvkt/9gvUIoG6R7775zh9+aO/XeY7HutY78AOvbfQcfueyCzmZ4lqm2x4D9onC+1q+w536ZjwIRm+WM23w9h5+sHaew3Fv8yO+MXyoKa6eqMP7E6o3zo+RPQGWcGZYjfz5TOKGf5sx+a5c8alQPV948m63txdt/vYy3gZ0i1BCiky4THF0rRDF14/OIMA+bg8QsmC2jB4wsIHr9AmxcAMqtROVhwQWlBi2VJYm15KQULQhpz4oPJXwqpllGSH+psQA+EVMuz21yyT875ytPU00XOFSxyyk8MVwDk7BmUIX4rKeSUs1zph2a5kkLOZbIkTJ6CVdn9kgsWfCWkWs0n53ylqIcuOdc4w7XmyLkGk63VIud8iJxroM1bC2RWo3Kw4OsoLWiVLEmMXOsp5FwnjTnxweSvh1QbKMkPdTa1EutsG/nvOecpT1Oyi5ybWOScJ70BciYHZYjfZgo55Sw3+6FZbqaQc4MsCZOnYAuHnJsh1VY+OecpRUV1ybnNGW43R85tmGy7FjnnQeTcBm3ediCzGpWDBd9BaUFbZEli5NpJIecOacyJDyZ/J6TaRUl+qLOplVhn280n51zlaVruIuceFjnnSm+AnMuDMsRvL4WccpZ7/dAs91LIuUuWhMlTsI9Dzr2Q6lc+OecqRct0ybnfGR4wR879mOyAFjnnQuTcD23eASCzGpWDBT9IaUH7ZEli5DpEIedBacyJDyb/EKQ6TEl+qLOplVhnO8In5xzlaUpxkfMoi5xzpDdAzpSgDPE7RiGnnOUxPzTLYxRyHpYlYfIUHOeQ8xikOsEn5xylqIEuOU86w1PmyHkSk53SIucciJwnoc07BWRWo3Kw4KcpLei4LEmMXL9RyHlaGnPig8n/DVL9Tkl+qLOplVhn+4NPztnK07TeRc4/WeScLb0Bcq4PyhC/vyjklLP8yw/N8i8KOX+XJWHyFJzhkPMvSPU3n5yzlaJ1uuT8xxmeNUfOfzDZWS1yzobI+Q+0eWeBzGpUDhb8X0oLOiNLEiJXTA4KOf+Vxpz4WPJjckAqi5L8UGdTK6HOFmPzyTlLeZqqOOSM8bDIOUt6A+SsEpQBfjExFHLKWcb4oVnGMMgZIxdmmzwFOSnkjImBVF4+OWcpRZU1yRkT6wxzGSNnTCwmy6VFzlkIOWNioc3LBWRWo3Kw4HGMFhSTU5YkRq54Bjlj4qQxJz6Y/HhIlUBJfqizqZVYZ0vkk3Om8jRNd5EzN4ucM6U3QM7pQRmSXx+FnHKWPj80Sx+FnAmyJEyegiQOOX2QKg+fnDOVomm65MzrDPOZI2deTJZPi5wzIXLmhTYvH5BZjcrBguenNO8kWZIYuQpQyJlfGnPig8kvAKkKUpIf6mxqJdbZruCTc4byNC10kfNKFjlnSG+AnAuDMiS/hSjklLMs5IdmWYhCzoKyJEyegsIcchaCVFfxyTlDKVqgS86rneE15sh5NSa7RoucMyByXg1t3jVAZjUqBwtehNK8C8uSxMh1LYWcRaQxJz6Y/GshVVFK8kOdTa3EOlsyn5zTlaepmouc17HIKd+mXQeQs1pQhuT3ego55Syv90OzvJ5CzqKyJEyeghs45LweUhXjk3O6UlRVl5zFnWEJc+QsjslKaJFzOkRO6NrKmBJAZjUqBwtektK8b5AliZGrFIWcJaUxJz6Y/FKQqjQl+aHOplZine1GPjmnKU9TZxc5b2KRc5r0BsjZOShD8nszhZxyljf7oVneTCFnaVkSJk/BLRxy3gypbuWTc5pS9K4uOW9zhmXMkfM2TFZGi5zTIHLeBm1eGSCzGpWDBS9Lad63yJLEyFWOQs6y0pgTH0x+OUh1OyX5oc6mVmKd7Q4+Oadmi5x3ssg5VXpj5LwTyu9dFHLKWd6FkfMuCjlvlyVh8hTczSHnXZDqHj45p/LIea8zvM8cOe/FZPdpkXMqRM57oc27j0NOLPj9lOZ9tyxJjFwPUMh5vzTmxAeT/wCkepCS/FBnUyuxzvYQn5xTlKdpvIucD7PIOUV6A+QcH5Qh+X2EQk45y0f80CwfoZDzQVkSJk9BeQ45H4FUj/LJOUUpGqdLzsecYQVz5HwMk1XQIucUiJyPQZtXAcisRuVgwStSmnd5WZIYuR6nkLOiNObEB5P/OKSqREl+qLOplVhnq8wn52TlaRrlImcVFjknS2+AnKOCMiS/VSnklLOs6odmWZVCzkqyJEyegmocclaFVE/wyTlZKRqpS87qzrCGOXJWx2Q1tMg5GSJndWjzagCZ1agcLHhNSvOuJksSI1ctCjlrSmNOfDD5tSDVk5TkhzqbWol1ttp8ck5SnqYNLnI+xSLnJOkNkHNDUIbk92kKOeUsn/ZDs3yaQs4nZUmYPAV1OOR8GlI9wyfnJKVovS456zrDZ82Rsy4me1aLnJMgctaFNu9ZILMalYMFf47SvOvIksTI9TyFnM9JY058MPnPQ6oXKMkPdTa1Euts9fjknKg8TUtd5HyRRc6J0hsg59KgDMnvSxRyylm+5Idm+RKFnC/IkjB5CupzyPkSpGrAJ+dEpUjokjPFGTY0R84UTNZQi5wTIXKmQJvXEMisRuVgwRtRmnd9WZIYuRpTyNlIGnPig8lvDKmaUJIf6mxqJdbZmvLJOUF5mgq7yNmMRc4J0hsgZ+GgDMlvcwo55Syb+6FZNqeQU+5AU5OnoAWHnM0h1ct8ck5QigrpkvMVZ9jSHDlfwWQttcg5ASLnK9DmtQQyq1E5WPBWlObdQpYkRq7WFHK2ksac+GDyW0OqNpTkhzqbWol1trZ8co5Xnqb5LnK+yiLneOkNkHN+UIbkN5VCTjnLVD80y1QKOdvIkjB5CtpxyJkKqdrzyTleKZqnS84OzvA1c+TsgMle0yLneIicHaDNew3IrEblYMFfpzRvmdf2GLk6Usj5ujTmxAeT3xFSdaIkP9TZ1Eqss73BJ+c45Wnq5iLnmyxyjpPeADm7BWVIft+ikFPO8i0/NMu3KOTsJEvC5Cl4m0POtyDVO3xyjlOKuuqS811n2NkcOd/FZJ21yDkOIue70OZ1BjKrUTlY8C6U5v22LEmMXO9RyNlFGnPig8l/D1K9T0l+qLOplVhn+4BPzrHK01TZRc4PWeQcK70BclYOypD8fkQhp5zlR35olh9RyPm+LAmTp6Arh5wfQapufHKOVYoq6ZLzY2f4iTlyfozJPtEi51iInB9Dm/cJkFmNysGCf0pp3l1lSWLk+oxCzk+lMSc+mPzPIFV3SvJDnU2txDpbDz45xyhPk99Fzp4sco6R3gA5/UEZkt80CjnlLNP80CzTKOTsLkvC5Cnwc8iZBqnS+eQcoxSl6ZKzlzPsbY6cvTBZby1yjoHI2QvavN5AZjUqBwveh9K85alNx8jVl0LOPtKYEx9Mfl9I1Y+S/FBnUyuxztafT87RytPU1kXOz1nkHC29AXK2DcqQ/A6gkFPOcoAfmuUACjn7yZIweQoGcsg5AFIN4pNztFLURpecg53hEHPkHIzJhmiRczREzsHQ5g0BMqtROVjwoZTmPVCWJEauYRRyDpXGnPhg8odBquGU5Ic6m1qJdbYRfHKOUp6mRS5yjmSRc5T0Bsi5KChD8juKQk45y1F+aJajKOQcLkvC5CkYzSHnKEg1hk9O9S58qUvOsc5wnDlyjsVk47TIOQoi51ho88YBmdWoHCz4eErzli+Lx2DkmkAh53hpzIkPJn8CpJpISX6os6mVWGebxCfnSOVpSnaRczKLnCOlN0DO5KAMye8UCjnlLKf4oVlOoZBzoiwJk6dgKoecUyDVND45RypFRXXJOd0ZzjBHzumYbIYWOUdC5JwObd4MILMalYMFn0lp3lNlSWLkmkUh50xpzIkPJn8WpJpNSX6os6mVWGebwyfnCOVpSnSRcy6LnCOkN0DOxKAMye88CjnlLOf5oVnOo5BztiwJk6dgPoec8yDVF3xyqp/ZJOiSc4EzXGiOnAsw2UItco6AyLkA2ryFQGY1KgcL/iWlec+XJYmRaxGFnF9KY058MPmLINVXlOSHOptaiXW2r/nkHK48Ta1d5PyGRU75bv0bgJytgzIkv99SyCln+a0fmuW3FHJ+JUvC5Cn4jkPObyHV93xyqj+TaaVLzh+c4Y/myPkDJvtRi5zDIXL+AG3ej0BmNSoHC/4TpXl/J0sSI9fPFHL+JI058cHk/wypFlOSH+psaiXW2ZbwyTlMeZryusj5C4ucw6Q3QM68QRmS3wCFnHKWAT80ywCFnItlSZg8BYJDzgCkWsonp/qrFHl0ybnMGS43R85lmGy5FjmHQeRcBm3eciCzGpWDBV9Bad5CliRGrpUUcq6Qxpz4YPJXQqpVlOSHOptaiXW21Xxyqr+nlsNFzjUscg6V3tCEY9ZSmCjjr+X8JskquY0mK3cdh3ZrIdV6jc0HliSN0/ilPiRbpb6BVepDpDdW6hsppS7jb9QpdaVzcB83+g0V8WXv9mD1PFy7vYm124OlN3YCN0E1sZlSE3KWm7Gd20xpkrJyNmPgXAfNcgujvoNZ2pLGedWyBVJtpbxqCRFKrcQItY3SXLZKY6xtbgGOyCXNJVev7DWXEsAC8TdkOZKz9e7N32V0+dTUlE6bcySLmO0iZoeI2SlidomY3SJmj4jZK2L2iZhfRcx+EXNAxBwUMYdEzGERc0TEHBUxx0TMcRFzQsScFDGnRMxpEfObiPldxPwhYv4UMX+JmDMi5m8R84+IOSti/jX3jnB7Lki2A5PtxGS7MNluTLYHk+3FZPsw2a+YbD8mO4DJDmKyQ5jsMCY7gsmOYrJjmOw4JjuByU5islOY7DQm+w2T/Y7J/sBkf2KyvzDZGUz2Nyb7B5OdxWT/ZnhG1Ts8AdMuwEUS6NewqjZ+R7U/nGpeW5fqAMLcpF3ZfVmSYSGzs7CVwU9doqowJ2vVabeqZsUwqt+ghezL7kI25yiCIBt65bIdera4Q6kKLnenSnUuKbsiq9LPp253RNWpCwneE0m1PbQNeyOoHr24WfvCqDpesqUHs1ZVunTjD2Wp2pehPA5npSqXsYiOZKEqmanUjmZW1ctckMcyqepmUbbHM6o6Z1XcJzKoOmd5BE66VHNrhTsovzuqUvPCqv64qBpaOrzqz5CqzLAIqr8uqLaXjaQ6c1716o6Iqr/PqaqnRlb9E1Q1qqFQnZWq2xqrVP8i7wqSdkGqffQHEzH/KnvMCufBRM4cpAcTMf9Kb+CzyhVBGeCX02I8mAjO0vJDs7Syu3PZ/iAuuHMK0XLND+Jy2s7QY+xtV04bk3l0Pog7d+yUsMxpI+DN6QEym+3iyRkMDz3Vymnzj/1ZZbYGu459DOvYn5XewLEfHJQhOc5JOfZyljn90Cxz8o/9WaVokO6x9zrDWHPH3ovJYrWO/Vno2HuhYxcLZDb7D1PB4LkYn2UFe07OdAyY0CzjGA9Tc+aSxn5j8S+zM/6jLKiZrs4Yz+qM/0hvoDPODMqQHCdQOqOcZYIfmmUC45OaYH3HmazvRMrnKTkTIFVu+pe3gsWtEM3QhYfPGSaZg4cPkyVpweMfCB4+aPOSgMxqVA4WPA+jBeVMlCWJteW8FCzkkcac+GDy80KqfJTkhzob0AMhVf7sNpfsk/Nv5Wnq6SJnARY5/5beADl7BmXIThSkkFPOsqAfmmVBCjnzyZIweQquoHwRLGdBSHUln5x/K0U9dMlZyBkWNkfOQpissBY5/4bIWQjavMJAZjUqBwt+FaV5XyFLEiPX1RRyXiWNOfHB5F8Nqa6hJD/U2dRKrLMV4b/nPKM8Ta7rnXJeyyLnGekNXe8kZUh+i1LIKWdZFLreKRhfYadDzmtkSZg8BckcchaFVNfxyXlGKdK93inn9c7wBnPkvB6T3aBFzjMQOa+HNu8GILMalYMFL0Zp3vLUXoeRqziFnMWkMSc+mPzikKoEJfmhzqZWYp2tJJ+cfylP03IXOUuxyPmX9AbIuTwoQ/JbmkJOOcvSfmiWpSnkLCFLwuQpuJFDztKQ6iY+Of9SipbpkvNmZ3iLOXLejMlu0SLnXxA5b4Y27xYgsxqVgwW/ldK8b5QliZHrNgo5b5XGnPhg8m+DVGUoyQ91NrUS62xl+eT8U3maUlzkLMci55/SGyBnSlCG5Pd2CjnlLG/3Q7O8nULOMrIkTJ6COzjkvB1S3ckn559KUQNdct7lDO82R867MNndWuT8EyLnXdDm3Q1kVqNysOD3UJr3HbIkMXLdSyHnPdKYEx9M/r2Q6j5K8kOdTa3EOtv9fHL+oTxN613kfIBFzj+kN0DO9UEZkt8HKeSUs3zQD83yQQo575MlYfIUPMQh54OQ6mE+Of9QitbpkvMRZ1jeHDkfwWTltcj5B0TOR6DNKw9kVqNysOCPUpr3Q7IkMXI9RiHno9KYEx9M/mOQqgIl+aHOplZina0in5y/K09TFRc5H2eR83fpDZCzSlCG5LcShZxylpX80CwrUchZQZaEyVNQmUPOSpCqCp+cvytFlXXJWdUZVjNHzqqYrJoWOX+HyFkV2rxqQGY1KgcL/gSleVeWJYmRqzqFnE9IY058MPnVIVUNSvJDnU2txDpbTT45f1OepukuctZikfM36Q2Qc3pQhuT3SQo55Syf9EOzfJJCzhqyJEyegtoccj4JqZ7ik/M3pWiaLjmfdoZ1zJHzaUxWR4ucv0HkfBravDpAZjUqBwv+DKV515YliZGrLoWcz0hjTnww+XUh1bOU5Ic6m1qJdbbn+OQ8rTxNC13kfJ5FztPSGyDnwqAMye8LFHLKWb7gh2b5AoWcz8qSMHkK6nHI+QKkepFPztNK0QJdcr7kDOubI+dLmKy+FjlPQ+R8Cdq8+kBmNSoHC96A0rzryZLEyJVCIWcDacyJDyY/BVI1pCQ/1NnUSqyzNeKT85TyNFVzkbMxi5ynpDdAzmpBGZLfJhRyylk28UOzbEIhZ0NZEiZPQVMOOZtAqmZ8cp5SiqrqkrO5M2xhjpzNMVkLLXKegsjZHNq8FkBmNSoHC/4ypXk3lSWJkesVCjlflsac+GDyX4FULSnJD3U2tRLrbK345DypPE2dXeRszSLnSekNkLNzUIbktw2FnHKWbfzQLNtQyNlSloTJU9CWQ842kOpVPjlPKkXv6pIz1Rm2M0fOVEzWToucJyFypkKb1w7IrEblYMHbU5p3W1mSGLk6UMjZXhpz4oPJ7wCpXqMkP9TZ1Eqss73OJ+eJbJGzI4ucJ6Q3Rs6OUH47UcgpZ9kJI2cnCjlfkyVh8hS8wSFnJ0j1Jp+cJ3jkfMsZvm2OnG9hsre1yHkCIudb0Oa9zSEnFvwdSvN+Q5YkRq53KeR8Rxpz4oPJfxdSdaYkP9TZ1Eqss3Xhk/O48jSNd5HzPRY5j0tvgJzjgzIkv+9TyCln+b4fmuX7FHJKJHcxeQo+4JDzfUj1IZ+cx5Wicbrk/MgZdjVHzo8wWVctch6HyPkRtHldgcxqVA4WvBuleX8gSxIj18cUcnaTxpz4YPI/hlSfUJIf6mxqJdbZPuWT85jyNI1ykfMzFjmPSW+AnKOCMiS/3SnklLPs7odm2Z1Czk9kSZg8BT045OwOqXryyXlMKRqpS840Z+g3R840TObXIucxiJxp0Ob5gcxqVA4WPJ3SvHvIksTI1YtCznRpzIkPJr8XpOpNSX6os6mVWGfrwyfnUeVp2uAiZ18WOY9Kb4CcG4IyJL/9KOSUs+znh2bZj0LO3rIkTJ6C/hxy9oNUn/PJeVQpWq9LzgHOcKA5cg7AZAO1yHkUIucAaPMGApnVqBws+CBK8+4vSxIj12AKOQdJY058MPmDIdUQSvJDnU2txDrbUD45jyhP01IXOYexyHlEegPkXBqUIfkdTiGnnOVwPzTL4RRyDpElYfIUjOCQczikGskn5xGlSOiSc5QzHG2OnKMw2Wgtch6ByDkK2rzRQGY1KgcLPobSvEfIksTINZZCzjHSmBMfTP5YSDWOkvxQZ1Mrsc42nk/Ow8rTVNhFzgksch6W3gA5CwdlSH4nUsgpZznRD81yIoWc42RJmDwFkzjknAipJvPJeVgpKqRLzinOcKo5ck7BZFO1yHkYIucUaPOmApnVqBws+DRK854kSxIj13QKOadJY058MPnTIdUMSvJDnU2txDrbTD45DylP03wXOWexyHlIegPknB+UIfmdTSGnnOVsPzTL2RRyzpAlYfIUzOGQczakmssn5yGlaJ4uOec5w/nmyDkPk83XIuchiJzzoM2bD2RWo3Kw4F9QmvccWZIYuRZQyPmFNObEB5O/AFItpCQ/1NnUSqyzfckn50HlaermIuciFjkPSm+AnN2CMiS/X1HIKWf5lR+a5VcUci6UJWHyFHzNIedXkOobPjkPKkVddcn5rTP8zhw5v8Vk32mR8yBEzm+hzfsOyKxG5WDBv6c0769lSWLk+oFCzu+lMSc+mPwfINWPlOSHOptaiXW2n/jkPKA8TZVd5PyZRc4D0hsgZ+WgDMnvYgo55SwX+6FZLqaQ80dZEiZPwRIOORdDql/45DygFFXSJWfAGQpz5AxgMqFFzgMQOQPQ5gkgsxqVgwVfSmneS2RJYuRaRiHnUmnMiQ8mfxmkWk5JfqizqZVYZ1vBJ+d+5Wnyu8i5kkXO/dIbIKc/KEPyu4pCTjnLVX5olqso5FwuS8LkKVjNIecqSLWGT879SlGaLjnXOsN15si5FpOt0yLnfoica6HNWwdkVqNysODrKc17tSxJjFwbKORcL4058cHkb4BUGynJD3U2tRLrbJv45PxVeZrausi5mUXOX6U3QM62QRmS3y0UcspZbvFDs9xCIedGWRImT8FWDjm3QKptfHL+qhS10SXndme4wxw5t2OyHVrk/BUi53Zo83YAmdWoHCz4Tkrz3ipLEiPXLgo5d0pjTnww+bsg1W5K8kOdTa3EOtsePjn3KU/TIhc597LIuU96A+RcFJQh+d1HIaec5T4/NMt9FHLuliVh8hT8yiHnPki1n09O9S58qUvOA87woDlyHsBkB7XIuQ8i5wFo8w4CmdWoHCz4IUrzli+L92PkOkwh5yFpzIkPJv8wpDpCSX6os6mVWGc7yifnXuVpSnaR8xiLnHulN0DO5KAMye9xCjnlLI/7oVkep5DziCwJk6fgBIecxyHVST459ypFRXXJecoZnjZHzlOY7LQWOfdC5DwFbd5pILMalYMF/43SvE/IksTI9TuFnL9JY058MPm/Q6o/KMkPdTa1Eutsf/LJuUd5mhJd5PyLRc490hsgZ2JQhuT3DIWccpZn/NAsz1DI+YcsCZOn4G8OOc9Aqn/45FQ/s0nQJedZZ/ivOXKexWT/apFzD0TOs9Dm/QtkVqNyoODeHJTm/bcsSYhcXotBTm/QmBMfS77XglQ2JfmhzqZWQp3N6+GTc7fyNLV2yOmNYZFzt/QGyNk6KEPKMCeFnHKWOf3QLHMyyOm1ZUmYPAVeCjm9OSFVLJ+c6s9kWmmS05vLGcYZI6c3FyaL0yLnboSc3lzQ5sUBmdWoHCx4PKMFeb2yJDFyJVDIGS+NOfHB5CdAqkRK8kOdTa3EOltuPjl3KU9TXhc5fSxy7pLeADnzBmVIfpMo5JSzTPJDs0yikDNRloTJU5CHQ84kSJWXT071Vyny6JIznzPMb46c+TBZfi1y7oLImQ/avPxAZjUqBwtegNK888iSxMhVkELOAtKYEx9MfkFIdQUl+aHOplZine1KPjnV31PL4SJnIRY5d0pvaMLewhQmyviF0yi0u0Juo8nKvYpDu8KQ6mqNzQeWJI3T+KW+I1ulfg2r1HdIb6zUi1BKXcYvolPqSufgPhbxGyriy97t7ep5uHb7WtZub5fe2Am8FqqJopSakLMsiu1cUUqTlJVTFAPnVdAskxn1HcxSchrnVUsypLqO8qolRCi1EiPU9ZTmcp00xtpmMnBELmkuVq8uo8unpqZ02pyjAtIHGiGiU4ioCiJqDrY8j/p6rxyo1QJzVl+Ys5pvzmqeOau55qzmmLOabc5qljmrmeasZpizmm7Oapo5q6nmrKaYs5pszmqSOauJ5qwmmLMab85qnDmrseasxpizGm3OapQ5q5HmrEaYsxpuzmqYOauh5qyGmLMabMwq5l9zVmfNWf1jzupvc1ZnzFn9Zc7qT3NWf5iz+t2c1W/mrE6bszplzuqkOasT5qyOm7M6Zs7qqDmrI+asDpuzOmTO6qA5qwPmrPabs/rVnNU+c1Z7zVntMWe125zVLnNWO81Z7TBntV1tlY1vJ+SokB2xfIIfenAnP/e+QXiLCW9x4S0hvCWFt5TwlhbeG4X3JuG9WXhvEd5bhfc24S0jvGWFt5y5rzsUS4ZkxTFZCUxWEpOVwmSlMdmNmOwmTHYzJrsFk92KyW7DZGUwWVlMVi750s8EsOfYN0R+jv1ZwpzPL7Xtgzye98xHvkDj+UKpOveYWKU6/1waWm4xoJFoLHc2tNw50HLnQsudBy23eHaX2wsKDv2JJW8Jqbrm8NWnZ3gK9ClhH9rw8Lf/vFAopuLNpyuPadI4rdTUQU2arRdJ6zk7MhnakSnQjkyFkjINSkpJznLHQ8udAC13IrTcSdByS3EKcBwUvLRUFVv7RezvE3rGzFh/rM3rp2/staRS90UTH0gXtzzU+aldfY9UF0mrOTsyHNqREdCOjISSMgpKyo2c5Q6GljsEWu5QaLnQ3xb33kRZbszfyHJj/kGWG3MWWW7Mv9Byb+Ys9w9ouX9Cy/0LWu4ZaLm3UNpLzO9Q8Fshvu3j7MgxaEeOQztyAkrKSSgpt3GWC/1pOuBPv557zAQt9yi03DKcAjwIBS8L8W0XZ0egXy4Dfnk7B3I5yvknQlBSymV3udhX0m6PbNvoVJXmOrZ3RLZ9OW5vMx3bOyPbLmg25UMd27si2z7Q+mSqju3dkW1H1zx9n47tPZFtn/TVflfH9t7ItgNzNv9Mx/a+yLZF398wUcf2/si2L2wXhbN4ujD9qeYp5e6867E2rdqmyocLLdq07iWffrkeNtzufjTlfv7kfsjkfpLkflzkfibkfvDjfrrjfoTjfk7jfhjjfuLifqzifnbifkDS3/U/7nCN73SN73KN73aN73GN73WN73ON7+8vvA8I74PC+5DwPiy8jwhveeF9VHgfi34VUGEV/Spg9KuAF62iXwWMfhXwolX0q4DRrwJetIp+FTD6VcCLVtGvAka/CnjRKvpVwOhXAS9aRb8KGP0q4EWr6FcBo18FvGgV/Spg9KuAl/xftr4K+MglXwWsILwVhfdx4a0kvJWFt4rwVhXeasL7hPBWF94awltTeGsJ75PCW1t4nzL3VcAKyTqf16j+otj5z2t2QJ/X7IQ+r9kFfV5TAdhPje+1VeTYPs6xrcSxrcyxrcKxrcqxrcaxfYJjW51jW4NjW5NjW4tj+yTHtjbH9ikdW/UHgk9Htu2saVuHM9tnVLZ2ss7HlxVc46dd4zr/4fEz7o8vH3CNH3SNH3KNH3aNH3GNy7vGj7rGj8mPL+sK77PC+5zwPi+8LwhvPeF9UXhfuvTjy1y9snlNkreu2ddsMdm6iTL0mq238NYX3gbCmyK8Dc29GqufC5I1wGQpmKxhrswvAVWrkdsAHbn6yAtFbwPkhaI3BXmh6G0IlMdlVuCz/5EKbCS8jYW3ifA2NVeBjbCaaYzJmmCyploV+CxUgY2gCmwMVWATqAKb8ivwuf9IBTYT3ubC20J4XzZXgc2wmmmOyVpgspe1KvA5qAKbQRXYHKrAFlAFvsyvwOf/IxX4ivC2FN5WwtvaXAW+gtVMS0zWCpO11qrA56EKfAWqwJZQBbaCKrA1vwJf+I9UYBvhbSu8rwpvqrkKbIPVTFtM9iomS9WqwBegCmwDVWBbqAJfhSowlV+B9f4jFSj3rr3wdhDe18xVYDusZtpjsg6Y7DWtCqwHVWA7qALbQxXYAarA1/gV+OJ/pAJfF96OwttJeN8wV4GvYzXTEZN1wmRvaFXgi1AFvg5VYEeoAjtBFfgGvwJf+o9U4JvC+5bwvi2875irwDexmnkLk72Nyd7RqsCXoAp8E6rAt6AKfBuqwHc4T3LfjWz715NDqurYdg5ra1+cbeY9nFWrTbsmLRq3aV2uVpPUVh3ap7SXz4jTe7v29N2L45Jhnsd2liXcRXjfE973hfeDyzuUV5k9kslaR3JzjmTh/VB4PxLersLbTXg/Ft5PhPdT4f1MeLsLbw/h7Sm8acLrF9504e0lvDIDfYS3r/D2E1758Phz4R0gvAOFd5DwDhbeIcI7VHiHCe9w4R0hvCOFd5S5g/4hdjQ/wmRdMVk3TPYxJvsEk32KyT7DZN0xWQ9M1hOTpWEyPyZLx2S9MFlvTNYHk/XFZP0wWX9M9jkmG4DJBmKyQZhsMCYbgsmGYrJhmGw4JhuByUZislEZXiz0Do+5tAuYk1DuHlbVxu+oeoRTzWvrUvVEwJrHm92XARkWMjsLWxn880tUFeZkrRrgVtWsGEY1EFpIfHYXsjlHEQTZ0MuTD6GXbx9BL9+6Qi/fukVWpZ9P3ccRVacuJPiTSKrtoW34NILq0Yub9VkYVcdLtjQta1WlSzc+65eG+zKUR5Z/FKVcxiLK6kKGkplKLYtTWi9zQWb+Jl7dLMq2b0ZV56yKu18GVecsj0B/l2purXAHZZCjKjUvrMq5wmdo6fCqi1f4lBkWQRW6wmd72UiqYedVr+6IqDp/k1L11MiqczcpNaqhUAVvUrqtsUoF3aSUxwup4rP7hj4uu3+FyjtK2WNWuP4K1WjSX6HyjpLewB+mXRGUIX5j1A1Wb5Zj/NAsx2R357L9V1e96t8cXK77V1fHOsNx5t52jcVk43T+6uq5Y6eG5VgIvOOAzGa/eMbI8NhzibH8Yz9Sma3BrmM/nnXs5fv68cCxHxyUIX4TKMdeznKCH5rlBP6xV/+W7yDdYz/RGU4yd+wnYrJJWsd+JHTsJ0LHbhKQWY2/nIcFn6xxvtSusudMwP5y3hholsDdDBrna7I09huLf5mdcYSyoGa6OuNUVmeUDz2nAp1xZlCG+E2jdEY5y2l+aJbTNCoHqu8pJut7ejZnCbaAaZBqBlBIlwkP9b0OM3ThMdMZzjIHj5mYbJYWPEZA8JgJbd4sILMalYMFn01pQdNlSWJteQ4FC7OlMSc+mPw5kGouJfmhzgb0QEg1L7vNJfvkHK48TT1d5JzPIudw6Q2Qs2dQhvh9QSGnnOUXfmiWX1DIOVeWhMlTsCCbewkewS8g1UI+OdXXGPXQJeeXznCROXJ+ickWaZETuqDe+yW0eYuAzGpUDhb8K0oLWiBLEiPX1xRyfiWNOfHB5H8Nqb6hJD/U2dRKrLN9y3/POUx5mpJd5PyORc5h0hsgZ3JQhvh9TyGnnOX3fmiW31PI+Y0sCZOn4AcOOb+HVD/yyam+ta+oLjl/coY/myPnT5jsZy1yDoPI+RO0eT8DmdWoHCz4YkoL+kGWJEauJRRyLpbGnPhg8pdAql8oyQ91NrUS62wBPjmHKk/Tchc5BYucQ6U3QM7lQRnit5RCTjnLpX5olksp5PxFloTJU7CMQ86lkGo5n5zqS2qX6ZJzhTNcaY6cKzDZSi1yDoXIuQLavJVAZjUqBwu+itKClsmSxMi1mkLOVdKYEx9M/mpItYaS/FBnUyuxzraWT84hytOU4iLnOhY5h0hvgJwpQRnit55CTjnL9X5olusp5FwjS8LkKdjAIed6SLWRT071newNdMm5yRluNkfOTZhssxY5h0Dk3ARt3mYgsxqVgwXfQmlBG2RJYuTaSiHnFmnMiQ8mfyuk2kZJfqizqZVYZ9vOJ+dg5Wla7yLnDhY5B0tvgJzrgzLEbyeFnHKWO/3QLHdSyLlNloTJU7CLQ86dkGo3n5zqP0GyTpece5zhXnPk3IPJ9mqRE/rL1N490ObtBTKrUTlY8H2UFrRLliRGrl8p5NwnjTnxweT/Cqn2U5If6mxqJdbZDvDJOUh5mqq4yHmQRc5B0hsgZ5WgDPE7RCGnnOUhPzTLQxRy7pclYfIUHOaQ8xCkOsIn5yClqLIuOY86w2PmyHkUkx3TIucgiJxHoc07BmRWo3Kw4McpLeiwLEmMXCco5DwujTnxweSfgFQnKckPdTa1Eutsp/jkHKg8TdNd5DzNIudA6Q2Qc3pQhvj9RiGnnOVvfmiWv1HIeVKWhMlT8DuHnL9Bqj/45ByoFE3TJeefzvAvc+T8E5P9pUXOgRA5/4Q27y8gsxqVgwU/Q2lBv8uSxMj1N4WcZ6QxJz6Y/L8h1T+U5Ic6m1qJdbazfHIOUJ6mhS5y/ssi5wDpDZBzYVAG+MXmoJBzgDT2I7MMxlfY6ZDzH1kSBk9BrEUhZ2wOSGXzyTlAKVqgSc5YjzOMMUbOWA8mi9Ei5wCEnLEeaPNigMxqVA4WPCejBcXK/8+GyBXrZZAzNqc05sQHk++FVLGU/h/qbGol1tly8cn5ufI0VXPIGRvHIufn0hsgZ7WgDCnDeAo55Szj/dAs4xnkjI2VJWHyFCRwyBkPqRL55PxcKaqqS87cztBnjpy5MZlPi5yfQ+TMDW2eD8isRuVgwZMo5EyQJYmRKw+FnEnSmBMfTH4eSJWXkvxQZ1Mrsc6Wj0/O/srT1NlFzvwscvaX3gA5OwdlSH4LUMgpZ1nAD82yAIWceWVJmDwFBTnkLACpruCTs79S9K4uOa90hoXMkfNKTFZIi5z9IXJeCW1eISCzGpWDBS9Mad4FZUli5LqKQs7C0pgTH0w+dNV37NWU5Ic6m1qJdbZr+OTsly1yFmGRs5/0xshZBMrvtRRyyllei5HzWgo5r5YlYfIUFOWQ81pIlcwnZz8eOa9zhtebI+d1mOx6LXL2g8h5HbR513PIiQW/gdK8i8qSxMhVjELOG6QxJz6Y/GKQqjgl+aHOplZina0En5x9ladpvIucJVnk7Cu9AXKOD8qQ/JaikFPOspQfmmUpCjmLy5IweQpKc8hZClLdyCdnX6VonC45b3KGN5sj502Y7GYtcvaFyHkTtHk3A5nVqBws+C2U5l1aliRGrlsp5LxFGnPig8m/FVLdRkl+qLOplVhnK8MnZx/laRrlImdZFjn7SG+AnKOCMiS/5SjklLMs54dmWY5CzttkSZg8BbdzyFkOUt3BJ2cfpWikLjnvdIZ3mSPnnZjsLi1y9oHIeSe0eXcBmdWoHCz43ZTmfbssSYxc91DIebc05sQHk38PpLqXkvxQZ1Mrsc52H5+cvZWnaYOLnPezyNlbegPk3BCUIfl9gEJOOcsH/NAsH6CQ815ZEiZPwYMccj4AqR7ik7O3UrRel5wPO8NHzJHzYUz2iBY5e0PkfBjavEeAzGpUDha8PKV5PyhLEiPXoxRylpfGnPhg8h+FVI9Rkh/qbGol1tkq8MnZS3malrrIWZFFzl7SGyDn0qAMye/jFHLKWT7uh2b5OIWcj8mSMHkKKnHI+Tikqswnp3pThS45qzjDqubIWQWTVdUiZy+InFWgzasKZFajcrDg1SjNu5IsSYxcT1DIWU0ac+KDyX8CUlWnJD/U2dRKrLPV4JNTfZoKu8hZk0XOdOkNkLNwUIbktxaFnHKWtfzQLGtRyFldloTJU/Akh5y1IFVtPjnVokK65HzKGT5tjpxPYbKntciZDpHzKWjzngYyq1E5WPA6lOb9pCxJjFzPUMhZRxpz4oPJfwZS1aUkP9TZ1Eqssz3LJ6dfeZrmu8j5HIucfukNnOz5QRmS3+cp5JSzfN4PzfJ5CjnrypIweQpe4JDzeUhVj09Ov1I0T5ecLzrDl8yR80VM9pIWOf0QOV+ENu8lILMalYMFr09p3i/IksTI1YBCzvrSmBMfTH4DSJVCSX6os6mVWGdryCdnmvI0dXORsxGLnGnSGyBnt6AMyW9jCjnlLBv7oVk2ppAzRZaEyVPQhEPOxpCqKZ+c6lrtqkvOZs6wuTlyNsNkzbXImQaRsxm0ec2BzGpUDha8BaV5y51sipHrZQo5W0hjTnww+S9DqlcoyQ91NrUS62wt+eTsqTxNlV3kbMUiZ0/pDZCzclCG5Lc1hZxylq390CxbU8j5iiwJk6egDYecrSFVWz45eypFlXTJ+aozTDVHzlcxWaoWOXtC5HwV2rxUILMalYMFb0dp3m1kSWLkak8hp9zX9pz4YPLbQ6oOlOSHOptaiXW21/jk7KE8TX4XOV9nkbOH9AbI6Q/KkPx2pJBTzrKjH5plRwo5O8iSMHkKOnHI2RFSvcEnZw+lKE2XnG86w7fMkfNNTPaWFjl7QOR8E9q8t4DMalQOFvxtSvPuJEsSI9c7FHK+LY058cHkvwOp3qUkP9TZ1Eqss3Xmk7O78jS1dZGzC4uc3aU3QM62QRmS3/co5JSzfM8PzfI9CjnflSVh8hS8zyHne5DqAz45uytFbXTJ+aEz/MgcOT/EZB9pkbM7RM4Poc37CMisRuVgwbtSmvf7siQxcnWjkLOrNObEB5PfDVJ9TEl+qLOplVhn+4RPzs+Up2mRi5yfssj5mfQGyLkoKEPy+xmFnHKWn/mhWX5GIefHsiRMnoLuHHJ+Bql68Mmp3oUvdcnZ0xmmmSNnT0yWpkXOzyBy9oQ2Lw3IrEblYMH9lOYtXxb3wMiVTiGnfFKVzokPJh9T9aIkP9TZ1Eqss/Xmk/NT5WlKdpGzD4ucn0pvgJzJQRmS374UcspZ9vVDs+xLIWcvWRImT0E/Djn7Qqr+fHJ+qhQV1SXn585wgDlyfo7JBmiR81OInJ9DmzcAyKxG5WDBB1Kadz9Zkhi5BlHIOVAac+KDyR8EqQZTkh/qbGoltpYhfHJ+ojxNiS5yDmWR8xPpDZAzMShD8juMQk45y2F+aJbDKOQcLEvC5CkYziHnMEg1gk9O9TObBF1yjnSGo8yRcyQmG6VFzk8gco6ENm8UkFmNysGCj6Y07+GyJDFyjaGQc7Q05sQHkz8GUo2lJD/U2dRKrLON45PzY+Vpau0i53gWOeW79fEAOVsHZUh+J1DIKWc5wQ/NcgKFnGNlSZg8BRM55JwAqSbxyan+TKaVLjknO8Mp5sg5GZNN0SLnxxA5J0ObNwXIrEblYMGnUpr3RFmSGLmmUcg5VRpz4oPJnwapplOSH+psaiXW2WbwydlNeZryusg5k0XObtIbIGfeoAzJ7ywKOeUsZ/mhWc6ikHO6LAmTp2A2h5yzINUcPjnVX6XIo0vOuc5wnjlyzsVk87TI2Q0i51xo8+YBmdWoHCz4fErzni1LEiPXFxRyzpfGnPhg8r+AVAsoyQ91NrUS62wL+eRUf08th4ucX7LI2VV6QxOOXURhooy/KI1CuwVyG01W7lcc2i2CVF9rbD6wJGmcxi/1j7JV6t+wSv0j6Y2V+reUUpfxv9UpdaVzcB+/9Rsq4sve7Q/V83Dt9nes3f5QemMn8DuoJr6n1ISc5ffYzn1PaZKycr7HwPkVNMsfGPUdzNIPaZxXLT9Aqh8pr1pChFIrMUL9RGkuP0pjrG3+AByRS5pLrl7Zay4WsED8DVmO5Gy9e/N3GV0+NTWl0+YcySL2ZxG7WMQuEbG/iNiAiBUidqmIXSZil4vYFSJ2pYhdJWJXi9g1InatiF0nYteL2A0idqOI3SRiN4vYLSJ2q4jdJmK3i9gdInaniN0lYneL2D0idq+I3WfuHeHPuSDZYky2BJP9gskCmExgsqWYbBkmW47JVmCylZhsFSZbjcnWYLK1mGwdJluPyTZgso2YbBMm24zJtmCyrZhsGybbjsl2YLKdmGwXJtuNyfZgsr2YbF+GZ1QR/mpS2gW4SAItD6tq43dUK8Kp5rV1qVYizM1TMLsvSzIsZHYWtjL45ktUFeZkrdriVtWsGEa1FVpI4ewuZHOOIgiyoVcuP0PPFhcrVcHlLlGpziXll8iq9POpC0RUnbqQYBFJtT20DUsjqB69uFnLwqg6XrKlq7JWVbp041dnqdqXoTzWZKUql7GI1mahKpmp1NZlVtXLXJDrM6nqZlG2GzKqOmdV3BszqDpneQQ2uVRza4U7KNscVal5YVXbL6qGlg6v2hFSlRkWQbXzgmp72UiqXedVr+6IqNp9TlU9NbJqT1DVqIZCtVeqbmusUu1D3hXkKQipCtMfTMTuU/aYFa4HE7+SHkzE7pPewGeVK4IyxG8/48FEcJb7/dAs92d357L9QVxw5xSi5bofxB1whgfNve06gMkO6nwQd+7YqWF5AALvQSCz2S+e/TI89lTrAP/Y71Vma7Dr2B9iHXv5vv4QcOwHB2WI32HKsZezPOyHZnmYf+z3KkWDdI/9EWd41NyxP4LJjmod+73QsT8CHbujQGY1HqZiwY9RPsuSPecw9jB1PzTL45SHqceksd9Y/MvsjHuUBTXT1RlPsDqjfOh5AuiMM4MyxO8kpTPKWZ70Q7M8SfmkRtb3cZP1fYrzecpJSHWa/uWtYHErRDN04fGbM/zdHDx+w2S/a8FjDwSP36DN+x3IrEblYMH/oLSgU7Iksbb8JwULf0hjTnww+X9Cqr8oyQ91NqAHQqoz2W0u2SfnbuVp6uki598scspPDP8GyNkzKEP8/qGQU87yHz80y38o5PxLloTJU3CW80WwfyDVv3xy7laKemiSM1cOZ2gZI2cuUGZpkXM3Qs5cOZDNy2UBmc1+5YDBbUoLOitLEiJXLg+DnLlsacyJDybfA6liKMkPdTa1EupsuXLy33PuUp4m1/VOubwscu6S3tD1Trm8yLJyxVLIKWcZC13vFIyvsNMgZ64YWRImT0EuCjlzxUKqOD45dylFutc75Yp3hgnmyBmPyRK0yLkLImc8tHkJQGY1KgcLnshoQblyyZLEyJWbQs5EacyJDyY/N6TyUZIf6mxqJdbZkvjk3Kk8Tctd5MzDIudO6Q2Qc3lQhuQ3L4WccpZ5/dAs81LI6ZMlYfIU5OOQMy+kys8n506laJkuOQs4w4LmyFkAkxXUIudOiJwFoM0rCGRWo3Kw4FdQmnc+WZIYua6kkPMKacyJDyb/SkhViJL8UGdTK7HO9n/wxa8dytOU4iLnVSxy7pDeADlTgjIkv1dTyClnebUfmuXVFHIWkiVh8hRcwyHn1ZCqCJ+cO5SiBrrkvNYZFjVHzmsxWVEtcu6AyHkttHlFgcxqVA4WPJnSvK+RJYmR6zoKOeWTqus48cHkXweprqckP9TZ1Eqss93AJ+d25Wla7yJnMRY5t0tvgJzrgzIkv8Up5JSzLO6HZlmcQs7rZUmYPAUlOOQsDqlK8sm5XSlap0vOUs6wtDlylsJkpbXIuR0iZylo80oDmdWoHCz4jZTmXUKWJEaumyjkvFEac+KDyb8JUt1MSX6os6mVWGe7hU/ObcrTVMVFzltZ5NwmvQFyVgnKkPzeRiGnnOVtfmiWt1HIebMsCZOnoAyHnLdBqrJ8cm5TiirrkrOcM7zdHDnLYbLbtci5DSJnOWjzbgcyq1E5WPA7KM27jCxJjFx3Ush5hzTmxAeTfyekuouS/FBnUyuxznY3n5xbladpuouc97DIuVV6A+ScHpQh+b2XQk45y3v90CzvpZDzLlkSJk/BfRxy3gup7ueTc6tSNE2XnA84wwfNkfMBTPagFjm3QuR8ANq8B4HMalQOFvwhSvO+T5YkRq6HKeR8SBpz4oPJfxhSPUJJfqizqZVYZyvPJ+cW5Wla6CLnoyxybpHeADkXBmVIfh+jkFPO8jE/NMvHKOR8RJaEyVNQgUPOxyBVRT45tyhFC3TJ+bgzrGSOnI9jskpa5NwCkfNxaPMqAZnVqBwseGVK864gSxIjVxUKOStLY058MPlVIFVVSvJDnU2txDpbNT45NytPUzUXOZ9gkXOz9AbIWS0oQ/JbnUJOOcvqfmiW1SnkrCpLwuQpqMEhZ3VIVZNPzs1KUVVdctZyhk+aI2ctTPakFjk3Q+SsBW3ek0BmNSoHC16b0rxryJLEyPUUhZy1pTEnPpj8pyDV05TkhzqbWol1tjp8cm5SnqbOLnI+wyLnJukNkLNzUIbkty6FnHKWdf3QLOtSyPm0LAmTp+BZDjnrQqrn+OTcpBS9q0vO553hC+bI+Twme0GLnJsgcj4Pbd4LQGY1KgcLXo/SvJ+VJYmR60UKOetJY058MPkvQqqXKMkPdTa1Euts9fnk3JgtcjZgkXOj9MbI2QDKbwqFnHKWKRg5UyjkfEmWhMlT0JBDzhRI1YhPzo08cjZ2hk3MkbMxJmuiRc6NEDkbQ5vXhENOLHhTSvNuKEsSI1czCjmbSmNOfDD5zSBVc0ryQ51NrcQ6Wws+OTcoT9N4FzlfZpFzg/QGyDk+KEPy+wqFnHKWr/ihWb5CIWdzWRImT0FLDjlfgVSt+OTcoBSN0yVna2fYxhw5W2OyNlrk3ACRszW0eW2AzGpUDha8LaV5t5QliZHrVQo520pjTnww+a9CqlRK8kOdTa3EOls7PjnXK0/TKBc527PIuV56A+QcFZQh+e1AIaecZQc/NMsOFHKmypIweQpe45CzA6R6nU/O9UrRSF1ydnSGncyRsyMm66RFzvUQOTtCm9cJyKxG5WDB36A079dkSWLkepNCzjekMSc+mPw3IdVblOSHOptaiXW2t/nkXKc8TRtc5HyHRc510hsg54agDMnvuxRyylm+64dm+S6FnG/JkjB5CjpzyPkupOrCJ+c6pWi9Ljnfc4bvmyPne5jsfS1yroPI+R60ee8DmdWoHCz4B5Tm3VmWJEauDynk/EAac+KDyf8QUn1ESX6os6mVWGfryifnWuVpWuoiZzcWOddKb4CcS4MyJL8fU8gpZ/mxH5rlxxRyfiRLwuQp+IRDzo8h1ad8cq5VioQuOT9zht3NkfMzTNZdi5xrIXJ+Bm1edyCzGpWDBe9Bad6fyJLEyNWTQs4e0pgTH0x+T0hF6f8XO5taiXU2P5+ca5SnqbCLnOkscq6R3gA5CwdlSH57UcgpZ9nLD82yF4WcabIkTJ6C3hxy9oJUffjkXKMUFdIlZ19n2M8cOftisn5a5FwDkbMvtHn9gMxqVA4WvD+lefeWJYmR63MKOftLY058MPmfQ6oBlOSHOptaiXW2gXxyrlaepvkucg5ikXO19AbIOT8oQ/I7mEJOOcvBfmiWgynkHCBLwuQpGMIh52BINZRPztVK0Txdcg5zhsPNkXMYJhuuRc7VEDmHQZs3HMisRuVgwUdQmvcQWZIYuUZSyDlCGnPig8kfCalGUZIf6mxqJdbZRvPJuUp5mrq5yDmGRc5V0hsgZ7egDMnvWAo55SzH+qFZjqWQc5QsCZOnYByHnGMh1Xg+OVcpRV11yTnBGU40R84JmGyiFjlXQeScAG3eRCCzGpWDBZ9Ead7jZEli5JpMIeckacyJDyZ/MqSaQkl+qLOplVhnm8on50rlaarsIuc0FjlXSm+AnJWDMiS/0ynklLOc7odmOZ1CzimyJEyeghkcck6HVDP55FypFFXSJecsZzjbHDlnYbLZWuRcCZFzFrR5s4HMalQOFnwOpXnPkCWJkWsuhZxzpDEnPpj8uZBqHiX5oc6mVmKdbT6fnCuUp8nvIucXLHKukN4AOf1BGZLfBRRyylku8EOzXEAh5zxZEiZPwUIOORdAqi/55FyhFKXpknORM/zKHDkXYbKvtMi5AiLnImjzvgIyq1E5WPCvKc17oSxJjFzfUMj5tTTmxAeT/w2k+paS/FBnUyuxzvYdn5zLlaeprYuc37PIuVx6A+RsG5Qh+f2BQk45yx/80Cx/oJDzW1kSJk/Bjxxy/gCpfuKTc7lS1EaXnD87w8XmyPkzJlusRc7lEDl/hjZvMZBZjcrBgi+hNO8fZUli5PqFQs4l0pgTH0z+L5AqQEl+qLOplVhnE3xyLlOepkUuci5lkXOZ9AbIuSgoQ/K7jEJOOctlfmiWyyjkDMiSMHkKlnPIuQxSreCTU70LX+qSc6UzXGWOnCsx2Sotci6DyLkS2rxVQGY1KgcLvprSvOXL4hUYudZQyLlaGnPig8lfA6nWUpIf6mxqJdbZ1vHJuVR5mpJd5FzPIudS6Q2QMzkoQ/K7gUJOOcsNfmiWGyjkXCtLwuQp2Mgh5wZItYlPzqVKUVFdcm52hlvMkXMzJtuiRc6lEDk3Q5u3BcisRuVgwbdSmvdGWZIYubZRyLlVGnPig8nfBqm2U5If6mxqJdbZdvDJKZSnKdFFzp0scgrpDZAzMShD8ruLQk45y11+aJa7KOTcLkvC5CnYzSHnLki1h09O9TObBF1y7nWG+8yRcy8m26dFTgGRcy+0efuAzGpUDhb8V0rz3i1LEiPXfgo5f5XGnPhg8vdDqgOU5Ic6m1qJdbaDfHIGlKeptYuch1jklO/WDwHkbB2UIfk9TCGnnOVhPzTLwxRyHpAlYfIUHOGQ8zCkOsonp/ozmVa65DzmDI+bI+cxTHZci5wBiJzHoM07DmRWo3Kw4CcozfuILEmMXCcp5DwhjTnxweSfhFSnKMkPdTa1Eutsp/nk/EV5mvK6yPkbi5y/SG+AnHmDMiS/v1PIKWf5ux+a5e8Ucp6SJWHyFPzBIefvkOpPPjnVX6XIo0vOv5zhGXPk/AuTndEi5y8QOf+CNu8MkFmNysGC/01p3n/IksTI9Q+FnH9LY058MPn/QKqzlOSHOptaiXW2f/nkVH9PLYdDzrgcLHIukd7QhOMsChNlfCuNQruzchsNVm6cTaFdnAWpPBqbDyxJGqfxS31xtko9hlXqi6U3Vuo5KaUu4+fUKXWlc3Afc/oNFfFl7/bP6nm4dtvL2u2fpTd2Ar1QTcRSakLOMhbbuVhGkwxWTiwEzjgbmmUuRn0Hs5QrjfKqJS4XpIqjvGoJEUqtxAgVT2kucdIYa5u5gCNySXPJ1St7zeVqYIH4G7Icydl69+bvMrp8ampKp805kkVcgohLFHG5RZxPxCWJuDwiLq+Iyyfi8ou4AiKuoIi7QsRdKeIKibjCIu4qEXe1iLtGxBURcdeKuKIiTjpcJ+KuF3E3iLhiIq64iCsh4kqKuFIirrSIu9HYO8K4hFyQLBGT5cZkPkyWhMnyYLK8mCwfJsuPyQpgsoKY7ApMdiUmK4TJCmOyqzDZ1ZjsGkxWBJNdi8mKYrJkTHYdJrsek92AyYphsuKYrAQmK4nJSmGy0pjsxgzPqHqHJ2DaBbhIAuUPq2rjd1QFwqnmtXWpCiLMzVMsuy9LMixkdha2MnjRS1QV5mStSnaralYMo7oOWkip7C5kc44iCLKhVy4JyLPFuESlKrjc3CrVuaT4IqvSz6cuKaLq1IUE54mk2h7ahrwRVI9e3Kx8YVQdL9nSK7JWVbp046/MUrUvQ3kUykpVLmMRFc5CVTJTqV2VWVUvc0Fmrom6WZTtNRlVnbMq7iIZVJ2zPALXulRza4U7KNc7qlLzwqpuuKgaWjq8qlhIVWZYBFXxC6rtZSOpSpxXvbojoqrkOVX11MiqUkFVoxoKVWmpuq2xSnUj8q4gTzFIVYr+YCLuRmWPWeF6MHET6cFE3I3SG/isckVQhvjdzHgwEZzlzX5oljdnd+ey/UFccOcUouWaH8TF3eIMbzX3tusWTHarzgdx546dGpa3QOC9Fchs9ovnZhkee6p1C//Yl1Zma7Dr2N/GOvbyff1twLEfHJQhfmUox17OsowfmmUZ/rEvrRQN0j32ZZ1hOXPHviwmK6d17EtDx74sdOzKAZnVeJiKBb+d8lmW7DllsCfZN0OzvIPyMPV2aew3Fv8yO2MpZUHNdHXGO1mdUT70vBPojDODMsTvLkpnlLO8yw/N8i7KJzWyvu8wWd93cz5PuQtS3UP/8lac+g3FDF143OsM7zMHj3sx2X1a8CgFweNeaPPuAzKrUTlY8PspLehuWZJYW36AgoX7pTEnPpj8ByDVg5Tkhzob0AMh1UPZbS7ZJ2dJ5Wnq6SLnwyxyyk8MHwbI2TMoQ/weoZBTzvIRPzTLRyjkfFCWhMlTUJ7zRbBHINWjfHKWVIp66JLzMWdYwRw5H8NkFbTIWRIi52PQ5lUAMqtROVjwipQWVF6WJEauxynkrCiNOfHB5D8OqSpRkh/qbGol1tkq899zllCeJtf1TnFVWOQsIb2h652kDPGrSiGnnGVV6HqnYHyFnQ45K8mSMHkKqnHIWRVSPcEnZwmlSPd6p7jqzrCGOXJWx2Q1tMhZAiJndWjzagCZ1agcLHhNSguqJksSI1ctCjlrSmNOfDD5tSDVk5TkhzqbWol1ttp8chZXnqblLnI+xSJncekNkHN5UIb4PU0hp5zl035olk9TyPmkLAmTp6AOh5xPQ6pn+OQsrhQt0yVnXWf4rDly1sVkz2qRszhEzrrQ5j0LZFajcrDgz1FaUB1Zkhi5nqeQ8zlpzIkPJv95SPUCJfmhzqZWYp2tHp+cxZSnKcVFzhdZ5CwmvQFypgRliN9LFHLKWb7kh2b5EoWcL8iSMHkK6nPI+RKkasAnp/oL6A10yZniDBuaI2cKJmuoRc5iEDlToM1rCGRWo3Kw4I0oLai+LEmMXI0p5GwkjTnxweQ3hlRNKMkPdTa1EutsTfnkvEF5mta7yNmMRc4bpDdAzvVBGeLXnEJOOcvmfmiWzSnklDvQ1OQpaMEhZ3NI9TKfnDcoRet0yfmKM2xpjpyvYLKWWuS8ASLnK9DmtQQyq1E5WPBWlBbUQpYkRq7WFHK2ksac+GDyW0OqNpTkhzqbWol1trZ8cl6vPE1VXOR8lUXO66U3QM4qQRnil0ohp5xlqh+aZSqFnG1kSZg8Be045EyFVO355LxeKaqsS84OzvA1c+TsgMle0yLn9RA5O0Cb9xqQWY3KwYK/TmlBMq/tMXJ1pJDzdWnMiQ8mvyOk6kRJfqizqZVYZ3uDT87rlKdpuoucb7LIeZ30Bsg5PShD/N6ikFPO8i0/NMu3KOTsJEvC5Cl4m0POtyDVO3xyXqcUTdMl57vOsLM5cr6LyTprkfM6iJzvQpvXGcisRuVgwbtQWtDbsiQxcr1HIWcXacyJDyb/PUj1PiX5oc6mVmKd7QM+OZOVp2mhi5wfssiZLL0Bci4MyhC/jyjklLP8yA/N8iMKOd+XJWHyFHTlkPMjSNWNT85kpWiBLjk/doafmCPnx5jsEy1yJkPk/BjavE+AzGpUDhb8U0oL6ipLEiPXZxRyfiqNOfHB5H8GqbpTkh/qbGol1tl68MlZVHmaqrnI2ZNFzqLSGyBntaAM8UujkFPOMs0PzZJysX9cd1kSJk+Bn0PONEiVzidnUaWoqi45eznD3ubI2QuT9dYiZ1GInL2gzesNZFajcrDgfSgtyC9LEiNXXwo5+0hjTnww+X0hVT9K8kOdTa3EOlt/PjmvVZ6mzi5yfs4i57XSGyBn56AM8RtAIaec5QA/NMsBFHL2kyVh8hQM5JBzAKQaxCfntUrRu7rkHOwMh5gj52BMNkSLnNdC5BwMbd4QILMalYMFH0ppQQNlSWLkGkYh51BpzIkPJn8YpBpOSX6os6mVWGcbwSdnkWyRcySLnEWkN0bOkdCyRlHIKWc5CiPnKAo5h8uSMHkKRnPIOQpSjeGTswiPnGOd4Thz5ByLycZpkbMIRM6x0OaN45ATCz6e0oJGy5LEyDWBQs7x0pgTH0z+BEg1kZL8UGdTK7HONolPzmuUp2m8i5yTWeS8RnoD5BwflCF+UyjklLOc4odmOYVCzomyJEyegqkcck6BVNP45LxGKRqnS87pznCGOXJOx2QztMh5DUTO6dDmzQAyq1E5WPCZlBY0VZYkRq5ZFHLOlMac+GDyZ0Gq2ZTkhzqbWol1tjl8cl6tPE2jXOScyyLn1dIbIOeooAzxm0chp5zlPD80y3kUcs6WJWHyFMznkHMepPqCT071X4cdqUvOBc5woTlyLsBkC7XIeTVEzgXQ5i0EMqtROVjwLyktaL4sSYxciyjk/FIac+KDyV8Eqb6iJD/U2dRKrLN9zSfnVcrTtMFFzm9Y5LxKegPk3BCUIX7fUsgpZ/mtH5rltxRyfiVLwuQp+I5Dzm8h1fd8cl6lFK3XJecPzvBHc+T8AZP9qEXOqyBy/gBt3o9AZjUqBwv+E6UFfSdLEiPXzxRy/iSNOfHB5P8MqRZTkh/qbGol1tmW8MlZWHmalrrI+QuLnIWlN0DOpUEZ4hegkFPOMuCHZhmgkHOxLAmTp0BwyBmAVEv55CysFAldci5zhsvNkXMZJluuRc7CEDmXQZu3HMisRuVgwVdQWpCQJYmRayWFnCukMSc+mPyVkGoVJfmhzqZWYp1tNZ+chZSnqbCLnGtY5CwkvQFyFg7KEL+1FHLKWa71Q7NcSyHnKlkSJk/BOg4510Kq9XxyFlKKCumSc4Mz3GiOnBsw2UYtchaCyLkB2ryNQGY1KgcLvonSgtbJksTItZlCzk3SmBMfTP5mSLWFkvxQZ1Mrsc62lU/OK5Wnab6LnNtY5LxSegPknB+UIX7bKeSUs9zuh2a5nULOLbIkTJ6CHRxybodUO/nkvFIpmqdLzl3OcLc5cu7CZLu1yHklRM5d0ObtBjKrUTlY8D2UFrRDliRGrr0Ucu6Rxpz4YPL3Qqp9lOSHOptaiXW2X/nkvEJ5mrq5yLmfRc4rpDdAzm5BGeJ3gEJOOcsDfmiWByjk3CdLwuQpOMgh5wFIdYhPziuUoq665DzsDI+YI+dhTHZEi5xXQOQ8DG3eESCzGpWDBT9KaUEHZUli5DpGIedRacyJDyb/GKQ6Tkl+qLOplVhnO8EnZ0HlaarsIudJFjkLSm+AnJWDMsTvFIWccpan/NAsT1HIeVyWhMlTcJpDzlOQ6jc+OQsqRZV0yfm7M/zDHDl/x2R/aJGzIETO36HN+wPIrEblYMH/pLSg07IkMXL9RSHnn9KYEx9M/l+Q6gwl+aHOplZine1vPjkLKE+T30XOf1jkLCC9AXL6gzLE7yyFnHKWZ/3QLM9SyHlGloTJU/Avh5xnEVV8Dj45CyhFaZrkjLecoW2MnPEWJrO1yFkAIWe8BW2eDWQ2+5UDBvdQWtC/siQhcsXHMMgZ75HGnPhg8mMgVU5K8kOdTa2EOlu8l0/O/MrT1NYhZ3wsi5z5pTdAzrZBGVKGuSjklLPM5YdmmYtBzvicsiRMnoI4Cjnjc0GqeD458ytFbXTJmeAME82RMwGTJWqRMz9EzgRo8xKBzGpUDhY8N6MFxcfJksTI5aOQM7c05sQHk++DVEmU5Ic6m1qJdbY8fHLmU56mRS5y5mWRM5/0Bsi5KChD8puPQk45y3x+aJb5KORMkiVh8hTk55AzH6QqwCenehe+1CVnQWd4hTlyFsRkV2iRMx9EzoLQ5l0BZFajcrDgV1Kat3xZXAAjVyEKOa+Uxpz4YPILQarClOSHOptaiXW2q/jkzKs8Tckucl7NImde6Q2QMzkoQ/J7DYWccpbX+KFZXkMhZ2FZEiZPQREOOa+BVNfyyZlXKSqqS86izjDZHDmLYrJkLXLmhchZFNq8ZCCzGpWDBb+O0ryLyJLEyHU9hZzXSWNOfDD510OqGyjJD3U2tRLrbMX45MyjPE2JLnIWZ5Ezj/QGyJkYlCH5LUEhp5xlCT80yxIUct4gS8LkKSjJIWcJSFWKT071M5sEXXKWdoY3miNnaUx2oxY580DkLA1t3o1AZjUqBwt+E6V5l5QliZHrZgo5b5LGnPhg8m+GVLdQkh/qbGol1tlu5ZMzSXmaWrvIeRuLnPLd+m0AOVsHZUh+y1DIKWdZxg/NsgyFnLfIkjB5CspyyFkGUpXjk1P9mUwrXXLe7gzvMEfO2zHZHVrkTILIeTu0eXcAmdWoHCz4nZTmXVaWJEauuyjkvFMac+KDyb8LUt1NSX6os6mVWGe7h09On/I05XWR814WOX3SGyBn3qAMye99FHLKWd7nh2Z5H4Wcd8uSMHkK7ueQ8z5I9QCfnOqvUuTRJeeDzvAhc+R8EJM9pEVOH0TOB6HNewjIrEblYMEfpjTv+2VJYuR6hELOh6UxJz6Y/EcgVXlK8kOdTa3EOtujfHKqv6eWw0XOx1jkzC29oQnHV6AwUcavkEahXXm5jSYrtyKHdhUg1eMamw8sSRqn8Us9MVulXolV6vJZfiWs1CtTSl3Gr6xT6krn4D5W9hsq4sve7QT1PFy7XYW12wnSGzuBVaCaqEqpCTnLqtjOVaU0SVk5VTFwVoRmWY1R38EsVUvjvGqpBqmeoLxqCRFKrcQIVZ3SXJ6QxljbrAYckUuaS65eTnPZnKPohSBWhCjCW/+8KpJIqhqcU0UUSVVKUBVZJFUNXYu3wqoaOSorvFfjiyorQsQmIZUVaV5NM2yKlaWq2aUqK2uv5peorDARW7hVVrh5vZxFsViZVK9kVlmZvVpmUllZRGyVUWVlNa/WYYrYukTVJmuVdalX2yxVVoaIr2alsjLOKzXC4bIuqtqFV1mOV/uwKssVsUM4leWe12uKQ2+dU70eWWWd9+oYUWVdiNgpksoKzesNpBl531KqLOn1tkplBSO+AzRW/EFQjuRsPTXydxldPjU1pdPmHMkivoaIrynia4n4J0V8bRH/lIh/WsTXEfHPiPi6Iv5ZEf+ciH9exL8g4uuJ+BdF/Esivr6IbyDiU0R8QxHfSMQ3FvHyZVdTEd9MxDcX8S1E/Msi/hUR31LEtzL3JKpGLkhWE5PVwmRPYrLamOwpTPY0JquDyZ7BZHUx2bOY7DlM9jwmewGT1cNkL2KylzBZfUzWAJOlYLKGmKwRJmuMyZpgsqaYrBkma47JWmCylzHZK5isJSZrleHZeO/wr7zTLryola98nwmrauN3VHXDqea1dameRV7r53kwu2+HMixkdha2MnjDS1QV5mStauRW1awYRtUYWkj57C5kc477o28ULqiibxRCqugbhZAq+kYhNK//wRsF6DlNDeiT1JpKVbDJ1lKpzrXiJyOr0s837NoRVacutPWnIqm2h5r/0xFUj15ERJ0wqo6XgOS5rFWVLsXN81mq9mWA0gtZqcplRFe9LFQlMwHuxcyqepkx+FImVd0sYFk/o6pzVkhtkEHVOUvwprhUc2uFw3MTR1VqXlhV04uqoaXDq5qFVGWGRVA1v6DaXjaSqsV51as7IqpePqeqnhpZFWRHmUY1FKogO25rrFK1QrpJngchFfKi5/I+holvpewxK1wfw7QmfQwT30p6A9/MWhGUIX5tGB/DBGfZxg/Nsk12dy7bXzsK7pxCtFz3a0dtneGr5h72tMVkr+p87ejcsVPDsi0E3leBzGa/eNrI8NhneG35x76lMluDXcc+lXXs5dPEVODYDw7KEL92lGMvZ9nOD82yHf/Yt1SKBuke+/bOsIO5Y98ek3XQOvYtoWPfHjp2HYDManx0jAV/TeN8qV1lz2mHfXTcBprl65SPjl+Txn5j8S+zM76iLKiZrs7YkdUZ5UctHYHOODMoQ/w6UTqjnGUnPzTLTpTvpcj6ft1kfb/B+fZIJ0j1JlBIlwmPV5SiGbrweMsZvm0OHm9hsre14PEKBI+3oM17G8isRuVgwd+htKA3ZElibfldChbekcac+GDy34VUnSnJD3U2oAdCqi7ZbS7ZJ+fLytPU00XO91jkfFl6A+TsGZQhfu9TyCln+b4fmuX7FHJ2liVh8hR8kM29BI/g+5DqQz45X1aKeuiS8yNn2NUcOT/CZF21yPkyRM6PoM3rCmRWo3Kw4N0oLegDWZIYuT6mkLObNObEB5P/MaT6hJL8UGdTK7HO9in/PWcL5WlyX2b5GYucLaQ3dpnlZ9CyulPIKWfZHbvMsjuFnJ/IkjB5CnpwyNkdUvXkk7OFUqR9mWWaM/SbI2caJvNrkbMFRM40aPP8QGY1KgcLnk5pQT1kSWLk6kUhZ7o05sQHk98LUvWmJD/U2dRKrLP14ZOzufI0LXeRsy+LnM2lN0DO5UEZ4tePQk45y35+aJb9KOTsLUvC5CnozyFnP0j1OZ+czZWiZbrkHOAMB5oj5wBMNlCLnM0hcg6ANm8gkFmNysGCD6K0oP6yJDFyDaaQc5A05sQHkz8YUg2hJD/U2dRKrLMN5ZOzmfI0pbjIOYxFzmbSGyBnSlCG+A2nkFPOcrgfmuVwCjmHyJIweQpGcMg5HFKN5JOzmVLUQJeco5zhaHPkHIXJRmuRsxlEzlHQ5o0GMqtROVjwMZQWNEKWJEausRRyjpHGnPhg8sdCqnGU5Ic6m1qJdbbxfHI2VZ6m9S5yTmCRs6n0Bsi5PihD/CZSyClnOdEPzXIihZzjZEmYPAWTOOScCKkm88nZVClap0vOKc5wqjlyTsFkU7XI2RQi5xRo86YCmdWoHCz4NEoLmiRLEiPXdAo5p0ljTnww+dMh1QxK8kOdTa3EOttMPjmbKE9TFRc5Z7HIGfQGyFklKEP8ZlPIKWc52w/NcjaFnDNkSZg8BXM45JwNqebyydlEKaqsS855znC+OXLOw2TztcjZBCLnPGjz5gOZ1agcLPgXlBY0R5YkRq4FFHJ+IY058cHkL4BUCynJD3U2tRLrbF/yydlYeZqmu8i5iEXOxtIbIOf0oAzx+4pCTjnLr/zQLL+ikHOhLAmTp+BrDjm/glTf8MnZWCmapkvOb53hd+bI+S0m+06LnI0hcn4Lbd53QGY1KgcL/j2lBX0tSxIj1w8Ucn4vjTnxweT/AKl+pCQ/1NnUSqyz/cQnZyPlaVroIufPLHI2kt4AORcGZYjfYgo55SwX+6FZLqaQ80dZEiZPwRIOORdDql/45GykFC3QJWfAGQpz5AxgMqFFzkYQOQPQ5gkgsxqVgwVfSmlBS2RJYuRaRiHnUmnMiQ8mfxmkWk5JfqizqZVYZ1vBJ2dD5Wmq5iLnShY5G0pvgJzVgjLEbxWFnHKWq/zQLFdRyLlcloTJU7CaQ85VkGoNn5wNlaKquuRc6wzXmSPnWky2ToucDSFyroU2bx2QWY3KwYKvp7Sg1bIkMXJtoJBzvTTmxAeTvwFSbaQkP9TZ1Eqss23ikzNFeZo6u8i5mUXOFOkNkLNzUIb4baGQU85yix+a5RYKOTfKkjB5CrZyyLkFUm3jkzNFKXpXl5zbneEOc+Tcjsl2aJEzBSLndmjzdgCZ1agcLPhOSgvaKksSI9cuCjl3SmNOfDD5uyDVbkryQ51NrcQ62x4+ORtki5x7WeRsIL0xcu6FlrWPQk45y30YOfdRyLlbloTJU/Arh5z7INV+Pjkb8Mh5wBkeNEfOA5jsoBY5G0DkPABt3kEOObHghygt6FdZkhi5DlPIeUgac+KDyT8MqY5Qkh/qbGol1tmO8slZX3maxrvIeYxFzvrSGyDn+KAM8TtOIaec5XE/NMvjFHIekSVh8hSc4JDzOKQ6ySdnfaVonC45TznD0+bIeQqTndYiZ32InKegzTsNZFajcrDgv1Fa0AlZkhi5fqeQ8zdpzIkPJv93SPUHJfmhzqZWYp3tTz45X1KeplEucv7FIudL0hsg56igDPE7QyGnnOUZPzTLMxRy/iFLwuQp+JtDzjOQ6h8+OV9SikbqkvOsM/zXHDnPYrJ/tcj5EkTOs9Dm/QtkVqNyoOAJOSgt6G9ZkhC5EiwGOROCxpz4WPITLEhlU5If6mxqJdTZEjx8cr6oPE0bHHImxLDI+aL0Bsi5IShDyjAnhZxyljn90CxzMsiZYMuSMHkKvBRyJuSEVLF8cr6oFK3XJGdCLmcYZ4ycCbkwWZwWOV9EyJmQC9q8OCCzGpWDBY9ntKAEryxJjFwJFHLGS2NOfDD5CZAqkZL8UGdTK7HOlptPznrK07TURU4fi5z1pDdAzqVBGZLfJAo55SyT/NAskyjkTJQlYfIU5OGQMwlS5eWTs55SJHTJmc8Z5jdHznyYLL8WOetB5MwHbV5+ILMalYMFL0Bp3nlkSWLkKkghZwFpzIkPJr8gpLqCkvxQZ1Mrsc52JZ+cLyhPU2EXOQuxyPmC9AbIWTgoQ/JbmEJOOcvCfmiWhSnkvEKWhMlTcBWHnIUh1dV8cr6gFBXSJec1zrCIOXJeg8mKaJHzBYic10CbVwTIrEblYMGvpTTvq2RJYuQqSiHntdKYEx9MflFIlUxJfqizqZVYZ7uOT87nladpvouc17PI+bz0Bsg5PyhD8nsDhZxyljf4oVneQCFnsiwJk6egGIecN0Cq4nxyPq8UzdMlZwlnWNIcOUtgspJa5HweImcJaPNKApnVqBwseClK8y4mSxIjV2kKOUtJY058MPmlIdWNlOSHOptaiXW2m/jkfE55mrq5yHkzi5zPSW+AnN2CMiS/t1DIKWd5ix+a5S0Uct4oS8LkKbiVQ85bINVtfHI+pxR11SVnGWdY1hw5y2CyslrkfA4iZxlo88oCmdWoHCx4OUrzvlWWJEau2ynkLCeNOfHB5N8Oqe6gJD/U2dRKrLPdySfns8rTVNlFzrtY5HxWegPkrByUIfm9m0JOOcu7/dAs76aQ8w5ZEiZPwT0cct4Nqe7lk/NZpaiSLjnvc4b3myPnfZjsfi1yPguR8z5o8+4HMqtROVjwByjN+x5Zkhi5HqSQ8wFpzIkPJv9BSPUQJfmhzqZWYp3tYT456ypPk99FzkdY5KwrvQFy+oMyJL/lKeSUsyzvh2ZZnkLOh2RJmDwFj3LIWR5SPcYnZ12lKE2XnBWcYUVz5KyAySpqkbMuRM4K0OZVBDKrUTlY8McpzftRWZIYuSpRyPm4NObEB5NfCVJVpiQ/1NnUSqyzVeGT8xnlaWrrImdVFjmfkd4AOdsGZUh+q1HIKWdZzQ/NshqFnPLNbBWTp+AJDjmrQarqfHI+oxS10SVnDWdY0xw5a2CymlrkfAYiZw1o82oCmdWoHCx4LUrzfkKWJEauJynkrCWNOfHB5D8JqWpTkh/qbGol1tme4pOzjvI0LXKR82kWOetIb4Cci4IyJL91KOSUs6zjh2ZZh0LO2rIkTJ6CZzjkrAOp6vLJqd6FL3XJ+awzfM4cOZ/FZM9pkbMORM5noc17DsisRuVgwZ+nNG/5srguRq4XKOR8Xhpz4oPJfwFS1aMkP9TZ1Eqss73IJ+fTytOU7CLnSyxyPi29AXImB2VIfutTyClnWd8PzbI+hZz1ZEmYPAUNOOSsD6lS+OR8WikqqkvOhs6wkTlyNsRkjbTI+TREzobQ5jUCMqtROVjwxpTm3UCWJEauJhRyNpbGnPhg8ptAqqaU5Ic6m1qJdbZmfHI+pTxNiS5yNmeR8ynpDZAzMShD8tuCQk45yxZ+aJYtKORsKkvC5Cl4mUPOFpDqFT451c9sEnTJ2dIZtjJHzpaYrJUWOZ+CyNkS2rxWQGY1KgcL3prSvF+WJYmRqw2FnK2lMSc+mPw2kKotJfmhzqZWYp3tVT45aytPU2sXOVNZ5JTv1lMBcrYOypD8tqOQU86ynR+aZTsKOeUHqK+aPAXtOeRsB6k68Mmp/kymlS45X3OGr5sj52uY7HUtctaGyPkatHmvA5nVqBwseEdK824vSxIjVycKOTtKY058MPmdINUblOSHOptaiXW2N/nkfFJ5mvK6yPkWi5xPSm+AnHmDMiS/b1PIKWf5th+a5dsUcr4hS8LkKXiHQ863IdW7fHKqv0qRR5ecnZ1hF3Pk7IzJumiR80mInJ2hzesCZFajcrDg71Ga9zuyJDFyvU8h53vSmBMfTP77kOoDSvJDnU2txDrbh3xyqr+nlsNFzo9Y5KwlvaEJJ3SlMFHG75pGod0HchtNVm43Du26QqqPNTYfWJI0TuOXes1slfonrFKvKb2xUv+UUuoy/qc6pa50Du7jp35DRXzZu11DPQ/Xbn/G2u0a0hs7gZ9BNdGdUhNylt2xnetOaZKycrpj4OwGzbIHo76DWeqRxnnV0gNS9aS8agkRSq3ECMVpLj2lMdY2ewBH5JLmkqtXNpuLtwuwRPwtWY7kbL1/83cZXT41NaXT5hzJIsEvEtJFQi+R0Fsk9BEJfUVCP5HQXyR8LhIGiISBImGQSBgsEoaIhKEiYZhIGC4SRoiEkSJhlEgYLRLGiISxImGcSBgvEiaIhIkiYZJImCwSpoiEqSJhmrn3hP5ckCwdk/XCZL0xWR9M1heT9cNk/THZ55hsACYbiMkGYbLBmGwIJhuKyYZhsuGYbAQmG4nJRmGy0ZhsDCYbi8nGYbLxmGwCJpuIySZhssmYbAomm4rJpmV4StU7PAPTLuBFMujzsKo2fkc1IJxqXluXaiBC3TzZ/oWrDAuZnYWtDD76ElWFOVmrxrhVNSuGUY2FFpLdX65J25yjCAZt6NUL8GRcLkX9lD+44F4q1bm09I6sSj+fvD4RVacupLhvJNX20Eb0i6B69OJ29Q+j6njJpg7KWlXp0q0fnKVqX4YCGZKVqlzGMhqahapkpmIblllVL3NJDs+kqptF4Y7IqOqcVXmPzKDqnOUhGOVSza0V7qiMc1Sl5oVVjb+oGlo6vGpCSFVmWATVxAuq7WUjqSadV726I6Jq8jlV9dTIqilBVaMaCtVUqbqtsUo1DekAeZ6EVHXoDycSpil7zArXw4nppIcTCdOkN/B55YqgDPGbwXg4EZzlDD80yxnZ3blsfxgX3DmFaLnuh3EzneEsc2+8ZmKyWTofxp07dmpYzoTAOwvIbPaLZ4YMjz3Zmsk/9lOV2RrsOvazWcdevrOfDRz7wUEZ4jeHcuzlLOf4oVnO4R/7qUrRIN1jP9cZzjN37Odisnlax34qdOznQsduHpBZjQeqWPD5lM+zZM+Zgz1QnQHN8gvKA9X50thvLP5ldsYpyoKa6eqMC1idUT72XAB0xplBGeK3kNIZ5SwX+qFZLqR8WiPr+wuT9f0l5zOVhZBqEf0LXMHiVohm6MLjK2f4tTl4fIXJvtaCxxQIHl9Bm/c1kFmNysGCf0NpQV/KksTa8rcULHwjjTnxweR/C6m+oyQ/1NmAHgipvs9uc8k+OScrT1NPFzl/YJFTfmb4A0DOnkEZ4vcjhZxylj/6oVn+SCHnd7IkTJ6CnzhfBvsRUv3MJ+dkpaiHLjkXO8Ml5si5GJMt0SLnZIici6HNWwJkVqNysOC/UFrQT7IkMXIFKOT8RRpz4oPJD0AqQUl+qLOplVhnW8p/zzlJeZrcVzwtY5FzkvTGrnhaBi1rOYWccpbLsSuellPIKWRJmDwFKzjkXA6pVvLJOUkp0r7iaZUzXG2OnKsw2Wotck6CyLkK2rzVQGY1KgcLvobSguRHZysxcq2lkHONNObEB5O/FlKtoyQ/1NnUSqyzreeTc6LyNC13kXMDi5wTpTdAzuVBGeK3kUJOOcuNfmiWGynkXCdLwuQp2MQh50ZItZlPzolK0TJdcm5xhlvNkXMLJtuqRc6JEDm3QJu3FcisRuVgwbdRWtAmWZIYubZTyLlNGnPig8nfDql2UJIf6mxqJdbZdvLJOUF5mlJc5NzFIucE6Q2QMyUoQ/x2U8gpZ7nbD81yN4WcO2RJmDwFezjk3A2p9vLJOUEpaqBLzn3O8Fdz5NyHyX7VIucEiJz7oM37FcisRuVgwfdTWtAeWZIYuQ5QyLlfGnPig8k/AKkOUpIf6mxqJdbZDvHJOV55mta7yHmYRc7x0hsg5/qgDPE7QiGnnOURPzTLIxRyHpQlYfIUHOWQ8wikOsYn53ilaJ0uOY87wxPmyHkck53QIud4iJzHoc07AWRWo3Kw4CcpLeioLEmMXKco5DwpjTnxweSfglSnKckPdTa1Eutsv/HJOU55mqq4yPk7i5zjpDdAzipBGeL3B4WccpZ/+KFZ/kEh52lZEiZPwZ8ccv4Bqf7ik3OcUlRZl5xnnOHf5sh5BpP9rUXOcRA5z0Cb9zeQWY3KwYL/Q2lBf8qSxMh1lkLOf6QxJz6Y/LOQ6l9K8kOdTa2EOltiDj45xypP03SHnIkWi5xjpTdAzulBGeCXaFPIKWdp+6FZ2hRy/itLwuApSPRQyJloQ6oYPjnHKkXTNMmZmNMZeo2RMzEnJvNqkXMsQs7EnNDmeYHMalQOFjyW0YISPbIkIXIl5mKQMzFWGnPig8nPBaniKP0/1NnUSqyzxfPJOUZ5mha6yJnAIucY6Q2Qc2FQhpRhIoWccpaJfmiWiQxyJsbJkjB5CnJzyJkIqXx8co5RihbokjPJGeYxR84kTJZHi5xj0hFyJkGblwfIrEblYMHzUsiZW5YkRq58FHLmlcac+GDy80Gq/JTkhzqbWol1tgJ8co5WnqZqLnIWZJFztPQGyFktKEPyewWFnHKWV/ihWV5BIWd+WRImT8GVHHJeAakK8ck5WimqqkvOws7wKnPkLIzJrtIi52iInIWhzbsKyKxG5WDBr6Y07ytlSWLkuoZCzqulMSc+mPxrIFURSvJDnU2txDrbtXxyjlKeps4uchZlkXOU9AbI2TkoQ/KbTCGnnGWyH5plMoWcRWRJmDwF13HImQyprueTc5RS9K4uOW9whsXMkfMGTFZMi5yjIHLeAG1eMSCzGpWDBS9Oad7XyZLEyFWCQs7i0pgTH0x+CUhVkpL8UGdTK7HOVopPzpHZImdpFjlHSm+MnKWh/N5IIaec5Y0YOW+kkLOkLAmTp+AmDjlvhFQ388k5kkfOW5zhrebIeQsmu1WLnCMhct4Cbd6tHHJiwW+jNO+bZEli5CpDIedt0pgTH0x+GUhVlpL8UGdTK7HOVo5PzhHK0zTeRc7bWeQcIb0Bco4PypD83kEhp5zlHX5olndQyFlWloTJU3Anh5x3QKq7+OQcoRSN0yXn3c7wHnPkvBuT3aNFzhEQOe+GNu8eILMalYMFv5fSvO+UJYmR6z4KOe+Vxpz4YPLvg1T3U5If6mxqJdbZHuCTc7jyNI1ykfNBFjmHS2+AnKOCMiS/D1HIKWf5kB+a5UMUct4vS8LkKXiYQ86HINUjfHIOV4pG6pKzvDN81Bw5y2OyR7XIORwiZ3lo8x4FMqtROVjwxyjN+2FZkhi5KlDI+Zg05sQHk18BUlWkJD/U2dRKrLM9zifnMOVp2uAiZyUWOYdJb4CcG4IyJL+VKeSUs6zsh2ZZmULOirIkTJ6CKhxyVoZUVfnkHKYUrdclZzVn+IQ5clbDZE9okXMYRM5q0OY9AWRWo3Kw4NUpzbuKLEmMXDUo5KwujTnxweTXgFQ1KckPdTa1EutstfjkHKo8TUtd5HySRc6h0hsg59KgDMlvbQo55Sxr+6FZ1qaQs6YsCZOn4CkOOWtDqqf55ByqFAldctZxhs+YI2cdTPaMFjmHQuSsA23eM0BmNSoHC16X0ryfkiWJketZCjnrSmNOfDD5z0Kq5yjJD3U2tRLrbM/zyTlEeZoKu8j5AoucQ6Q3QM7CQRmS33oUcspZ1vNDs6xHIedzsiRMnoIXOeSsB6le4pNziFJUSJec9Z1hA3PkrI/JGmiRcwhEzvrQ5jUAMqtROVjwFErzflGWJEauhhRypkhjTnww+Q0hVSNK8kOdTa3EOltjPjkHK0/TfBc5m7DIOVh6A+ScH5Qh+W1KIaecZVM/NMumFHI2kiVh8hQ045CzKaRqzifnYKVoni45WzjDl82RswUme1mLnIMhcraANu9lILMalYMFf4XSvJvJksTI1ZJCzlekMSc+mPyWkKoVJfmhzqZWYp2tNZ+cg5SnqZuLnG1Y5BwkvQFydgvKkPy2pZBTzrKtH5plWwo5W8mSMHkKXuWQsy2kSuWTc5BS1FWXnO2cYXtz5GyHydprkXMQRM520Oa1BzKrUTlY8A6U5v2qLEmMXK9RyNlBGnPig8l/DVK9Tkl+qLOplVhn68gn50DlaarsImcnFjkHSm+AnJWDMiS/b1DIKWf5hh+a5RsUcr4uS8LkKXiTQ843INVbfHIOVIoq6ZLzbWf4jjlyvo3J3tEi50CInG9Dm/cOkFmNysGCv0tp3m/KksTI1ZlCznelMSc+mPzOkKoLJfmhzqZWYp3tPT45ByhPk99FzvdZ5BwgvQFy+oMyJL8fUMgpZ/mBH5rlBxRydpElYfIUfMgh5weQ6iM+OQcoRWm65OzqDLuZI2dXTNZNi5wDIHJ2hTavG5BZjcrBgn9Mad4fypLEyPUJhZwfS2NOfDD5n0CqTynJD3U2tRLrbJ/xyfm58jS1dZGzO4ucn0tvgJxtgzIkvz0o5JSz7OGHZtmDQs5PZUmYPAU9OeTsAanS+OT8XClqo0tO16FIN0dOPyZL1yLn5xA5seadDmRWo3Kw4L0ozbunLEksfm8KOXtJY058MPm9IVUfSvJDnU2txDpbXz45+ytP0yJXk+jHImd/6Q2Qc1FQhuS3P4Wccpb9/dAs+1PI2UeWhMlT8DmHnP0h1QA+OdW78KUuOQc6w0HmyDkQkw3SImd/iJwDoc0bBGRWo3Kw4IMpzVu+LB6AkWsIhZyDpTEnPpj8IZBqKCX5oc6mVmKdbRifnP2UpynZRc7hLHL2k94AOZODMiS/IyjklLMc4YdmOYJCzqGyJEyegpEcco6AVKP45OynFBXVJedoZzjGHDlHY7IxWuTsB5FzNLR5Y4DMalQOFnwspXmPlCWJkWschZxjpTEnPpj8cZBqPCX5oc6mVmKdbQKfnH2Vp8n9YGoii5x9pTdAzsSgDMnvJAo55Swn+aFZTqKQc7wsCZOnYDKHnJMg1RQ+OdXPbBJ0yTnVGU4zR86pmGyaFjn7QuScCm3eNCCzGpWDBZ9Oad6TZUli5JpBIed0acyJDyZ/BqSaSUl+qLOplVhnm8UnZx/laWrtIudsFjnlu/XZADlbB2VIfudQyClnOccPzXIOhZwzZUmYPAVzOeScA6nm8cmp/kymlS455zvDL8yRcz4m+0KLnH0gcs6HNu8LILMalYMFX0Bp3nNlSWLkWkgh5wJpzIkPJn8hpPqSkvxQZ1Mrsc62iE/O3srTlNdFzq9Y5OwtvQFy5g3KkPx+TSGnnOXXfmiWX1PI+aUsCZOn4BsOOb+GVN9+rw5+meRUf5Uijy45v3OG35sj53eY7HstcvaGyPkdtHnfA5nVqBws+A+U5v2NLEmMXD9SyPmDNObEB5P/I6T6iZL8UGdTK7HO9jOfnOp15XCRczGLnL2kNzThxCUUJsr4S9IotPtJbqPJyv2FQ7slkCqgsfnAkqRxGr/U07NV6oJV6unSGyv1pZRSl/GX6pS60jm4j0v9hor4snfbr56Ha7eXsXbbL72xE7gMqonllJqQs1yO7dxySpOUlbMcA+cv0CxXMOo7mKUVaZxXLSsg1UrKq5YQodRKjFCrKM1lpTTG2uYK4Ihc0lxy9cpec0H+bDr+hixHcrbevfm7jC6fmprSaXOOZJG4WiSuEYlrReI6kbheJG4QiRtF4iaRuFkkbhGJW0XiNpG4XSTuEIk7ReIukbhbJO4RiXtF4j6R+KtI3C8SD4jEgyLxkEg8LBKPiMSjIvGYSDwuEk+IxJPm3hGuzgXJ1mCytZhsHSZbj8k2YLKNmGwTJtuMybZgsq2YbBsm247JdmCynZhsFybbjcn2YLK9mGwfJvsVk+3HZAcw2UFMdgiTHcZkRzDZUUx2DJMdx2QnMNnJDM+oIjx9SrsAF0mgzWFVbfyOaks41by2LtVWhLl5GmT3ZUmGhczOwlYG//USVYU5Wav2u1U1K4ZRHYAW0ji7C9mcowiCbOiVy2ro2eIapSq43LUq1bmkrIusSj+fuvURVacuJHhDJNX20DZsjKB69OJmbQqj6njJlm7LWlXp0o3fnqVqX4by2JGVqlzGItqZhapkplLblVlVL3NB7s6kqptF2e7JqOqcVXHvzaDqnOUR2OdSza0V7qAcdFSl5oVVHbqoGlo6vOpwSFVmWATVkQuq7WUjqY6eV726I6Lq2DlV9dTIquNBVaMaCtUJqbqtsUp1EnlXkKcBpOLf2p54UtljVrgeTJwiPZhIPCm9gc8qVwRliN9pxoOJ4CxP+6FZns7uzmX7g7jgzilEy3U/iPvNGf5u7m3Xb5jsd50P4s4dOzUsf4PA+zuQ2ewXz2kZHnuq9Rv/2J9QZmuw69j/wTr28n39H8CxHxyUIX5/Uo69nOWffmiWf/KP/QmlaJDusf/LGZ4xd+z/wmRntI79CejY/wUduzNAZjUepmLB/6Z8liV7zp/Yw9TT0Cz/oTxM/Vsa+43Fv8zOeFxZUDNdnfEsqzPKh55ngc44MyhD/P6ldEY5y3/90Cz/pXxSI+v7H4P1nTsH5/OUf6HgFv3LW8HiVohmaMIjt+0MPcbgkdvGZB4teBxH4JHbhjbPA2Q2+5UDBo9htKDcwZKE2nLunAws5I6Rxpz4YPJzQiovpf+HOhvQA6FZxma3uWSfnMeUp6mnQ87cuVjkPCa9AXL2DMqQMoyjkFPOMs4PzTKOQc7cXlkSJk9BPOWLYLnjIFUCn5zHlKIeuuRMdIa5zZEzEZPl1iLnMYicidDm5QYyq1E5WHAfhZzxsiQxciVRyOmTxpz4YPKTIFUeSvJDnU2txDpbXv57zqPK0+S63il3PhY5j0pv6HonKUPym59CTjnL/ND1TsH4CjsdcuaRJWHyFBTgkDM/pCrIJ+dRpUj3eqfcVzjDK82R8wpMdqUWOY9C5LwC2rwrgcxqVA4WvBCleReQJYmRqzCFnIWkMSc+mPzCkOoqSvJDnU2txDrb1XxyHlGepuUucl7DIucR6Q2Qc3lQhuS3CIWccpZF/NAsi1DIeZUsCZOn4FoOOYtAqqJ8ch5RipbpkjPZGV5njpzJmOw6LXIegciZDG3edUBmNSoHC349pXlfK0sSI9cNFHJeL4058cHk3wCpilGSH+psaiXW2YrzyXlYeZpSXOQswSLnYekNkDMlKEPyW5JCTjnLkn5oliUp5CwmS8LkKSjFIWdJSFWaT87DSlEDXXLe6AxvMkfOGzHZTVrkPAyR80Zo824CMqtROVjwmynNu5QsSYxct1DIebM05sQHk38LpLqVkvxQZ1Mrsc52G5+ch5Snab2LnGVY5DwkvQFyrg/KkPyWpZBTzrKsH5plWQo5b5UlYfIUlOOQsyykup1PzkNK0Tpdct7hDO80R847MNmdWuQ8BJHzDmjz7gQyq1E5WPC7KM27nCxJjFx3U8h5lzTmxAeTfzekuoeS/FBnUyuxznYvn5wHlaepiouc97HIeVB6A+SsEpQh+b2fQk45y/v90Czvp5DzHlkSJk/BAxxy3g+pHuST86BSVFmXnA85w4fNkfMhTPawFjkPQuR8CNq8h4HMalQOFvwRSvN+QJYkRq7yFHI+Io058cHkl4dUj1KSH+psaiXW2R7jk/OA8jRNd5GzAoucB6Q3QM7pQRmS34oUcspZVvRDs6xIIeejsiRMnoLHOeSsCKkq8cl5QCmapkvOys6wijlyVsZkVbTIeQAiZ2Vo86oAmdWoHCx4VUrzflyWJEauahRyVpXGnPhg8qtBqicoyQ91NrUS62zV+eTcrzxNC13krMEi537pDZBzYVCG5LcmhZxyljX90CxrUsj5hCwJk6egFoecNSHVk3xy7leKFuiSs7YzfMocOWtjsqe0yLkfImdtaPOeAjKrUTlY8KcpzbuWLEmMXHUo5HxaGnPig8mvA6meoSQ/1NnUSqyz1eWT81flaarmIuezLHL+Kr0BclYLypD8Pkchp5zlc35ols9RyPmMLAmTp+B5Djmfg1Qv8Mn5q1JUVZec9Zzhi+bIWQ+TvahFzl8hctaDNu9FILMalYMFf4nSvJ+XJYmRqz6FnC9JY058MPn1IVUDSvJDnU2txDpbCp+c+5SnqbOLnA1Z5NwnvQFydg7KkPw2opBTzrKRH5plIwo5G8iSMHkKGnPI2QhSNeGTc59S9K4uOZs6w2bmyNkUkzXTIuc+iJxNoc1rBmRWo3Kw4M0pzbuxLEmMXC0o5GwujTnxweS3gFQvU5If6mxqJdbZXuGTc2+2yNmSRc690hsjZ0sov60o5JSzbIWRsxWFnC/LkjB5ClpzyNkKUrXhk3Mvj5xtneGr5sjZFpO9qkXOvRA520Kb9yqHnFjwVErzbi1LEiNXOwo5U6UxJz6Y/HaQqj0l+aHOplZina0Dn5x7lKdpvIucr7HIuUd6A+QcH5Qh+X2dQk45y9f90Cxfp5CzvSwJk6egI4ecr0OqTnxy7lGKxumS8w1n+KY5cr6Byd7UIuceiJxvQJv3JpBZjcrBgr9Fad4dZUli5HqbQs63pDEnPpj8tyHVO5TkhzqbWol1tnf55NytPE2jXOTszCLnbukNkHNUUIbktwuFnHKWXfzQLLtQyPmOLAmTp+A9Djm7QKr3+eTcrRSN1CXnB87wQ3Pk/ACTfahFzt0QOT+ANu9DILMalYMF/4jSvN+TJYmRqyuFnB9JY058MPldIVU3SvJDnU2txDrbx3xy7lKepg0ucn7CIucu6Q2Qc0NQhuT3Uwo55Sw/9UOz/JRCzm6yJEyegs845PwUUnXnk3OXUrRel5w9nGFPc+Tsgcl6apFzF0TOHtDm9QQyq1E5WHBKC8r9mSxJjFx+CjnTpDEnPph8LHg6JfmhzqZWYp2tF5+cO5WnaamLnL1Z5NwpvQFyLg3KkPz2oZBTzrKPH5plHwo502VJmDwFfTnk7AOp+vHJuVMpErrk7O8MPzdHzv6Y7HMtcu6EyNkf2rzPgcxqVA4WfAClefeVJYkdm4EUcg6Qxpz4YPIHQqpBlOSHOptaiaVoMJ+cO5SnqbCLnENY5NwhvQFyFg7KkPwOpZBTznKoH5rlUAo5B8mSMHkKhnHIORRSDeeTc4dSVEiXnCOc4Uhz5ByByUZqkXMHRM4R0OaNBDKrUTlY8FGU5j1MliTWlkdTyCk/4xnNiQ8mfzSkGkNJfqizqZVYZxvLJ+d25Wma7yLnOBY5t0tvgJzzgzIkv+Mp5JSzHO+HZjmeQs4xsiRMnoIJHHKOh1QT+eTcrhTN0yXnJGc42Rw5J2GyyVrk3A6RcxK0eZOBzGpUDhZ8CqV5T5AliZFrKoWcU6QxJz6Y/KmQahol+aHOplZinW06n5zblKepm4ucM1jk3Ca9AXJ2C8qQ/M6kkFPOcqYfmuVMCjmnyZIweQpmccg5E1LN5pNzm1LUVZecc5zhXHPknIPJ5mqRcxtEzjnQ5s0FMqtROVjweZTmPUuWJEau+RRyzpPGnPhg8udDqi8oyQ91NrUS62wL+OTcqjxNlV3kXMgi51bpDZCzclCG5PdLCjnlLL/0Q7P8kkLOL2RJmDwFizjk/BJSfcUn51alqJIuOb92ht+YI+fXmOwbLXJuhcj5NbR53wCZ1agcLPi3lOa9SJYkRq7vKOT8Vhpz4oPJ/w5SfU9JfqizqZVYZ/uBT84tytPkd5HzRxY5t0hvgJz+oAzJ708UcspZ/uSHZvkThZzfy5IweQp+5pDzJ0i1mE/OLUpRmi45lzjDX8yRcwkm+0WLnFsgci6BNu8XILMalYMFD1Ca98+yJDFyCQo5A9KYEx9MvoBUSynJD3U2tRLrbMv45NysPE1tXeRcziLnZukNkLNtUIbkdwWFnHKWK/zQLFdQyLlUloTJU7CSQ84VkGoVn5yblaI2uuRc7QzXmCPnaky2RoucmyFyroY2bw2QWY3KwYKvpTTvlbIkMXKto5BzrTTmxAeTvw5SrackP9TZ1Eqss23gk3OT8jQtcpFzI4ucm6Q3QM5FQRmS300UcspZbvJDs9xEIed6WRImT8FmDjk3QaotfHKqd+FLXXJudYbbzJFzKybbpkXOTRA5t0Kbtw3IrEblYMG3U5q3fFm8BSPXDgo5t0tjTnww+Tsg1U5K8kOdTa3EOtsuPjk3Kk9Tsoucu1nk3Ci9AXImB2VIfvdQyClnuccPzXIPhZw7ZUmYPAV7OeTcA6n28cm5USkqqkvOX53hfnPk/BWT7dci50aInL9Cm7cfyKxG5WDBD1Ca915Zkhi5DlLIeUAac+KDyT8IqQ5Rkh/qbGol1tkO88m5QXmaEl3kPMIi5wbpDZAzMShD8nuUQk45y6N+aJZHKeQ8JEvC5Ck4xiHnUUh1nE9O9TObBF1ynnCGJ82R8wQmO6lFzg0QOU9Am3cSyKxG5WDBT1Ga9zFZkhi5TlPIeUoac+KDyT8NqX6jJD/U2dRKrLP9zifneuVpau0i5x8scsp3638A5GwdlCH5/ZNCTjnLP/3QLP+kkPM3WRImT8FfHHL+CanO8Mmp/kymlS45/3aG/5gj59+Y7B8tcq6HyPk3tHn/AJnVqBws+FlK8/5LliRGrn8p5DwrjTnxweT/i6h8OSjJD3U2tRLqbD6LT851ytOU1yGnz2aRc530BsiZNygD/HweCjnlLD1+aJYeBjl9wZIweQpiKOT0eSBVTj451V+lyKNJTp/XGcYaI6fPi8litci5DiGnzwttXiyQWY3KwYLnYrQgX4wsSYhcvjgGOX25pDEnPpj8OEgVT0l+qLMplWBnS+CTU/09tRwuciayyLlWekMT9uWmMFHGBy6S1qFdvNxGk5Xr49AuN6RK0th8YEnSOI1f6muyVep5WKW+RnpjpZ6XUuoyfl6dUlc6B/cxr99QEV/2bq9Wz8O12/lYu71aemMnMB9UE/kpNSFnmR/bufyUJikrJz8ETp8PmmUBRn0Hs1QgjfOqpQCkKkh51RIilFqJEeoKSnMpKI2xtlkAOCKXNBe7V5fR5VNTUzptzrEd6QM5oqKoKCqKiv7vRTnBlz/eUUg8zGqkOasR5qyGm7MaZs5qqDmrIeasBpuzGmTOaqA5qwHmrD43Z9XfnFU/c1Z9zVn1MWfV25xVL3NW6eas/Oas0sxZ9TRn1cOcVXdzVp+Zs/rUnNUn5qw+NmfVzZxVV3NWH5mz+tCYVew+c1Z7zVntMWe125zVLnNWO81Z7TBntd2c1TZzVlvNWW0xZ7XZnNUmc1YbzVltMGe13pzVOnNWa81ZrTFntdqc1SpzVivNWa0wZ7XcnNUyc1ZLzVkJc1YBc1a/mLNaYs5qsTmrn41Zxd1ozqq0OatS5qxKmrMqYc6quDmrYuasbjBndb05q+vMWSWbsypqzupac1ZFzFldY87qanNWV5mzKmzOqpA5qyvNWV1hzqqgOasC5qzym7PKZ84qrzmrPOasksxZ+cxZ5TZnlWjOKsGYVXwrc1YtzVm9Ys7qZXNWLcxZNTdn1cycVVNzVk3MWTU2Z9XInFVDc1Yp5qwamLOqb87qJXNWL5qzqmfO6gVzVs+bs3rOnNWz5qzqmrN6xpxVHXNWT5uzesqcVW1zVk+as6plzqqmOasaxqwSppmzmmrOaoo5q8nmrCaZs5pozmqCOavx5qzGmbMaa85qjDmr0easzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyATzH0HMsHcdyAT0s1ZmfsOZOJJc1YnzFkdN2d1zJzVUXNWR8xZHTZndcic1UFzVgfMWe03Z/WrOStz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMNPcdyERz34FMBL4DmY2bonJsz444h//iL1HnEb4rha+Q8BUWvquE72rhu0b4igjftcJXVPiShe864bte+G4QvmLCV1z4Spi7eqpoMiRLxmTXYbLrMdkNmKwYJiuOyUokX3odAVRIPuDLHjq2hTi2hTm2V3Fsr+bYXsOxLcKxvVZ5idvfl9r2SQeunvAOTwcuh/OOUKpyBH/tWaUKLsQ7Clpu0exmEVvuYGi5Q6DlDoWWOwxabnJ2l9sLCj4ICn6dVF1z+OrTMzwF+pSwD214+Nt/XigUU/Hm05XHNGmcVmrqoCbN1os88Zwd6QPtSF9oR/pBSekPJeV6znL90HLToeViNdAbWu4NnAJMg4IXk6pia7+I/X1Cz5gZ64+1ef30jb2WVOq+aOID6eKWhzo/tavvkeoij5ezIx9DO/IJtCOfQkn5DEpKcc5yP4SW+xG03K7QcrtByy2hg0311UrqXxrImcWrwulPNU8pd+ddj7Vp1TZVvihs0aZ1L/ki3XmR6K1jfuwr6X5V7n7p7X597X4R7X6l7H457H7N635h298V+A7X+E7X+C7X+G7X+B7X+F7X+D7X+P7+wldK+EoL343Cd5Pw3Sx8twjfrcJ3W/T2qKgoKoqK/p8TRW+PCllFb4/CraK3R+FW0dujcKvo7VG4VfT2KNwqensUbhW9PQq3it4ehVtFb4/CraK3R+FW0dujcKvo7VG4VfT2KNwqensUbhW9PQq3it4ehVtFb4/CraK3R+FW0dujcKvo7VG4VfT2KNwqensUbhW9PQq3it4ehVtFb4/CraK3R+FW0dujcKvo7VG4VfT2KNwqensUblXbnFX09ijYKnp7VDasordH4VbR26Nwq+jtUbhV9PYo3Cp6exRuFb09CreK3h4FW0Vvj8qGVfT2KNwqensUbhW9PQq3it4ehVtFb4/CraK3R+FW0dujiLdHPXLJ7VFlhK+s8JUTvtuF7w7hu1P47hK+u4XvHuG7V/juE777he8B4XtQ+B4SvofN3R5VBrtTqSwmK4fJbsdkd2CyOzHZXZjsbkx2Dya7F5Pdh8nux2QPYLIHMdlDmOzhZI3LLGJ3pwOXWcTuSQcus4jdmw5cZhG7D2kMvjJAY9BY7nZouTug5e6ElrsLWm7Z7C4XujwmdhsUvFw6cntRYc6OrId2ZAO0IxuhpGyCknI7Z7mroeWugZa7FlruOmi5d3AKcBUU/M505PaigpwdCUA7IqAdWQolZRmUlLs4y/0ZWu5iaLlLoOX+Ai33bspy40oiy40rhSw3rjSy3LgboeXew1nuDdByi0HLLQ4ttwS03Hsp7SXueij4fRDfSnF25GpoR66BdqQIlJRroaTcz1nuldByC0HLLQwt9ypouQ9wCvAKKPiDEN+KcXYkCdqRPNCO5IWSkg9KykOc5SZAy02ElpsbWq4PWu7DwHKzf42er4z7GYH7QYD73b77Lb37fbv7zbn7Hbj7bbb7vbT7DbP7XbH7ra/7/a37Taz7narrGj1fKde4tGt8o2t8k2t8s2t8i2t8q2t8W3/he0T4ygvfo8L3mPBVEL6Kwve48FWKXqMXFUVFUdH/c6LoNXohq+g1erhV9Bo93Cp6jR5uFb1GD7eKXqOHW0Wv0cOtotfo4VbRa/Rwq+g1erhV9Bo93Cp6jR5uFb1GD7eKXqOHW0Wv0cOtotfo4VbRa/Rwq+g1erhV9Bo93Cp6jR5uFb1GD7eKXqOHW0Wv0cOtotfo4VbRa/Rwq+g1erhV9Bo93Cp6jR5uFb1GD7eKXqOHW0Wv0cOtapuzil6jB1tFr9HLhlX0Gj3cKnqNHm4VvUYPt4peo4dbRa/Rw62i1+jhVtFr9GCr6DV62bCKXqOHW0Wv0cOtotfo4VbRa/Rwq+g1erhV9Bo93Cp6jR7xGr3Ol1yjV1n4qghfVeGrJnxPCF914ashfDWFr5bwPSl8tYXvKeF7WvjqCN8zwlfX3DV6lbFL0qpgsqqYrBomewKTVcdkNTBZTUxWC5M9iclqY7KnMNnTmKwOJnsGk9XVuUYv/uV04NaJ+FfSgVsn4lumA7dOxLdCGoOvMtAYNJbbFFpuM2i5zaHltoCWWyW7y4VueYlvAgWvmo5cM1SesyMvQTtSH9qRBlBSUqCkVOMs93louS9Ay60HLfdFaLlPcArwOSh49XTkmqEHOTtSG9qRp6AdeRpKSh0oKTU4y60BLbcmtNxa0HKfhJZbk7LchMnIchOmIMtNmIosN2EatNxanOWOh5Y7AVruRGi5k6DlPklpLwnjoOC1Ib7V4ezIcGhHRkA7MhJKyigoKU9xljsYWu4QaLlDoeUOg5b7NKcAB0HB60B8e5KzI32gHekL7Ug/KCn9oaQ8w1muH1puOrRcrAZ6Q8sFvkymc41eZfczAveDAPe7ffdbevf7dvebc/c7cPfbbPd7afcbZve7YvdbX/f7W/ebWPc7Vfc1eo+4xuVd40dd48dc4wqucUXX+HHXuFJ/4XtW+J4TvueF7wXhqyd8LwrfS8JXP3qNXlQUFUVF/8+Jotfohayi1+jhVtFr9HCr6DV6uFX0Gj3cKnqNHm4VvUYPt4peo4dbRa/Rw62i1+jhVtFr9HCr6DV6uFX0Gj3cKnqNHm4VvUYPt4peo4dbRa/Rw62i1+jhVtFr9HCr6DV6uFX0Gj3cKnqNHm4VvUYPt4peo4dbRa/Rw62i1+jhVtFr9HCr6DV6uFX0Gj3cKnqNHm4VvUYPt6ptzip6jR5sFb1GLxtW0Wv0cKvoNXq4VfQaPdwqeo0ebhW9Rg+3il6jh1tFr9GDraLX6GXDKnqNHm4VvUYPt4peo4dbRa/Rw62i1+jhVtFr9HCr6DV6xGv0vr7kGr0GwpcifA2Fr5HwNRa+JsLXVPiaCV9z4WshfC8L3yvC11L4Wglfa+FrY+4avQbYJWkpmKwhJmuEyRpjsiaYrCkma6ZzHVzisXTg9oTE4+nA7QmJJ9KB2xMSTyIF7gM+5tJZ7iFouYeh5R6BlnsUWm5KdpcL3VSReBAK3jAduS6nMWdHdkM7sgfakb1QUvZBSWnEWe52aLk7oOXuhJa7C1puY04BboOCB28tVF+XQ2oJ66Ed2QDtyEYoKZugpDTlLHc1tNw10HLXQstdBy23WXaXC71Q8jXn2Lbg2L7MsX2FY9uSY9uKY9uaY9tGx1Z5TH1tVbaxWrdHNXC/NHa//nW/yHW/knW/XHW/JnW/8HTGXtdtUN46Zsa+tu7bo551jZ9zjZ93jV9wjeu5xi+6xi+5xvX7C9+rwpcqfPJ/tBe+DsL3mvC9LnwdL709Klcv520SVhyvmn2bFpMNsZUj9Datt/B1Er43hO9N4XvL3BuwTrkg2RuY7E1M9lauzMxTrUZuA3TkOiFk9L2BkNH3JkJG31tAeVxmBab+RyrwbeF7R/jeFb7O5irwbaxm3sFk72KyzloVmApV4NtQBb4DVeC7UAV25ldgu/9IBXYRvveE733h+8BcBXbBauY9TPY+JvtAqwLbQRXYBarA96AKfB+qwA/4Fdj+P1KBHwrfR8LXVfi6mavAD7Ga+QiTdcVk3bQqsD1UgR9CFfgRVIFdoQrsxq/ADv+RCvxY+D4Rvk+F7zNzFfgxVjOfYLJPMdlnWhXYAarAj6EK/ASqwE+hCvyMX4Gv/UcqsLvw9RC+nsKXZq4Cu2M10wOT9cRkaVoV+BpUgd2hCuwBVWBPqALT+BX4+n+kAv3Cly58vYSvt7kK9GM1k47JemGy3loV+DpUgX6oAqFL1X3QJwW+3vwK7PgfqcA+wtdX+PoJX39zFdgHq5m+mKwfJuuvVYEdoQqE/oqBD/orBj7orxj4+me3Aj3ZrEArO/W3OUfRC5ZWBP35p1YKUY7zT60Uohznn1opRFL1lmupVljV247KCu/1zkWVFSHiuyGVFWlenTNsgZWlqsulKitrr/cuUVlhIr7vVlnh5vVBFqVhZVJ9mFllZfb6KJPKyiJi14wqK6t5dQtTstYlqo+zVlmXen2SpcrKEPHTrFRWxnl9FuEoWRdV3cOrLMerR1iV5YrYM5zKcs8rTXHErRwhcipEOc6TUyHKcZ6cCpFUYX+OpK9SZeU43ykVohxYp8xWZwSuyEoPOrZq27KJ8H1+8ftnxYRvgPANFL5BwjdY+IYI31DhGyZ8w4VvhPCNFL5Rwjda+MYI31jhGyd844VvgvBNFL5JwjdZ+KYI31ThmyZ804VvhvDNFL5Zwjdb+OYI31zhmyd884XvC+FbIHwLhe9LDNaX9RqlVHYSq55NseyIbb87rYuE7yvh+1r4vhG+b4XvO+H7Xvh+EL4fhe8n4ftZ+BYL3xLh+0X4AsInhG+p8C0TvuXCt0L4VgrfKuFbLXxrhG+t8K0TvvXCt0H4NgrfJuHbLHxbhG+r8G0Tvu3Ct8Pca6BFmOwrTPY1JvsGk32Lyb7DZN9jsh8w2Y+Y7CdM9jMmW4zJlmCyXzBZAJMJTLYUky3DZMsx2QpMthKTrcJkqzHZGky2FpOtw2TrMdkGTLYRk23CZJsx2RZMthWTbcNk2zHZDuvS93ibcxRHQAa9x1ukfo/3r+zXatU/sl2rVX/Kbq1WHZfNWq3aIXu1WiXh+b1aJT+Z/AF6t/ujUnVWqn5Sqv6Wqp+Vqj+karFSdUyqlihV26XqF6Xqa6kKKFWdpUpA7/uXqlRng6plKtXfQdVyleqPoGqFSnUsqFqpUm0PqlapVF8HVcrvc3YOqpTf5zz3HkH1fc4j51TrFKpD51Sqr9X+ek6l+lrt9nMq1ddql59TbVKopp1TbVao2p5TbYmsSj92TrU1ssp/XrUtsqrneZXii+GfnlcBv8Z3Sbv29zrvuj18H7bOfT1sEfS1xDzj9eK/uiNi/Dfg+BOyGT+t9//kIZp6IYu1FvJ//mxOvZAlujvyf/vIT72QX/QXEjY24UmieiGBy1xIlnMw/4BSvRBx2Qv5P3nuqV7IUhM7wn+cql7IMjMLuSQ24SmteiHLDS7k4hzMP/xVL2SF0YXQnimrF7Iymwvpde6VRfXUyK8s3pSvLILCRjUUwrcuCC/Mc25Y4dvwa5XVWis651oq/ETfcU90aIQVvesSlom09M7witbor+ica+cs43e5NPVSODvrib6XUVghzIreh1e09nJWVDNcRj/ItKJzwpKZhB9mKayX2fEjeEXrLnOPunSpm8WKumYx0c5ZLb1b1ksPCjteIvwYXtH6y17ROddKl070k3AT3ZdhRZ+GEZbLuPTP4BVtMLOic66PXozfPXzqpTDNmWiPSMI2rhX1hFe00dSK5rkzmhZxRa4HF36l8MI79nR4RZsM7tFjO05dWFEvxUS3h5beW730889Q+8Ir2mx0RaFnkv2APTr3MK7/eaFiBta5T3TBFW3J7oufzTkKYR9wI+F9O5EXSXnGQ6oJkGoxpFoCqX6BVAFIJSDVUki1DFIth1QrINVKSLUaUq2BVGshFfSL83nWQ6oNkGojpILuL8izGVJl+wgPgd6ZDIAO8C7smSf2ZBJ7T4C9zsZeu2KvB7HXWNjrFuy1AMZXjFnGOJD5s85Ztdq0a9KicZvW5Wo1SW3VoX1K+xZtWqf3dn32udM13hXmN9U7S1LvFr49wrdX+PZlevidQ1mqA+UnnBjuDmXzrPihFxBfyflj8Q9n96xiTxF2Q2f1V6idHIJUpIUMhBayH9trYzuiU/i/usb7IxT+AeE7KHyHhO+wRuEPkh/aY4V3hFL4X8v5Y/GPcurlAFQvR6CSxlSkhQyCFnIU22tjO6JT+Edc46MRCv+Y8B0XvhPCd1Kj8AcL3zdY4R2jFP43cv5Y/OOcejkG1cspqKSPQSrSQgZDCzmN7bWxHdEp/FOu8ekIhf+b8P0ufH8I358ahT9E+L7FCu8EpfC/lfPH4p/k1MtvUL38BZX0CUhFWsgQaCFnsL02tiM6hf+Xa3wmQuH/LXz/CN9Z4ftXo/CHCt93WOGdohT+d3L+WPzTnHr5GwmelAMqaYwLpIUMhRZiYXttbEc0Cj8ph2tshS/8JFskeURSjEjKqVH4w4Tve6zwfqMU/vdy/lj83yn1kmRD9eKFSvo3SMVZiG8YtJBYbK+N7YhO4Xtd49gIhZ9LJMWJpHiRlKBR+MOF7wes8P6gFP4Pcv5Y/D85hZ8LqpdEqKT/gFSchfiGQwvJje21sR3RKfxE1zh3hML3iaQkkZRHJOXVKPwRwvcjVnh/UQr/Rzl/LP4ZTuH7oHrJB5U09k6AsxDfCGgh+bG9NrYjOoWfzzXOH6HwC4ikgiLpCpF0pUbhjxS+n7DC+5tS+D/J+WPx/+EUfgGoXgpBJf03pOIsxDcSWkhhbK+N7YhO4RdyjQtHKPyrRNLVIukakVREo/BHCd/PWOGdpRT+z3L+WPx/OYV/FVQv10IlfRZScRbiGwUtpCi218Z2RKfwr3WNi0Yo/GSRdJ1Iul4k3aBR+KOFbzFUeHlzUAp/sZw/Ft/iFH4yVC/FEK+80LMf0kJ8o6GFFMf22tiO6BR+Mde4eITCLyGSSoqkUiKptEbhjxG+JVjh2ZTCXyLnj8X3cAq/BFQvN0IlbUMqzkJ8Y6CF3ITttbEd0Sn8G13jmyIU/s0i6RaRdKtIuk2j8McK3y9Y4cVQCv8XOX8sfk5O4d8M1UsZqKRjIBVnIb6x0ELKYnttbEd0Cr+Ma1w2QuGXE0m3i6Q7RNKdGoU/TvgCWOF5KYUfkPPH4sdyCr8cVC93QSUNPe0nLcQ3DlrI3dheG9sRncK/yzW+O0Lh3yOS7hVJ94mk+zUKf7zwCazwclEKX8j5Y/HjOIV/D1QvD0AlnQtScRbig77GnfQgttfGdkSn8B9wjR+MUPgPiaSHRdIjIqm8RuFPEL6lWOHFUwp/qZw/Fj+BU/gPQfXyKFTS8ZCKsxAf9JsJSY9he21sR3QK/1HX+LEIhV9BJFUUSY+LpEoahT9R+JZhhZdIKfxlcv5Y/Nycwq8A1UtlqKShz3dJC/FNhBZSBdtrYzuiU/iVXeMqEQq/qkiqJpKeEEnVNQp/kvAtxwrPRyn85XL+WPwkTuFXheqlBlTSPkjFWYhvErSQmtheG9sRncKv4RrXjFD4tUTSkyKptkh6SqPwJwvfCqzw8lAKf4WcPxY/L6fwa0H18jRU0nkgFWchvsnQQupge21sR3QK3/WHdJPqRCj8Z0RSXZH0rEh6TqPwpwjfSqzw8lEKf6WcPxY/P6fwn4Hq5XmopKFv9JAW4psCLeQFbK+N7YhO4bv+kHPSCxEKv55IelEkvSSS6msU/lThW4UVXgFK4a+S88fiF+QUfj2oXhpAJV0AUnEW4psKLSQF22tjO6JT+K4/zZ6UEqHwG4qkRiKpsUhqolH404RvNVZ4V1AKf7WcPxb/Sk7hN4TqpSlU0ldAKs5CfNOghTTD9trYjugUflPXuFmEwm8uklqIpJdF0isahT9d+NZghVeIUvhr5Pyx+IU5hd8cqpeWUElD3+EkLcQ3HVpIK2yvje2ITuG3dI1bRSj81iKpjUhqK5Je1Sj8GcK3Fiu8qyiFv1bOH4t/NafwW0P1kgqV9FWQirMQ3wxoIe2wvTa2IzqFn+oat4tQ+O1FUgeR9JpIel2j8GcK3zqs8K6hFP46OX8sfhFO4beH6qUjVNLXQCrOQnwzoYV0wvba2I7oFH5H17hThMJ/QyS9KZLeEklvaxT+LOFbjxXetZTCXy/nj8Uvyin8N6B6eQcqaehb+6SF+GZBC3kX22tjO6JT+O+4xu9GKPzOIqmLSHpPJL2vUfizhW8DVnjJlMLfIOePxb+OU/idoXr5ACrpZEjFWYhvNrSQD7G9NrYjOoX/gWv8YYTC/0gkdRVJ3UTSxxqFP0f4NmKFdz2l8DfK+WPxb+AU/kdQvXwClfT1kIqzEN8caCGfYnttbEd0Cv8T1/jTCIX/mUjqLpJ6iKSeGoU/V/g2YYVXjFL4m+T8sfjFOYX/GVQvaVBJY7+nxVmIby60EHCvje2ITuGnucb+CIWfLpJ6iSQ56KNR+POEbzOWjBKUwt8s54/FL8kp/HSoXvpCJV0CUnEW4psHLaQfttfGdkSn8Pu6xv0iFH5/kfS5SBogkgZqFP584duCFV4pSuFvkfPH4pfmFD70pwmSBkElXQpScRbimw8tZDC218Z2RKfwB7nGgyMU/hCRNFQkDRNJwzUK/wvh24oV3o2Uwt8q54/Fv4lT+NCVk0kjoJLGfjOXsxDfF9BCRmJ7bWxHdAp/hGs8MkLhjxJJo0XSGJE0VqPwFwjfNqzwbqYU/jY5fyz+LZzCx27lGAeV9M2QirMQ3wJoIeOxvTa2IzqFP841Hh+h8CeIpIkiaZJImqxR+AuFbztWeLdSCn+7nD8W/zZO4WO/uDQFKulbIRVnIb6F0EKmYnttbEd0Cn+Kazw1QuFPE0nTRdIMkTRTo/C/FL4dWOGVoRT+Djl/LH5ZTuFj3+2aBZU0dhcDZyG+L6GFzMb22tiO6BT+LNd4doTCnyOS5oqkeSJp/qX5Qp5XQPcCJM3J7lZBpZz0RWTbbYsrlrnUVvkWE/9LekkLkJVH//rdRZXRv37HqaeFYW09F211DuIXrvGCi+OSrp8ulMfwS5G0SCR9JZK+7jLx0dQWLVu2aBb07x3j7zLmqRatm7Vscn4dOVTpSfpSnZ60XmlpaqvM/UD1L4QH+otSSd8AwTOnenTt8jUqVUx3Je6bZJ2N/jZy9FFdxw3Usf0usu2+YxX/1bH9PqxtTGigVZbfusbfXRy7bmBL+l6W5Q8i6UeR9JNI+vnSufcCqgF6Sp30A5SFxSRKLnaNf3SNf3KNf5Z5WCKSfhFJAZEkLj2eOdO7jC6fmprSqZfySAULADvDwAc9mBHyUUo2u8uS/2F3SfoGqpWlhrrL0uRL99rbO3vJsv4n2c+u5TemLT3/ywpZClXIMkMVsixZZ47LoDkuNzTH5RmqODbbLyiW8TZUlQbkjtVsf9qDBLaAwDcyAiOXa97ECOwBAt+sE1hlegtyHDz9dF70q0LfykgkckvkbYzAOYHAZRiBkccAZRmBY4HA5RiBkXvhbmcEjgMC38EIjFwIdicjcAIQ+C5GYOQmqLsZgXMDge9hBEauALqXETgJCHwfIzBy98v9jMB5gcAPMAIjl348yAicHwj8ECMwctvDw4zABYHAjzACI7/mX54R+Eog8KOMwMjvdz/GCFwYCFyBERj5xd6KjMBXA4EfZwRGfqOzEiNwESBwZUZg5Ff5qjACFwUCV2UERn6Hqxoj8HVA4CcYgZFf3qnOCHwDELgG4/0+dIsj8tAp++/3azHW8yT0/GIQYw+RX4CpzVjzU4YeYWrs4dMM0zoM02cYpnUZps8yTJ9jmD7PMH2BYVqPYfoiw/Qlhml9hmkDhmkKw7Qhw7QRw7Qxw7QJw7Qpw7QZw7Q5w7QFw/RlhukrDNOWDNNWDNPWDNM2DNO2DNNXGaapDNN2DNP2DNMODNPXGKavM0w7Mkw7MUzfYJi+yTB9i2H6NsP0HYbpuwzTQGeKaxeK63sU1/cprh9QXD+kuH5Ece1Kce1Gcf2Y4voJxfVTiutnFNfuFNceFNeeFNc0iquf4ppOce1Fce1Nce1Dce1LcaV8vzDQn+L6OcV1AMV1IMV1EMV1MMV1CMV1KMV1GMV1OMV1BMV1JMV1FMV1NMV1DMV1LMV1HMV1PMV1AsV1IsV1EsV1MsV1CsV1KsV1GsV1OsV1BsV1JsV1FsV1NsV1DsV1LsV1HsV1PsX1C4rrAorrQorrlxTXRRTXryiuX1Ncv6G4fktx/Y7i+j3F9QeK648U158orj9TXBdTXJdQXH+huAYoroLiupTiSvn+bIDyjc7ACorrSorrKorraorrGorrWorrOorreorrBorrRorrJorrZorrForrVorrNorrdorrDorrTorrLorrborrHorrXorrPorrrxTX/RTXAxTXgxTXQxTXwxTXIxTXoxTXYxTX4xTXExTXkxTXUxTX0xTX3yiuv1Nc/6C4/klx/Yvieobi+jfF9R+K61mK678MV2Hl4NhaHFubY+vh2MZwbHNybL0c21iObS6ObRzHNp5jm8CxTeTY5ubY+ji2SRzbPBzbvBzbfBzb/BzbAhzbghzbKzi2V3JsC3FsC3Nsr+LYXs2xvYZjW4Rjey3HtijHNpljex3H9nqO7Q0c22Ic2+Ic2xIc25Ic21Ic29Ic2xs5tjdxbG/m2N7Csb2VY3sbx7YMx7Ysx7Ycx/Z2ju0dHNs7ObZ3cWzv5tjew7G9l2N7H8f2fo7tAxzbBzm2D3FsH+bYPsKxLc+xfZRj+xjHtgLHtiLH9nGObSWObWWOLeV2XQsKXfV/F5pyw64HCq11x67atno6cl/pEk7wGlDwbzgVXJNjW4tj+yTHtjbH9imO7dMc2zoc22c4tnU5ts9ybJ/j2D7PsX2BY1uPY/six/Yljm19jm0Djm0Kx7Yhx7YRx7Yxx7YJx7Ypx7YZx7Y5x7YFx/Zlju0rHNuWHNtWHNvWHNs2HNu2HNtXObapHNt2HNv2HNsOHNvXOLavc2w7cmw7cWzf4Ni+ybF9i2P7Nsf2HY7tuxzbzhzbLhzb9zi273NsP+DYfsix/Yhj25Vj241j+zHH9hOO7acc2884tt05tj04tj05tmkcWz/HNp1j24tj25tj24dj25dj249j259j+znHdgDHdiDHdhDHdjDHdgjHdijHdhjHdjjHdgTHdiTHdhTHdjTHdgzHdizHdhzHdjzHdgLHdiLHdhLHdjLHdgrHdirHdhrHdjrHdgbHdibHdhbHdjbHdg7Hdi7Hdh7Hdj7H9guO7QKO7UKO7Zcc20Uc2684tl9zbElfivuWY/sdx/Z7ju0PHNsfObY/cWx/5tgu5tgu4dj+wrENcGwFx3Ypx3YZx3Y5x3YFx3Ylx3YVx3Y1x3YNx3Ytx3Ydx3Y9x3YDx3Yjx3YTx3Yzx3YLx3Yrx3Ybx3Y7x3YHx3Ynx3YXx3Y3x3YPx3Yvx3Yfx/ZXju1+ju0B9S9K6dge5Mz2EMf2MMf2CMf2KMf2GMf2OMf2BMf2JMf2FMf2NMf2N47t7xzbPzi2f3Js/+LYnuHY/s2x/Ydje5Zjy7m31+bc22tz7u21Off22px7e23Ovb02595em3Nvr825t9fm3Ntrc+7ttTn39tqce3ttzr29NufeXptzb6+d7Xt7oTsh7DzpyJ0QnI8W7bycNeVD1uThfHnR5twBbHPuALY5dwDbnDuAbc4dwDbnDmCbcwewzbkD2ObcAWxz7gC2OXcA25w7gG3OHcA25w5gm3MHsM25A9jm3AFsc+4Atjl3ANucO4Btzh3ANucOYJtzB7DNuQPY5twBbHPuALY5dwDbnDuAbc4dwDbnDmCbcwewXY5jy7kD2ObcAWxz7gC2OXcA25w7gG3OHcA25w5gm3MHsM25A9jm3AFsc+4Atjl3ANucO4DtRyifwtqcO4Btzh3ANucOYJtzB7DNuQPY5twBbHPuALY5dwDbVTi2VTm21Ti2T3Bsq3Nsa3BsOXfp2py7dG3OXbp2bY4t5y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3TtVI4t5y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3TtdI4t5y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26Nunr6Jy7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWvP4Nhy7tK1OXfp2py7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqkX3jl3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2py7dO2VHFvOXbo25y5dm3OXrs25S9fm3KVrc+7StTl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euzblL1+bcpWtz7tK1OXfp2gc4tpy7dG3OXbo25y5dm3OXrs25S9fm3KVrc+7StU9wbDl36dqcu3Rtzl26NucuXZtzl67NuUvX5tyla3Pu0rU5d+nanLt0bc5dujbnLl2bc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euh3OXrodzl66Hc5euJ4ljm4djm5djm49jy7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1lOOY8u5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bzCMeWc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rac2x5Zz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/62Hc/+th3P/rYdz/60nlWPLuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9bDuf/Ww7n/1sO5/9YD3X9bvUmrNqmdqrRu0b5Xrc2epqVvvOnmW269rUzZcrffceddd99z7333P/DgQw8/Uv7RxypUfLxS5SpVqz1RvUbNWk/WfurpOs/Uffa551+o9+JL9RukNGzUuEnTZs1bvPxKy1at27R9NbVd+w6vvd6x0xtvvvX2O+8GOge6BN4LvB/4IPBh4KNA10C3wMeBTwKfBj4LdA/0CPQMpAX8gfRAr0DvQJ9A30C/QP/A54EBgYGBQYHBgSGBoYFhgeGBEYGRgVGB0YExgbGBcYHxgQmBiYFJgcmBKYGpgWmB6YEZgZmBWYHZgTmBuYF5gfmBLwILAgsDXwYWBb4KfB34JvBt4LvA94EfAj8Gfgr8HFgcWBL4JRAIiMDSwLLA8sCKwMrAqsDqwJrA2sC6wPrAhsDGwKbA5sCWwNbAtsD2wI7AzsCuwO7AnsDewL7Ar4H9gQOBg4FDgcOBI4GjgWOB44ETgZOBU4HTgd8Cvwf+CPwZ+CtwJvB34J/A2cC/wsohLEtYtrA8wooRVk5heYUVK6xcwooTVrywEoSVKKzcwvIJK0lYeYSVV1j5hJVfWAWEVVBYVwjrSmEVElZhYV0lrKuFdY2wigjrWmEVFVaysK4T1vXCukFYxYRVXFglhFVSWKWEVVpYNwrrJmHdLKxbhHWrsG4TVhlhlRVWOWHdLqw7hHWnsO4S1t3CukdY9wrrPmHdL6wHhPWgsB4S1sPCekRY5YX1qLAeE1YFYVUU1uPCqiSsysKqIqyqwqomrCeEVV1YNYRVU1i1hPWksGoL6ylhPS2sOsJ6Rlh1hfWssJ4T1vPCekFY9YT1orBeElZ9YTUQVoqwGgqrkbAaC6uJsJoKq5mwmgurhbBeFtYrwmoprFbCai2sNsJqK6xXhZUqrHbCai+sDsJ6TVivC6ujsDoJ6w1hvSmst4T1trDeEda7wuosrC7Cek9Y7wvrA2F9KKyPhNVVWN2E9bGwPhHWp8L6TFjdhdVDWD2FlSYsv7DShdVLWL2F1UdYfYXVT1j9hfW5sAYIa6CwBglrsLCGCGuosIYJa7iwRghrpLBGCWu0sMYIa6ywxglrvLAmCGuisCYJa7KwpghrqrCmCWu6sGYIa6awZglrtrDmCGuusOYJa76wvhDWAmEtFNaXwlokrK+E9bWwvhHWt8L6TljfC+sHYf0orJ+E9bOwFgtribB+EVZAWEJYS4W1TFjLhbVCWCuFtUpYq4W1RlhrhbVOWOuFtUFYG4W1SVibhbVFWFuFtU1Y24W1Q1g7hbVLWLuFtUdYe4W1T1i/Cmu/sA4I66CwDgnrsLCOCOuosI4J67iwTgjrpLBOCeu0sH4T1u/C+kNYfwrrL2GdEdbfwvpHWGeF9a+wcwjbErYtbI+wY4SdU9heYccKO5ew44QdL+wEYScKO7ewfcJOEnYeYecVdj5h5xd2AWEXFPYVwr5S2IWEXVjYVwn7amFfI+wiwr5W2EWFnSzs64R9vbBvEHYxYRcXdglhlxR2KWGXFvaNwr5J2DcL+xZh3yrs24RdRthlhV1O2LcL+w5h3ynsu4R9t7DvEfa9wr5P2PcL+wFhPyjsh4T9sLAfEXZ5YT8q7MeEXUHYFYX9uLArCbuysKsIu6qwqwn7CWFXF3YNYdcUdi1hPyns2sJ+SthPC7uOsJ8Rdl1hPyvs54T9vLBfEHY9Yb8o7JeEXV/YDYSdIuyGwm4k7MbCbiLspsJuJuzmwm4h7JeF/YqwWwq7lbBbC7uNsNsK+1Vhpwq7nbDbC7uDsF8T9uvC7ijsTsJ+Q9hvCvstYb8t7HeE/a6wOwu7i7DfE/b7wv5A2B8K+yNhdxV2N2F/LOxPhP2psD8Tdndh9xB2T2GnCdsv7HRh9xJ2b2H3EXZfYfcTdn9hfy7sAcIeKOxBwh4s7CHCHirsYcIeLuwRwh4p7FHCHi3sMcIeK+xxwh4v7AnCnijsScKeLOwpwp4q7GnCni7sGcKeKexZwp4t7DnCnivsecKeL+wvhL1A2AuF/aWwFwn7K2F/LexvhP2tsL8T9vfC/kHYPwr7J2H/LOzFwl4i7F+EHRC2EPZSYS8T9nJhrxD2SmGvEvZqYa8R9lphrxP2emFvEPZGYW8S9mZhbxH2VmFvE/Z2Ye8Q9k5h7xL2bmHvEfZeYe8T9q/C3i/sA8I+KOxDwj4s7CPCPirsY8I+LuwTwj4p7FPCPi3s34T9u7D/EPafwv5L2GeE/bew/xH2WWH/Kzw5hEci2RYej/DECE9O4fEKT6zw5BKeOOGJF54E4UkUntzC4xOeJOHJIzx5hSef8OQXngLCU1B4rhCeK4WnkPAUFp6rhOdq4blGeIoIz7XCU1R4koXnOuG5XnhuEJ5iwlNceEoIT0nhKSU8pYXnRuG5SXhuFp5bhOdW4blNeMoIT1nhKSc8twvPHcJzp/DcJTx3C889wnOv8NwnPPcLzwPC86DwPCQ8DwvPI8JTXngeFZ7HhKeC8FQUnseFp5LwVJYf7cuP4eVH5vLjbflRtPzYWH7EKz+OlR+dyo855UeS8uND+VGf/FhOfoQmP+6SH03Jj5HkRz7y4xn5UYr82EN+RCE/TpCP/uVjevlIXT7+lo+q5WNl+QhYPq6Vj1blY1D5yFI+XpSPAuVjO/mITT4Ok4+u5GMm+UhIPr6Rj1rkYxH5CEM+bpCPBuTbePmWW749lm9l5dtO+RZRvp2Tb73k2yT5lka+/ZBvFeTLevkSXL5cli9t5ctQ+ZJRvryTL8Xky6YJtZu075DaukJK+5TNOUrnsGxPTE5vbK64+ITE3L6kPHnz5S9Q8IorCxW+6uprilxbNPm6628oVrxEyVJpaZtzlEnvMqp8oxaphdKXLY89eOqXH5ulpV340VWZf/RA+rJN391Ue21Fb9HQjx7M/KOHMv9INtWsfvhvFj+0c2TxQ8/u9GX9DxUYnTgw9/PODw9k9cNjWf3wt6x++HcWP4yxs/phrqx+6Mvqh7dnMfmYO7L64Z1Z/DDn6ax++FtWP/w9ix/Gzs3qh/Oy+uH8LH4Y1ymrH76R1Q/fzOKHCfdn9cMHsvphFkUjEv/J6odZlU1iVmWTVCSL7Ui6Iasfls7qh7dl9cM7s/rh/Vn9sHxWP6yU1Q9bpy+bOKln47c7/9zl4g/z3J2+7IUF8X/1rfXzYOeHD2U+gCJPpax+WDWrHz7h+uHA9A2lUs69H6vfqE2rtintWzRs2aR+m9SURvL/ea1JarsWbVrXfz01pW3bJqmbc1zRZfRjbVq3a9+ry5gKLVKbNGpvdxlbpXX7Js2apI6sc3s59Vu5jP/eyta/71wh47/Pkb34FbqMeiylZUt/wkWfcbWbtJSLfq1J9mYi329mcrCz6zApOJfGsjc/1qZtp4tLquCek8v8/MxzX/bMKxiY+ain2rdp608PM9MMe/TY6MdbNGmp/iA4ccx5Wl1YaZ4uEx9vk9qkRbPWwf/ZZ0OxDu1btGzRvtP5pwePXSzWmudq9ZnzpZqW5u8y+fyDgPKNG6c2adfu4iz8XcY81aJV25ZNzk8nFCzDZGOylYqOFbpMfLRF65TgY4f2Ndv2Cbl4xj0hQz/dPKV10MUp1otBxlTt0KptlabpF/9BwS6Tq7RufH6mYU/IXRG+nb/xh9NrZ1Ut16rLqKflafWnO/8+dFQvrDh9TsMOLVo2rt+qXbP6DVu2afRK/eZNWgZPt1Xwf3y6B17m6R54oXKaZq7w7G1rjsczO+Q0c7oruufkMpczdy28ojMIRR1R554MosedQXhRJWcQXlTZGYQXVXEG4UVVnUF4UTVnEF70hDMIL6ruDMKLajiD8KKaziC8qJYzCC960hmEF9V2BuFFTzmD8KKnnUF4UR1nEF70jDMIL6rrDMKLnnUG4UXPOYPwouedQXjRC84gvKieMwgvetEZhBe95AzCi+o7g/CiBs4gvCjFGYQXNXQG4UWNnEF4UWNnEF7UxBmEFzV1BuFFzZxBeFFzZxBe1MIZhBe97AzCi15xBuFFLZ1BeFErZxBe1NoZhBe1cQbhRW2dQXjRq84gvCjVGYQXtXMG4UXtnUF4UQdnEF70mjMIL3rdGYQXdXQG4UWdnEF40RvOILzoTWcQXvSWMwgvetsZhBe94wzCi951BuFFgc6uUQRZF9coguw91yiC7H3XKILsA9coguxD1yiC7CPXKIKsq2sUQdbNNYog+9g1cr+6zKj7xDW6RHe57wUrXvbr3ApdRlZv81q6+1Xthblamb292Z1dlm+urJHyrZ37fZXljpDxbdQ4zbcAVobgToiL4TOv2b6QjQv/0+PemEv+S4x7ypf8l5wZ3hXI9zMtMubYcofO8N9sV01l+E8eVxmdd24fbpF25kU6byQzb6wne7n99LLfoOUJm2g7bKI9YRMdczHRl/to5NPLzk2ezA9XbLdZxocr2XN/JOO/r5C9fx8TemyS5cmMzXgyPU6yL8l9Lkdwyc/jnG3LMkD8mIqvdkhp2c4d46JXbKanKvHtuox6ok1K44s/8Dr/aLTMcmqTzJG9WUfOlXFpuZzjkOU/iMv4D+KcfzAqOE9/y0ufdwWOGnjokOHEeyM049jseefNfjOODd+MvYaacWzmPuWN0KdyZfcshgmbK3PYXO51Z9iGOPd/C2MZPyX0yNBV4lm5xzll7vxj+VIpVNBZRc0ZLmpc5oVkqtN3Mi4n1tlrtCacLck4y1j3zoVD7qWPU7NujJmz4g0MuLAEyUJ8Jz1Obw2XtYh75XFvW+ZZxQW6h0786bAB1AvO2jo9tOC0sK3gsZCkf/icPNWhYYRMX25W7Cyn3jeUlT8yT9216ouTz/S606W/IBoUQZTTEWm80KsQNncRk3DJJDMnIVdgmFMal9u8rPBnPtP2XpLhy21Q3iwb1Ghne8Pmu0KL18L0oiw+tIrLbi/P5BDvem9WNhufblw0SLjsT94S3W8PdT50zJ29KeTK/HYh84mYHG6HfOq2lNXm+wIzQtbTQi/IxmXxXiY29IIowxyTTPImCaBinpHVO7TMuETVyc+XuXzzKP9R3jFZHaZ8kXtl3sAXocN0JmOufFns58Kw0cPsp8+Zd1bRl4WMv8q0mz53ojP+xyTgZVAedYll9QIoT+D7UErOhn1rmHR5H/bKl8DnQwjLypj2PM4bnXC5zkyTPOHeQrhqKtM/yuvOSabqzufeikivtcK+tPVlDnnJq47w/cOn7B/5ssqB69+H+Wf5I5Inj3v1mSsjf2CV8uVW/jBFl+8S8mdhvT605LUZ85LX3eMviHaHjZ/Vi1DXLML8swLoC678WUy+QGCzMi/5wuQlvxuBma3zBbY5hzHc3CM+YArzjwpm/kcF3LPK2HBc+1cwwgblczYogkNS+N17qnnLsIWTO/QwN6v/mPfSx7l468h/2eWR3z2LrMrjoOulaASI5s3GrH0RGonPbXkRXJf37ZyBpr6dEzj1f/b1nMsNFPpmHz3Q1QubLH9484HN9EA5Y67+PHlqgyfogXbnqlXRnv1ZUXWgME8VPWEei2bx1NL1lCpjtcUKK/TSTVixGR9aXwwVUhQIo8j2i+UY8EGmx/kHl0SOD/NQNyHca6MLP07MIj3xrqemGdKTKKz8GTYgl/PPMjzWTXAkWT9Qzri4eMVj3YSM/yAh4+MyYSWGK8RsPs61lN/Ym/6//cZel7sv7xt71t0XX1Hbl/2R0M7od/ai39mLfmcv+p296Hf2ot/Zi35nL/qdveh39qLf2Wvyf/KdvSxkWX1lLwvZp65RBNlnrlEEWXfXKIKsh2sUQdbTNYogS3ONIsj8rlEEWbprFEHmHkWQ9XaNIsj6uEYRZH1dowiyfq5RBFl/1yiC7HPXKIJsgGsUQTbQNYogG+QaRZANdo0iyIa4RhFkQ12jCLJhrlEE2XDXKIJshGsUQTbSNYogG+UaRZCNdo0iyMa4RhFkY12jCLJxrlEE2XjXKIJsgmsUQTbRNYogm+QaRZBNdo0iyKa4RhFkU12jCLJprlEE2XTXKIJshmsUQTbTNYogm+UaRZDNdo0iyOa4RhFkc12jCLJ5rlEE2XzXKILsC9cogmyBaxRBttA1iiD70jWKIFvkGkWQfeUaRZB97RpFkH3jGkWQfesaRZB95xpFkH3vGkWQ/eAaRZD96BpFkP3kGkWQ/ewaRZAtdo0iyJa4RhFkv7hGEWQB1yiCTLhGEWRLXaMIsmWuUQTZctcogmyFaxRBttI1iiBb5RpFkK12jSLI1rhGEWRrXaMIsnWuUQTZetcogmyDaxRBttE1iiDb5BpFkG12jSLItrhGEWRbXaMIsm2uUQTZdtcogmyHaxRBttM1iiDb5RpFkO12jSLI9rhGEWR7XaMIsn2uUQTZr65RBNl+1yiC7IBrFEF20DWKIDvkGkWQHXaNIsiOuEYRZEddowiyY65RBNlx1yiC7IRrFEF20jWKIDvlGkWQnXaNIsh+c40iyH53jSLI/nCNIsj+dI0iyP5yjSLIzrhGEWR/u0YRZP+4RhFkZ12jCLJ/XaPwMmHlcA8jCS33MJLQdg8jCT3uYSRhjHsYSZjTPYwk9LqHkYSx7mEkYS73MJIwzj2MJIx3DyMJE9zDSMJE9zCSMLd7GEnocw8jCZPcw0jCPO5hJGFe9zCSMJ97GEmY3z2MJCzgHkYSFnQPIwmvcA8jCa90DyMJC7mHkYSF3cNIwqvcw0jCq93DSMJr3MNIwiLuYSThte5hJGFR9zCSMNk9jCS8zj2MJLzePYwkvME9jCQs5h5GEhZ3D0PCLH6HX1gl3MNLlP/73+LfTvwt/h3R3+K/8B2nnFq/xx8srHC/yB8spZB7nv/J7/JbJf+jv8sfTPdl/jZ/VmuL/jZ/k//Zb/MHX+j8h3+fX75MvfQ3+oX1afRX+sP9X/RX+t1mWfzGbPBlFO13+oMvOP9f/a1+Yd11cRXF/0O/1y+s0hcPvt/0b/YL69aLi75Z+bv9wrrjP/XL/cIqdzE1vYFf7w/OX/37/cK6B/gF/6Dqv/Mb/sJ6wFUk///1O/7CKu/a5f+v/pb/9v83fstfWFVM/5q/sGpcNH8i+ov+Bn7RX1jPXDxR/YBf9RfWs2Z/119Yr1y0fuG/89v+wmpwMS8D/g9+339w9Pf9M/83n7qT/E9+4V9YbdSvw3R/5V9Y7S8uOxX4pX9hdf5P/da/sDqqk6P7e//CetN1LP8f+s3/4C5Ff/XfqZGu7teo/5tf/g+i7LLad6e7Tf32v7DSor/+n/H/or/+n+khpLFf/x9+8QyMVP76/7T/7/36/9T/9q//jzP96/9fNWvSvn7LsvXbt6nfslz9Vk1aNWyS2q55i7b1X2/RvrXsZZtzlPsf/+Welpf5l3taXuDNFZf9YZKHdgtABfecXOaZPtO7qA/3iV7FsJ/nPX4hD1deeoQque3DENeT1ev48I/Ns5nWyped1mJh36Z5wn7KF6P8UPW6y/6ErtJl56Z45s/4XKuLufQzoUzPbnNG+DzHm92JmPykPaehR5FZPGTN6eqyl/yNt+su/I23Sk3aP1H26TZPlKt+sdnVPd/r0jP+eTfXro2v3CSlbfnU1JRO7qfLxdIv/cNvXUafl2T4e3DFeoV1tsL+Fzvsf/H0yhA10v/K1tcCnCz+v/Xp7U3/5c9ui5n5c4AtTb3lKPt/9+cANxRv3aZ9i6ad6jdKbZLSvknj+q07tGzZommLJqmhPwPaNrVNx07/+z/+WfEyX2RUvNCCEy/7rzxYl00d4EWGnZmQWb3IGGXoz4JWZP9Z0Ih/3fPLtqktXpPVV+NcKT52vhJrhAoxi7/q6YSg/F3Piv8P/l3PDSXbBdto/Rat6zfp2KSRRGmb1vUbpTRqfvHv+V78O763/o+PcuXLPMqVL1RRocs+iDGX/fIPOMrul4OMv9+b7fdI4d5/WJf9Mj8m+69Bc4Z/Deox9Bo0Z4Rvg+h82zOn8uuHhSO8qPOEfWdY6cK/LnbZVVL5/6qd//+6u5qVhoEgnJ9q24hCxSqoNw96UMG7t7aiB1HsAwTbbiFQY5s2xccopQc9exME8Sg+ig/jJtlks5vduiGxJL2J7GYnOzPfN98k2eaj+DzIcvG5T1LjUQyJL3OU1DfiU/fersyGzwc1hw6cn4JnaiVV5SudKUc3qf9Bv5dp0e/JAun3GNXRwBzYwIaFdN9u9Yy23rXNNuLiXg9z8N6ScHAlBc5I2vkQ4OCV8MXJbzMYh3K68UWOYp7KeZZy+4/3GYZPDJv5IQbP4CrV4TkkCv0GSpVbN1MuUKI4IyeTWbr9GH7faCbSqSEjg/4nDISMAd/uAoHvHAHfED6meIDqwwJjYI2MFlQcQ6MDdNDtwvF6+9GGC1sRMbKzJH2F9Rz2FUiIq+M/iHD/q/uwkbfuQ4VCpVMClZpgdG2Yd0EUN2EQN9wYrnkhLNaPIOzPWFtie3Hw8OktA7fGeYBp3XeMpx+pQm9E7Id01PzVhJhRjCuh2XkmhTSIf2NkjslslKLtifnesyaow8p49XdvgstyN/3gpET1Da1bN8aRu1J4swrOi7QRsTdneNNuMeKUp8UKcaUV9TmmhE1jizpmApX5grJUTOwwH64inpl+4IwxTAeEXujFqgmjfSsdVpGwPcGFaS73yiiBJXjxiJQ+IxYjqFaKVAKCq3OzQXoNpYGMbaCcFxxfUJ1+hZ3nbrE+sCGtAHP0TJunxXODQs9fS9mNGr4wZz+UeejA3UU5jA6KwHAWOsiclFZoZwSv5Gi/8kva55clCwA=",
|
|
3871
|
-
"debug_symbols": "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",
|
|
3871
|
+
"debug_symbols": "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5e5B6x607kHrHrTuQesetO7B84t2z8r66CAdtIN16MralbsHrXvQugete9C6B6170LoHzbqyeYeeje5B6x48v8J3vaordw9a96B1D1r3oHUPWvegdQ+eX/N7Vvae5+5B6x607sHza37PV42u3D1o3YPWPWjdg9Y9aN2D1j1o0ZWj57l70LoHrXvQ+lLT+lrTugete9C6B6170LoHrXvQugfPLwc+K2fPc/egdQ9a96D1hef55cArdOXuQesetO5B6x607kHrHjy/LvisPHueuwete9C6B60vQ2125e5B6x607kHrHvTuQe8e9O5Bf+zK/vAOo0N0yA7Vr+rK3YPePejdg9496N2D3j3o3YMuXVmqw54N7x707kHva1HXrtw96N2D3j3o3YPePejdg9496NaVTTv0bHQPeveg97WoW1fuHvTuQe8e9O5B7x707kHvHnTvyt7z3D3o3YPePeh9LeqjK3cPevegdw9696B3D3r3oHcP+ujK0fPcPejdg9496H0t6t2D3u+D3u+D3j3ofS3q2ZX7M593D3r3oHcPer8P+tmDeYTjG9ofR6gOc4fzS9/PIB20g3XwDqNDdOjK1ZWrK8+uPLvy7MqzK8+uPLvy7MqzK8+uPHfl8Xh0kA7awTp4h9EhOmSH6tCVpStLV5aufPRgnHcFvMPocFS2I2SH6jB3OH/jxBlkv+r8nRNn6Mrnb504/83o0JW1K2tX1q5sXdm6snVl68rW+2y9z9aVrStbV7au7F356MEVtIN16H32rnz04ArZoTrMHUZXHl15dOXRlUdXHj0bo/d59D6P3ufRlY8eXKFnI3o2omcjunJ05ejK0ZWjK0fPRvY+Z+9z9j5nV86e5+zZyJ6N7NnIrpxdubpydeXqytWzUb3P1ftcvc/VlavnuXo2Zs/G7NmYXXl25dmVZ1eeXXn2bMze57n3OR6PDrtyPLSDdfAOo0P0q7JDdejK0pVFOmgH6+AdurJEh+xQHfZsRPdgaFfWrqxduXswugejezC6B6N7MLQr26NDz0b3YHQPhnVl68rdg9E9GN2D0T0Y3YPRPRjdg+Fd2XueuwejezC6B8O7snfl7sHoHozuwegejO7B6B6M7sEYXXn0PHcPRvdgdA9GdOXoyt2D0T0Y3YPRPRjdg9E9GN2DkV05e567B6N7MLoHI7tyduXuwegejO7B6B6M7sHo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JYZL1rrXRUuOGy4xXGK4xPiMY7jEuC4xrksMlxifcda61x2h4RLDJYZLjOuSte71+C01uta9nt/fvta97ujEQQxiEos4O651rzsKUYlGdOIgBjGJRYQm0ASaQBNoAk2gCTSBJtAEmkJTaApNoSk0habQFNrpkvU9wadLVjxdsuNJG2dUohGdOIhBhSRCO12y/u3pkh2hOTSH5tAcmkNzaA7NGdtgbAPagDagDWgD2umSHZNYRMYW0E6X7KhEIzoRWkALaAEtoCUzmYwtGVsytoR2umRHZjKZyWQmE1pBK2gFraAVM1mMrRhbMbaCVhy3yUxOZnIykxPahDahTWgT2mQm5zW2te51RyFetLXudUcnDmIQkwpFhCbQBJoo0YhOHERoksQiXjO51r3uCE2hKTSFptA0iIxNGZsyNlyy1r3uyEwaM2nMJC5Z6153hGbQcMnAJQOXDFwycMla97q/pZzjhksGLhm4ZK17XRUGNFwycMnAJQOXDFwycMnAJWvd66INjhsuGbhk4JK17nVVCGi4ZOCSgUsGLhm4ZOCSgUvWutdFS44bLhm4ZOCSte51V4CGSwYuGbhk4JKBSwYuGbhkrXtdtOK44ZKBSwYuWeteV4UJDZcMXDJwycAlA5cMXDJwyVr3etLWutcdlWhEJw4qBDGJRYSGSwKXBC4JXLLWvS6aDGIQk1hEaAoNlwQuCVwSuCRwSeCSwCXBdUlwXRK4JHBJ4JLguiS4LglcErgkcEngksAlgUsCl6x1r4vmHDdcErgkcMla97orQMMlgUsClwQuCVwSuCRwyVr3umiD44ZLApcELlnrXleFgIZLApcELglcErgkcEngkrXuddGS44ZLApcELlnrXncFaLgkcEngksAlgUsClwQuWeteF604brgkcEngkrXudVWY0HBJ4JLAJYFLApcELglcsta9Ltq8jlviksQliUvWutezwlr3uuMgBjGJRbzGlrgkccla97poYkQnDmIQoQk0XJK4JHFJ4pLEJYlLEpesda+LpkksIjOJS5LPOMlnnMQliUsSlyQuSVySuCRxyVr3umjOccMliUsSlySfcda61x2h4ZLEJYlLEpckLklcsta9LtrguOGSxCWJS5LPOGvd647QcEniksQliUsSlyQuWeteFy04brgkcUnikuQzzlr3uiM0XJK4JHFJ4pLEJYlL1rrXRSuO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",
|
|
3872
3872
|
"verification_key": "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"
|
|
3873
3873
|
},
|
|
3874
3874
|
{
|
|
@@ -3941,7 +3941,7 @@
|
|
|
3941
3941
|
}
|
|
3942
3942
|
},
|
|
3943
3943
|
"bytecode": "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",
|
|
3944
|
-
"debug_symbols": "
|
|
3944
|
+
"debug_symbols": "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"
|
|
3945
3945
|
}
|
|
3946
3946
|
],
|
|
3947
3947
|
"outputs": {
|
|
@@ -4242,23 +4242,23 @@
|
|
|
4242
4242
|
"path": "std/panic.nr",
|
|
4243
4243
|
"source": "pub fn panic<T, U>(message: T) -> U\nwhere\n T: StringLike,\n{\n assert(false, message);\n crate::mem::zeroed()\n}\n\ntrait StringLike {}\n\nimpl<let N: u32> StringLike for str<N> {}\nimpl<let N: u32, T> StringLike for fmtstr<N, T> {}\n"
|
|
4244
4244
|
},
|
|
4245
|
-
"
|
|
4245
|
+
"442": {
|
|
4246
4246
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_packing.nr",
|
|
4247
4247
|
"source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n let N: u32 = BOOL_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> bool {\n (fields[0] as u1) != 0\n }\n}\n\nimpl Packable for u8 {\n let N: u32 = U8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Packable for u16 {\n let N: u32 = U16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Packable for u32 {\n let N: u32 = U32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Packable for u64 {\n let N: u32 = U64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Packable for u128 {\n let N: u32 = U128_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Packable for Field {\n let N: u32 = FIELD_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Packable for i8 {\n let N: u32 = I8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Packable for i16 {\n let N: u32 = I16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Packable for i32 {\n let N: u32 = I32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Packable for i64 {\n let N: u32 = I64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n T: Packable,\n{\n let N: u32 = M * <T as Packable>::N;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n for i in 0..M {\n let serialized = self[i].pack();\n for j in 0..<T as Packable>::N {\n result[i * <T as Packable>::N + j] = serialized[j];\n }\n }\n result\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let mut result: [T; M] = std::mem::zeroed();\n reader.read_struct_array::<T, <T as Packable>::N, M>(Packable::unpack, result)\n }\n}\n\n#[test]\nfn test_u16_packing() {\n let a: u16 = 10;\n assert_eq(a, u16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i8_packing() {\n let a: i8 = -10;\n assert_eq(a, i8::unpack(a.pack()));\n}\n\n#[test]\nfn test_i16_packing() {\n let a: i16 = -10;\n assert_eq(a, i16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i32_packing() {\n let a: i32 = -10;\n assert_eq(a, i32::unpack(a.pack()));\n}\n\n#[test]\nfn test_i64_packing() {\n let a: i64 = -10;\n assert_eq(a, i64::unpack(a.pack()));\n}\n"
|
|
4248
4248
|
},
|
|
4249
|
-
"
|
|
4249
|
+
"455": {
|
|
4250
4250
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/reader.nr",
|
|
4251
4251
|
"source": "pub struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_u64(&mut self) -> u64 {\n self.read() as u64\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() != 0\n }\n\n pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n let mut result = [0; K];\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array());\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(\n &mut self,\n deserialise: fn([Field; K]) -> T,\n mut result: [T; C],\n ) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn peek_offset(&mut self, offset: u32) -> Field {\n self.data[self.offset + offset]\n }\n\n pub fn advance_offset(&mut self, offset: u32) {\n self.offset += offset;\n }\n\n pub fn finish(self) {\n assert_eq(self.offset, self.data.len(), \"Reader did not read all data\");\n }\n}\n"
|
|
4252
4252
|
},
|
|
4253
|
-
"
|
|
4253
|
+
"456": {
|
|
4254
4254
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/serialization.nr",
|
|
4255
4255
|
"source": "use crate::{reader::Reader, writer::Writer};\n\n// docs:start:serialize\n/// Trait for serializing Noir types into arrays of Fields.\n///\n/// An implementation of the Serialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait (and Deserialize) are\n/// typically used to communicate between Noir and TypeScript (via oracles and function arguments).\n///\n/// # On Following Noir's Intrinsic Serialization\n/// When calling a Noir function from TypeScript (TS), first the function arguments are serialized into an array\n/// of fields. This array is then included in the initial witness. Noir's intrinsic serialization is then used\n/// to deserialize the arguments from the witness. When the same Noir function is called from Noir this Serialize trait\n/// is used instead of the serialization in TS. For this reason we need to have a match between TS serialization,\n/// Noir's intrinsic serialization and the implementation of this trait. If there is a mismatch, the function calls\n/// fail with an arguments hash mismatch error message.\n///\n/// # Associated Constants\n/// * `N` - The length of the output Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let N: u32> Serialize for str<N> {\n/// let N: u32 = N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let mut writer: Writer<Self::N> = Writer::new();\n/// self.stream_serialize(&mut writer);\n/// writer.finish()\n/// }\n///\n/// fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n/// let bytes = self.as_bytes();\n/// for i in 0..bytes.len() {\n/// writer.write(bytes[i] as Field);\n/// }\n/// }\n/// }\n/// ```\n#[derive_via(derive_serialize)]\npub trait Serialize {\n let N: u32;\n\n fn serialize(self) -> [Field; Self::N];\n\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>);\n}\n\n/// Generates a `Serialize` trait implementation for a struct type.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A quoted code block containing the trait implementation\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Log<N> {\n/// fields: [Field; N],\n/// length: u32\n/// }\n/// ```\n///\n/// This function generates code equivalent to:\n/// ```\n/// impl<let N: u32> Serialize for Log<N> {\n/// let N: u32 = <[Field; N] as Serialize>::N + <u32 as Serialize>::N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let mut writer: Writer<Self::N> = Writer::new();\n/// self.stream_serialize(&mut writer);\n/// writer.finish()\n/// }\n///\n/// #[inline_always]\n/// fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n/// Serialize::stream_serialize(self.fields, writer);\n/// Serialize::stream_serialize(self.length, writer);\n/// }\n/// }\n/// ```\npub comptime fn derive_serialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n\n // We care only about the name and type so we drop the last item of the tuple\n let params = nested_struct.0.fields(nested_struct.1).map(|(name, typ, _)| (name, typ));\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Serialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_serialize_clause = get_where_trait_clause(s, quote {Serialize});\n\n let params_len_quote = get_params_len_quote(params);\n\n let function_body = params\n .map(|(name, _typ): (Quoted, Type)| {\n quote {\n $crate::serialization::Serialize::stream_serialize(self.$name, writer);\n }\n })\n .join(quote {});\n\n quote {\n impl$generics_declarations $crate::serialization::Serialize for $typ\n $where_serialize_clause\n {\n let N: u32 = $params_len_quote;\n\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n $crate::serialization::Serialize::stream_serialize(self, &mut writer);\n writer.finish()\n }\n\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n $function_body\n }\n }\n }\n}\n\n// docs:start:deserialize\n/// Trait for deserializing Noir types from arrays of Fields.\n///\n/// An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait is typically used when\n/// deserializing return values from function calls in Noir. Since the same function could be called from TypeScript\n/// (TS), in which case the TS deserialization would get used, we need to have a match between the 2.\n///\n/// # Associated Constants\n/// * `N` - The length of the input Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let M: u32> Deserialize for str<M> {\n/// let N: u32 = M;\n///\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// let mut reader = Reader::new(fields);\n/// let result = Self::stream_deserialize(&mut reader);\n/// reader.finish();\n/// result\n/// }\n///\n/// fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n/// let mut bytes = [0 as u8; M];\n/// for i in 0..M {\n/// bytes[i] = reader.read() as u8;\n/// }\n/// str::<M>::from(bytes)\n/// }\n/// }\n/// ```\n#[derive_via(derive_deserialize)]\npub trait Deserialize {\n let N: u32;\n\n fn deserialize(fields: [Field; Self::N]) -> Self;\n\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self;\n}\n\n/// Generates a `Deserialize` trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Deserialize` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n/// x: AztecAddress,\n/// y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Deserialize for MyStruct {\n/// let N: u32 = <AztecAddress as Deserialize>::N + <Field as Deserialize>::N;\n///\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// let mut reader = Reader::new(fields);\n/// let result = Self::stream_deserialize(&mut reader);\n/// reader.finish();\n/// result\n/// }\n///\n/// #[inline_always]\n/// fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n/// let x = <AztecAddress as Deserialize>::stream_deserialize(reader);\n/// let y = <Field as Deserialize>::stream_deserialize(reader);\n/// Self { x, y }\n/// }\n/// }\n/// ```\npub comptime fn derive_deserialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n let params = nested_struct.0.fields(nested_struct.1);\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Deserialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_deserialize_clause = get_where_trait_clause(s, quote {Deserialize});\n\n // The following will give us:\n // <type_of_struct_member_1 as Deserialize>::N + <type_of_struct_member_2 as Deserialize>::N + ...\n // (or 0 if the struct has no members)\n let right_hand_side_of_definition_of_n = if params.len() > 0 {\n params\n .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n <$param_type as $crate::serialization::Deserialize>::N\n }\n })\n .join(quote {+})\n } else {\n quote {0}\n };\n\n // For structs containing a single member, we can enhance performance by directly deserializing the input array,\n // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n // expected to be optimized away.\n let function_body = if params.len() > 1 {\n // This generates deserialization code for each struct member and concatenates them together.\n let deserialization_of_struct_members = params\n .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n let $param_name = <$param_type as Deserialize>::stream_deserialize(reader);\n }\n })\n .join(quote {});\n\n // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n // This will give us e.g. `a, b, c` for a struct with three fields named `a`, `b`, and `c`.\n let struct_members = params\n .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n .join(quote {,});\n\n quote {\n $deserialization_of_struct_members\n\n Self { $struct_members }\n }\n } else if params.len() == 1 {\n let param_name = params[0].0;\n quote {\n Self { $param_name: $crate::serialization::Deserialize::stream_deserialize(reader) }\n }\n } else {\n quote {\n Self {}\n }\n };\n\n quote {\n impl$generics_declarations $crate::serialization::Deserialize for $typ\n $where_deserialize_clause\n {\n let N: u32 = $right_hand_side_of_definition_of_n;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = $crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n $function_body\n }\n }\n }\n}\n\n/// Generates a quoted expression that computes the total serialized length of function parameters.\n///\n/// # Parameters\n/// * `params` - An array of tuples where each tuple contains a quoted parameter name and its Type. The type needs\n/// to implement the Serialize trait.\n///\n/// # Returns\n/// A quoted expression that evaluates to:\n/// * `0` if there are no parameters\n/// * `(<type1 as Serialize>::N + <type2 as Serialize>::N + ...)` for one or more parameters\ncomptime fn get_params_len_quote(params: [(Quoted, Type)]) -> Quoted {\n if params.len() == 0 {\n quote { 0 }\n } else {\n let params_quote_without_parentheses = params\n .map(|(_, param_type): (Quoted, Type)| {\n quote {\n <$param_type as $crate::serialization::Serialize>::N\n }\n })\n .join(quote {+});\n quote { ($params_quote_without_parentheses) }\n }\n}\n\ncomptime fn get_generics_declarations(s: TypeDefinition) -> Quoted {\n let generics = s.generics();\n\n if generics.len() > 0 {\n let generics_declarations_items = generics\n .map(|(name, maybe_integer_typ)| {\n // The second item in the generics tuple is an Option of an integer type that is Some only if\n // the generic is numeric.\n if maybe_integer_typ.is_some() {\n // The generic is numeric, so we return a quote defined as e.g. \"let N: u32\"\n let integer_type = maybe_integer_typ.unwrap();\n quote {let $name: $integer_type}\n } else {\n // The generic is not numeric, so we return a quote containing the name of the generic (e.g. \"T\")\n quote {$name}\n }\n })\n .join(quote {,});\n quote {<$generics_declarations_items>}\n } else {\n // The struct doesn't have any generics defined, so we just return an empty quote.\n quote {}\n }\n}\n\ncomptime fn get_where_trait_clause(s: TypeDefinition, trait_name: Quoted) -> Quoted {\n let generics = s.generics();\n\n // The second item in the generics tuple is an Option of an integer type that is Some only if the generic is\n // numeric.\n let non_numeric_generics =\n generics.filter(|(_, maybe_integer_typ)| maybe_integer_typ.is_none());\n\n if non_numeric_generics.len() > 0 {\n let non_numeric_generics_declarations =\n non_numeric_generics.map(|(name, _)| quote {$name: $trait_name}).join(quote {,});\n quote {where $non_numeric_generics_declarations}\n } else {\n // There are no non-numeric generics, so we return an empty quote.\n quote {}\n }\n}\n"
|
|
4256
4256
|
},
|
|
4257
|
-
"
|
|
4257
|
+
"458": {
|
|
4258
4258
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/type_impls.nr",
|
|
4259
|
-
"source": "use crate::{reader::Reader, serialization::{Deserialize, Serialize}, writer::Writer};\nuse std::embedded_curve_ops::EmbeddedCurvePoint;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\nglobal U1_SERIALIZED_LEN: u32 = 1;\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> bool {\n reader.read() != 0\n }\n}\n\nimpl Serialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u1\n }\n}\n\nimpl Serialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8\n }\n}\n\nimpl Serialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16\n }\n}\n\nimpl Serialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32\n }\n}\n\nimpl Serialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64\n }\n}\n\nimpl Serialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u128\n }\n}\n\nimpl Serialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self);\n }\n}\n\nimpl Deserialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read()\n }\n}\n\nimpl Serialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u8 as Field);\n }\n}\n\nimpl Deserialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8 as i8\n }\n}\n\nimpl Serialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u16 as Field);\n }\n}\n\nimpl Deserialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16 as i16\n }\n}\n\nimpl Serialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u32 as Field);\n }\n}\n\nimpl Deserialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32 as i32\n }\n}\n\nimpl Serialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u64 as Field);\n }\n}\n\nimpl Deserialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Serialize for [T; M]\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n for i in 0..M {\n self[i].stream_serialize(writer);\n }\n }\n}\n\nimpl<T, let M: u32> Deserialize for [T; M]\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut result: [T; M] = std::mem::zeroed();\n for i in 0..M {\n result[i] = T::stream_deserialize(reader);\n }\n result\n }\n}\n\nimpl<T> Serialize for Option<T>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N + 1;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write_bool(self.is_some());\n if self.is_some() {\n self.unwrap_unchecked().stream_serialize(writer);\n } else {\n writer.advance_offset(<T as Serialize>::N);\n }\n }\n}\n\nimpl<T> Deserialize for Option<T>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n if reader.read_bool() {\n Option::some(<T as Deserialize>::stream_deserialize(reader))\n } else {\n reader.advance_offset(<T as Deserialize>::N);\n Option::none()\n }\n }\n}\n\nglobal SCALAR_SIZE: u32 = 2;\n\nimpl Serialize for EmbeddedCurveScalar {\n\n let N: u32 = SCALAR_SIZE;\n\n fn serialize(self) -> [Field; SCALAR_SIZE] {\n [self.lo, self.hi]\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.lo);\n writer.write(self.hi);\n }\n}\n\nimpl Deserialize for EmbeddedCurveScalar {\n let N: u32 = SCALAR_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { lo: fields[0], hi: fields[1] }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { lo: reader.read(), hi: reader.read() }\n }\n}\n\nglobal POINT_SIZE: u32 = 3;\n\nimpl Serialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn serialize(self) -> [Field; Self::N] {\n [self.x, self.y, self.is_infinite as Field]\n }\n\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.x);\n writer.write(self.y);\n writer.write(self.is_infinite as Field);\n }\n}\n\nimpl Deserialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { x: fields[0], y: fields[1], is_infinite: fields[2] != 0 }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { x: reader.read(), y: reader.read(), is_infinite: reader.read_bool() }\n }\n}\n\nimpl<let M: u32> Deserialize for str<M> {\n let N: u32 = M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let u8_arr = <[u8; Self::N] as Deserialize>::stream_deserialize(reader);\n str::<Self::N>::from(u8_arr)\n }\n}\n\nimpl<let M: u32> Serialize for str<M> {\n let N: u32 = M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.as_bytes().stream_serialize(writer);\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n let payload_len = Self::N - 1;\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n let len = reader.peek_offset(payload_len) as u32;\n\n for i in 0..M {\n if i < len {\n new_bounded_vec.push(<T as Deserialize>::stream_deserialize(reader));\n }\n }\n\n // +1 for the length of the BoundedVec\n reader.advance_offset((M - len) * <T as Deserialize>::N + 1);\n\n new_bounded_vec\n }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n let N: u32 = 0;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(_reader: &mut Reader<K>) -> Self {\n ()\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.storage().stream_serialize(writer);\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n writer.write_u32(self.len() as u32);\n }\n}\n\n// Create a slice of the given length with each element made from `f(i)` where `i` is the current index\ncomptime fn make_slice<Env, T>(length: u32, f: fn[Env](u32) -> T) -> [T] {\n let mut slice = @[];\n for i in 0..length {\n slice = slice.push_back(f(i));\n }\n slice\n}\n\n// Implements Serialize and Deserialize for an arbitrary tuple type\ncomptime fn impl_serialize_for_tuple(_m: Module, length: u32) -> Quoted {\n // `T0`, `T1`, `T2`\n let type_names = make_slice(length, |i| f\"T{i}\".quoted_contents());\n\n // `result0`, `result1`, `result2`\n let result_names = make_slice(length, |i| f\"result{i}\".quoted_contents());\n\n // `T0, T1, T2`\n let field_generics = type_names.join(quote [,]);\n\n // `<T0 as Serialize>::N + <T1 as Serialize>::N + <T2 as Serialize>::N`\n let full_size_serialize = type_names\n .map(|type_name| quote {\n <$type_name as Serialize>::N\n })\n .join(quote [+]);\n\n // `<T0 as Deserialize>::N + <T1 as Deserialize>::N + <T2 as Deserialize>::N`\n let full_size_deserialize = type_names\n .map(|type_name| quote {\n <$type_name as Deserialize>::N\n })\n .join(quote [+]);\n\n // `T0: Serialize, T1: Serialize, T2: Serialize,`\n let serialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Serialize,\n })\n .join(quote []);\n\n // `T0: Deserialize, T1: Deserialize, T2: Deserialize,`\n let deserialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Deserialize,\n })\n .join(quote []);\n\n // Statements to serialize each field\n let serialized_fields = type_names\n .mapi(|i, _type_name| quote {\n $crate::serialization::Serialize::stream_serialize(self.$i, writer);\n })\n .join(quote []);\n\n // Statements to deserialize each field\n let deserialized_fields = type_names\n .mapi(|i, type_name| {\n let result_name = result_names[i];\n quote {\n let $result_name = <$type_name as $crate::serialization::Deserialize>::stream_deserialize(reader);\n }\n })\n .join(quote []);\n let deserialize_results = result_names.join(quote [,]);\n\n quote {\n impl<$field_generics> Serialize for ($field_generics) where $serialize_constraints {\n let N: u32 = $full_size_serialize;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n\n $serialized_fields\n }\n }\n\n impl<$field_generics> Deserialize for ($field_generics) where $deserialize_constraints {\n let N: u32 = $full_size_deserialize;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = $crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n \n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n $deserialized_fields\n ($deserialize_results)\n }\n }\n }\n}\n\n// Keeping these manual impls. They are more efficient since they do not\n// require copying sub-arrays from any serialized arrays.\nimpl<T1> Serialize for (T1,)\nwhere\n T1: Serialize,\n{\n let N: u32 = <T1 as Serialize>::N;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: crate::writer::Writer<Self::N> = crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.0.stream_serialize(writer);\n }\n}\n\nimpl<T1> Deserialize for (T1,)\nwhere\n T1: Deserialize,\n{\n let N: u32 = <T1 as Deserialize>::N;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n (<T1 as Deserialize>::stream_deserialize(reader),)\n }\n}\n\n#[impl_serialize_for_tuple(2)]\n#[impl_serialize_for_tuple(3)]\n#[impl_serialize_for_tuple(4)]\n#[impl_serialize_for_tuple(5)]\n#[impl_serialize_for_tuple(6)]\nmod impls {\n use crate::serialization::{Deserialize, Serialize};\n}\n"
|
|
4259
|
+
"source": "use crate::{reader::Reader, serialization::{Deserialize, Serialize}, writer::Writer};\nuse std::embedded_curve_ops::EmbeddedCurvePoint;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\nglobal U1_SERIALIZED_LEN: u32 = 1;\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> bool {\n reader.read() != 0\n }\n}\n\nimpl Serialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u1\n }\n}\n\nimpl Serialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8\n }\n}\n\nimpl Serialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16\n }\n}\n\nimpl Serialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32\n }\n}\n\nimpl Serialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64\n }\n}\n\nimpl Serialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u128\n }\n}\n\nimpl Serialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self);\n }\n}\n\nimpl Deserialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read()\n }\n}\n\nimpl Serialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u8 as Field);\n }\n}\n\nimpl Deserialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8 as i8\n }\n}\n\nimpl Serialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u16 as Field);\n }\n}\n\nimpl Deserialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16 as i16\n }\n}\n\nimpl Serialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u32 as Field);\n }\n}\n\nimpl Deserialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32 as i32\n }\n}\n\nimpl Serialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u64 as Field);\n }\n}\n\nimpl Deserialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Serialize for [T; M]\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n for i in 0..M {\n self[i].stream_serialize(writer);\n }\n }\n}\n\nimpl<T, let M: u32> Deserialize for [T; M]\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut result: [T; M] = std::mem::zeroed();\n for i in 0..M {\n result[i] = T::stream_deserialize(reader);\n }\n result\n }\n}\n\nimpl<T> Serialize for Option<T>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N + 1;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write_bool(self.is_some());\n if self.is_some() {\n self.unwrap_unchecked().stream_serialize(writer);\n } else {\n writer.advance_offset(<T as Serialize>::N);\n }\n }\n}\n\nimpl<T> Deserialize for Option<T>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n if reader.read_bool() {\n Option::some(<T as Deserialize>::stream_deserialize(reader))\n } else {\n reader.advance_offset(<T as Deserialize>::N);\n Option::none()\n }\n }\n}\n\nglobal SCALAR_SIZE: u32 = 2;\n\nimpl Serialize for EmbeddedCurveScalar {\n\n let N: u32 = SCALAR_SIZE;\n\n fn serialize(self) -> [Field; SCALAR_SIZE] {\n [self.lo, self.hi]\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.lo);\n writer.write(self.hi);\n }\n}\n\nimpl Deserialize for EmbeddedCurveScalar {\n let N: u32 = SCALAR_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { lo: fields[0], hi: fields[1] }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { lo: reader.read(), hi: reader.read() }\n }\n}\n\nglobal POINT_SIZE: u32 = 3;\n\nimpl Serialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn serialize(self) -> [Field; Self::N] {\n [self.x, self.y, self.is_infinite as Field]\n }\n\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.x);\n writer.write(self.y);\n writer.write(self.is_infinite as Field);\n }\n}\n\nimpl Deserialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { x: fields[0], y: fields[1], is_infinite: fields[2] != 0 }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { x: reader.read(), y: reader.read(), is_infinite: reader.read_bool() }\n }\n}\n\nimpl<let M: u32> Deserialize for str<M> {\n let N: u32 = M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let u8_arr = <[u8; Self::N] as Deserialize>::stream_deserialize(reader);\n str::<Self::N>::from(u8_arr)\n }\n}\n\nimpl<let M: u32> Serialize for str<M> {\n let N: u32 = M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.as_bytes().stream_serialize(writer);\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n let payload_len = Self::N - 1;\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n let len = reader.peek_offset(payload_len) as u32;\n\n for i in 0..M {\n if i < len {\n new_bounded_vec.push(<T as Deserialize>::stream_deserialize(reader));\n }\n }\n\n // +1 for the length of the BoundedVec\n reader.advance_offset((M - len) * <T as Deserialize>::N + 1);\n\n new_bounded_vec\n }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n let N: u32 = 0;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(_reader: &mut Reader<K>) -> Self {\n ()\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.storage().stream_serialize(writer);\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n writer.write_u32(self.len() as u32);\n }\n}\n\n// Create a slice of the given length with each element made from `f(i)` where `i` is the current index\ncomptime fn make_slice<Env, T>(length: u32, f: fn[Env](u32) -> T) -> [T] {\n let mut slice = @[];\n for i in 0..length {\n slice = slice.push_back(f(i));\n }\n slice\n}\n\n// Implements Serialize and Deserialize for an arbitrary tuple type\ncomptime fn impl_serialize_for_tuple(_m: Module, length: u32) -> Quoted {\n // `T0`, `T1`, `T2`\n let type_names = make_slice(length, |i| f\"T{i}\".quoted_contents());\n\n // `result0`, `result1`, `result2`\n let result_names = make_slice(length, |i| f\"result{i}\".quoted_contents());\n\n // `T0, T1, T2`\n let field_generics = type_names.join(quote [,]);\n\n // `<T0 as Serialize>::N + <T1 as Serialize>::N + <T2 as Serialize>::N`\n let full_size_serialize = type_names\n .map(|type_name| quote {\n <$type_name as Serialize>::N\n })\n .join(quote [+]);\n\n // `<T0 as Deserialize>::N + <T1 as Deserialize>::N + <T2 as Deserialize>::N`\n let full_size_deserialize = type_names\n .map(|type_name| quote {\n <$type_name as Deserialize>::N\n })\n .join(quote [+]);\n\n // `T0: Serialize, T1: Serialize, T2: Serialize,`\n let serialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Serialize,\n })\n .join(quote []);\n\n // `T0: Deserialize, T1: Deserialize, T2: Deserialize,`\n let deserialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Deserialize,\n })\n .join(quote []);\n\n // Statements to serialize each field\n let serialized_fields = type_names\n .mapi(|i, _type_name| quote {\n $crate::serialization::Serialize::stream_serialize(self.$i, writer);\n })\n .join(quote []);\n\n // Statements to deserialize each field\n let deserialized_fields = type_names\n .mapi(|i, type_name| {\n let result_name = result_names[i];\n quote {\n let $result_name = <$type_name as $crate::serialization::Deserialize>::stream_deserialize(reader);\n }\n })\n .join(quote []);\n let deserialize_results = result_names.join(quote [,]);\n\n quote {\n impl<$field_generics> Serialize for ($field_generics) where $serialize_constraints {\n let N: u32 = $full_size_serialize;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n\n $serialized_fields\n }\n }\n\n impl<$field_generics> Deserialize for ($field_generics) where $deserialize_constraints {\n let N: u32 = $full_size_deserialize;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = $crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n \n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n $deserialized_fields\n ($deserialize_results)\n }\n }\n }\n}\n\n// Keeping these manual impls. They are more efficient since they do not\n// require copying sub-arrays from any serialized arrays.\nimpl<T1> Serialize for (T1,)\nwhere\n T1: Serialize,\n{\n let N: u32 = <T1 as Serialize>::N;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: crate::writer::Writer<Self::N> = crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.0.stream_serialize(writer);\n }\n}\n\nimpl<T1> Deserialize for (T1,)\nwhere\n T1: Deserialize,\n{\n let N: u32 = <T1 as Deserialize>::N;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n (<T1 as Deserialize>::stream_deserialize(reader),)\n }\n}\n\n#[impl_serialize_for_tuple(2)]\n#[impl_serialize_for_tuple(3)]\n#[impl_serialize_for_tuple(4)]\n#[impl_serialize_for_tuple(5)]\n#[impl_serialize_for_tuple(6)]\nmod impls {\n use crate::serialization::{Deserialize, Serialize};\n}\n\n#[test]\nunconstrained fn bounded_vec_serialization() {\n // Test empty BoundedVec\n let empty_vec: BoundedVec<Field, 3> = BoundedVec::from_array([]);\n let serialized = empty_vec.serialize();\n let deserialized = BoundedVec::<Field, 3>::deserialize(serialized);\n assert_eq(empty_vec, deserialized);\n assert_eq(deserialized.len(), 0);\n\n // Test partially filled BoundedVec\n let partial_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2]]);\n let serialized = partial_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(partial_vec, deserialized);\n assert_eq(deserialized.len(), 1);\n assert_eq(deserialized.get(0), [1, 2]);\n\n // Test full BoundedVec\n let full_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2], [3, 4], [5, 6]]);\n let serialized = full_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(full_vec, deserialized);\n assert_eq(deserialized.len(), 3);\n assert_eq(deserialized.get(0), [1, 2]);\n assert_eq(deserialized.get(1), [3, 4]);\n assert_eq(deserialized.get(2), [5, 6]);\n}\n"
|
|
4260
4260
|
},
|
|
4261
|
-
"
|
|
4261
|
+
"468": {
|
|
4262
4262
|
"path": "/home/aztec-dev/nargo/github.com/noir-lang/sha256/v0.3.0/src/sha256.nr",
|
|
4263
4263
|
"source": "use std::hash::sha256_compression;\nuse std::runtime::is_unconstrained;\n\nuse constants::{\n BLOCK_BYTE_PTR, BLOCK_SIZE, HASH, INITIAL_STATE, INT_BLOCK_SIZE, INT_SIZE, INT_SIZE_PTR,\n MSG_BLOCK, MSG_SIZE_PTR, STATE, TWO_POW_16, TWO_POW_24, TWO_POW_32, TWO_POW_8,\n};\n\npub(crate) mod constants;\nmod tests;\nmod oracle_tests;\n\n// Implementation of SHA-256 mapping a byte array of variable length to\n// 32 bytes.\n\n// Deprecated in favour of `sha256_var`\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> HASH\n// docs:end:sha256\n{\n digest(input)\n}\n\n// SHA-256 hash function\n#[no_predicates]\npub fn digest<let N: u32>(msg: [u8; N]) -> HASH {\n sha256_var(msg, N)\n}\n\n// Variable size SHA-256 hash\npub fn sha256_var<let N: u32>(msg: [u8; N], message_size: u32) -> HASH {\n assert(message_size <= N);\n\n let (h, msg_block) = process_full_blocks(msg, message_size, INITIAL_STATE);\n\n finalize_sha256_blocks(message_size, h, msg_block)\n}\n\n/// Returns the first partially filled message block along with the internal state prior to its compression.\npub(crate) fn process_full_blocks<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n initial_state: STATE,\n) -> (STATE, MSG_BLOCK) {\n if std::runtime::is_unconstrained() {\n let num_full_blocks = message_size / BLOCK_SIZE;\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = initial_state;\n // Pointer into msg_block on a 64 byte scale\n for i in 0..num_full_blocks {\n let msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * i);\n h = sha256_compression(msg_block, h);\n }\n\n // We now build the final un-filled block.\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n let msg_block: MSG_BLOCK = if msg_byte_ptr != 0 {\n let num_full_blocks = message_size / BLOCK_SIZE;\n let msg_start = BLOCK_SIZE * num_full_blocks;\n build_msg_block(msg, message_size, msg_start)\n } else {\n // If the message size is a multiple of the block size (i.e. `msg_byte_ptr == 0`) then this block will be empty,\n // so we short-circuit in this case.\n [0; 16]\n };\n\n (h, msg_block)\n } else {\n let num_blocks = N / BLOCK_SIZE;\n\n // We store the intermediate hash states and message blocks in these two arrays which allows us to select the correct state\n // for the given message size with a lookup.\n //\n // These can be reasoned about as followed:\n // Consider a message with an unknown number of bytes, `msg_size. It can be seen that this will have `msg_size / BLOCK_SIZE` full blocks.\n // - `states[i]` should then be the state after processing the first `i` blocks.\n // - `blocks[i]` should then be the next message block after processing the first `i` blocks.\n // blocks[first_partially_filled_block_index] is the last block that is partially filled or all 0 if the message is a multiple of the block size.\n //\n // In other words:\n //\n // blocks = [block 1, block 2, ..., block N / BLOCK_SIZE, block N / BLOCK_SIZE + 1]\n // states = [INITIAL_STATE, state after block 1, state after block 2, ..., state after block N / BLOCK_SIZE]\n //\n // We place the initial state in `states[0]` as in the case where the `message_size < BLOCK_SIZE` then there are no full blocks to process and no compressions should occur.\n let mut blocks: [MSG_BLOCK; N / BLOCK_SIZE + 1] = std::mem::zeroed();\n let mut states: [STATE; N / BLOCK_SIZE + 1] = [initial_state; N / BLOCK_SIZE + 1];\n\n // Optimization for small messages. If the largest possible message is smaller than a block then we know that the first block is partially filled\n // no matter the value of `message_size`.\n //\n // Note that the condition `N >= BLOCK_SIZE` is known during monomorphization so this has no runtime cost.\n let first_partially_filled_block_index = if N >= BLOCK_SIZE {\n message_size / BLOCK_SIZE\n } else {\n 0\n };\n\n for i in 0..num_blocks {\n let msg_start = BLOCK_SIZE * i;\n let new_msg_block = build_msg_block(msg, message_size, msg_start);\n\n blocks[i] = new_msg_block;\n states[i + 1] = sha256_compression(new_msg_block, states[i]);\n }\n // If message_size/BLOCK_SIZE == N/BLOCK_SIZE, and there is a remainder, we need to process the last block.\n if N % BLOCK_SIZE != 0 {\n let new_msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * num_blocks);\n\n blocks[num_blocks] = new_msg_block;\n }\n\n (states[first_partially_filled_block_index], blocks[first_partially_filled_block_index])\n }\n}\n\n// Take `BLOCK_SIZE` number of bytes from `msg` starting at `msg_start` and pack them into a `MSG_BLOCK`.\npub(crate) unconstrained fn build_msg_block_helper<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_start: u32,\n) -> MSG_BLOCK {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n\n // We insert `BLOCK_SIZE` bytes (or up to the end of the message)\n let block_input = if message_size < msg_start {\n // This function is sometimes called with `msg_start` past the end of the message.\n // In this case we return an empty block and zero pointer to signal that the result should be ignored.\n 0\n } else if message_size < msg_start + BLOCK_SIZE {\n message_size - msg_start\n } else {\n BLOCK_SIZE\n };\n\n // Figure out the number of items in the int array that we have to pack.\n // e.g. if the input is [0,1,2,3,4,5] then we need to pack it as 2 items: [0123, 4500]\n let int_input = (block_input + INT_SIZE - 1) / INT_SIZE;\n\n for i in 0..int_input {\n let mut msg_item: u32 = 0;\n // Always construct the integer as 4 bytes, even if it means going beyond the input.\n for j in 0..INT_SIZE {\n let k = i * INT_SIZE + j;\n let msg_byte = if k < block_input {\n msg[msg_start + k]\n } else {\n 0\n };\n msg_item = (msg_item << 8) + msg_byte as u32;\n }\n msg_block[i] = msg_item;\n }\n\n // Returning the index as if it was a 64 byte array.\n // We have to project it down to 16 items and bit shifting to get a byte back if we need it.\n msg_block\n}\n\n// Build a message block from the input message starting at `msg_start`.\n//\n// If `message_size` is less than `msg_start` then this is called with the old non-empty block;\n// in that case we can skip verification, ie. no need to check that everything is zero.\nfn build_msg_block<let N: u32>(msg: [u8; N], message_size: u32, msg_start: u32) -> MSG_BLOCK {\n let msg_block =\n // Safety: We constrain the block below by reconstructing each `u32` word from the input bytes.\n unsafe { build_msg_block_helper(msg, message_size, msg_start) };\n\n if !is_unconstrained() {\n let mut msg_end = msg_start + BLOCK_SIZE;\n\n let max_read_index = std::cmp::min(message_size, msg_end);\n\n // Reconstructed packed item\n let mut msg_item: Field = 0;\n\n // Inclusive at the end so that we can compare the last item.\n for k in msg_start..=msg_end {\n if (k != msg_start) & (k % INT_SIZE == 0) {\n // If we consumed some input we can compare against the block.\n let msg_block_index = (k - msg_start) / INT_SIZE - 1;\n assert_eq(msg_block[msg_block_index] as Field, msg_item);\n\n msg_item = 0;\n }\n\n // If we have input to consume, add it at the rightmost position.\n let msg_byte = if k < max_read_index { msg[k] } else { 0 };\n msg_item = msg_item * (TWO_POW_8 as Field) + msg_byte as Field;\n }\n }\n msg_block\n}\n\n// Encode `8 * message_size` into two `u32` limbs.\nunconstrained fn encode_len(message_size: u32) -> (u32, u32) {\n let len = 8 * message_size as u64;\n let lo = len & 0xFFFFFFFF;\n let hi = (len >> 32) & 0xFFFFFFFF;\n (lo as u32, hi as u32)\n}\n\n// Write the length into the last 8 bytes of the block.\nfn attach_len_to_msg_block(mut msg_block: MSG_BLOCK, message_size: u32) -> MSG_BLOCK {\n // Safety: We assert the correctness of the decomposition below.\n // 2 `u32` limbs cannot overflow the field modulus so performing the check as `Field`s is safe.\n let (lo, hi) = unsafe { encode_len(message_size) };\n assert_eq(8 * (message_size as Field), lo as Field + hi as Field * TWO_POW_32);\n\n msg_block[INT_SIZE_PTR] = hi;\n msg_block[INT_SIZE_PTR + 1] = lo;\n msg_block\n}\n\n// Perform the final compression, then transform the `STATE` into `HASH`.\nfn hash_final_block(msg_block: MSG_BLOCK, mut state: STATE) -> HASH {\n // Hash final padded block\n state = sha256_compression(msg_block, state);\n\n // Return final hash as byte array\n let mut out_h: HASH = [0; 32]; // Digest as sequence of bytes\n for j in 0..8 {\n let h_bytes: [u8; 4] = (state[j] as Field).to_be_bytes();\n for k in 0..4 {\n out_h[4 * j + k] = h_bytes[k];\n }\n }\n\n out_h\n}\n\n/// Lookup table for the position of the padding bit within one of the `u32` words in the final message block.\nglobal PADDING_BIT_TABLE: [u32; 4] =\n [(1 << 7) * TWO_POW_24, (1 << 7) * TWO_POW_16, (1 << 7) * TWO_POW_8, (1 << 7)];\n\n/// Add 1 bit padding to end of message and compress the block if there's not enough room for the 8-byte length.\n/// Returns the updated hash state and message block that will be used to write the message size.\n///\n/// # Assumptions:\n///\n/// - `msg_block[i] == 0` for all `i > msg_byte_ptr / INT_SIZE`\n/// - `msg_block[msg_byte_ptr / INT_SIZE] & ((1 << 7) * (msg_byte_ptr % INT_SIZE)) == 0`\nfn add_padding_byte_and_compress_if_needed(\n mut msg_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n h: STATE,\n) -> (STATE, MSG_BLOCK) {\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n let index = msg_byte_ptr / INT_SIZE;\n\n // Lookup the position of the padding bit and insert it into the message block.\n msg_block[index] += PADDING_BIT_TABLE[msg_byte_ptr % INT_SIZE];\n\n // If we don't have room to write the size, compress the block and reset it.\n if msg_byte_ptr >= MSG_SIZE_PTR {\n let h = sha256_compression(msg_block, h);\n\n // In this case, the final block consists of all zeros with the last 8 bytes containing the length.\n // We set msg_block to all zeros and attach_len_to_msg_block will add the length to the last 8 bytes.\n let msg_block = [0; INT_BLOCK_SIZE];\n (h, msg_block)\n } else {\n (h, msg_block)\n }\n}\n\npub(crate) fn finalize_sha256_blocks(\n message_size: u32,\n mut h: STATE,\n mut msg_block: MSG_BLOCK,\n) -> HASH {\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n\n let (h, mut msg_block) = add_padding_byte_and_compress_if_needed(msg_block, msg_byte_ptr, h);\n\n msg_block = attach_len_to_msg_block(msg_block, message_size);\n\n hash_final_block(msg_block, h)\n}\n\n/**\n * Given some state of a partially computed sha256 hash and part of the preimage, continue hashing\n * @notice used for complex/ recursive offloading of post-partial hashing\n *\n * @param N - the maximum length of the message to hash\n * @param h - the intermediate hash state\n * @param msg - the preimage to hash\n * @param message_size - the actual length of the preimage to hash\n * @return the intermediate hash state after compressing in msg to h\n */\npub fn partial_sha256_var_interstitial<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n) -> [u32; 8] {\n assert(message_size % BLOCK_SIZE == 0, \"Message size must be a multiple of the block size\");\n if std::runtime::is_unconstrained() {\n // Safety: running as an unconstrained function\n unsafe {\n __sha_partial_var_interstitial(h, msg, message_size)\n }\n } else {\n let (h, _) = process_full_blocks(msg, message_size, h);\n\n h\n }\n}\n\n/**\n * Given some state of a partially computed sha256 hash and remaining preimage, complete the hash\n * @notice used for traditional partial hashing\n *\n * @param N - the maximum length of the message to hash\n * @param h - the intermediate hash state\n * @param msg - the remaining preimage to hash\n * @param message_size - the size of the current chunk\n * @param real_message_size - the total size of the original preimage\n * @return finalized sha256 hash\n */\npub fn partial_sha256_var_end<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n real_message_size: u32,\n) -> [u8; 32] {\n assert(message_size % BLOCK_SIZE == 0, \"Message size must be a multiple of the block size\");\n if std::runtime::is_unconstrained() {\n // Safety: running as an unconstrained function\n unsafe {\n h = __sha_partial_var_interstitial(h, msg, message_size);\n\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n\n finalize_last_sha256_block(h, real_message_size, msg)\n }\n } else {\n let (h, msg_block) = process_full_blocks(msg, message_size, h);\n finalize_sha256_blocks(real_message_size, h, msg_block)\n }\n}\n\nunconstrained fn __sha_partial_var_interstitial<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n) -> [u32; 8] {\n let num_full_blocks = message_size / BLOCK_SIZE;\n // Intermediate hash, starting with the canonical initial value\n // Pointer into msg_block on a 64 byte scale\n for i in 0..num_full_blocks {\n let msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * i);\n h = sha256_compression(msg_block, h);\n }\n h\n}\n\n// Helper function to finalize the message block with padding and length\nunconstrained fn finalize_last_sha256_block<let N: u32>(\n mut h: STATE,\n message_size: u32,\n msg: [u8; N],\n) -> HASH {\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n\n // We now build the final un-filled block.\n let msg_block: MSG_BLOCK = if msg_byte_ptr != 0 {\n let num_full_blocks = message_size / BLOCK_SIZE;\n let msg_start = BLOCK_SIZE * num_full_blocks;\n build_msg_block(msg, message_size, msg_start)\n } else {\n // If the message size is a multiple of the block size (i.e. `msg_byte_ptr == 0`) then this block will be empty,\n // so we short-circuit in this case.\n [0; 16]\n };\n\n // Once built, we need to add the necessary padding bytes and encoded length\n let (h, mut msg_block) = add_padding_byte_and_compress_if_needed(msg_block, msg_byte_ptr, h);\n msg_block = attach_len_to_msg_block(msg_block, message_size);\n\n hash_final_block(msg_block, h)\n}\n\nmod test_process_full_blocks {\n\n /// Wrapper to force an unconstrained runtime on process_full_blocks.\n unconstrained fn unconstrained_process_full_blocks<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n h: super::STATE,\n ) -> (super::STATE, super::MSG_BLOCK) {\n super::process_full_blocks(msg, message_size, h)\n }\n\n #[test]\n fn test_implementations_agree(msg: [u8; 100], message_size: u32) {\n let message_size = message_size % 100;\n // Safety: test function\n let unconstrained_state =\n unsafe { unconstrained_process_full_blocks(msg, message_size, super::INITIAL_STATE) };\n let state = super::process_full_blocks(msg, message_size, super::INITIAL_STATE);\n assert_eq(state, unconstrained_state);\n }\n}\n\nmod test_sha256_var {\n\n /// Wrapper to force an unconstrained runtime on sha256.\n unconstrained fn unconstrained_sha256<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n ) -> super::HASH {\n super::sha256_var(msg, message_size)\n }\n\n #[test]\n fn test_implementations_agree(msg: [u8; 100], message_size: u32) {\n let message_size = message_size % 100;\n // Safety: test function\n let unconstrained_sha = unsafe { unconstrained_sha256(msg, message_size) };\n let sha = super::sha256_var(msg, message_size);\n assert_eq(sha, unconstrained_sha);\n }\n\n}\n"
|
|
4264
4264
|
},
|