unitarylab
A Python toolkit for building, simulating, analyzing, and compiling quantum circuits.
面向量子线路构建、模拟、分析与编译的 Python 工具包。
English
UnitaryLab provides a high-level Circuit API for quantum-circuit construction,
simulation, analysis, visualization, interoperability, and hardware compilation.
It supports dense statevectors, matrix-product states, and density matrices.
Website · Simulator User Manual · 中文
Installation
UnitaryLab requires Python 3.10–3.12.
pip install unitarylab
Optional components can be installed as needed:
# CUDA 12 C++ backend
pip install "unitarylab[cuda]"
# Quantum chemistry workflows
pip install "unitarylab[chemistry]"
The main package supports Windows, Linux, and macOS. The CUDA extra supports Linux x86_64, Linux aarch64 server environments, and Windows x86-64, and requires a compatible NVIDIA driver. The chemistry extension currently supports Linux and macOS.
Bell-state quick start
from unitarylab import Circuit
circuit = Circuit(2)
circuit.h(0)
circuit.cx(0, 1)
result = circuit.execute()
print(result.probabilities)
The probability mapping contains every computational basis state:
{"00": 0.5, "10": 0.0, "01": 0.0, "11": 0.5}
Displayed bit strings use little-endian qubit order: qubit 0 is the rightmost bit.
Core capabilities
| Area | Capability |
|---|---|
| Circuit construction | Registers, standard gates, controlled gates, measurements, and reusable circuit blocks |
| Statevector execution | PyTorch, NumPy, native C++ CPU/CUDA backends |
| Tensor Network execution | Matrix-Product-State-based TensorNet backends |
| Mixed-state execution | Density-matrix simulation and built-in noise channels |
| Results | State, probabilities, marginal queries, sampling, measurement, counts, and expectation values |
| Circuit tools | Drawing, analysis, transforms, optimization, and transpilation |
| Interoperability | OpenQASM 2/3 import and export, plus unitarylab native Python source generation |
| Hardware | Local compilation and provider-neutral hardware submission |
| Algorithms | Quantum transforms, simulation, linear solvers, equations, and Schrodingerization |
Common workflow
Create a circuit, add measurements when classical results are needed, and choose the number of independent execution shots:
from unitarylab import Circuit, Register, ClassicalRegister
q = Register("q", 2)
c = ClassicalRegister("c", 2)
circuit = Circuit(q, c)
circuit.h(q[0])
circuit.cx(q[0], q[1])
circuit.measure(q[0:2], c[0:2])
result = circuit.execute(shots=1000, seed=42)
print(result.counts)
print(result.classical_results_map)
print(result.classical_registers)
countsaggregates classical bit strings from all shots.classical_results_mapcontains classical-bit values from the final shot.classical_registersgroups final-shot values by register name.stateis the dense final-shot state;backend_stateexposes the native backend representation.
For state inspection without circuit measurements, execution results also provide targeted probability queries, marginal distributions, non-collapsing sampling, projective measurement, and normalized observable expectation values.
result = Circuit(1).execute()
print(result.probability("0"))
print(result.sample(shots=8, seed=7))
print(result.expectation("Z"))
Pauli-string characters correspond to the supplied qubits in order. This operator order is separate from displayed probability strings, where qubit 0 appears at the right-hand end.
Backend compatibility
| Backend | Device | Notes |
|---|---|---|
torch |
cpu, gpu |
Default backend with broad compatibility; GPU uses a compatible CUDA or Apple MPS environment |
numpy |
cpu |
Dense NumPy statevector and a convenient NumPy-native result |
cpp |
cpu |
Performance-oriented native C++ execution; generally preferred when speed is the priority |
cpp |
gpu |
Performance-oriented CUDA C++ execution; requires unitarylab[cuda] |
tensornet |
cpu |
Tensor network execution for low-entanglement circuits |
execute_density() |
cpu, gpu/cuda |
CUDA devices require unitarylab[cuda] |
Choosing a backend
- Start with the default
torchCPU backend when broad compatibility and a ready-to-use environment matter most. - Prefer
cppwithdevice="cpu"when execution speed is the priority and the native extension is available. - Prefer
cppwithdevice="gpu"for the highest-performance supported CUDA path; installunitarylab[cuda]and use a compatible NVIDIA driver. - Use
numpywhen a NumPy-native dense state or minimal backend integration is more important. - Use
tensornetfor larger, low-entanglement circuits where an MPS representation can avoid a full dense statevector. - Use
execute_density()for mixed states and noise models. Density-matrix execution does not currently provide circuit measurement or shots/counts.
Backend selection is explicit when needed:
result = circuit.execute(backend="numpy", device="cpu")
result = circuit.execute(backend="tensornet", device="cpu")
density_result = circuit.execute_density(device="cpu")
Circuit analysis and quantum computer task submission
The high-level API includes circuit drawing and analysis, structural circuit operations, local optimization and transpilation, OpenQASM 2/3 import and export, compilation, and provider-neutral hardware submission.
circuit.draw()
info = circuit.analyze(show=False)
optimized = circuit.optimize(optimization_level=1)
transpiled = circuit.transpile(basis="default")
qasm = circuit.to_qasm()
Real-hardware submission requires provider API token and may require a machine identifier or vendor SDK:
TOKEN = "your-provider-token"
hardware_result = circuit.submit(
provider="guodun",
machine="gd_qc1", # Guodun "Xiaohong-1"
token=TOKEN,
shots=1024,
)
Confirm the provider, target machine, credentials, and possible quota or charges before submitting a real hardware task. See the online manual for provider-specific requirements.
For complete API signatures, backend behavior, noise semantics, hardware provider requirements, and algorithm examples, see the Simulator User Manual.
Documentation
- Quick start
- API overview
- Core circuit interface
- Execution and tool workflow
- Algorithms and utilities
中文
UnitaryLab 通过高层 Circuit API 提供量子线路构建、模拟、分析、绘图、
互操作和硬件编译能力,支持稠密状态向量、矩阵乘积态与密度矩阵模拟。
安装
UnitaryLab 支持 Python 3.10–3.12。
pip install unitarylab
可按需安装可选组件:
# CUDA 12 C++ 后端
pip install "unitarylab[cuda]"
# 量子化学工作流
pip install "unitarylab[chemistry]"
主包支持 Windows、Linux 和 macOS。CUDA extra 支持 Linux x86_64、Linux aarch64 服务器环境和 Windows x86-64,并要求兼容的 NVIDIA 驱动。量子化学 扩展目前支持 Linux 和 macOS。
Bell 态快速示例
from unitarylab import Circuit
circuit = Circuit(2)
circuit.h(0)
circuit.cx(0, 1)
result = circuit.execute()
print(result.probabilities)
概率映射包含全部计算基态:
{"00": 0.5, "10": 0.0, "01": 0.0, "11": 0.5}
显示的比特字符串采用 little-endian 量子比特顺序,qubit 0 位于最右侧。
核心能力
| 方向 | 能力 |
|---|---|
| 线路构建 | 寄存器、标准门、受控门、测量与可复用线路块 |
| 状态向量执行 | PyTorch、NumPy、原生 C++ CPU/CUDA 后端 |
| 张量网络执行 | 基于矩阵乘积态的 TensorNet 后端 |
| 混态执行 | 密度矩阵模拟与内置噪声通道 |
| 执行结果 | 状态、概率、边缘查询、采样、测量、计数与期望值 |
| 线路工具 | 绘图、分析、线路变换、优化与转译 |
| 互操作 | OpenQASM 2/3 导入导出与原生 unitarylab Python 源码生成 |
| 量子硬件 | 本地编译与统一的真机提交接口 |
| 算法 | 量子变换、模拟、线性求解、方程与薛定谔化 |
常用工作流
创建线路;需要经典结果时添加测量,并通过 shots 指定独立执行次数:
from unitarylab import Circuit, Register, ClassicalRegister
q = Register("q", 2)
c = ClassicalRegister("c", 2)
circuit = Circuit(q, c)
circuit.h(q[0])
circuit.cx(q[0], q[1])
circuit.measure(q[0:2], c[0:2])
result = circuit.execute(shots=1000, seed=42)
print(result.counts)
print(result.classical_results_map)
print(result.classical_registers)
counts汇总全部 shots 的经典比特串。classical_results_map保存最后一个 shot 的经典位值。classical_registers按寄存器名称组织最后一个 shot 的结果。state是最后一个 shot 的稠密状态,backend_state则保留后端原生表示。
未在线路中添加测量时,执行结果还支持单项概率、边缘分布、不坍缩采样、 投影测量和归一化 Observable 期望值查询。
result = Circuit(1).execute()
print(result.probability("0"))
print(result.sample(shots=8, seed=7))
print(result.expectation("Z"))
Pauli 字符串中的字符按传入的 qubits 顺序逐一对应量子比特。该算符顺序与 概率字符串的显示顺序相互独立;概率字符串中 qubit 0 位于最右侧。
后端兼容表
| 后端 | device | 说明 |
|---|---|---|
torch |
cpu、gpu |
兼容性广的默认后端;GPU 使用兼容的 CUDA 或 Apple MPS 环境 |
numpy |
cpu |
稠密 NumPy 状态向量,便于直接获得 NumPy 原生结果 |
cpp |
cpu |
面向性能的原生 C++ 执行 |
cpp |
gpu |
面向高性能的 CUDA C++ 执行;需要 unitarylab[cuda] |
tensornet |
cpu |
面向低纠缠线路的张量网络后端执行 |
execute_density() |
cpu、gpu/cuda |
CUDA device 需要 unitarylab[cuda] |
后端选择建议
- 更看重兼容性和开箱即用体验时,从默认的
torchCPU 后端开始。 - 性能优先且原生扩展可用时,优先选择
cpp+device="cpu"。 - 具备 NVIDIA 环境时,优先选择
cpp+device="gpu"获得更高 性能;使用前需安装unitarylab[cuda]并配置兼容的 NVIDIA 驱动。 - 更看重 NumPy 原生稠密状态或最小化后端集成时选择
numpy。 - 面向较大规模、低纠缠线路时,可使用
tensornet的 MPS 表示避免构造完整 稠密状态向量。 - 模拟混态和噪声模型时使用
execute_density();密度矩阵执行目前不提供 线路测量或 shots/counts。
需要时可显式选择后端:
result = circuit.execute(backend="numpy", device="cpu")
result = circuit.execute(backend="tensornet", device="cpu")
density_result = circuit.execute_density(device="cpu")
线路转义分析及量子真机任务提交
高层接口提供线路绘图与分析、线路结构变换、本地优化与转译、OpenQASM 2/3 导入导出、编译,以及统一的真机提交能力。
circuit.draw()
info = circuit.analyze(show=False)
optimized = circuit.optimize(optimization_level=1)
transpiled = circuit.transpile(basis="default")
qasm = circuit.to_qasm()
真机提交需要真机供应商 API token,并可能要求机器标识或厂商 SDK:
TOKEN = "your-provider-token"
hardware_result = circuit.submit(
provider="guodun",
machine="gd_qc1", # 国盾量子“骁鸿一号”
token=TOKEN,
shots=1024,
)
提交真实硬件任务前,请确认 provider、目标机器、token以及可能产生的额度或费用, 并在在线用户手册中查看各 provider 的具体要求。
完整 API 签名、后端行为、噪声语义、硬件 provider 要求和算法示例请查看 模拟器用户手册。
文档导航
License
License: LicenseRef-UnitaryLab-LICENSE. The Chinese license text is authoritative; the English version is provided for reference only.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unitarylab-1.4.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 10.1 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c96a0e3eaa4570350f22b520e61ce6ce26e6329f99f4bdc28e9e82d502c5826
|
|
| MD5 |
4faecc10ddb866a7d20fbd05edc326c7
|
|
| BLAKE2b-256 |
da35f77b73f35c784468c295d57f9c0b63cf5f7e9031e2c7d80895f9619e7213
|
File details
Details for the file unitarylab-1.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 80.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ad37b9c12002b915ff85440580857173fed7043b117c1ca24799eeb9342d5bc
|
|
| MD5 |
bef1d754b501a63eeb524ea3fcfb1231
|
|
| BLAKE2b-256 |
5dec90166f4c30e4e8e55d1dd12f4f7bcbdd87a38a38f508d42515a29211c753
|
File details
Details for the file unitarylab-1.4.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 77.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9478767ca5b02952c9dff51c4239f42893b2c1fa63722cc274f3ea5f92f4bdf1
|
|
| MD5 |
6d455499b975635cbe79e98281218391
|
|
| BLAKE2b-256 |
de4657afadb2ccda5cd35840a32dc1b5cbcfccf23b78339c8ae71525d2836f4b
|
File details
Details for the file unitarylab-1.4.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 10.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e2d29140a03089d18e80f032c78f8790c59e1aefde957b671517c3c412fe385
|
|
| MD5 |
0ad4555a6f7f20f110718684986db299
|
|
| BLAKE2b-256 |
cf36d7e7803cd2d8c5d0c659930692c36e6d92c5cd04e10434ab4247f907415d
|
File details
Details for the file unitarylab-1.4.2-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 12.1 MB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d9028f6795e76e391fca6b4e959e0033a06122b3650989d2fe501efcb7e8d63
|
|
| MD5 |
c50a83b065b91eaf2c0a0512e2755202
|
|
| BLAKE2b-256 |
657e418b1d00c52ea6c7a1c5bcc9adf023a1dc8c9817b334ccf22cc03730dd64
|
File details
Details for the file unitarylab-1.4.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 10.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
713396b2d986670109e47840fce4461ce11936b5ed9dd0e7105d7a2ab0c4ab6a
|
|
| MD5 |
f69dcf331bfbe287fb2284914f3b4e5b
|
|
| BLAKE2b-256 |
6344dcfc1213d2cbfbda5c003a715b2bd159fd63637da10f1b96780c9152720a
|
File details
Details for the file unitarylab-1.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 79.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2441d6af5c592822a5703036fa1a80cb6ac34659770ebf4a94579151bbf1ec07
|
|
| MD5 |
39b822b6d28fe096b7c86854fd008f19
|
|
| BLAKE2b-256 |
a4603059a331206b9cca08eff36d2b5b0612488a9f23e303cd19e8a690bfbda4
|
File details
Details for the file unitarylab-1.4.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 77.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
661e30cea57da473f9e2c4cf610dc70199c7a64648ca7b0de2b61bce8f3c7de8
|
|
| MD5 |
b496a6273e780b43a9c9c9ca97de1545
|
|
| BLAKE2b-256 |
49058c039b4c520c8b89bc45e650887a0680279b68ae69df8e22dcf864188d0d
|
File details
Details for the file unitarylab-1.4.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 11.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d36868dc2144c4085c8bf40968fccd503de62a789d5afb997558f5a91a173d6c
|
|
| MD5 |
94ef927185b032ebc02aceff3f1bb274
|
|
| BLAKE2b-256 |
721b6231a086efb0f6000c9d651b29ee2db0efd2df50204b4df6af6e877e192d
|
File details
Details for the file unitarylab-1.4.2-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 12.1 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1932843df9e77fe95f4ed80585b95d5652e6787165b5f6e54b2643e699016535
|
|
| MD5 |
b244d8fe56fd746ce796e1a9a9f97aa1
|
|
| BLAKE2b-256 |
db30792239160e7a0970064d980dc49ef195f98c8074d9bc4a41772fbc9c787d
|
File details
Details for the file unitarylab-1.4.2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 10.5 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e65225b6d3d39e86f1a8cf24cb8ca156b3ca1880d48b8df0dba1458aff123ff
|
|
| MD5 |
cbcfdc6ec724c2f460c194c78b5ec51f
|
|
| BLAKE2b-256 |
ddd18430c926751d939296c6e8e522202f39b8eeb3697c6b64b6404fc48cf09b
|
File details
Details for the file unitarylab-1.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 75.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef35a5939b792f920d74fdafd90b5868bdbf43d2d8a3fb42f0efc0766b2da4c4
|
|
| MD5 |
292c26e9d5b584972c86f934eea617a6
|
|
| BLAKE2b-256 |
a7fe7d1b12121bd438ca1f170cce3053742385a192aabd82a24709469e4fa46f
|
File details
Details for the file unitarylab-1.4.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 74.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d5a07d337bfc7bf294ca275471d8b4443b976884d84ed3ddf99eee2b6f900ff
|
|
| MD5 |
f8bb292cf39ca488aeea32befe4fc037
|
|
| BLAKE2b-256 |
a715c000eaefd8032af88eacc4a99c2e7ff02c584e2df41b639921e9560b93e2
|
File details
Details for the file unitarylab-1.4.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 11.2 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
240bf4d71e1f2ccd19f0e1261a76b9512ab46d63f638480393996f96e8adfc67
|
|
| MD5 |
afc7cddb59c05856d3db03f61f6d183d
|
|
| BLAKE2b-256 |
4e8ce1b7506d6eb47a286d1a2f3ec3c3bd063eadb1101114a6d55c33277c3a1b
|
File details
Details for the file unitarylab-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: unitarylab-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67fa8d7426374613be835ecee1fe111e6b170e26c0ea6fa28146a42d0490ec0c
|
|
| MD5 |
2d0d3acd45eb276acd4042da84bba74d
|
|
| BLAKE2b-256 |
66c082b594af50bb34c12cebda0aa50e399ba943f16d5412d48943c680ee748f
|