Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 31 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@ jobs:
46ec939523a9aff4f253c4c74e997dfd95812a694b2507fae885ff60244ade3a crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v3.json
3c257c336bc403eee933990fd7188a3b0a6e89d0cbc983aff18846ef76206275 crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v4.json
6079612797bb28a9fc97c1451efd830e2323ed06e15fbffd70527dddc3fa84c5 crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v5.json
2e319643e582ca385f988af173b534cd9d1c921f36fcc929f1c56eb8bd978d24 crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v6.json
SHA256

historical_artifact="crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v1.json"
Expand Down Expand Up @@ -505,8 +506,9 @@ jobs:
cleanup_history
trap - EXIT

current_artifact="crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v5.json"
current_protocol=(
v5_artifact="crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v5.json"
v5_snapshot=9819bbd549ef2347eb133b948ccb5f7a3c5a51fe
v5_protocol=(
--admit-rustc-release 1.96.0
--admit-cargo-release 1.96.0
--admit-rustc-binary-sha256 c5922366bfe3d6d028a65d626f4e629b3adad066995cf0b60c8a4b617bba5ffe
Expand All @@ -519,9 +521,35 @@ jobs:
--admit-package-version 0.2.0
--admit-sample-count 5
)
trap cleanup_history EXIT
git worktree add --detach "$historical_root" "$v5_snapshot"
(
cd "$historical_root"
python3 scripts/check_wcag22_feasibility_benchmark.py \
"$v5_artifact" "${v5_protocol[@]}" \
--artifact-sha256 6079612797bb28a9fc97c1451efd830e2323ed06e15fbffd70527dddc3fa84c5 \
--self-test
)
cleanup_history
trap - EXIT

current_artifact="crates/labcolors-core/contracts/wcag22-feasibility-benchmark-v6.json"
current_protocol=(
--admit-rustc-release 1.96.0
--admit-cargo-release 1.96.0
--admit-rustc-binary-sha256 c5922366bfe3d6d028a65d626f4e629b3adad066995cf0b60c8a4b617bba5ffe
--admit-cargo-binary-sha256 fec239e6b74df873f54ef52912bfcfcc8d8414bc14a7ae1e0be80460bae72841
--admit-benchmark-binary-sha256 1e43b4c8418b8f45da3614d9697966874943e034d4275ee2a404f95aa60dbd2a
--admit-target-triple aarch64-apple-darwin
--admit-target-arch aarch64
--admit-target-os macos
--admit-pointer-width-bits 64
--admit-package-version 0.2.0
--admit-sample-count 5
)
python3 scripts/check_wcag22_feasibility_benchmark.py \
"$current_artifact" "${current_protocol[@]}" \
--artifact-sha256 6079612797bb28a9fc97c1451efd830e2323ed06e15fbffd70527dddc3fa84c5 \
--artifact-sha256 2e319643e582ca385f988af173b534cd9d1c921f36fcc929f1c56eb8bd978d24 \
--self-test

audit:
Expand Down
6 changes: 3 additions & 3 deletions crates/labcolors-core/benches/wcag22_feasibility_admission.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
//!
//! ```text
//! python3 scripts/check_wcag22_feasibility_benchmark.py \
//! /private/tmp/labcolors-wcag22-feasibility-admission-raw-v5.json \
//! /private/tmp/labcolors-wcag22-feasibility-admission-raw-v6.json \
//! --record --record-toolchain 1.96.0 --record-sample-count 5
//! ```

Expand All @@ -39,8 +39,8 @@ use labcolors_core::wcag22_feasibility::{
#[path = "../src/sha256.rs"]
mod subject_sha256;

const ARTIFACT_ID: &str = "wcag22-feasibility-admission-raw-v5";
const DEFAULT_OUTPUT_FILENAME: &str = "labcolors-wcag22-feasibility-admission-raw-v5.json";
const ARTIFACT_ID: &str = "wcag22-feasibility-admission-raw-v6";
const DEFAULT_OUTPUT_FILENAME: &str = "labcolors-wcag22-feasibility-admission-raw-v6.json";
const CANDIDATE_COUNT: u64 = 256;
const PAGE_BYTES: u64 = 65_536;
const DECISION_SLOT_BYTES: u64 = 32;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"bg=#000000 contract=range(-20,-12) floor=default hue=200 chroma=relative(0.2)": "ok hex=#4C5859 lc_bits=c033eb2f56d7953a wcag_ratio_bits=4006c7903da3d9f9 floor_override=false jp_bits=4043484774ea7f53 h_ok_bits=4069582eba54d826 s_bits=3fc8040dd55b0ea2",
"bg=#000000 contract=text(-30) floor=default hue=264 chroma=neutral": "ok hex=#757575 lc_bits=c0407bf78d795563 wcag_ratio_bits=40123b279e4ef457 floor_override=true jp_bits=404a01cd7cd18ef1 h_ok_bits=4056780935e40784 s_bits=3f92b3eaf5dd28fb",
"bg=#000000 contract=text(-60) floor=default hue=264 chroma=neutral": "ok hex=#ADADAD lc_bits=c04e206032be5432 wcag_ratio_bits=4022b724a3df2cfd floor_override=false jp_bits=40526a89b1df20eb h_ok_bits=4056780938405de8 s_bits=3f90b66d677d74e9",
"bg=#000000 contract=text(-7.3) floor=none hue=0 chroma=neutral": "err below_contrast_floor target_bits=c01d333333333333",
"bg=#000000 contract=text(-7.35) floor=none hue=0 chroma=neutral": "ok hex=#323232 lc_bits=c01d669a65189e80 wcag_ratio_bits=3ffa34ec4ba6a14b floor_override=false jp_bits=40372a75abaac644 h_ok_bits=40567809399b9177 s_bits=3f996ab47c9e865d",
"bg=#000000 contract=text(-7.3999999999999995) floor=none hue=0 chroma=neutral": "ok hex=#323232 lc_bits=c01d669a65189e80 wcag_ratio_bits=3ffa34ec4ba6a14b floor_override=false jp_bits=40372a75abaac644 h_ok_bits=40567809399b9177 s_bits=3f996ab47c9e865d",
"bg=#000000 contract=text(-7.449999999999999) floor=none hue=0 chroma=neutral": "ok hex=#323232 lc_bits=c01d669a65189e80 wcag_ratio_bits=3ffa34ec4ba6a14b floor_override=false jp_bits=40372a75abaac644 h_ok_bits=40567809399b9177 s_bits=3f996ab47c9e865d",
"bg=#000000 contract=text(-7.499999999999999) floor=none hue=0 chroma=neutral": "ok hex=#323232 lc_bits=c01d669a65189e80 wcag_ratio_bits=3ffa34ec4ba6a14b floor_override=false jp_bits=40372a75abaac644 h_ok_bits=40567809399b9177 s_bits=3f996ab47c9e865d",
"bg=#000000 contract=text(-7.549999999999999) floor=none hue=0 chroma=neutral": "ok hex=#333333 lc_bits=c01ea8482ca51395 wcag_ratio_bits=3ffa97f146345f78 floor_override=false jp_bits=40379a02890521a3 h_ok_bits=40567809384f18c2 s_bits=3f993b7f9da97591",
"bg=#000000 contract=text(-7.599999999999999) floor=none hue=0 chroma=neutral": "ok hex=#333333 lc_bits=c01ea8482ca51395 wcag_ratio_bits=3ffa97f146345f78 floor_override=false jp_bits=40379a02890521a3 h_ok_bits=40567809384f18c2 s_bits=3f993b7f9da97591",
"bg=#000000 contract=text(-75) floor=default hue=264 chroma=neutral": "ok hex=#C8C8C8 lc_bits=c052c005f67406b8 wcag_ratio_bits=40291a6c78422f5e floor_override=false jp_bits=4054c1f701e27089 h_ok_bits=40567809383d8de9 s_bits=3f902d390e925099",
"bg=#000000 contract=text(-90) floor=default hue=264 chroma=neutral": "ok hex=#E2E2E2 lc_bits=c05685b4a1c4b863 wcag_ratio_bits=403035e2adc3bd56 floor_override=false jp_bits=4056d93b434508db h_ok_bits=405678093b47262a s_bits=3f8f9f3b38f57a7b",
"bg=#000000 contract=text(150) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4062c00000000000 max_achievable_bits=0000000000000000",
"bg=#000000 contract=text(30) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=403e000000000000 max_achievable_bits=0000000000000000",
"bg=#000000 contract=text(60) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=404e000000000000 max_achievable_bits=0000000000000000",
"bg=#000000 contract=text(75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4052c00000000000 max_achievable_bits=0000000000000000",
"bg=#000000 contract=text(90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4056800000000000 max_achievable_bits=0000000000000000",
"bg=#007AFF contract=text(-30) floor=default hue=264 chroma=neutral": "err floor_unreachable floor_bits=4012000000000000 max_ratio_bits=401011621957ec8b",
"bg=#007AFF contract=text(-60) floor=default hue=264 chroma=neutral": "err floor_unreachable floor_bits=4012000000000000 max_ratio_bits=401011621957ec8b",
"bg=#007AFF contract=text(-75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c052c00000000000 max_achievable_bits=c0517234ae859911",
"bg=#007AFF contract=text(-90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c056800000000000 max_achievable_bits=c0517234ae859911",
"bg=#007AFF contract=text(150) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4062c00000000000 max_achievable_bits=4043e4ead7083128",
"bg=#007AFF contract=text(30) floor=default hue=264 chroma=neutral": "ok hex=#161616 lc_bits=40424c97c00ffa8c wcag_ratio_bits=4012050d7f553963 floor_override=true jp_bits=4026af7a61be9dc3 h_ok_bits=405678093a3690f4 s_bits=3fa0a9f5b9b7f5c6",
"bg=#007AFF contract=text(60) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=404e000000000000 max_achievable_bits=4043e4ead7083128",
"bg=#007AFF contract=text(75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4052c00000000000 max_achievable_bits=4043e4ead7083128",
"bg=#007AFF contract=text(90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4056800000000000 max_achievable_bits=4043e4ead7083128",
"bg=#101012 contract=text(-30) floor=default hue=264 chroma=neutral": "ok hex=#7C7C7C lc_bits=c0413aabbf5937d3 wcag_ratio_bits=401236d28e5eb135 floor_override=true jp_bits=404b703ca59c53df h_ok_bits=405678093959f144 s_bits=3f925ba04d130db6",
"bg=#101012 contract=text(-60) floor=default hue=264 chroma=neutral": "ok hex=#B0B0B0 lc_bits=c04e17cd17d4d882 wcag_ratio_bits=4021871cd1e7a8bf floor_override=false jp_bits=4052af5f842a02f0 h_ok_bits=405678093a0624e6 s_bits=3f90a4aec55c3f00",
"bg=#101012 contract=text(-75) floor=default hue=264 chroma=neutral": "ok hex=#CBCBCB lc_bits=c052c29b17b6cafc wcag_ratio_bits=40276e3c28d759ca floor_override=false jp_bits=405501cc74f52e6c h_ok_bits=405678093ab1fa8f s_bits=3f9020bdf8416400",
"bg=#101012 contract=text(-90) floor=default hue=264 chroma=neutral": "ok hex=#E5E5E5 lc_bits=c0568e7f7b53513f wcag_ratio_bits=402e2d302749fa72 floor_override=false jp_bits=4057146c003d4a49 h_ok_bits=405678093a443f87 s_bits=3f8f8d6ff945ddf2",
"bg=#101012 contract=text(150) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4062c00000000000 max_achievable_bits=0000000000000000",
"bg=#101012 contract=text(30) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=403e000000000000 max_achievable_bits=0000000000000000",
"bg=#101012 contract=text(60) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=404e000000000000 max_achievable_bits=0000000000000000",
"bg=#101012 contract=text(75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4052c00000000000 max_achievable_bits=0000000000000000",
"bg=#101012 contract=text(90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4056800000000000 max_achievable_bits=0000000000000000",
"bg=#101012 contract=ui(-45) floor=aa-ui hue=30 chroma=neutral": "ok hex=#929292 lc_bits=c0466d4fc2116bd4 wcag_ratio_bits=40186ec556f960d0 floor_override=false jp_bits=404fcbce5051da8e h_ok_bits=405678093ab1edbb s_bits=3f917ac53b790163",
"bg=#101012 contract=ui(-45) floor=default hue=30 chroma=relative(0.6)": "ok hex=#DA7667 lc_bits=c0467b775ffca0ab wcag_ratio_bits=401880d70a1d09c9 floor_override=false jp_bits=4050528c88ca1229 h_ok_bits=403dba4820849792 s_bits=3fdc3aa9098e6b07",
"bg=#6E6E6E contract=text(20) floor=default hue=145 chroma=relative(0.35)": "err floor_unreachable floor_bits=4012000000000000 max_ratio_bits=4010795fbcf07be5",
"bg=#6E6E6E contract=text(35) floor=default hue=145 chroma=relative(0.35)": "err exceeds_range target_bits=4041800000000000 max_achievable_bits=4040274550888fa0",
"bg=#6E6E6E contract=text(45) floor=default hue=145 chroma=relative(0.35)": "err exceeds_range target_bits=4046800000000000 max_achievable_bits=4040274550888fa0",
"bg=#767676 contract=text(-30) floor=default hue=264 chroma=neutral": "ok hex=#FEFEFE lc_bits=c05247730308def7 wcag_ratio_bits=401203d2a75973ae floor_override=true jp_bits=4058edc95c7d0739 h_ok_bits=4056780938a3dab2 s_bits=3f8f11e24d3c081e",
"bg=#767676 contract=text(-60) floor=default hue=264 chroma=neutral": "ok hex=#FEFEFE lc_bits=c05247730308def7 wcag_ratio_bits=401203d2a75973ae floor_override=true jp_bits=4058edc95c7d0739 h_ok_bits=4056780938a3dab2 s_bits=3f8f11e24d3c081e",
"bg=#767676 contract=text(-75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c052c00000000000 max_achievable_bits=c0526fc4767ff28a",
"bg=#767676 contract=text(-90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c056800000000000 max_achievable_bits=c0526fc4767ff28a",
"bg=#767676 contract=text(150) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4062c00000000000 max_achievable_bits=4041eafa25e9ad94",
"bg=#767676 contract=text(30) floor=default hue=264 chroma=neutral": "ok hex=#040404 lc_bits=4041a482ea107a48 wcag_ratio_bits=40120e02e539145b floor_override=true jp_bits=401059092a4614da h_ok_bits=4056780939c7cfcc s_bits=3fa699b120176455",
"bg=#767676 contract=text(60) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=404e000000000000 max_achievable_bits=4041eafa25e9ad94",
"bg=#767676 contract=text(75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4052c00000000000 max_achievable_bits=4041eafa25e9ad94",
"bg=#767676 contract=text(90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4056800000000000 max_achievable_bits=4041eafa25e9ad94",
"bg=#7A7A7A contract=text(20) floor=default hue=145 chroma=relative(0.35)": "ok hex=#090F09 lc_bits=4041ecb761e73567 wcag_ratio_bits=40120e086c9db837 floor_override=true jp_bits=401f949b6fdfe12d h_ok_bits=40621957a9f13595 s_bits=3fe725dc768d9907",
"bg=#7A7A7A contract=text(35) floor=default hue=145 chroma=relative(0.35)": "ok hex=#090F09 lc_bits=4041ecb761e73567 wcag_ratio_bits=40120e086c9db837 floor_override=true jp_bits=401f949b6fdfe12d h_ok_bits=40621957a9f13595 s_bits=3fe725dc768d9907",
"bg=#7A7A7A contract=text(45) floor=default hue=145 chroma=relative(0.35)": "err exceeds_range target_bits=4046800000000000 max_achievable_bits=4042d06c66880d47",
"bg=#828282 contract=text(20) floor=default hue=145 chroma=relative(0.35)": "ok hex=#131D14 lc_bits=404295d3d3b88678 wcag_ratio_bits=4012031326e8a7a2 floor_override=true jp_bits=4029f2303691ef3b h_ok_bits=40626b51de22ae27 s_bits=3fe414765bc2dc88",
"bg=#828282 contract=text(35) floor=default hue=145 chroma=relative(0.35)": "ok hex=#131D14 lc_bits=404295d3d3b88678 wcag_ratio_bits=4012031326e8a7a2 floor_override=true jp_bits=4029f2303691ef3b h_ok_bits=40626b51de22ae27 s_bits=3fe414765bc2dc88",
"bg=#828282 contract=text(45) floor=default hue=145 chroma=relative(0.35)": "err exceeds_range target_bits=4046800000000000 max_achievable_bits=4044a24577876f8d",
"bg=#FFFFFF contract=range(12,20) floor=default hue=200 chroma=relative(0.2)": "ok hex=#D6E9EA lc_bits=4027f6fd10e07bdf wcag_ratio_bits=3ff41dc3fb3e1ca2 floor_override=false jp_bits=405709e6fe6385aa h_ok_bits=40691430e577c563 s_bits=3fb9748c1231e82e",
"bg=#FFFFFF contract=text(-30) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c03e000000000000 max_achievable_bits=0000000000000000",
"bg=#FFFFFF contract=text(-60) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c04e000000000000 max_achievable_bits=0000000000000000",
"bg=#FFFFFF contract=text(-75) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c052c00000000000 max_achievable_bits=0000000000000000",
"bg=#FFFFFF contract=text(-90) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=c056800000000000 max_achievable_bits=0000000000000000",
"bg=#FFFFFF contract=text(150) floor=default hue=264 chroma=neutral": "err exceeds_range target_bits=4062c00000000000 max_achievable_bits=405a829a490ad002",
"bg=#FFFFFF contract=text(3) floor=none hue=0 chroma=neutral": "err below_contrast_floor target_bits=4008000000000000",
"bg=#FFFFFF contract=text(30) floor=default hue=264 chroma=neutral": "ok hex=#767676 lc_bits=40510fca61d5b9ee wcag_ratio_bits=40122b3d05125164 floor_override=true jp_bits=404a3678a8f0c874 h_ok_bits=405678093d6dbcc5 s_bits=3f92a6b801503a78",
"bg=#FFFFFF contract=text(60) floor=default hue=0 chroma=neutral gamut=display-p3": "err gamut_unsupported",
"bg=#FFFFFF contract=text(60) floor=default hue=264 chroma=neutral": "ok hex=#767676 lc_bits=40510fca61d5b9ee wcag_ratio_bits=40122b3d05125164 floor_override=true jp_bits=404a3678a8f0c874 h_ok_bits=405678093d6dbcc5 s_bits=3f92a6b801503a78",
"bg=#FFFFFF contract=text(7.3) floor=none hue=0 chroma=neutral": "err below_contrast_floor target_bits=401d333333333333",
"bg=#FFFFFF contract=text(7.35) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(7.3999999999999995) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(7.449999999999999) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(7.499999999999999) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(7.549999999999999) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(7.599999999999999) floor=none hue=0 chroma=neutral": "ok hex=#EDEDED lc_bits=401e6aa8625b8742 wcag_ratio_bits=3ff2bb539763a677 floor_override=false jp_bits=4057afba8603b8da h_ok_bits=40567809393247c1 s_bits=3f8f614c4436cac4",
"bg=#FFFFFF contract=text(75) floor=default hue=264 chroma=neutral": "ok hex=#676767 lc_bits=4052b2df683f84d1 wcag_ratio_bits=4016a01035db8f1f floor_override=false jp_bits=404715e2dbaab4e2 h_ok_bits=4056780936c282c8 s_bits=3f9384586968a014",
"bg=#FFFFFF contract=text(90) floor=default hue=264 chroma=neutral": "ok hex=#414141 lc_bits=40567dc4663d6f83 wcag_ratio_bits=40246a7d157dd3fe floor_override=false jp_bits=403dbb13a4f6a259 h_ok_bits=40567809376d897f s_bits=3f970efa32c221ba",
"bg=#FFFFFF contract=ui(45) floor=aa-ui hue=30 chroma=neutral": "ok hex=#949494 lc_bits=404b2a103b08aa26 wcag_ratio_bits=4008448bd3f798b7 floor_override=true jp_bits=40501730c25c7ca2 h_ok_bits=405678093dcd90a5 s_bits=3f91699d6ed58610",
"bg=#FFFFFF contract=ui(45) floor=default hue=30 chroma=relative(0.6)": "ok hex=#DB796A lc_bits=404b13688ecb8170 wcag_ratio_bits=400827ad86a35ba7 floor_override=true jp_bits=40508499c7c25fa2 h_ok_bits=403dcf871712bc67 s_bits=3fdb57f17946ab92",
"bg=not-a-color contract=text(60) floor=default hue=0 chroma=neutral": "err invalid_input message=\"expected #RRGGBB, got #not-a-color\""
}
Loading
Loading