kernels-bot commited on
Commit
8edaab2
·
verified ·
1 Parent(s): 3aede94

Uploaded using `kernel-builder`.

Browse files
.gitattributes CHANGED
@@ -47,3 +47,6 @@ build/torch213-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_2e4b97
47
  build/torch211-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
48
  build/torch212-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
49
  build/torch213-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
 
 
 
 
47
  build/torch211-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
48
  build/torch212-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
49
  build/torch213-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so filter=lfs diff=lfs merge=lfs -text
50
+ build/torch212-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_addf474.abi3.so filter=lfs diff=lfs merge=lfs -text
51
+ build/torch213-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_addf474.abi3.so filter=lfs diff=lfs merge=lfs -text
52
+ build/torch214-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_addf474.abi3.so filter=lfs diff=lfs merge=lfs -text
build/torch212-metal-aarch64-darwin/{_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so → _mlx_quantization_metal_kernels_metal_addf474.abi3.so} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:bf9a6c883b0e931b8181060a95b93fd91cd014d492613f1b97530032b7d7c59c
3
- size 40010728
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:96d37884b0f28100fba32326a90151b7fb31acd905d241d7da68c7994a7d8b14
3
+ size 40010792
build/torch212-metal-aarch64-darwin/_ops.py CHANGED
@@ -1,9 +1,9 @@
1
  import torch
2
- from . import _mlx_quantization_metal_kernels_metal_8a730d9
3
- ops = torch.ops._mlx_quantization_metal_kernels_metal_8a730d9
4
 
5
  def add_op_namespace_prefix(op_name: str):
6
  """
7
  Prefix op by namespace.
8
  """
9
- return f"_mlx_quantization_metal_kernels_metal_8a730d9::{op_name}"
 
1
  import torch
2
+ from . import _mlx_quantization_metal_kernels_metal_addf474
3
+ ops = torch.ops._mlx_quantization_metal_kernels_metal_addf474
4
 
5
  def add_op_namespace_prefix(op_name: str):
6
  """
7
  Prefix op by namespace.
8
  """
9
+ return f"_mlx_quantization_metal_kernels_metal_addf474::{op_name}"
build/torch212-metal-aarch64-darwin/metadata.json CHANGED
@@ -1,9 +1,10 @@
1
  {
2
  "name": "mlx-quantization-metal-kernels",
3
- "id": "_mlx_quantization_metal_kernels_metal_8a730d9",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [],
 
7
  "backend": {
8
  "type": "metal"
9
  },
@@ -11,19 +12,18 @@
11
  "algorithm": "sha256",
12
  "files": {
13
  "__init__.py": "RPKCn/crnlxPPRM3jVlrOE93840kDxotM2/B0Tw2Rp4=",
14
- "_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so": "v5psiDsOkxuBgQYKlbk/2RzQFNSSYT8bl1MAMrfXxZw=",
15
- "_ops.py": "k/mOW/9n5lXitW6Vwn+cFs/EkaexScrwsndZleXRuvI=",
16
- "mlx_quantization_metal_kernels/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY="
17
  }
18
  },
19
  "provenance": {
20
  "kernel-builder": {
21
  "version": "0.17.0-dev0",
22
- "sha": "81580bb92577f2f7228661ca2a221fc052375709",
23
  "dirty": false
24
  },
25
  "kernel": {
26
- "sha": "8a730d96c37560ccf1d3e09f7bbccdc886818f33",
27
  "dirty": false
28
  }
29
  }
 
1
  {
2
  "name": "mlx-quantization-metal-kernels",
3
+ "id": "_mlx_quantization_metal_kernels_metal_addf474",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [],
7
+ "kernel-depends": [],
8
  "backend": {
9
  "type": "metal"
10
  },
 
12
  "algorithm": "sha256",
13
  "files": {
14
  "__init__.py": "RPKCn/crnlxPPRM3jVlrOE93840kDxotM2/B0Tw2Rp4=",
15
+ "_mlx_quantization_metal_kernels_metal_addf474.abi3.so": "ltN4hLDygQD7oyMmqQFRt/sxrNkF0kHX2mjHmUp9ixQ=",
16
+ "_ops.py": "R3tE/FNNPqVu3lFXLQtc1FSA3Z4f7saY96Orv5/lVK8="
 
17
  }
18
  },
19
  "provenance": {
20
  "kernel-builder": {
21
  "version": "0.17.0-dev0",
22
+ "commit": "081dcd473f8eca27226eef1f9c47c45b86c756b5",
23
  "dirty": false
24
  },
25
  "kernel": {
26
+ "commit": "addf4741fafb55b4c101b15985dfaeea7c7c2f3a",
27
  "dirty": false
28
  }
29
  }
