claude-fable-5-thinking @ high · cursor-xl
cursor-xlhigh
- config
- claude-fable-5-thinking-eff-high--cli--cursor-xl--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- claude-fable-5-thinking-high
- captured
- Jul 18, 2026, 11:54 AM · N=2
variant
live
slot 0 · P-q · sandboxed iframe

The screenshot is the exact frozen pixels the similarity channels measured. Run live re-executes the raw output in a sandboxed iframe; its rendering depends on your browser and fonts and is not guaranteed to match the measured pixels.
similarity neighborsNo similarity data for this session — this batch has no computed pairs.
Fidelity — does the card show the right data?
- namematch
- conditionmatch
- datematch
- max tempambiguousno-remaining-candidate
- min tempmatchshown: 16
- hourlyambiguouscoverage · 0 match · 0 mismatch · 24 not shown
- request sidematch0 violation(s)
extractor fidelity-extractor-v1+Berlin-2026-07-15
Source — raw model output, one byte unchanged
download card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1280, initial-scale=1">
<title>Weather</title>
<style>
:root {
--ink: #1b2733;
--ink-soft: #5b6b7b;
--ink-faint: #8fa0b0;
--card: rgba(255, 255, 255, 0.82);
--accent: #f5a623;
--bg1: #cfe8ff;
--bg2: #eef6ff;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
color: var(--ink);
background: linear-gradient(150deg, var(--bg1) 0%, var(--bg2) 55%, var(--bg3, #ffffff) 100%);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
transition: background 0.6s ease;
}
.orb {
position: fixed;
border-radius: 50%;
filter: blur(70px);
opacity: 0.55;
pointer-events: none;
z-index: 0;
}
#orb1 { width: 460px; height: 460px; top: -140px; left: -120px; background: var(--orb1, #ffd98a); }
#orb2 { width: 520px; height: 520px; bottom: -200px; right: -140px; background: var(--orb2, #9cc9ff); }
.card {
position: relative;
z-index: 1;
width: 1120px;
max-width: calc(100vw - 80px);
background: var(--card);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border: 1px solid rgba(255, 255, 255, 0.7);
border-radius: 28px;
box-shadow:
0 30px 60px -20px rgba(30, 55, 90, 0.28),
0 2px 6px rgba(30, 55, 90, 0.06),
inset 0 1px 0 rgba(255, 255, 255, 0.9);
padding: 44px 52px 38px;
}
.top {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 32px;
}
.place h1 {
font-size: 40px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.1;
}
.place .date {
margin-top: 8px;
font-size: 17px;
color: var(--ink-soft);
font-weight: 500;
}
.place .coords {
margin-top: 6px;
font-size: 13px;
color: var(--ink-faint);
font-variant-numeric: tabular-nums;
}
.badge {
display: inline-flex;
align-items: center;
gap: 7px;
margin-top: 16px;
padding: 7px 14px;
border-radius: 999px;
background: rgba(27, 39, 51, 0.06);
border: 1px solid rgba(27, 39, 51, 0.08);
font-size: 13px;
font-weight: 600;
color: var(--ink-soft);
letter-spacing: 0.02em;
}
.badge .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.now {
display: flex;
align-items: center;
gap: 28px;
text-align: right;
}
.now .icon { width: 128px; height: 128px; flex: none; filter: drop-shadow(0 10px 18px rgba(30, 55, 90, 0.18)); }
.now .temps .hi {
font-size: 74px;
font-weight: 700;
letter-spacing: -0.04em;
line-height: 1;
font-variant-numeric: tabular-nums;
}
.now .temps .hi sup { font-size: 30px; font-weight: 500; color: var(--ink-soft); vertical-align: 26px; }
.now .temps .lo {
margin-top: 6px;
font-size: 21px;
font-weight: 600;
color: var(--ink-soft);
font-variant-numeric: tabular-nums;
}
.now .temps .cond {
margin-top: 10px;
font-size: 17px;
font-weight: 600;
color: var(--accent-text, var(--ink));
}
.divider {
height: 1px;
margin: 34px 0 26px;
background: linear-gradient(90deg, transparent, rgba(27, 39, 51, 0.14), transparent);
}
.section-title {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ink-faint);
margin-bottom: 6px;
}
.chart-wrap { width: 100%; }
.chart-wrap svg { width: 100%; height: auto; display: block; }
.state {
min-height: 420px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 18px;
text-align: center;
}
.state .big { font-size: 22px; font-weight: 700; }
.state .sub { font-size: 15px; color: var(--ink-soft); max-width: 480px; line-height: 1.5; }
.spinner {
width: 44px; height: 44px;
border-radius: 50%;
border: 4px solid rgba(27, 39, 51, 0.12);
border-top-color: var(--accent);
animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.err-icon { font-size: 46px; line-height: 1; }
.fade-in { animation: fadeUp 0.55s cubic-bezier(0.22, 0.8, 0.3, 1) both; }
@keyframes fadeUp {
from { opacity: 0; transform: translateY(14px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<div class="orb" id="orb1"></div>
<div class="orb" id="orb2"></div>
<div class="card" id="card">
<div class="state" id="content">
<div class="spinner"></div>
<div class="big">Loading weather…</div>
</div>
</div>
<script>
(function () {
"use strict";
/* ---------- Query params ---------- */
var qs = new URLSearchParams(location.search);
function numParam(key, fallback) {
var v = parseFloat(qs.get(key));
return isFinite(v) ? v : fallback;
}
var lat = numParam("lat", 52.52);
var lon = numParam("lon", 13.405);
var name = qs.get("name") || "Berlin";
var todayUTC = new Date().toISOString().slice(0, 10);
var date = qs.get("date");
if (!date || !/^\d{4}-\d{2}-\d{2}$/.test(date)) date = todayUTC;
/* ---------- Weather code mapping ---------- */
function describe(code) {
var c = Number(code);
if (c === 0) return { label: "Clear sky", kind: "sun" };
if (c === 1) return { label: "Mainly clear", kind: "sun" };
if (c === 2) return { label: "Partly cloudy", kind: "partly" };
if (c === 3) return { label: "Overcast", kind: "cloud" };
if (c === 45 || c === 48) return { label: "Fog", kind: "fog" };
if (c >= 51 && c <= 57) return { label: "Drizzle", kind: "drizzle" };
if (c >= 61 && c <= 67) return { label: "Rain", kind: "rain" };
if (c >= 71 && c <= 77) return { label: "Snowfall", kind: "snow" };
if (c === 80 || c === 81 || c === 82) return { label: "Rain showers", kind: "rain" };
if (c === 85 || c === 86) return { label: "Snow showers", kind: "snow" };
if (c >= 95) return { label: "Thunderstorm", kind: "storm" };
return { label: "Unknown conditions", kind: "cloud" };
}
/* ---------- Themes per condition ---------- */
var themes = {
sun: { bg1: "#ffe9b8", bg2: "#fff7e6", bg3: "#e8f4ff", orb1: "#ffd06e", orb2: "#8ecbff", accent: "#f0930f", accentText: "#b56a00" },
partly: { bg1: "#d8ecff", bg2: "#f2f8ff", bg3: "#fff4dd", orb1: "#ffd98a", orb2: "#8fc4ff", accent: "#3f8fe0", accentText: "#2c6cb0" },
cloud: { bg1: "#dbe3ec", bg2: "#eef2f7", bg3: "#f7f9fb", orb1: "#b9c7d6", orb2: "#9fb4c9", accent: "#6b7f94", accentText: "#54687d" },
fog: { bg1: "#e0e5e9", bg2: "#f0f3f5", bg3: "#f9fafb", orb1: "#c4ccd3", orb2: "#aebbc6", accent: "#7c8b98", accentText: "#5e6d7a" },
drizzle: { bg1: "#cfe1f2", bg2: "#e8f1fa", bg3: "#f4f9ff", orb1: "#9ec2e6", orb2: "#7fa9d6", accent: "#4a86c8", accentText: "#33689f" },
rain: { bg1: "#bcd3ea", bg2: "#dfeaf5", bg3: "#eef4fb", orb1: "#84aed8", orb2: "#5e8fc4", accent: "#2f6cb3", accentText: "#265a94" },
snow: { bg1: "#e3edf9", bg2: "#f3f8fe", bg3: "#ffffff", orb1: "#c0d8f2", orb2: "#a3c5e8", accent: "#5f93c9", accentText: "#41729f" },
storm: { bg1: "#c9c8e6", bg2: "#e4e2f3", bg3: "#f2f0fa", orb1: "#a49ee0", orb2: "#7d74c9", accent: "#5b4fb8", accentText: "#473c96" }
};
function applyTheme(kind) {
var t = themes[kind] || themes.cloud;
var r = document.documentElement.style;
r.setProperty("--bg1", t.bg1);
r.setProperty("--bg2", t.bg2);
r.setProperty("--bg3", t.bg3);
r.setProperty("--orb1", t.orb1);
r.setProperty("--orb2", t.orb2);
r.setProperty("--accent", t.accent);
r.setProperty("--accent-text", t.accentText);
}
/* ---------- Inline SVG icons ---------- */
var SUN_CORE = '<circle cx="32" cy="32" r="13" fill="#FFB824"/><g stroke="#FFB824" stroke-width="4" stroke-linecap="round">' +
'<line x1="32" y1="8" x2="32" y2="14"/><line x1="32" y1="50" x2="32" y2="56"/>' +
'<line x1="8" y1="32" x2="14" y2="32"/><line x1="50" y1="32" x2="56" y2="32"/>' +
'<line x1="15" y1="15" x2="19.3" y2="19.3"/><line x1="44.7" y1="44.7" x2="49" y2="49"/>' +
'<line x1="15" y1="49" x2="19.3" y2="44.7"/><line x1="44.7" y1="19.3" x2="49" y2="15"/></g>';
function cloudShape(fill, x, y, s) {
return '<g transform="translate(' + x + ',' + y + ') scale(' + s + ')">' +
'<path fill="' + fill + '" d="M20 38a10 10 0 0 1 1.2-19.93A14 14 0 0 1 48.2 21.4 9 9 0 0 1 46 38Z"/></g>';
}
function drops(color, dashes) {
var out = '<g stroke="' + color + '" stroke-width="3.4" stroke-linecap="round">';
for (var i = 0; i < dashes.length; i++) {
var d = dashes[i];
out += '<line x1="' + d[0] + '" y1="' + d[1] + '" x2="' + (d[0] - 2.5) + '" y2="' + (d[1] + 7) + '"/>';
}
return out + "</g>";
}
function flakes(color, pts) {
var out = '<g fill="' + color + '">';
for (var i = 0; i < pts.length; i++) out += '<circle cx="' + pts[i][0] + '" cy="' + pts[i][1] + '" r="2.6"/>';
return out + "</g>";
}
var icons = {
sun: SUN_CORE,
partly: '<g transform="translate(6,-4) scale(0.72)">' + SUN_CORE + "</g>" + cloudShape("#DCE7F2", 4, 14, 1) +
cloudShape("#F4F8FC", 8, 18, 0.9),
cloud: cloudShape("#C3D2E2", 2, 8, 1.05) + cloudShape("#EAF1F8", 6, 15, 0.95),
fog: cloudShape("#D8E2EC", 6, 4, 0.9) +
'<g stroke="#AABCCD" stroke-width="4" stroke-linecap="round">' +
'<line x1="14" y1="46" x2="50" y2="46"/><line x1="20" y1="54" x2="44" y2="54"/></g>',
drizzle: cloudShape("#B9CBDD", 4, 2, 1) + drops("#69A8E0", [[22, 46], [32, 46], [42, 46]]),
rain: cloudShape("#9FB6CC", 4, 0, 1) + drops("#3E7FC1", [[20, 44], [29, 48], [38, 44], [47, 48]]),
snow: cloudShape("#CBD9E7", 4, 0, 1) + flakes("#7FA8CE", [[21, 47], [31, 52], [41, 47], [26, 56], [36, 58]]),
storm: cloudShape("#8E9AC9", 4, 0, 1) +
'<path fill="#FFC531" d="M34 36 24 52h8l-4 12 14-18h-9l5-10z"/>'
};
function iconSvg(kind, cls) {
return '<svg class="' + cls + '" viewBox="0 0 64 64" aria-hidden="true">' + (icons[kind] || icons.cloud) + "</svg>";
}
/* ---------- Helpers ---------- */
function esc(s) {
return String(s).replace(/[&<>"']/g, function (ch) {
return { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[ch];
});
}
function fmtDate(d) {
try {
return new Date(d + "T00:00:00Z").toLocaleDateString("en-US", {
weekday: "long", month: "long", day: "numeric", year: "numeric", timeZone: "UTC"
});
} catch (e) { return d; }
}
function round1(v) { return Math.round(v * 10) / 10; }
function fmtTemp(v) {
var r = round1(v);
return (r > 0 ? "" : "") + (Number.isInteger(r) ? r : r.toFixed(1));
}
/* ---------- Chart ---------- */
function buildChart(times, temps, accent) {
var pts = [];
for (var i = 0; i < times.length && i < 24; i++) {
if (temps[i] === null || temps[i] === undefined || !isFinite(temps[i])) continue;
pts.push({ hour: i, t: temps[i] });
}
if (pts.length < 2) {
return '<div class="sub" style="color:var(--ink-soft);font-size:15px;padding:30px 0;">Hourly data is not available for this date.</div>';
}
var W = 1020, H = 290, padL = 26, padR = 26, padT = 52, padB = 40;
var lo = Infinity, hi = -Infinity;
pts.forEach(function (p) { lo = Math.min(lo, p.t); hi = Math.max(hi, p.t); });
var span = Math.max(hi - lo, 2);
lo -= span * 0.12; hi += span * 0.12;
function X(h) { return padL + (h / 23) * (W - padL - padR); }
function Y(t) { return padT + (1 - (t - lo) / (hi - lo)) * (H - padT - padB); }
// smooth path (Catmull-Rom -> cubic Bezier)
var P = pts.map(function (p) { return [X(p.hour), Y(p.t)]; });
var d = "M" + P[0][0].toFixed(1) + "," + P[0][1].toFixed(1);
for (var j = 0; j < P.length - 1; j++) {
var p0 = P[Math.max(j - 1, 0)], p1 = P[j], p2 = P[j + 1], p3 = P[Math.min(j + 2, P.length - 1)];
var c1x = p1[0] + (p2[0] - p0[0]) / 6, c1y = p1[1] + (p2[1] - p0[1]) / 6;
var c2x = p2[0] - (p3[0] - p1[0]) / 6, c2y = p2[1] - (p3[1] - p1[1]) / 6;
d += "C" + c1x.toFixed(1) + "," + c1y.toFixed(1) + " " + c2x.toFixed(1) + "," + c2y.toFixed(1) + " " + p2[0].toFixed(1) + "," + p2[1].toFixed(1);
}
var baseY = H - padB + 4;
var area = d + "L" + P[P.length - 1][0].toFixed(1) + "," + baseY + "L" + P[0][0].toFixed(1) + "," + baseY + "Z";
var svg = '<svg viewBox="0 0 ' + W + " " + H + '" role="img" aria-label="Hourly temperatures">';
svg += '<defs><linearGradient id="areaGrad" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0%" stop-color="' + accent + '" stop-opacity="0.28"/>' +
'<stop offset="100%" stop-color="' + accent + '" stop-opacity="0.02"/></linearGradient></defs>';
// subtle horizontal gridlines
for (var g = 0; g < 4; g++) {
var gy = padT + (g / 3) * (H - padT - padB);
svg += '<line x1="' + padL + '" y1="' + gy.toFixed(1) + '" x2="' + (W - padR) + '" y2="' + gy.toFixed(1) +
'" stroke="rgba(27,39,51,0.07)" stroke-width="1"/>';
}
svg += '<path d="' + area + '" fill="url(#areaGrad)"/>';
svg += '<path d="' + d + '" fill="none" stroke="' + accent + '" stroke-width="3" stroke-linecap="round"/>';
// dots + temperature labels for every hourly value
pts.forEach(function (p) {
var x = X(p.hour), y = Y(p.t);
svg += '<circle cx="' + x.toFixed(1) + '" cy="' + y.toFixed(1) + '" r="3.4" fill="#fff" stroke="' + accent + '" stroke-width="2.2"/>';
svg += '<text x="' + x.toFixed(1) + '" y="' + (y - 11).toFixed(1) +
'" text-anchor="middle" font-size="11.5" font-weight="600" fill="#41505f" font-family="inherit">' +
fmtTemp(p.t) + "\u00B0</text>";
});
// hour axis labels
pts.forEach(function (p) {
if (p.hour % 3 !== 0 && p.hour !== 23) return;
svg += '<text x="' + X(p.hour).toFixed(1) + '" y="' + (H - 12) +
'" text-anchor="middle" font-size="12" font-weight="500" fill="#8fa0b0" font-family="inherit">' +
String(p.hour).padStart(2, "0") + ":00</text>";
});
svg += "</svg>";
return svg;
}
/* ---------- Render ---------- */
var content = document.getElementById("content");
function renderError(msg) {
content.className = "state fade-in";
content.innerHTML =
'<div class="err-icon">⚠️</div>' +
'<div class="big">Weather data could not be loaded</div>' +
'<div class="sub">' + esc(msg) + "</div>" +
'<div class="sub" style="font-size:13px;color:var(--ink-faint);">' +
esc(name) + " · " + esc(date) + "</div>";
}
function renderWeather(data, source) {
var daily = data.daily || {};
var hourly = data.hourly || {};
var tmax = daily.temperature_2m_max && daily.temperature_2m_max[0];
var tmin = daily.temperature_2m_min && daily.temperature_2m_min[0];
var code = daily.weather_code && daily.weather_code[0];
var hTimes = hourly.time || [];
var hTemps = hourly.temperature_2m || [];
if (tmax === null || tmax === undefined || tmin === null || tmin === undefined) {
renderError("The service responded, but no temperature data exists for this date and location.");
return;
}
var cond = describe(code);
applyTheme(cond.kind);
var accent = (themes[cond.kind] || themes.cloud).accent;
var sourceLabel = source === "archive" ? "Historical · Open-Meteo archive" : "Forecast · Open-Meteo";
content.className = "fade-in";
content.innerHTML =
'<div class="top">' +
'<div class="place">' +
"<h1>" + esc(name) + "</h1>" +
'<div class="date">' + esc(fmtDate(date)) + " · UTC</div>" +
'<div class="coords">' + lat.toFixed(3) + "°, " + lon.toFixed(3) + "°</div>" +
'<div class="badge"><span class="dot"></span>' + sourceLabel + "</div>" +
"</div>" +
'<div class="now">' +
'<div class="temps">' +
'<div class="hi">' + fmtTemp(tmax) + "<sup>°C</sup></div>" +
'<div class="lo">Low ' + fmtTemp(tmin) + "°C</div>" +
'<div class="cond">' + esc(cond.label) + "</div>" +
"</div>" +
iconSvg(cond.kind, "icon") +
"</div>" +
"</div>" +
'<div class="divider"></div>' +
'<div class="section-title">Hourly temperature (°C)</div>' +
'<div class="chart-wrap">' + buildChart(hTimes, hTemps, accent) + "</div>";
}
/* ---------- Fetch ---------- */
var isPast = date < todayUTC;
var endpoint = isPast ? "/api/om/archive" : "/api/om/forecast";
var params = new URLSearchParams({
latitude: String(lat),
longitude: String(lon),
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: date,
end_date: date
});
fetch(endpoint + "?" + params.toString())
.then(function (res) {
if (!res.ok) throw new Error("The weather service returned HTTP " + res.status + ".");
return res.json();
})
.then(function (data) {
if (data && data.error) throw new Error(data.reason || "The weather service reported an error.");
renderWeather(data, isPast ? "archive" : "forecast");
})
.catch(function (err) {
renderError(err && err.message ? err.message : "An unexpected network error occurred.");
});
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 17,643 | html / css / js | 455 / 4,401 / 12,787 |
|---|---|---|---|
| dom nodes | 14 | dom depth | 5 |
| css rules | 35 | js present | yes |
| brightness | 236.7 | contrast | 20.1 |
| colorfulness | 17.9 | whitespace | 89.2% |
This slot's telemetry
| prompt tokens | 2 | completion tokens | 10,828 |
|---|---|---|---|
| total tokens | 10,830 | wall | 133.5 s |
| cost | — | request id | — |
config.json606 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-fable-5-thinking-eff-high--cli--cursor-xl--dev",
"effort": "high",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-fable-5-thinking",
"protocol": "cli",
"served_model": "claude-fable-5-thinking-high",
"telemetry": {
"completion_tokens": 31151,
"cost_usd": null,
"prompt_tokens": 8,
"total_tokens": 31159,
"wall_ms": 377986
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-xl-s2",
"config_id": "claude-fable-5-thinking-eff-high--cli--cursor-xl--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T08:52:22.998679+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T08:50:09.516598+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T08:53:20.559238+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T08:52:26.480060+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T08:54:17.077049+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T08:53:24.096152+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T08:56:37.975123+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T08:54:20.523120+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}