{
  "title": "Automation theme aliases",
  "beforeRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
  "afterRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
  "builds": {
    "before": "4f9d5a4fab9f2c85",
    "after": "891d146693ff37b9"
  },
  "versions": {
    "before": {
      "pins": {
        "agentServer": "1.58.1",
        "agentCanvas": "1.33.0",
        "automation": "1.25.1"
      },
      "reportedRuntime": null,
      "node": "v24.22.1",
      "npm": "11.12.1",
      "chromeBinary": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
      "browserUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36",
      "automationVersionEvidence": "Explicit launch override 1.25.1 matches committed pin; health endpoint status has no independent version field."
    },
    "after": {
      "pins": {
        "agentServer": "1.58.1",
        "agentCanvas": "1.33.0",
        "automation": "1.25.1"
      },
      "reportedRuntime": null,
      "node": "v24.22.1",
      "npm": "11.12.1",
      "chromeBinary": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
      "browserUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36",
      "automationVersionEvidence": "Explicit launch override 1.25.1 matches committed pin; health endpoint status has no independent version field."
    }
  },
  "implementation": {
    "before": "Automation setup repeats arbitrary color-variable recipes for existing --oh-* semantic roles.",
    "after": "The same77 recipes use13 existing named theme aliases; all14 distinct full-class rules retain identical declarations and media/support conditions in actual app and library CSS.",
    "owners": [
      "src/components/features/automations/setup/automation-setup-panel.tsx",
      "src/components/features/automations/setup/automation-setup-prompt-stack.tsx",
      "src/routes/automation-setup-new.tsx"
    ],
    "preserved": "Existing theme/host values, opacity and hover variants, layout, automation draft state, API calls and model behavior."
  },
  "scope": {
    "before": {
      "production": "Real Local Canvas with Agent Server 1.58.1, automation 1.25.1, --mars-web, installed Chrome private isolated profile. No route interception, DOM mutation, mocks, or source changes.",
      "automation": "Saved Prompt draft with name Linting form check and harmless unsent prompt; no Test/Create/dispatch/LLM. Default, Weekly→Custom cron,Event,CustomPython,repository modal,invalid cron/save/reload/recovery are real UI. Five theme saved-draft/Event screenshots, representative phone Light+; compiler tests separately cover every alias rule.",
      "phone": "390×844 inherited narrow topbar and docked-composer overlay remain. Only visibly shown areas claimed; no phone layout fix.",
      "model": "Unconfigured; no conversation/model/tool execution.",
      "media": "Original PNG/MP4 bytes retained;25fps native recording preserves action timing, not a speed comparison. Recorder trims still lead-in and adds final hold."
    },
    "after": {
      "production": "Real Local Canvas with Agent Server 1.58.1, automation 1.25.1, --mars-web, installed Chrome private isolated profile. No route interception, DOM mutation, mocks, or source changes.",
      "automation": "Saved Prompt draft with name Linting form check and harmless unsent prompt; no Test/Create/dispatch/LLM. Default, Weekly→Custom cron,Event,CustomPython,repository modal,invalid cron/save/reload/recovery are real UI. Five theme saved-draft/Event screenshots, representative phone Light+; compiler tests separately cover every alias rule.",
      "phone": "390×844 inherited narrow topbar and docked-composer overlay remain. Only visibly shown areas claimed; no phone layout fix.",
      "model": "Unconfigured; no conversation/model/tool execution.",
      "media": "Original PNG/MP4 bytes retained;25fps native recording preserves action timing, not a speed comparison. Recorder trims still lead-in and adds final hold."
    },
    "mainFilm": "Selected genuine form/dropdown paths; separate notes distinguish changed and unchanged branches."
  },
  "comparisonSummary": "10 named computed samples paired, with 0 stable-field differences, 2 disclosed geometry differences and 0 separately disclosed clipping-mechanism observations. Read comparison JSON for scope; source clip lengths and relative time text are not performance or identity claims.",
  "limits": [
    "Appearance-preserving refactor of existing styles. This compares the specified genuine revisions and selected observed paths, with no claim of global pixel identity, exhaustive UI coverage or speed improvement.",
    "Native recordings retain their existing frame cadence without editorial speed changes. Recorder lead-in/hold behavior and any capture misses are retained per original source. Selected excerpts are labelled; all selected complete originals remain downloadable.",
    "Full viewport context precedes labelled detail crops. Held PNGs are labelled as stills in captions and provenance; no recorded motion is implied.",
    "No model message, real provider credentials, paid API/resource, real webhook delivery or automation execution was used. Any genuine unconfigured-model or public-webhook warning is preserved.",
    "All five built-in themes have representative automation form samples; this does not claim every theme/state/viewport combination.",
    "Nine of14 full-class rules were observed live. The otherfive are compiled-CSS proof only; no runtime coverage is claimed for them.",
    "Full expanded Entrypoint/setup fields are not paired settled live proof; early desktop stills are excluded. The native transition and phone-visible Custom Python portion remain.",
    "Live paths cover create/setup form states and named samples recorded in the receipts. Compiled14-rule equivalence and67 existing behavior tests are separate regression proof, not invented runtime coverage.",
    "Phone screenshots show only the form regions actually visible above the genuine docked composer; they do not prove covered lower controls. Toast-covered procedural captures are excluded."
  ],
  "captureProvenance": "automation-theme-aliases-capture-provenance.json",
  "captureProvenanceSha256": "8e5c8d83cba93a97af6786358a4d34328e4cdb6d43f57847f6c53965099dc8e5",
  "evidenceDownload": "automation-theme-aliases-evidence.zip",
  "evidenceDownloadSha256": "f0f1edaa30b11cf1f696d2477efbfce772b1a042a465201e74eba893ca044f88",
  "pullRequest": "https://github.com/OpenHands/OpenHands/pull/18917",
  "film": {
    "dimensions": [
      1440,
      1120
    ],
    "fps": 25,
    "durationSeconds": 27.64,
    "scenes": [
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/before/neutral-desktop-default.png",
        "label": "Before · Repeated color recipes",
        "subtitle": "Automation setup · Full context",
        "caption": "Before: Real Neutral1440×1000 create form. The refactor retains the same colors and layout. Authentic PNG held 2 seconds.",
        "view": "Automation setup · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "cbd67484df13d0cae638d4ef7d3477e11d1ffeec737f0dec9c9c5c202958972d",
        "sourceBytes": 87674,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          0,
          2.0
        ],
        "presentationDurationSeconds": 2.0,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "recording",
        "publicSourcePath": "automation-theme-aliases-evidence/before/neutral-desktop-form-path.mp4",
        "label": "Before · Repeated color recipes",
        "subtitle": "Native form controls · Full context",
        "caption": "Before: Actual Frequency, Event source and Custom Python controls on the unexecuted draft. Complete native recording at its existing cadence, with no editorial speed change.",
        "view": "Native form controls · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "bc005ec430545efd8d5ee2988f3e78e78e45124148a76de53a6d8edb604991d4",
        "sourceBytes": 126687,
        "sourceDurationSeconds": 2.56,
        "sourceFps": 25.0,
        "timelineSeconds": [
          2.0,
          4.56
        ],
        "presentationDurationSeconds": 2.56,
        "editorialSpeedChange": false,
        "sourceStartSeconds": 0,
        "sourceSelectedRangeSeconds": [
          0,
          2.56
        ],
        "fullOriginalSelected": true,
        "fullOriginalTimelineSelected": true,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Selected MP4 interval presented at its existing frame cadence. Recorder caps an initial static lead-in at 1 second and holds the final frame at least 1 second; action intervals retain capture timing. Presentation repeats frames only for output cadence; no motion interpolation."
      },
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/before/neutral-desktop-ready-draft-clean.png",
        "label": "Before · Repeated color recipes",
        "subtitle": "Detail · Same ready-state colors",
        "caption": "Before: Owned saved draft, Ready to test indicator and unchanged form surfaces; actual source detail. Authentic PNG held 2.4 seconds.",
        "view": "Detail · Same ready-state colors",
        "cropDisclosure": "Actual source crop x450/y45/840×470px, fitted below separate editorial header.",
        "crop": [
          450,
          45,
          840,
          470
        ],
        "sourceSha256": "11ac0826536e430a1b571e23a14d555a98520277fb50b241cb7eff7613f14240",
        "sourceBytes": 94908,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          4.56,
          6.96
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": false,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/before/neutral-desktop-event-warning.png",
        "label": "Before · Repeated color recipes",
        "subtitle": "Detail · Same event controls",
        "caption": "Before: Actual event-source/public-webhook notice detail; no webhook delivery or automation run. Authentic PNG held 2.4 seconds.",
        "view": "Detail · Same event controls",
        "cropDisclosure": "Actual source crop x450/y500/840×350px, fitted below separate editorial header.",
        "crop": [
          450,
          500,
          840,
          350
        ],
        "sourceSha256": "85f9414180ff862ca3d7634743daa01945c60b6b6eccb99c25bb7cec490234ab",
        "sourceBytes": 98385,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          6.96,
          9.36
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": false,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/before/light-plus-desktop-ready-draft-clean.png",
        "label": "Before · Repeated color recipes",
        "subtitle": "Light+ · Full context",
        "caption": "Before: Same genuine saved-draft form in Light+; other three built-in theme samples are in the source packet. Authentic PNG held 2.2 seconds.",
        "view": "Light+ · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "a8809f09548af47aea3ccd78921cee0b2e786f6d5739cf5be12909f0ab0beb22",
        "sourceBytes": 100554,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          9.36,
          11.56
        ],
        "presentationDurationSeconds": 2.2,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "before",
        "sourceRevision": "1abbd4b41544dd8a74b19ff3359029537bbaa41b",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/before/light-plus-phone-invalid-cron-clean.png",
        "label": "Before · Repeated color recipes",
        "subtitle": "Phone · Visible form only",
        "caption": "Before: Real390×844 Light+ invalid-cron validation. The docked composer remains visible; covered lower controls are outside this still's proof. Authentic PNG held 2.4 seconds.",
        "view": "Phone · Visible form only",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "9d543ac15012cf3e99b4b7fac04dcc0eabb360107119c81f5d641515d3873a29",
        "sourceBytes": 45669,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          11.56,
          13.96
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/after/neutral-desktop-default.png",
        "label": "After · Named theme roles",
        "subtitle": "Automation setup · Full context",
        "caption": "After: Real Neutral1440×1000 create form. The refactor retains the same colors and layout. Authentic PNG held 2 seconds.",
        "view": "Automation setup · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "cc7738412a5506c2d6c522e8c72142657eb5bdd888890e8bf8fb0aeb47e16817",
        "sourceBytes": 87674,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          13.96,
          15.96
        ],
        "presentationDurationSeconds": 2.0,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "recording",
        "publicSourcePath": "automation-theme-aliases-evidence/after/neutral-desktop-form-path.mp4",
        "label": "After · Named theme roles",
        "subtitle": "Native form controls · Full context",
        "caption": "After: Actual Frequency, Event source and Custom Python controls on the unexecuted draft. Complete native recording at its existing cadence, with no editorial speed change.",
        "view": "Native form controls · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "0efb05b134547b36ead5e50956dc673f06e2bd365804286f3a0ba0f6bed8ed71",
        "sourceBytes": 127097,
        "sourceDurationSeconds": 2.28,
        "sourceFps": 25.0,
        "timelineSeconds": [
          15.96,
          18.24
        ],
        "presentationDurationSeconds": 2.28,
        "editorialSpeedChange": false,
        "sourceStartSeconds": 0,
        "sourceSelectedRangeSeconds": [
          0,
          2.28
        ],
        "fullOriginalSelected": true,
        "fullOriginalTimelineSelected": true,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Selected MP4 interval presented at its existing frame cadence. Recorder caps an initial static lead-in at 1 second and holds the final frame at least 1 second; action intervals retain capture timing. Presentation repeats frames only for output cadence; no motion interpolation."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/after/neutral-desktop-ready-draft-clean.png",
        "label": "After · Named theme roles",
        "subtitle": "Detail · Same ready-state colors",
        "caption": "After: Owned saved draft, Ready to test indicator and unchanged form surfaces; actual source detail. Authentic PNG held 2.4 seconds.",
        "view": "Detail · Same ready-state colors",
        "cropDisclosure": "Actual source crop x450/y45/840×470px, fitted below separate editorial header.",
        "crop": [
          450,
          45,
          840,
          470
        ],
        "sourceSha256": "11ac0826536e430a1b571e23a14d555a98520277fb50b241cb7eff7613f14240",
        "sourceBytes": 94908,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          18.24,
          20.64
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": false,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/after/neutral-desktop-event-warning.png",
        "label": "After · Named theme roles",
        "subtitle": "Detail · Same event controls",
        "caption": "After: Actual event-source/public-webhook notice detail; no webhook delivery or automation run. Authentic PNG held 2.4 seconds.",
        "view": "Detail · Same event controls",
        "cropDisclosure": "Actual source crop x450/y500/840×350px, fitted below separate editorial header.",
        "crop": [
          450,
          500,
          840,
          350
        ],
        "sourceSha256": "85f9414180ff862ca3d7634743daa01945c60b6b6eccb99c25bb7cec490234ab",
        "sourceBytes": 98385,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          20.64,
          23.04
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": false,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/after/light-plus-desktop-ready-draft-clean.png",
        "label": "After · Named theme roles",
        "subtitle": "Light+ · Full context",
        "caption": "After: Same genuine saved-draft form in Light+; other three built-in theme samples are in the source packet. Authentic PNG held 2.2 seconds.",
        "view": "Light+ · Full context",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "a8809f09548af47aea3ccd78921cee0b2e786f6d5739cf5be12909f0ab0beb22",
        "sourceBytes": 100554,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          23.04,
          25.24
        ],
        "presentationDurationSeconds": 2.2,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      },
      {
        "phase": "after",
        "sourceRevision": "e69074d21b86d1aaaa9887fb3dde366d2659add2",
        "kind": "screenshot",
        "publicSourcePath": "automation-theme-aliases-evidence/after/light-plus-phone-invalid-cron-clean.png",
        "label": "After · Named theme roles",
        "subtitle": "Phone · Visible form only",
        "caption": "After: Real390×844 Light+ invalid-cron validation. The docked composer remains visible; covered lower controls are outside this still's proof. Authentic PNG held 2.4 seconds.",
        "view": "Phone · Visible form only",
        "cropDisclosure": "Full original viewport below the separate editorial header.",
        "sourceSha256": "9d543ac15012cf3e99b4b7fac04dcc0eabb360107119c81f5d641515d3873a29",
        "sourceBytes": 45669,
        "sourceDurationSeconds": null,
        "sourceFps": null,
        "timelineSeconds": [
          25.24,
          27.64
        ],
        "presentationDurationSeconds": 2.4,
        "editorialSpeedChange": false,
        "sourceStartSeconds": null,
        "sourceSelectedRangeSeconds": null,
        "fullOriginalSelected": false,
        "fullOriginalTimelineSelected": false,
        "fullOriginalViewportSelected": true,
        "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied."
      }
    ],
    "ambience": {
      "origin": "Original synthesized ambient pad; no external samples or provider.",
      "frequenciesHz": [
        174.61,
        220,
        261.63
      ],
      "amplitude": 0.004,
      "normalizationGain": 1.282073,
      "fadeInSeconds": 1.5,
      "fadeOutSeconds": 2,
      "meanDbfs": -52.5,
      "peakDbfs": -42.3,
      "applicationAudio": false
    },
    "encodingNote": "Each scene is independently decoded, then concatenated in one continuous H264 encode with 2-second keyframes; no stream-copy video concatenation.",
    "recipeSha256": "0f59730b9c56cfe27200bc5dc8092e041e979445f3bc3120779a0f07cc4fad9b"
  },
  "preview": {
    "file": "automation-theme-aliases-poster.jpg",
    "dimensions": [
      1440,
      1120
    ],
    "type": "poster",
    "audio": false,
    "limitation": "Still poster. Play or download the MP4 for the genuine automation form interactions. Colors are intended to remain the same."
  },
  "files": {
    "automation-theme-aliases-capture-provenance.json": {
      "sha256": "8e5c8d83cba93a97af6786358a4d34328e4cdb6d43f57847f6c53965099dc8e5",
      "bytes": 36053
    },
    "automation-theme-aliases-evidence.zip": {
      "sha256": "f0f1edaa30b11cf1f696d2477efbfce772b1a042a465201e74eba893ca044f88",
      "bytes": 2905618
    },
    "automation-theme-aliases-poster.jpg": {
      "sha256": "f7901997f660ed49b194eb812b88b45be1cee0063fbf9f117f4f05da3edfd7ed",
      "bytes": 97284
    },
    "automation-theme-aliases-captions.vtt": {
      "sha256": "40c0eb933dccad77accd6664f2c409955b6f9d7bd237643fba9e81de3cba4dcf",
      "bytes": 2158
    },
    "automation-theme-aliases-before-after.mp4": {
      "sha256": "7a31a63b3184b3945820bde65a0f3e73bf6ea9c3a29f7d4f64b59190c833d853",
      "bytes": 1758639
    },
    "automation-theme-aliases-comparison.json": {
      "sha256": "cb901da095d863270f33045b9e0f6534d1f1fee739d7ac8c723ff93b08b21c87",
      "bytes": 210148
    }
  }
}