build/torch212-metal-aarch64-darwin/metadata.json.sigstore CHANGED
@@ -1 +1 @@
1
- {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHYDCCBuegAwIBAgIUI9JFOsr+gkdFRs0lO/AR+EmEXgYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNzA4MDkzOTE1WhcNMjYwNzA4MDk0OTE1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECVyUpfy3JthQbyEG6mgEkIzCyhIZJtRcT+0MuUXVycWI4H1t8yoefXblf4uVthZDdDl/LNwHvXG5i49OoRWkB6OCBgYwggYCMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUR+rEdQ7figG8pFs8F+TYuSY6AY8wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wbwYDVR0RAQH/BGUwY4ZhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKDhhNzMwZDk2YzM3NTYwY2NmMWQzZTA5ZjdiYmNjZGM4ODY4MThmMzMwGwYKKwYBBAGDvzABBAQNQnVpbGQgKG1hY09TKTArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHEGCisGAQQBg78wAQkEYwxhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAEKBCoMKDhhNzMwZDk2YzM3NTYwY2NmMWQzZTA5ZjdiYmNjZGM4ODY4MThmMzMwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoOGE3MzBkOTZjMzc1NjBjY2YxZDNlMDlmN2JiY2NkYzg4NjgxOGYzMzAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBxBgorBgEEAYO/MAESBGMMYWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC1tYWMueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDCg4YTczMGQ5NmMzNzU2MGNjZjFkM2UwOWY3YmJjY2RjODg2ODE4ZjMzMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwZAYKKwYBBAGDvzABFQRWDFRodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvYWN0aW9ucy9ydW5zLzI4OTMxMjE3MDMwL2F0dGVtcHRzLzEwFgYKKwYBBAGDvzABFgQIDAZwdWJsaWMwRgYKKwYBBAGDvzABGAQ4DDZyZXBvOmh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5OnJlZjpyZWZzL2hlYWRzL21haW4wgYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAZ9BGI0pAAAEAwBHMEUCIQDumI7pVYJiG2vfvskAWRN1Hhwt9ZLU4j1K9vivBTEj7gIgLVPK5hHM+jE693EU3VKJZjOLeFRBberp1GidcnceJHkwCgYIKoZIzj0EAwMDZwAwZAIwTPHKY0R/YxmhA06Sz3YcrcS74dcEh3u/+DSDImKIfiAB4gnCtbkqwuDE0UNQY0c8AjAll4TPmfxgsVll7AEI6/QRCg4GeOQRlahsP/mb8WIrLp9Rgd4rc7igolezuMl/QYw="},"tlogEntries":[{"logIndex":"2114069892","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1783503556","inclusionPromise":{"signedEntryTimestamp":"MEQCIAIzp6Qrg7TyakKOj0/i6h8oDcK7S0kpzscuHGBf2NSOAiAK603Z7hAx33Nq8m5pnqZlZgwnzirLaCWO3hjahG27Qw=="},"inclusionProof":{"logIndex":"1992165630","rootHash":"wjIhxoYM7arrI1fBg2u2yA61c6xVZiOWRiCyvbYPlNY=","treeSize":"1992165637","hashes":["K0DKaayfPmwnF+HHX6xcv2GDuB1TN2xrWq0Q6c+XHRM=","/toU9kt7efu0yYuQWar4s3hOiNBkxNgSI2zpKmHAQmE=","FoYKNBYBZUCQEn69lmOC7tu0oLY/W2t34Ug8Po2gHEU=","x17IeF21JPqgQYhTS3LchXrQ7vanEdG+ypUryyOZukA=","3qhCtaQF4HGW4V4OQctCV95Pe22zUHuWuY4u7zNQTjo=","2tYfC2VxpDhZz69T2j5tgXALp9mP81WWCeAnfvzT50g=","Oz32gk7nc9eJ0GUIdA/C8RDDM/E3lPH3hxT82SkOk9k=","dFeq5R/AADhTgBbR1ETxTzdk1IZSXAYMhGscSh+varI=","aGv8nt7a8seeALW0XpnO0wnRYshC5TXAAt+tUlWs61s=","i54rVzJgcPGk7J1zoQAapo2rkgpThjT5D/oeHLvObts=","CP0rAcq9d7hqCSWaEI6eS71ucc8P1J+qZIg/bfg+Bi8=","q0bDCYYM8Kl1AcQlFtAjsMRkDgQDRjrR/EhSNDT6HeI=","Uh9Q3t0owp3nQij7uUVzswxCf/9lo7BQqoqZwxfV0u4=","fZbx4AWo+aeMN9Mbraux+rscCGLJEHB7hXu1e/kRgeo=","D/x3yP7cG/SpQUwSXzpITAOA0UroT/kIiXSF3wR+jT4=","Bcvbbu+tDL+zr1H2q26c2ATmVu7v/f7JIFweUu7qDK8=","WajL3ZhY6ZX9meV3VTH9TkrbM31OF4o6+7foL0Uf6PI=","cyKMKBvHkQtwb2xR5svh+YppANOVdn7X8t4DuKMxICA=","+/VZ56MsIPxMiyLAodzKXo5TEWdQp36z89qLhpzloAo=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1992165637\nwjIhxoYM7arrI1fBg2u2yA61c6xVZiOWRiCyvbYPlNY=\n\n— rekor.sigstore.dev wNI9ajBFAiEA/u1PwBsP4FZMSAsw4EmlGLcK/iDWyTtk8dYVX33dBDsCICy+khQ+ZRoFvHnKgD2HpFZegFh0damN5VJX778TI+nI\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1Y2QwZmE0ZGE4ZjM4YjRkNGE1NzIzZWNkY2E0NTdiOTdlYTRmM2QzZThkMDNmMzkxYTFiZTM5N2NhYjJjMDYwIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQUZ2M1VCV1djS0ZiTS9ham5yaWNXT24vK2s2czFhYzhJTFFZNFloMFAvVUFpQW9TRkN3YUR2QStSMEdlSHNyRHc5TE9ac1NnaEpIWVhKVlhsSUlPMVNINVE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFpSRU5EUW5WbFowRjNTVUpCWjBsVlNUbEtSazl6Y2l0bmEyUkdVbk13YkU4dlFWSXJSVzFGV0dkWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDU2UVRSTlJHdDZUMVJGTVZkb1kwNU5hbGwzVG5wQk5FMUVhekJQVkVVeFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZEVm5sVmNHWjVNMHAwYUZGaWVVVkhObTFuUld0SmVrTjVhRWxhU25SU1kxUXJNRTBLZFZWWVZubGpWMGswU0RGME9IbHZaV1pZWW14bU5IVldkR2hhUkdSRWJDOU1UbmRJZGxoSE5XazBPVTl2VWxkclFqWlBRMEpuV1hkbloxbERUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZTSzNKRkNtUlJOMlpwWjBjNGNFWnpPRVlyVkZsMVUxazJRVms0ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJKM1dVUldVakJTUVZGSUwwSkhWWGRaTkZwb1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4WE1XaFplVFUxQ2xsWE1YTlJTRXBzV201TmRtRkhWbWhhU0UxMllsZEdjR0pxUVRWQ1oyOXlRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5VS1RHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZtbGtXRTVzWTIxT2RtSnVVbXhpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RncGpiWFJ0WWtjNU0xZ3lVbkJqTTBKb1pFZE9iMDFFV1VkRGFYTkhRVkZSUW1jM09IZEJVVTFGUzBSb2FFNTZUWGRhUkdzeVdYcE5NMDVVV1hkWk1rNXRDazFYVVhwYVZFRTFXbXBrYVZsdFRtcGFSMDAwVDBSWk5FMVVhRzFOZWsxM1IzZFpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVVNVJibFp3WWtkUlowdEhNV2dLV1RBNVZFdFVRWEpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0l4YjJSWFpHNWhWelZ1V20xR2FscFRPWEphV0VwMVdsZDRla3hYVG5aaVZ6RXhZbTFzTUFwbFZFRmtRbWR2Y2tKblJVVkJXVTh2VFVGRlIwSkJPWGxhVjFwNlRESm9iRmxYVW5wTU1qRm9ZVmMwZDA5M1dVdExkMWxDUWtGSFJIWjZRVUpEUVZGMENrUkRkRzlrU0ZKM1kzcHZka3d6VW5aaE1sWjFURzFHYW1SSGJIWmliazExV2pKc01HRklWbWxrV0U1c1kyMU9kbUp1VW14aWJsRjFXVEk1ZEUxSVJVY0tRMmx6UjBGUlVVSm5OemgzUVZGclJWbDNlR2hoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiQXBqYlRWc1lraE5kRmt5T1hSaVdGWjFZVmhTTlV4NU5XNWhXRkp2WkZkSmRtUXlPWGxoTWxwellqTmtla3d5U2pGaFYzaHJURmN4YUZsNU5UVlpWekZ6Q2xGSVNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJVdENRMjlOUzBSb2FFNTZUWGRhUkdzeVdYcE5NMDVVV1hjS1dUSk9iVTFYVVhwYVZFRTFXbXBrYVZsdFRtcGFSMDAwVDBSWk5FMVVhRzFOZWsxM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtOM1VWQkVRVEZ1WVZoU2J3cGtWMGwwWVVjNWVtUkhWbXROUlVGSFEybHpSMEZSVVVKbk56aDNRVkYzUlUxbmQzZGhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkVmt5T1hSTU1tZ3hDbG95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFJpV0ZaMVlWaFNOVTFFWjBkRGFYTkhRVkZSUW1jM09IZEJVVEJGUzJkM2IwOUhSVE1LVFhwQ2EwOVVXbXBOZW1NeFRtcENhbGt5V1hoYVJFNXNUVVJzYlU0eVNtbFpNazVyV1hwbk5FNXFaM2hQUjFsNlRYcEJaa0puYjNKQ1owVkZRVmxQTHdwTlFVVlBRa0pGVFVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJZVUpuYjNKQ1owVkZRVmxQTDAxQlJWQkNRWGROUTJwRmQwNTZSVEJPZWxVeENrMXFhM2RNWjFsTFMzZFpRa0pCUjBSMmVrRkNSVUZSWjBSQ05XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZDBkQldVdExkMWxDUWtGSFJIWjZRVUpGVVZGTFJFRm5lVTVVWTNsTlJHTXdUWHBDZUVKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjAxTldWZG9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemgxQ2xveWJEQmhTRlpwVEROa2RtTnRkRzFpUnprelkzazVhV1JYYkhOYVF6RjBXVmROZFdWWFJuUmlSVUo1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhjS1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmMwV1ZSamVrMUhVVFZPYlUxNlRucFZNazFIVG1wYWFrWnJUVEpWZDA5WFdUTlpiVXBxV1RKU2FncFBSR2N5VDBSRk5GcHFUWHBOUTBWSFEybHpSMEZSVVVKbk56aDNRVkpSUlVWM2QxSmtNamw1WVRKYWMySXpaR1phUjJ4NlkwZEdNRmt5WjNkYVFWbExDa3QzV1VKQ1FVZEVkbnBCUWtaUlVsZEVSbEp2WkVoU2QyTjZiM1pNTW1Sd1pFZG9NVmxwTldwaU1qQjJZVWhXYmxveWJIVmFNbHBvV1RKVmRtRXlWbmtLWW0xV2MyTjVNV3BpTWpGMFpGYzFjR1JJYTNaWlYwNHdZVmM1ZFdONU9YbGtWelY2VEhwSk5FOVVUWGhOYWtVelRVUk5kMHd5UmpCa1IxWjBZMGhTZWdwTWVrVjNSbWRaUzB0M1dVSkNRVWRFZG5wQlFrWm5VVWxFUVZwM1pGZEtjMkZYVFhkU1oxbExTM2RaUWtKQlIwUjJla0ZDUjBGUk5FUkVXbmxhV0VKMkNrOXRhREZhTW1Sd1ltMWtiVmxYVG14TU1uUnNZMjAxYkdKSVRYUlpNamwwWWxoV2RXRllValZQYmtwc1dtcHdlVnBYV25wTU1taHNXVmRTZWt3eU1XZ0tZVmMwZDJkWmIwZERhWE5IUVZGUlFqRnVhME5DUVVsRlprRlNOa0ZJWjBGa1owUmtVRlJDY1hoelkxSk5iVTFhU0doNVdscDZZME52YTNCbGRVNDBPQXB5Wml0SWFXNUxRVXg1Ym5WcVowRkJRVm81UWtkSk1IQkJRVUZGUVhkQ1NFMUZWVU5KVVVSMWJVazNjRlpaU21sSE1uWm1kbk5yUVZkU1RqRklhSGQwQ2psYVRGVTBhakZMT1hacGRrSlVSV28zWjBsblRGWlFTelZvU0UwcmFrVTJPVE5GVlROV1MwcGFhazlNWlVaU1FtSmxjbkF4UjJsa1kyNWpaVXBJYTNjS1EyZFpTVXR2V2tsNmFqQkZRWGROUkZwM1FYZGFRVWwzVkZCSVMxa3dVaTlaZUcxb1FUQTJVM296V1dOeVkxTTNOR1JqUldnemRTOHJSRk5FU1cxTFNRcG1hVUZDTkdkdVEzUmlhM0YzZFVSRk1GVk9VVmt3WXpoQmFrRnNiRFJVVUcxbWVHZHpWbXhzTjBGRlNUWXZVVkpEWnpSSFpVOVJVbXhoYUhOUUwyMWlDamhYU1hKTWNEbFNaMlEwY21NM2FXZHZiR1Y2ZFUxc0wxRlpkejBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgF9OyH+ESgfPSeHA/UkTteFN1W3x9xR/cPKPfFjAKL88CFQCcNb0xkoMaqrKWI9yB2kYdYj2kEBgPMjAyNjA3MDgwOTM5MTVaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDcwODA5MzkxNVowLwYJKoZIhvcNAQkEMSIEIFbyKt6CjaUP5Lpi+HNZXIGRmriEaXH4mP1SpcbCObY1MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMGz9mUU1jceuRDsxISxuQbZ6xIkEUk1CXSSmPshMo/RfMRYVgf3WUhCpYDAXYYNT3wIxAMdbHcLb4bz4vUC+htpVA+MY54Y95De6V0eKCgz/UrUgwpV/WFlyE15e71LKTdIc1w=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"XND6Tajzi01KVyPs3KRXuX6k89Po0D85Ghvjl8qywGA="},"signature":"MEQCIAFv3UBWWcKFbM/ajnricWOn/+k6s1ac8ILQY4Yh0P/UAiAoSFCwaDvA+R0GeHsrDw9LOZsSghJHYXJVXlIIO1SH5Q=="}}
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHYTCCBuegAwIBAgIUbeDnir1rIr+jpnymBOHkfzemIEwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI2MTUzMTE4WhcNMjYwODI2MTU0MTE4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEm2OhtJgCOYh7e6HYfblwCkMO0LothNcOLr8Ds0ZDdkloF6WZi5BseQOLVoCmGvq/BjOO/9EA+xNO0q8FiR6kL6OCBgYwggYCMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUPSf44lH4P3aIla2wX6xTouffytkwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wbwYDVR0RAQH/BGUwY4ZhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwGwYKKwYBBAGDvzABBAQNQnVpbGQgKG1hY09TKTArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHEGCisGAQQBg78wAQkEYwxhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAEKBCoMKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBxBgorBgEEAYO/MAESBGMMYWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC1tYWMueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDChhZGRmNDc0MWZhZmI1NWI0YzEwMWIxNTk4NWRmYWVlYTdjN2MyZjNhMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwZAYKKwYBBAGDvzABFQRWDFRodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvYWN0aW9ucy9ydW5zLzMyOTgzOTE4MzEyL2F0dGVtcHRzLzEwFgYKKwYBBAGDvzABFgQIDAZwdWJsaWMwRgYKKwYBBAGDvzABGAQ4DDZyZXBvOmh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5OnJlZjpyZWZzL2hlYWRzL21haW4wgYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAaA+snZKAAAEAwBHMEUCIQDvnEbcJQdHuNiahc+uzwgYfQMkkB3EnZTjaQuonvDKzQIgMoS87+m3cFbGyE+GzXNFEakw4ffOF4cJ8x3vVWwkLdAwCgYIKoZIzj0EAwMDaAAwZQIxANPldF8n9NmK4Zy8+YgVyjty9pqtuor0RNvcRnawtxbVy8l1IC5PISg6m/qOULloLAIwcuNG/xn+/FDTEm7HQWlhOlqO4A8/Fds0m2ba6tF4nClAgPvHKwQlGPtWvLKGEKds"},"tlogEntries":[{"logIndex":"2604263435","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787758278","inclusionPromise":{"signedEntryTimestamp":"MEUCIAphvLVOk8Dkg6SnlWcVrqUa0vNI1xuQkvF2G0D/omU7AiEAsgQRi5u7dW5EHC/wqC1WHvQ91jl69W3ixJowAcWdTxY="},"inclusionProof":{"logIndex":"2482359173","rootHash":"Z4n0Rl5ZbcvHh1gxeHcWbZVNKnUN0lLAKBOG9d7L+c8=","treeSize":"2482359175","hashes":["w1bXgH1Zjq/Gi49XgC1BZfOPRbtGgTWMnUo5pTEY4ZQ=","poDn6AdiIJ0I3c9H/u+MAUNMY0GgH12RZnU2GNJQ70Q=","pMI3OeRzIIGu3/GoaNVn6X7zxYhm3U1448aGhYNo/8I=","vaUwi2kJVHNf42Vkmu1D2dIqMKt3HLfRCfLBcqDaUI0=","hBpsgG4RR1RW5ot6inlN3d1DnyslVUJ0QbVvQIWukj0=","+3pf+In4uKUm8rktj76vdcNy/AmpmhYBrBPsKtNwXv8=","9ny+wAqGnBkD3U5r//l1EPcTsMZNhbDDrEIk4kLMQwU=","MFLWQWyiITaEpXCfkR1cfStcpSxfKI2LBWUN6GKS1uo=","4JhGDqW0S25GL6qAvxJjeKnYVZhIzhZuB3JtTy47ldI=","0GNf0zaIHsUqMdbhnfrOsaFEnvm83QyLcrcZggRKvnM=","E4fyF5ziVQ+jMdjjOYV9MVJbtLvheL8kSUNlLJ/5EMc=","XcX3K1G/cLKou84x4VmtOSVAaiSMWFWrN6G2n7EPVEY=","qJ5ew1WabVvRicNN8QNXM+c06ksDiQzNwS4x2NeyiRA=","SMbkl3QRXatqcitbce4Lvrq9SVr739GwkXngXdzXD9s=","KNuAVQKXhOhFJ2hfB7WVJu8CwctJkwa0qN8SUTuX6Zc=","CC5iK0YZS8oHpGoRj50mLGEKhW1UNOwgAyCKIiVoU+c=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2482359175\nZ4n0Rl5ZbcvHh1gxeHcWbZVNKnUN0lLAKBOG9d7L+c8=\n\n— rekor.sigstore.dev wNI9ajBFAiEAob1fq7Eg6LG1FdPutatCr0fz0jrk9DNWMH8sZisOi0wCIBi6wKcNzMwG6VSL9jqsW5A5q5wHkIs2T3DFinoaT4hX\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI2ODg5OTUzOTE5Njg4MDYxYThiZTM0NGZkMTA0NGExMTkyNTNiMDcxMGU3M2Y1OTVkNzMwNmNhYTZlMDQzNWVmIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRHg2ZVhOWmVZeDNaRC8wSVlLb1BHYlN6RHFIN25RQjJWOWZVcFFQcW83c0FpRUF3Wm1sOXFnUG1XL2k4WktUV2JJZ0tiTjZweW9oYjdxUVlrc1FFbjg4aEtvPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFpWRU5EUW5WbFowRjNTVUpCWjBsVlltVkVibWx5TVhKSmNpdHFjRzU1YlVKUFNHdG1lbVZ0U1VWM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RKTlZGVjZUVlJGTkZkb1kwNU5hbGwzVDBSSk1rMVVWVEJOVkVVMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ0TWs5b2RFcG5RMDlaYURkbE5raFpabUpzZDBOclRVOHdURzkwYUU1alQweHlPRVFLY3pCYVJHUnJiRzlHTmxkYWFUVkNjMlZSVDB4V2IwTnRSM1p4TDBKcVQwOHZPVVZCSzNoT1R6QnhPRVpwVWpaclREWlBRMEpuV1hkbloxbERUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZRVTJZMENqUnNTRFJRTTJGSmJHRXlkMWcyZUZSdmRXWm1lWFJyZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJKM1dVUldVakJTUVZGSUwwSkhWWGRaTkZwb1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4WE1XaFplVFUxQ2xsWE1YTlJTRXBzV201TmRtRkhWbWhhU0UxMllsZEdjR0pxUVRWQ1oyOXlRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5VS1RHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZtbGtXRTVzWTIxT2RtSnVVbXhpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RncGpiWFJ0WWtjNU0xZ3lVbkJqTTBKb1pFZE9iMDFFV1VkRGFYTkhRVkZSUW1jM09IZEJVVTFGUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRGWmFsSnFDazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1IzZFpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVVNVJibFp3WWtkUlowdEhNV2dLV1RBNVZFdFVRWEpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0l4YjJSWFpHNWhWelZ1V20xR2FscFRPWEphV0VwMVdsZDRla3hYVG5aaVZ6RXhZbTFzTUFwbFZFRmtRbWR2Y2tKblJVVkJXVTh2VFVGRlIwSkJPWGxhVjFwNlRESm9iRmxYVW5wTU1qRm9ZVmMwZDA5M1dVdExkMWxDUWtGSFJIWjZRVUpEUVZGMENrUkRkRzlrU0ZKM1kzcHZka3d6VW5aaE1sWjFURzFHYW1SSGJIWmliazExV2pKc01HRklWbWxrV0U1c1kyMU9kbUp1VW14aWJsRjFXVEk1ZEUxSVJVY0tRMmx6UjBGUlVVSm5OemgzUVZGclJWbDNlR2hoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiQXBqYlRWc1lraE5kRmt5T1hSaVdGWjFZVmhTTlV4NU5XNWhXRkp2WkZkSmRtUXlPWGxoTWxwellqTmtla3d5U2pGaFYzaHJURmN4YUZsNU5UVlpWekZ6Q2xGSVNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJVdENRMjlOUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRFS1dXcFNhazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtOM1VWQkVRVEZ1WVZoU2J3cGtWMGwwWVVjNWVtUkhWbXROUlVGSFEybHpSMEZSVVVKbk56aDNRVkYzUlUxbmQzZGhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkVmt5T1hSTU1tZ3hDbG95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFJpV0ZaMVlWaFNOVTFFWjBkRGFYTkhRVkZSUW1jM09IZEJVVEJGUzJkM2IxbFhVbXNLV21wUk0wNUVSbTFaVjFwcFRsUldhVTVIVFhoTlJFWnBUVlJWTlU5RVZtdGFiVVpzV2xkRk0xbDZaR3BOYlZsNldWUkJaa0puYjNKQ1owVkZRVmxQTHdwTlFVVlBRa0pGVFVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJZVUpuYjNKQ1owVkZRVmxQTDAxQlJWQkNRWGROUTJwRmQwNTZSVEJPZWxVeENrMXFhM2RNWjFsTFMzZFpRa0pCUjBSMmVrRkNSVUZSWjBSQ05XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZDBkQldVdExkMWxDUWtGSFJIWjZRVUpGVVZGTFJFRm5lVTVVWTNsTlJHTXdUWHBDZUVKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjAxTldWZG9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemgxQ2xveWJEQmhTRlpwVEROa2RtTnRkRzFpUnprelkzazVhV1JYYkhOYVF6RjBXVmROZFdWWFJuUmlSVUo1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhjS1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmhvV2tkU2JVNUVZekJOVjFwb1dtMUpNVTVYU1RCWmVrVjNUVmRKZUU1VWF6Uk9WMUp0V1ZkV2JBcFpWR1JxVGpKTmVWcHFUbWhOUTBWSFEybHpSMEZSVVVKbk56aDNRVkpSUlVWM2QxSmtNamw1WVRKYWMySXpaR1phUjJ4NlkwZEdNRmt5WjNkYVFWbExDa3QzV1VKQ1FVZEVkbnBCUWtaUlVsZEVSbEp2WkVoU2QyTjZiM1pNTW1Sd1pFZG9NVmxwTldwaU1qQjJZVWhXYmxveWJIVmFNbHBvV1RKVmRtRXlWbmtLWW0xV2MyTjVNV3BpTWpGMFpGYzFjR1JJYTNaWlYwNHdZVmM1ZFdONU9YbGtWelY2VEhwTmVVOVVaM3BQVkVVMFRYcEZlVXd5UmpCa1IxWjBZMGhTZWdwTWVrVjNSbWRaUzB0M1dVSkNRVWRFZG5wQlFrWm5VVWxFUVZwM1pGZEtjMkZYVFhkU1oxbExTM2RaUWtKQlIwUjJla0ZDUjBGUk5FUkVXbmxhV0VKMkNrOXRhREZhTW1Sd1ltMWtiVmxYVG14TU1uUnNZMjAxYkdKSVRYUlpNamwwWWxoV2RXRllValZQYmtwc1dtcHdlVnBYV25wTU1taHNXVmRTZWt3eU1XZ0tZVmMwZDJkWmIwZERhWE5IUVZGUlFqRnVhME5DUVVsRlprRlNOa0ZJWjBGa1owUmtVRlJDY1hoelkxSk5iVTFhU0doNVdscDZZME52YTNCbGRVNDBPQXB5Wml0SWFXNUxRVXg1Ym5WcVowRkJRV0ZCSzNOdVdrdEJRVUZGUVhkQ1NFMUZWVU5KVVVSMmJrVmlZMHBSWkVoMVRtbGhhR01yZFhwM1oxbG1VVTFyQ210Q00wVnVXbFJxWVZGMWIyNTJSRXQ2VVVsblRXOVRPRGNyYlROalJtSkhlVVVyUjNwWVRrWkZZV3QzTkdabVQwWTBZMG80ZUROMlZsZDNhMHhrUVhjS1EyZFpTVXR2V2tsNmFqQkZRWGROUkdGQlFYZGFVVWw0UVU1UWJHUkdPRzQ1VG0xTE5GcDVPQ3RaWjFaNWFuUjVPWEJ4ZEhWdmNqQlNUblpqVW01aGR3cDBlR0pXZVRoc01VbEROVkJKVTJjMmJTOXhUMVZNYkc5TVFVbDNZM1ZPUnk5NGJpc3ZSa1JVUlcwM1NGRlhiR2hQYkhGUE5FRTRMMFprY3pCdE1tSmhDalowUmpSdVEyeEJaMUIyU0V0M1VXeEhVSFJYZGt4TFIwVkxaSE1LTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgrqzjmS35kqL7MXaCCtQm/v3hpGkotwXyAx4ZtTNlFekCFQCiDbyVoz+Eq1jKEKjI3JzguDDbJhgPMjAyNjA4MjYxNTMxMThaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNjE1MzExOFowLwYJKoZIhvcNAQkEMSIEIJGW7BZRIn6z8coSr7dOHRBhO86FjIY71ZXZc6qDrtxTMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMC8/hLcly66b/Tz8cCbhH61qNYDfcM6nWHRhmSwR7dTU87Viq+poEhGDkmGl9B/f6gIxAN5RM+s3kAp6A6AhNV5eYviA+Ly0Y3PcDpu6M4mX1sq/tSIAtyYBCp9RmrjMaw3a/Q=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"aImVORlogGGovjRP0QRKEZJTsHEOc/WV1zBsqm4ENe8="},"signature":"MEUCIDx6eXNZeYx3ZD/0IYKoPGbSzDqH7nQB2V9fUpQPqo7sAiEAwZml9qgPmW/i8ZKTWbIgKbN6pyohb7qQYksQEn88hKo="}}
build/torch212-metal-aarch64-darwin/mlx_quantization_metal_kernels/__init__.py DELETED
@@ -1,26 +0,0 @@
1
- import ctypes
2
- import importlib.util
3
- import sys
4
- from pathlib import Path
5
- from types import ModuleType
6
-
7
-
8
- def _import_from_path(file_path: Path) -> ModuleType:
9
- # We cannot use the module name as-is, after adding it to `sys.modules`,
10
- # it would also be used for other imports. So, we make a module name that
11
- # depends on the path for it to be unique using the hex-encoded hash of
12
- # the path.
13
- path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
14
- module_name = path_hash
15
- spec = importlib.util.spec_from_file_location(module_name, file_path)
16
- if spec is None:
17
- raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
18
- module = importlib.util.module_from_spec(spec)
19
- if module is None:
20
- raise ImportError(f"Cannot load module {module_name} from spec")
21
- sys.modules[module_name] = module
22
- spec.loader.exec_module(module) # type: ignore
23
- return module
24
-
25
-
26
- globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
build/torch213-metal-aarch64-darwin/{_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so → _mlx_quantization_metal_kernels_metal_addf474.abi3.so} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:720b247620d8841dc4f9c2d6563d4702156f21e79d99304a090551bbbac45252
3
- size 40011192
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e68aa77fdea01dd53250b423288ae38cbe98105699fea5190acf560dac498609
3
+ size 40011240
build/torch213-metal-aarch64-darwin/_ops.py CHANGED
@@ -1,9 +1,9 @@
1
  import torch
