Implementation of bencode with optional fast C extensions
Project description
fastbencode
fastbencode is an implementation of the bencode serialization format originally used by BitTorrent.
The package includes both a pure-Python version and an optional C extension based on Cython. Both provide the same functionality, but the C extension provides significantly better performance.
Example:
>>> from fastbencode import bencode, bdecode
>>> bencode([1, 2, b'a', {b'd': 3}])
b'li1ei2e1:ad1:di3eee'
>>> bdecode(bencode([1, 2, b'a', {b'd': 3}]))
[1, 2, b'a', {b'd': 3}]
The default bencode
/bdecode
functions just operate on
bytestrings. Use bencode_utf8
/ bdecode_utf8
to
serialize/deserialize all plain strings as UTF-8 bytestrings.
Note that for performance reasons, all dictionary keys still have to be
bytestrings.
License
fastbencode is available under the GNU GPL, version 2 or later.
Copyright
- Original Pure-Python bencoder (c) Petru Paler
- Cython version and modifications (c) Canonical Ltd
- Split out from Bazaar/Breezy by Jelmer Vernooij
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 fastbencode-0.3.1-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0210e3edad635c329da211adaa73ab3e0b4a6e150e6e94b3d2d7285aa7497f5a |
|
MD5 | 7d476b17040a912b8c486179c061ed8f |
|
BLAKE2b-256 | 14aaea5d94d62b3817bb1af110c91c61a4b8831808845f7030d6ad21587c3cb8 |
Hashes for fastbencode-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9582478db427a7cbdcd31e87462458c3b9799f2b93ffdafdc6d62d7f278e0b2f |
|
MD5 | cf98fdd5685e8e3cc3b5061eee2a7b44 |
|
BLAKE2b-256 | 5d87fd2b9719a77fb219ec5c3b3da1b40d33360d4bfc96cf95a542ff9a974ebc |
Hashes for fastbencode-0.3.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29c39f302222ae23d70ba744b34a548afe1543752efb179c74d086f7c2718481 |
|
MD5 | ec2ad7015896f86588bd90e71f6b411d |
|
BLAKE2b-256 | 6379557f1f5756b8a68d576283f51585bdf1fb25fb189bed4a00b6193f3420e1 |
Hashes for fastbencode-0.3.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f290fff964e192b986dcf7817771cd83c6f2abf0eaa85df346e6ba30ed625405 |
|
MD5 | ce84edec9bc6d7599db6dac4ee749ca9 |
|
BLAKE2b-256 | 67e504dbe64fb75f0c0fed68efb976a5981899cd0c8e602563e5785b83aab508 |
Hashes for fastbencode-0.3.1-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 394fc464582ac0bcb2f19ee02897de1733fd6a40c650d076035b5b52ea6a6509 |
|
MD5 | c7fea9633d09b62bd34d08715bb26345 |
|
BLAKE2b-256 | bee2849fcc8998ce8e0a17eb562da043d27516de819a3ee862b0d14d833bdae0 |
Hashes for fastbencode-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb8555770f21c8a7fc8c6616fd23e5de53e57c141432712281c45df785e3f4a5 |
|
MD5 | ad53ca04e5e6f3d2924f614d500c2def |
|
BLAKE2b-256 | ca579222f06676c30d64d600c4fb5cf06cce7afd3356263d580f4dbdcf817690 |
Hashes for fastbencode-0.3.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 602fc6b69f645b35bc77abf73c06e6b9eece47183c00e8f61dda2e913c621405 |
|
MD5 | 5a65c5a747c80119eb5360560901fa5d |
|
BLAKE2b-256 | 449cf47ab717edac0f410131cad57e4c56f25686e044e69ee9fc666b78e0d69f |
Hashes for fastbencode-0.3.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ed75f95adba7009df787b241616a639f93f24346beaa047ad64aec5f2aa7078 |
|
MD5 | 9af0d57efc227a9a8869b1f16ed9bd4c |
|
BLAKE2b-256 | 24b961d062dfc6d200dc752dcd3804696a4666e9cedc483a6b2cae0cbe066e18 |
Hashes for fastbencode-0.3.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e6edc76af8864db5fb0c4fcbb3b8f104e5bb0eef27bc652dab4e292502080f1 |
|
MD5 | ec25e62be849e7ce7ef2c751fd3149bb |
|
BLAKE2b-256 | 7f0a1514f60453e93b781b597c53bc3f38669ff8c5b196e2804ee6fbb7319c8c |
Hashes for fastbencode-0.3.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1fb60f0de4d63496ed9094df3aeb7e85b8525d154d32c12362b2c0c1936aad3 |
|
MD5 | ca6a81ae42067e8fcfd68ba2dbbebb2b |
|
BLAKE2b-256 | 61e0e75da541ed18a9179d92f7a8980a57eccacc49ed80c694cf7b55915e9f92 |
Hashes for fastbencode-0.3.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2836022597967f707a24f03a862389c674458829b0a3f4642ec5656ea5a3cc87 |
|
MD5 | e5278ad81ff65be97b64d5e7558fde5e |
|
BLAKE2b-256 | fea140548e432692a0d53afa9b112c9bab8af0c85201625f267f1371826b8762 |
Hashes for fastbencode-0.3.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1412ab4ce780f24a761fe8844b456fe44d5deb335e3f5e4f54f90b6adabe1745 |
|
MD5 | 05a0e9bc0c86bdc96376df15f9202e5c |
|
BLAKE2b-256 | bb4e4683387bf881268867fde98907ed641745468454be7238c95f6b793ee322 |
Hashes for fastbencode-0.3.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e37298666f22c3c2633cb7ec4d6944d15dce5220195010a29c34ddfe724cb2 |
|
MD5 | f539079a54177ac3d4587406f77edc40 |
|
BLAKE2b-256 | 3a5e354d8d577688eec29a0b9cd5c2761a0de9559fe5f1abea9a6342e7783504 |
Hashes for fastbencode-0.3.1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a3ed76eb21a47ed47f0a5fc9e1212d41c061b4dbbc61534b7d901e7497783c2 |
|
MD5 | 2c4838d8af05312bdf5774b50770fffe |
|
BLAKE2b-256 | 8afaf1d64d3cc85eb691c72bf85ed00f717575b6bb39e576331eec90d186d7f3 |
Hashes for fastbencode-0.3.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acaf394a134d9fd673f5cbcfff9b68bf58bbbd0068a0ae29da89be63d9ca4ff7 |
|
MD5 | 97e7a81778430d7355aefa49ece26784 |
|
BLAKE2b-256 | a31fa3474f936d06d340b82222412b29b8439cc181b352f51cf629bd4424baca |
Hashes for fastbencode-0.3.1-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732055799e63f01d3cfe07a441b878f18a0b03152a0a3033c57898ef974cddd4 |
|
MD5 | ed36421a2c824c47727ce6e7715dc0eb |
|
BLAKE2b-256 | 3f48a9122b9b6456252004c7aa9fd8a8c1d9ab86ce7f2bdb09c8c78d2a34acc3 |
Hashes for fastbencode-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00cb8f4ced3666c5502b485ad30a995b0b19bfc680e06f995cfe3ada3af0adf9 |
|
MD5 | 4e2cd0bd67a9cb5422d0897f9fbb5122 |
|
BLAKE2b-256 | e606be885b47273f81900aeac9aeb46408597a44ea8c1cf61628bb4031894293 |
Hashes for fastbencode-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c4eb98e76e03619606c2f50bb15a9fc2095a522108c5d42a0403c63dfba2815 |
|
MD5 | 667b905ad9ee1e852875f4dedafa0b1d |
|
BLAKE2b-256 | 4369fc5539d890006117ca392c48428bd4ac04067c664d5d0788602476f010ab |
Hashes for fastbencode-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad93859aa3fea405e0fff64f02efacc98cf0ecb4a6ef297836db66496ae5c0fc |
|
MD5 | 0d7b3d5c59f293815c51c127166aed75 |
|
BLAKE2b-256 | a199617d761779d83d088177c68be3a416765b50e5e8f90c9fbac88208f06363 |
Hashes for fastbencode-0.3.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aba03657b832526df330fe22d5b30691db1978ae9f6a50a2b516e1fce49c701 |
|
MD5 | 3d7917549cde43784308bd9a95a2a7d9 |
|
BLAKE2b-256 | b2c711b9ae3822a5cfda92312e14c2990379256a6634032412b7bbc4443f0f53 |
Hashes for fastbencode-0.3.1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b5454df8b658b3f669bbce679529a91577bfae1b4e1720e5081fbe0ff77e231 |
|
MD5 | a2e63036f73fefc4995305eb9fbf2f78 |
|
BLAKE2b-256 | 35e2645f1fba6a4166d65818195107b9d0e86e509b4f3c34f6e94150a66cd908 |
Hashes for fastbencode-0.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f271f21b380e8c3648c5d878295f33c1f03d78148e0c78a7e8b300817bb13f6 |
|
MD5 | f54bb3507a946e3ca7eab9bf3aadff24 |
|
BLAKE2b-256 | 9873245e94cb1a8e84f52c498f24837583362e072ab937e7a742f5639490fcbf |
Hashes for fastbencode-0.3.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c8009ee8ff59e985546585b39e97c97655184e00aa54c0d4c54deb226a091b |
|
MD5 | 0c6e3cc276f083ed54f0a63ee3db6157 |
|
BLAKE2b-256 | 95921d5389d50f08573d579028663499edc22be73c66ce57f5e76794dbb145e7 |
Hashes for fastbencode-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c54e13bb75b6389224839a899738ab32d233f9eec8995bae7e47e81a135697b |
|
MD5 | 4d521f4f8ac56c5dd65765a74e72a191 |
|
BLAKE2b-256 | 7e0383e909a43b695e410da80298982f3169c2e4f8ab90c14a2307b17705c26b |
Hashes for fastbencode-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7bda7b6e332010ae6dcb93a8010cc559c4c643b996b90f3b7e4002d3f90538 |
|
MD5 | 4c40a139cb1b8d93f1a894eb4eec40a0 |
|
BLAKE2b-256 | 11921cab8f2f771f4d324654deab642723bfd6147dc741fc793ba3b6b2c27301 |
Hashes for fastbencode-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea3e717bd9d10139dcb73ff932ac3d3381d9064711c41851dae00b4714829c33 |
|
MD5 | 9924c37d326ee74ac12d41f1933b0b1c |
|
BLAKE2b-256 | 9abc285b2359f9c9ae16f23d234c6650ad5975160df23886d6bd73eadccf782e |
Hashes for fastbencode-0.3.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f71f1d34cf0cccfca1502c1d029041e50087116080a99c76275a928c1d5c52b |
|
MD5 | 5b28f47fe52070d19c2c3093b13e6ebc |
|
BLAKE2b-256 | 43634b0091f3e328f5841c8deef5d87156589d8494ffb1978ac0d5d1d3a50414 |
Hashes for fastbencode-0.3.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f7890d8846df890e946d0f0ddd4504cce4a9289dbf66791e9b6f4a606d59ba3 |
|
MD5 | fba51fa290b76314cec09b6114b5e45e |
|
BLAKE2b-256 | d53f2c3a2a15a5f10c6ab6b2e1d28d38a0280478f4f65dd55dd4e49a0d3c737c |
Hashes for fastbencode-0.3.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa30e0b704821fb6effdcd88d0f258b239daaf0b28283752d92e95906ae026f |
|
MD5 | 3f16a71e14efcb760e4d8b0f72d86062 |
|
BLAKE2b-256 | 1e941273bed46626c15d08301d93394184fb5995655d730f421195c06365d0e5 |
Hashes for fastbencode-0.3.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e05022a4f70ebba053263b6e9e4dea5ff32dfaf100fe42d84e980579e2b4e5a7 |
|
MD5 | ba2271d61d68f0ce3902658d120d9fc2 |
|
BLAKE2b-256 | 364ae37a73db5c1f74bc836022a3e65d87cf551e858f9f0af31985a3559cb33b |
Hashes for fastbencode-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f67f3a505b0ed6b6679e47cb1b9bd4a15806cb22bc9029ecd644170b7441ea |
|
MD5 | 7347a13ac0646401bbd9b1bee81aa974 |
|
BLAKE2b-256 | c064017d2bea6b7a66555db8ef74f1c669c27075752f696c649bd80794c056c7 |
Hashes for fastbencode-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4243ed6afe9d22a3b4f55455adbe86ad6a9578dff0b443c749cd05e9c9b29b9 |
|
MD5 | 880493989e258dde533c65350367cec3 |
|
BLAKE2b-256 | 04b1cb6f9c661cd9343c4aa6647fa35cb2643b7a9702a1354dfdf9669df255c0 |
Hashes for fastbencode-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4dcb993060efc5d63bc33e22968008fd38d803b0a2d71d4256e96c372d6d6c0 |
|
MD5 | 9106790c404dcb42fe33613ecf9ac86a |
|
BLAKE2b-256 | 2d5c443ce69fcbab4b766a880e4eab8c82275c09df6043de49d85e0185acd96d |
Hashes for fastbencode-0.3.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c2b91bd74440daa014247044a710e6b09c91422aef3a61dba44c81eaf901528 |
|
MD5 | c0746225c77be3bdcb4f6236c910d6cf |
|
BLAKE2b-256 | 0e607c5c4182994949721797174e8062528b875d7512d136f969dfbc37018671 |
Hashes for fastbencode-0.3.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfa82208b7973c43ad22bde7ac2eb3ac8d344afab30f1faa7b2e8aec258c3228 |
|
MD5 | ae0b36e6ffdf1d46c9aed4b0bfa5cffb |
|
BLAKE2b-256 | a81ee4ed2834e49c86c068672d3fc593d986b0b437c44e73cc039e55cbcaa2af |
Hashes for fastbencode-0.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 298d2c626971eb31a0257e9967119f0bf189142eec2fe9f074a875a470e27ea7 |
|
MD5 | 35b794a463926975a6a55d06956f907d |
|
BLAKE2b-256 | 7a3fe01442d63c1fd0d376e628296c4d2cc21cc15d9808a1b76c3c6af4800425 |
Hashes for fastbencode-0.3.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac36068795c9c548dbda9df206a1afef828bfd797d34b7d9c506c762337c6afa |
|
MD5 | e66e7a448b2afc9f6ea52da3e99899bc |
|
BLAKE2b-256 | 253cdafe7e68e74b4311f40de625ff76637b9eb4be8e2a4131b4fc91b8c0dd5f |
Hashes for fastbencode-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f183d93c67f7c3acc452b1d7657f1ed914ef5489b2dae1796b342cc6b32d80a2 |
|
MD5 | 3b7ad508ba979b6d7c733db4428fce94 |
|
BLAKE2b-256 | c805d58cd072daa605b62d73b92572595ae0f64700c2e6b15155863c73bb4bcd |
Hashes for fastbencode-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74e89bc94897ece06c6ebe25a861ca2c1a30f4112df0c4e7a014025e99ccb02a |
|
MD5 | fb2c601d5c5c6cf4342e50d37e9ad3af |
|
BLAKE2b-256 | de3e0be7d890a4e7bb5d6ad9f08430644b2f43dbcc6c46798a8a8547ffe77748 |
Hashes for fastbencode-0.3.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2115ea30fba619f576c5179d98c8c833701189d430dfa641bf66385297499ed1 |
|
MD5 | b329109fc9fc68e453bd2498adb1926a |
|
BLAKE2b-256 | 450397dc9215d22544bb3842fd274a8b2f0963c961f7694ad506ca36d49cfdce |
Hashes for fastbencode-0.3.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f50fe4e99efb4d260bdbc5fc3d58800181376e9fa20f9fbb2abd76baee5db5e |
|
MD5 | 5f1597d64dda788c4b554c591d9d2042 |
|
BLAKE2b-256 | 02c33f797e3544144101378ea819709d97ba6e422e3fcab45d73d07b5fa84388 |
Hashes for fastbencode-0.3.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a91b9c3221e24bd2fbcb5b22242e4368eb564785c5e6dc4725fcd73e21ede764 |
|
MD5 | 63333a2ba5eafe6faa58f7c6fd16f4b2 |
|
BLAKE2b-256 | ee55a818fa826b4c37fb4b5d261485c8a4e40f6c6c6db8fba129b20ff8d4034e |
Hashes for fastbencode-0.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd320cb91747231ec136e890db520ef376ccfe8d9e3c323c6394dd7eaa270a18 |
|
MD5 | fa6a2fc971996a93cf1a0e9ceb6ad388 |
|
BLAKE2b-256 | d7cea7add86cedcacb3515d85df59b5696accfb63c8764413c4d77505c947864 |
Hashes for fastbencode-0.3.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da9f97b50cd60f04141bb032c598f4bc30ebb08a0ff7438812c9bfc80aa56de9 |
|
MD5 | 088561707c18164c7a4e3039d315820a |
|
BLAKE2b-256 | 3b9500847a545678fd16cc71d23b56393259c2b89dbc1ef0b19579509aa48d1a |
Hashes for fastbencode-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58db1b14024426f59262c325bf68b8b3be5e08db8e92c8779f967a7dc15a02b0 |
|
MD5 | 156b62a85cf2e320a7ec68d4fee2ce6c |
|
BLAKE2b-256 | 7b2357a728fa606b666be9d6c95c440889cf648d50db27b1c47cfe5dd2cf35bc |
Hashes for fastbencode-0.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 830b4c4e004fa11906db8e5a77c2485deff978b7fdf0884f6aae6df4cc2441fd |
|
MD5 | a28381cb1c219a22118fc9acc2d3f571 |
|
BLAKE2b-256 | 0678924adc79c679d2f5312a0cf1f1cba1f952ebb2fa5739313c3c0d2cd740f5 |
Hashes for fastbencode-0.3.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d50e7d00b9c1685009452da5d69ee47732e202c77e2f540202e60b1124208945 |
|
MD5 | e9da7cfc387122d349d9f29cc8d551cf |
|
BLAKE2b-256 | 54a0815783ebc93bb93c4a71a7c2707d1f8ddb9b20bb7247fcc3d9f249b11224 |