An efficient implementation of Vantage Point Tree for Python 3
Project description
Introduction
PyNear is a python library, internally built in C++, for efficient KNN search using metric distance function such as L2 distance (see VPTreeL2Index) or Hamming distances (VPTreeBinaryIndex and BKTreeBinaryIndex) as well as other distance functions. It uses AVX2 instructions to optimize search performance.
PyNear aims on providing different efficient algorithms for nearest neighbor search. One of the differentials of PyNear is the adoption of Vantage Point Tree in order to mitigate (up to some point) the curse of dimensionality for high dimensional features (see VPTree* indices for more information in docs).
Installation
pip install pynear
Performance can dramatically decrease if this library is compiled without support to Open MP and AVX.
Requirement
This library needs OpenMP support to be built and installed. The whole compilation proccess occur automatically by performing the installation step above.
Features
For more features and all available index types, refer to docs.
Pickle serialization
vptree indices are pickle serializable:
import numpy as np
import pynear
np.random.seed(seed=42)
num_points = 20000
dimension = 32
num_queries = 2
data = np.random.rand(num_points, dimension).astype(dtype=np.uint8)
queries = np.random.rand(num_queries, dimension).astype(dtype=np.uint8)
vptree = pynear.VPTreeBinaryIndex()
vptree.set(data)
data = pickle.dumps(vptree)
recovered = pickle.loads(data)
String serialization
Sometimes to check state of tree is interesting to be able to print the whole tree including information about the size and balancing.
By using to_string()
method one can print the whole tree to string. Be aware that this method is really slow and should not be used for any performance demanding tasks.
print(vptree.to_string())
Output:
####################
# [VPTree state]
Num Data Points: 100
Total Memory: 8000 bytes
####################
[+] Root Level:
Depth: 0
Height: 14
Num Sub Nodes: 100
Index Start: 0
Index End: 99
Left Subtree Height: 12
Right Subtree Height: 12
[+] Left children:
.... Depth: 1
.... Height: 12
.... Num Sub Nodes: 49
.... Index Start: 1
.... Index End: 49
.... Left Subtree Height: 10
.... Right Subtree Height: 10
.... [+] Left children:
........ Depth: 2
........ Height: 10
........ Num Sub Nodes: 24
........ Index Start: 2
........ Index End: 25
........ Left Subtree Height: 8
........ Right Subtree Height: 8
........ [+] Left children:
............ Depth: 3
............ Height: 8
............ Num Sub Nodes: 11
............ Index Start: 3
............ Index End: 13
............ Left Subtree Height: 6
............ Right Subtree Height: 6
............ [+] Left children:
...
Notice that this output can be very large.
Benchmarks
To visualize, customize or regenerate the benchmarks as well as to see benchmark results, see benchmarks session.
Development
Building and installing localy
pip install .
Running Python Tests
make test
Debugging and Running C++ Code on Unix
For debugging and running C++ code independently from python module, CMake config files are provided in pynear/CMakeLists.txt. For building and running C++ tests run:
make cpp-test
Since tests are built in Debug mode (default CMakeLists build mode), one can debug tests with gdb using built test binary:
gdb ./build/tests/vptree-tests
Debugging and Running C++ Code on Windows
Install CMake (for example py -m pip install cmake
) and pybind11 (py -m pip install pybind11
).
mkdir build
cd build
cmake ..\pynear
You may have to specify some arguments like the correct generator -G "Visual Studio 15 2017 Win64"
or paths for Python -DPYTHON_EXECUTABLE="C:\Program Files\Python38\python.exe"
and pybind11 -Dpybind11_DIR="C:\Program Files\Python38\Lib\site-packages\pybind11\share\cmake\pybind11"
for CMake to work correctly.
Build generated files using Visual Studio (or whichever generator you chose) and run vptree-tests.exe
.
Formatting code
make fmt
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
File details
Details for the file pynear-0.1.1.tar.gz
.
File metadata
- Download URL: pynear-0.1.1.tar.gz
- Upload date:
- Size: 29.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e8e488f613e726f19270e809d89125bae78202a4d3569ac83f0c123eeb92778 |
|
MD5 | d133b38c929bd0259da2be6425bb9250 |
|
BLAKE2b-256 | 1aedf3db588acfd74da00dd075ca7077d556fd294a5d23315c89a07d5f0c6019 |
File details
Details for the file pynear-0.1.1-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 157.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | abc6f60c841e8c5e74529b22f3dc5581ae73d663c1142418f8c0042b9661da4a |
|
MD5 | cf340358b264f25b3e5c8a2d11e53b16 |
|
BLAKE2b-256 | 1318981a5fba1fbf42dddf18e52fdf95d63f92b0f3fbd334dd6f9c853203fc0a |
File details
Details for the file pynear-0.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 837.3 kB
- Tags: CPython 3.12, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d845cd5b934156830c1193d904315f75b1621e5a9f4af89e983d0194fd4e18db |
|
MD5 | b0c6d1bca9e460c0ed068c4b0ea2e9e1 |
|
BLAKE2b-256 | 0911be2713a57338c83245a4b2e7fbce1fbcbb8d347e8598a0db3fac7d5deb3a |
File details
Details for the file pynear-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 332.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdd5d944b1578d2c7fa49c4d26fcab02b5a92695395e52bc62c9ffb0ef5eec11 |
|
MD5 | 8340ef30652e82a4af24c2cfdd3a1e98 |
|
BLAKE2b-256 | 80f4fc5734b69538d1a0f87e7194d46e7f82fac639192219e301af0b6bd08f17 |
File details
Details for the file pynear-0.1.1-cp312-cp312-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp312-cp312-macosx_10_9_x86_64.whl
- Upload date:
- Size: 570.7 kB
- Tags: CPython 3.12, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e332088565042a54da97ebc9cdd2605e4a9039ca4bb10a6a56f1bbbe0c39247 |
|
MD5 | 1ad077b42a5a975eb8c4c9436f21c1dc |
|
BLAKE2b-256 | dee85c55e1c4e6fc8c84fdce9f419a4992d4f085224ed148d813cd792eac37dd |
File details
Details for the file pynear-0.1.1-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 157.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 406683addb9826cbed14921cd580b34554dc4ef8dafab2b181ce39679cfdfdb7 |
|
MD5 | 3a8e02bdc19b38ec2efb8086bf80e3d0 |
|
BLAKE2b-256 | da5fa6ef52c15b55eb5b44359cc8e876672f544837d9137e57d73125cbf4e40c |
File details
Details for the file pynear-0.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 840.9 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a17d3ab9148c50c225e9544645f287987aa2e0c0d06472c3eb9c59b4da4d1d1 |
|
MD5 | 92c6ecbda8137349ea74106322e2e994 |
|
BLAKE2b-256 | 1472651fe6cf25eb1bfbfdd0618f9e2c26e60ebe60ffe602525a019262fccab5 |
File details
Details for the file pynear-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 333.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06a367d1654fbbda7ce95ba7783f1344448d3272514b80afca9461ac201de85e |
|
MD5 | 7be258d730484fbcd3f27aaae232ff45 |
|
BLAKE2b-256 | 4d89e78a60c70cc71450aa2c55e523a7e51677375946d82a3b2e19d416b7d2e9 |
File details
Details for the file pynear-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 570.2 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 098f3c008543bf9ecf12d004a6e24f8a47f8fa56869c2cceb78d9de376878de6 |
|
MD5 | 47df7f3019c60a70b55fdd12f5d79109 |
|
BLAKE2b-256 | deec7782f453f7b27f545a21d5aaf16d39eaf4e19c035e6346707eb65705fb30 |
File details
Details for the file pynear-0.1.1-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 157.1 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4347f80028d3143713c1bf514a4619a6c63781ba16a9dd04a35cf7805d6d1ca |
|
MD5 | c04b29e17042865e71a9d76ea6c5024b |
|
BLAKE2b-256 | a23f6822fdb05c81cdcb1dc3bf9ca7d90c8dabc02e689faf6908431a913bbfd9 |
File details
Details for the file pynear-0.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 839.7 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1288aed231b9813e6af772674821a8629c46a50c665a719cf9621c7a99653434 |
|
MD5 | 721e571f4b18ccd5f1de417071514dac |
|
BLAKE2b-256 | 5cf0b367766c5cd118fbdfe8f153a0512a4e946d4f78b4121665a63144e7db64 |
File details
Details for the file pynear-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 332.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad4cece19bf77c9a7aba063ec4115d7e719a28b67cb1732e22b95f8ccc271ed1 |
|
MD5 | ddf0bb59c3d184019d3bb8d25ed9dec3 |
|
BLAKE2b-256 | 972a8625277e9ca224e24e768de9c41ebdff70516c046223fc4037f4f1647113 |
File details
Details for the file pynear-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 569.0 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1fad817ae091ea9ac7cc88ff6ed8f02dbcf19ba14be7e2db93689e6ed739994 |
|
MD5 | 33472197764bcf0cfb0e24d3223d0ef4 |
|
BLAKE2b-256 | 7fb076be91ca107fc08bd362153e0bb6043777a7c534170c1b2149354938bdc8 |
File details
Details for the file pynear-0.1.1-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 151.9 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a70c8578404113053be013357fea6792487eca08b31e7a06465ea65da395d73b |
|
MD5 | 3a990ad346b9e6be85129da573349f53 |
|
BLAKE2b-256 | dcb3f22dae0106bf04a17821f889827207aad31bd86cdabe8acb2163d8fdd7fa |
File details
Details for the file pynear-0.1.1-cp39-cp39-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 840.7 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4062c81c4fef5353101940c3d25da250d51e9fca42b01c68606488b4d7cc11d9 |
|
MD5 | 0f91399a16cba82ced34da3391ad067e |
|
BLAKE2b-256 | f951047e64a1a81b8b455b0ef1d700aba0316500baf4acd8d1e8374ac97d79a1 |
File details
Details for the file pynear-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 333.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d8e07abf946b27ee66b282672d8f273a0d00c0b5b29561294e5588e7f4fa182 |
|
MD5 | dd009356d67879e5b282f13a40926e76 |
|
BLAKE2b-256 | f5c9ba251168853097621ca14685089e783f384341a3fd17db7779c57f2f5d5c |
File details
Details for the file pynear-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 569.1 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 581253fa23bab185d2338241062fe94a1095f5955acfb64809e4a1d3accbd879 |
|
MD5 | cd5ae9c037fc50cdd4c6361d692d9752 |
|
BLAKE2b-256 | 126c4b66b7fad9f02e3fd9f07257efaf4e2237849658d2c989665663d7ac6494 |
File details
Details for the file pynear-0.1.1-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 156.9 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd5a2f71f3539715244af1ab05d70056e0e9481217c1843b07e69b72931aa1d |
|
MD5 | 6bd1a85a27cc6673de1eb0a3be59fb0a |
|
BLAKE2b-256 | 221e6e494791b46a6fa64b2850d63959dc193b2acb4a9471a60897ebd5951f7b |
File details
Details for the file pynear-0.1.1-cp38-cp38-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp38-cp38-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 839.9 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5928e40a3ea5fa84e4b6bf79cd1363e2a4c26d9cc10787d2a472d2b373935c5f |
|
MD5 | 6dfe786227edb41f0af2444718514f12 |
|
BLAKE2b-256 | 3d607bb314240c85066196457d8aa5357e7b4ee263dce708236535acd6b3b7a5 |
File details
Details for the file pynear-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 332.5 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18810a1fda41702fb0da62409460ec923e5de09ba103f792ff821a986e66d8da |
|
MD5 | 8264b70c7bc6035db7d86cb8edea633f |
|
BLAKE2b-256 | c10fd72cf291dcc507a808382a5b657b9e292baac0be21e0de5fa8c776896bb4 |
File details
Details for the file pynear-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 568.8 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c18e28904a08f7eff6123272bb8cc0a5f4f67e8e19f45d867b1115d6eb208624 |
|
MD5 | fdf9aed0c596f00166950b992b651408 |
|
BLAKE2b-256 | 0ee8c61e3f15331ea87ce3107fad376cce2b5edfe256a9f9e6e6a862f431db40 |
File details
Details for the file pynear-0.1.1-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 155.5 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31cfbca1936cbd3d69ff8c5e32aefd042be03f9cdd9580a1ab7767414c2bd12a |
|
MD5 | 7f2f151a1de8de17422b1c8c67cfbb42 |
|
BLAKE2b-256 | 068706c37b5fa398d5661965c9f0ad55458263d0b4ffb4e247cf1375c8ab37e3 |
File details
Details for the file pynear-0.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 844.5 kB
- Tags: CPython 3.7m, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33e43882b7ab03ad2727b84d3b99c9ca77586844a1b5f8d12e68eb9a3ceae8c9 |
|
MD5 | fd0bdd9f4e32bdbbfd6a47cf4b94b898 |
|
BLAKE2b-256 | faf5e66cf09dc2b2abbc3001d86be8fd5012b3c78919140a402f12094ff4ed1a |
File details
Details for the file pynear-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 338.9 kB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 480a8b4fd7c2268004fd6251c348cadbf2eb3c8871d15ebfb964d5a3b27dd37a |
|
MD5 | 3de98b3bce3f07e5e09076f3c84c3d98 |
|
BLAKE2b-256 | 884a75466593cd91de290b5d1641b68b57becfaecbed41a85c2b21f8eefc0e4a |
File details
Details for the file pynear-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pynear-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 567.7 kB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b58e005f640b3280104e6ad3d33b7ccf8e8d640449f76488763afe1491b4234 |
|
MD5 | 876c4ce6610591f719b7e2e789938ba2 |
|
BLAKE2b-256 | eaa7c7ee818de9a456f22d148d8e233d738c7d67826dce335eab938080e0fb42 |