2
- from . import _mlx_quantization_metal_kernels_metal_8a730d9
3
- ops = torch.ops._mlx_quantization_metal_kernels_metal_8a730d9
4
 
5
  def add_op_namespace_prefix(op_name: str):
6
  """
7
  Prefix op by namespace.
8
  """
9
- return f"_mlx_quantization_metal_kernels_metal_8a730d9::{op_name}"
 
1
  import torch
2
+ from . import _mlx_quantization_metal_kernels_metal_addf474
3
+ ops = torch.ops._mlx_quantization_metal_kernels_metal_addf474
4
 
5
  def add_op_namespace_prefix(op_name: str):
6
  """
7
  Prefix op by namespace.
8
  """
9
+ return f"_mlx_quantization_metal_kernels_metal_addf474::{op_name}"
build/torch213-metal-aarch64-darwin/metadata.json CHANGED
@@ -1,9 +1,10 @@
1
  {
2
  "name": "mlx-quantization-metal-kernels",
3
- "id": "_mlx_quantization_metal_kernels_metal_8a730d9",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [],
 
7
  "backend": {
8
  "type": "metal"
9
  },
@@ -11,19 +12,18 @@
11
  "algorithm": "sha256",
12
  "files": {
13
  "__init__.py": "RPKCn/crnlxPPRM3jVlrOE93840kDxotM2/B0Tw2Rp4=",
14
- "_mlx_quantization_metal_kernels_metal_8a730d9.abi3.so": "cgskdiDYhB3E+cLWVj1HAhVvIeedmTBKCQVRu7rEUlI=",
15
- "_ops.py": "k/mOW/9n5lXitW6Vwn+cFs/EkaexScrwsndZleXRuvI=",
16
- "mlx_quantization_metal_kernels/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY="
17
  }
18
  },
