NeuroEvolution in Python backed by C++ computations
Project description
Artificial Brains (ABrain) for Python
C++/Python implementation of fully evolvable Artificial Neural Networks. Uses the ES-HyperNEAT algorithms to indirectly encode ANNs with bio-mimetic patterns (repetitions, symmetry...), large number of neurons and relative robustness to input/output variations between generations. The API is served in Python and computations are performed in C++.
tested on latest
Development
Optional dependencies:
Graphviz (dot)
To generate directed graphs for the genomes. Can only be fetched by system installer (apt-get, yum, ...). See https://graphviz.org/download/ for instructions
Kaleido
To generate non-interactive images of ANN (through plotly).
Due to inconsistent support, left as an optional dependency.
Use pip install abrain[...,kaleido]
to get it
Todo list:
- Functionalities:
-
Order-independent ANN evaluation (with back buffer)?
-
Crossover / historical markings
- Actually needed?
-
MANN Integration
- Easy extraction
- built-in testing
- C++ wrapper
- Visu
-
Misc:
- Documentation
-
Advanced usage
-
move to scikit/poetry/... ?
-
- Documentation
-
CI/CD
- Recent install gives
no loadimage plugion for "svg:cairo"
for pdf output
- Recent install gives
-
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for abrain-1.0rc0.post5-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ecbb415718293738c13a8ac5af42adaeef6a7287a81566174f3441eae7ae1e1 |
|
MD5 | 96ba7b4646a345fece46bea4ba56f7ff |
|
BLAKE2b-256 | 61fe0a8a02437655eb5db97574b239c8574b938144566e3cd69a897f14559486 |
Hashes for abrain-1.0rc0.post5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd5431f475c2a82db398c47eeda7e6713ced06df37c7c6af14ba97d9a91f6fbf |
|
MD5 | 8faa297e95417e70d900c4980830d56d |
|
BLAKE2b-256 | 190052fb04cf005112238ee97d825d3d9c77ce3fdae945cfe3ffad9c59ed6e5c |
Hashes for abrain-1.0rc0.post5-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa1c1e21c5870a549b366e97933805832280d803b34069fad5e2c8d8e237075b |
|
MD5 | ab44bae375bdc1e4d812dd6b6243c1bb |
|
BLAKE2b-256 | 64c6785d104d75d3628986152b7b1723a8a0b564a4d9bce0792dd31b236856b8 |
Hashes for abrain-1.0rc0.post5-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe78f202271406cb375cc9461723f7296683d8dac1b23ad5749400971f1e9866 |
|
MD5 | bcd0d8f0f58bc2de4e28929a656c5cae |
|
BLAKE2b-256 | 74995249da3c2c26c5e79b90077ed99b81bef821eab47ed33baea24ac80a80ea |
Hashes for abrain-1.0rc0.post5-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632d847bf98e9f9571046f1296648531445f105795a5b200bfc17fc8c62bbe9b |
|
MD5 | 980de9134502bae68f380e53ffbefa2b |
|
BLAKE2b-256 | c7118ab8df8fe313400abac84d31bc25a5c9d3340253191469c5f22f0e65710d |
Hashes for abrain-1.0rc0.post5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba7a5d090dfb08a1e9e4cb3db60f5a86b64fea56d0522f487f02f1c689e36454 |
|
MD5 | 3e0496dafadbf271d69c66dcf3aaa5bd |
|
BLAKE2b-256 | 96c25105c7a27847a16d6febab6ea558bd1135fc4e085260047831f20684cc27 |
Hashes for abrain-1.0rc0.post5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41213a5d8b04ed3f8a65d3f13cf05650983cc0277da99b955e4d83cb93ebaa8e |
|
MD5 | eb56f75cd7cd5e283a77a8a57414434d |
|
BLAKE2b-256 | 1b1f6a37800ae69e4969429d6d33ddb99c97510087a7b4f557e0ebc2ca78ba0b |
Hashes for abrain-1.0rc0.post5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c421bcb6d0f15725b30cab3e93be7f41cddcf2fcdde0865707480aec8bfba6bc |
|
MD5 | a258cdf7ed167f9cfd232ee31e579c54 |
|
BLAKE2b-256 | 2213a067f57a9c5d621baa6af5d2bb7d0075cdc06f1c80aeba7e971d91122f11 |
Hashes for abrain-1.0rc0.post5-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed0eafef7671d181fe5d518f69599fe0c124f3174459697baec4cb0613039a1e |
|
MD5 | 8a06faab1bbae17413d247858c65f9a3 |
|
BLAKE2b-256 | c497a5f53583ce425fb5f9d6fc6fba245f510efb7e8374a61c02cc4c037ff296 |
Hashes for abrain-1.0rc0.post5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b2adf339bbd24383e0ceb3047c32d6c3382bb68b1d7bb09ee50ec404a72de9d |
|
MD5 | 1e3ca11fd1663562552a031a5d1364bc |
|
BLAKE2b-256 | 34984ec0d57d1f996944fc0810042b0bf8deae6913ff7cdf9ba778c3a9836ef5 |
Hashes for abrain-1.0rc0.post5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b06c719f90f262a60e8e47a0c99fe9d1485cd49690cb69b8c913b0ebb40676b3 |
|
MD5 | c253287f2a85dfd0fed797cd31f02c43 |
|
BLAKE2b-256 | a90f5006c8fdde3da189ecb07d221cb31b595e81dc8a42f46ce0ee6f289b70b1 |
Hashes for abrain-1.0rc0.post5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ce916b88d1b774cb8ab8e4a590c266068a478458bb4a568b5c5c05e4edbde56 |
|
MD5 | bc1496359c2253d531c5ccd62a22381e |
|
BLAKE2b-256 | 07d158c95f236b010d4b32fb9dcd25b3ec7ca2aaab2a0da391c6106664a40b11 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6954d632dfe46dbb225528fcefdeab07628243e7723fea7e1a3740f690ccc838 |
|
MD5 | 5ddc1ca769546a0e3be704ab65200499 |
|
BLAKE2b-256 | 32331a8978ae02d9a75fb324b1c9bd4cf3286a7ba8518c88d0ac7b61d22d4541 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6280ba97b468e20906b443d624bf9a4899a6c32995efc345e520f37f88db5d6 |
|
MD5 | a3feab5bc9d68742bee0b6b1b16b7b73 |
|
BLAKE2b-256 | 85904b03926c72673659ff9ccf68f115d34acf80aef6303c6c32b19a11eb211d |
Hashes for abrain-1.0rc0.post5-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37e1f2460831c7878cd0aea815a1ed80dedb823564631a031b4e91c6c4b4d6d9 |
|
MD5 | 17bdb642a71ca2d74a63721c98320861 |
|
BLAKE2b-256 | ca10a0974f32e6430840c89688e319d624acdbbddb47ee03e8898d296c30dfe5 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93dfec7385002bf4c1b6af7cf51469330ecc199e94dba7d0881e7009b4369aba |
|
MD5 | 1cab7d018f8274297945bb24c848c39d |
|
BLAKE2b-256 | 9ffd5605a3af67dbe350beb5850160a56a5b792fc50c43f2e1562d23084781c2 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5ce281eb852a6ec19554bb095688fc945c7a8e9cd41125897fc580ccdf1d0a6 |
|
MD5 | 2414d9a857ce798085d28e5448beed2c |
|
BLAKE2b-256 | c1d37bbf0d6c344df0327c3d1b01ae5e0600cb969bdbe42a611a8056781ae169 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ba70e457fd23d4433682c6a40954ad70064d0f4c01402937e493efe302c611 |
|
MD5 | e8db1e87693b8294f7ab07d74d0252b5 |
|
BLAKE2b-256 | 3911e2dc0864f8d742b595a8bf6a77b5a565470cdf4c17735d494a444acedbf1 |
Hashes for abrain-1.0rc0.post5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347702ce22cc696dac5768468f489f0175739ba6964de4b42260fac74285336a |
|
MD5 | 81d26abf9dfd24e2a473b41ea9e5abc2 |
|
BLAKE2b-256 | ab924f315b42aaba024696a743edcda6ba7e1254cb7e71273787e945e9a12ef9 |
Hashes for abrain-1.0rc0.post5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e09ca05df627ffcd58a39172648a00402e29a5506ae6ad9f9463e5b38fbe0382 |
|
MD5 | 54a53681f01cff063a5055f3f188fedd |
|
BLAKE2b-256 | a1c4e20d554759f0baf2b25474bd6cb5fae9361e00d12fddd956eb95737644d8 |
Hashes for abrain-1.0rc0.post5-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c92d7eee5124c976b9850f7ce833e0c9d0c835cc655140a152f3503fb855230 |
|
MD5 | 214c6fa6b9c0efd40cf2abfe0183563a |
|
BLAKE2b-256 | 1d0fdc1491b2416a07f32722e884e5c806af682b056b0bcc20f3727bde6bab74 |
Hashes for abrain-1.0rc0.post5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75974030e8cf2d0d5c1508b80bd63f6dc8f981acdc3baea788142191ab86c766 |
|
MD5 | dca18c336e9d23b1fedc5b716bd662b8 |
|
BLAKE2b-256 | fb5956639fb7b0ca82ac856f6c6e8dcba6569c5ad58046756daa692c70f025a7 |
Hashes for abrain-1.0rc0.post5-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1084ea1707e8a7b7fa45e90efaf28c4ae26455e1a78a230fa24a0f6f6fb549f7 |
|
MD5 | ec2204ad41ff06b5664e31e09e1c78de |
|
BLAKE2b-256 | d6f142b6ff47a42941efe7b3ff350b11830ab75e8d80524d7ace62ecaa3ca09b |
Hashes for abrain-1.0rc0.post5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd003c1a53854b0a382ab496a974ab9327fe40ec28fe547f2850db346bd919b2 |
|
MD5 | e4525488e4e7463b750f3f99495bc13d |
|
BLAKE2b-256 | 5ee50f18d2f6a4dfe724f0ff3d332b615bcd8b92d98217fa4387e6211e74d5c5 |
Hashes for abrain-1.0rc0.post5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f60da46f6eafc4dcdec2989b3c8ea2ee70031f44e96e3af3bac088e85ea3e358 |
|
MD5 | 7e78fabf9ffe340af7499f12f7bbbc2b |
|
BLAKE2b-256 | 8b87e978fd7554a6309f310fb1edd8775243a5026cca1aa4706852a7fff9fcca |
Hashes for abrain-1.0rc0.post5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92fdae9c701ee13aac6086f0b76316cffda8af0d4aaadc856e1d0eea9c5b1860 |
|
MD5 | 9f37865b1e476204bb97bc8094992517 |
|
BLAKE2b-256 | c31c775795e2904600385274671a3ad80d8fbae93ea81a39dabf5021cdad91be |
Hashes for abrain-1.0rc0.post5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d73eb6c6352b6a905eacae7fa8ebae1f78d8a4969d76083d8ad0ea9dfe3a999 |
|
MD5 | b8b3bb5fb05d1289ae37e2d8ffdb3c27 |
|
BLAKE2b-256 | 3dfaffb9ec912764200cd4b7968117681bc2ace14854bf7f80ae931fe9d7c869 |
Hashes for abrain-1.0rc0.post5-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd531411dabcffb262687d1f2e8c5fb79b83ab592e27d09791f86fb24c0f701 |
|
MD5 | 83d6ef60ac2cbf4bc51a167f8368e23b |
|
BLAKE2b-256 | f6aa8a73804d4ff81c1ae6cf074ccc2b41a92a0ed181b365cf55c596bca4b2b6 |
Hashes for abrain-1.0rc0.post5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb72d3887bb5846fa88423a1d775a5f463861fc959c356b922d73d9b15c57209 |
|
MD5 | d3cb6c4d2fc88d6a1c5ab274ce17f6d4 |
|
BLAKE2b-256 | c88e4b8f5defd8f41db01e6b48cfd03458c68e281033ca5f3def002c46b33808 |
Hashes for abrain-1.0rc0.post5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef3fa6b044258ede95525791334a0e292faa2152c9821a467af8765aeb2abc8d |
|
MD5 | b934b6f1424b4c76abe776755e5decaf |
|
BLAKE2b-256 | f33854a306b8b414911e7ec9aa53edc4d02214ec5bcc207672b8ab6043fbdebe |
Hashes for abrain-1.0rc0.post5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 867249281daaa10d213ecda4195b660bfd58c5c5d90136c7c3ef79d317ac28d2 |
|
MD5 | 697191bc95e5ab1e75f2c655831127f6 |
|
BLAKE2b-256 | a4373b2ee328a7ff32eeb3d85a1e01abdf2b9eb10bab61e9b7f30c36097acfd7 |
Hashes for abrain-1.0rc0.post5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 693e84e884a79d72c84855236165d47b32ed627cb0a5e7a453ac2dca8240dcfd |
|
MD5 | 96101b96f03af5c53369d62e3d9854c2 |
|
BLAKE2b-256 | f24604ae65f93c1c7d249dba7c461bff2155b823846761d4f6e0f13719b80858 |
Hashes for abrain-1.0rc0.post5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b974155a6f595522267555126f40e3b22874c3ac745bc3e44f064bccd68ac04 |
|
MD5 | 0f53807c2f52957c14e826560efeecf8 |
|
BLAKE2b-256 | 204a1fe722050f5b0687fc30453dce17c5470379fcc19add6b67f9ca1be3a2c9 |
Hashes for abrain-1.0rc0.post5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99dd9b5e1df1eb3132f2519c75d3f24aceef615105bc5940a0eb845b1d6499f4 |
|
MD5 | dade9a63571273b6af423ff951729d25 |
|
BLAKE2b-256 | 4dee6952915699e26a4a55425ddadc04b263c51b5b2316cffca6b4e486b80d39 |
Hashes for abrain-1.0rc0.post5-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6456c013f47d22c54fc8536fa1569574a16cb51a8ba0365970bfb955d19be8d |
|
MD5 | 333668ce7da6ff4f1c3bb8894206c694 |
|
BLAKE2b-256 | 7d4c20aef9c97f459f0ddbf2b593a5dae29b332f2897c7f9a240dc1077c70b39 |
Hashes for abrain-1.0rc0.post5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b115edbe0a90be9ce38c295f09d3683878399cef145f7692157b22741ea6d30 |
|
MD5 | 2333b6e13dcc7cab9fb77c5dc705ab84 |
|
BLAKE2b-256 | 52f65787df1430ae084362d616842896fbaa856184a5526f5fc37dd9af431f9b |
Hashes for abrain-1.0rc0.post5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf7134a4c7eb0d7a56cf44de73959248accf32de636c025d10435e5b04742d8 |
|
MD5 | f4326eb92c58b677e72882115f2c0546 |
|
BLAKE2b-256 | 4a689da2851c4ba6c8e4cb03fd7df1e02b7fbf5038a2ec6d7bd819f1338c16ac |
Hashes for abrain-1.0rc0.post5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d99d004ac8c52b88e98b8244ba0ad7e18945ba19bbf4117f719811e53c4e9655 |
|
MD5 | 40d208ffb74e815e1d9a8e99a7fc263d |
|
BLAKE2b-256 | f7f4aa08458cf5b56d5c5b989239af0718daed35c1cb253244cc0b81b95df5f1 |
Hashes for abrain-1.0rc0.post5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbb915240cacba52cf8ea0bd75bf82365d2ac310718032efa76245b0d09db894 |
|
MD5 | 430e740b6d3e906b07014feb9f22075e |
|
BLAKE2b-256 | 48a980938c322ca31bed9add9b41ca4ebf6e488d4adc65dcfb2a9de71c8d3e2a |
Hashes for abrain-1.0rc0.post5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6844acfa6dd7984a98689875f586ba5f44d0ccceccf8de6f4f28081bcc37e872 |
|
MD5 | 4cecad832743ec97e7740e8b0e448b0b |
|
BLAKE2b-256 | b329921da94a2b007cccec3b93b19a06f43ca19b495915b96db060bb20305faf |
Hashes for abrain-1.0rc0.post5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12eb7913a31895ecd8f811d5ea3528f22a5c6e15de65de9ef7e5a0f94d34cdd0 |
|
MD5 | 1b9d2ab0f0b5b52436fcee1932053dbf |
|
BLAKE2b-256 | 3c56be35863901756f1a177dc69dece65e8b5ccb6bf1aa1990613b80703e0dda |
Hashes for abrain-1.0rc0.post5-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea89406edc533d72cba831d5763e848d00ae6566d0399345264d38913a33ba52 |
|
MD5 | 9b0e235d692945e53a8b4861f79abf3f |
|
BLAKE2b-256 | 0a7546d208ca95e0111bb30d04b8fa039785efd3b3e0c475ee7a358c080635c0 |
Hashes for abrain-1.0rc0.post5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2f98234f3d594dc17ec09829b97588f3ce0fdab5215114bb36210adfdca52cb |
|
MD5 | b22f2584b2a2032fb4e50b36aa8aadae |
|
BLAKE2b-256 | c79b353e0c0a62edad855a96b1908add7d9c0ce268bd78a764688640ae9c7c6e |
Hashes for abrain-1.0rc0.post5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74bdca89352a00983333e90a27a5539db7aaafb3314d9cf01a64610493058450 |
|
MD5 | a2394eaa428380d37dfd175904e10b91 |
|
BLAKE2b-256 | d1d86a39929919a5d946e5eee196879005b32bea81be81b46963df976fe50fe2 |
Hashes for abrain-1.0rc0.post5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e822166f51f76bc6929c073f772236d6a8edf3fac1a00cfc633903e135a981e8 |
|
MD5 | f118f2754cc4f5655877a1a3ca0960a4 |
|
BLAKE2b-256 | fee965cf54757b83dccf9e96c10ba4ed7ce2dc2e09a985cf9439d53c710a5b23 |
Hashes for abrain-1.0rc0.post5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1595270459b5b86aee0906af09157b5fa6affc3e2fff907a28ba1d17d542ce0 |
|
MD5 | 992bd21fd65a627975d65662df742e4c |
|
BLAKE2b-256 | a219f06d84f13f1d6fbd17aca9943bd1db4afcdde9380c9d28b821e8ed3afb57 |
Hashes for abrain-1.0rc0.post5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1665e031ca18de7f194716daac2fc8182b75391ef35af0f75553f23414c6eb97 |
|
MD5 | 2ab4c8e30b36dad55efcdf828f1f7e86 |
|
BLAKE2b-256 | eb239d9a19fc35f6f57b979d1750ad121af80ea2563bbb177465065b958d255b |