19
  "provenance": {
20
  "kernel-builder": {
21
  "version": "0.17.0-dev0",
22
- "sha": "81580bb92577f2f7228661ca2a221fc052375709",
23
  "dirty": false
24
  },
25
  "kernel": {
26
- "sha": "8a730d96c37560ccf1d3e09f7bbccdc886818f33",
27
  "dirty": false
28
  }
29
  }
 
1
  {
2
  "name": "mlx-quantization-metal-kernels",
3
+ "id": "_mlx_quantization_metal_kernels_metal_addf474",
4
  "version": 1,
5
  "license": "MIT",
6
  "python-depends": [],
7
+ "kernel-depends": [],
8
  "backend": {
9
  "type": "metal"
10
  },
 
12
  "algorithm": "sha256",
13
  "files": {
14
  "__init__.py": "RPKCn/crnlxPPRM3jVlrOE93840kDxotM2/B0Tw2Rp4=",
15
+ "_mlx_quantization_metal_kernels_metal_addf474.abi3.so": "5oqnf96gHdUyULQjKIrjjL6YEFaZ/qUZCs9WDaxJhgk=",
16
+ "_ops.py": "R3tE/FNNPqVu3lFXLQtc1FSA3Z4f7saY96Orv5/lVK8="
 
17
  }
18
  },
19
  "provenance": {
20
  "kernel-builder": {
21
  "version": "0.17.0-dev0",
22
+ "commit": "081dcd473f8eca27226eef1f9c47c45b86c756b5",
23
  "dirty": false
24
  },
25
  "kernel": {
26
+ "commit": "addf4741fafb55b4c101b15985dfaeea7c7c2f3a",
27
  "dirty": false
28
  }
29
  }
build/torch213-metal-aarch64-darwin/metadata.json.sigstore CHANGED
@@ -1 +1 @@
1
- {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHYTCCBuegAwIBAgIUbqIRUCoTGAyrUivrrH2nnezg8tQwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNzA4MDkzOTE2WhcNMjYwNzA4MDk0OTE2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7tc6mktV2VveBDszSqnTolD/LSZL4jjShQdoswBGgc/t7LUFpPlDDcBJWSdOGE9i747znO3w2qVF6EuE6BjtMqOCBgYwggYCMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG64lLzrH8HjPyo9WHrwgCQr2X1kwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wbwYDVR0RAQH/BGUwY4ZhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKDhhNzMwZDk2YzM3NTYwY2NmMWQzZTA5ZjdiYmNjZGM4ODY4MThmMzMwGwYKKwYBBAGDvzABBAQNQnVpbGQgKG1hY09TKTArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHEGCisGAQQBg78wAQkEYwxhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAEKBCoMKDhhNzMwZDk2YzM3NTYwY2NmMWQzZTA5ZjdiYmNjZGM4ODY4MThmMzMwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoOGE3MzBkOTZjMzc1NjBjY2YxZDNlMDlmN2JiY2NkYzg4NjgxOGYzMzAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBxBgorBgEEAYO/MAESBGMMYWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC1tYWMueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDCg4YTczMGQ5NmMzNzU2MGNjZjFkM2UwOWY3YmJjY2RjODg2ODE4ZjMzMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwZAYKKwYBBAGDvzABFQRWDFRodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvYWN0aW9ucy9ydW5zLzI4OTMxMjE3MDMwL2F0dGVtcHRzLzEwFgYKKwYBBAGDvzABFgQIDAZwdWJsaWMwRgYKKwYBBAGDvzABGAQ4DDZyZXBvOmh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5OnJlZjpyZWZzL2hlYWRzL21haW4wgYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAZ9BGJDKAAAEAwBHMEUCIBhvTrtQ6S68dOeISy1CDre621fA1bxCX62blFALSeL3AiEAvicbiFAElQtjXaqFu1jvkkepYrlSFT84ykg8Taqm2j0wCgYIKoZIzj0EAwMDaAAwZQIxALfmQrrJ01572xnACBh+kn+uBpHdSiuus+Lj6Uh+iioJRV9XiXH2ug4xqPB69Bwq+gIwYdjyHfSwjVwqxjLnY12VOWa83xv2USO82OQUuamq5njQdY9KrNwR1/Lx58LbWwzm"},"tlogEntries":[{"logIndex":"2114069961","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1783503557","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDwRPGPzo1ZYcb/tnrZNKGSlEfeNn/epYMTd15Ywn6r2AIgMrK4hdFqVhDkZtfoAQnUMfo/tKSbtN8q/zxN3k8fO74="},"inclusionProof":{"logIndex":"1992165699","rootHash":"bI/1i0KdhaERhZkTlbQBsxxxDCldkSQG0TPvy8AtuM0=","treeSize":"1992165711","hashes":["E4RmPU9mvRNugy2Gg1yhrczH/YHedOjCNnHdW2MqJyw=","uQwdBawJb6CIVlWvRi0T3zJ1I2nH4Aoe+6sj+OWRyV8=","61z8tauB9ufy7th62R3OwquE4gvwG+Eo0buGO4/l31U=","Ys9NPGvyB3zZNLljEwPyWxXq/kwBobGL4qg1Hfag1Z8=","d8a3VbxeogrmkT3ThTTvp3Cb1GYU7Wphvb4fU/iCUUA=","oBSeTMZjrrtLMYRr7uKIh2YT1vdxxstoV26z7GAi+Ec=","i54rVzJgcPGk7J1zoQAapo2rkgpThjT5D/oeHLvObts=","CP0rAcq9d7hqCSWaEI6eS71ucc8P1J+qZIg/bfg+Bi8=","q0bDCYYM8Kl1AcQlFtAjsMRkDgQDRjrR/EhSNDT6HeI=","Uh9Q3t0owp3nQij7uUVzswxCf/9lo7BQqoqZwxfV0u4=","fZbx4AWo+aeMN9Mbraux+rscCGLJEHB7hXu1e/kRgeo=","D/x3yP7cG/SpQUwSXzpITAOA0UroT/kIiXSF3wR+jT4=","Bcvbbu+tDL+zr1H2q26c2ATmVu7v/f7JIFweUu7qDK8=","WajL3ZhY6ZX9meV3VTH9TkrbM31OF4o6+7foL0Uf6PI=","cyKMKBvHkQtwb2xR5svh+YppANOVdn7X8t4DuKMxICA=","+/VZ56MsIPxMiyLAodzKXo5TEWdQp36z89qLhpzloAo=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1992165711\nbI/1i0KdhaERhZkTlbQBsxxxDCldkSQG0TPvy8AtuM0=\n\n— rekor.sigstore.dev wNI9ajBFAiEAvGEU78BVLDcD0KJJTesBzSZ6kIdkYPEhdZMW+kF1VYMCIBMaiigE0SitTa0Bazvpt2dwmMxuGkB6rGr/AZLLXZ7H\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkOWY5YjhkZThlNzgwYjk4NGVlMDMwYmVmNTRjY2JjYjUxYzBkNGQxZTQ3Njk5ZTYzNWRhYjdlMDY3N2MwZGZhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQXNZa1RnZ1JTNlJnSUVZVkw4U1VUdndMMmQ4ZTVVOHJUQkUwVkg3eTRKU0FpRUFnQ0VkcXYzUnNGSVpHTVkxeHBLZnFCckZUNzdGZXFhRHUvZ3JCemNhbW5RPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFpWRU5EUW5WbFowRjNTVUpCWjBsVlluRkpVbFZEYjFSSFFYbHlWV2wyY25KSU1tNXVaWHBuT0hSUmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDU2UVRSTlJHdDZUMVJGTWxkb1kwNU5hbGwzVG5wQk5FMUVhekJQVkVVeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUzZEdNMmJXdDBWakpXZG1WQ1JITjZVM0Z1Vkc5c1JDOU1VMXBNTkdwcVUyaFJaRzhLYzNkQ1IyZGpMM1EzVEZWR2NGQnNSRVJqUWtwWFUyUlBSMFU1YVRjME4zcHVUek4zTW5GV1JqWkZkVVUyUW1wMFRYRlBRMEpuV1hkbloxbERUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZITmpSc0NreDZja2c0U0dwUWVXODVWMGh5ZDJkRFVYSXlXREZyZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJKM1dVUldVakJTUVZGSUwwSkhWWGRaTkZwb1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4WE1XaFplVFUxQ2xsWE1YTlJTRXBzV201TmRtRkhWbWhhU0UxMllsZEdjR0pxUVRWQ1oyOXlRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5VS1RHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZtbGtXRTVzWTIxT2RtSnVVbXhpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RncGpiWFJ0WWtjNU0xZ3lVbkJqTTBKb1pFZE9iMDFFV1VkRGFYTkhRVkZSUW1jM09IZEJVVTFGUzBSb2FFNTZUWGRhUkdzeVdYcE5NMDVVV1hkWk1rNXRDazFYVVhwYVZFRTFXbXBrYVZsdFRtcGFSMDAwVDBSWk5FMVVhRzFOZWsxM1IzZFpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVVNVJibFp3WWtkUlowdEhNV2dLV1RBNVZFdFVRWEpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0l4YjJSWFpHNWhWelZ1V20xR2FscFRPWEphV0VwMVdsZDRla3hYVG5aaVZ6RXhZbTFzTUFwbFZFRmtRbWR2Y2tKblJVVkJXVTh2VFVGRlIwSkJPWGxhVjFwNlRESm9iRmxYVW5wTU1qRm9ZVmMwZDA5M1dVdExkMWxDUWtGSFJIWjZRVUpEUVZGMENrUkRkRzlrU0ZKM1kzcHZka3d6VW5aaE1sWjFURzFHYW1SSGJIWmliazExV2pKc01HRklWbWxrV0U1c1kyMU9kbUp1VW14aWJsRjFXVEk1ZEUxSVJVY0tRMmx6UjBGUlVVSm5OemgzUVZGclJWbDNlR2hoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiQXBqYlRWc1lraE5kRmt5T1hSaVdGWjFZVmhTTlV4NU5XNWhXRkp2WkZkSmRtUXlPWGxoTWxwellqTmtla3d5U2pGaFYzaHJURmN4YUZsNU5UVlpWekZ6Q2xGSVNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJVdENRMjlOUzBSb2FFNTZUWGRhUkdzeVdYcE5NMDVVV1hjS1dUSk9iVTFYVVhwYVZFRTFXbXBrYVZsdFRtcGFSMDAwVDBSWk5FMVVhRzFOZWsxM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtOM1VWQkVRVEZ1WVZoU2J3cGtWMGwwWVVjNWVtUkhWbXROUlVGSFEybHpSMEZSVVVKbk56aDNRVkYzUlUxbmQzZGhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkVmt5T1hSTU1tZ3hDbG95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFJpV0ZaMVlWaFNOVTFFWjBkRGFYTkhRVkZSUW1jM09IZEJVVEJGUzJkM2IwOUhSVE1LVFhwQ2EwOVVXbXBOZW1NeFRtcENhbGt5V1hoYVJFNXNUVVJzYlU0eVNtbFpNazVyV1hwbk5FNXFaM2hQUjFsNlRYcEJaa0puYjNKQ1owVkZRVmxQTHdwTlFVVlBRa0pGVFVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJZVUpuYjNKQ1owVkZRVmxQTDAxQlJWQkNRWGROUTJwRmQwNTZSVEJPZWxVeENrMXFhM2RNWjFsTFMzZFpRa0pCUjBSMmVrRkNSVUZSWjBSQ05XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZDBkQldVdExkMWxDUWtGSFJIWjZRVUpGVVZGTFJFRm5lVTVVWTNsTlJHTXdUWHBDZUVKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjAxTldWZG9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemgxQ2xveWJEQmhTRlpwVEROa2RtTnRkRzFpUnprelkzazVhV1JYYkhOYVF6RjBXVmROZFdWWFJuUmlSVUo1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhjS1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmMwV1ZSamVrMUhVVFZPYlUxNlRucFZNazFIVG1wYWFrWnJUVEpWZDA5WFdUTlpiVXBxV1RKU2FncFBSR2N5VDBSRk5GcHFUWHBOUTBWSFEybHpSMEZSVVVKbk56aDNRVkpSUlVWM2QxSmtNamw1WVRKYWMySXpaR1phUjJ4NlkwZEdNRmt5WjNkYVFWbExDa3QzV1VKQ1FVZEVkbnBCUWtaUlVsZEVSbEp2WkVoU2QyTjZiM1pNTW1Sd1pFZG9NVmxwTldwaU1qQjJZVWhXYmxveWJIVmFNbHBvV1RKVmRtRXlWbmtLWW0xV2MyTjVNV3BpTWpGMFpGYzFjR1JJYTNaWlYwNHdZVmM1ZFdONU9YbGtWelY2VEhwSk5FOVVUWGhOYWtVelRVUk5kMHd5UmpCa1IxWjBZMGhTZWdwTWVrVjNSbWRaUzB0M1dVSkNRVWRFZG5wQlFrWm5VVWxFUVZwM1pGZEtjMkZYVFhkU1oxbExTM2RaUWtKQlIwUjJla0ZDUjBGUk5FUkVXbmxhV0VKMkNrOXRhREZhTW1Sd1ltMWtiVmxYVG14TU1uUnNZMjAxYkdKSVRYUlpNamwwWWxoV2RXRllValZQYmtwc1dtcHdlVnBYV25wTU1taHNXVmRTZWt3eU1XZ0tZVmMwZDJkWmIwZERhWE5IUVZGUlFqRnVhME5DUVVsRlprRlNOa0ZJWjBGa1owUmtVRlJDY1hoelkxSk5iVTFhU0doNVdscDZZME52YTNCbGRVNDBPQXB5Wml0SWFXNUxRVXg1Ym5WcVowRkJRVm81UWtkS1JFdEJRVUZGUVhkQ1NFMUZWVU5KUW1oMlZISjBVVFpUTmpoa1QyVkpVM2t4UTBSeVpUWXlNV1pCQ2pGaWVFTllOakppYkVaQlRGTmxURE5CYVVWQmRtbGpZbWxHUVVWc1VYUnFXR0Z4Um5VeGFuWnJhMlZ3V1hKc1UwWlVPRFI1YTJjNFZHRnhiVEpxTUhjS1EyZFpTVXR2V2tsNmFqQkZRWGROUkdGQlFYZGFVVWw0UVV4bWJWRnlja293TVRVM01uaHVRVU5DYUN0cmJpdDFRbkJJWkZOcGRYVnpLMHhxTmxWb0t3cHBhVzlLVWxZNVdHbFlTREoxWnpSNGNWQkNOamxDZDNFclowbDNXV1JxZVVobVUzZHFWbmR4ZUdwTWJsa3hNbFpQVjJFNE0zaDJNbFZUVHpneVQxRlZDblZoYlhFMWJtcFJaRms1UzNKT2QxSXhMMHg0TlRoTVlsZDNlbTBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgEI9YoKC01JNcgfayyhWKOy1CiuZGPTPpAm5g6iqyIAUCFQCc9jSqHxE1rlnGPi6Lz08KIRq+6xgPMjAyNjA3MDgwOTM5MTZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDcwODA5MzkxNlowLwYJKoZIhvcNAQkEMSIEIF6Qf01hzBDw1N2uI6lpVwt2NvJZA7ZLtSjlJGKBD3xRMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMBFQBhUVZZSJSjpGnes3WE47Q9D025cs7Gb/o0yT++e8onObeDFCHdtDNorSMBSMhQIwVIV4uqIVtmVBDESt7jlPz2URgXMSz7bHG7TZLDFeoW5FxoKtrK7UQMiFbnlTYJw3"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"2fm43o54C5hO4DC+9UzLy1HA1NHkdpnmNdq34Gd8Dfo="},"signature":"MEUCIAsYkTggRS6RgIEYVL8SUTvwL2d8e5U8rTBE0VH7y4JSAiEAgCEdqv3RsFIZGMY1xpKfqBrFT77FeqaDu/grBzcamnQ="}}
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHYTCCBuegAwIBAgIUMFlR5fcnf0J5IzgvNorwVEW6TqcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI2MTUzMTE5WhcNMjYwODI2MTU0MTE5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECJUKm5wkUV0WVfYhklvKxARN1aTfKxqpHFeFZ6eXWIQzSHjSVTtmVLQZBUVNh6tmrhvD/BCn+L/PSa/5WNhux6OCBgYwggYCMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQULk1t+CqDBVJJjT1iNuecqWRMcfcwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wbwYDVR0RAQH/BGUwY4ZhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwGwYKKwYBBAGDvzABBAQNQnVpbGQgKG1hY09TKTArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHEGCisGAQQBg78wAQkEYwxhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAEKBCoMKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBxBgorBgEEAYO/MAESBGMMYWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC1tYWMueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDChhZGRmNDc0MWZhZmI1NWI0YzEwMWIxNTk4NWRmYWVlYTdjN2MyZjNhMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwZAYKKwYBBAGDvzABFQRWDFRodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvYWN0aW9ucy9ydW5zLzMyOTgzOTE4MzEyL2F0dGVtcHRzLzEwFgYKKwYBBAGDvzABFgQIDAZwdWJsaWMwRgYKKwYBBAGDvzABGAQ4DDZyZXBvOmh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5OnJlZjpyZWZzL2hlYWRzL21haW4wgYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAaA+sns3AAAEAwBHMEUCICq+wu4nY7my8b00d+jqyhWValQ5IQ8UaHTfQLjROoerAiEA5sQcquWmSpmZGYcExrwrDXRqr1l/ZzAiY3tgVHyVgPcwCgYIKoZIzj0EAwMDaAAwZQIwMpCK8kSSwpf9nRargtjkKS87GKAJAwRPj7eQeU+WWomgnjl+GcNzYr/dhuiLDuLqAjEA9QzwEV1ERoPsRPRLxHhDojgCGD3McVBnoB+1DljUJD0mkYCoqw2JHtGuSguy603/"},"tlogEntries":[{"logIndex":"2604263473","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787758279","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDK9P5ZPMZ6jycM9J7UEP20aAWi3j1qgh9avT+iFCBgbgIgQBADhE8j9/SKgZ6xaj0W4P1v9ASB1g6Wai1sR0dGQ0E="},"inclusionProof":{"logIndex":"2482359211","rootHash":"Bq61Z7Adrv8TmMZty2T0qvpdk7xhGgPY0wRx9D0kFUk=","treeSize":"2482359213","hashes":["2yTo+8XXz6zjzy2QCRThsYMkR+U8AxEUwayOD1SIyDo=","fEGw7VhBfXhdcnRXMLEWYyCfZNQjYHiYibtgWra7bsw=","vLnwPgzAJrvJmE7ELvIYSpqT3VCTn8Hz628EdqIX5mU=","gqNjQ3lhRHeVP2HMPhWMQoQTHK4Uwyvdzcl9uE12G7g=","W8Jhcm4FmM2wa4yHLnrEQZuIUdEKl6SiDdgBkHIrnkc=","vaUwi2kJVHNf42Vkmu1D2dIqMKt3HLfRCfLBcqDaUI0=","hBpsgG4RR1RW5ot6inlN3d1DnyslVUJ0QbVvQIWukj0=","+3pf+In4uKUm8rktj76vdcNy/AmpmhYBrBPsKtNwXv8=","9ny+wAqGnBkD3U5r//l1EPcTsMZNhbDDrEIk4kLMQwU=","MFLWQWyiITaEpXCfkR1cfStcpSxfKI2LBWUN6GKS1uo=","4JhGDqW0S25GL6qAvxJjeKnYVZhIzhZuB3JtTy47ldI=","0GNf0zaIHsUqMdbhnfrOsaFEnvm83QyLcrcZggRKvnM=","E4fyF5ziVQ+jMdjjOYV9MVJbtLvheL8kSUNlLJ/5EMc=","XcX3K1G/cLKou84x4VmtOSVAaiSMWFWrN6G2n7EPVEY=","qJ5ew1WabVvRicNN8QNXM+c06ksDiQzNwS4x2NeyiRA=","SMbkl3QRXatqcitbce4Lvrq9SVr739GwkXngXdzXD9s=","KNuAVQKXhOhFJ2hfB7WVJu8CwctJkwa0qN8SUTuX6Zc=","CC5iK0YZS8oHpGoRj50mLGEKhW1UNOwgAyCKIiVoU+c=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2482359213\nBq61Z7Adrv8TmMZty2T0qvpdk7xhGgPY0wRx9D0kFUk=\n\n— rekor.sigstore.dev wNI9ajBFAiBubP/OFZuPXVK17r2Yv0xc4hUvWOsJKx9JaZvhPGZcYAIhAKeLDPOO10q4t5xlIlBN59jHBvpOkgdnb6Fib5gsKa0o\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJhODIzMTczNWFmMmVlNjMwZjM0NGE5N2E0MDRlNjZiZDc3YmZkMjFmNzJkMDQyNWM4ODRhNDEzYjZiMDI1ZmFhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQm5WanZVTCtiSWdzb2dBUC9RVForUVc0T241VUdNNFRPMmYrL3NUcEJvNUFpRUFoZEVGSHRodXFVUzVLMUZjazUycDFQU2hHbWtiZWpPd0xWbkVDOHV5Z1JjPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFpWRU5EUW5WbFowRjNTVUpCWjBsVlRVWnNValZtWTI1bU1FbzFTWHBuZGs1dmNuZFdSVmMyVkhGamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RKTlZGVjZUVlJGTlZkb1kwNU5hbGwzVDBSSk1rMVVWVEJOVkVVMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZEU2xWTGJUVjNhMVZXTUZkV1psbG9hMngyUzNoQlVrNHhZVlJtUzNoeGNFaEdaVVlLV2pabFdGZEpVWHBUU0dwVFZsUjBiVlpNVVZwQ1ZWWk9hRFowYlhKb2RrUXZRa051SzB3dlVGTmhMelZYVG1oMWVEWlBRMEpuV1hkbloxbERUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZNYXpGMENpdERjVVJDVmtwS2FsUXhhVTUxWldOeFYxSk5ZMlpqZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJKM1dVUldVakJTUVZGSUwwSkhWWGRaTkZwb1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4WE1XaFplVFUxQ2xsWE1YTlJTRXBzV201TmRtRkhWbWhhU0UxMllsZEdjR0pxUVRWQ1oyOXlRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5VS1RHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZtbGtXRTVzWTIxT2RtSnVVbXhpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RncGpiWFJ0WWtjNU0xZ3lVbkJqTTBKb1pFZE9iMDFFV1VkRGFYTkhRVkZSUW1jM09IZEJVVTFGUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRGWmFsSnFDazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1IzZFpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVVNVJibFp3WWtkUlowdEhNV2dLV1RBNVZFdFVRWEpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0l4YjJSWFpHNWhWelZ1V20xR2FscFRPWEphV0VwMVdsZDRla3hYVG5aaVZ6RXhZbTFzTUFwbFZFRmtRbWR2Y2tKblJVVkJXVTh2VFVGRlIwSkJPWGxhVjFwNlRESm9iRmxYVW5wTU1qRm9ZVmMwZDA5M1dVdExkMWxDUWtGSFJIWjZRVUpEUVZGMENrUkRkRzlrU0ZKM1kzcHZka3d6VW5aaE1sWjFURzFHYW1SSGJIWmliazExV2pKc01HRklWbWxrV0U1c1kyMU9kbUp1VW14aWJsRjFXVEk1ZEUxSVJVY0tRMmx6UjBGUlVVSm5OemgzUVZGclJWbDNlR2hoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiQXBqYlRWc1lraE5kRmt5T1hSaVdGWjFZVmhTTlV4NU5XNWhXRkp2WkZkSmRtUXlPWGxoTWxwellqTmtla3d5U2pGaFYzaHJURmN4YUZsNU5UVlpWekZ6Q2xGSVNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJVdENRMjlOUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRFS1dXcFNhazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtOM1VWQkVRVEZ1WVZoU2J3cGtWMGwwWVVjNWVtUkhWbXROUlVGSFEybHpSMEZSVVVKbk56aDNRVkYzUlUxbmQzZGhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkVmt5T1hSTU1tZ3hDbG95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFJpV0ZaMVlWaFNOVTFFWjBkRGFYTkhRVkZSUW1jM09IZEJVVEJGUzJkM2IxbFhVbXNLV21wUk0wNUVSbTFaVjFwcFRsUldhVTVIVFhoTlJFWnBUVlJWTlU5RVZtdGFiVVpzV2xkRk0xbDZaR3BOYlZsNldWUkJaa0puYjNKQ1owVkZRVmxQTHdwTlFVVlBRa0pGVFVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJZVUpuYjNKQ1owVkZRVmxQTDAxQlJWQkNRWGROUTJwRmQwNTZSVEJPZWxVeENrMXFhM2RNWjFsTFMzZFpRa0pCUjBSMmVrRkNSVUZSWjBSQ05XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZDBkQldVdExkMWxDUWtGSFJIWjZRVUpGVVZGTFJFRm5lVTVVWTNsTlJHTXdUWHBDZUVKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjAxTldWZG9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemgxQ2xveWJEQmhTRlpwVEROa2RtTnRkRzFpUnprelkzazVhV1JYYkhOYVF6RjBXVmROZFdWWFJuUmlSVUo1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhjS1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmhvV2tkU2JVNUVZekJOVjFwb1dtMUpNVTVYU1RCWmVrVjNUVmRKZUU1VWF6Uk9WMUp0V1ZkV2JBcFpWR1JxVGpKTmVWcHFUbWhOUTBWSFEybHpSMEZSVVVKbk56aDNRVkpSUlVWM2QxSmtNamw1WVRKYWMySXpaR1phUjJ4NlkwZEdNRmt5WjNkYVFWbExDa3QzV1VKQ1FVZEVkbnBCUWtaUlVsZEVSbEp2WkVoU2QyTjZiM1pNTW1Sd1pFZG9NVmxwTldwaU1qQjJZVWhXYmxveWJIVmFNbHBvV1RKVmRtRXlWbmtLWW0xV2MyTjVNV3BpTWpGMFpGYzFjR1JJYTNaWlYwNHdZVmM1ZFdONU9YbGtWelY2VEhwTmVVOVVaM3BQVkVVMFRYcEZlVXd5UmpCa1IxWjBZMGhTZWdwTWVrVjNSbWRaUzB0M1dVSkNRVWRFZG5wQlFrWm5VVWxFUVZwM1pGZEtjMkZYVFhkU1oxbExTM2RaUWtKQlIwUjJla0ZDUjBGUk5FUkVXbmxhV0VKMkNrOXRhREZhTW1Sd1ltMWtiVmxYVG14TU1uUnNZMjAxYkdKSVRYUlpNamwwWWxoV2RXRllValZQYmtwc1dtcHdlVnBYV25wTU1taHNXVmRTZWt3eU1XZ0tZVmMwZDJkWmIwZERhWE5IUVZGUlFqRnVhME5DUVVsRlprRlNOa0ZJWjBGa1owUmtVRlJDY1hoelkxSk5iVTFhU0doNVdscDZZME52YTNCbGRVNDBPQXB5Wml0SWFXNUxRVXg1Ym5WcVowRkJRV0ZCSzNOdWN6TkJRVUZGUVhkQ1NFMUZWVU5KUTNFcmQzVTBibGszYlhrNFlqQXdaQ3RxY1hsb1YxWmhiRkUxQ2tsUk9GVmhTRlJtVVV4cVVrOXZaWEpCYVVWQk5YTlJZM0YxVjIxVGNHMWFSMWxqUlhoeWQzSkVXRkp4Y2pGc0wxcDZRV2xaTTNSblZraDVWbWRRWTNjS1EyZFpTVXR2V2tsNmFqQkZRWGROUkdGQlFYZGFVVWwzVFhCRFN6aHJVMU4zY0dZNWJsSmhjbWQwYW10TFV6ZzNSMHRCU2tGM1VsQnFOMlZSWlZVclZ3cFhiMjFuYm1wc0swZGpUbnBaY2k5a2FIVnBURVIxVEhGQmFrVkJPVkY2ZDBWV01VVlNiMUJ6VWxCU1RIaElhRVJ2YW1kRFIwUXpUV05XUW01dlFpc3hDa1JzYWxWS1JEQnRhMWxEYjNGM01rcElkRWQxVTJkMWVUWXdNeThLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgGQMc7pFMHF4miOn/1peAcNa3mI8MYZA0kqWlpzcaX2ICFGmU1OtdJXd4geZWybqtKdsnu+qbGA8yMDI2MDgyNjE1MzExOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI2MTUzMTE5WjAvBgkqhkiG9w0BCQQxIgQgOPGNMRUKfexq+cZbnj9gCx4OT4rW1uuayz88WT32yNcwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwRNjtZ8RqT9xNiaIKejrcugYYPBORLImYuAT8lUwtluiizF9JnKaB2Gfq2RFXql0MAjAe8tmHkXl/Dzlez05Kc+aXjlhyhlJJkVxFK8awT6WM75hAQM0uC0LRWES3JOYS9fQ="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"qCMXNa8u5jDzRKl6QE5mvXe/0h9y0EJciEpBO2sCX6o="},"signature":"MEUCIBnVjvUL+bIgsogAP/QTZ+QW4On5UGM4TO2f+/sTpBo5AiEAhdEFHthuqUS5K1Fck52p1PShGmkbejOwLVnEC8uygRc="}}
build/torch213-metal-aarch64-darwin/mlx_quantization_metal_kernels/__init__.py DELETED
@@ -1,26 +0,0 @@
1
- import ctypes
2
- import importlib.util
3
- import sys
4
- from pathlib import Path
5
- from types import ModuleType
6
-
7
-
8
- def _import_from_path(file_path: Path) -> ModuleType:
9
- # We cannot use the module name as-is, after adding it to `sys.modules`,
10
- # it would also be used for other imports. So, we make a module name that
11
- # depends on the path for it to be unique using the hex-encoded hash of
12
- # the path.
13
- path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
14
- module_name = path_hash
15
- spec = importlib.util.spec_from_file_location(module_name, file_path)
16
- if spec is None:
17
- raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
18
- module = importlib.util.module_from_spec(spec)
19
- if module is None:
20
- raise ImportError(f"Cannot load module {module_name} from spec")
21
- sys.modules[module_name] = module
22
- spec.loader.exec_module(module) # type: ignore
23
- return module
24
-
25
-
26
- globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
build/torch214-metal-aarch64-darwin/__init__.py ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ # =============================================================================
9
+ # FP-quantized (MXFP4) operations
10
+ # =============================================================================
11
+
12
+
13
+ def mxfp4_qmm_n(
14
+ x: torch.Tensor,
15
+ w: torch.Tensor,
16
+ scales: torch.Tensor,
17
+ output_features: int,
18
+ ) -> torch.Tensor:
19
+ """Matrix-matrix multiply with MXFP4 quantized non-transposed weight.
20
+
21
+ Computes y = x @ dequantize(w, scales).
22
+ x: [..., M, K], w: [K_packed, N_packed] (uint32), y: [..., M, output_features]
23
+ """
24
+ return ops.mxfp4_qmm_n(x, w, scales, output_features)
25
+
26
+
27
+ def mxfp4_qmv(
28
+ x: torch.Tensor,
29
+ w: torch.Tensor,
30
+ scales: torch.Tensor,
31
+ output_features: int,
32
+ ) -> torch.Tensor:
33
+ """Matrix-vector multiply with MXFP4 quantized weight.
34
+
35
+ Computes y = dequantize(w, scales) @ x.
36
+ x: [..., K], w: [N, K_packed] (uint32), y: [..., output_features]
37
+ """
38
+ return ops.mxfp4_qmv(x, w, scales, output_features)
39
+
40
+
41
+ # =============================================================================
42
+ # Affine quantized operations (scales + biases)
43
+ # =============================================================================
44
+
45
+
46
+ def affine_qmv(
47
+ x: torch.Tensor,
48
+ w: torch.Tensor,
49
+ scales: torch.Tensor,
50
+ biases: torch.Tensor,
51
+ output_features: int,
52
+ group_size: int = 128,
53
+ bits: int = 4,
54
+ ) -> torch.Tensor:
55
+ """Matrix-vector multiply with affine quantized weight.
56
+
57
+ x: [..., K], w: [N, K_packed], y: [..., output_features]
58
+ """
59
+ return ops.affine_qmv(x, w, scales, biases, group_size, bits, output_features)
60
+
61
+
62
+ def affine_qmm_t(
63
+ x: torch.Tensor,
64
+ w: torch.Tensor,
65
+ scales: torch.Tensor,
66
+ biases: torch.Tensor,
67
+ group_size: int = 128,
68
+ bits: int = 4,
69
+ ) -> torch.Tensor:
70
+ """Matrix-matrix multiply with affine quantized transposed weight.
71
+
72
+ Computes y = x @ dequantize(w, scales, biases).T
73
+ x: [..., M, K], w: [N, K_packed], y: [..., M, N]
74
+ N is inferred from w.size(0).
75
+ """
76
+ return ops.affine_qmm_t(x, w, scales, biases, group_size, bits)
77
+
78
+
79
+ def affine_qmm_n(
80
+ x: torch.Tensor,
81
+ w: torch.Tensor,
82
+ scales: torch.Tensor,
83
+ biases: torch.Tensor,
84
+ output_features: int,
85
+ group_size: int = 128,
86
+ bits: int = 4,
87
+ ) -> torch.Tensor:
88
+ """Matrix-matrix multiply with affine quantized non-transposed weight.
89
+
90
+ Computes y = x @ dequantize(w, scales, biases)
91
+ x: [..., M, K], w: [K_packed, N_packed], y: [..., M, output_features]
92
+ """
93
+ return ops.affine_qmm_n(x, w, scales, biases, group_size, bits, output_features)
94
+
95
+
96
+ # =============================================================================
97
+ # Affine quantized NAX operations (MetalPerformancePrimitives accelerated)
98
+ # =============================================================================
99
+
100
+
101
+ def affine_qmm_t_nax(
102
+ x: torch.Tensor,
103
+ w: torch.Tensor,
104
+ scales: torch.Tensor,
105
+ biases: torch.Tensor,
106
+ group_size: int = 128,
107
+ bits: int = 4,
108
+ ) -> torch.Tensor:
109
+ """NAX-accelerated matrix-matrix multiply with transposed quantized weight.
110
+
111
+ x: [..., M, K], w: [N, K_packed], y: [..., M, N]
112
+ """
113
+ return ops.affine_qmm_t_nax(x, w, scales, biases, group_size, bits)
114
+
115
+
116
+ def affine_qmm_n_nax(
117
+ x: torch.Tensor,
118
+ w: torch.Tensor,
119
+ scales: torch.Tensor,
120
+ biases: torch.Tensor,
121
+ output_features: int,
122
+ group_size: int = 128,
123
+ bits: int = 4,
124
+ ) -> torch.Tensor:
125
+ """NAX-accelerated matrix-matrix multiply with non-transposed quantized weight.
126
+
127
+ x: [..., M, K], w: [K_packed, N_packed], y: [..., M, output_features]
128
+ """
129
+ return ops.affine_qmm_n_nax(x, w, scales, biases, group_size, bits, output_features)
130
+
131
+
132
+ def affine_gather_qmm_rhs_nax(
133
+ x: torch.Tensor,
134
+ w: torch.Tensor,
135
+ scales: torch.Tensor,
136
+ biases: torch.Tensor,
137
+ indices: torch.Tensor,
138
+ output_features: int,
139
+ group_size: int = 128,
140
+ bits: int = 4,
141
+ transpose: bool = True,
142
+ ) -> torch.Tensor:
143
+ """NAX-accelerated gather + matrix-matrix multiply.
144
+
145
+ Gathers weight rows using indices, then computes matmul.
146
+ x: [M, K], w: [num_experts, ...], indices: [M], y: [M, output_features]
147
+ """
148
+ return ops.affine_gather_qmm_rhs_nax(
149
+ x, w, scales, biases, indices, group_size, bits, output_features, transpose
150
+ )
151
+
152
+
153
+ __all__ = [
154
+ "mxfp4_qmm_n",
155
+ "mxfp4_qmv",
156
+ "affine_qmv",
157
+ "affine_qmm_t",
158
+ "affine_qmm_n",
159
+ "affine_qmm_t_nax",
160
+ "affine_qmm_n_nax",
161
+ "affine_gather_qmm_rhs_nax",
162
+ ]
build/torch214-metal-aarch64-darwin/_mlx_quantization_metal_kernels_metal_addf474.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26146392dfe61b7b69d14e33430c68e0e487987959a3c161f203ad8b36b857cb
3
+ size 40011496
build/torch214-metal-aarch64-darwin/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _mlx_quantization_metal_kernels_metal_addf474
3
+ ops = torch.ops._mlx_quantization_metal_kernels_metal_addf474
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_mlx_quantization_metal_kernels_metal_addf474::{op_name}"
build/torch214-metal-aarch64-darwin/metadata.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "mlx-quantization-metal-kernels",
3
+ "id": "_mlx_quantization_metal_kernels_metal_addf474",
4
+ "version": 1,
5
+ "license": "MIT",
6
+ "python-depends": [],
7
+ "kernel-depends": [],
8
+ "backend": {
9
+ "type": "metal"
10
+ },
11
+ "digest": {
12
+ "algorithm": "sha256",
13
+ "files": {
14
+ "__init__.py": "RPKCn/crnlxPPRM3jVlrOE93840kDxotM2/B0Tw2Rp4=",
15
+ "_mlx_quantization_metal_kernels_metal_addf474.abi3.so": "JhRjkt/mG3tp0U4zQwxo4OSHmHlZo8Fh8gOtiza4V8s=",
16
+ "_ops.py": "R3tE/FNNPqVu3lFXLQtc1FSA3Z4f7saY96Orv5/lVK8="
17
+ }
18
+ },
19
+ "provenance": {
20
+ "kernel-builder": {
21
+ "version": "0.17.0-dev0",
22
+ "commit": "081dcd473f8eca27226eef1f9c47c45b86c756b5",
23
+ "dirty": false
24
+ },
25
+ "kernel": {
26
+ "commit": "addf4741fafb55b4c101b15985dfaeea7c7c2f3a",
27
+ "dirty": false
28
+ }
29
+ }
30
+ }
build/torch214-metal-aarch64-darwin/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHYjCCBuigAwIBAgIUfhOeWgbH0DROCcG8pn8qZo9lRokwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI2MTUzMTE2WhcNMjYwODI2MTU0MTE2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElRo9eDNZKEtBsbJ1XEKp7Jyv3VrPoFaF/UCCECdEwgdFiISxSSrKPBDNNReDLMDwj42tNiGdRD0zDW/F5zzi7qOCBgcwggYDMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUnNQF7/9Cvbc2WSoWXcEWKKYELeQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wbwYDVR0RAQH/BGUwY4ZhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA5BgorBgEEAYO/MAEBBCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMB8GCisGAQQBg78wAQIEEXdvcmtmbG93X2Rpc3BhdGNoMDYGCisGAQQBg78wAQMEKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwGwYKKwYBBAGDvzABBAQNQnVpbGQgKG1hY09TKTArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHEGCisGAQQBg78wAQkEYwxhaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLW1hYy55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAEKBCoMKGFkZGY0NzQxZmFmYjU1YjRjMTAxYjE1OTg1ZGZhZWVhN2M3YzJmM2EwHQYKKwYBBAGDvzABCwQPDA1naXRodWItaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYWRkZjQ3NDFmYWZiNTViNGMxMDFiMTU5ODVkZmFlZWE3YzdjMmYzYTAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBxBgorBgEEAYO/MAESBGMMYWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC1tYWMueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDChhZGRmNDc0MWZhZmI1NWI0YzEwMWIxNTk4NWRmYWVlYTdjN2MyZjNhMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwZAYKKwYBBAGDvzABFQRWDFRodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvYWN0aW9ucy9ydW5zLzMyOTgzOTE4MzEyL2F0dGVtcHRzLzEwFgYKKwYBBAGDvzABFgQIDAZwdWJsaWMwRgYKKwYBBAGDvzABGAQ4DDZyZXBvOmh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5OnJlZjpyZWZzL2hlYWRzL21haW4wgYsGCisGAQQB1nkCBAIEfQR7AHkAdwDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAaA+snBvAAAEAwBIMEYCIQD+pLakB/nvqzZ7W3A4yBiyM1hX3pZ+ikuW++yeM1jtVwIhAOFf5j4RJRy5IK/lxwTn7proMTznojssSEWqwkG4rfUXMAoGCCqGSM49BAMDA2gAMGUCMDEnnz08j9VrEVKvHAU/fxgjW05XfefLcKz6VlUhtwi+aXQNXqeCxLhVqqb7cW5tggIxAL3g6ZdFskO9GgwwgcSaajCDY2wUnPhFUZRLbCBL/1si3IsWmEDmSQ0FSZsh8r0CWw=="},"tlogEntries":[{"logIndex":"2604263423","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787758277","inclusionPromise":{"signedEntryTimestamp":"MEYCIQDav002o8roRRpVQ8d0b5qryc4lbYGNbqXXbVR7VLjWsAIhAOYnIRL+A7WLe+WNJwsMbhIDlYN/F6yWCtgniYv2SZhP"},"inclusionProof":{"logIndex":"2482359161","rootHash":"w+3sovrWgn9cE3oSEmRTnnAqcjAK828N60DuDTSOu9g=","treeSize":"2482359163","hashes":["uB4bmgQFc7/N1ZZC+iqQ0Fp70t4svnS6X6a7DJnTPIU=","Ei6Mgf6TKaSOBJs8ToselkcRPOTFwuHNMRvu7eK0KmA=","SJttTOGCJDfQwavedzhLZmb7PJOh535w6YnvXZLNnqg=","AAyhE6qapeoVwdSEvrQBYg8r4QmjK7Bd4tGSek/SNlA=","EgTaal6cYfKmLVY1RmRBgnLHvevizRAn5H8VkSOmPxI=","vQrp8+KhEFiNdedDkYtvTA1RdkEvzr9R/uk6PfYjUSY=","hBpsgG4RR1RW5ot6inlN3d1DnyslVUJ0QbVvQIWukj0=","+3pf+In4uKUm8rktj76vdcNy/AmpmhYBrBPsKtNwXv8=","9ny+wAqGnBkD3U5r//l1EPcTsMZNhbDDrEIk4kLMQwU=","MFLWQWyiITaEpXCfkR1cfStcpSxfKI2LBWUN6GKS1uo=","4JhGDqW0S25GL6qAvxJjeKnYVZhIzhZuB3JtTy47ldI=","0GNf0zaIHsUqMdbhnfrOsaFEnvm83QyLcrcZggRKvnM=","E4fyF5ziVQ+jMdjjOYV9MVJbtLvheL8kSUNlLJ/5EMc=","XcX3K1G/cLKou84x4VmtOSVAaiSMWFWrN6G2n7EPVEY=","qJ5ew1WabVvRicNN8QNXM+c06ksDiQzNwS4x2NeyiRA=","SMbkl3QRXatqcitbce4Lvrq9SVr739GwkXngXdzXD9s=","KNuAVQKXhOhFJ2hfB7WVJu8CwctJkwa0qN8SUTuX6Zc=","CC5iK0YZS8oHpGoRj50mLGEKhW1UNOwgAyCKIiVoU+c=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2482359163\nw+3sovrWgn9cE3oSEmRTnnAqcjAK828N60DuDTSOu9g=\n\n— rekor.sigstore.dev wNI9ajBFAiABZED6C6kH6LWAfrHV4OqAQNmBsxL2xazaBcdSYE50VQIhAJMQ33Ia+YWh1emAVXZxR5PclDyaJdTVUwnKiltCmEra\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIwZDBjMDhjYTA1NDgzNDdmMzdkMzczNmNlNzQwMTNlZmM5YTdmNjM1OGUwZTk5ZTc0YzEwYTI5MTEyOTg5ZWE3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNxKys2WEhPdm1jRGk1aHBGcE5xZ0RrT2gzVGcvckNBUzRoYXpLL3E2RUtBSWdiNnVZS2QxeHpxb2lOK01MR25qOWt2V0FDM2pFejcvbGRGQk1PZ2xTQlI0PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFpha05EUW5WcFowRjNTVUpCWjBsVlptaFBaVmRuWWtnd1JGSlBRMk5IT0hCdU9IRmFiemxzVW05cmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RKTlZGVjZUVlJGTWxkb1kwNU5hbGwzVDBSSk1rMVVWVEJOVkVVeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzVW04NVpVUk9Xa3RGZEVKellrb3hXRVZMY0RkS2VYWXpWbkpRYjBaaFJpOVZRME1LUlVOa1JYZG5aRVpwU1ZONFUxTnlTMUJDUkU1T1VtVkVURTFFZDJvME1uUk9hVWRrVWtRd2VrUlhMMFkxZW5wcE4zRlBRMEpuWTNkbloxbEVUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZ1VGxGR0NqY3ZPVU4yWW1NeVYxTnZWMWhqUlZkTFMxbEZUR1ZSZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJKM1dVUldVakJTUVZGSUwwSkhWWGRaTkZwb1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4WE1XaFplVFUxQ2xsWE1YTlJTRXBzV201TmRtRkhWbWhhU0UxMllsZEdjR0pxUVRWQ1oyOXlRbWRGUlVGWlR5OU5RVVZDUWtOMGIyUklVbmRqZW05MlRETlNkbUV5Vm5VS1RHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZtbGtXRTVzWTIxT2RtSnVVbXhpYmxGMVdUSTVkRTFDT0VkRGFYTkhRVkZSUW1jM09IZEJVVWxGUlZoa2RncGpiWFJ0WWtjNU0xZ3lVbkJqTTBKb1pFZE9iMDFFV1VkRGFYTkhRVkZSUW1jM09IZEJVVTFGUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRGWmFsSnFDazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1IzZFpTMHQzV1VKQ1FVZEVkbnBCUWtKQlVVNVJibFp3WWtkUlowdEhNV2dLV1RBNVZFdFVRWEpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0l4YjJSWFpHNWhWelZ1V20xR2FscFRPWEphV0VwMVdsZDRla3hYVG5aaVZ6RXhZbTFzTUFwbFZFRmtRbWR2Y2tKblJVVkJXVTh2VFVGRlIwSkJPWGxhVjFwNlRESm9iRmxYVW5wTU1qRm9ZVmMwZDA5M1dVdExkMWxDUWtGSFJIWjZRVUpEUVZGMENrUkRkRzlrU0ZKM1kzcHZka3d6VW5aaE1sWjFURzFHYW1SSGJIWmliazExV2pKc01HRklWbWxrV0U1c1kyMU9kbUp1VW14aWJsRjFXVEk1ZEUxSVJVY0tRMmx6UjBGUlVVSm5OemgzUVZGclJWbDNlR2hoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiQXBqYlRWc1lraE5kRmt5T1hSaVdGWjFZVmhTTlV4NU5XNWhXRkp2WkZkSmRtUXlPWGxoTWxwellqTmtla3d5U2pGaFYzaHJURmN4YUZsNU5UVlpWekZ6Q2xGSVNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJVdENRMjlOUzBkR2ExcEhXVEJPZWxGNFdtMUdiVmxxVlRFS1dXcFNhazFVUVhoWmFrVXhUMVJuTVZwSFdtaGFWMVpvVGpKTk0xbDZTbTFOTWtWM1NGRlpTMHQzV1VKQ1FVZEVkbnBCUWtOM1VWQkVRVEZ1WVZoU2J3cGtWMGwwWVVjNWVtUkhWbXROUlVGSFEybHpSMEZSVVVKbk56aDNRVkYzUlUxbmQzZGhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkVmt5T1hSTU1tZ3hDbG95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFJpV0ZaMVlWaFNOVTFFWjBkRGFYTkhRVkZSUW1jM09IZEJVVEJGUzJkM2IxbFhVbXNLV21wUk0wNUVSbTFaVjFwcFRsUldhVTVIVFhoTlJFWnBUVlJWTlU5RVZtdGFiVVpzV2xkRk0xbDZaR3BOYlZsNldWUkJaa0puYjNKQ1owVkZRVmxQTHdwTlFVVlBRa0pGVFVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJZVUpuYjNKQ1owVkZRVmxQTDAxQlJWQkNRWGROUTJwRmQwNTZSVEJPZWxVeENrMXFhM2RNWjFsTFMzZFpRa0pCUjBSMmVrRkNSVUZSWjBSQ05XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZDBkQldVdExkMWxDUWtGSFJIWjZRVUpGVVZGTFJFRm5lVTVVWTNsTlJHTXdUWHBDZUVKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjAxTldWZG9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemgxQ2xveWJEQmhTRlpwVEROa2RtTnRkRzFpUnprelkzazVhV1JYYkhOYVF6RjBXVmROZFdWWFJuUmlSVUo1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhjS1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmhvV2tkU2JVNUVZekJOVjFwb1dtMUpNVTVYU1RCWmVrVjNUVmRKZUU1VWF6Uk9WMUp0V1ZkV2JBcFpWR1JxVGpKTmVWcHFUbWhOUTBWSFEybHpSMEZSVVVKbk56aDNRVkpSUlVWM2QxSmtNamw1WVRKYWMySXpaR1phUjJ4NlkwZEdNRmt5WjNkYVFWbExDa3QzV1VKQ1FVZEVkbnBCUWtaUlVsZEVSbEp2WkVoU2QyTjZiM1pNTW1Sd1pFZG9NVmxwTldwaU1qQjJZVWhXYmxveWJIVmFNbHBvV1RKVmRtRXlWbmtLWW0xV2MyTjVNV3BpTWpGMFpGYzFjR1JJYTNaWlYwNHdZVmM1ZFdONU9YbGtWelY2VEhwTmVVOVVaM3BQVkVVMFRYcEZlVXd5UmpCa1IxWjBZMGhTZWdwTWVrVjNSbWRaUzB0M1dVSkNRVWRFZG5wQlFrWm5VVWxFUVZwM1pGZEtjMkZYVFhkU1oxbExTM2RaUWtKQlIwUjJla0ZDUjBGUk5FUkVXbmxhV0VKMkNrOXRhREZhTW1Sd1ltMWtiVmxYVG14TU1uUnNZMjAxYkdKSVRYUlpNamwwWWxoV2RXRllValZQYmtwc1dtcHdlVnBYV25wTU1taHNXVmRTZWt3eU1XZ0tZVmMwZDJkWmMwZERhWE5IUVZGUlFqRnVhME5DUVVsRlpsRlNOMEZJYTBGa2QwUmtVRlJDY1hoelkxSk5iVTFhU0doNVdscDZZME52YTNCbGRVNDBPQXB5Wml0SWFXNUxRVXg1Ym5WcVowRkJRV0ZCSzNOdVFuWkJRVUZGUVhkQ1NVMUZXVU5KVVVRcmNFeGhhMEl2Ym5aeGVsbzNWek5CTkhsQ2FYbE5NV2hZQ2pOd1dpdHBhM1ZYS3l0NVpVMHhhblJXZDBsb1FVOUdaalZxTkZKS1VuazFTVXN2YkhoM1ZHNDNjSEp2VFZSNmJtOXFjM05UUlZkeGQydEhOSEptVlZnS1RVRnZSME5EY1VkVFRUUTVRa0ZOUkVFeVowRk5SMVZEVFVSRmJtNTZNRGhxT1ZaeVJWWkxka2hCVlM5bWVHZHFWekExV0dabFpreGpTM28yVm14VmFBcDBkMmtyWVZoUlRsaHhaVU40VEdoV2NYRmlOMk5YTlhSblowbDRRVXd6WnpaYVpFWnphMDg1UjJkM2QyZGpVMkZoYWtORVdUSjNWVzVRYUVaVldsSk1DbUpEUWt3dk1YTnBNMGx6VjIxRlJHMVRVVEJHVTFwemFEaHlNRU5YZHowOUNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSyJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgcdRouzO92qIjYjhB2fh8Wif2uh4d9yAPKAHcuv95Xw4CFQCHeZFX0LgZkylXHE2uTh8LEBzvRBgPMjAyNjA4MjYxNTMxMTZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNjE1MzExNlowLwYJKoZIhvcNAQkEMSIEIBWDpG5f2xkDt0Y39CxS6p8Fkz39XGBlVDP0vXZlShJ3MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMBcdkxZBKB59gGUiBprtePliLcEtnzhaAG45OF/aYH+95FSbxzwlQlVIkY2ZkUzengIxAPr+9+OlVthd91XpN8pAxhOhkZQvqXpuRy7O1U4OTPFbxvKPKrYBX4cUimlb62Rr6Q=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"DQwIygVINH8303Ns50AT78mn9jWODpnnTBCikRKYnqc="},"signature":"MEUCIQCq++6XHOvmcDi5hpFpNqgDkOh3Tg/rCAS4hazK/q6EKAIgb6uYKd1xzqoiN+MLGnj9kvWAC3jEz7/ldFBMOglSBR4="}}